Next steps:

  1. Delete the /install folder from your server!
     
  2. Remember your login details:
    Username: 
    Password: 
    

     
  3. - or -

 

Attachments hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."attachments` ( `att_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `ticket_id` varchar(13) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `saved_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `real_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `size` int(10) unsigned NOT NULL DEFAULT '0', `type` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', PRIMARY KEY (`att_id`), KEY `ticket_id` (`ticket_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Banned emails hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."banned_emails` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `email` varchar(255) NOT NULL, `banned_by` smallint(5) unsigned NOT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `email` (`email`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 "); // -> Banned IPs hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."banned_ips` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `ip_from` int(10) unsigned NOT NULL DEFAULT '0', `ip_to` int(10) unsigned NOT NULL DEFAULT '0', `ip_display` varchar(100) NOT NULL, `banned_by` smallint(5) unsigned NOT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 "); // -> Categories hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."categories` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `cat_order` smallint(5) unsigned NOT NULL DEFAULT '0', `autoassign` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `type` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `priority` enum('0','1','2','3') COLLATE utf8_unicode_ci NOT NULL DEFAULT '3', PRIMARY KEY (`id`), KEY `type` (`type`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // ---> Insert default category hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."categories` (`id`, `name`, `cat_order`) VALUES (1, 'General', 10)"); // -> Custom fields hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."custom_fields` ( `id` tinyint(3) UNSIGNED NOT NULL, `use` enum('0','1','2') NOT NULL DEFAULT '0', `place` enum('0','1') NOT NULL DEFAULT '0', `type` varchar(20) NOT NULL DEFAULT 'text', `req` enum('0','1','2') NOT NULL DEFAULT '0', `category` text, `name` text, `value` text, `order` smallint(5) UNSIGNED NOT NULL DEFAULT '10', PRIMARY KEY (`id`), KEY `useType` (`use`,`type`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // ---> Insert empty custom fields hesk_dbQuery(" INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."custom_fields` (`id`, `use`, `place`, `type`, `req`, `category`, `name`, `value`, `order`) VALUES (1, '0', '0', 'text', '0', NULL, '', NULL, 1000), (2, '0', '0', 'text', '0', NULL, '', NULL, 1000), (3, '0', '0', 'text', '0', NULL, '', NULL, 1000), (4, '0', '0', 'text', '0', NULL, '', NULL, 1000), (5, '0', '0', 'text', '0', NULL, '', NULL, 1000), (6, '0', '0', 'text', '0', NULL, '', NULL, 1000), (7, '0', '0', 'text', '0', NULL, '', NULL, 1000), (8, '0', '0', 'text', '0', NULL, '', NULL, 1000), (9, '0', '0', 'text', '0', NULL, '', NULL, 1000), (10, '0', '0', 'text', '0', NULL, '', NULL, 1000), (11, '0', '0', 'text', '0', NULL, '', NULL, 1000), (12, '0', '0', 'text', '0', NULL, '', NULL, 1000), (13, '0', '0', 'text', '0', NULL, '', NULL, 1000), (14, '0', '0', 'text', '0', NULL, '', NULL, 1000), (15, '0', '0', 'text', '0', NULL, '', NULL, 1000), (16, '0', '0', 'text', '0', NULL, '', NULL, 1000), (17, '0', '0', 'text', '0', NULL, '', NULL, 1000), (18, '0', '0', 'text', '0', NULL, '', NULL, 1000), (19, '0', '0', 'text', '0', NULL, '', NULL, 1000), (20, '0', '0', 'text', '0', NULL, '', NULL, 1000), (21, '0', '0', 'text', '0', NULL, '', NULL, 1000), (22, '0', '0', 'text', '0', NULL, '', NULL, 1000), (23, '0', '0', 'text', '0', NULL, '', NULL, 1000), (24, '0', '0', 'text', '0', NULL, '', NULL, 1000), (25, '0', '0', 'text', '0', NULL, '', NULL, 1000), (26, '0', '0', 'text', '0', NULL, '', NULL, 1000), (27, '0', '0', 'text', '0', NULL, '', NULL, 1000), (28, '0', '0', 'text', '0', NULL, '', NULL, 1000), (29, '0', '0', 'text', '0', NULL, '', NULL, 1000), (30, '0', '0', 'text', '0', NULL, '', NULL, 1000), (31, '0', '0', 'text', '0', NULL, '', NULL, 1000), (32, '0', '0', 'text', '0', NULL, '', NULL, 1000), (33, '0', '0', 'text', '0', NULL, '', NULL, 1000), (34, '0', '0', 'text', '0', NULL, '', NULL, 1000), (35, '0', '0', 'text', '0', NULL, '', NULL, 1000), (36, '0', '0', 'text', '0', NULL, '', NULL, 1000), (37, '0', '0', 'text', '0', NULL, '', NULL, 1000), (38, '0', '0', 'text', '0', NULL, '', NULL, 1000), (39, '0', '0', 'text', '0', NULL, '', NULL, 1000), (40, '0', '0', 'text', '0', NULL, '', NULL, 1000), (41, '0', '0', 'text', '0', NULL, '', NULL, 1000), (42, '0', '0', 'text', '0', NULL, '', NULL, 1000), (43, '0', '0', 'text', '0', NULL, '', NULL, 1000), (44, '0', '0', 'text', '0', NULL, '', NULL, 1000), (45, '0', '0', 'text', '0', NULL, '', NULL, 1000), (46, '0', '0', 'text', '0', NULL, '', NULL, 1000), (47, '0', '0', 'text', '0', NULL, '', NULL, 1000), (48, '0', '0', 'text', '0', NULL, '', NULL, 1000), (49, '0', '0', 'text', '0', NULL, '', NULL, 1000), (50, '0', '0', 'text', '0', NULL, '', NULL, 1000) "); // -> Custom statuses hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."custom_statuses` ( `id` tinyint(3) UNSIGNED NOT NULL, `name` text NOT NULL, `color` varchar(6) NOT NULL, `can_customers_change` enum('0','1') NOT NULL DEFAULT '1', `order` smallint(5) UNSIGNED NOT NULL DEFAULT '10', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> KB Articles hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `catid` smallint(5) unsigned NOT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `author` smallint(5) unsigned NOT NULL, `subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `content` mediumtext COLLATE utf8_unicode_ci NOT NULL, `keywords` mediumtext COLLATE utf8_unicode_ci NOT NULL, `rating` float NOT NULL DEFAULT '0', `votes` mediumint(8) unsigned NOT NULL DEFAULT '0', `views` mediumint(8) unsigned NOT NULL DEFAULT '0', `type` enum('0','1','2') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `html` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `sticky` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `art_order` smallint(5) unsigned NOT NULL DEFAULT '0', `history` mediumtext COLLATE utf8_unicode_ci NOT NULL, `attachments` mediumtext COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `catid` (`catid`), KEY `sticky` (`sticky`), KEY `type` (`type`), FULLTEXT KEY `subject` (`subject`,`content`,`keywords`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> KB Attachments hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_attachments` ( `att_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `saved_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `real_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `size` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`att_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> KB Categories hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_categories` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `parent` smallint(5) unsigned NOT NULL, `articles` smallint(5) unsigned NOT NULL DEFAULT '0', `articles_private` smallint(5) unsigned NOT NULL DEFAULT '0', `articles_draft` smallint(5) unsigned NOT NULL DEFAULT '0', `cat_order` smallint(5) unsigned NOT NULL, `type` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `type` (`type`), KEY `parent` (`parent`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // ---> Insert default KB category hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_categories` (`id`, `name`, `parent`, `cat_order`, `type`) VALUES (1, 'Knowledgebase', 0, 10, '0')"); // -> Login attempts hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."logins` ( `ip` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `number` tinyint(3) unsigned NOT NULL DEFAULT '1', `last_attempt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, UNIQUE KEY `ip` (`ip`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Log of overdue tickets hesk_dbQuery(" CREATE TABLE IF NOT EXISTS `".hesk_dbEscape($hesk_settings['db_pfix'])."log_overdue` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `ticket` mediumint(8) UNSIGNED NOT NULL, `category` smallint(5) UNSIGNED NOT NULL, `priority` enum('0','1','2','3') NOT NULL, `status` tinyint(3) UNSIGNED NOT NULL, `owner` smallint(5) UNSIGNED NOT NULL DEFAULT '0', `due_date` timestamp NOT NULL DEFAULT '2000-01-01 00:00:00', `comments` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket` (`ticket`), KEY `category` (`category`), KEY `priority` (`priority`), KEY `status` (`status`), KEY `owner` (`owner`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; "); // -> Private messages hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."mail` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `from` smallint(5) unsigned NOT NULL, `to` smallint(5) unsigned NOT NULL, `subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `read` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `deletedby` smallint(5) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `from` (`from`), KEY `to` (`to`,`read`,`deletedby`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // ---> Insert welcome email hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."mail` (`id`, `from`, `to`, `subject`, `message`, `dt`, `read`, `deletedby`) VALUES (NULL, 9999, 1, 'Hesk quick start guide', '".hesk_dbEscape("

\r\n\r\n

Welcome to Hesk, an excellent tool for improving your customer support!

\r\n\r\n

Below is a short guide to help you get started.

\r\n\r\n \r\n\r\n

» Step #1: Set up your profile

\r\n\r\n
    \r\n
  1. go to Profile,
  2. \r\n
  3. set your name and email address.
  4. \r\n
\r\n\r\n \r\n\r\n

» Step #2: Configure Hesk

\r\n\r\n
    \r\n
  1. go to Settings,
  2. \r\n
  3. for a quick start, modify these settings on the \"General\" tab:

    \r\nWebsite title - enter the title of your main website (not your help desk),
    \r\nWebsite URL - enter the URL of your main website,
    \r\nWebmaster email - enter an alternative email address people can contact in case your Hesk database is down
     \r\n
  4. \r\n
  5. you can come back to the settings page later and explore all the options. To view details about a setting, click the [?]
  6. \r\n
\r\n\r\n \r\n\r\n

» Step #3: Add support categories

\r\n\r\n

Go to Categories to add support ticket categories.

\r\n

You cannot delete the default category, but you can rename it.

\r\n\r\n \r\n\r\n

» Step #4: Add your support team members

\r\n\r\n

Go to Team to create new support staff accounts.

\r\n

You can use two user types in Hesk:

\r\n\r\n\r\n \r\n\r\n

» Step #5: Useful tools

\r\n\r\n

You can do a lot in the Tools section, for example:

\r\n\r\n\r\n \r\n\r\n

» Step #6: Create a Knowledgebase

\r\n\r\n

A Knowledgebase is a collection of articles, guides, and answers to frequently asked questions, usually organized in multiple categories.

\r\n

A clear and comprehensive knowledgebase can drastically reduce the number of support tickets you receive, thereby saving you significant time and effort in the long run.

\r\n

Go to Knowledgebase to create categories and write articles for your knowledgebase.

\r\n\r\n \r\n\r\n

» Step #7: Don\'t repeat yourself

\r\n\r\n

Sometimes several support tickets address the same issues - allowing you to use pre-written ("canned") responses.

\r\n

To compose canned responses, go to the Templates > Responses page.

\r\n

Similarly, you can create Templates > Tickets if your staff will be submitting support tickets on the client\'s behalf, for example, from telephone conversations.

\r\n\r\n \r\n\r\n

» Step #8: Secure your help desk

\r\n\r\n

Make sure your help desk is as secure as possible by going through the Hesk security checklist.

\r\n\r\n \r\n\r\n

» Step #9: Stay updated

\r\n\r\n

Hesk regularly receives improvements and bug fixes; make sure you know about them!

\r\n\r\n\r\n \r\n\r\n

» Step #10: Look professional

\r\n\r\n

To not only support Hesk development but also look more professional, remove "Powered by" links from your help desk.

\r\n\r\n \r\n\r\n

» Step #11: Too much hassle? Switch to Hesk Cloud for the ultimate experience

\r\n\r\n

Experience the best of Hesk by moving your help desk into the Hesk Cloud:

\r\n\r\n\r\n

 
Click here to learn more about Hesk Cloud

\r\n\r\n

 

\r\n\r\n

 

\r\n\r\n

Again, welcome to Hesk, and enjoy using it!

\r\n\r\n

Klemen Stirn
\r\nFounder
\r\nhttps://www.hesk.com

\r\n\r\n

 

\r\n\r\n

")."', NOW(), '0', 9999)"); // -> Notes hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."notes` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `ticket` mediumint(8) unsigned NOT NULL, `who` smallint(5) unsigned NOT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, `attachments` mediumtext COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `ticketid` (`ticket`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Online hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."online` ( `user_id` smallint(5) unsigned NOT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `tmp` int(11) unsigned NOT NULL DEFAULT '0', UNIQUE KEY `user_id` (`user_id`), KEY `dt` (`dt`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Pipe loops hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."pipe_loops` ( `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `hits` smallint(1) unsigned NOT NULL DEFAULT '0', `message_hash` char(32) COLLATE utf8_unicode_ci NOT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, KEY `email` (`email`,`hits`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Replies hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."replies` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `replyto` mediumint(8) unsigned NOT NULL DEFAULT '0', `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, `message_html` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `attachments` mediumtext COLLATE utf8_unicode_ci, `staffid` smallint(5) unsigned NOT NULL DEFAULT '0', `rating` enum('1','5') COLLATE utf8_unicode_ci DEFAULT NULL, `read` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `replyto` (`replyto`), KEY `dt` (`dt`), KEY `staffid` (`staffid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Reply drafts hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."reply_drafts` ( `owner` smallint(5) unsigned NOT NULL, `ticket` mediumint(8) unsigned NOT NULL, `message` mediumtext CHARACTER SET utf8 NOT NULL, `message_html` mediumtext CHARACTER SET utf8 DEFAULT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, KEY `owner` (`owner`), KEY `ticket` (`ticket`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Reset password hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."reset_password` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `user` smallint(5) unsigned NOT NULL, `hash` char(40) NOT NULL, `ip` varchar(45) NOT NULL, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `user` (`user`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; "); // -> Service messages hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."service_messages` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `author` smallint(5) unsigned NOT NULL, `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, `language` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `style` enum('0','1','2','3','4') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `type` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `order` smallint(5) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `type` (`type`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; "); // -> Canned Responses hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."std_replies` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, `message_html` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, `reply_order` smallint(5) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Tickets hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `trackid` varchar(13) COLLATE utf8_unicode_ci NOT NULL, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `email` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `category` smallint(5) unsigned NOT NULL DEFAULT '1', `priority` enum('0','1','2','3') COLLATE utf8_unicode_ci NOT NULL DEFAULT '3', `subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, `message_html` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, `dt` timestamp NOT NULL DEFAULT '2000-01-01 00:00:00', `lastchange` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `firstreply` timestamp NULL DEFAULT NULL, `closedat` timestamp NULL DEFAULT NULL, `articles` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `ip` varchar(45) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `language` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `status` tinyint(3) unsigned NOT NULL DEFAULT '0', `openedby` mediumint(8) DEFAULT '0', `firstreplyby` smallint(5) unsigned DEFAULT NULL, `closedby` mediumint(8) NULL DEFAULT NULL, `replies` smallint(5) unsigned NOT NULL DEFAULT '0', `staffreplies` smallint(5) unsigned NOT NULL DEFAULT '0', `owner` smallint(5) unsigned NOT NULL DEFAULT '0', `assignedby` mediumint(8) NULL DEFAULT NULL, `time_worked` time NOT NULL DEFAULT '00:00:00', `lastreplier` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `replierid` smallint(5) unsigned DEFAULT NULL, `archive` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `locked` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `attachments` mediumtext COLLATE utf8_unicode_ci NOT NULL, `merged` mediumtext COLLATE utf8_unicode_ci NOT NULL, `history` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom1` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom2` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom3` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom4` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom5` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom6` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom7` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom8` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom9` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom10` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom11` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom12` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom13` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom14` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom15` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom16` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom17` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom18` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom19` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom20` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom21` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom22` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom23` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom24` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom25` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom26` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom27` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom28` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom29` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom30` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom31` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom32` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom33` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom34` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom35` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom36` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom37` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom38` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom39` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom40` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom41` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom42` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom43` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom44` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom45` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom46` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom47` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom48` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom49` mediumtext COLLATE utf8_unicode_ci NOT NULL, `custom50` mediumtext COLLATE utf8_unicode_ci NOT NULL, `due_date` timestamp NULL DEFAULT NULL, `overdue_email_sent` tinyint(1) DEFAULT '0', PRIMARY KEY (`id`), KEY `trackid` (`trackid`), KEY `archive` (`archive`), KEY `categories` (`category`), KEY `statuses` (`status`), KEY `owner` (`owner`), KEY `openedby` (`openedby`,`firstreplyby`,`closedby`), KEY `dt` (`dt`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Ticket templates hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."ticket_templates` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, `message_html` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, `tpl_order` smallint(5) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); // -> Users hesk_dbQuery(" CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `user` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `pass` char(40) COLLATE utf8_unicode_ci NOT NULL, `isadmin` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `signature` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `language` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `categories` varchar(500) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `afterreply` enum('0','1','2') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `autostart` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `autoreload` smallint(5) unsigned NOT NULL DEFAULT '0', `notify_customer_new` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_customer_reply` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `show_suggested` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_new_unassigned` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_new_my` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_reply_unassigned` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_reply_my` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_assigned` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_pm` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_note` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_overdue_unassigned` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `notify_overdue_my` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `default_list` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `autoassign` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `heskprivileges` varchar(1000) COLLATE utf8_unicode_ci DEFAULT NULL, `ratingneg` mediumint(8) unsigned NOT NULL DEFAULT '0', `ratingpos` mediumint(8) unsigned NOT NULL DEFAULT '0', `rating` float NOT NULL DEFAULT '0', `replies` mediumint(8) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `autoassign` (`autoassign`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci "); hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."users` (`id`, `user`, `pass`, `isadmin`, `name`, `email`, `heskprivileges`) VALUES (1, '".hesk_dbEscape($_SESSION['admin_user'])."', '".hesk_dbEscape($_SESSION['admin_hash'])."', '1', 'Your name', 'you@example.com', '')"); return true; } // End hesk_iTables() function hesk_iSaveSettings() { global $hesk_settings, $hesklang; $spam_question = hesk_generate_SPAM_question(); $hesk_settings['secimg_use'] = empty($_SESSION['set_captcha']) ? 0 : 1; $hesk_settings['use_spamq'] = empty($_SESSION['use_spamq']) ? 0 : 1; $hesk_settings['question_ask'] = $spam_question[0]; $hesk_settings['question_ans'] = $spam_question[1]; $hesk_settings['set_attachments'] = empty($_SESSION['set_attachments']) ? 0 : 1; $hesk_settings['hesk_version'] = HESK_NEW_VERSION; if (isset($_SERVER['HTTP_HOST'])) { $protocol = HESK_SSL? 'https://' : 'http://'; $hesk_settings['site_url']=$protocol . $_SERVER['HTTP_HOST']; if (isset($_SERVER['REQUEST_URI'])) { $hesk_settings['hesk_url']=$protocol . $_SERVER['HTTP_HOST'] . str_replace('/install/install.php','',$_SERVER['REQUEST_URI']); } } /* Encode and escape characters */ $set = $hesk_settings; foreach ($hesk_settings as $k=> $v) { if (is_array($v) || is_object($v)) { continue; } $set[$k] = addslashes($v); } $set['debug_mode'] = 0; $set['email_providers'] = count($set['email_providers']) ? "'" . implode("','", $set['email_providers']) . "'" : ''; $set['notify_spam_tags'] = count($set['notify_spam_tags']) ? "'" . implode("','", $set['notify_spam_tags']) . "'" : ''; // If SSL is enabled, let's force it by default $set['force_ssl'] = HESK_SSL ? 1 : 0; // Generate an URL access key $length = mt_rand(20, 30); $result = ''; $characters = 'abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ1234567890-_.'; $charactersLength = strlen($characters); for ($i = 0; $i < $length; $i++) { $result .= $characters[mt_rand(0, $charactersLength-1)]; } $set['url_key'] = $result; hesk_iSaveSettingsFile($set); return true; } // End hesk_iSaveSettings() ?>