diff --git a/.gitignore b/.gitignore
index 07a67e437..b2f6dee54 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
# Please try and keep this file organized by alphabetical order. Single files first, then directories.
.env
-example.env
Homestead.yaml
Homestead.json
/config/lfm.php
diff --git a/DB/demodatabase.sql b/DB/demodatabase.sql
index 2c0b011e0..b447c289f 100644
--- a/DB/demodatabase.sql
+++ b/DB/demodatabase.sql
@@ -3,7 +3,7 @@
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
--- Generation Time: Nov 30, 2016 at 07:01 AM
+-- Generation Time: Dec 13, 2016 at 10:36 AM
-- Server version: 5.6.17
-- PHP Version: 5.5.12
@@ -17,7 +17,7 @@ SET time_zone = "+00:00";
/*!40101 SET NAMES utf8 */;
--
--- Database: `version_1.8`
+-- Database: `community`
--
-- --------------------------------------------------------
@@ -37,28 +37,6 @@ CREATE TABLE IF NOT EXISTS `api_settings` (
-- --------------------------------------------------------
---
--- Table structure for table `approval`
---
-
-CREATE TABLE IF NOT EXISTS `approval` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `created_at` timestamp NULL DEFAULT NULL,
- `updated_at` timestamp NULL DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
-
---
--- Dumping data for table `approval`
---
-
-INSERT INTO `approval` (`id`, `name`, `status`, `created_at`, `updated_at`) VALUES
-(1, 'approval', '0', '2016-11-29 23:28:11', '2016-11-29 23:28:11');
-
--- --------------------------------------------------------
-
--
-- Table structure for table `banlist`
--
@@ -93,7 +71,7 @@ CREATE TABLE IF NOT EXISTS `bar_notifications` (
--
INSERT INTO `bar_notifications` (`id`, `key`, `value`, `created_at`, `updated_at`) VALUES
-(1, 'new-version', '', '2016-11-29 23:29:29', '2016-11-29 23:29:29');
+(1, 'new-version', '', '2016-12-13 03:20:32', '2016-12-13 03:20:32');
-- --------------------------------------------------------
@@ -127,19 +105,20 @@ CREATE TABLE IF NOT EXISTS `common_settings` (
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
--
-- Dumping data for table `common_settings`
--
INSERT INTO `common_settings` (`id`, `option_name`, `option_value`, `status`, `optional_field`, `created_at`, `updated_at`) VALUES
-(1, 'ticket_token_time_duration', '1', '', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(2, 'enable_rtl', '', '', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(3, 'user_set_ticket_status', '', '1', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(4, 'send_otp', '', '0', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(5, 'email_mandatory', '', '1', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(6, 'user_priority', '', '0', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46');
+(1, 'itil', '', '0', '', NULL, NULL),
+(2, 'ticket_token_time_duration', '1', '', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(3, 'enable_rtl', '', '', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(4, 'user_set_ticket_status', '', '1', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(5, 'send_otp', '', '0', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(6, 'email_mandatory', '', '1', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(7, 'user_priority', '', '0', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52');
-- --------------------------------------------------------
@@ -180,245 +159,245 @@ CREATE TABLE IF NOT EXISTS `country_code` (
--
INSERT INTO `country_code` (`id`, `iso`, `name`, `nicename`, `iso3`, `numcode`, `phonecode`, `created_at`, `updated_at`) VALUES
-(1, 'AF', 'AFGHANISTAN', 'Afghanistan', 'AFG', 4, 93, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(2, 'AL', 'ALBANIA', 'Albania', 'ALB', 8, 355, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(3, 'DZ', 'ALGERIA', 'Algeria', 'DZA', 12, 213, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(4, 'AS', 'AMERICAN SAMOA', 'American Samoa', 'ASM', 16, 1684, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(5, 'AD', 'ANDORRA', 'Andorra', 'AND', 20, 376, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(6, 'AO', 'ANGOLA', 'Angola', 'AGO', 24, 244, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(7, 'AI', 'ANGUILLA', 'Anguilla', 'AIA', 660, 1264, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(8, 'AQ', 'ANTARCTICA', 'Antarctica', 'NUL', 0, 0, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(9, 'AG', 'ANTIGUA AND BARBUDA', 'Antigua and Barbuda', 'ATG', 28, 1268, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(10, 'AR', 'ARGENTINA', 'Argentina', 'ARG', 32, 54, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(11, 'AM', 'ARMENIA', 'Armenia', 'ARM', 51, 374, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(12, 'AW', 'ARUBA', 'Aruba', 'ABW', 533, 297, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(13, 'AU', 'AUSTRALIA', 'Australia', 'AUS', 36, 61, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(14, 'AT', 'AUSTRIA', 'Austria', 'AUT', 40, 43, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(15, 'AZ', 'AZERBAIJAN', 'Azerbaijan', 'AZE', 31, 994, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(16, 'BS', 'BAHAMAS', 'Bahamas', 'BHS', 44, 1242, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(17, 'BH', 'BAHRAIN', 'Bahrain', 'BHR', 48, 973, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(18, 'BD', 'BANGLADESH', 'Bangladesh', 'BGD', 50, 880, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(19, 'BB', 'BARBADOS', 'Barbados', 'BRB', 52, 1246, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(20, 'BY', 'BELARUS', 'Belarus', 'BLR', 112, 375, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(21, 'BE', 'BELGIUM', 'Belgium', 'BEL', 56, 32, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(22, 'BZ', 'BELIZE', 'Belize', 'BLZ', 84, 501, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(23, 'BJ', 'BENIN', 'Benin', 'BEN', 204, 229, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(24, 'BM', 'BERMUDA', 'Bermuda', 'BMU', 60, 1441, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(25, 'BT', 'BHUTAN', 'Bhutan', 'BTN', 64, 975, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(26, 'BO', 'BOLIVIA', 'Bolivia', 'BOL', 68, 591, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(27, 'BA', 'BOSNIA AND HERZEGOVINA', 'Bosnia and Herzegovina', 'BIH', 70, 387, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(28, 'BW', 'BOTSWANA', 'Botswana', 'BWA', 72, 267, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(29, 'BV', 'BOUVET ISLAND', 'Bouvet Island', 'NUL', 0, 0, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(30, 'BR', 'BRAZIL', 'Brazil', 'BRA', 76, 55, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(31, 'IO', 'BRITISH INDIAN OCEAN TERRITORY', 'British Indian Ocean Territory', 'NUL', 0, 246, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(32, 'BN', 'BRUNEI DARUSSALAM', 'Brunei Darussalam', 'BRN', 96, 673, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(33, 'BG', 'BULGARIA', 'Bulgaria', 'BGR', 100, 359, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(34, 'BF', 'BURKINA FASO', 'Burkina Faso', 'BFA', 854, 226, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(35, 'BI', 'BURUNDI', 'Burundi', 'BDI', 108, 257, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(36, 'KH', 'CAMBODIA', 'Cambodia', 'KHM', 116, 855, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(37, 'CM', 'CAMEROON', 'Cameroon', 'CMR', 120, 237, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(38, 'CA', 'CANADA', 'Canada', 'CAN', 124, 1, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(39, 'CV', 'CAPE VERDE', 'Cape Verde', 'CPV', 132, 238, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(40, 'KY', 'CAYMAN ISLANDS', 'Cayman Islands', 'CYM', 136, 1345, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(41, 'CF', 'CENTRAL AFRICAN REPUBLIC', 'Central African Republic', 'CAF', 140, 236, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(42, 'TD', 'CHAD', 'Chad', 'TCD', 148, 235, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(43, 'CL', 'CHILE', 'Chile', 'CHL', 152, 56, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(44, 'CN', 'CHINA', 'China', 'CHN', 156, 86, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(45, 'CX', 'CHRISTMAS ISLAND', 'Christmas Island', 'NUL', 0, 61, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(46, 'CC', 'COCOS (KEELING) ISLANDS', 'Cocos (Keeling) Islands', 'NUL', 0, 672, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(47, 'CO', 'COLOMBIA', 'Colombia', 'COL', 170, 57, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(48, 'KM', 'COMOROS', 'Comoros', 'COM', 174, 269, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(49, 'CG', 'CONGO', 'Congo', 'COG', 178, 242, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(50, 'CD', 'CONGO, THE DEMOCRATIC REPUBLIC OF THE', 'Congo, the Democratic Republic of the', 'COD', 180, 242, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(51, 'CK', 'COOK ISLANDS', 'Cook Islands', 'COK', 184, 682, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(52, 'CR', 'COSTA RICA', 'Costa Rica', 'CRI', 188, 506, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(53, 'CI', 'COTE DIVOIRE', 'Cote DIvoire', 'CIV', 384, 225, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(54, 'HR', 'CROATIA', 'Croatia', 'HRV', 191, 385, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(55, 'CU', 'CUBA', 'Cuba', 'CUB', 192, 53, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(56, 'CY', 'CYPRUS', 'Cyprus', 'CYP', 196, 357, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(57, 'CZ', 'CZECH REPUBLIC', 'Czech Republic', 'CZE', 203, 420, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(58, 'DK', 'DENMARK', 'Denmark', 'DNK', 208, 45, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(59, 'DJ', 'DJIBOUTI', 'Djibouti', 'DJI', 262, 253, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(60, 'DM', 'DOMINICA', 'Dominica', 'DMA', 212, 1767, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(61, 'DO', 'DOMINICAN REPUBLIC', 'Dominican Republic', 'DOM', 214, 1809, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(62, 'EC', 'ECUADOR', 'Ecuador', 'ECU', 218, 593, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(63, 'EG', 'EGYPT', 'Egypt', 'EGY', 818, 20, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(64, 'SV', 'EL SALVADOR', 'El Salvador', 'SLV', 222, 503, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(65, 'GQ', 'EQUATORIAL GUINEA', 'Equatorial Guinea', 'GNQ', 226, 240, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(66, 'ER', 'ERITREA', 'Eritrea', 'ERI', 232, 291, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(67, 'EE', 'ESTONIA', 'Estonia', 'EST', 233, 372, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(68, 'ET', 'ETHIOPIA', 'Ethiopia', 'ETH', 231, 251, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(69, 'FK', 'FALKLAND ISLANDS (MALVINAS)', 'Falkland Islands (Malvinas)', 'FLK', 238, 500, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(70, 'FO', 'FAROE ISLANDS', 'Faroe Islands', 'FRO', 234, 298, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(71, 'FJ', 'FIJI', 'Fiji', 'FJI', 242, 679, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(72, 'FI', 'FINLAND', 'Finland', 'FIN', 246, 358, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(73, 'FR', 'FRANCE', 'France', 'FRA', 250, 33, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(74, 'GF', 'FRENCH GUIANA', 'French Guiana', 'GUF', 254, 594, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(75, 'PF', 'FRENCH POLYNESIA', 'French Polynesia', 'PYF', 258, 689, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(76, 'TF', 'FRENCH SOUTHERN TERRITORIES', 'French Southern Territories', 'NUL', 0, 0, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(77, 'GA', 'GABON', 'Gabon', 'GAB', 266, 241, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(78, 'GM', 'GAMBIA', 'Gambia', 'GMB', 270, 220, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(79, 'GE', 'GEORGIA', 'Georgia', 'GEO', 268, 995, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(80, 'DE', 'GERMANY', 'Germany', 'DEU', 276, 49, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(81, 'GH', 'GHANA', 'Ghana', 'GHA', 288, 233, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(82, 'GI', 'GIBRALTAR', 'Gibraltar', 'GIB', 292, 350, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(83, 'GR', 'GREECE', 'Greece', 'GRC', 300, 30, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(84, 'GL', 'GREENLAND', 'Greenland', 'GRL', 304, 299, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(85, 'GD', 'GRENADA', 'Grenada', 'GRD', 308, 1473, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(86, 'GP', 'GUADELOUPE', 'Guadeloupe', 'GLP', 312, 590, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(87, 'GU', 'GUAM', 'Guam', 'GUM', 316, 1671, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(88, 'GT', 'GUATEMALA', 'Guatemala', 'GTM', 320, 502, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(89, 'GN', 'GUINEA', 'Guinea', 'GIN', 324, 224, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(90, 'GW', 'GUINEA-BISSAU', 'Guinea-Bissau', 'GNB', 624, 245, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(91, 'GY', 'GUYANA', 'Guyana', 'GUY', 328, 592, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(92, 'HT', 'HAITI', 'Haiti', 'HTI', 332, 509, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(93, 'HM', 'HEARD ISLAND AND MCDONALD ISLANDS', 'Heard Island and Mcdonald Islands', 'NUL', 0, 0, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(94, 'VA', 'HOLY SEE (VATICAN CITY STATE)', 'Holy See (Vatican City State)', 'VAT', 336, 39, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(95, 'HN', 'HONDURAS', 'Honduras', 'HND', 340, 504, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(96, 'HK', 'HONG KONG', 'Hong Kong', 'HKG', 344, 852, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(97, 'HU', 'HUNGARY', 'Hungary', 'HUN', 348, 36, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(98, 'IS', 'ICELAND', 'Iceland', 'ISL', 352, 354, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(99, 'IN', 'INDIA', 'India', 'IND', 356, 91, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(100, 'ID', 'INDONESIA', 'Indonesia', 'IDN', 360, 62, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(101, 'IR', 'IRAN, ISLAMIC REPUBLIC OF', 'Iran, Islamic Republic of', 'IRN', 364, 98, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(102, 'IQ', 'IRAQ', 'Iraq', 'IRQ', 368, 964, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(103, 'IE', 'IRELAND', 'Ireland', 'IRL', 372, 353, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(104, 'IL', 'ISRAEL', 'Israel', 'ISR', 376, 972, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(105, 'IT', 'ITALY', 'Italy', 'ITA', 380, 39, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(106, 'JM', 'JAMAICA', 'Jamaica', 'JAM', 388, 1876, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(107, 'JP', 'JAPAN', 'Japan', 'JPN', 392, 81, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(108, 'JO', 'JORDAN', 'Jordan', 'JOR', 400, 962, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(109, 'KZ', 'KAZAKHSTAN', 'Kazakhstan', 'KAZ', 398, 7, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(110, 'KE', 'KENYA', 'Kenya', 'KEN', 404, 254, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(111, 'KI', 'KIRIBATI', 'Kiribati', 'KIR', 296, 686, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(112, 'KP', 'KOREA, DEMOCRATIC PEOPLES REPUBLIC OF', 'Korea, Democratic Peoples Republic of', 'PRK', 408, 850, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(113, 'KR', 'KOREA, REPUBLIC OF', 'Korea, Republic of', 'KOR', 410, 82, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(114, 'KW', 'KUWAIT', 'Kuwait', 'KWT', 414, 965, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(115, 'KG', 'KYRGYZSTAN', 'Kyrgyzstan', 'KGZ', 417, 996, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(116, 'LA', 'LAO PEOPLES DEMOCRATIC REPUBLIC', 'Lao Peoples Democratic Republic', 'LAO', 418, 856, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(117, 'LV', 'LATVIA', 'Latvia', 'LVA', 428, 371, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(118, 'LB', 'LEBANON', 'Lebanon', 'LBN', 422, 961, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(119, 'LS', 'LESOTHO', 'Lesotho', 'LSO', 426, 266, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(120, 'LR', 'LIBERIA', 'Liberia', 'LBR', 430, 231, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(121, 'LY', 'LIBYAN ARAB JAMAHIRIYA', 'Libyan Arab Jamahiriya', 'LBY', 434, 218, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(122, 'LI', 'LIECHTENSTEIN', 'Liechtenstein', 'LIE', 438, 423, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(123, 'LT', 'LITHUANIA', 'Lithuania', 'LTU', 440, 370, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(124, 'LU', 'LUXEMBOURG', 'Luxembourg', 'LUX', 442, 352, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(125, 'MO', 'MACAO', 'Macao', 'MAC', 446, 853, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(126, 'MK', 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF', 'Macedonia, the Former Yugoslav Republic of', 'MKD', 807, 389, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(127, 'MG', 'MADAGASCAR', 'Madagascar', 'MDG', 450, 261, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(128, 'MW', 'MALAWI', 'Malawi', 'MWI', 454, 265, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(129, 'MY', 'MALAYSIA', 'Malaysia', 'MYS', 458, 60, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(130, 'MV', 'MALDIVES', 'Maldives', 'MDV', 462, 960, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(131, 'ML', 'MALI', 'Mali', 'MLI', 466, 223, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(132, 'MT', 'MALTA', 'Malta', 'MLT', 470, 356, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(133, 'MH', 'MARSHALL ISLANDS', 'Marshall Islands', 'MHL', 584, 692, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(134, 'MQ', 'MARTINIQUE', 'Martinique', 'MTQ', 474, 596, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(135, 'MR', 'MAURITANIA', 'Mauritania', 'MRT', 478, 222, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(136, 'MU', 'MAURITIUS', 'Mauritius', 'MUS', 480, 230, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(137, 'YT', 'MAYOTTE', 'Mayotte', 'NUL', 0, 269, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(138, 'MX', 'MEXICO', 'Mexico', 'MEX', 484, 52, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(139, 'FM', 'MICRONESIA, FEDERATED STATES OF', 'Micronesia, Federated States of', 'FSM', 583, 691, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(140, 'MD', 'MOLDOVA, REPUBLIC OF', 'Moldova, Republic of', 'MDA', 498, 373, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(141, 'MC', 'MONACO', 'Monaco', 'MCO', 492, 377, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(142, 'MN', 'MONGOLIA', 'Mongolia', 'MNG', 496, 976, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(143, 'MS', 'MONTSERRAT', 'Montserrat', 'MSR', 500, 1664, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(144, 'MA', 'MOROCCO', 'Morocco', 'MAR', 504, 212, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(145, 'MZ', 'MOZAMBIQUE', 'Mozambique', 'MOZ', 508, 258, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(146, 'MM', 'MYANMAR', 'Myanmar', 'MMR', 104, 95, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(147, 'NA', 'NAMIBIA', 'Namibia', 'NAM', 516, 264, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(148, 'NR', 'NAURU', 'Nauru', 'NRU', 520, 674, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(149, 'NP', 'NEPAL', 'Nepal', 'NPL', 524, 977, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(150, 'NL', 'NETHERLANDS', 'Netherlands', 'NLD', 528, 31, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(151, 'AN', 'NETHERLANDS ANTILLES', 'Netherlands Antilles', 'ANT', 530, 599, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(152, 'NC', 'NEW CALEDONIA', 'New Caledonia', 'NCL', 540, 687, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(153, 'NZ', 'NEW ZEALAND', 'New Zealand', 'NZL', 554, 64, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(154, 'NI', 'NICARAGUA', 'Nicaragua', 'NIC', 558, 505, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(155, 'NE', 'NIGER', 'Niger', 'NER', 562, 227, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(156, 'NG', 'NIGERIA', 'Nigeria', 'NGA', 566, 234, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(157, 'NU', 'NIUE', 'Niue', 'NIU', 570, 683, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(158, 'NF', 'NORFOLK ISLAND', 'Norfolk Island', 'NFK', 574, 672, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(159, 'MP', 'NORTHERN MARIANA ISLANDS', 'Northern Mariana Islands', 'MNP', 580, 1670, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(160, 'NO', 'NORWAY', 'Norway', 'NOR', 578, 47, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(161, 'OM', 'OMAN', 'Oman', 'OMN', 512, 968, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(162, 'PK', 'PAKISTAN', 'Pakistan', 'PAK', 586, 92, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(163, 'PW', 'PALAU', 'Palau', 'PLW', 585, 680, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(164, 'PS', 'PALESTINIAN TERRITORY, OCCUPIED', 'Palestinian Territory, Occupied', 'NUL', 0, 970, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(165, 'PA', 'PANAMA', 'Panama', 'PAN', 591, 507, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(166, 'PG', 'PAPUA NEW GUINEA', 'Papua New Guinea', 'PNG', 598, 675, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(167, 'PY', 'PARAGUAY', 'Paraguay', 'PRY', 600, 595, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(168, 'PE', 'PERU', 'Peru', 'PER', 604, 51, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(169, 'PH', 'PHILIPPINES', 'Philippines', 'PHL', 608, 63, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(170, 'PN', 'PITCAIRN', 'Pitcairn', 'PCN', 612, 0, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(171, 'PL', 'POLAND', 'Poland', 'POL', 616, 48, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(172, 'PT', 'PORTUGAL', 'Portugal', 'PRT', 620, 351, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(173, 'PR', 'PUERTO RICO', 'Puerto Rico', 'PRI', 630, 1787, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(174, 'QA', 'QATAR', 'Qatar', 'QAT', 634, 974, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(175, 'RE', 'REUNION', 'Reunion', 'REU', 638, 262, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(176, 'RO', 'ROMANIA', 'Romania', 'ROM', 642, 40, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(177, 'RU', 'RUSSIAN FEDERATION', 'Russian Federation', 'RUS', 643, 70, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(178, 'RW', 'RWANDA', 'Rwanda', 'RWA', 646, 250, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(179, 'SH', 'SAINT HELENA', 'Saint Helena', 'SHN', 654, 290, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(180, 'KN', 'SAINT KITTS AND NEVIS', 'Saint Kitts and Nevis', 'KNA', 659, 1869, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(181, 'LC', 'SAINT LUCIA', 'Saint Lucia', 'LCA', 662, 1758, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(182, 'PM', 'SAINT PIERRE AND MIQUELON', 'Saint Pierre and Miquelon', 'SPM', 666, 508, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(183, 'VC', 'SAINT VINCENT AND THE GRENADINES', 'Saint Vincent and the Grenadines', 'VCT', 670, 1784, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(184, 'WS', 'SAMOA', 'Samoa', 'WSM', 882, 684, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(185, 'SM', 'SAN MARINO', 'San Marino', 'SMR', 674, 378, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(186, 'ST', 'SAO TOME AND PRINCIPE', 'Sao Tome and Principe', 'STP', 678, 239, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(187, 'SA', 'SAUDI ARABIA', 'Saudi Arabia', 'SAU', 682, 966, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(188, 'SN', 'SENEGAL', 'Senegal', 'SEN', 686, 221, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(189, 'CS', 'SERBIA AND MONTENEGRO', 'Serbia and Montenegro', 'NUL', 0, 381, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(190, 'SC', 'SEYCHELLES', 'Seychelles', 'SYC', 690, 248, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(191, 'SL', 'SIERRA LEONE', 'Sierra Leone', 'SLE', 694, 232, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(192, 'SG', 'SINGAPORE', 'Singapore', 'SGP', 702, 65, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(193, 'SK', 'SLOVAKIA', 'Slovakia', 'SVK', 703, 421, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(194, 'SI', 'SLOVENIA', 'Slovenia', 'SVN', 705, 386, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(195, 'SB', 'SOLOMON ISLANDS', 'Solomon Islands', 'SLB', 90, 677, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(196, 'SO', 'SOMALIA', 'Somalia', 'SOM', 706, 252, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(197, 'ZA', 'SOUTH AFRICA', 'South Africa', 'ZAF', 710, 27, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(198, 'GS', 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS', 'South Georgia and the South Sandwich Islands', 'NUL', 0, 0, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(199, 'ES', 'SPAIN', 'Spain', 'ESP', 724, 34, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(200, 'LK', 'SRI LANKA', 'Sri Lanka', 'LKA', 144, 94, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(201, 'SD', 'SUDAN', 'Sudan', 'SDN', 736, 249, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(202, 'SR', 'SURINAME', 'Suriname', 'SUR', 740, 597, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(203, 'SJ', 'SVALBARD AND JAN MAYEN', 'Svalbard and Jan Mayen', 'SJM', 744, 47, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(204, 'SZ', 'SWAZILAND', 'Swaziland', 'SWZ', 748, 268, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(205, 'SE', 'SWEDEN', 'Sweden', 'SWE', 752, 46, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(206, 'CH', 'SWITZERLAND', 'Switzerland', 'CHE', 756, 41, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(207, 'SY', 'SYRIAN ARAB REPUBLIC', 'Syrian Arab Republic', 'SYR', 760, 963, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(208, 'TW', 'TAIWAN, PROVINCE OF CHINA', 'Taiwan, Province of China', 'TWN', 158, 886, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(209, 'TJ', 'TAJIKISTAN', 'Tajikistan', 'TJK', 762, 992, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(210, 'TZ', 'TANZANIA, UNITED REPUBLIC OF', 'Tanzania, United Republic of', 'TZA', 834, 255, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(211, 'TH', 'THAILAND', 'Thailand', 'THA', 764, 66, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(212, 'TL', 'TIMOR-LESTE', 'Timor-Leste', 'NUL', 0, 670, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(213, 'TG', 'TOGO', 'Togo', 'TGO', 768, 228, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(214, 'TK', 'TOKELAU', 'Tokelau', 'TKL', 772, 690, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(215, 'TO', 'TONGA', 'Tonga', 'TON', 776, 676, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(216, 'TT', 'TRINIDAD AND TOBAGO', 'Trinidad and Tobago', 'TTO', 780, 1868, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(217, 'TN', 'TUNISIA', 'Tunisia', 'TUN', 788, 216, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(218, 'TR', 'TURKEY', 'Turkey', 'TUR', 792, 90, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(219, 'TM', 'TURKMENISTAN', 'Turkmenistan', 'TKM', 795, 7370, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(220, 'TC', 'TURKS AND CAICOS ISLANDS', 'Turks and Caicos Islands', 'TCA', 796, 1649, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(221, 'TV', 'TUVALU', 'Tuvalu', 'TUV', 798, 688, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(222, 'UG', 'UGANDA', 'Uganda', 'UGA', 800, 256, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(223, 'UA', 'UKRAINE', 'Ukraine', 'UKR', 804, 380, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(224, 'AE', 'UNITED ARAB EMIRATES', 'United Arab Emirates', 'ARE', 784, 971, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(225, 'GB', 'UNITED KINGDOM', 'United Kingdom', 'GBR', 826, 44, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(226, 'US', 'UNITED STATES', 'United States', 'USA', 840, 1, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(227, 'UM', 'UNITED STATES MINOR OUTLYING ISLANDS', 'United States Minor Outlying Islands', 'NUL', 0, 1, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(228, 'UY', 'URUGUAY', 'Uruguay', 'URY', 858, 598, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(229, 'UZ', 'UZBEKISTAN', 'Uzbekistan', 'UZB', 860, 998, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(230, 'VU', 'VANUATU', 'Vanuatu', 'VUT', 548, 678, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(231, 'VE', 'VENEZUELA', 'Venezuela', 'VEN', 862, 58, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(232, 'VN', 'VIET NAM', 'Viet Nam', 'VNM', 704, 84, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(233, 'VG', 'VIRGIN ISLANDS, BRITISH', 'Virgin Islands, British', 'VGB', 92, 1284, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(234, 'VI', 'VIRGIN ISLANDS, U.S.', 'Virgin Islands, U.s.', 'VIR', 850, 1340, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(235, 'WF', 'WALLIS AND FUTUNA', 'Wallis and Futuna', 'WLF', 876, 681, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(236, 'EH', 'WESTERN SAHARA', 'Western Sahara', 'ESH', 732, 212, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(237, 'YE', 'YEMEN', 'Yemen', 'YEM', 887, 967, '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(238, 'ZM', 'ZAMBIA', 'Zambia', 'ZMB', 894, 260, '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(239, 'ZW', 'ZIMBABWE', 'Zimbabwe', 'ZWE', 716, 263, '2016-11-29 23:28:42', '2016-11-29 23:28:42');
+(1, 'AF', 'AFGHANISTAN', 'Afghanistan', 'AFG', 4, 93, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(2, 'AL', 'ALBANIA', 'Albania', 'ALB', 8, 355, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(3, 'DZ', 'ALGERIA', 'Algeria', 'DZA', 12, 213, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(4, 'AS', 'AMERICAN SAMOA', 'American Samoa', 'ASM', 16, 1684, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(5, 'AD', 'ANDORRA', 'Andorra', 'AND', 20, 376, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(6, 'AO', 'ANGOLA', 'Angola', 'AGO', 24, 244, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(7, 'AI', 'ANGUILLA', 'Anguilla', 'AIA', 660, 1264, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(8, 'AQ', 'ANTARCTICA', 'Antarctica', 'NUL', 0, 0, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(9, 'AG', 'ANTIGUA AND BARBUDA', 'Antigua and Barbuda', 'ATG', 28, 1268, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(10, 'AR', 'ARGENTINA', 'Argentina', 'ARG', 32, 54, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(11, 'AM', 'ARMENIA', 'Armenia', 'ARM', 51, 374, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(12, 'AW', 'ARUBA', 'Aruba', 'ABW', 533, 297, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(13, 'AU', 'AUSTRALIA', 'Australia', 'AUS', 36, 61, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(14, 'AT', 'AUSTRIA', 'Austria', 'AUT', 40, 43, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(15, 'AZ', 'AZERBAIJAN', 'Azerbaijan', 'AZE', 31, 994, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(16, 'BS', 'BAHAMAS', 'Bahamas', 'BHS', 44, 1242, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(17, 'BH', 'BAHRAIN', 'Bahrain', 'BHR', 48, 973, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(18, 'BD', 'BANGLADESH', 'Bangladesh', 'BGD', 50, 880, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(19, 'BB', 'BARBADOS', 'Barbados', 'BRB', 52, 1246, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(20, 'BY', 'BELARUS', 'Belarus', 'BLR', 112, 375, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(21, 'BE', 'BELGIUM', 'Belgium', 'BEL', 56, 32, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(22, 'BZ', 'BELIZE', 'Belize', 'BLZ', 84, 501, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(23, 'BJ', 'BENIN', 'Benin', 'BEN', 204, 229, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(24, 'BM', 'BERMUDA', 'Bermuda', 'BMU', 60, 1441, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(25, 'BT', 'BHUTAN', 'Bhutan', 'BTN', 64, 975, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(26, 'BO', 'BOLIVIA', 'Bolivia', 'BOL', 68, 591, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(27, 'BA', 'BOSNIA AND HERZEGOVINA', 'Bosnia and Herzegovina', 'BIH', 70, 387, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(28, 'BW', 'BOTSWANA', 'Botswana', 'BWA', 72, 267, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(29, 'BV', 'BOUVET ISLAND', 'Bouvet Island', 'NUL', 0, 0, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(30, 'BR', 'BRAZIL', 'Brazil', 'BRA', 76, 55, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(31, 'IO', 'BRITISH INDIAN OCEAN TERRITORY', 'British Indian Ocean Territory', 'NUL', 0, 246, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(32, 'BN', 'BRUNEI DARUSSALAM', 'Brunei Darussalam', 'BRN', 96, 673, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(33, 'BG', 'BULGARIA', 'Bulgaria', 'BGR', 100, 359, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(34, 'BF', 'BURKINA FASO', 'Burkina Faso', 'BFA', 854, 226, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(35, 'BI', 'BURUNDI', 'Burundi', 'BDI', 108, 257, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(36, 'KH', 'CAMBODIA', 'Cambodia', 'KHM', 116, 855, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(37, 'CM', 'CAMEROON', 'Cameroon', 'CMR', 120, 237, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(38, 'CA', 'CANADA', 'Canada', 'CAN', 124, 1, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(39, 'CV', 'CAPE VERDE', 'Cape Verde', 'CPV', 132, 238, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(40, 'KY', 'CAYMAN ISLANDS', 'Cayman Islands', 'CYM', 136, 1345, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(41, 'CF', 'CENTRAL AFRICAN REPUBLIC', 'Central African Republic', 'CAF', 140, 236, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(42, 'TD', 'CHAD', 'Chad', 'TCD', 148, 235, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(43, 'CL', 'CHILE', 'Chile', 'CHL', 152, 56, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(44, 'CN', 'CHINA', 'China', 'CHN', 156, 86, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(45, 'CX', 'CHRISTMAS ISLAND', 'Christmas Island', 'NUL', 0, 61, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(46, 'CC', 'COCOS (KEELING) ISLANDS', 'Cocos (Keeling) Islands', 'NUL', 0, 672, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(47, 'CO', 'COLOMBIA', 'Colombia', 'COL', 170, 57, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(48, 'KM', 'COMOROS', 'Comoros', 'COM', 174, 269, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(49, 'CG', 'CONGO', 'Congo', 'COG', 178, 242, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(50, 'CD', 'CONGO, THE DEMOCRATIC REPUBLIC OF THE', 'Congo, the Democratic Republic of the', 'COD', 180, 242, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(51, 'CK', 'COOK ISLANDS', 'Cook Islands', 'COK', 184, 682, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(52, 'CR', 'COSTA RICA', 'Costa Rica', 'CRI', 188, 506, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(53, 'CI', 'COTE DIVOIRE', 'Cote DIvoire', 'CIV', 384, 225, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(54, 'HR', 'CROATIA', 'Croatia', 'HRV', 191, 385, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(55, 'CU', 'CUBA', 'Cuba', 'CUB', 192, 53, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(56, 'CY', 'CYPRUS', 'Cyprus', 'CYP', 196, 357, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(57, 'CZ', 'CZECH REPUBLIC', 'Czech Republic', 'CZE', 203, 420, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(58, 'DK', 'DENMARK', 'Denmark', 'DNK', 208, 45, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(59, 'DJ', 'DJIBOUTI', 'Djibouti', 'DJI', 262, 253, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(60, 'DM', 'DOMINICA', 'Dominica', 'DMA', 212, 1767, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(61, 'DO', 'DOMINICAN REPUBLIC', 'Dominican Republic', 'DOM', 214, 1809, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(62, 'EC', 'ECUADOR', 'Ecuador', 'ECU', 218, 593, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(63, 'EG', 'EGYPT', 'Egypt', 'EGY', 818, 20, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(64, 'SV', 'EL SALVADOR', 'El Salvador', 'SLV', 222, 503, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(65, 'GQ', 'EQUATORIAL GUINEA', 'Equatorial Guinea', 'GNQ', 226, 240, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(66, 'ER', 'ERITREA', 'Eritrea', 'ERI', 232, 291, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(67, 'EE', 'ESTONIA', 'Estonia', 'EST', 233, 372, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(68, 'ET', 'ETHIOPIA', 'Ethiopia', 'ETH', 231, 251, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(69, 'FK', 'FALKLAND ISLANDS (MALVINAS)', 'Falkland Islands (Malvinas)', 'FLK', 238, 500, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(70, 'FO', 'FAROE ISLANDS', 'Faroe Islands', 'FRO', 234, 298, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(71, 'FJ', 'FIJI', 'Fiji', 'FJI', 242, 679, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(72, 'FI', 'FINLAND', 'Finland', 'FIN', 246, 358, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(73, 'FR', 'FRANCE', 'France', 'FRA', 250, 33, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(74, 'GF', 'FRENCH GUIANA', 'French Guiana', 'GUF', 254, 594, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(75, 'PF', 'FRENCH POLYNESIA', 'French Polynesia', 'PYF', 258, 689, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(76, 'TF', 'FRENCH SOUTHERN TERRITORIES', 'French Southern Territories', 'NUL', 0, 0, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(77, 'GA', 'GABON', 'Gabon', 'GAB', 266, 241, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(78, 'GM', 'GAMBIA', 'Gambia', 'GMB', 270, 220, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(79, 'GE', 'GEORGIA', 'Georgia', 'GEO', 268, 995, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(80, 'DE', 'GERMANY', 'Germany', 'DEU', 276, 49, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(81, 'GH', 'GHANA', 'Ghana', 'GHA', 288, 233, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(82, 'GI', 'GIBRALTAR', 'Gibraltar', 'GIB', 292, 350, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(83, 'GR', 'GREECE', 'Greece', 'GRC', 300, 30, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(84, 'GL', 'GREENLAND', 'Greenland', 'GRL', 304, 299, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(85, 'GD', 'GRENADA', 'Grenada', 'GRD', 308, 1473, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(86, 'GP', 'GUADELOUPE', 'Guadeloupe', 'GLP', 312, 590, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(87, 'GU', 'GUAM', 'Guam', 'GUM', 316, 1671, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(88, 'GT', 'GUATEMALA', 'Guatemala', 'GTM', 320, 502, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(89, 'GN', 'GUINEA', 'Guinea', 'GIN', 324, 224, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(90, 'GW', 'GUINEA-BISSAU', 'Guinea-Bissau', 'GNB', 624, 245, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(91, 'GY', 'GUYANA', 'Guyana', 'GUY', 328, 592, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(92, 'HT', 'HAITI', 'Haiti', 'HTI', 332, 509, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(93, 'HM', 'HEARD ISLAND AND MCDONALD ISLANDS', 'Heard Island and Mcdonald Islands', 'NUL', 0, 0, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(94, 'VA', 'HOLY SEE (VATICAN CITY STATE)', 'Holy See (Vatican City State)', 'VAT', 336, 39, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(95, 'HN', 'HONDURAS', 'Honduras', 'HND', 340, 504, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(96, 'HK', 'HONG KONG', 'Hong Kong', 'HKG', 344, 852, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(97, 'HU', 'HUNGARY', 'Hungary', 'HUN', 348, 36, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(98, 'IS', 'ICELAND', 'Iceland', 'ISL', 352, 354, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(99, 'IN', 'INDIA', 'India', 'IND', 356, 91, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(100, 'ID', 'INDONESIA', 'Indonesia', 'IDN', 360, 62, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(101, 'IR', 'IRAN, ISLAMIC REPUBLIC OF', 'Iran, Islamic Republic of', 'IRN', 364, 98, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(102, 'IQ', 'IRAQ', 'Iraq', 'IRQ', 368, 964, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(103, 'IE', 'IRELAND', 'Ireland', 'IRL', 372, 353, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(104, 'IL', 'ISRAEL', 'Israel', 'ISR', 376, 972, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(105, 'IT', 'ITALY', 'Italy', 'ITA', 380, 39, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(106, 'JM', 'JAMAICA', 'Jamaica', 'JAM', 388, 1876, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(107, 'JP', 'JAPAN', 'Japan', 'JPN', 392, 81, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(108, 'JO', 'JORDAN', 'Jordan', 'JOR', 400, 962, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(109, 'KZ', 'KAZAKHSTAN', 'Kazakhstan', 'KAZ', 398, 7, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(110, 'KE', 'KENYA', 'Kenya', 'KEN', 404, 254, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(111, 'KI', 'KIRIBATI', 'Kiribati', 'KIR', 296, 686, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(112, 'KP', 'KOREA, DEMOCRATIC PEOPLES REPUBLIC OF', 'Korea, Democratic Peoples Republic of', 'PRK', 408, 850, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(113, 'KR', 'KOREA, REPUBLIC OF', 'Korea, Republic of', 'KOR', 410, 82, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(114, 'KW', 'KUWAIT', 'Kuwait', 'KWT', 414, 965, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(115, 'KG', 'KYRGYZSTAN', 'Kyrgyzstan', 'KGZ', 417, 996, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(116, 'LA', 'LAO PEOPLES DEMOCRATIC REPUBLIC', 'Lao Peoples Democratic Republic', 'LAO', 418, 856, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(117, 'LV', 'LATVIA', 'Latvia', 'LVA', 428, 371, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(118, 'LB', 'LEBANON', 'Lebanon', 'LBN', 422, 961, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(119, 'LS', 'LESOTHO', 'Lesotho', 'LSO', 426, 266, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(120, 'LR', 'LIBERIA', 'Liberia', 'LBR', 430, 231, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(121, 'LY', 'LIBYAN ARAB JAMAHIRIYA', 'Libyan Arab Jamahiriya', 'LBY', 434, 218, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(122, 'LI', 'LIECHTENSTEIN', 'Liechtenstein', 'LIE', 438, 423, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(123, 'LT', 'LITHUANIA', 'Lithuania', 'LTU', 440, 370, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(124, 'LU', 'LUXEMBOURG', 'Luxembourg', 'LUX', 442, 352, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(125, 'MO', 'MACAO', 'Macao', 'MAC', 446, 853, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(126, 'MK', 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF', 'Macedonia, the Former Yugoslav Republic of', 'MKD', 807, 389, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(127, 'MG', 'MADAGASCAR', 'Madagascar', 'MDG', 450, 261, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(128, 'MW', 'MALAWI', 'Malawi', 'MWI', 454, 265, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(129, 'MY', 'MALAYSIA', 'Malaysia', 'MYS', 458, 60, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(130, 'MV', 'MALDIVES', 'Maldives', 'MDV', 462, 960, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(131, 'ML', 'MALI', 'Mali', 'MLI', 466, 223, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(132, 'MT', 'MALTA', 'Malta', 'MLT', 470, 356, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(133, 'MH', 'MARSHALL ISLANDS', 'Marshall Islands', 'MHL', 584, 692, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(134, 'MQ', 'MARTINIQUE', 'Martinique', 'MTQ', 474, 596, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(135, 'MR', 'MAURITANIA', 'Mauritania', 'MRT', 478, 222, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(136, 'MU', 'MAURITIUS', 'Mauritius', 'MUS', 480, 230, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(137, 'YT', 'MAYOTTE', 'Mayotte', 'NUL', 0, 269, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(138, 'MX', 'MEXICO', 'Mexico', 'MEX', 484, 52, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(139, 'FM', 'MICRONESIA, FEDERATED STATES OF', 'Micronesia, Federated States of', 'FSM', 583, 691, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(140, 'MD', 'MOLDOVA, REPUBLIC OF', 'Moldova, Republic of', 'MDA', 498, 373, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(141, 'MC', 'MONACO', 'Monaco', 'MCO', 492, 377, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(142, 'MN', 'MONGOLIA', 'Mongolia', 'MNG', 496, 976, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(143, 'MS', 'MONTSERRAT', 'Montserrat', 'MSR', 500, 1664, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(144, 'MA', 'MOROCCO', 'Morocco', 'MAR', 504, 212, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(145, 'MZ', 'MOZAMBIQUE', 'Mozambique', 'MOZ', 508, 258, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(146, 'MM', 'MYANMAR', 'Myanmar', 'MMR', 104, 95, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(147, 'NA', 'NAMIBIA', 'Namibia', 'NAM', 516, 264, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(148, 'NR', 'NAURU', 'Nauru', 'NRU', 520, 674, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(149, 'NP', 'NEPAL', 'Nepal', 'NPL', 524, 977, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(150, 'NL', 'NETHERLANDS', 'Netherlands', 'NLD', 528, 31, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(151, 'AN', 'NETHERLANDS ANTILLES', 'Netherlands Antilles', 'ANT', 530, 599, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(152, 'NC', 'NEW CALEDONIA', 'New Caledonia', 'NCL', 540, 687, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(153, 'NZ', 'NEW ZEALAND', 'New Zealand', 'NZL', 554, 64, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(154, 'NI', 'NICARAGUA', 'Nicaragua', 'NIC', 558, 505, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(155, 'NE', 'NIGER', 'Niger', 'NER', 562, 227, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(156, 'NG', 'NIGERIA', 'Nigeria', 'NGA', 566, 234, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(157, 'NU', 'NIUE', 'Niue', 'NIU', 570, 683, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(158, 'NF', 'NORFOLK ISLAND', 'Norfolk Island', 'NFK', 574, 672, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(159, 'MP', 'NORTHERN MARIANA ISLANDS', 'Northern Mariana Islands', 'MNP', 580, 1670, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(160, 'NO', 'NORWAY', 'Norway', 'NOR', 578, 47, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(161, 'OM', 'OMAN', 'Oman', 'OMN', 512, 968, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(162, 'PK', 'PAKISTAN', 'Pakistan', 'PAK', 586, 92, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(163, 'PW', 'PALAU', 'Palau', 'PLW', 585, 680, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(164, 'PS', 'PALESTINIAN TERRITORY, OCCUPIED', 'Palestinian Territory, Occupied', 'NUL', 0, 970, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(165, 'PA', 'PANAMA', 'Panama', 'PAN', 591, 507, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(166, 'PG', 'PAPUA NEW GUINEA', 'Papua New Guinea', 'PNG', 598, 675, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(167, 'PY', 'PARAGUAY', 'Paraguay', 'PRY', 600, 595, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(168, 'PE', 'PERU', 'Peru', 'PER', 604, 51, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(169, 'PH', 'PHILIPPINES', 'Philippines', 'PHL', 608, 63, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(170, 'PN', 'PITCAIRN', 'Pitcairn', 'PCN', 612, 0, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(171, 'PL', 'POLAND', 'Poland', 'POL', 616, 48, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(172, 'PT', 'PORTUGAL', 'Portugal', 'PRT', 620, 351, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(173, 'PR', 'PUERTO RICO', 'Puerto Rico', 'PRI', 630, 1787, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(174, 'QA', 'QATAR', 'Qatar', 'QAT', 634, 974, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(175, 'RE', 'REUNION', 'Reunion', 'REU', 638, 262, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(176, 'RO', 'ROMANIA', 'Romania', 'ROM', 642, 40, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(177, 'RU', 'RUSSIAN FEDERATION', 'Russian Federation', 'RUS', 643, 70, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(178, 'RW', 'RWANDA', 'Rwanda', 'RWA', 646, 250, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(179, 'SH', 'SAINT HELENA', 'Saint Helena', 'SHN', 654, 290, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(180, 'KN', 'SAINT KITTS AND NEVIS', 'Saint Kitts and Nevis', 'KNA', 659, 1869, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(181, 'LC', 'SAINT LUCIA', 'Saint Lucia', 'LCA', 662, 1758, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(182, 'PM', 'SAINT PIERRE AND MIQUELON', 'Saint Pierre and Miquelon', 'SPM', 666, 508, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(183, 'VC', 'SAINT VINCENT AND THE GRENADINES', 'Saint Vincent and the Grenadines', 'VCT', 670, 1784, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(184, 'WS', 'SAMOA', 'Samoa', 'WSM', 882, 684, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(185, 'SM', 'SAN MARINO', 'San Marino', 'SMR', 674, 378, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(186, 'ST', 'SAO TOME AND PRINCIPE', 'Sao Tome and Principe', 'STP', 678, 239, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(187, 'SA', 'SAUDI ARABIA', 'Saudi Arabia', 'SAU', 682, 966, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(188, 'SN', 'SENEGAL', 'Senegal', 'SEN', 686, 221, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(189, 'CS', 'SERBIA AND MONTENEGRO', 'Serbia and Montenegro', 'NUL', 0, 381, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(190, 'SC', 'SEYCHELLES', 'Seychelles', 'SYC', 690, 248, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(191, 'SL', 'SIERRA LEONE', 'Sierra Leone', 'SLE', 694, 232, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(192, 'SG', 'SINGAPORE', 'Singapore', 'SGP', 702, 65, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(193, 'SK', 'SLOVAKIA', 'Slovakia', 'SVK', 703, 421, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(194, 'SI', 'SLOVENIA', 'Slovenia', 'SVN', 705, 386, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(195, 'SB', 'SOLOMON ISLANDS', 'Solomon Islands', 'SLB', 90, 677, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(196, 'SO', 'SOMALIA', 'Somalia', 'SOM', 706, 252, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(197, 'ZA', 'SOUTH AFRICA', 'South Africa', 'ZAF', 710, 27, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(198, 'GS', 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS', 'South Georgia and the South Sandwich Islands', 'NUL', 0, 0, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(199, 'ES', 'SPAIN', 'Spain', 'ESP', 724, 34, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(200, 'LK', 'SRI LANKA', 'Sri Lanka', 'LKA', 144, 94, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(201, 'SD', 'SUDAN', 'Sudan', 'SDN', 736, 249, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(202, 'SR', 'SURINAME', 'Suriname', 'SUR', 740, 597, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(203, 'SJ', 'SVALBARD AND JAN MAYEN', 'Svalbard and Jan Mayen', 'SJM', 744, 47, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(204, 'SZ', 'SWAZILAND', 'Swaziland', 'SWZ', 748, 268, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(205, 'SE', 'SWEDEN', 'Sweden', 'SWE', 752, 46, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(206, 'CH', 'SWITZERLAND', 'Switzerland', 'CHE', 756, 41, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(207, 'SY', 'SYRIAN ARAB REPUBLIC', 'Syrian Arab Republic', 'SYR', 760, 963, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(208, 'TW', 'TAIWAN, PROVINCE OF CHINA', 'Taiwan, Province of China', 'TWN', 158, 886, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(209, 'TJ', 'TAJIKISTAN', 'Tajikistan', 'TJK', 762, 992, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(210, 'TZ', 'TANZANIA, UNITED REPUBLIC OF', 'Tanzania, United Republic of', 'TZA', 834, 255, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(211, 'TH', 'THAILAND', 'Thailand', 'THA', 764, 66, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(212, 'TL', 'TIMOR-LESTE', 'Timor-Leste', 'NUL', 0, 670, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(213, 'TG', 'TOGO', 'Togo', 'TGO', 768, 228, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(214, 'TK', 'TOKELAU', 'Tokelau', 'TKL', 772, 690, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(215, 'TO', 'TONGA', 'Tonga', 'TON', 776, 676, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(216, 'TT', 'TRINIDAD AND TOBAGO', 'Trinidad and Tobago', 'TTO', 780, 1868, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(217, 'TN', 'TUNISIA', 'Tunisia', 'TUN', 788, 216, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(218, 'TR', 'TURKEY', 'Turkey', 'TUR', 792, 90, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(219, 'TM', 'TURKMENISTAN', 'Turkmenistan', 'TKM', 795, 7370, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(220, 'TC', 'TURKS AND CAICOS ISLANDS', 'Turks and Caicos Islands', 'TCA', 796, 1649, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(221, 'TV', 'TUVALU', 'Tuvalu', 'TUV', 798, 688, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(222, 'UG', 'UGANDA', 'Uganda', 'UGA', 800, 256, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(223, 'UA', 'UKRAINE', 'Ukraine', 'UKR', 804, 380, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(224, 'AE', 'UNITED ARAB EMIRATES', 'United Arab Emirates', 'ARE', 784, 971, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(225, 'GB', 'UNITED KINGDOM', 'United Kingdom', 'GBR', 826, 44, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(226, 'US', 'UNITED STATES', 'United States', 'USA', 840, 1, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(227, 'UM', 'UNITED STATES MINOR OUTLYING ISLANDS', 'United States Minor Outlying Islands', 'NUL', 0, 1, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(228, 'UY', 'URUGUAY', 'Uruguay', 'URY', 858, 598, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(229, 'UZ', 'UZBEKISTAN', 'Uzbekistan', 'UZB', 860, 998, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(230, 'VU', 'VANUATU', 'Vanuatu', 'VUT', 548, 678, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(231, 'VE', 'VENEZUELA', 'Venezuela', 'VEN', 862, 58, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(232, 'VN', 'VIET NAM', 'Viet Nam', 'VNM', 704, 84, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(233, 'VG', 'VIRGIN ISLANDS, BRITISH', 'Virgin Islands, British', 'VGB', 92, 1284, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(234, 'VI', 'VIRGIN ISLANDS, U.S.', 'Virgin Islands, U.s.', 'VIR', 850, 1340, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(235, 'WF', 'WALLIS AND FUTUNA', 'Wallis and Futuna', 'WLF', 876, 681, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(236, 'EH', 'WESTERN SAHARA', 'Western Sahara', 'ESH', 732, 212, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(237, 'YE', 'YEMEN', 'Yemen', 'YEM', 887, 967, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(238, 'ZM', 'ZAMBIA', 'Zambia', 'ZMB', 894, 260, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(239, 'ZW', 'ZIMBABWE', 'Zimbabwe', 'ZWE', 716, 263, '2016-12-13 03:19:47', '2016-12-13 03:19:47');
-- --------------------------------------------------------
@@ -540,9 +519,9 @@ CREATE TABLE IF NOT EXISTS `department` (
--
INSERT INTO `department` (`id`, `name`, `type`, `sla`, `manager`, `ticket_assignment`, `outgoing_email`, `template_set`, `auto_ticket_response`, `auto_message_response`, `auto_response_email`, `recipient`, `group_access`, `department_sign`, `created_at`, `updated_at`) VALUES
-(1, 'Support', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-11-29 23:28:15', '2016-11-29 23:28:15'),
-(2, 'Sales', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-11-29 23:28:15', '2016-11-29 23:28:15'),
-(3, 'Operation', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-11-29 23:28:15', '2016-11-29 23:28:15');
+(1, 'Support', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(2, 'Sales', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-12-13 03:19:28', '2016-12-13 03:19:28'),
+(3, 'Operation', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-12-13 03:19:28', '2016-12-13 03:19:28');
-- --------------------------------------------------------
@@ -658,29 +637,6 @@ CREATE TABLE IF NOT EXISTS `field_values` (
-- --------------------------------------------------------
---
--- Table structure for table `followup`
---
-
-CREATE TABLE IF NOT EXISTS `followup` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `condition` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `created_at` timestamp NULL DEFAULT NULL,
- `updated_at` timestamp NULL DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
-
---
--- Dumping data for table `followup`
---
-
-INSERT INTO `followup` (`id`, `name`, `status`, `condition`, `created_at`, `updated_at`) VALUES
-(1, 'followup', '', '', '2016-11-29 23:28:11', '2016-11-29 23:28:11');
-
--- --------------------------------------------------------
-
--
-- Table structure for table `groups`
--
@@ -712,9 +668,9 @@ CREATE TABLE IF NOT EXISTS `groups` (
--
INSERT INTO `groups` (`id`, `name`, `group_status`, `can_create_ticket`, `can_edit_ticket`, `can_post_ticket`, `can_close_ticket`, `can_assign_ticket`, `can_transfer_ticket`, `can_delete_ticket`, `can_ban_email`, `can_manage_canned`, `can_manage_faq`, `can_view_agent_stats`, `department_access`, `admin_notes`, `created_at`, `updated_at`) VALUES
-(1, 'Group A', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14'),
-(2, 'Group B', 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14'),
-(3, 'Group C', 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14');
+(1, 'Group A', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(2, 'Group B', 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(3, 'Group C', 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27');
-- --------------------------------------------------------
@@ -771,9 +727,9 @@ CREATE TABLE IF NOT EXISTS `help_topic` (
--
INSERT INTO `help_topic` (`id`, `topic`, `parent_topic`, `custom_form`, `department`, `ticket_status`, `priority`, `sla_plan`, `thank_page`, `ticket_num_format`, `internal_notes`, `status`, `type`, `auto_assign`, `auto_response`, `created_at`, `updated_at`) VALUES
-(1, 'Support query', '', NULL, 1, 1, 2, 1, '', '1', '', 1, 1, NULL, 0, '2016-11-29 23:28:15', '2016-11-29 23:28:15'),
-(2, 'Sales query', '', NULL, 2, 1, 2, 1, '', '1', '', 1, 1, NULL, 0, '2016-11-29 23:28:16', '2016-11-29 23:45:44'),
-(3, 'Operational query', '', NULL, 3, 1, 2, 1, '', '1', '', 1, 1, NULL, 0, '2016-11-29 23:28:16', '2016-11-29 23:45:54');
+(1, 'Support query', '', NULL, 1, 1, 2, 1, '', '1', '', 1, 1, NULL, 0, '2016-12-13 03:19:28', '2016-12-13 03:19:28'),
+(2, 'Sales query', '', NULL, 2, 1, 2, 1, '', '1', '', 0, 1, NULL, 0, '2016-12-13 03:19:28', '2016-12-13 03:19:28'),
+(3, 'Operational query', '', NULL, 3, 1, 2, 1, '', '1', '', 0, 1, NULL, 0, '2016-12-13 03:19:28', '2016-12-13 03:19:28');
-- --------------------------------------------------------
@@ -792,8 +748,7 @@ CREATE TABLE IF NOT EXISTS `jobs` (
`created_at` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `jobs_queue_reserved_reserved_at_index` (`queue`,`reserved`,`reserved_at`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=17 ;
-
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@@ -819,13 +774,13 @@ CREATE TABLE IF NOT EXISTS `kb_article` (
--
INSERT INTO `kb_article` (`id`, `name`, `slug`, `description`, `status`, `type`, `publish_time`, `created_at`, `updated_at`) VALUES
-(1, 'DISCLAIMERS', 'disclaimers', '
ABC clothing.com does not promise that the site will be inoffensive, error-free or uninterrupted, or that it will provide specific information from use of the site or any content, search, or link on it. The site and its content are delivered on an “as-is” and “as-available” basis. ABC clothing.com cannot ensure that files you download from the site will be free of viruses or contamination or destructive features.
\r\n\r\nThebclothing.com disclaims all warranties, express or implied, including any implied warranties of merchantability and fitness for a particular purpose. ABC clothing.com will not be liable for any damages of any kind arising from the use of this site, including, without limitation, direct, indirect, incidental, and punitive and consequential damages.
\r\n\r\nABC clothing.com disclaims any and all liability for the acts, omissions, and conduct of any third-party users, ABC clothing.com users, advertisers, and/or sponsors on the Site, in connection with the Site, or other-wise related to your use of the Site. ABC clothing.com is not responsible for the products, services, actions, or failure to act of any third party in connection with or referenced on the Site. Without limiting the fore-going, you may report the misconduct of users and/or third-party advertisers or service and/or product providers referenced on or included in the Site to ABC clothing.com at Support@abcclothing.com
\r\n\r\nABC clothing.com may investigate the claim and take appropriate action, at its sole discretion.
\r\n\r\nFor any query kindly drop mail us on Support@abcclothing.com.
\r\n', 1, 1, '2016-11-30 05:32:00', '2016-11-30 00:03:45', '2016-11-30 00:03:45'),
-(2, 'CUSTOM ORDER', 'custom-order', 'You saw, you liked but couldn’t see your size? We will custom make it for you.
\r\n\r\nHow it works:
\r\n\r\nYou liked something and want to modify a little or have something else on mind, do pen it down and share it with us on Support@abcclothing.com \r\n We’ll work out the price depending on how detailed or intricate you want your garment. \r\n An advance would be required for any customized orders. \r\n Once you’ve placed a deposit, we’ll make you a sketch of the garment. \r\n We can complete your order in 15-20 days depending on the workload. \r\n We will also share some updates on the garment in case something needs to be changed. \r\n We finally ship it to your given address. \r\nNote: No returns and refunds.
\r\n', 1, 1, '2016-11-30 05:34:00', '2016-11-30 00:04:57', '2016-11-30 00:04:57'),
-(3, 'TROUSER SKIRTS', 'trouser-skirts', 'Paris takes its fashion very, very seriously. So seriously, in fact, that wearing the wrong thing has actually caused a riot.
\r\n\r\nIn 1911, two rival Parisian couture houses launched their "trouser skirts," an innovation in fashion that trod the very fixed line between the genders and seemed to promise greater flexibility for women in general. There were two different versions of the trouser skirt: One was a sort of baggy pant with a very low hanging crotch, described as "a sack with holes made for the legs to go through," not unlike the fashions on high streets today, and the other a pair of the same kind of pants topped with an over-skirt, again, not unlike high street fashions of today. Both versions were launched by models at the opening day of racing season to general revulsion and disgust, but thankfully, no violence.
\r\n\r\nIt wasn''t until the ladies attempted to promenade their future fashions on the boulevards that the fisticuffs started—at the Place de l''Opera, the poor models were attacked by a jeering mob of fashion Philistines, who pulled their hair, trampled their hats, and reduced them to tears. A squad of police officers on bicycles were dispatched to rescue the girls and escort them to safety.
\r\n', 1, 1, '2016-11-30 05:35:00', '2016-11-30 00:05:53', '2016-11-30 00:05:53'),
-(4, 'SECURE SHOPPING GUARANTEE', 'secure-shopping-guarantee', 'We accept all major Indian and International Credit/ Debit Cards, and Net Banking with over 40 Banks.
\r\n\r\nNO Cash on Delivery (as random people order and share false addresses for fun)
\r\n\r\nYes, shopping at our e-store is 100% safe. All payment requests are directed to the secured PayU Payment Gateway. This gives you the highest level of protection possible whenever you use credit cards or make other financial or confidential transactions over the Internet.
\r\n\r\nYou can be assured that our e-store offers you the highest standards of security currently available on the net so as to ensure that your shopping experience is private, safe and secure.
\r\n', 1, 1, '2016-11-30 05:36:00', '2016-11-30 00:06:39', '2016-11-30 00:06:39'),
-(5, 'PRIVACY POLICY', 'privacy-policy', 'The ABC Clothing collects your basic information to service your requests. This basic information is gathered when you purchase products/Gift card vouchers or when you sign up for e-mail notifications. Information gathered from you includes your name, mailing address, e-mail and phone number. Only when you place an order, your card information is requested and is submitted via the highest level of encryption to make sure of the greatest amount of safety and security. Reason why we gather this information:
\r\n\r\nTo process your order . \r\nShipping and Customer Service. \r\nWe also use the information to upgrade our products, customer services, website content and navigation.
\r\n\r\nInternal Record Keeping . \r\nWe at The ABC Clothing respect that you do not want your personal information shared with other companies. The information you provide shall, therefore, be only used to process your order and customer support. The ABC Clothing does not share, sell or rent customer information to any other company.
\r\n', 1, 1, '2016-11-30 05:36:00', '2016-11-30 00:07:18', '2016-11-30 00:07:18'),
-(6, ' SHIPPING POLICY', 'shipping-policy', 'We ship worldwide. We use FedEx/DTDC for shipping.
\r\n\r\nStandard Shipping is usually 3-7 Working days for orders within India and 12-15 Working days for International Orders, but usually faster. IF your order doesn’t reach you in time, you may write to us at support@abcclothing.com
\r\n\r\nInternational Orders
\r\n\r\nFor international orders, please note, your shipping will be calculated at the time of Check out only, this is a System Generated amount, based on your Zip Code, Region and Order Weight. (Approx Costs Rs.1250-1500 for 500 gms – International Shipment, subject to region)
\r\n\r\nTracking
\r\n\r\nFor tracking your order go to the following website, it will require your tracking ID which is sent via mail in your invoice.
\r\n', 1, 1, '2016-11-30 05:37:00', '2016-11-30 00:08:01', '2016-11-30 00:08:01'),
-(7, 'RETURN & CANCELLATION', 'return-cancellation', 'Size doesn’t fit you or the Apparel/ Product is damaged/ defective can be returned in its original packing within 7 days of delivery. Once we have verified the damage, defect and/or error, you shall receive a replacement or a full refund for the Product in the original means of payment.
\r\n\r\n \r\nThe B Clothing reserves the right to refuse a payment on a return of product purchased from www.thebclothing.com if the product is not received in its original condition, or is received damaged or has been used. All products to be returned must be notified to The B Clothing within 7 Days of receipt of your order..
\r\n\r\n \r\nIn case of International shipments, customers may return any products that they have a size issue with if they are willing to bear the shipping costs. In case of damaged or defective products, International customers would need to send images of the product in its original packaging to support@abcclothing.com to claim a refund. Also, for damages and defects, the customer must notify ABC Clothing within 2 days of receiving the product.
\r\n\r\n \r\nIn case of any returns that are approved, the purchase amount will be refunded to the customer within 15 business days upon receipt of return package, deducting any applicable return-processing fee.
\r\n\r\n \r\nThe following mode of refund payments will be used: \r\n• If online payment, then amount will be refunded online.
\r\n\r\n \r\nAny requests for cancellation of orders placed should be made immediately by contacting support@abc clothing.com. If the order has been processed or shipped, the applicable order cancellation charges will be applied.
\r\n\r\n
\r\n', 1, 1, '2016-11-30 05:38:00', '2016-11-30 00:08:41', '2016-11-30 00:08:41');
+(1, 'DISCLAIMERS', 'disclaimers', 'ABC clothing.com does not promise that the site will be inoffensive, error-free or uninterrupted, or that it will provide specific information from use of the site or any content, search, or link on it. The site and its content are delivered on an “as-is” and “as-available” basis. ABC clothing.com cannot ensure that files you download from the site will be free of viruses or contamination or destructive features.
\r\n\r\nThebclothing.com disclaims all warranties, express or implied, including any implied warranties of merchantability and fitness for a particular purpose. ABC clothing.com will not be liable for any damages of any kind arising from the use of this site, including, without limitation, direct, indirect, incidental, and punitive and consequential damages.
\r\n\r\nABC clothing.com disclaims any and all liability for the acts, omissions, and conduct of any third-party users, ABC clothing.com users, advertisers, and/or sponsors on the Site, in connection with the Site, or other-wise related to your use of the Site. ABC clothing.com is not responsible for the products, services, actions, or failure to act of any third party in connection with or referenced on the Site. Without limiting the fore-going, you may report the misconduct of users and/or third-party advertisers or service and/or product providers referenced on or included in the Site to ABC clothing.com at Support@abcclothing.com
\r\n\r\nABC clothing.com may investigate the claim and take appropriate action, at its sole discretion.
\r\n\r\nFor any query kindly drop mail us on Support@abcclothing.com.
\r\n', 1, 1, '2016-12-13 08:54:00', '2016-12-13 03:25:28', '2016-12-13 03:25:28'),
+(2, 'CUSTOM ORDER', 'custom-order', 'You saw, you liked but couldn’t see your size? We will custom make it for you.
\r\n\r\nHow it works:
\r\n\r\nYou liked something and want to modify a little or have something else on mind, do pen it down and share it with us on Support@abcclothing.com \r\n We’ll work out the price depending on how detailed or intricate you want your garment. \r\n An advance would be required for any customized orders. \r\n Once you’ve placed a deposit, we’ll make you a sketch of the garment. \r\n We can complete your order in 15-20 days depending on the workload. \r\n We will also share some updates on the garment in case something needs to be changed. \r\n We finally ship it to your given address. \r\nNote: No returns and refunds.
\r\n', 1, 1, '2016-12-13 08:56:00', '2016-12-13 03:26:24', '2016-12-13 03:26:24'),
+(3, 'TROUSER SKIRTS', 'trouser-skirts', 'Paris takes its fashion very, very seriously. So seriously, in fact, that wearing the wrong thing has actually caused a riot.
\r\n\r\nIn 1911, two rival Parisian couture houses launched their "trouser skirts," an innovation in fashion that trod the very fixed line between the genders and seemed to promise greater flexibility for women in general. There were two different versions of the trouser skirt: One was a sort of baggy pant with a very low hanging crotch, described as "a sack with holes made for the legs to go through," not unlike the fashions on high streets today, and the other a pair of the same kind of pants topped with an over-skirt, again, not unlike high street fashions of today. Both versions were launched by models at the opening day of racing season to general revulsion and disgust, but thankfully, no violence.
\r\n\r\nIt wasn''t until the ladies attempted to promenade their future fashions on the boulevards that the fisticuffs started—at the Place de l''Opera, the poor models were attacked by a jeering mob of fashion Philistines, who pulled their hair, trampled their hats, and reduced them to tears. A squad of police officers on bicycles were dispatched to rescue the girls and escort them to safety.
\r\n', 1, 1, '2016-12-13 08:56:00', '2016-12-13 03:27:02', '2016-12-13 03:27:02'),
+(4, 'SECURE SHOPPING GUARANTEE', 'secure-shopping-guarantee', 'We accept all major Indian and International Credit/ Debit Cards, and Net Banking with over 40 Banks.
\r\n\r\nNO Cash on Delivery (as random people order and share false addresses for fun)
\r\n\r\nYes, shopping at our e-store is 100% safe. All payment requests are directed to the secured PayU Payment Gateway. This gives you the highest level of protection possible whenever you use credit cards or make other financial or confidential transactions over the Internet.
\r\n\r\nYou can be assured that our e-store offers you the highest standards of security currently available on the net so as to ensure that your shopping experience is private, safe and secure.
\r\n', 1, 1, '2016-12-13 08:57:00', '2016-12-13 03:27:42', '2016-12-13 03:27:42'),
+(5, 'PRIVACY POLICY', 'privacy-policy', 'The ABC Clothing collects your basic information to service your requests. This basic information is gathered when you purchase products/Gift card vouchers or when you sign up for e-mail notifications. Information gathered from you includes your name, mailing address, e-mail and phone number. Only when you place an order, your card information is requested and is submitted via the highest level of encryption to make sure of the greatest amount of safety and security. Reason why we gather this information:
\r\n\r\nTo process your order . \r\nShipping and Customer Service. \r\nWe also use the information to upgrade our products, customer services, website content and navigation.
\r\n\r\nInternal Record Keeping . \r\nWe at The ABC Clothing respect that you do not want your personal information shared with other companies. The information you provide shall, therefore, be only used to process your order and customer support. The ABC Clothing does not share, sell or rent customer information to any other company.
\r\n', 1, 1, '2016-12-13 08:58:00', '2016-12-13 03:28:31', '2016-12-13 03:28:31'),
+(6, ' SHIPPING POLICY', 'shipping-policy', 'We ship worldwide. We use FedEx/DTDC for shipping.
\r\n\r\nStandard Shipping is usually 3-7 Working days for orders within India and 12-15 Working days for International Orders, but usually faster. IF your order doesn’t reach you in time, you may write to us at support@abcclothing.com
\r\n\r\nInternational Orders
\r\n\r\nFor international orders, please note, your shipping will be calculated at the time of Check out only, this is a System Generated amount, based on your Zip Code, Region and Order Weight. (Approx Costs Rs.1250-1500 for 500 gms – International Shipment, subject to region)
\r\n\r\nTracking
\r\n\r\nFor tracking your order go to the following website, it will require your tracking ID which is sent via mail in your invoice.
\r\n', 1, 1, '2016-12-13 08:58:00', '2016-12-13 03:29:34', '2016-12-13 03:29:34'),
+(7, 'RETURN & CANCELLATION', 'return-cancellation', 'Size doesn’t fit you or the Apparel/ Product is damaged/ defective can be returned in its original packing within 7 days of delivery. Once we have verified the damage, defect and/or error, you shall receive a replacement or a full refund for the Product in the original means of payment.
\r\n\r\n \r\nThe B Clothing reserves the right to refuse a payment on a return of product purchased from www.thebclothing.com if the product is not received in its original condition, or is received damaged or has been used. All products to be returned must be notified to The B Clothing within 7 Days of receipt of your order..
\r\n\r\n \r\nIn case of International shipments, customers may return any products that they have a size issue with if they are willing to bear the shipping costs. In case of damaged or defective products, International customers would need to send images of the product in its original packaging to support@abcclothing.com to claim a refund. Also, for damages and defects, the customer must notify ABC Clothing within 2 days of receiving the product.
\r\n\r\n \r\nIn case of any returns that are approved, the purchase amount will be refunded to the customer within 15 business days upon receipt of return package, deducting any applicable return-processing fee.
\r\n\r\n \r\nThe following mode of refund payments will be used: \r\n• If online payment, then amount will be refunded online.
\r\n\r\n \r\nAny requests for cancellation of orders placed should be made immediately by contacting support@abc clothing.com. If the order has been processed or shipped, the applicable order cancellation charges will be applied.
\r\n\r\n
\r\n', 1, 1, '2016-12-13 08:59:00', '2016-12-13 03:30:14', '2016-12-13 03:30:14');
-- --------------------------------------------------------
@@ -880,8 +835,8 @@ CREATE TABLE IF NOT EXISTS `kb_category` (
--
INSERT INTO `kb_category` (`id`, `name`, `slug`, `description`, `status`, `parent`, `created_at`, `updated_at`) VALUES
-(1, 'Issue Handeling', 'issue-handeling', 'These are the list of error handling issue.', 1, 0, '2016-11-30 00:00:34', '2016-11-30 00:00:34'),
-(2, 'Policy', 'policy', 'These are the policies defined by this organization.', 1, 0, '2016-11-30 00:01:29', '2016-11-30 00:01:29');
+(1, 'Issue Handeling', 'issue-handeling', 'These are the list of error handling issue.', 1, 0, '2016-12-13 03:23:54', '2016-12-13 03:23:54'),
+(2, 'Policy', 'policy', 'These are the policies defined by this organization.', 1, 0, '2016-12-13 03:24:38', '2016-12-13 03:24:38');
-- --------------------------------------------------------
@@ -940,7 +895,7 @@ CREATE TABLE IF NOT EXISTS `kb_settings` (
--
INSERT INTO `kb_settings` (`id`, `pagination`, `created_at`, `updated_at`) VALUES
-(1, 10, '2016-11-29 23:28:20', '2016-11-29 23:28:20');
+(1, 10, '2016-12-13 03:19:32', '2016-12-13 03:19:32');
-- --------------------------------------------------------
@@ -992,7 +947,7 @@ CREATE TABLE IF NOT EXISTS `login_attempts` (
--
INSERT INTO `login_attempts` (`id`, `User`, `IP`, `Attempts`, `LastLogin`, `created_at`, `updated_at`) VALUES
-(1, 'demo@admin.com', '::1', '2', '2016-11-30 05:56:00', '2016-11-29 23:28:47', '2016-11-29 23:28:47');
+(1, '', '', '', '0000-00-00 00:00:00', '2016-12-13 03:19:53', '2016-12-13 03:19:53');
-- --------------------------------------------------------
@@ -1013,7 +968,7 @@ CREATE TABLE IF NOT EXISTS `log_notification` (
--
INSERT INTO `log_notification` (`id`, `log`, `created_at`, `updated_at`) VALUES
-(1, 'NOT-1', '2016-11-29 23:28:16', '2016-11-29 23:28:16');
+(1, 'NOT-1', '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1058,12 +1013,12 @@ CREATE TABLE IF NOT EXISTS `mail_services` (
--
INSERT INTO `mail_services` (`id`, `name`, `short_name`, `created_at`, `updated_at`) VALUES
-(1, 'SMTP', 'smtp', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(2, 'Php Mail', 'mail', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(3, 'Send Mail', 'sendmail', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(4, 'Mailgun', 'mailgun', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(5, 'Mandrill', 'mandrill', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(6, 'Log file', 'log', '2016-11-29 23:27:50', '2016-11-29 23:27:50');
+(1, 'SMTP', 'smtp', '2016-12-13 03:19:08', '2016-12-13 03:19:08'),
+(2, 'Php Mail', 'mail', '2016-12-13 03:19:08', '2016-12-13 03:19:08'),
+(3, 'Send Mail', 'sendmail', '2016-12-13 03:19:08', '2016-12-13 03:19:08'),
+(4, 'Mailgun', 'mailgun', '2016-12-13 03:19:08', '2016-12-13 03:19:08'),
+(5, 'Mandrill', 'mandrill', '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(6, 'Log file', 'log', '2016-12-13 03:19:09', '2016-12-13 03:19:09');
-- --------------------------------------------------------
@@ -1178,8 +1133,7 @@ INSERT INTO `migrations` (`migration`, `batch`) VALUES
('2016_08_08_095744_create_social_media_table', 1),
('2016_08_12_104410_create_user_additional_infos_table', 1),
('2016_08_16_104539_alter_ticket_source_table', 1),
-('2016_08_31_223407_create_approval_table', 1),
-('2016_09_02_165516_create_follow_up_table', 1);
+('2016_11_30_122809_alter_attachment_table', 2);
-- --------------------------------------------------------
@@ -1195,19 +1149,20 @@ CREATE TABLE IF NOT EXISTS `notifications` (
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
--
-- Dumping data for table `notifications`
--
INSERT INTO `notifications` (`id`, `model_id`, `userid_created`, `type_id`, `created_at`, `updated_at`) VALUES
-(1, 1, 2, 3, '2016-11-30 00:16:00', '2016-11-30 00:16:00'),
-(2, 2, 2, 3, '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(3, 3, 3, 3, '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(4, 4, 3, 3, '2016-11-30 00:22:34', '2016-11-30 00:22:34'),
-(5, 5, 3, 3, '2016-11-30 00:25:06', '2016-11-30 00:25:06'),
-(6, 4, 1, 2, '2016-11-30 00:28:23', '2016-11-30 00:28:23');
+(1, 1, 4, 3, '2016-12-13 03:45:19', '2016-12-13 03:45:19'),
+(2, 2, 5, 3, '2016-12-13 03:50:56', '2016-12-13 03:50:56'),
+(3, 3, 6, 3, '2016-12-13 03:55:55', '2016-12-13 03:55:55'),
+(4, 4, 7, 3, '2016-12-13 03:58:40', '2016-12-13 03:58:40'),
+(5, 4, 1, 2, '2016-12-13 04:01:55', '2016-12-13 04:01:55'),
+(6, 5, 7, 3, '2016-12-13 04:02:49', '2016-12-13 04:02:49'),
+(7, 6, 5, 3, '2016-12-13 04:03:44', '2016-12-13 04:03:44');
-- --------------------------------------------------------
@@ -1230,9 +1185,9 @@ CREATE TABLE IF NOT EXISTS `notification_types` (
--
INSERT INTO `notification_types` (`id`, `message`, `type`, `icon_class`, `created_at`, `updated_at`) VALUES
-(1, 'A new user is registered', 'registration', 'fa fa-user', '2016-11-29 23:27:57', '2016-11-29 23:27:57'),
-(2, 'You have a new reply on this ticket', 'reply', 'fa fa-envelope', '2016-11-29 23:27:58', '2016-11-29 23:27:58'),
-(3, 'A new ticket has been created', 'new_ticket', 'fa fa-envelope', '2016-11-29 23:27:58', '2016-11-29 23:27:58');
+(1, 'A new user is registered', 'registration', 'fa fa-user', '2016-12-13 03:19:14', '2016-12-13 03:19:14'),
+(2, 'You have a new reply on this ticket', 'reply', 'fa fa-envelope', '2016-12-13 03:19:14', '2016-12-13 03:19:14'),
+(3, 'A new ticket has been created', 'new_ticket', 'fa fa-envelope', '2016-12-13 03:19:14', '2016-12-13 03:19:14');
-- --------------------------------------------------------
@@ -1305,12 +1260,12 @@ CREATE TABLE IF NOT EXISTS `queue_services` (
--
INSERT INTO `queue_services` (`id`, `name`, `short_name`, `status`, `created_at`, `updated_at`) VALUES
-(1, 'Sync', 'sync', 1, '2016-11-29 23:27:51', '2016-11-29 23:27:51'),
-(2, 'Database', 'database', 0, '2016-11-29 23:27:51', '2016-11-29 23:27:52'),
-(3, 'Beanstalkd', 'beanstalkd', 0, '2016-11-29 23:27:52', '2016-11-29 23:27:52'),
-(4, 'SQS', 'sqs', 0, '2016-11-29 23:27:52', '2016-11-29 23:27:52'),
-(5, 'Iron', 'iron', 0, '2016-11-29 23:27:52', '2016-11-29 23:27:52'),
-(6, 'Redis', 'redis', 0, '2016-11-29 23:27:52', '2016-11-29 23:27:52');
+(1, 'Sync', 'sync', 1, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(2, 'Database', 'database', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(3, 'Beanstalkd', 'beanstalkd', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(4, 'SQS', 'sqs', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(5, 'Iron', 'iron', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(6, 'Redis', 'redis', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09');
-- --------------------------------------------------------
@@ -1336,8 +1291,8 @@ CREATE TABLE IF NOT EXISTS `ratings` (
--
INSERT INTO `ratings` (`id`, `name`, `display_order`, `allow_modification`, `rating_scale`, `rating_area`, `restrict`, `created_at`, `updated_at`) VALUES
-(1, 'OverAll Satisfaction', 1, 1, 5, 'Helpdesk Area', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(2, 'Reply Rating', 1, 1, 5, 'Comment Area', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46');
+(1, 'OverAll Satisfaction', 1, 1, 5, 'Helpdesk Area', '', '2016-12-13 03:19:53', '2016-12-13 03:19:53'),
+(2, 'Reply Rating', 1, 1, 5, 'Comment Area', '', '2016-12-13 03:19:53', '2016-12-13 03:19:53');
-- --------------------------------------------------------
@@ -1403,7 +1358,7 @@ CREATE TABLE IF NOT EXISTS `settings_alert_notice` (
--
INSERT INTO `settings_alert_notice` (`id`, `ticket_status`, `ticket_admin_email`, `ticket_department_manager`, `ticket_department_member`, `ticket_organization_accmanager`, `message_status`, `message_last_responder`, `message_assigned_agent`, `message_department_manager`, `message_organization_accmanager`, `internal_status`, `internal_last_responder`, `internal_assigned_agent`, `internal_department_manager`, `assignment_status`, `assignment_assigned_agent`, `assignment_team_leader`, `assignment_team_member`, `transfer_status`, `transfer_assigned_agent`, `transfer_department_manager`, `transfer_department_member`, `overdue_status`, `overdue_assigned_agent`, `overdue_department_manager`, `overdue_department_member`, `system_error`, `sql_error`, `excessive_failure`, `created_at`, `updated_at`) VALUES
-(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2016-11-29 23:28:16', '2016-11-29 23:28:16');
+(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1428,7 +1383,7 @@ CREATE TABLE IF NOT EXISTS `settings_auto_response` (
--
INSERT INTO `settings_auto_response` (`id`, `new_ticket`, `agent_new_ticket`, `submitter`, `participants`, `overlimit`, `created_at`, `updated_at`) VALUES
-(1, 1, 1, 0, 0, 0, '2016-11-29 23:28:16', '2016-11-29 23:28:16');
+(1, 1, 1, 0, 0, 0, '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1457,7 +1412,7 @@ CREATE TABLE IF NOT EXISTS `settings_company` (
--
INSERT INTO `settings_company` (`id`, `company_name`, `website`, `phone`, `address`, `landing_page`, `offline_page`, `thank_page`, `logo`, `use_logo`, `created_at`, `updated_at`) VALUES
-(1, 'ABC cloth Company', '', '', '', '', '', '', '2530.logo.png', '0', '2016-11-29 23:28:16', '2016-11-30 00:30:47');
+(1, 'ABC Clothing', '', '', '', '', '', '', '', '0', '2016-12-13 03:19:29', '2016-12-13 03:30:41');
-- --------------------------------------------------------
@@ -1489,7 +1444,7 @@ CREATE TABLE IF NOT EXISTS `settings_email` (
--
INSERT INTO `settings_email` (`id`, `template`, `sys_email`, `alert_email`, `admin_email`, `mta`, `email_fetching`, `notification_cron`, `strip`, `separator`, `all_emails`, `email_collaborator`, `attachment`, `created_at`, `updated_at`) VALUES
-(1, 'default', NULL, '', '', '', 1, 1, 0, 0, 1, 1, 1, '2016-11-29 23:28:16', '2016-11-29 23:28:16');
+(1, 'default', NULL, '', '', '', 1, 1, 0, 0, 1, 1, 1, '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1532,7 +1487,7 @@ CREATE TABLE IF NOT EXISTS `settings_security` (
--
INSERT INTO `settings_security` (`id`, `lockout_message`, `backlist_offender`, `backlist_threshold`, `lockout_period`, `days_to_keep_logs`, `created_at`, `updated_at`) VALUES
-(1, 'You have been locked out of application due to too many failed login attempts.', 0, 15, 15, 0, '2016-11-29 23:28:42', '2016-11-29 23:28:42');
+(1, 'You have been locked out of application due to too many failed login attempts.', 0, 15, 15, 0, '2016-12-13 03:19:47', '2016-12-13 03:19:47');
-- --------------------------------------------------------
@@ -1574,8 +1529,8 @@ CREATE TABLE IF NOT EXISTS `settings_system` (
--
INSERT INTO `settings_system` (`id`, `status`, `url`, `name`, `department`, `page_size`, `log_level`, `purge_log`, `api_enable`, `api_key_mandatory`, `api_key`, `name_format`, `time_farmat`, `date_format`, `date_time_format`, `day_date_time`, `time_zone`, `content`, `version`, `created_at`, `updated_at`) VALUES
-(1, 1, '', '', '1', '', '', '', 0, 0, '', '', NULL, NULL, 1, '', 32, '', '', '2016-11-29 23:28:16', '2016-11-29 23:28:16'),
-(2, 1, '', '', '1', '', '', '', 0, 0, '', '', NULL, NULL, 1, '', 79, '', '1.0.8.0', '2016-11-29 23:28:47', '2016-11-29 23:28:47');
+(1, 1, '', '', '1', '', '', '', 0, 0, '', '', NULL, NULL, 1, '', 32, '', '', '2016-12-13 03:19:29', '2016-12-13 03:19:29'),
+(2, 1, '', '', '1', '', '', '', 0, 0, '', '', NULL, NULL, 1, '', 79, '', '1.0.8.0', '2016-12-13 03:19:53', '2016-12-13 03:19:53');
-- --------------------------------------------------------
@@ -1612,7 +1567,7 @@ CREATE TABLE IF NOT EXISTS `settings_ticket` (
--
INSERT INTO `settings_ticket` (`id`, `num_format`, `num_sequence`, `priority`, `sla`, `help_topic`, `max_open_ticket`, `collision_avoid`, `lock_ticket_frequency`, `captcha`, `status`, `claim_response`, `assigned_ticket`, `answered_ticket`, `agent_mask`, `html`, `client_update`, `max_file_size`, `created_at`, `updated_at`) VALUES
-(1, '$$$$-####-####', 'sequence', '1', '2', '1', '', '2', '0', '', 1, 0, 0, 0, 0, 0, 0, 0, '2016-11-29 23:28:17', '2016-11-29 23:28:17');
+(1, '$$$$-####-####', 'sequence', '1', '2', '1', '', '2', '0', '', 1, 0, 0, 0, 0, 0, 0, 0, '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1638,9 +1593,9 @@ CREATE TABLE IF NOT EXISTS `sla_plan` (
--
INSERT INTO `sla_plan` (`id`, `name`, `grace_period`, `admin_note`, `status`, `transient`, `ticket_overdue`, `created_at`, `updated_at`) VALUES
-(1, 'Sla 1', '6 Hours', '', 1, 0, 0, '2016-11-29 23:28:11', '2016-11-29 23:28:11'),
-(2, 'Sla 2', '12 Hours', '', 1, 0, 0, '2016-11-29 23:28:11', '2016-11-29 23:28:11'),
-(3, 'Sla 3', '24 Hours', '', 1, 0, 0, '2016-11-29 23:28:12', '2016-11-29 23:28:12');
+(1, 'Sla 1', '6 Hours', '', 1, 0, 0, '2016-12-13 03:19:25', '2016-12-13 03:19:25'),
+(2, 'Sla 2', '12 Hours', '', 1, 0, 0, '2016-12-13 03:19:25', '2016-12-13 03:19:25'),
+(3, 'Sla 3', '24 Hours', '', 1, 0, 0, '2016-12-13 03:19:25', '2016-12-13 03:19:25');
-- --------------------------------------------------------
@@ -1682,9 +1637,9 @@ CREATE TABLE IF NOT EXISTS `teams` (
--
INSERT INTO `teams` (`id`, `name`, `status`, `team_lead`, `assign_alert`, `admin_notes`, `created_at`, `updated_at`) VALUES
-(1, 'Level 1 Support', 1, NULL, 0, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14'),
-(2, 'Level 2 Support', 0, NULL, 0, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14'),
-(3, 'Developer', 0, NULL, 0, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14');
+(1, 'Level 1 Support', 1, NULL, 0, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(2, 'Level 2 Support', 0, NULL, 0, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(3, 'Developer', 0, NULL, 0, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27');
-- --------------------------------------------------------
@@ -1701,16 +1656,15 @@ CREATE TABLE IF NOT EXISTS `team_assign_agent` (
PRIMARY KEY (`id`),
KEY `team_id` (`team_id`),
KEY `agent_id` (`agent_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Dumping data for table `team_assign_agent`
--
INSERT INTO `team_assign_agent` (`id`, `team_id`, `agent_id`, `created_at`, `updated_at`) VALUES
-(1, 1, 4, NULL, NULL),
-(2, 1, 5, NULL, NULL),
-(3, 2, 5, NULL, NULL);
+(1, 1, 2, NULL, NULL),
+(2, 1, 3, NULL, NULL);
-- --------------------------------------------------------
@@ -1755,19 +1709,19 @@ CREATE TABLE IF NOT EXISTS `templates` (
--
INSERT INTO `templates` (`id`, `name`, `variable`, `type`, `subject`, `message`, `description`, `set_id`, `created_at`, `updated_at`) VALUES
-(1, 'This template is for sending notice to agent when ticket is assigned to them', '0', 1, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to you by {!!$ticket_assigner!!} Please check and resppond on the ticket. Link: {!!$ticket_link!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(2, 'This template is for sending notice to client with ticket link to check ticket without logging in to system', '1', 2, 'Check your Ticket', 'Hello {!!$user!!}, Click the link below to view your requested ticket {!!$ticket_link_with_number!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(3, 'This template is for sending notice to client when ticket status is changed to close', '0', 3, '', 'Hello, This message is regarding your ticket ID {!!$ticket_number!!}. We are changing the status of this ticket to "Closed" as the issue appears to be resolved. Thank you Kind regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(4, 'This template is for sending notice to client on successful ticket creation', '0', 4, '', 'Hello {!!$user!!} Thank you for contacting us. This is an automated response confirming the receipt of your ticket. Our team will get back to you as soon as possible. When replying, please make sure that the ticket ID is kept in the subject so that we can track your replies. Ticket ID: {!!$ticket_number!!} {!!$department_sign!!} You can check the status of or update this ticket online at: {!!$system_link!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(5, 'This template is for sending notice to agent on new ticket creation', '0', 5, '', 'Hello {!!$ticket_agent_name!!}, New ticket {!!$ticket_number!!}created From Name: {!!$ticket_client_name!!} E-mail: {!!$ticket_client_email!!} {!!$content!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(6, 'This template is for sending notice to client on new ticket created by agent in name of client', '0', 6, '', ' {!!$content!!} {!!$agent_sign!!} You can check the status of or update this ticket online at: {!!$system_link!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(7, 'This template is for sending notice to client on new registration during new ticket creation for un registered clients', '1', 7, 'Registration Confirmation', 'Hello {!!$user!!},
This email is confirmation that you are now registered at our helpdesk.
Registered Email: {!!$email_address!!}
Password: {!!$user_password!!}
You can visit the helpdesk to browse articles and contact us at any time: {!!$system_link!!}
Thank You.
Kind Regards,
{!!$system_from!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(8, 'This template is for sending notice to any user about reset password option', '1', 8, 'Reset your Password', 'Hello {!!$user!!}, You asked to reset your password. To do so, please click this link: {!!$password_reset_link!!} This will let you change your password to something new. If you didn''t ask for this, don''t worry, we''ll keep your password safe. Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(9, 'This template is for sending notice to client when a reply made to his/her ticket', '0', 9, '', ' {!!$content!!}
{!!$agent_sign!!}
Ticket Details
Ticket ID: {!!$ticket_number!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(10, 'This template is for sending notice to agent when ticket reply is made by client on a ticket', '0', 10, '', 'Hello {!!$ticket_agent_name!!}, A reply been made to ticket {!!$ticket_number!!}From Name: {!!$ticket_client_name!!}E-mail: {!!$ticket_client_email!!} {!!$content!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(11, 'This template is for sending notice to client about registration confirmation link', '1', 11, 'Verify your email address', 'Hello {!!$user!!},
This email is confirmation that you are now registered at our helpdesk.
Registered Email: {!!$email_address!!}
Please click on the below link to activate your account and Login to the system {!!$password_reset_link!!}
Thank You.
Kind Regards,
{!!$system_from!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(12, 'This template is for sending notice to team when ticket is assigned to team', '1', 12, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(13, 'This template is for sending notice to client when password is changed', '1', 13, 'Verify your email address', 'Hello {!!$user!!}, Your password is successfully changed.Your new password is : {!!$user_password!!} Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-11-29 23:28:46', '2016-11-29 23:28:46');
+(1, 'This template is for sending notice to agent when ticket is assigned to them', '0', 1, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to you by {!!$ticket_assigner!!} Please check and resppond on the ticket. Link: {!!$ticket_link!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:50', '2016-12-13 03:19:50'),
+(2, 'This template is for sending notice to client with ticket link to check ticket without logging in to system', '1', 2, 'Check your Ticket', 'Hello {!!$user!!}, Click the link below to view your requested ticket {!!$ticket_link_with_number!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:50', '2016-12-13 03:19:50'),
+(3, 'This template is for sending notice to client when ticket status is changed to close', '0', 3, '', 'Hello, This message is regarding your ticket ID {!!$ticket_number!!}. We are changing the status of this ticket to "Closed" as the issue appears to be resolved. Thank you Kind regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:50', '2016-12-13 03:19:50'),
+(4, 'This template is for sending notice to client on successful ticket creation', '0', 4, '', 'Hello {!!$user!!} Thank you for contacting us. This is an automated response confirming the receipt of your ticket. Our team will get back to you as soon as possible. When replying, please make sure that the ticket ID is kept in the subject so that we can track your replies. Ticket ID: {!!$ticket_number!!} {!!$department_sign!!} You can check the status of or update this ticket online at: {!!$system_link!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(5, 'This template is for sending notice to agent on new ticket creation', '0', 5, '', 'Hello {!!$ticket_agent_name!!}, New ticket {!!$ticket_number!!}created From Name: {!!$ticket_client_name!!} E-mail: {!!$ticket_client_email!!} {!!$content!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(6, 'This template is for sending notice to client on new ticket created by agent in name of client', '0', 6, '', ' {!!$content!!} {!!$agent_sign!!} You can check the status of or update this ticket online at: {!!$system_link!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(7, 'This template is for sending notice to client on new registration during new ticket creation for un registered clients', '1', 7, 'Registration Confirmation', 'Hello {!!$user!!},
This email is confirmation that you are now registered at our helpdesk.
Registered Email: {!!$email_address!!}
Password: {!!$user_password!!}
You can visit the helpdesk to browse articles and contact us at any time: {!!$system_link!!}
Thank You.
Kind Regards,
{!!$system_from!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(8, 'This template is for sending notice to any user about reset password option', '1', 8, 'Reset your Password', 'Hello {!!$user!!}, You asked to reset your password. To do so, please click this link: {!!$password_reset_link!!} This will let you change your password to something new. If you didn''t ask for this, don''t worry, we''ll keep your password safe. Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(9, 'This template is for sending notice to client when a reply made to his/her ticket', '0', 9, '', ' {!!$content!!}
{!!$agent_sign!!}
Ticket Details
Ticket ID: {!!$ticket_number!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(10, 'This template is for sending notice to agent when ticket reply is made by client on a ticket', '0', 10, '', 'Hello {!!$ticket_agent_name!!}, A reply been made to ticket {!!$ticket_number!!}From Name: {!!$ticket_client_name!!}E-mail: {!!$ticket_client_email!!} {!!$content!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(11, 'This template is for sending notice to client about registration confirmation link', '1', 11, 'Verify your email address', 'Hello {!!$user!!},
This email is confirmation that you are now registered at our helpdesk.
Registered Email: {!!$email_address!!}
Please click on the below link to activate your account and Login to the system {!!$password_reset_link!!}
Thank You.
Kind Regards,
{!!$system_from!!}
', '', 1, '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(12, 'This template is for sending notice to team when ticket is assigned to team', '1', 12, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(13, 'This template is for sending notice to client when password is changed', '1', 13, 'Verify your email address', 'Hello {!!$user!!}, Your password is successfully changed.Your new password is : {!!$user_password!!} Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-12-13 03:19:52', '2016-12-13 03:19:52');
-- --------------------------------------------------------
@@ -1789,7 +1743,7 @@ CREATE TABLE IF NOT EXISTS `template_sets` (
--
INSERT INTO `template_sets` (`id`, `name`, `active`, `created_at`, `updated_at`) VALUES
-(1, 'default', 1, '2016-11-29 23:28:42', '2016-11-29 23:28:42');
+(1, 'default', 1, '2016-12-13 03:19:47', '2016-12-13 03:19:47');
-- --------------------------------------------------------
@@ -1810,19 +1764,19 @@ CREATE TABLE IF NOT EXISTS `template_types` (
--
INSERT INTO `template_types` (`id`, `name`, `created_at`, `updated_at`) VALUES
-(1, 'assign-ticket', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(2, 'check-ticket', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(3, 'close-ticket', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(4, 'create-ticket', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(5, 'create-ticket-agent', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(6, 'create-ticket-by-agent', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(7, 'registration-notification', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(8, 'reset-password', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(9, 'ticket-reply', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(10, 'ticket-reply-agent', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(11, 'registration', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(12, 'team_assign_ticket', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(13, 'reset_new_password', '2016-11-29 23:28:43', '2016-11-29 23:28:43');
+(1, 'assign-ticket', '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(2, 'check-ticket', '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(3, 'close-ticket', '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(4, 'create-ticket', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(5, 'create-ticket-agent', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(6, 'create-ticket-by-agent', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(7, 'registration-notification', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(8, 'reset-password', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(9, 'ticket-reply', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(10, 'ticket-reply-agent', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(11, 'registration', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(12, 'team_assign_ticket', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(13, 'reset_new_password', '2016-12-13 03:19:48', '2016-12-13 03:19:48');
-- --------------------------------------------------------
@@ -1875,18 +1829,19 @@ CREATE TABLE IF NOT EXISTS `tickets` (
KEY `status` (`status`),
KEY `assigned_to` (`assigned_to`),
KEY `source` (`source`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
--
-- Dumping data for table `tickets`
--
INSERT INTO `tickets` (`id`, `ticket_number`, `user_id`, `dept_id`, `team_id`, `priority_id`, `sla`, `help_topic_id`, `status`, `rating`, `ratingreply`, `flags`, `ip_address`, `assigned_to`, `lock_by`, `lock_at`, `source`, `isoverdue`, `reopened`, `isanswered`, `html`, `is_deleted`, `closed`, `is_transferred`, `transferred_at`, `reopened_at`, `duedate`, `closed_at`, `last_message_at`, `last_response_at`, `approval`, `follow_up`, `created_at`, `updated_at`) VALUES
-(1, 'AAAA-0000-0000', 2, 1, NULL, 1, 1, 1, 1, 0, 0, 0, 0, 4, 0, NULL, 3, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:46:00', NULL, NULL, NULL, 0, 0, '2016-11-30 00:16:00', '2016-11-30 00:29:01'),
-(2, 'AAAA-0000-0001', 2, 1, NULL, 1, 1, 1, 1, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:47:29', NULL, NULL, NULL, 0, 0, '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(3, 'AAAA-0000-0002', 3, 1, NULL, 1, 1, 1, 1, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:49:15', NULL, NULL, NULL, 0, 0, '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(4, 'AAAA-0000-0003', 3, 2, NULL, 1, 1, 2, 1, 0, 0, 0, 0, 1, 0, NULL, 3, 0, 0, 1, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:52:34', NULL, NULL, NULL, 0, 0, '2016-11-30 00:22:34', '2016-11-30 00:28:23'),
-(5, 'AAAA-0000-0004', 3, 1, NULL, 1, 1, 1, 5, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 1, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:55:06', NULL, NULL, NULL, 0, 0, '2016-11-30 00:25:06', '2016-11-30 00:26:59');
+(1, 'AAAA-0000-0000', 4, 1, NULL, 2, 2, 1, 1, 0, 0, 0, 0, NULL, 0, NULL, 1, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 21:15:19', NULL, NULL, NULL, 0, 0, '2016-12-13 03:45:19', '2016-12-13 03:45:19'),
+(2, 'AAAA-0000-0001', 5, 1, NULL, 2, 2, 1, 1, 0, 0, 0, 0, NULL, 0, NULL, 1, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 21:20:55', NULL, NULL, NULL, 0, 0, '2016-12-13 03:50:55', '2016-12-13 03:50:56'),
+(3, 'AAAA-0000-0002', 6, 1, NULL, 2, 2, 1, 1, 0, 0, 0, 0, 3, 0, NULL, 1, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 21:25:55', NULL, NULL, NULL, 0, 0, '2016-12-13 03:55:55', '2016-12-13 04:00:23'),
+(4, 'AAAA-0000-0003', 7, 1, NULL, 2, 2, 1, 1, 0, 0, 0, 0, 1, 0, NULL, 1, 0, 0, 1, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 21:28:40', NULL, NULL, NULL, 0, 0, '2016-12-13 03:58:40', '2016-12-13 04:01:55'),
+(5, 'AAAA-0000-0004', 7, 1, NULL, 1, 1, 1, 5, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 1, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 15:32:48', NULL, NULL, NULL, 0, 0, '2016-12-13 04:02:48', '2016-12-13 04:04:04'),
+(6, 'AAAA-0000-0005', 5, 1, NULL, 1, 1, 1, 5, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 1, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 15:33:44', NULL, NULL, NULL, 0, 0, '2016-12-13 04:03:44', '2016-12-13 04:04:04');
-- --------------------------------------------------------
@@ -1904,6 +1859,8 @@ CREATE TABLE IF NOT EXISTS `ticket_attachment` (
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`file` mediumblob,
+ `driver` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `path` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `thread_id` (`thread_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
@@ -1969,10 +1926,10 @@ CREATE TABLE IF NOT EXISTS `ticket_priority` (
--
INSERT INTO `ticket_priority` (`priority_id`, `priority`, `status`, `priority_desc`, `priority_color`, `priority_urgency`, `ispublic`, `is_default`, `created_at`, `updated_at`) VALUES
-(1, 'Low', '1', 'Low', '#00a65a', 4, 1, '0', NULL, NULL),
+(1, 'Low', '1', 'Low', '#00a65a', 4, 1, '', NULL, NULL),
(2, 'Normal', '1', 'Normal', '#00bfef', 3, 1, '1', NULL, NULL),
-(3, 'High', '1', 'High', '#f39c11', 2, 1, '0', NULL, NULL),
-(4, 'Emergency', '1', 'Emergency', '#dd4b38', 1, 1, '0', NULL, NULL);
+(3, 'High', '1', 'High', '#f39c11', 2, 1, '', NULL, NULL),
+(4, 'Emergency', '1', 'Emergency', '#dd4b38', 1, 1, '', NULL, NULL);
-- --------------------------------------------------------
@@ -2031,13 +1988,13 @@ CREATE TABLE IF NOT EXISTS `ticket_status` (
--
INSERT INTO `ticket_status` (`id`, `name`, `state`, `mode`, `message`, `flags`, `sort`, `email_user`, `icon_class`, `properties`, `created_at`, `updated_at`) VALUES
-(1, 'Open', 'open', 3, 'Ticket have been Reopened by', 0, 1, 0, '', 'Open tickets.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(2, 'Resolved', 'closed', 1, 'Ticket have been Resolved by', 0, 2, 0, '', 'Resolved tickets.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(3, 'Closed', 'closed', 3, 'Ticket have been Closed by', 0, 3, 0, '', 'Closed tickets. Tickets will still be accessible on client and staff panels.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(4, 'Archived', 'archived', 3, 'Ticket have been Archived by', 0, 4, 0, '', 'Tickets only adminstratively available but no longer accessible on ticket queues and client panel.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(5, 'Deleted', 'deleted', 3, 'Ticket have been Deleted by', 0, 5, 0, '', 'Tickets queued for deletion. Not accessible on ticket queues.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(6, 'Unverified', 'unverified', 3, 'User account verification required.', 0, 6, 0, '', 'Ticket will be open after user verifies his/her account.', '2016-11-29 23:28:11', '2016-11-29 23:28:11'),
-(7, 'Request Approval', 'unverified', 3, 'Approval requested by', 0, 7, 0, '', 'Ticket will be approve after Admin verifies this ticket', '2016-11-29 23:28:11', '2016-11-29 23:28:11');
+(1, 'Open', 'open', 3, 'Ticket have been Reopened by', 0, 1, 0, '', 'Open tickets.', '2016-12-13 03:19:23', '2016-12-13 03:19:23'),
+(2, 'Resolved', 'closed', 1, 'Ticket have been Resolved by', 0, 2, 0, '', 'Resolved tickets.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(3, 'Closed', 'closed', 3, 'Ticket have been Closed by', 0, 3, 0, '', 'Closed tickets. Tickets will still be accessible on client and staff panels.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(4, 'Archived', 'archived', 3, 'Ticket have been Archived by', 0, 4, 0, '', 'Tickets only adminstratively available but no longer accessible on ticket queues and client panel.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(5, 'Deleted', 'deleted', 3, 'Ticket have been Deleted by', 0, 5, 0, '', 'Tickets queued for deletion. Not accessible on ticket queues.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(6, 'Unverified', 'unverified', 3, 'User account verification required.', 0, 6, 0, '', 'Ticket will be open after user verifies his/her account.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(7, 'Request Approval', 'unverified', 3, 'Approval requested by', 0, 7, 0, '', 'Ticket will be approve after Admin verifies this ticket', '2016-12-13 03:19:24', '2016-12-13 03:19:24');
-- --------------------------------------------------------
@@ -2064,22 +2021,24 @@ CREATE TABLE IF NOT EXISTS `ticket_thread` (
KEY `ticket_id_2` (`ticket_id`),
KEY `user_id` (`user_id`),
KEY `source` (`source`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=10 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=12 ;
--
-- Dumping data for table `ticket_thread`
--
INSERT INTO `ticket_thread` (`id`, `ticket_id`, `user_id`, `poster`, `source`, `reply_rating`, `rating_count`, `is_internal`, `title`, `body`, `format`, `ip_address`, `created_at`, `updated_at`) VALUES
-(1, 1, 2, 'client', NULL, 0, 0, 0, 'Sizing defects ', 0x506c6561736520636865636b2073697a65206f662073686972742e, '', '', '2016-11-30 00:16:00', '2016-11-30 00:16:00'),
-(2, 2, 2, 'client', NULL, 0, 0, 0, 'Colour effects', 0x4869207465616d2c3c62723e3c62723e49206d20676f742077726f6e6720636f6c6f7220706c656173652072657475726e206d79206f726465722e3c62723e3c62723e3c62723e3c62723e, '', '', '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(3, 3, 3, 'client', NULL, 0, 0, 0, 'Sewing defects', 0x746869732069732064656665637420636c6f74687320706c6561736520636865636b20616e642073656e64206d6520616761696e2e, '', '', '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(4, 4, 3, 'client', NULL, 0, 0, 0, 'Garment defects', 0x4869207465616d2c3c62723e3c62723e492077616e7420746f2072657475726e206d79206361736820626563617573652069206d206e6f74207361746973667920776974682073616c652e3c62723e3c62723e3c62723e3c62723e3c62723e3c62723e3c62723e, '', '', '2016-11-30 00:22:34', '2016-11-30 00:22:34'),
-(5, 5, 3, 'client', NULL, 0, 0, 0, 'Return my cash', 0x4869205465616d2c3c62723e3c62723e4920676f742064616d61676520636c6f746820706c656173652072657475726e206d79206361736820415341502e3c62723e3c62723e3c62723e, '', '', '2016-11-30 00:25:06', '2016-11-30 00:25:06'),
-(6, 5, 1, '', NULL, 0, 0, 1, '', 0x5469636b65742068617665206265656e2044656c657465642062792044656d6f61646d696e20466176656f, '', '', '2016-11-30 00:26:59', '2016-11-30 00:26:59'),
-(7, 4, 1, '', NULL, 0, 0, 1, '', 0x54686973205469636b65742068617665206265656e2061737369676e656420746f2044656d6f61646d696e20466176656f, '', '', '2016-11-30 00:28:23', '2016-11-30 00:28:23'),
-(8, 4, 1, 'support', NULL, 0, 0, 0, '', 0x486920636c616469612c3c62723e3c62723e417320736f6f6e20617320706f737369626c652077652077696c6c2072657475726e20796f757220636173682e3c62723e3c62723e, '', '', '2016-11-30 00:28:23', '2016-11-30 00:28:23'),
-(9, 1, 1, '', NULL, 0, 0, 1, '', 0x54686973205469636b657420686173206265656e2061737369676e656420746f204a6f686e20706174656c, '', '', '2016-11-30 00:29:01', '2016-11-30 00:29:01');
+(1, 1, 4, 'client', NULL, 0, 0, 0, 'Sewing defects', 0x466f7220657665727920696e647573747279206f7220627573696e6573732c20746f2067657420696e63726561736564200d0a73616c657320616e640d0a626574746572206e616d6520616d6f6e67737420636f6e73756d65727320616e642066656c6c6f7720636f6d70616e69657320697420697320696d706f7274616e7420746f200d0a6d61696e7461696e0d0a61206c6576656c206f66207175616c6974792e20496e20746865206761726d656e7420696e647573747279207175616c69747920636f6e74726f6c206973207072616374696365640d0a2072696768742066726f6d2074686520696e697469616c207374616765206f6620736f757263696e6720726177206d6174657269616c7320746f20746865207374616765206f66200d0a66696e616c2066696e69736865640d0a6761726d656e742e20466f722074657874696c6520616e64206170706172656c20696e6475737472792070726f64756374207175616c6974792069732063616c63756c61746564200d0a696e0d0a7465726d73206f66207175616c69747920616e64207374616e64617264206f66206669627265732c207961726e732c2066616272696320636f6e737472756374696f6e2c200d0a636f6c6f75720d0a666173746e6573732c20737572666163652064657369676e7320616e64207468652066696e616c2066696e6973686564206761726d656e742070726f64756374732e200d0a486f77657665720d0a7175616c697479206578706563746174696f6e7320666f72206578706f7274206172652072656c6174656420746f207468652074797065206f6620637573746f6d6572200d0a7365676d656e74730d0a616e64207468652072657461696c206f75746c6574732e205468657265206172652061206e756d626572206f6620666163746f7273206f6e207768696368207175616c697479200d0a6669746e6573730d0a6f66206761726d656e7420696e64757374727920697320626173656420737563682061732020706572666f726d616e63652c2072656c696162696c6974792c200d0a6475726162696c6974792c0d0a76697375616c20616e6420706572636569766564207175616c697479206f6620746865206761726d656e742e205175616c697479206e6565647320746f20626520646566696e65640d0a20696e0d0a7465726d73206f66206120706172746963756c6172206672616d65776f726b206f6620636f73742e203c62723e, '', '', '2016-12-13 03:45:19', '2016-12-13 03:45:19'),
+(2, 2, 5, 'client', NULL, 0, 0, 0, 'Delivery not recieved', 0x3c7370616e3e556e666f7274756e6174656c792c206966206120747261636b696e670d0a206e756d6265722073686f77732064656c69766572792c20796f7572206f6e6c79207265636f75727365206973207468726f7567682074686520736869707065722e2020496e200d0a6f7468657220776f7264732c20696620746865205553505320747261636b696e6720736974652073686f77732064656c69766572792c20616e6420796f7520686176656e2774200d0a61637475616c6c792072656365697665642069742c20796f75722070726f626c656d206c69657320776974682074686520555350532c20616e64206e6f7420746865200d0a73656c6c65722e223c62723e3c62723e5468697320686173206e657665722068617070656e656420746f206d652c206275742074686520696465610d0a20746861742074686520627579657220697320736f6d65686f7720726573706f6e7369626c6520666f722074686520636172726965722074686174207468652053454c4c4552200d0a68617320636f6d6d697373696f6e6564206973206c6175676861626c652e205468652073656c6c657220686173206120636f6e747261637475616c2061677265656d656e74200d0a776974682074686520736869707065722c206d616e792074696d65732074686520627579657220646f65736e2774206576656e206861766520746865206f7074696f6e20746f200d0a73706563696679207468652073686970706572207573656420666f722064656c69766572792e20496620746865206974656d204920707572636861736564206e65766572200d0a72656163686573206d7920686f6d653c2f7370616e3e3c62723e, '', '', '2016-12-13 03:50:56', '2016-12-13 03:50:56'),
+(3, 3, 6, 'client', NULL, 0, 0, 0, 'Colour effects', 0x492068617665206265656e2073656c656374656420666f72206170706f696e746d656e7420746f2074686520496e6469616e20466f7265737420536572766963652e200d0a42757420746865206d65646963616c20626f6172642068617320666f756e64206d6520756e666974206f6e206163636f756e74206f662064656665637469766520636f6c6f7572200d0a766973696f6e2e0d0a0d0a3c703e4163636f7264696e6720746f207468652072756c65732c20224c6f77204772616465202220636f6c6f757220766973696f6e2069732073756666696369656e7420666f72200d0a74686520736572766963652e204920776f756c64206c696b6520746f206b6e6f7720686f7720636f6c6f757220766973696f6e2063616e20626520677261646564206173206c6f770d0a206f7220686967682e20492063616e20636f72726563746c79206964656e74696679203238206f7574206f6620333820497368696861726120706c617465732e20556e646572200d0a6c6f776572206c6967687420696e74656e736974792c20492063616e206964656e74696679206120666577206d6f726520706c617465732e20506c656173652067697665200d0a796f757220636f6d6d656e74206f6e20746869732e20416c736f20706c65617365206c6574206d65206b6e6f772061626f757420746865204564726964676520477265656e200d0a4c616e7465726e207465737420616e642074686520636f6c6f75727320696e20746865206c616e7465726e2e2054686520626f617264206861732063616c6c6564206d6520666f720d0a20612072652d6578616d696e6174696f6e202e20506c6561736520616476697365206d6520686f7720746f20666163652069742e3c2f703e3c62723e, '', '', '2016-12-13 03:55:55', '2016-12-13 03:55:55'),
+(4, 4, 7, 'client', NULL, 0, 0, 0, 'Garment defects', 0x536f6d65207061727473206f66207061747465726e20617265206d697373696e672c2070726f6261626c7920626563617573650d0a207468650d0a6d61726b657220646964206e6f7420696e636c7564652074686520636f7272656374206e756d626572206f662070617274732e204d697865642070617274732c200d0a70726f6261626c79206265636175736520746865206d61726b6572206973206e6f7420636f72726563746c79206c6162656c65642c20726573756c74696e6720696e2061200d0a6d61727269616765206f662077726f6e672073697a65640d0a70617274732e205061747465726e73206e6f7420666163696e6720696e20636f727265637420646972656374696f6e206f6e206e617070656420666162726963732e204e6f74200d0a616c6c0d0a7061747465726e7320666163696e6720696e2073616d6520646972656374696f6e20286569746865722077617929206f6e2061206f6e652d776179206661627269632e200d0a5061747465726e730d0a6e6f7420616c69676e65642077697468207265737065637420746f207468652066616272696320677261696e2e20506f6f72206c696e6520646566696e6974696f6e2028652e672e0d0a20746f6f0d0a746869636b206368616c6b3b20696e64697374696e63746c79207072696e746564206c696e652c20706572666f7261746564206c6179206e6f7420706f77646572656429200d0a6c656164696e6720746f0d0a696e61636375726174652063757474696e672e20536b696d7079206d61726b696e672c206361757365642062792065697468657220746865206d61726b657220646964206e6f74200d0a757365207468650d0a6f7574736964652065646765206f6620746865207061747465726e3b206f7220746865207061747465726e20776173206d6f766564206f72207377756e67206166746572200d0a7061727469616c0d0a6d61726b696e6720746f2073717565657a6520746865207061747465726e20696e746f206120736d616c6c657220737061636520666f722065636f6e6f6d697a696e6720746865200d0a6661627269632e0d0a4d61726b696e67206261636b2066726f6d206d696e696174757265206d61726b65727320616c736f2063616e2063617573652074726f75626c6520756e6c65737320746865200d0a6d696e6961747572650d0a6d61726b6572206d616b696e6720697320696e207468652068616e6473206f6620657870657269656e636564206f70657261746f72732e20416c7465726e61746976656c79200d0a7468652066756c6c0d0a73697a65207061747465726e206d617920626520686176696e6720776f726e206f75742065646765732e3c62723e, '', '', '2016-12-13 03:58:40', '2016-12-13 03:58:40'),
+(5, 4, 1, '', NULL, 0, 0, 1, '', 0x54686973205469636b657420686173206265656e2061737369676e656420746f2044656d6f2061646d696e, '', '', '2016-12-13 04:00:04', '2016-12-13 04:00:04'),
+(6, 3, 1, '', NULL, 0, 0, 1, '', 0x54686973205469636b657420686173206265656e2061737369676e656420746f204a6f68616e204d616c686f747261, '', '', '2016-12-13 04:00:23', '2016-12-13 04:00:23'),
+(7, 4, 1, 'support', NULL, 0, 0, 0, '', 0x3c703e4869204b757374692c3c2f703e0d0a0d0a3c703e4c6574206d6520636865636b20616e642063616c6c206261636b20796f753c2f703e0d0a0d0a3c703e5468616e6b20596f753c2f703e0d0a, '', '', '2016-12-13 04:01:55', '2016-12-13 04:01:55'),
+(8, 5, 7, 'client', NULL, 0, 0, 0, 'test ticket', 0x746869732069732074657374207469636b6574202e2e2e63766376637663, '', '', '2016-12-13 04:02:48', '2016-12-13 04:02:48'),
+(9, 6, 5, 'client', NULL, 0, 0, 0, 'Mail test ticket', 0x506c6561736520746869732069732074657374207469636b65742e, '', '', '2016-12-13 04:03:44', '2016-12-13 04:03:44'),
+(10, 6, 1, '', NULL, 0, 0, 1, '', 0x5469636b65742068617665206265656e2044656c657465642062792044656d6f2061646d696e, '', '', '2016-12-13 04:04:04', '2016-12-13 04:04:04'),
+(11, 5, 1, '', NULL, 0, 0, 1, '', 0x5469636b65742068617665206265656e2044656c657465642062792044656d6f2061646d696e, '', '', '2016-12-13 04:04:04', '2016-12-13 04:04:04');
-- --------------------------------------------------------
@@ -2264,6 +2223,7 @@ CREATE TABLE IF NOT EXISTS `users` (
`ban` tinyint(1) NOT NULL,
`password` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`active` int(11) NOT NULL,
+ `is_delete` tinyint(1) NOT NULL DEFAULT '0',
`ext` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`country_code` int(11) NOT NULL,
`phone_number` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
@@ -2290,18 +2250,20 @@ CREATE TABLE IF NOT EXISTS `users` (
UNIQUE KEY `users_mobile_unique` (`mobile`),
KEY `assign_group_3` (`assign_group`),
KEY `primary_dpt_2` (`primary_dpt`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
--
-- Dumping data for table `users`
--
-INSERT INTO `users` (`id`, `user_name`, `first_name`, `last_name`, `gender`, `email`, `ban`, `password`, `active`, `ext`, `country_code`, `phone_number`, `mobile`, `agent_sign`, `account_type`, `account_status`, `assign_group`, `primary_dpt`, `agent_tzone`, `daylight_save`, `limit_access`, `directory_listing`, `vacation_mode`, `company`, `role`, `internal_note`, `profile_pic`, `remember_token`, `created_at`, `updated_at`) VALUES
-(1, 'demo@admin.com', 'Demoadmin', 'Faveo', 0, 'demo@admin.com', 0, '$2y$10$ewEDeTT7ax5u6lCcCrJL6OClWB6Eo/6GbeJY8MMrJZCjvsbJI84XS', 1, '', 0, '', NULL, '', '', '', 1, 1, '', '', '', '', '', '', 'admin', '', '', 'oFeQJKpu1OlZveLPEghCRlF925TutWTkj5TNoX5jIzjkVzVYNAHC9TtCP1Kr', '2016-11-29 23:28:47', '2016-11-30 00:31:09'),
-(2, 'jalafa', 'Jalafa', 'kk', 0, 'jalafa@gmail.com', 0, '$2y$10$F26IyAQOJIzjBs4p0j5K7ugSDDxT2dRSqbAeC8d0CdCG/pwN64qVq', 1, '', 91, '', '9285631230', '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', NULL, '2016-11-29 23:37:34', '2016-11-29 23:37:34'),
-(3, 'cladia', 'Cladia', 'Singh', 0, 'cladia@yahoo.com', 0, '$2y$10$MXupcdivLoWZuNnVeHHTHOQSMF11iXkhY7AvToYiF2/PMutrilJce', 1, '', 91, '', '7865236524', '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', NULL, '2016-11-29 23:39:51', '2016-11-29 23:39:51'),
-(4, 'John', 'John', 'patel', 0, 'john@gmail.com', 0, '$2y$10$H5jyw8QbTdu11Rezoe8kUexS5pP6GHIhJUOQRL8jLRriaOAtfSONm', 1, '', 91, '', '6983524178', '', '', '', 1, 1, '79', '', '', '', '', '', 'agent', '', '', NULL, '2016-11-29 23:43:01', '2016-11-29 23:43:02'),
-(5, 'Baladdin', 'Baladin', 'khan', 0, 'baladdin@gmail.com', 0, '$2y$10$0iz73EdhcHGKI3H5oQmnZeUXVvqEzCsXpjTuc88ihNmHeJG18xZXG', 1, '', 91, '', '7896325412', '', '', '', 2, 2, '79', '', '', '', '', '', 'agent', '', '', NULL, '2016-11-29 23:45:08', '2016-11-29 23:45:08');
+INSERT INTO `users` (`id`, `user_name`, `first_name`, `last_name`, `gender`, `email`, `ban`, `password`, `active`, `is_delete`, `ext`, `country_code`, `phone_number`, `mobile`, `agent_sign`, `account_type`, `account_status`, `assign_group`, `primary_dpt`, `agent_tzone`, `daylight_save`, `limit_access`, `directory_listing`, `vacation_mode`, `company`, `role`, `internal_note`, `profile_pic`, `remember_token`, `created_at`, `updated_at`) VALUES
+(1, 'demo@admin.com', 'Demo', 'admin', 0, 'demo@admin.com', 0, '$2y$10$ZkHOJeJCKFzLtL4yWXZ3suVZlG.fJwD9oUI3nM5FGESmIkQV1hMXC', 1, 0, '', 0, '', NULL, '', '', '', 1, 1, '', '', '', '', '', '', 'admin', '', '', NULL, '2016-12-13 03:19:53', '2016-12-13 03:19:53'),
+(2, 'Abhrakasin', 'Abhrakasin', 'KK', 0, 'abhrakasin@gmail.com', 0, '$2y$10$nrMZMd72/HZbnzjBAi0RX.UQrNTtFeZFEK9aq.chDPZZ07rOC/6Ie', 1, 0, '', 0, '', NULL, '', '', '', 1, 1, '79', '', '', '', '', '', 'agent', '', '', NULL, '2016-12-13 03:32:41', '2016-12-13 03:32:42'),
+(3, 'Johan', 'Johan', 'Malhotra', 0, 'johan21@gmail.com', 0, '$2y$10$Eq8SHKUEXCkW5vqiWvA0Iu1UJmzZ.e5.Q3hI2tkxey5HZ2Lmbxb1C', 1, 0, '', 0, '', NULL, '', '', '', 2, 2, '7', '', '', '', '', '', 'agent', '', '', NULL, '2016-12-13 03:35:29', '2016-12-13 03:35:30'),
+(4, 'fidelm@gmail.com', 'Fidel Martin', '', 0, 'fidelm@gmail.com', 0, '$2y$10$wHupGhJqz2p4rcdS4eq4ZO.NQ65b0JjVsqhJwEEzOCl3vMKwzh9/S', 1, 0, '', 0, '', NULL, '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', 'PXj6d2s7rOqoh53gHdyPbiHOVvBmDoR5CnXg9kl7fRolIC92Y20UnFPSOryw', '2016-12-13 03:45:19', '2016-12-13 03:45:19'),
+(5, 'joseph2321@gmail.com', 'Joseph Rossignol', '', 0, 'joseph2321@gmail.com', 0, '$2y$10$7eQ0nFxQpQkWaKwUbzTsQ.ufQpRN1rwUGY5ER1KsoXoLd6KbMIHnG', 1, 0, '', 0, '', NULL, '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', 'nv7Z37jhwAVdt87WCVzsqweY6wUbic7ll44FNmygMmwcnErafCrVpnw6Krys', '2016-12-13 03:50:55', '2016-12-13 03:50:55'),
+(6, 'ichae1212@gmail.com', 'Ichae Semos', '', 0, 'ichae1212@gmail.com', 0, '$2y$10$aITz4IUuaxb0VHwF2V2CPefwf/Ft0VXpmHDC9feEfNXkW90GdjCFm', 1, 0, '', 0, '', NULL, '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', 'egq0NWPaxEkwkXmV3L0BJ4j4O6aKlgjzNZxea0XpYvCAeVvZLbXsjkKmWyBZ', '2016-12-13 03:55:54', '2016-12-13 03:55:54'),
+(7, 'kusti09@yahoo.com', 'Kusti Franti', '', 0, 'kusti09@yahoo.com', 0, '$2y$10$yNHebbyWfr6m1t4srRlYbuj2JN706ZBpyMI.gSJmuY9czJ3OzuQpq', 1, 0, '', 0, '', NULL, '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', '4JPKOO9UUjZ2yX1GI7WYaeljcdyFATmguwNGuUD9chDodCVfJVGBJvbepgOt', '2016-12-13 03:58:40', '2016-12-13 03:58:40');
-- --------------------------------------------------------
@@ -2351,25 +2313,27 @@ CREATE TABLE IF NOT EXISTS `user_notification` (
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=13 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=15 ;
--
-- Dumping data for table `user_notification`
--
INSERT INTO `user_notification` (`id`, `notification_id`, `user_id`, `is_read`, `created_at`, `updated_at`) VALUES
-(1, 1, 4, 0, '2016-11-30 00:16:00', '2016-11-30 00:16:00'),
-(2, 1, 1, 0, '2016-11-30 00:16:00', '2016-11-30 00:16:00'),
-(3, 2, 4, 0, '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(4, 2, 1, 0, '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(5, 3, 4, 0, '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(6, 3, 1, 0, '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(7, 4, 5, 0, '2016-11-30 00:22:34', '2016-11-30 00:22:34'),
-(8, 4, 1, 0, '2016-11-30 00:22:34', '2016-11-30 00:22:34'),
-(9, 5, 4, 0, '2016-11-30 00:25:06', '2016-11-30 00:25:06'),
-(10, 5, 1, 0, '2016-11-30 00:25:06', '2016-11-30 00:25:06'),
-(11, 6, 5, 0, '2016-11-30 00:28:23', '2016-11-30 00:28:23'),
-(12, 6, 1, 0, '2016-11-30 00:28:23', '2016-11-30 00:28:23');
+(1, 1, 2, 0, '2016-12-13 03:45:20', '2016-12-13 03:45:20'),
+(2, 1, 1, 0, '2016-12-13 03:45:20', '2016-12-13 03:45:20'),
+(3, 2, 2, 0, '2016-12-13 03:50:56', '2016-12-13 03:50:56'),
+(4, 2, 1, 0, '2016-12-13 03:50:56', '2016-12-13 03:50:56'),
+(5, 3, 2, 0, '2016-12-13 03:55:55', '2016-12-13 03:55:55'),
+(6, 3, 1, 0, '2016-12-13 03:55:55', '2016-12-13 03:55:55'),
+(7, 4, 2, 0, '2016-12-13 03:58:40', '2016-12-13 03:58:40'),
+(8, 4, 1, 0, '2016-12-13 03:58:40', '2016-12-13 03:58:40'),
+(9, 5, 2, 0, '2016-12-13 04:01:55', '2016-12-13 04:01:55'),
+(10, 5, 1, 0, '2016-12-13 04:01:55', '2016-12-13 04:01:55'),
+(11, 6, 2, 0, '2016-12-13 04:02:49', '2016-12-13 04:02:49'),
+(12, 6, 1, 0, '2016-12-13 04:02:49', '2016-12-13 04:02:49'),
+(13, 7, 2, 0, '2016-12-13 04:03:44', '2016-12-13 04:03:44'),
+(14, 7, 1, 0, '2016-12-13 04:03:44', '2016-12-13 04:03:44');
-- --------------------------------------------------------
@@ -2391,7 +2355,7 @@ CREATE TABLE IF NOT EXISTS `version_check` (
--
INSERT INTO `version_check` (`id`, `current_version`, `new_version`, `created_at`, `updated_at`) VALUES
-(1, '', '', '2016-11-29 23:28:17', '2016-11-29 23:28:17');
+(1, '', '', '2016-12-13 03:19:30', '2016-12-13 03:19:30');
-- --------------------------------------------------------
@@ -2414,26 +2378,26 @@ CREATE TABLE IF NOT EXISTS `widgets` (
--
INSERT INTO `widgets` (`id`, `name`, `title`, `value`, `created_at`, `updated_at`) VALUES
-(1, 'footer1', 'Products', 'Men Women Kids Decor Wedding Cloth ', '2016-11-29 23:28:18', '2016-11-29 23:47:56'),
-(2, 'footer2', 'Company', 'About Us Road Map Privacy Policy Cancellation & Refund Policy Term & Condition ', '2016-11-29 23:28:18', '2016-11-29 23:48:39'),
-(3, 'footer3', 'Find out More', 'Forums News Blog Partner NOC Directory ', '2016-11-29 23:28:18', '2016-11-29 23:49:14'),
-(4, 'footer4', 'Contact Us', '\r\n
BTM Layout, No: #28 9th Cross First Stage BTM Layout Near Water Tank Bangalore – 560 029 Karnataka – India Telephone: +91 9999999999 Email: support@abcclothing.com
\r\n
\r\n \r\n
\r\n
', '2016-11-29 23:28:18', '2016-11-29 23:50:04'),
-(5, 'side1', NULL, NULL, '2016-11-29 23:28:18', '2016-11-29 23:28:18'),
-(6, 'side2', NULL, NULL, '2016-11-29 23:28:18', '2016-11-29 23:28:18'),
-(7, 'linkedin', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(8, 'stumble', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(9, 'google', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(10, 'deviantart', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(11, 'flickr', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(12, 'skype', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(13, 'rss', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(14, 'twitter', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(15, 'facebook', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(16, 'youtube', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(17, 'vimeo', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(18, 'pinterest', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(19, 'dribbble', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(20, 'instagram', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20');
+(1, 'footer1', 'Products', 'Men Women Kids Decor Wedding Cloth ', '2016-12-13 03:19:30', '2016-12-13 03:21:13'),
+(2, 'footer2', 'Company', 'About Us Road Map Privacy Policy Cancellation & Refund Policy Term & Condition ', '2016-12-13 03:19:30', '2016-12-13 03:21:40'),
+(3, 'footer3', 'Find out More', 'Forums News Blog Partner NOC Directory ', '2016-12-13 03:19:30', '2016-12-13 03:22:06'),
+(4, 'footer4', 'Contact Us', '\r\n
BTM Layout, No: #28 9th Cross First Stage BTM Layout Near Water Tank Bangalore – 560 029 Karnataka – India Telephone: +91 9999999999 Email: support@abcclothing.com
', '2016-12-13 03:19:30', '2016-12-13 03:22:34'),
+(5, 'side1', NULL, NULL, '2016-12-13 03:19:30', '2016-12-13 03:19:30'),
+(6, 'side2', NULL, NULL, '2016-12-13 03:19:30', '2016-12-13 03:19:30'),
+(7, 'linkedin', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(8, 'stumble', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(9, 'google', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(10, 'deviantart', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(11, 'flickr', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(12, 'skype', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(13, 'rss', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(14, 'twitter', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(15, 'facebook', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(16, 'youtube', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32'),
+(17, 'vimeo', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32'),
+(18, 'pinterest', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32'),
+(19, 'dribbble', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32'),
+(20, 'instagram', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32');
-- --------------------------------------------------------
@@ -2474,7 +2438,7 @@ CREATE TABLE IF NOT EXISTS `workflow_close` (
--
INSERT INTO `workflow_close` (`id`, `days`, `condition`, `send_email`, `status`, `created_at`, `updated_at`) VALUES
-(1, 2, 1, 1, 3, '2016-11-29 23:27:58', '2016-11-29 23:27:58');
+(1, 2, 1, 1, 3, '2016-12-13 03:19:14', '2016-12-13 03:19:14');
-- --------------------------------------------------------
diff --git a/DB/dummy-data.sql b/DB/dummy-data.sql
index 2c0b011e0..b447c289f 100644
--- a/DB/dummy-data.sql
+++ b/DB/dummy-data.sql
@@ -3,7 +3,7 @@
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
--- Generation Time: Nov 30, 2016 at 07:01 AM
+-- Generation Time: Dec 13, 2016 at 10:36 AM
-- Server version: 5.6.17
-- PHP Version: 5.5.12
@@ -17,7 +17,7 @@ SET time_zone = "+00:00";
/*!40101 SET NAMES utf8 */;
--
--- Database: `version_1.8`
+-- Database: `community`
--
-- --------------------------------------------------------
@@ -37,28 +37,6 @@ CREATE TABLE IF NOT EXISTS `api_settings` (
-- --------------------------------------------------------
---
--- Table structure for table `approval`
---
-
-CREATE TABLE IF NOT EXISTS `approval` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `created_at` timestamp NULL DEFAULT NULL,
- `updated_at` timestamp NULL DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
-
---
--- Dumping data for table `approval`
---
-
-INSERT INTO `approval` (`id`, `name`, `status`, `created_at`, `updated_at`) VALUES
-(1, 'approval', '0', '2016-11-29 23:28:11', '2016-11-29 23:28:11');
-
--- --------------------------------------------------------
-
--
-- Table structure for table `banlist`
--
@@ -93,7 +71,7 @@ CREATE TABLE IF NOT EXISTS `bar_notifications` (
--
INSERT INTO `bar_notifications` (`id`, `key`, `value`, `created_at`, `updated_at`) VALUES
-(1, 'new-version', '', '2016-11-29 23:29:29', '2016-11-29 23:29:29');
+(1, 'new-version', '', '2016-12-13 03:20:32', '2016-12-13 03:20:32');
-- --------------------------------------------------------
@@ -127,19 +105,20 @@ CREATE TABLE IF NOT EXISTS `common_settings` (
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
--
-- Dumping data for table `common_settings`
--
INSERT INTO `common_settings` (`id`, `option_name`, `option_value`, `status`, `optional_field`, `created_at`, `updated_at`) VALUES
-(1, 'ticket_token_time_duration', '1', '', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(2, 'enable_rtl', '', '', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(3, 'user_set_ticket_status', '', '1', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(4, 'send_otp', '', '0', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(5, 'email_mandatory', '', '1', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(6, 'user_priority', '', '0', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46');
+(1, 'itil', '', '0', '', NULL, NULL),
+(2, 'ticket_token_time_duration', '1', '', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(3, 'enable_rtl', '', '', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(4, 'user_set_ticket_status', '', '1', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(5, 'send_otp', '', '0', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(6, 'email_mandatory', '', '1', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(7, 'user_priority', '', '0', '', '2016-12-13 03:19:52', '2016-12-13 03:19:52');
-- --------------------------------------------------------
@@ -180,245 +159,245 @@ CREATE TABLE IF NOT EXISTS `country_code` (
--
INSERT INTO `country_code` (`id`, `iso`, `name`, `nicename`, `iso3`, `numcode`, `phonecode`, `created_at`, `updated_at`) VALUES
-(1, 'AF', 'AFGHANISTAN', 'Afghanistan', 'AFG', 4, 93, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(2, 'AL', 'ALBANIA', 'Albania', 'ALB', 8, 355, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(3, 'DZ', 'ALGERIA', 'Algeria', 'DZA', 12, 213, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(4, 'AS', 'AMERICAN SAMOA', 'American Samoa', 'ASM', 16, 1684, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(5, 'AD', 'ANDORRA', 'Andorra', 'AND', 20, 376, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(6, 'AO', 'ANGOLA', 'Angola', 'AGO', 24, 244, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(7, 'AI', 'ANGUILLA', 'Anguilla', 'AIA', 660, 1264, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(8, 'AQ', 'ANTARCTICA', 'Antarctica', 'NUL', 0, 0, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(9, 'AG', 'ANTIGUA AND BARBUDA', 'Antigua and Barbuda', 'ATG', 28, 1268, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(10, 'AR', 'ARGENTINA', 'Argentina', 'ARG', 32, 54, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(11, 'AM', 'ARMENIA', 'Armenia', 'ARM', 51, 374, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(12, 'AW', 'ARUBA', 'Aruba', 'ABW', 533, 297, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(13, 'AU', 'AUSTRALIA', 'Australia', 'AUS', 36, 61, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(14, 'AT', 'AUSTRIA', 'Austria', 'AUT', 40, 43, '2016-11-29 23:28:21', '2016-11-29 23:28:21'),
-(15, 'AZ', 'AZERBAIJAN', 'Azerbaijan', 'AZE', 31, 994, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(16, 'BS', 'BAHAMAS', 'Bahamas', 'BHS', 44, 1242, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(17, 'BH', 'BAHRAIN', 'Bahrain', 'BHR', 48, 973, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(18, 'BD', 'BANGLADESH', 'Bangladesh', 'BGD', 50, 880, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(19, 'BB', 'BARBADOS', 'Barbados', 'BRB', 52, 1246, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(20, 'BY', 'BELARUS', 'Belarus', 'BLR', 112, 375, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(21, 'BE', 'BELGIUM', 'Belgium', 'BEL', 56, 32, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(22, 'BZ', 'BELIZE', 'Belize', 'BLZ', 84, 501, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(23, 'BJ', 'BENIN', 'Benin', 'BEN', 204, 229, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(24, 'BM', 'BERMUDA', 'Bermuda', 'BMU', 60, 1441, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(25, 'BT', 'BHUTAN', 'Bhutan', 'BTN', 64, 975, '2016-11-29 23:28:22', '2016-11-29 23:28:22'),
-(26, 'BO', 'BOLIVIA', 'Bolivia', 'BOL', 68, 591, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(27, 'BA', 'BOSNIA AND HERZEGOVINA', 'Bosnia and Herzegovina', 'BIH', 70, 387, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(28, 'BW', 'BOTSWANA', 'Botswana', 'BWA', 72, 267, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(29, 'BV', 'BOUVET ISLAND', 'Bouvet Island', 'NUL', 0, 0, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(30, 'BR', 'BRAZIL', 'Brazil', 'BRA', 76, 55, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(31, 'IO', 'BRITISH INDIAN OCEAN TERRITORY', 'British Indian Ocean Territory', 'NUL', 0, 246, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(32, 'BN', 'BRUNEI DARUSSALAM', 'Brunei Darussalam', 'BRN', 96, 673, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(33, 'BG', 'BULGARIA', 'Bulgaria', 'BGR', 100, 359, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(34, 'BF', 'BURKINA FASO', 'Burkina Faso', 'BFA', 854, 226, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(35, 'BI', 'BURUNDI', 'Burundi', 'BDI', 108, 257, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(36, 'KH', 'CAMBODIA', 'Cambodia', 'KHM', 116, 855, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(37, 'CM', 'CAMEROON', 'Cameroon', 'CMR', 120, 237, '2016-11-29 23:28:23', '2016-11-29 23:28:23'),
-(38, 'CA', 'CANADA', 'Canada', 'CAN', 124, 1, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(39, 'CV', 'CAPE VERDE', 'Cape Verde', 'CPV', 132, 238, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(40, 'KY', 'CAYMAN ISLANDS', 'Cayman Islands', 'CYM', 136, 1345, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(41, 'CF', 'CENTRAL AFRICAN REPUBLIC', 'Central African Republic', 'CAF', 140, 236, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(42, 'TD', 'CHAD', 'Chad', 'TCD', 148, 235, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(43, 'CL', 'CHILE', 'Chile', 'CHL', 152, 56, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(44, 'CN', 'CHINA', 'China', 'CHN', 156, 86, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(45, 'CX', 'CHRISTMAS ISLAND', 'Christmas Island', 'NUL', 0, 61, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(46, 'CC', 'COCOS (KEELING) ISLANDS', 'Cocos (Keeling) Islands', 'NUL', 0, 672, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(47, 'CO', 'COLOMBIA', 'Colombia', 'COL', 170, 57, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(48, 'KM', 'COMOROS', 'Comoros', 'COM', 174, 269, '2016-11-29 23:28:24', '2016-11-29 23:28:24'),
-(49, 'CG', 'CONGO', 'Congo', 'COG', 178, 242, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(50, 'CD', 'CONGO, THE DEMOCRATIC REPUBLIC OF THE', 'Congo, the Democratic Republic of the', 'COD', 180, 242, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(51, 'CK', 'COOK ISLANDS', 'Cook Islands', 'COK', 184, 682, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(52, 'CR', 'COSTA RICA', 'Costa Rica', 'CRI', 188, 506, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(53, 'CI', 'COTE DIVOIRE', 'Cote DIvoire', 'CIV', 384, 225, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(54, 'HR', 'CROATIA', 'Croatia', 'HRV', 191, 385, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(55, 'CU', 'CUBA', 'Cuba', 'CUB', 192, 53, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(56, 'CY', 'CYPRUS', 'Cyprus', 'CYP', 196, 357, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(57, 'CZ', 'CZECH REPUBLIC', 'Czech Republic', 'CZE', 203, 420, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(58, 'DK', 'DENMARK', 'Denmark', 'DNK', 208, 45, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(59, 'DJ', 'DJIBOUTI', 'Djibouti', 'DJI', 262, 253, '2016-11-29 23:28:25', '2016-11-29 23:28:25'),
-(60, 'DM', 'DOMINICA', 'Dominica', 'DMA', 212, 1767, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(61, 'DO', 'DOMINICAN REPUBLIC', 'Dominican Republic', 'DOM', 214, 1809, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(62, 'EC', 'ECUADOR', 'Ecuador', 'ECU', 218, 593, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(63, 'EG', 'EGYPT', 'Egypt', 'EGY', 818, 20, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(64, 'SV', 'EL SALVADOR', 'El Salvador', 'SLV', 222, 503, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(65, 'GQ', 'EQUATORIAL GUINEA', 'Equatorial Guinea', 'GNQ', 226, 240, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(66, 'ER', 'ERITREA', 'Eritrea', 'ERI', 232, 291, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(67, 'EE', 'ESTONIA', 'Estonia', 'EST', 233, 372, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(68, 'ET', 'ETHIOPIA', 'Ethiopia', 'ETH', 231, 251, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(69, 'FK', 'FALKLAND ISLANDS (MALVINAS)', 'Falkland Islands (Malvinas)', 'FLK', 238, 500, '2016-11-29 23:28:26', '2016-11-29 23:28:26'),
-(70, 'FO', 'FAROE ISLANDS', 'Faroe Islands', 'FRO', 234, 298, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(71, 'FJ', 'FIJI', 'Fiji', 'FJI', 242, 679, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(72, 'FI', 'FINLAND', 'Finland', 'FIN', 246, 358, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(73, 'FR', 'FRANCE', 'France', 'FRA', 250, 33, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(74, 'GF', 'FRENCH GUIANA', 'French Guiana', 'GUF', 254, 594, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(75, 'PF', 'FRENCH POLYNESIA', 'French Polynesia', 'PYF', 258, 689, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(76, 'TF', 'FRENCH SOUTHERN TERRITORIES', 'French Southern Territories', 'NUL', 0, 0, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(77, 'GA', 'GABON', 'Gabon', 'GAB', 266, 241, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(78, 'GM', 'GAMBIA', 'Gambia', 'GMB', 270, 220, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(79, 'GE', 'GEORGIA', 'Georgia', 'GEO', 268, 995, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(80, 'DE', 'GERMANY', 'Germany', 'DEU', 276, 49, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(81, 'GH', 'GHANA', 'Ghana', 'GHA', 288, 233, '2016-11-29 23:28:27', '2016-11-29 23:28:27'),
-(82, 'GI', 'GIBRALTAR', 'Gibraltar', 'GIB', 292, 350, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(83, 'GR', 'GREECE', 'Greece', 'GRC', 300, 30, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(84, 'GL', 'GREENLAND', 'Greenland', 'GRL', 304, 299, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(85, 'GD', 'GRENADA', 'Grenada', 'GRD', 308, 1473, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(86, 'GP', 'GUADELOUPE', 'Guadeloupe', 'GLP', 312, 590, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(87, 'GU', 'GUAM', 'Guam', 'GUM', 316, 1671, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(88, 'GT', 'GUATEMALA', 'Guatemala', 'GTM', 320, 502, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(89, 'GN', 'GUINEA', 'Guinea', 'GIN', 324, 224, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(90, 'GW', 'GUINEA-BISSAU', 'Guinea-Bissau', 'GNB', 624, 245, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(91, 'GY', 'GUYANA', 'Guyana', 'GUY', 328, 592, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(92, 'HT', 'HAITI', 'Haiti', 'HTI', 332, 509, '2016-11-29 23:28:28', '2016-11-29 23:28:28'),
-(93, 'HM', 'HEARD ISLAND AND MCDONALD ISLANDS', 'Heard Island and Mcdonald Islands', 'NUL', 0, 0, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(94, 'VA', 'HOLY SEE (VATICAN CITY STATE)', 'Holy See (Vatican City State)', 'VAT', 336, 39, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(95, 'HN', 'HONDURAS', 'Honduras', 'HND', 340, 504, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(96, 'HK', 'HONG KONG', 'Hong Kong', 'HKG', 344, 852, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(97, 'HU', 'HUNGARY', 'Hungary', 'HUN', 348, 36, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(98, 'IS', 'ICELAND', 'Iceland', 'ISL', 352, 354, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(99, 'IN', 'INDIA', 'India', 'IND', 356, 91, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(100, 'ID', 'INDONESIA', 'Indonesia', 'IDN', 360, 62, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(101, 'IR', 'IRAN, ISLAMIC REPUBLIC OF', 'Iran, Islamic Republic of', 'IRN', 364, 98, '2016-11-29 23:28:29', '2016-11-29 23:28:29'),
-(102, 'IQ', 'IRAQ', 'Iraq', 'IRQ', 368, 964, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(103, 'IE', 'IRELAND', 'Ireland', 'IRL', 372, 353, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(104, 'IL', 'ISRAEL', 'Israel', 'ISR', 376, 972, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(105, 'IT', 'ITALY', 'Italy', 'ITA', 380, 39, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(106, 'JM', 'JAMAICA', 'Jamaica', 'JAM', 388, 1876, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(107, 'JP', 'JAPAN', 'Japan', 'JPN', 392, 81, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(108, 'JO', 'JORDAN', 'Jordan', 'JOR', 400, 962, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(109, 'KZ', 'KAZAKHSTAN', 'Kazakhstan', 'KAZ', 398, 7, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(110, 'KE', 'KENYA', 'Kenya', 'KEN', 404, 254, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(111, 'KI', 'KIRIBATI', 'Kiribati', 'KIR', 296, 686, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(112, 'KP', 'KOREA, DEMOCRATIC PEOPLES REPUBLIC OF', 'Korea, Democratic Peoples Republic of', 'PRK', 408, 850, '2016-11-29 23:28:30', '2016-11-29 23:28:30'),
-(113, 'KR', 'KOREA, REPUBLIC OF', 'Korea, Republic of', 'KOR', 410, 82, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(114, 'KW', 'KUWAIT', 'Kuwait', 'KWT', 414, 965, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(115, 'KG', 'KYRGYZSTAN', 'Kyrgyzstan', 'KGZ', 417, 996, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(116, 'LA', 'LAO PEOPLES DEMOCRATIC REPUBLIC', 'Lao Peoples Democratic Republic', 'LAO', 418, 856, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(117, 'LV', 'LATVIA', 'Latvia', 'LVA', 428, 371, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(118, 'LB', 'LEBANON', 'Lebanon', 'LBN', 422, 961, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(119, 'LS', 'LESOTHO', 'Lesotho', 'LSO', 426, 266, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(120, 'LR', 'LIBERIA', 'Liberia', 'LBR', 430, 231, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(121, 'LY', 'LIBYAN ARAB JAMAHIRIYA', 'Libyan Arab Jamahiriya', 'LBY', 434, 218, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(122, 'LI', 'LIECHTENSTEIN', 'Liechtenstein', 'LIE', 438, 423, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(123, 'LT', 'LITHUANIA', 'Lithuania', 'LTU', 440, 370, '2016-11-29 23:28:31', '2016-11-29 23:28:31'),
-(124, 'LU', 'LUXEMBOURG', 'Luxembourg', 'LUX', 442, 352, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(125, 'MO', 'MACAO', 'Macao', 'MAC', 446, 853, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(126, 'MK', 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF', 'Macedonia, the Former Yugoslav Republic of', 'MKD', 807, 389, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(127, 'MG', 'MADAGASCAR', 'Madagascar', 'MDG', 450, 261, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(128, 'MW', 'MALAWI', 'Malawi', 'MWI', 454, 265, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(129, 'MY', 'MALAYSIA', 'Malaysia', 'MYS', 458, 60, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(130, 'MV', 'MALDIVES', 'Maldives', 'MDV', 462, 960, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(131, 'ML', 'MALI', 'Mali', 'MLI', 466, 223, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(132, 'MT', 'MALTA', 'Malta', 'MLT', 470, 356, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(133, 'MH', 'MARSHALL ISLANDS', 'Marshall Islands', 'MHL', 584, 692, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(134, 'MQ', 'MARTINIQUE', 'Martinique', 'MTQ', 474, 596, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(135, 'MR', 'MAURITANIA', 'Mauritania', 'MRT', 478, 222, '2016-11-29 23:28:32', '2016-11-29 23:28:32'),
-(136, 'MU', 'MAURITIUS', 'Mauritius', 'MUS', 480, 230, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(137, 'YT', 'MAYOTTE', 'Mayotte', 'NUL', 0, 269, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(138, 'MX', 'MEXICO', 'Mexico', 'MEX', 484, 52, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(139, 'FM', 'MICRONESIA, FEDERATED STATES OF', 'Micronesia, Federated States of', 'FSM', 583, 691, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(140, 'MD', 'MOLDOVA, REPUBLIC OF', 'Moldova, Republic of', 'MDA', 498, 373, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(141, 'MC', 'MONACO', 'Monaco', 'MCO', 492, 377, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(142, 'MN', 'MONGOLIA', 'Mongolia', 'MNG', 496, 976, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(143, 'MS', 'MONTSERRAT', 'Montserrat', 'MSR', 500, 1664, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(144, 'MA', 'MOROCCO', 'Morocco', 'MAR', 504, 212, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(145, 'MZ', 'MOZAMBIQUE', 'Mozambique', 'MOZ', 508, 258, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(146, 'MM', 'MYANMAR', 'Myanmar', 'MMR', 104, 95, '2016-11-29 23:28:33', '2016-11-29 23:28:33'),
-(147, 'NA', 'NAMIBIA', 'Namibia', 'NAM', 516, 264, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(148, 'NR', 'NAURU', 'Nauru', 'NRU', 520, 674, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(149, 'NP', 'NEPAL', 'Nepal', 'NPL', 524, 977, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(150, 'NL', 'NETHERLANDS', 'Netherlands', 'NLD', 528, 31, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(151, 'AN', 'NETHERLANDS ANTILLES', 'Netherlands Antilles', 'ANT', 530, 599, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(152, 'NC', 'NEW CALEDONIA', 'New Caledonia', 'NCL', 540, 687, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(153, 'NZ', 'NEW ZEALAND', 'New Zealand', 'NZL', 554, 64, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(154, 'NI', 'NICARAGUA', 'Nicaragua', 'NIC', 558, 505, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(155, 'NE', 'NIGER', 'Niger', 'NER', 562, 227, '2016-11-29 23:28:34', '2016-11-29 23:28:34'),
-(156, 'NG', 'NIGERIA', 'Nigeria', 'NGA', 566, 234, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(157, 'NU', 'NIUE', 'Niue', 'NIU', 570, 683, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(158, 'NF', 'NORFOLK ISLAND', 'Norfolk Island', 'NFK', 574, 672, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(159, 'MP', 'NORTHERN MARIANA ISLANDS', 'Northern Mariana Islands', 'MNP', 580, 1670, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(160, 'NO', 'NORWAY', 'Norway', 'NOR', 578, 47, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(161, 'OM', 'OMAN', 'Oman', 'OMN', 512, 968, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(162, 'PK', 'PAKISTAN', 'Pakistan', 'PAK', 586, 92, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(163, 'PW', 'PALAU', 'Palau', 'PLW', 585, 680, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(164, 'PS', 'PALESTINIAN TERRITORY, OCCUPIED', 'Palestinian Territory, Occupied', 'NUL', 0, 970, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(165, 'PA', 'PANAMA', 'Panama', 'PAN', 591, 507, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(166, 'PG', 'PAPUA NEW GUINEA', 'Papua New Guinea', 'PNG', 598, 675, '2016-11-29 23:28:35', '2016-11-29 23:28:35'),
-(167, 'PY', 'PARAGUAY', 'Paraguay', 'PRY', 600, 595, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(168, 'PE', 'PERU', 'Peru', 'PER', 604, 51, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(169, 'PH', 'PHILIPPINES', 'Philippines', 'PHL', 608, 63, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(170, 'PN', 'PITCAIRN', 'Pitcairn', 'PCN', 612, 0, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(171, 'PL', 'POLAND', 'Poland', 'POL', 616, 48, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(172, 'PT', 'PORTUGAL', 'Portugal', 'PRT', 620, 351, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(173, 'PR', 'PUERTO RICO', 'Puerto Rico', 'PRI', 630, 1787, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(174, 'QA', 'QATAR', 'Qatar', 'QAT', 634, 974, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(175, 'RE', 'REUNION', 'Reunion', 'REU', 638, 262, '2016-11-29 23:28:36', '2016-11-29 23:28:36'),
-(176, 'RO', 'ROMANIA', 'Romania', 'ROM', 642, 40, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(177, 'RU', 'RUSSIAN FEDERATION', 'Russian Federation', 'RUS', 643, 70, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(178, 'RW', 'RWANDA', 'Rwanda', 'RWA', 646, 250, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(179, 'SH', 'SAINT HELENA', 'Saint Helena', 'SHN', 654, 290, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(180, 'KN', 'SAINT KITTS AND NEVIS', 'Saint Kitts and Nevis', 'KNA', 659, 1869, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(181, 'LC', 'SAINT LUCIA', 'Saint Lucia', 'LCA', 662, 1758, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(182, 'PM', 'SAINT PIERRE AND MIQUELON', 'Saint Pierre and Miquelon', 'SPM', 666, 508, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(183, 'VC', 'SAINT VINCENT AND THE GRENADINES', 'Saint Vincent and the Grenadines', 'VCT', 670, 1784, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(184, 'WS', 'SAMOA', 'Samoa', 'WSM', 882, 684, '2016-11-29 23:28:37', '2016-11-29 23:28:37'),
-(185, 'SM', 'SAN MARINO', 'San Marino', 'SMR', 674, 378, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(186, 'ST', 'SAO TOME AND PRINCIPE', 'Sao Tome and Principe', 'STP', 678, 239, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(187, 'SA', 'SAUDI ARABIA', 'Saudi Arabia', 'SAU', 682, 966, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(188, 'SN', 'SENEGAL', 'Senegal', 'SEN', 686, 221, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(189, 'CS', 'SERBIA AND MONTENEGRO', 'Serbia and Montenegro', 'NUL', 0, 381, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(190, 'SC', 'SEYCHELLES', 'Seychelles', 'SYC', 690, 248, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(191, 'SL', 'SIERRA LEONE', 'Sierra Leone', 'SLE', 694, 232, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(192, 'SG', 'SINGAPORE', 'Singapore', 'SGP', 702, 65, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(193, 'SK', 'SLOVAKIA', 'Slovakia', 'SVK', 703, 421, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(194, 'SI', 'SLOVENIA', 'Slovenia', 'SVN', 705, 386, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(195, 'SB', 'SOLOMON ISLANDS', 'Solomon Islands', 'SLB', 90, 677, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(196, 'SO', 'SOMALIA', 'Somalia', 'SOM', 706, 252, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(197, 'ZA', 'SOUTH AFRICA', 'South Africa', 'ZAF', 710, 27, '2016-11-29 23:28:38', '2016-11-29 23:28:38'),
-(198, 'GS', 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS', 'South Georgia and the South Sandwich Islands', 'NUL', 0, 0, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(199, 'ES', 'SPAIN', 'Spain', 'ESP', 724, 34, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(200, 'LK', 'SRI LANKA', 'Sri Lanka', 'LKA', 144, 94, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(201, 'SD', 'SUDAN', 'Sudan', 'SDN', 736, 249, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(202, 'SR', 'SURINAME', 'Suriname', 'SUR', 740, 597, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(203, 'SJ', 'SVALBARD AND JAN MAYEN', 'Svalbard and Jan Mayen', 'SJM', 744, 47, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(204, 'SZ', 'SWAZILAND', 'Swaziland', 'SWZ', 748, 268, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(205, 'SE', 'SWEDEN', 'Sweden', 'SWE', 752, 46, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(206, 'CH', 'SWITZERLAND', 'Switzerland', 'CHE', 756, 41, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(207, 'SY', 'SYRIAN ARAB REPUBLIC', 'Syrian Arab Republic', 'SYR', 760, 963, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(208, 'TW', 'TAIWAN, PROVINCE OF CHINA', 'Taiwan, Province of China', 'TWN', 158, 886, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(209, 'TJ', 'TAJIKISTAN', 'Tajikistan', 'TJK', 762, 992, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(210, 'TZ', 'TANZANIA, UNITED REPUBLIC OF', 'Tanzania, United Republic of', 'TZA', 834, 255, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(211, 'TH', 'THAILAND', 'Thailand', 'THA', 764, 66, '2016-11-29 23:28:39', '2016-11-29 23:28:39'),
-(212, 'TL', 'TIMOR-LESTE', 'Timor-Leste', 'NUL', 0, 670, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(213, 'TG', 'TOGO', 'Togo', 'TGO', 768, 228, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(214, 'TK', 'TOKELAU', 'Tokelau', 'TKL', 772, 690, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(215, 'TO', 'TONGA', 'Tonga', 'TON', 776, 676, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(216, 'TT', 'TRINIDAD AND TOBAGO', 'Trinidad and Tobago', 'TTO', 780, 1868, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(217, 'TN', 'TUNISIA', 'Tunisia', 'TUN', 788, 216, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(218, 'TR', 'TURKEY', 'Turkey', 'TUR', 792, 90, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(219, 'TM', 'TURKMENISTAN', 'Turkmenistan', 'TKM', 795, 7370, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(220, 'TC', 'TURKS AND CAICOS ISLANDS', 'Turks and Caicos Islands', 'TCA', 796, 1649, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(221, 'TV', 'TUVALU', 'Tuvalu', 'TUV', 798, 688, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(222, 'UG', 'UGANDA', 'Uganda', 'UGA', 800, 256, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(223, 'UA', 'UKRAINE', 'Ukraine', 'UKR', 804, 380, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(224, 'AE', 'UNITED ARAB EMIRATES', 'United Arab Emirates', 'ARE', 784, 971, '2016-11-29 23:28:40', '2016-11-29 23:28:40'),
-(225, 'GB', 'UNITED KINGDOM', 'United Kingdom', 'GBR', 826, 44, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(226, 'US', 'UNITED STATES', 'United States', 'USA', 840, 1, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(227, 'UM', 'UNITED STATES MINOR OUTLYING ISLANDS', 'United States Minor Outlying Islands', 'NUL', 0, 1, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(228, 'UY', 'URUGUAY', 'Uruguay', 'URY', 858, 598, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(229, 'UZ', 'UZBEKISTAN', 'Uzbekistan', 'UZB', 860, 998, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(230, 'VU', 'VANUATU', 'Vanuatu', 'VUT', 548, 678, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(231, 'VE', 'VENEZUELA', 'Venezuela', 'VEN', 862, 58, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(232, 'VN', 'VIET NAM', 'Viet Nam', 'VNM', 704, 84, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(233, 'VG', 'VIRGIN ISLANDS, BRITISH', 'Virgin Islands, British', 'VGB', 92, 1284, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(234, 'VI', 'VIRGIN ISLANDS, U.S.', 'Virgin Islands, U.s.', 'VIR', 850, 1340, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(235, 'WF', 'WALLIS AND FUTUNA', 'Wallis and Futuna', 'WLF', 876, 681, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(236, 'EH', 'WESTERN SAHARA', 'Western Sahara', 'ESH', 732, 212, '2016-11-29 23:28:41', '2016-11-29 23:28:41'),
-(237, 'YE', 'YEMEN', 'Yemen', 'YEM', 887, 967, '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(238, 'ZM', 'ZAMBIA', 'Zambia', 'ZMB', 894, 260, '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(239, 'ZW', 'ZIMBABWE', 'Zimbabwe', 'ZWE', 716, 263, '2016-11-29 23:28:42', '2016-11-29 23:28:42');
+(1, 'AF', 'AFGHANISTAN', 'Afghanistan', 'AFG', 4, 93, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(2, 'AL', 'ALBANIA', 'Albania', 'ALB', 8, 355, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(3, 'DZ', 'ALGERIA', 'Algeria', 'DZA', 12, 213, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(4, 'AS', 'AMERICAN SAMOA', 'American Samoa', 'ASM', 16, 1684, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(5, 'AD', 'ANDORRA', 'Andorra', 'AND', 20, 376, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(6, 'AO', 'ANGOLA', 'Angola', 'AGO', 24, 244, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(7, 'AI', 'ANGUILLA', 'Anguilla', 'AIA', 660, 1264, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(8, 'AQ', 'ANTARCTICA', 'Antarctica', 'NUL', 0, 0, '2016-12-13 03:19:33', '2016-12-13 03:19:33'),
+(9, 'AG', 'ANTIGUA AND BARBUDA', 'Antigua and Barbuda', 'ATG', 28, 1268, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(10, 'AR', 'ARGENTINA', 'Argentina', 'ARG', 32, 54, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(11, 'AM', 'ARMENIA', 'Armenia', 'ARM', 51, 374, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(12, 'AW', 'ARUBA', 'Aruba', 'ABW', 533, 297, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(13, 'AU', 'AUSTRALIA', 'Australia', 'AUS', 36, 61, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(14, 'AT', 'AUSTRIA', 'Austria', 'AUT', 40, 43, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(15, 'AZ', 'AZERBAIJAN', 'Azerbaijan', 'AZE', 31, 994, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(16, 'BS', 'BAHAMAS', 'Bahamas', 'BHS', 44, 1242, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(17, 'BH', 'BAHRAIN', 'Bahrain', 'BHR', 48, 973, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(18, 'BD', 'BANGLADESH', 'Bangladesh', 'BGD', 50, 880, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(19, 'BB', 'BARBADOS', 'Barbados', 'BRB', 52, 1246, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(20, 'BY', 'BELARUS', 'Belarus', 'BLR', 112, 375, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(21, 'BE', 'BELGIUM', 'Belgium', 'BEL', 56, 32, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(22, 'BZ', 'BELIZE', 'Belize', 'BLZ', 84, 501, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(23, 'BJ', 'BENIN', 'Benin', 'BEN', 204, 229, '2016-12-13 03:19:34', '2016-12-13 03:19:34'),
+(24, 'BM', 'BERMUDA', 'Bermuda', 'BMU', 60, 1441, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(25, 'BT', 'BHUTAN', 'Bhutan', 'BTN', 64, 975, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(26, 'BO', 'BOLIVIA', 'Bolivia', 'BOL', 68, 591, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(27, 'BA', 'BOSNIA AND HERZEGOVINA', 'Bosnia and Herzegovina', 'BIH', 70, 387, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(28, 'BW', 'BOTSWANA', 'Botswana', 'BWA', 72, 267, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(29, 'BV', 'BOUVET ISLAND', 'Bouvet Island', 'NUL', 0, 0, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(30, 'BR', 'BRAZIL', 'Brazil', 'BRA', 76, 55, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(31, 'IO', 'BRITISH INDIAN OCEAN TERRITORY', 'British Indian Ocean Territory', 'NUL', 0, 246, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(32, 'BN', 'BRUNEI DARUSSALAM', 'Brunei Darussalam', 'BRN', 96, 673, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(33, 'BG', 'BULGARIA', 'Bulgaria', 'BGR', 100, 359, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(34, 'BF', 'BURKINA FASO', 'Burkina Faso', 'BFA', 854, 226, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(35, 'BI', 'BURUNDI', 'Burundi', 'BDI', 108, 257, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(36, 'KH', 'CAMBODIA', 'Cambodia', 'KHM', 116, 855, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(37, 'CM', 'CAMEROON', 'Cameroon', 'CMR', 120, 237, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(38, 'CA', 'CANADA', 'Canada', 'CAN', 124, 1, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(39, 'CV', 'CAPE VERDE', 'Cape Verde', 'CPV', 132, 238, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(40, 'KY', 'CAYMAN ISLANDS', 'Cayman Islands', 'CYM', 136, 1345, '2016-12-13 03:19:35', '2016-12-13 03:19:35'),
+(41, 'CF', 'CENTRAL AFRICAN REPUBLIC', 'Central African Republic', 'CAF', 140, 236, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(42, 'TD', 'CHAD', 'Chad', 'TCD', 148, 235, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(43, 'CL', 'CHILE', 'Chile', 'CHL', 152, 56, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(44, 'CN', 'CHINA', 'China', 'CHN', 156, 86, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(45, 'CX', 'CHRISTMAS ISLAND', 'Christmas Island', 'NUL', 0, 61, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(46, 'CC', 'COCOS (KEELING) ISLANDS', 'Cocos (Keeling) Islands', 'NUL', 0, 672, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(47, 'CO', 'COLOMBIA', 'Colombia', 'COL', 170, 57, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(48, 'KM', 'COMOROS', 'Comoros', 'COM', 174, 269, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(49, 'CG', 'CONGO', 'Congo', 'COG', 178, 242, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(50, 'CD', 'CONGO, THE DEMOCRATIC REPUBLIC OF THE', 'Congo, the Democratic Republic of the', 'COD', 180, 242, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(51, 'CK', 'COOK ISLANDS', 'Cook Islands', 'COK', 184, 682, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(52, 'CR', 'COSTA RICA', 'Costa Rica', 'CRI', 188, 506, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(53, 'CI', 'COTE DIVOIRE', 'Cote DIvoire', 'CIV', 384, 225, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(54, 'HR', 'CROATIA', 'Croatia', 'HRV', 191, 385, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(55, 'CU', 'CUBA', 'Cuba', 'CUB', 192, 53, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(56, 'CY', 'CYPRUS', 'Cyprus', 'CYP', 196, 357, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(57, 'CZ', 'CZECH REPUBLIC', 'Czech Republic', 'CZE', 203, 420, '2016-12-13 03:19:36', '2016-12-13 03:19:36'),
+(58, 'DK', 'DENMARK', 'Denmark', 'DNK', 208, 45, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(59, 'DJ', 'DJIBOUTI', 'Djibouti', 'DJI', 262, 253, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(60, 'DM', 'DOMINICA', 'Dominica', 'DMA', 212, 1767, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(61, 'DO', 'DOMINICAN REPUBLIC', 'Dominican Republic', 'DOM', 214, 1809, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(62, 'EC', 'ECUADOR', 'Ecuador', 'ECU', 218, 593, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(63, 'EG', 'EGYPT', 'Egypt', 'EGY', 818, 20, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(64, 'SV', 'EL SALVADOR', 'El Salvador', 'SLV', 222, 503, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(65, 'GQ', 'EQUATORIAL GUINEA', 'Equatorial Guinea', 'GNQ', 226, 240, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(66, 'ER', 'ERITREA', 'Eritrea', 'ERI', 232, 291, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(67, 'EE', 'ESTONIA', 'Estonia', 'EST', 233, 372, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(68, 'ET', 'ETHIOPIA', 'Ethiopia', 'ETH', 231, 251, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(69, 'FK', 'FALKLAND ISLANDS (MALVINAS)', 'Falkland Islands (Malvinas)', 'FLK', 238, 500, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(70, 'FO', 'FAROE ISLANDS', 'Faroe Islands', 'FRO', 234, 298, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(71, 'FJ', 'FIJI', 'Fiji', 'FJI', 242, 679, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(72, 'FI', 'FINLAND', 'Finland', 'FIN', 246, 358, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(73, 'FR', 'FRANCE', 'France', 'FRA', 250, 33, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(74, 'GF', 'FRENCH GUIANA', 'French Guiana', 'GUF', 254, 594, '2016-12-13 03:19:37', '2016-12-13 03:19:37'),
+(75, 'PF', 'FRENCH POLYNESIA', 'French Polynesia', 'PYF', 258, 689, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(76, 'TF', 'FRENCH SOUTHERN TERRITORIES', 'French Southern Territories', 'NUL', 0, 0, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(77, 'GA', 'GABON', 'Gabon', 'GAB', 266, 241, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(78, 'GM', 'GAMBIA', 'Gambia', 'GMB', 270, 220, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(79, 'GE', 'GEORGIA', 'Georgia', 'GEO', 268, 995, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(80, 'DE', 'GERMANY', 'Germany', 'DEU', 276, 49, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(81, 'GH', 'GHANA', 'Ghana', 'GHA', 288, 233, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(82, 'GI', 'GIBRALTAR', 'Gibraltar', 'GIB', 292, 350, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(83, 'GR', 'GREECE', 'Greece', 'GRC', 300, 30, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(84, 'GL', 'GREENLAND', 'Greenland', 'GRL', 304, 299, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(85, 'GD', 'GRENADA', 'Grenada', 'GRD', 308, 1473, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(86, 'GP', 'GUADELOUPE', 'Guadeloupe', 'GLP', 312, 590, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(87, 'GU', 'GUAM', 'Guam', 'GUM', 316, 1671, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(88, 'GT', 'GUATEMALA', 'Guatemala', 'GTM', 320, 502, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(89, 'GN', 'GUINEA', 'Guinea', 'GIN', 324, 224, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(90, 'GW', 'GUINEA-BISSAU', 'Guinea-Bissau', 'GNB', 624, 245, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(91, 'GY', 'GUYANA', 'Guyana', 'GUY', 328, 592, '2016-12-13 03:19:38', '2016-12-13 03:19:38'),
+(92, 'HT', 'HAITI', 'Haiti', 'HTI', 332, 509, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(93, 'HM', 'HEARD ISLAND AND MCDONALD ISLANDS', 'Heard Island and Mcdonald Islands', 'NUL', 0, 0, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(94, 'VA', 'HOLY SEE (VATICAN CITY STATE)', 'Holy See (Vatican City State)', 'VAT', 336, 39, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(95, 'HN', 'HONDURAS', 'Honduras', 'HND', 340, 504, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(96, 'HK', 'HONG KONG', 'Hong Kong', 'HKG', 344, 852, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(97, 'HU', 'HUNGARY', 'Hungary', 'HUN', 348, 36, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(98, 'IS', 'ICELAND', 'Iceland', 'ISL', 352, 354, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(99, 'IN', 'INDIA', 'India', 'IND', 356, 91, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(100, 'ID', 'INDONESIA', 'Indonesia', 'IDN', 360, 62, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(101, 'IR', 'IRAN, ISLAMIC REPUBLIC OF', 'Iran, Islamic Republic of', 'IRN', 364, 98, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(102, 'IQ', 'IRAQ', 'Iraq', 'IRQ', 368, 964, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(103, 'IE', 'IRELAND', 'Ireland', 'IRL', 372, 353, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(104, 'IL', 'ISRAEL', 'Israel', 'ISR', 376, 972, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(105, 'IT', 'ITALY', 'Italy', 'ITA', 380, 39, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(106, 'JM', 'JAMAICA', 'Jamaica', 'JAM', 388, 1876, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(107, 'JP', 'JAPAN', 'Japan', 'JPN', 392, 81, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(108, 'JO', 'JORDAN', 'Jordan', 'JOR', 400, 962, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(109, 'KZ', 'KAZAKHSTAN', 'Kazakhstan', 'KAZ', 398, 7, '2016-12-13 03:19:39', '2016-12-13 03:19:39'),
+(110, 'KE', 'KENYA', 'Kenya', 'KEN', 404, 254, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(111, 'KI', 'KIRIBATI', 'Kiribati', 'KIR', 296, 686, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(112, 'KP', 'KOREA, DEMOCRATIC PEOPLES REPUBLIC OF', 'Korea, Democratic Peoples Republic of', 'PRK', 408, 850, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(113, 'KR', 'KOREA, REPUBLIC OF', 'Korea, Republic of', 'KOR', 410, 82, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(114, 'KW', 'KUWAIT', 'Kuwait', 'KWT', 414, 965, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(115, 'KG', 'KYRGYZSTAN', 'Kyrgyzstan', 'KGZ', 417, 996, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(116, 'LA', 'LAO PEOPLES DEMOCRATIC REPUBLIC', 'Lao Peoples Democratic Republic', 'LAO', 418, 856, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(117, 'LV', 'LATVIA', 'Latvia', 'LVA', 428, 371, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(118, 'LB', 'LEBANON', 'Lebanon', 'LBN', 422, 961, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(119, 'LS', 'LESOTHO', 'Lesotho', 'LSO', 426, 266, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(120, 'LR', 'LIBERIA', 'Liberia', 'LBR', 430, 231, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(121, 'LY', 'LIBYAN ARAB JAMAHIRIYA', 'Libyan Arab Jamahiriya', 'LBY', 434, 218, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(122, 'LI', 'LIECHTENSTEIN', 'Liechtenstein', 'LIE', 438, 423, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(123, 'LT', 'LITHUANIA', 'Lithuania', 'LTU', 440, 370, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(124, 'LU', 'LUXEMBOURG', 'Luxembourg', 'LUX', 442, 352, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(125, 'MO', 'MACAO', 'Macao', 'MAC', 446, 853, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(126, 'MK', 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF', 'Macedonia, the Former Yugoslav Republic of', 'MKD', 807, 389, '2016-12-13 03:19:40', '2016-12-13 03:19:40'),
+(127, 'MG', 'MADAGASCAR', 'Madagascar', 'MDG', 450, 261, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(128, 'MW', 'MALAWI', 'Malawi', 'MWI', 454, 265, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(129, 'MY', 'MALAYSIA', 'Malaysia', 'MYS', 458, 60, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(130, 'MV', 'MALDIVES', 'Maldives', 'MDV', 462, 960, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(131, 'ML', 'MALI', 'Mali', 'MLI', 466, 223, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(132, 'MT', 'MALTA', 'Malta', 'MLT', 470, 356, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(133, 'MH', 'MARSHALL ISLANDS', 'Marshall Islands', 'MHL', 584, 692, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(134, 'MQ', 'MARTINIQUE', 'Martinique', 'MTQ', 474, 596, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(135, 'MR', 'MAURITANIA', 'Mauritania', 'MRT', 478, 222, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(136, 'MU', 'MAURITIUS', 'Mauritius', 'MUS', 480, 230, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(137, 'YT', 'MAYOTTE', 'Mayotte', 'NUL', 0, 269, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(138, 'MX', 'MEXICO', 'Mexico', 'MEX', 484, 52, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(139, 'FM', 'MICRONESIA, FEDERATED STATES OF', 'Micronesia, Federated States of', 'FSM', 583, 691, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(140, 'MD', 'MOLDOVA, REPUBLIC OF', 'Moldova, Republic of', 'MDA', 498, 373, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(141, 'MC', 'MONACO', 'Monaco', 'MCO', 492, 377, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(142, 'MN', 'MONGOLIA', 'Mongolia', 'MNG', 496, 976, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(143, 'MS', 'MONTSERRAT', 'Montserrat', 'MSR', 500, 1664, '2016-12-13 03:19:41', '2016-12-13 03:19:41'),
+(144, 'MA', 'MOROCCO', 'Morocco', 'MAR', 504, 212, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(145, 'MZ', 'MOZAMBIQUE', 'Mozambique', 'MOZ', 508, 258, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(146, 'MM', 'MYANMAR', 'Myanmar', 'MMR', 104, 95, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(147, 'NA', 'NAMIBIA', 'Namibia', 'NAM', 516, 264, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(148, 'NR', 'NAURU', 'Nauru', 'NRU', 520, 674, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(149, 'NP', 'NEPAL', 'Nepal', 'NPL', 524, 977, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(150, 'NL', 'NETHERLANDS', 'Netherlands', 'NLD', 528, 31, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(151, 'AN', 'NETHERLANDS ANTILLES', 'Netherlands Antilles', 'ANT', 530, 599, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(152, 'NC', 'NEW CALEDONIA', 'New Caledonia', 'NCL', 540, 687, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(153, 'NZ', 'NEW ZEALAND', 'New Zealand', 'NZL', 554, 64, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(154, 'NI', 'NICARAGUA', 'Nicaragua', 'NIC', 558, 505, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(155, 'NE', 'NIGER', 'Niger', 'NER', 562, 227, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(156, 'NG', 'NIGERIA', 'Nigeria', 'NGA', 566, 234, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(157, 'NU', 'NIUE', 'Niue', 'NIU', 570, 683, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(158, 'NF', 'NORFOLK ISLAND', 'Norfolk Island', 'NFK', 574, 672, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(159, 'MP', 'NORTHERN MARIANA ISLANDS', 'Northern Mariana Islands', 'MNP', 580, 1670, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(160, 'NO', 'NORWAY', 'Norway', 'NOR', 578, 47, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(161, 'OM', 'OMAN', 'Oman', 'OMN', 512, 968, '2016-12-13 03:19:42', '2016-12-13 03:19:42'),
+(162, 'PK', 'PAKISTAN', 'Pakistan', 'PAK', 586, 92, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(163, 'PW', 'PALAU', 'Palau', 'PLW', 585, 680, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(164, 'PS', 'PALESTINIAN TERRITORY, OCCUPIED', 'Palestinian Territory, Occupied', 'NUL', 0, 970, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(165, 'PA', 'PANAMA', 'Panama', 'PAN', 591, 507, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(166, 'PG', 'PAPUA NEW GUINEA', 'Papua New Guinea', 'PNG', 598, 675, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(167, 'PY', 'PARAGUAY', 'Paraguay', 'PRY', 600, 595, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(168, 'PE', 'PERU', 'Peru', 'PER', 604, 51, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(169, 'PH', 'PHILIPPINES', 'Philippines', 'PHL', 608, 63, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(170, 'PN', 'PITCAIRN', 'Pitcairn', 'PCN', 612, 0, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(171, 'PL', 'POLAND', 'Poland', 'POL', 616, 48, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(172, 'PT', 'PORTUGAL', 'Portugal', 'PRT', 620, 351, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(173, 'PR', 'PUERTO RICO', 'Puerto Rico', 'PRI', 630, 1787, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(174, 'QA', 'QATAR', 'Qatar', 'QAT', 634, 974, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(175, 'RE', 'REUNION', 'Reunion', 'REU', 638, 262, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(176, 'RO', 'ROMANIA', 'Romania', 'ROM', 642, 40, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(177, 'RU', 'RUSSIAN FEDERATION', 'Russian Federation', 'RUS', 643, 70, '2016-12-13 03:19:43', '2016-12-13 03:19:43'),
+(178, 'RW', 'RWANDA', 'Rwanda', 'RWA', 646, 250, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(179, 'SH', 'SAINT HELENA', 'Saint Helena', 'SHN', 654, 290, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(180, 'KN', 'SAINT KITTS AND NEVIS', 'Saint Kitts and Nevis', 'KNA', 659, 1869, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(181, 'LC', 'SAINT LUCIA', 'Saint Lucia', 'LCA', 662, 1758, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(182, 'PM', 'SAINT PIERRE AND MIQUELON', 'Saint Pierre and Miquelon', 'SPM', 666, 508, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(183, 'VC', 'SAINT VINCENT AND THE GRENADINES', 'Saint Vincent and the Grenadines', 'VCT', 670, 1784, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(184, 'WS', 'SAMOA', 'Samoa', 'WSM', 882, 684, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(185, 'SM', 'SAN MARINO', 'San Marino', 'SMR', 674, 378, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(186, 'ST', 'SAO TOME AND PRINCIPE', 'Sao Tome and Principe', 'STP', 678, 239, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(187, 'SA', 'SAUDI ARABIA', 'Saudi Arabia', 'SAU', 682, 966, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(188, 'SN', 'SENEGAL', 'Senegal', 'SEN', 686, 221, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(189, 'CS', 'SERBIA AND MONTENEGRO', 'Serbia and Montenegro', 'NUL', 0, 381, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(190, 'SC', 'SEYCHELLES', 'Seychelles', 'SYC', 690, 248, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(191, 'SL', 'SIERRA LEONE', 'Sierra Leone', 'SLE', 694, 232, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(192, 'SG', 'SINGAPORE', 'Singapore', 'SGP', 702, 65, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(193, 'SK', 'SLOVAKIA', 'Slovakia', 'SVK', 703, 421, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(194, 'SI', 'SLOVENIA', 'Slovenia', 'SVN', 705, 386, '2016-12-13 03:19:44', '2016-12-13 03:19:44'),
+(195, 'SB', 'SOLOMON ISLANDS', 'Solomon Islands', 'SLB', 90, 677, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(196, 'SO', 'SOMALIA', 'Somalia', 'SOM', 706, 252, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(197, 'ZA', 'SOUTH AFRICA', 'South Africa', 'ZAF', 710, 27, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(198, 'GS', 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS', 'South Georgia and the South Sandwich Islands', 'NUL', 0, 0, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(199, 'ES', 'SPAIN', 'Spain', 'ESP', 724, 34, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(200, 'LK', 'SRI LANKA', 'Sri Lanka', 'LKA', 144, 94, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(201, 'SD', 'SUDAN', 'Sudan', 'SDN', 736, 249, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(202, 'SR', 'SURINAME', 'Suriname', 'SUR', 740, 597, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(203, 'SJ', 'SVALBARD AND JAN MAYEN', 'Svalbard and Jan Mayen', 'SJM', 744, 47, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(204, 'SZ', 'SWAZILAND', 'Swaziland', 'SWZ', 748, 268, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(205, 'SE', 'SWEDEN', 'Sweden', 'SWE', 752, 46, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(206, 'CH', 'SWITZERLAND', 'Switzerland', 'CHE', 756, 41, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(207, 'SY', 'SYRIAN ARAB REPUBLIC', 'Syrian Arab Republic', 'SYR', 760, 963, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(208, 'TW', 'TAIWAN, PROVINCE OF CHINA', 'Taiwan, Province of China', 'TWN', 158, 886, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(209, 'TJ', 'TAJIKISTAN', 'Tajikistan', 'TJK', 762, 992, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(210, 'TZ', 'TANZANIA, UNITED REPUBLIC OF', 'Tanzania, United Republic of', 'TZA', 834, 255, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(211, 'TH', 'THAILAND', 'Thailand', 'THA', 764, 66, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(212, 'TL', 'TIMOR-LESTE', 'Timor-Leste', 'NUL', 0, 670, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(213, 'TG', 'TOGO', 'Togo', 'TGO', 768, 228, '2016-12-13 03:19:45', '2016-12-13 03:19:45'),
+(214, 'TK', 'TOKELAU', 'Tokelau', 'TKL', 772, 690, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(215, 'TO', 'TONGA', 'Tonga', 'TON', 776, 676, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(216, 'TT', 'TRINIDAD AND TOBAGO', 'Trinidad and Tobago', 'TTO', 780, 1868, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(217, 'TN', 'TUNISIA', 'Tunisia', 'TUN', 788, 216, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(218, 'TR', 'TURKEY', 'Turkey', 'TUR', 792, 90, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(219, 'TM', 'TURKMENISTAN', 'Turkmenistan', 'TKM', 795, 7370, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(220, 'TC', 'TURKS AND CAICOS ISLANDS', 'Turks and Caicos Islands', 'TCA', 796, 1649, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(221, 'TV', 'TUVALU', 'Tuvalu', 'TUV', 798, 688, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(222, 'UG', 'UGANDA', 'Uganda', 'UGA', 800, 256, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(223, 'UA', 'UKRAINE', 'Ukraine', 'UKR', 804, 380, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(224, 'AE', 'UNITED ARAB EMIRATES', 'United Arab Emirates', 'ARE', 784, 971, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(225, 'GB', 'UNITED KINGDOM', 'United Kingdom', 'GBR', 826, 44, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(226, 'US', 'UNITED STATES', 'United States', 'USA', 840, 1, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(227, 'UM', 'UNITED STATES MINOR OUTLYING ISLANDS', 'United States Minor Outlying Islands', 'NUL', 0, 1, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(228, 'UY', 'URUGUAY', 'Uruguay', 'URY', 858, 598, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(229, 'UZ', 'UZBEKISTAN', 'Uzbekistan', 'UZB', 860, 998, '2016-12-13 03:19:46', '2016-12-13 03:19:46'),
+(230, 'VU', 'VANUATU', 'Vanuatu', 'VUT', 548, 678, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(231, 'VE', 'VENEZUELA', 'Venezuela', 'VEN', 862, 58, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(232, 'VN', 'VIET NAM', 'Viet Nam', 'VNM', 704, 84, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(233, 'VG', 'VIRGIN ISLANDS, BRITISH', 'Virgin Islands, British', 'VGB', 92, 1284, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(234, 'VI', 'VIRGIN ISLANDS, U.S.', 'Virgin Islands, U.s.', 'VIR', 850, 1340, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(235, 'WF', 'WALLIS AND FUTUNA', 'Wallis and Futuna', 'WLF', 876, 681, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(236, 'EH', 'WESTERN SAHARA', 'Western Sahara', 'ESH', 732, 212, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(237, 'YE', 'YEMEN', 'Yemen', 'YEM', 887, 967, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(238, 'ZM', 'ZAMBIA', 'Zambia', 'ZMB', 894, 260, '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(239, 'ZW', 'ZIMBABWE', 'Zimbabwe', 'ZWE', 716, 263, '2016-12-13 03:19:47', '2016-12-13 03:19:47');
-- --------------------------------------------------------
@@ -540,9 +519,9 @@ CREATE TABLE IF NOT EXISTS `department` (
--
INSERT INTO `department` (`id`, `name`, `type`, `sla`, `manager`, `ticket_assignment`, `outgoing_email`, `template_set`, `auto_ticket_response`, `auto_message_response`, `auto_response_email`, `recipient`, `group_access`, `department_sign`, `created_at`, `updated_at`) VALUES
-(1, 'Support', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-11-29 23:28:15', '2016-11-29 23:28:15'),
-(2, 'Sales', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-11-29 23:28:15', '2016-11-29 23:28:15'),
-(3, 'Operation', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-11-29 23:28:15', '2016-11-29 23:28:15');
+(1, 'Support', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(2, 'Sales', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-12-13 03:19:28', '2016-12-13 03:19:28'),
+(3, 'Operation', '1', 1, NULL, '', '', '', '', '', '', '', '', '', '2016-12-13 03:19:28', '2016-12-13 03:19:28');
-- --------------------------------------------------------
@@ -658,29 +637,6 @@ CREATE TABLE IF NOT EXISTS `field_values` (
-- --------------------------------------------------------
---
--- Table structure for table `followup`
---
-
-CREATE TABLE IF NOT EXISTS `followup` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `condition` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `created_at` timestamp NULL DEFAULT NULL,
- `updated_at` timestamp NULL DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
-
---
--- Dumping data for table `followup`
---
-
-INSERT INTO `followup` (`id`, `name`, `status`, `condition`, `created_at`, `updated_at`) VALUES
-(1, 'followup', '', '', '2016-11-29 23:28:11', '2016-11-29 23:28:11');
-
--- --------------------------------------------------------
-
--
-- Table structure for table `groups`
--
@@ -712,9 +668,9 @@ CREATE TABLE IF NOT EXISTS `groups` (
--
INSERT INTO `groups` (`id`, `name`, `group_status`, `can_create_ticket`, `can_edit_ticket`, `can_post_ticket`, `can_close_ticket`, `can_assign_ticket`, `can_transfer_ticket`, `can_delete_ticket`, `can_ban_email`, `can_manage_canned`, `can_manage_faq`, `can_view_agent_stats`, `department_access`, `admin_notes`, `created_at`, `updated_at`) VALUES
-(1, 'Group A', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14'),
-(2, 'Group B', 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14'),
-(3, 'Group C', 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14');
+(1, 'Group A', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(2, 'Group B', 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(3, 'Group C', 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27');
-- --------------------------------------------------------
@@ -771,9 +727,9 @@ CREATE TABLE IF NOT EXISTS `help_topic` (
--
INSERT INTO `help_topic` (`id`, `topic`, `parent_topic`, `custom_form`, `department`, `ticket_status`, `priority`, `sla_plan`, `thank_page`, `ticket_num_format`, `internal_notes`, `status`, `type`, `auto_assign`, `auto_response`, `created_at`, `updated_at`) VALUES
-(1, 'Support query', '', NULL, 1, 1, 2, 1, '', '1', '', 1, 1, NULL, 0, '2016-11-29 23:28:15', '2016-11-29 23:28:15'),
-(2, 'Sales query', '', NULL, 2, 1, 2, 1, '', '1', '', 1, 1, NULL, 0, '2016-11-29 23:28:16', '2016-11-29 23:45:44'),
-(3, 'Operational query', '', NULL, 3, 1, 2, 1, '', '1', '', 1, 1, NULL, 0, '2016-11-29 23:28:16', '2016-11-29 23:45:54');
+(1, 'Support query', '', NULL, 1, 1, 2, 1, '', '1', '', 1, 1, NULL, 0, '2016-12-13 03:19:28', '2016-12-13 03:19:28'),
+(2, 'Sales query', '', NULL, 2, 1, 2, 1, '', '1', '', 0, 1, NULL, 0, '2016-12-13 03:19:28', '2016-12-13 03:19:28'),
+(3, 'Operational query', '', NULL, 3, 1, 2, 1, '', '1', '', 0, 1, NULL, 0, '2016-12-13 03:19:28', '2016-12-13 03:19:28');
-- --------------------------------------------------------
@@ -792,8 +748,7 @@ CREATE TABLE IF NOT EXISTS `jobs` (
`created_at` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `jobs_queue_reserved_reserved_at_index` (`queue`,`reserved`,`reserved_at`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=17 ;
-
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@@ -819,13 +774,13 @@ CREATE TABLE IF NOT EXISTS `kb_article` (
--
INSERT INTO `kb_article` (`id`, `name`, `slug`, `description`, `status`, `type`, `publish_time`, `created_at`, `updated_at`) VALUES
-(1, 'DISCLAIMERS', 'disclaimers', 'ABC clothing.com does not promise that the site will be inoffensive, error-free or uninterrupted, or that it will provide specific information from use of the site or any content, search, or link on it. The site and its content are delivered on an “as-is” and “as-available” basis. ABC clothing.com cannot ensure that files you download from the site will be free of viruses or contamination or destructive features.
\r\n\r\nThebclothing.com disclaims all warranties, express or implied, including any implied warranties of merchantability and fitness for a particular purpose. ABC clothing.com will not be liable for any damages of any kind arising from the use of this site, including, without limitation, direct, indirect, incidental, and punitive and consequential damages.
\r\n\r\nABC clothing.com disclaims any and all liability for the acts, omissions, and conduct of any third-party users, ABC clothing.com users, advertisers, and/or sponsors on the Site, in connection with the Site, or other-wise related to your use of the Site. ABC clothing.com is not responsible for the products, services, actions, or failure to act of any third party in connection with or referenced on the Site. Without limiting the fore-going, you may report the misconduct of users and/or third-party advertisers or service and/or product providers referenced on or included in the Site to ABC clothing.com at Support@abcclothing.com
\r\n\r\nABC clothing.com may investigate the claim and take appropriate action, at its sole discretion.
\r\n\r\nFor any query kindly drop mail us on Support@abcclothing.com.
\r\n', 1, 1, '2016-11-30 05:32:00', '2016-11-30 00:03:45', '2016-11-30 00:03:45'),
-(2, 'CUSTOM ORDER', 'custom-order', 'You saw, you liked but couldn’t see your size? We will custom make it for you.
\r\n\r\nHow it works:
\r\n\r\nYou liked something and want to modify a little or have something else on mind, do pen it down and share it with us on Support@abcclothing.com \r\n We’ll work out the price depending on how detailed or intricate you want your garment. \r\n An advance would be required for any customized orders. \r\n Once you’ve placed a deposit, we’ll make you a sketch of the garment. \r\n We can complete your order in 15-20 days depending on the workload. \r\n We will also share some updates on the garment in case something needs to be changed. \r\n We finally ship it to your given address. \r\nNote: No returns and refunds.
\r\n', 1, 1, '2016-11-30 05:34:00', '2016-11-30 00:04:57', '2016-11-30 00:04:57'),
-(3, 'TROUSER SKIRTS', 'trouser-skirts', 'Paris takes its fashion very, very seriously. So seriously, in fact, that wearing the wrong thing has actually caused a riot.
\r\n\r\nIn 1911, two rival Parisian couture houses launched their "trouser skirts," an innovation in fashion that trod the very fixed line between the genders and seemed to promise greater flexibility for women in general. There were two different versions of the trouser skirt: One was a sort of baggy pant with a very low hanging crotch, described as "a sack with holes made for the legs to go through," not unlike the fashions on high streets today, and the other a pair of the same kind of pants topped with an over-skirt, again, not unlike high street fashions of today. Both versions were launched by models at the opening day of racing season to general revulsion and disgust, but thankfully, no violence.
\r\n\r\nIt wasn''t until the ladies attempted to promenade their future fashions on the boulevards that the fisticuffs started—at the Place de l''Opera, the poor models were attacked by a jeering mob of fashion Philistines, who pulled their hair, trampled their hats, and reduced them to tears. A squad of police officers on bicycles were dispatched to rescue the girls and escort them to safety.
\r\n', 1, 1, '2016-11-30 05:35:00', '2016-11-30 00:05:53', '2016-11-30 00:05:53'),
-(4, 'SECURE SHOPPING GUARANTEE', 'secure-shopping-guarantee', 'We accept all major Indian and International Credit/ Debit Cards, and Net Banking with over 40 Banks.
\r\n\r\nNO Cash on Delivery (as random people order and share false addresses for fun)
\r\n\r\nYes, shopping at our e-store is 100% safe. All payment requests are directed to the secured PayU Payment Gateway. This gives you the highest level of protection possible whenever you use credit cards or make other financial or confidential transactions over the Internet.
\r\n\r\nYou can be assured that our e-store offers you the highest standards of security currently available on the net so as to ensure that your shopping experience is private, safe and secure.
\r\n', 1, 1, '2016-11-30 05:36:00', '2016-11-30 00:06:39', '2016-11-30 00:06:39'),
-(5, 'PRIVACY POLICY', 'privacy-policy', 'The ABC Clothing collects your basic information to service your requests. This basic information is gathered when you purchase products/Gift card vouchers or when you sign up for e-mail notifications. Information gathered from you includes your name, mailing address, e-mail and phone number. Only when you place an order, your card information is requested and is submitted via the highest level of encryption to make sure of the greatest amount of safety and security. Reason why we gather this information:
\r\n\r\nTo process your order . \r\nShipping and Customer Service. \r\nWe also use the information to upgrade our products, customer services, website content and navigation.
\r\n\r\nInternal Record Keeping . \r\nWe at The ABC Clothing respect that you do not want your personal information shared with other companies. The information you provide shall, therefore, be only used to process your order and customer support. The ABC Clothing does not share, sell or rent customer information to any other company.
\r\n', 1, 1, '2016-11-30 05:36:00', '2016-11-30 00:07:18', '2016-11-30 00:07:18'),
-(6, ' SHIPPING POLICY', 'shipping-policy', 'We ship worldwide. We use FedEx/DTDC for shipping.
\r\n\r\nStandard Shipping is usually 3-7 Working days for orders within India and 12-15 Working days for International Orders, but usually faster. IF your order doesn’t reach you in time, you may write to us at support@abcclothing.com
\r\n\r\nInternational Orders
\r\n\r\nFor international orders, please note, your shipping will be calculated at the time of Check out only, this is a System Generated amount, based on your Zip Code, Region and Order Weight. (Approx Costs Rs.1250-1500 for 500 gms – International Shipment, subject to region)
\r\n\r\nTracking
\r\n\r\nFor tracking your order go to the following website, it will require your tracking ID which is sent via mail in your invoice.
\r\n', 1, 1, '2016-11-30 05:37:00', '2016-11-30 00:08:01', '2016-11-30 00:08:01'),
-(7, 'RETURN & CANCELLATION', 'return-cancellation', 'Size doesn’t fit you or the Apparel/ Product is damaged/ defective can be returned in its original packing within 7 days of delivery. Once we have verified the damage, defect and/or error, you shall receive a replacement or a full refund for the Product in the original means of payment.
\r\n\r\n \r\nThe B Clothing reserves the right to refuse a payment on a return of product purchased from www.thebclothing.com if the product is not received in its original condition, or is received damaged or has been used. All products to be returned must be notified to The B Clothing within 7 Days of receipt of your order..
\r\n\r\n \r\nIn case of International shipments, customers may return any products that they have a size issue with if they are willing to bear the shipping costs. In case of damaged or defective products, International customers would need to send images of the product in its original packaging to support@abcclothing.com to claim a refund. Also, for damages and defects, the customer must notify ABC Clothing within 2 days of receiving the product.
\r\n\r\n \r\nIn case of any returns that are approved, the purchase amount will be refunded to the customer within 15 business days upon receipt of return package, deducting any applicable return-processing fee.
\r\n\r\n \r\nThe following mode of refund payments will be used: \r\n• If online payment, then amount will be refunded online.
\r\n\r\n \r\nAny requests for cancellation of orders placed should be made immediately by contacting support@abc clothing.com. If the order has been processed or shipped, the applicable order cancellation charges will be applied.
\r\n\r\n
\r\n', 1, 1, '2016-11-30 05:38:00', '2016-11-30 00:08:41', '2016-11-30 00:08:41');
+(1, 'DISCLAIMERS', 'disclaimers', 'ABC clothing.com does not promise that the site will be inoffensive, error-free or uninterrupted, or that it will provide specific information from use of the site or any content, search, or link on it. The site and its content are delivered on an “as-is” and “as-available” basis. ABC clothing.com cannot ensure that files you download from the site will be free of viruses or contamination or destructive features.
\r\n\r\nThebclothing.com disclaims all warranties, express or implied, including any implied warranties of merchantability and fitness for a particular purpose. ABC clothing.com will not be liable for any damages of any kind arising from the use of this site, including, without limitation, direct, indirect, incidental, and punitive and consequential damages.
\r\n\r\nABC clothing.com disclaims any and all liability for the acts, omissions, and conduct of any third-party users, ABC clothing.com users, advertisers, and/or sponsors on the Site, in connection with the Site, or other-wise related to your use of the Site. ABC clothing.com is not responsible for the products, services, actions, or failure to act of any third party in connection with or referenced on the Site. Without limiting the fore-going, you may report the misconduct of users and/or third-party advertisers or service and/or product providers referenced on or included in the Site to ABC clothing.com at Support@abcclothing.com
\r\n\r\nABC clothing.com may investigate the claim and take appropriate action, at its sole discretion.
\r\n\r\nFor any query kindly drop mail us on Support@abcclothing.com.
\r\n', 1, 1, '2016-12-13 08:54:00', '2016-12-13 03:25:28', '2016-12-13 03:25:28'),
+(2, 'CUSTOM ORDER', 'custom-order', 'You saw, you liked but couldn’t see your size? We will custom make it for you.
\r\n\r\nHow it works:
\r\n\r\nYou liked something and want to modify a little or have something else on mind, do pen it down and share it with us on Support@abcclothing.com \r\n We’ll work out the price depending on how detailed or intricate you want your garment. \r\n An advance would be required for any customized orders. \r\n Once you’ve placed a deposit, we’ll make you a sketch of the garment. \r\n We can complete your order in 15-20 days depending on the workload. \r\n We will also share some updates on the garment in case something needs to be changed. \r\n We finally ship it to your given address. \r\nNote: No returns and refunds.
\r\n', 1, 1, '2016-12-13 08:56:00', '2016-12-13 03:26:24', '2016-12-13 03:26:24'),
+(3, 'TROUSER SKIRTS', 'trouser-skirts', 'Paris takes its fashion very, very seriously. So seriously, in fact, that wearing the wrong thing has actually caused a riot.
\r\n\r\nIn 1911, two rival Parisian couture houses launched their "trouser skirts," an innovation in fashion that trod the very fixed line between the genders and seemed to promise greater flexibility for women in general. There were two different versions of the trouser skirt: One was a sort of baggy pant with a very low hanging crotch, described as "a sack with holes made for the legs to go through," not unlike the fashions on high streets today, and the other a pair of the same kind of pants topped with an over-skirt, again, not unlike high street fashions of today. Both versions were launched by models at the opening day of racing season to general revulsion and disgust, but thankfully, no violence.
\r\n\r\nIt wasn''t until the ladies attempted to promenade their future fashions on the boulevards that the fisticuffs started—at the Place de l''Opera, the poor models were attacked by a jeering mob of fashion Philistines, who pulled their hair, trampled their hats, and reduced them to tears. A squad of police officers on bicycles were dispatched to rescue the girls and escort them to safety.
\r\n', 1, 1, '2016-12-13 08:56:00', '2016-12-13 03:27:02', '2016-12-13 03:27:02'),
+(4, 'SECURE SHOPPING GUARANTEE', 'secure-shopping-guarantee', 'We accept all major Indian and International Credit/ Debit Cards, and Net Banking with over 40 Banks.
\r\n\r\nNO Cash on Delivery (as random people order and share false addresses for fun)
\r\n\r\nYes, shopping at our e-store is 100% safe. All payment requests are directed to the secured PayU Payment Gateway. This gives you the highest level of protection possible whenever you use credit cards or make other financial or confidential transactions over the Internet.
\r\n\r\nYou can be assured that our e-store offers you the highest standards of security currently available on the net so as to ensure that your shopping experience is private, safe and secure.
\r\n', 1, 1, '2016-12-13 08:57:00', '2016-12-13 03:27:42', '2016-12-13 03:27:42'),
+(5, 'PRIVACY POLICY', 'privacy-policy', 'The ABC Clothing collects your basic information to service your requests. This basic information is gathered when you purchase products/Gift card vouchers or when you sign up for e-mail notifications. Information gathered from you includes your name, mailing address, e-mail and phone number. Only when you place an order, your card information is requested and is submitted via the highest level of encryption to make sure of the greatest amount of safety and security. Reason why we gather this information:
\r\n\r\nTo process your order . \r\nShipping and Customer Service. \r\nWe also use the information to upgrade our products, customer services, website content and navigation.
\r\n\r\nInternal Record Keeping . \r\nWe at The ABC Clothing respect that you do not want your personal information shared with other companies. The information you provide shall, therefore, be only used to process your order and customer support. The ABC Clothing does not share, sell or rent customer information to any other company.
\r\n', 1, 1, '2016-12-13 08:58:00', '2016-12-13 03:28:31', '2016-12-13 03:28:31'),
+(6, ' SHIPPING POLICY', 'shipping-policy', 'We ship worldwide. We use FedEx/DTDC for shipping.
\r\n\r\nStandard Shipping is usually 3-7 Working days for orders within India and 12-15 Working days for International Orders, but usually faster. IF your order doesn’t reach you in time, you may write to us at support@abcclothing.com
\r\n\r\nInternational Orders
\r\n\r\nFor international orders, please note, your shipping will be calculated at the time of Check out only, this is a System Generated amount, based on your Zip Code, Region and Order Weight. (Approx Costs Rs.1250-1500 for 500 gms – International Shipment, subject to region)
\r\n\r\nTracking
\r\n\r\nFor tracking your order go to the following website, it will require your tracking ID which is sent via mail in your invoice.
\r\n', 1, 1, '2016-12-13 08:58:00', '2016-12-13 03:29:34', '2016-12-13 03:29:34'),
+(7, 'RETURN & CANCELLATION', 'return-cancellation', 'Size doesn’t fit you or the Apparel/ Product is damaged/ defective can be returned in its original packing within 7 days of delivery. Once we have verified the damage, defect and/or error, you shall receive a replacement or a full refund for the Product in the original means of payment.
\r\n\r\n \r\nThe B Clothing reserves the right to refuse a payment on a return of product purchased from www.thebclothing.com if the product is not received in its original condition, or is received damaged or has been used. All products to be returned must be notified to The B Clothing within 7 Days of receipt of your order..
\r\n\r\n \r\nIn case of International shipments, customers may return any products that they have a size issue with if they are willing to bear the shipping costs. In case of damaged or defective products, International customers would need to send images of the product in its original packaging to support@abcclothing.com to claim a refund. Also, for damages and defects, the customer must notify ABC Clothing within 2 days of receiving the product.
\r\n\r\n \r\nIn case of any returns that are approved, the purchase amount will be refunded to the customer within 15 business days upon receipt of return package, deducting any applicable return-processing fee.
\r\n\r\n \r\nThe following mode of refund payments will be used: \r\n• If online payment, then amount will be refunded online.
\r\n\r\n \r\nAny requests for cancellation of orders placed should be made immediately by contacting support@abc clothing.com. If the order has been processed or shipped, the applicable order cancellation charges will be applied.
\r\n\r\n
\r\n', 1, 1, '2016-12-13 08:59:00', '2016-12-13 03:30:14', '2016-12-13 03:30:14');
-- --------------------------------------------------------
@@ -880,8 +835,8 @@ CREATE TABLE IF NOT EXISTS `kb_category` (
--
INSERT INTO `kb_category` (`id`, `name`, `slug`, `description`, `status`, `parent`, `created_at`, `updated_at`) VALUES
-(1, 'Issue Handeling', 'issue-handeling', 'These are the list of error handling issue.', 1, 0, '2016-11-30 00:00:34', '2016-11-30 00:00:34'),
-(2, 'Policy', 'policy', 'These are the policies defined by this organization.', 1, 0, '2016-11-30 00:01:29', '2016-11-30 00:01:29');
+(1, 'Issue Handeling', 'issue-handeling', 'These are the list of error handling issue.', 1, 0, '2016-12-13 03:23:54', '2016-12-13 03:23:54'),
+(2, 'Policy', 'policy', 'These are the policies defined by this organization.', 1, 0, '2016-12-13 03:24:38', '2016-12-13 03:24:38');
-- --------------------------------------------------------
@@ -940,7 +895,7 @@ CREATE TABLE IF NOT EXISTS `kb_settings` (
--
INSERT INTO `kb_settings` (`id`, `pagination`, `created_at`, `updated_at`) VALUES
-(1, 10, '2016-11-29 23:28:20', '2016-11-29 23:28:20');
+(1, 10, '2016-12-13 03:19:32', '2016-12-13 03:19:32');
-- --------------------------------------------------------
@@ -992,7 +947,7 @@ CREATE TABLE IF NOT EXISTS `login_attempts` (
--
INSERT INTO `login_attempts` (`id`, `User`, `IP`, `Attempts`, `LastLogin`, `created_at`, `updated_at`) VALUES
-(1, 'demo@admin.com', '::1', '2', '2016-11-30 05:56:00', '2016-11-29 23:28:47', '2016-11-29 23:28:47');
+(1, '', '', '', '0000-00-00 00:00:00', '2016-12-13 03:19:53', '2016-12-13 03:19:53');
-- --------------------------------------------------------
@@ -1013,7 +968,7 @@ CREATE TABLE IF NOT EXISTS `log_notification` (
--
INSERT INTO `log_notification` (`id`, `log`, `created_at`, `updated_at`) VALUES
-(1, 'NOT-1', '2016-11-29 23:28:16', '2016-11-29 23:28:16');
+(1, 'NOT-1', '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1058,12 +1013,12 @@ CREATE TABLE IF NOT EXISTS `mail_services` (
--
INSERT INTO `mail_services` (`id`, `name`, `short_name`, `created_at`, `updated_at`) VALUES
-(1, 'SMTP', 'smtp', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(2, 'Php Mail', 'mail', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(3, 'Send Mail', 'sendmail', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(4, 'Mailgun', 'mailgun', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(5, 'Mandrill', 'mandrill', '2016-11-29 23:27:50', '2016-11-29 23:27:50'),
-(6, 'Log file', 'log', '2016-11-29 23:27:50', '2016-11-29 23:27:50');
+(1, 'SMTP', 'smtp', '2016-12-13 03:19:08', '2016-12-13 03:19:08'),
+(2, 'Php Mail', 'mail', '2016-12-13 03:19:08', '2016-12-13 03:19:08'),
+(3, 'Send Mail', 'sendmail', '2016-12-13 03:19:08', '2016-12-13 03:19:08'),
+(4, 'Mailgun', 'mailgun', '2016-12-13 03:19:08', '2016-12-13 03:19:08'),
+(5, 'Mandrill', 'mandrill', '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(6, 'Log file', 'log', '2016-12-13 03:19:09', '2016-12-13 03:19:09');
-- --------------------------------------------------------
@@ -1178,8 +1133,7 @@ INSERT INTO `migrations` (`migration`, `batch`) VALUES
('2016_08_08_095744_create_social_media_table', 1),
('2016_08_12_104410_create_user_additional_infos_table', 1),
('2016_08_16_104539_alter_ticket_source_table', 1),
-('2016_08_31_223407_create_approval_table', 1),
-('2016_09_02_165516_create_follow_up_table', 1);
+('2016_11_30_122809_alter_attachment_table', 2);
-- --------------------------------------------------------
@@ -1195,19 +1149,20 @@ CREATE TABLE IF NOT EXISTS `notifications` (
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
--
-- Dumping data for table `notifications`
--
INSERT INTO `notifications` (`id`, `model_id`, `userid_created`, `type_id`, `created_at`, `updated_at`) VALUES
-(1, 1, 2, 3, '2016-11-30 00:16:00', '2016-11-30 00:16:00'),
-(2, 2, 2, 3, '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(3, 3, 3, 3, '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(4, 4, 3, 3, '2016-11-30 00:22:34', '2016-11-30 00:22:34'),
-(5, 5, 3, 3, '2016-11-30 00:25:06', '2016-11-30 00:25:06'),
-(6, 4, 1, 2, '2016-11-30 00:28:23', '2016-11-30 00:28:23');
+(1, 1, 4, 3, '2016-12-13 03:45:19', '2016-12-13 03:45:19'),
+(2, 2, 5, 3, '2016-12-13 03:50:56', '2016-12-13 03:50:56'),
+(3, 3, 6, 3, '2016-12-13 03:55:55', '2016-12-13 03:55:55'),
+(4, 4, 7, 3, '2016-12-13 03:58:40', '2016-12-13 03:58:40'),
+(5, 4, 1, 2, '2016-12-13 04:01:55', '2016-12-13 04:01:55'),
+(6, 5, 7, 3, '2016-12-13 04:02:49', '2016-12-13 04:02:49'),
+(7, 6, 5, 3, '2016-12-13 04:03:44', '2016-12-13 04:03:44');
-- --------------------------------------------------------
@@ -1230,9 +1185,9 @@ CREATE TABLE IF NOT EXISTS `notification_types` (
--
INSERT INTO `notification_types` (`id`, `message`, `type`, `icon_class`, `created_at`, `updated_at`) VALUES
-(1, 'A new user is registered', 'registration', 'fa fa-user', '2016-11-29 23:27:57', '2016-11-29 23:27:57'),
-(2, 'You have a new reply on this ticket', 'reply', 'fa fa-envelope', '2016-11-29 23:27:58', '2016-11-29 23:27:58'),
-(3, 'A new ticket has been created', 'new_ticket', 'fa fa-envelope', '2016-11-29 23:27:58', '2016-11-29 23:27:58');
+(1, 'A new user is registered', 'registration', 'fa fa-user', '2016-12-13 03:19:14', '2016-12-13 03:19:14'),
+(2, 'You have a new reply on this ticket', 'reply', 'fa fa-envelope', '2016-12-13 03:19:14', '2016-12-13 03:19:14'),
+(3, 'A new ticket has been created', 'new_ticket', 'fa fa-envelope', '2016-12-13 03:19:14', '2016-12-13 03:19:14');
-- --------------------------------------------------------
@@ -1305,12 +1260,12 @@ CREATE TABLE IF NOT EXISTS `queue_services` (
--
INSERT INTO `queue_services` (`id`, `name`, `short_name`, `status`, `created_at`, `updated_at`) VALUES
-(1, 'Sync', 'sync', 1, '2016-11-29 23:27:51', '2016-11-29 23:27:51'),
-(2, 'Database', 'database', 0, '2016-11-29 23:27:51', '2016-11-29 23:27:52'),
-(3, 'Beanstalkd', 'beanstalkd', 0, '2016-11-29 23:27:52', '2016-11-29 23:27:52'),
-(4, 'SQS', 'sqs', 0, '2016-11-29 23:27:52', '2016-11-29 23:27:52'),
-(5, 'Iron', 'iron', 0, '2016-11-29 23:27:52', '2016-11-29 23:27:52'),
-(6, 'Redis', 'redis', 0, '2016-11-29 23:27:52', '2016-11-29 23:27:52');
+(1, 'Sync', 'sync', 1, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(2, 'Database', 'database', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(3, 'Beanstalkd', 'beanstalkd', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(4, 'SQS', 'sqs', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(5, 'Iron', 'iron', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09'),
+(6, 'Redis', 'redis', 0, '2016-12-13 03:19:09', '2016-12-13 03:19:09');
-- --------------------------------------------------------
@@ -1336,8 +1291,8 @@ CREATE TABLE IF NOT EXISTS `ratings` (
--
INSERT INTO `ratings` (`id`, `name`, `display_order`, `allow_modification`, `rating_scale`, `rating_area`, `restrict`, `created_at`, `updated_at`) VALUES
-(1, 'OverAll Satisfaction', 1, 1, 5, 'Helpdesk Area', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46'),
-(2, 'Reply Rating', 1, 1, 5, 'Comment Area', '', '2016-11-29 23:28:46', '2016-11-29 23:28:46');
+(1, 'OverAll Satisfaction', 1, 1, 5, 'Helpdesk Area', '', '2016-12-13 03:19:53', '2016-12-13 03:19:53'),
+(2, 'Reply Rating', 1, 1, 5, 'Comment Area', '', '2016-12-13 03:19:53', '2016-12-13 03:19:53');
-- --------------------------------------------------------
@@ -1403,7 +1358,7 @@ CREATE TABLE IF NOT EXISTS `settings_alert_notice` (
--
INSERT INTO `settings_alert_notice` (`id`, `ticket_status`, `ticket_admin_email`, `ticket_department_manager`, `ticket_department_member`, `ticket_organization_accmanager`, `message_status`, `message_last_responder`, `message_assigned_agent`, `message_department_manager`, `message_organization_accmanager`, `internal_status`, `internal_last_responder`, `internal_assigned_agent`, `internal_department_manager`, `assignment_status`, `assignment_assigned_agent`, `assignment_team_leader`, `assignment_team_member`, `transfer_status`, `transfer_assigned_agent`, `transfer_department_manager`, `transfer_department_member`, `overdue_status`, `overdue_assigned_agent`, `overdue_department_manager`, `overdue_department_member`, `system_error`, `sql_error`, `excessive_failure`, `created_at`, `updated_at`) VALUES
-(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2016-11-29 23:28:16', '2016-11-29 23:28:16');
+(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1428,7 +1383,7 @@ CREATE TABLE IF NOT EXISTS `settings_auto_response` (
--
INSERT INTO `settings_auto_response` (`id`, `new_ticket`, `agent_new_ticket`, `submitter`, `participants`, `overlimit`, `created_at`, `updated_at`) VALUES
-(1, 1, 1, 0, 0, 0, '2016-11-29 23:28:16', '2016-11-29 23:28:16');
+(1, 1, 1, 0, 0, 0, '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1457,7 +1412,7 @@ CREATE TABLE IF NOT EXISTS `settings_company` (
--
INSERT INTO `settings_company` (`id`, `company_name`, `website`, `phone`, `address`, `landing_page`, `offline_page`, `thank_page`, `logo`, `use_logo`, `created_at`, `updated_at`) VALUES
-(1, 'ABC cloth Company', '', '', '', '', '', '', '2530.logo.png', '0', '2016-11-29 23:28:16', '2016-11-30 00:30:47');
+(1, 'ABC Clothing', '', '', '', '', '', '', '', '0', '2016-12-13 03:19:29', '2016-12-13 03:30:41');
-- --------------------------------------------------------
@@ -1489,7 +1444,7 @@ CREATE TABLE IF NOT EXISTS `settings_email` (
--
INSERT INTO `settings_email` (`id`, `template`, `sys_email`, `alert_email`, `admin_email`, `mta`, `email_fetching`, `notification_cron`, `strip`, `separator`, `all_emails`, `email_collaborator`, `attachment`, `created_at`, `updated_at`) VALUES
-(1, 'default', NULL, '', '', '', 1, 1, 0, 0, 1, 1, 1, '2016-11-29 23:28:16', '2016-11-29 23:28:16');
+(1, 'default', NULL, '', '', '', 1, 1, 0, 0, 1, 1, 1, '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1532,7 +1487,7 @@ CREATE TABLE IF NOT EXISTS `settings_security` (
--
INSERT INTO `settings_security` (`id`, `lockout_message`, `backlist_offender`, `backlist_threshold`, `lockout_period`, `days_to_keep_logs`, `created_at`, `updated_at`) VALUES
-(1, 'You have been locked out of application due to too many failed login attempts.', 0, 15, 15, 0, '2016-11-29 23:28:42', '2016-11-29 23:28:42');
+(1, 'You have been locked out of application due to too many failed login attempts.', 0, 15, 15, 0, '2016-12-13 03:19:47', '2016-12-13 03:19:47');
-- --------------------------------------------------------
@@ -1574,8 +1529,8 @@ CREATE TABLE IF NOT EXISTS `settings_system` (
--
INSERT INTO `settings_system` (`id`, `status`, `url`, `name`, `department`, `page_size`, `log_level`, `purge_log`, `api_enable`, `api_key_mandatory`, `api_key`, `name_format`, `time_farmat`, `date_format`, `date_time_format`, `day_date_time`, `time_zone`, `content`, `version`, `created_at`, `updated_at`) VALUES
-(1, 1, '', '', '1', '', '', '', 0, 0, '', '', NULL, NULL, 1, '', 32, '', '', '2016-11-29 23:28:16', '2016-11-29 23:28:16'),
-(2, 1, '', '', '1', '', '', '', 0, 0, '', '', NULL, NULL, 1, '', 79, '', '1.0.8.0', '2016-11-29 23:28:47', '2016-11-29 23:28:47');
+(1, 1, '', '', '1', '', '', '', 0, 0, '', '', NULL, NULL, 1, '', 32, '', '', '2016-12-13 03:19:29', '2016-12-13 03:19:29'),
+(2, 1, '', '', '1', '', '', '', 0, 0, '', '', NULL, NULL, 1, '', 79, '', '1.0.8.0', '2016-12-13 03:19:53', '2016-12-13 03:19:53');
-- --------------------------------------------------------
@@ -1612,7 +1567,7 @@ CREATE TABLE IF NOT EXISTS `settings_ticket` (
--
INSERT INTO `settings_ticket` (`id`, `num_format`, `num_sequence`, `priority`, `sla`, `help_topic`, `max_open_ticket`, `collision_avoid`, `lock_ticket_frequency`, `captcha`, `status`, `claim_response`, `assigned_ticket`, `answered_ticket`, `agent_mask`, `html`, `client_update`, `max_file_size`, `created_at`, `updated_at`) VALUES
-(1, '$$$$-####-####', 'sequence', '1', '2', '1', '', '2', '0', '', 1, 0, 0, 0, 0, 0, 0, 0, '2016-11-29 23:28:17', '2016-11-29 23:28:17');
+(1, '$$$$-####-####', 'sequence', '1', '2', '1', '', '2', '0', '', 1, 0, 0, 0, 0, 0, 0, 0, '2016-12-13 03:19:29', '2016-12-13 03:19:29');
-- --------------------------------------------------------
@@ -1638,9 +1593,9 @@ CREATE TABLE IF NOT EXISTS `sla_plan` (
--
INSERT INTO `sla_plan` (`id`, `name`, `grace_period`, `admin_note`, `status`, `transient`, `ticket_overdue`, `created_at`, `updated_at`) VALUES
-(1, 'Sla 1', '6 Hours', '', 1, 0, 0, '2016-11-29 23:28:11', '2016-11-29 23:28:11'),
-(2, 'Sla 2', '12 Hours', '', 1, 0, 0, '2016-11-29 23:28:11', '2016-11-29 23:28:11'),
-(3, 'Sla 3', '24 Hours', '', 1, 0, 0, '2016-11-29 23:28:12', '2016-11-29 23:28:12');
+(1, 'Sla 1', '6 Hours', '', 1, 0, 0, '2016-12-13 03:19:25', '2016-12-13 03:19:25'),
+(2, 'Sla 2', '12 Hours', '', 1, 0, 0, '2016-12-13 03:19:25', '2016-12-13 03:19:25'),
+(3, 'Sla 3', '24 Hours', '', 1, 0, 0, '2016-12-13 03:19:25', '2016-12-13 03:19:25');
-- --------------------------------------------------------
@@ -1682,9 +1637,9 @@ CREATE TABLE IF NOT EXISTS `teams` (
--
INSERT INTO `teams` (`id`, `name`, `status`, `team_lead`, `assign_alert`, `admin_notes`, `created_at`, `updated_at`) VALUES
-(1, 'Level 1 Support', 1, NULL, 0, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14'),
-(2, 'Level 2 Support', 0, NULL, 0, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14'),
-(3, 'Developer', 0, NULL, 0, '', '2016-11-29 23:28:14', '2016-11-29 23:28:14');
+(1, 'Level 1 Support', 1, NULL, 0, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(2, 'Level 2 Support', 0, NULL, 0, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27'),
+(3, 'Developer', 0, NULL, 0, '', '2016-12-13 03:19:27', '2016-12-13 03:19:27');
-- --------------------------------------------------------
@@ -1701,16 +1656,15 @@ CREATE TABLE IF NOT EXISTS `team_assign_agent` (
PRIMARY KEY (`id`),
KEY `team_id` (`team_id`),
KEY `agent_id` (`agent_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Dumping data for table `team_assign_agent`
--
INSERT INTO `team_assign_agent` (`id`, `team_id`, `agent_id`, `created_at`, `updated_at`) VALUES
-(1, 1, 4, NULL, NULL),
-(2, 1, 5, NULL, NULL),
-(3, 2, 5, NULL, NULL);
+(1, 1, 2, NULL, NULL),
+(2, 1, 3, NULL, NULL);
-- --------------------------------------------------------
@@ -1755,19 +1709,19 @@ CREATE TABLE IF NOT EXISTS `templates` (
--
INSERT INTO `templates` (`id`, `name`, `variable`, `type`, `subject`, `message`, `description`, `set_id`, `created_at`, `updated_at`) VALUES
-(1, 'This template is for sending notice to agent when ticket is assigned to them', '0', 1, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to you by {!!$ticket_assigner!!} Please check and resppond on the ticket. Link: {!!$ticket_link!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(2, 'This template is for sending notice to client with ticket link to check ticket without logging in to system', '1', 2, 'Check your Ticket', 'Hello {!!$user!!}, Click the link below to view your requested ticket {!!$ticket_link_with_number!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(3, 'This template is for sending notice to client when ticket status is changed to close', '0', 3, '', 'Hello, This message is regarding your ticket ID {!!$ticket_number!!}. We are changing the status of this ticket to "Closed" as the issue appears to be resolved. Thank you Kind regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(4, 'This template is for sending notice to client on successful ticket creation', '0', 4, '', 'Hello {!!$user!!} Thank you for contacting us. This is an automated response confirming the receipt of your ticket. Our team will get back to you as soon as possible. When replying, please make sure that the ticket ID is kept in the subject so that we can track your replies. Ticket ID: {!!$ticket_number!!} {!!$department_sign!!} You can check the status of or update this ticket online at: {!!$system_link!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(5, 'This template is for sending notice to agent on new ticket creation', '0', 5, '', 'Hello {!!$ticket_agent_name!!}, New ticket {!!$ticket_number!!}created From Name: {!!$ticket_client_name!!} E-mail: {!!$ticket_client_email!!} {!!$content!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:44', '2016-11-29 23:28:44'),
-(6, 'This template is for sending notice to client on new ticket created by agent in name of client', '0', 6, '', ' {!!$content!!} {!!$agent_sign!!} You can check the status of or update this ticket online at: {!!$system_link!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(7, 'This template is for sending notice to client on new registration during new ticket creation for un registered clients', '1', 7, 'Registration Confirmation', 'Hello {!!$user!!},
This email is confirmation that you are now registered at our helpdesk.
Registered Email: {!!$email_address!!}
Password: {!!$user_password!!}
You can visit the helpdesk to browse articles and contact us at any time: {!!$system_link!!}
Thank You.
Kind Regards,
{!!$system_from!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(8, 'This template is for sending notice to any user about reset password option', '1', 8, 'Reset your Password', 'Hello {!!$user!!}, You asked to reset your password. To do so, please click this link: {!!$password_reset_link!!} This will let you change your password to something new. If you didn''t ask for this, don''t worry, we''ll keep your password safe. Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(9, 'This template is for sending notice to client when a reply made to his/her ticket', '0', 9, '', ' {!!$content!!}
{!!$agent_sign!!}
Ticket Details
Ticket ID: {!!$ticket_number!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(10, 'This template is for sending notice to agent when ticket reply is made by client on a ticket', '0', 10, '', 'Hello {!!$ticket_agent_name!!}, A reply been made to ticket {!!$ticket_number!!}From Name: {!!$ticket_client_name!!}E-mail: {!!$ticket_client_email!!} {!!$content!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(11, 'This template is for sending notice to client about registration confirmation link', '1', 11, 'Verify your email address', 'Hello {!!$user!!},
This email is confirmation that you are now registered at our helpdesk.
Registered Email: {!!$email_address!!}
Please click on the below link to activate your account and Login to the system {!!$password_reset_link!!}
Thank You.
Kind Regards,
{!!$system_from!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(12, 'This template is for sending notice to team when ticket is assigned to team', '1', 12, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-11-29 23:28:45', '2016-11-29 23:28:45'),
-(13, 'This template is for sending notice to client when password is changed', '1', 13, 'Verify your email address', 'Hello {!!$user!!}, Your password is successfully changed.Your new password is : {!!$user_password!!} Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-11-29 23:28:46', '2016-11-29 23:28:46');
+(1, 'This template is for sending notice to agent when ticket is assigned to them', '0', 1, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to you by {!!$ticket_assigner!!} Please check and resppond on the ticket. Link: {!!$ticket_link!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:50', '2016-12-13 03:19:50'),
+(2, 'This template is for sending notice to client with ticket link to check ticket without logging in to system', '1', 2, 'Check your Ticket', 'Hello {!!$user!!}, Click the link below to view your requested ticket {!!$ticket_link_with_number!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:50', '2016-12-13 03:19:50'),
+(3, 'This template is for sending notice to client when ticket status is changed to close', '0', 3, '', 'Hello, This message is regarding your ticket ID {!!$ticket_number!!}. We are changing the status of this ticket to "Closed" as the issue appears to be resolved. Thank you Kind regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:50', '2016-12-13 03:19:50'),
+(4, 'This template is for sending notice to client on successful ticket creation', '0', 4, '', 'Hello {!!$user!!} Thank you for contacting us. This is an automated response confirming the receipt of your ticket. Our team will get back to you as soon as possible. When replying, please make sure that the ticket ID is kept in the subject so that we can track your replies. Ticket ID: {!!$ticket_number!!} {!!$department_sign!!} You can check the status of or update this ticket online at: {!!$system_link!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(5, 'This template is for sending notice to agent on new ticket creation', '0', 5, '', 'Hello {!!$ticket_agent_name!!}, New ticket {!!$ticket_number!!}created From Name: {!!$ticket_client_name!!} E-mail: {!!$ticket_client_email!!} {!!$content!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(6, 'This template is for sending notice to client on new ticket created by agent in name of client', '0', 6, '', ' {!!$content!!} {!!$agent_sign!!} You can check the status of or update this ticket online at: {!!$system_link!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(7, 'This template is for sending notice to client on new registration during new ticket creation for un registered clients', '1', 7, 'Registration Confirmation', 'Hello {!!$user!!},
This email is confirmation that you are now registered at our helpdesk.
Registered Email: {!!$email_address!!}
Password: {!!$user_password!!}
You can visit the helpdesk to browse articles and contact us at any time: {!!$system_link!!}
Thank You.
Kind Regards,
{!!$system_from!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(8, 'This template is for sending notice to any user about reset password option', '1', 8, 'Reset your Password', 'Hello {!!$user!!}, You asked to reset your password. To do so, please click this link: {!!$password_reset_link!!} This will let you change your password to something new. If you didn''t ask for this, don''t worry, we''ll keep your password safe. Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(9, 'This template is for sending notice to client when a reply made to his/her ticket', '0', 9, '', ' {!!$content!!}
{!!$agent_sign!!}
Ticket Details
Ticket ID: {!!$ticket_number!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(10, 'This template is for sending notice to agent when ticket reply is made by client on a ticket', '0', 10, '', 'Hello {!!$ticket_agent_name!!}, A reply been made to ticket {!!$ticket_number!!}From Name: {!!$ticket_client_name!!}E-mail: {!!$ticket_client_email!!} {!!$content!!} Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:51', '2016-12-13 03:19:51'),
+(11, 'This template is for sending notice to client about registration confirmation link', '1', 11, 'Verify your email address', 'Hello {!!$user!!},
This email is confirmation that you are now registered at our helpdesk.
Registered Email: {!!$email_address!!}
Please click on the below link to activate your account and Login to the system {!!$password_reset_link!!}
Thank You.
Kind Regards,
{!!$system_from!!}
', '', 1, '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(12, 'This template is for sending notice to team when ticket is assigned to team', '1', 12, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-12-13 03:19:52', '2016-12-13 03:19:52'),
+(13, 'This template is for sending notice to client when password is changed', '1', 13, 'Verify your email address', 'Hello {!!$user!!}, Your password is successfully changed.Your new password is : {!!$user_password!!} Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-12-13 03:19:52', '2016-12-13 03:19:52');
-- --------------------------------------------------------
@@ -1789,7 +1743,7 @@ CREATE TABLE IF NOT EXISTS `template_sets` (
--
INSERT INTO `template_sets` (`id`, `name`, `active`, `created_at`, `updated_at`) VALUES
-(1, 'default', 1, '2016-11-29 23:28:42', '2016-11-29 23:28:42');
+(1, 'default', 1, '2016-12-13 03:19:47', '2016-12-13 03:19:47');
-- --------------------------------------------------------
@@ -1810,19 +1764,19 @@ CREATE TABLE IF NOT EXISTS `template_types` (
--
INSERT INTO `template_types` (`id`, `name`, `created_at`, `updated_at`) VALUES
-(1, 'assign-ticket', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(2, 'check-ticket', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(3, 'close-ticket', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(4, 'create-ticket', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(5, 'create-ticket-agent', '2016-11-29 23:28:42', '2016-11-29 23:28:42'),
-(6, 'create-ticket-by-agent', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(7, 'registration-notification', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(8, 'reset-password', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(9, 'ticket-reply', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(10, 'ticket-reply-agent', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(11, 'registration', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(12, 'team_assign_ticket', '2016-11-29 23:28:43', '2016-11-29 23:28:43'),
-(13, 'reset_new_password', '2016-11-29 23:28:43', '2016-11-29 23:28:43');
+(1, 'assign-ticket', '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(2, 'check-ticket', '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(3, 'close-ticket', '2016-12-13 03:19:47', '2016-12-13 03:19:47'),
+(4, 'create-ticket', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(5, 'create-ticket-agent', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(6, 'create-ticket-by-agent', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(7, 'registration-notification', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(8, 'reset-password', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(9, 'ticket-reply', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(10, 'ticket-reply-agent', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(11, 'registration', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(12, 'team_assign_ticket', '2016-12-13 03:19:48', '2016-12-13 03:19:48'),
+(13, 'reset_new_password', '2016-12-13 03:19:48', '2016-12-13 03:19:48');
-- --------------------------------------------------------
@@ -1875,18 +1829,19 @@ CREATE TABLE IF NOT EXISTS `tickets` (
KEY `status` (`status`),
KEY `assigned_to` (`assigned_to`),
KEY `source` (`source`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
--
-- Dumping data for table `tickets`
--
INSERT INTO `tickets` (`id`, `ticket_number`, `user_id`, `dept_id`, `team_id`, `priority_id`, `sla`, `help_topic_id`, `status`, `rating`, `ratingreply`, `flags`, `ip_address`, `assigned_to`, `lock_by`, `lock_at`, `source`, `isoverdue`, `reopened`, `isanswered`, `html`, `is_deleted`, `closed`, `is_transferred`, `transferred_at`, `reopened_at`, `duedate`, `closed_at`, `last_message_at`, `last_response_at`, `approval`, `follow_up`, `created_at`, `updated_at`) VALUES
-(1, 'AAAA-0000-0000', 2, 1, NULL, 1, 1, 1, 1, 0, 0, 0, 0, 4, 0, NULL, 3, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:46:00', NULL, NULL, NULL, 0, 0, '2016-11-30 00:16:00', '2016-11-30 00:29:01'),
-(2, 'AAAA-0000-0001', 2, 1, NULL, 1, 1, 1, 1, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:47:29', NULL, NULL, NULL, 0, 0, '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(3, 'AAAA-0000-0002', 3, 1, NULL, 1, 1, 1, 1, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:49:15', NULL, NULL, NULL, 0, 0, '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(4, 'AAAA-0000-0003', 3, 2, NULL, 1, 1, 2, 1, 0, 0, 0, 0, 1, 0, NULL, 3, 0, 0, 1, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:52:34', NULL, NULL, NULL, 0, 0, '2016-11-30 00:22:34', '2016-11-30 00:28:23'),
-(5, 'AAAA-0000-0004', 3, 1, NULL, 1, 1, 1, 5, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 1, 0, 0, '0000-00-00 00:00:00', NULL, '2016-11-30 11:55:06', NULL, NULL, NULL, 0, 0, '2016-11-30 00:25:06', '2016-11-30 00:26:59');
+(1, 'AAAA-0000-0000', 4, 1, NULL, 2, 2, 1, 1, 0, 0, 0, 0, NULL, 0, NULL, 1, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 21:15:19', NULL, NULL, NULL, 0, 0, '2016-12-13 03:45:19', '2016-12-13 03:45:19'),
+(2, 'AAAA-0000-0001', 5, 1, NULL, 2, 2, 1, 1, 0, 0, 0, 0, NULL, 0, NULL, 1, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 21:20:55', NULL, NULL, NULL, 0, 0, '2016-12-13 03:50:55', '2016-12-13 03:50:56'),
+(3, 'AAAA-0000-0002', 6, 1, NULL, 2, 2, 1, 1, 0, 0, 0, 0, 3, 0, NULL, 1, 0, 0, 0, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 21:25:55', NULL, NULL, NULL, 0, 0, '2016-12-13 03:55:55', '2016-12-13 04:00:23'),
+(4, 'AAAA-0000-0003', 7, 1, NULL, 2, 2, 1, 1, 0, 0, 0, 0, 1, 0, NULL, 1, 0, 0, 1, 0, 0, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 21:28:40', NULL, NULL, NULL, 0, 0, '2016-12-13 03:58:40', '2016-12-13 04:01:55'),
+(5, 'AAAA-0000-0004', 7, 1, NULL, 1, 1, 1, 5, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 1, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 15:32:48', NULL, NULL, NULL, 0, 0, '2016-12-13 04:02:48', '2016-12-13 04:04:04'),
+(6, 'AAAA-0000-0005', 5, 1, NULL, 1, 1, 1, 5, 0, 0, 0, 0, NULL, 0, NULL, 3, 0, 0, 0, 0, 1, 0, 0, '0000-00-00 00:00:00', NULL, '2016-12-13 15:33:44', NULL, NULL, NULL, 0, 0, '2016-12-13 04:03:44', '2016-12-13 04:04:04');
-- --------------------------------------------------------
@@ -1904,6 +1859,8 @@ CREATE TABLE IF NOT EXISTS `ticket_attachment` (
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`file` mediumblob,
+ `driver` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `path` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `thread_id` (`thread_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
@@ -1969,10 +1926,10 @@ CREATE TABLE IF NOT EXISTS `ticket_priority` (
--
INSERT INTO `ticket_priority` (`priority_id`, `priority`, `status`, `priority_desc`, `priority_color`, `priority_urgency`, `ispublic`, `is_default`, `created_at`, `updated_at`) VALUES
-(1, 'Low', '1', 'Low', '#00a65a', 4, 1, '0', NULL, NULL),
+(1, 'Low', '1', 'Low', '#00a65a', 4, 1, '', NULL, NULL),
(2, 'Normal', '1', 'Normal', '#00bfef', 3, 1, '1', NULL, NULL),
-(3, 'High', '1', 'High', '#f39c11', 2, 1, '0', NULL, NULL),
-(4, 'Emergency', '1', 'Emergency', '#dd4b38', 1, 1, '0', NULL, NULL);
+(3, 'High', '1', 'High', '#f39c11', 2, 1, '', NULL, NULL),
+(4, 'Emergency', '1', 'Emergency', '#dd4b38', 1, 1, '', NULL, NULL);
-- --------------------------------------------------------
@@ -2031,13 +1988,13 @@ CREATE TABLE IF NOT EXISTS `ticket_status` (
--
INSERT INTO `ticket_status` (`id`, `name`, `state`, `mode`, `message`, `flags`, `sort`, `email_user`, `icon_class`, `properties`, `created_at`, `updated_at`) VALUES
-(1, 'Open', 'open', 3, 'Ticket have been Reopened by', 0, 1, 0, '', 'Open tickets.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(2, 'Resolved', 'closed', 1, 'Ticket have been Resolved by', 0, 2, 0, '', 'Resolved tickets.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(3, 'Closed', 'closed', 3, 'Ticket have been Closed by', 0, 3, 0, '', 'Closed tickets. Tickets will still be accessible on client and staff panels.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(4, 'Archived', 'archived', 3, 'Ticket have been Archived by', 0, 4, 0, '', 'Tickets only adminstratively available but no longer accessible on ticket queues and client panel.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(5, 'Deleted', 'deleted', 3, 'Ticket have been Deleted by', 0, 5, 0, '', 'Tickets queued for deletion. Not accessible on ticket queues.', '2016-11-29 23:28:10', '2016-11-29 23:28:10'),
-(6, 'Unverified', 'unverified', 3, 'User account verification required.', 0, 6, 0, '', 'Ticket will be open after user verifies his/her account.', '2016-11-29 23:28:11', '2016-11-29 23:28:11'),
-(7, 'Request Approval', 'unverified', 3, 'Approval requested by', 0, 7, 0, '', 'Ticket will be approve after Admin verifies this ticket', '2016-11-29 23:28:11', '2016-11-29 23:28:11');
+(1, 'Open', 'open', 3, 'Ticket have been Reopened by', 0, 1, 0, '', 'Open tickets.', '2016-12-13 03:19:23', '2016-12-13 03:19:23'),
+(2, 'Resolved', 'closed', 1, 'Ticket have been Resolved by', 0, 2, 0, '', 'Resolved tickets.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(3, 'Closed', 'closed', 3, 'Ticket have been Closed by', 0, 3, 0, '', 'Closed tickets. Tickets will still be accessible on client and staff panels.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(4, 'Archived', 'archived', 3, 'Ticket have been Archived by', 0, 4, 0, '', 'Tickets only adminstratively available but no longer accessible on ticket queues and client panel.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(5, 'Deleted', 'deleted', 3, 'Ticket have been Deleted by', 0, 5, 0, '', 'Tickets queued for deletion. Not accessible on ticket queues.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(6, 'Unverified', 'unverified', 3, 'User account verification required.', 0, 6, 0, '', 'Ticket will be open after user verifies his/her account.', '2016-12-13 03:19:24', '2016-12-13 03:19:24'),
+(7, 'Request Approval', 'unverified', 3, 'Approval requested by', 0, 7, 0, '', 'Ticket will be approve after Admin verifies this ticket', '2016-12-13 03:19:24', '2016-12-13 03:19:24');
-- --------------------------------------------------------
@@ -2064,22 +2021,24 @@ CREATE TABLE IF NOT EXISTS `ticket_thread` (
KEY `ticket_id_2` (`ticket_id`),
KEY `user_id` (`user_id`),
KEY `source` (`source`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=10 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=12 ;
--
-- Dumping data for table `ticket_thread`
--
INSERT INTO `ticket_thread` (`id`, `ticket_id`, `user_id`, `poster`, `source`, `reply_rating`, `rating_count`, `is_internal`, `title`, `body`, `format`, `ip_address`, `created_at`, `updated_at`) VALUES
-(1, 1, 2, 'client', NULL, 0, 0, 0, 'Sizing defects ', 0x506c6561736520636865636b2073697a65206f662073686972742e, '', '', '2016-11-30 00:16:00', '2016-11-30 00:16:00'),
-(2, 2, 2, 'client', NULL, 0, 0, 0, 'Colour effects', 0x4869207465616d2c3c62723e3c62723e49206d20676f742077726f6e6720636f6c6f7220706c656173652072657475726e206d79206f726465722e3c62723e3c62723e3c62723e3c62723e, '', '', '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(3, 3, 3, 'client', NULL, 0, 0, 0, 'Sewing defects', 0x746869732069732064656665637420636c6f74687320706c6561736520636865636b20616e642073656e64206d6520616761696e2e, '', '', '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(4, 4, 3, 'client', NULL, 0, 0, 0, 'Garment defects', 0x4869207465616d2c3c62723e3c62723e492077616e7420746f2072657475726e206d79206361736820626563617573652069206d206e6f74207361746973667920776974682073616c652e3c62723e3c62723e3c62723e3c62723e3c62723e3c62723e3c62723e, '', '', '2016-11-30 00:22:34', '2016-11-30 00:22:34'),
-(5, 5, 3, 'client', NULL, 0, 0, 0, 'Return my cash', 0x4869205465616d2c3c62723e3c62723e4920676f742064616d61676520636c6f746820706c656173652072657475726e206d79206361736820415341502e3c62723e3c62723e3c62723e, '', '', '2016-11-30 00:25:06', '2016-11-30 00:25:06'),
-(6, 5, 1, '', NULL, 0, 0, 1, '', 0x5469636b65742068617665206265656e2044656c657465642062792044656d6f61646d696e20466176656f, '', '', '2016-11-30 00:26:59', '2016-11-30 00:26:59'),
-(7, 4, 1, '', NULL, 0, 0, 1, '', 0x54686973205469636b65742068617665206265656e2061737369676e656420746f2044656d6f61646d696e20466176656f, '', '', '2016-11-30 00:28:23', '2016-11-30 00:28:23'),
-(8, 4, 1, 'support', NULL, 0, 0, 0, '', 0x486920636c616469612c3c62723e3c62723e417320736f6f6e20617320706f737369626c652077652077696c6c2072657475726e20796f757220636173682e3c62723e3c62723e, '', '', '2016-11-30 00:28:23', '2016-11-30 00:28:23'),
-(9, 1, 1, '', NULL, 0, 0, 1, '', 0x54686973205469636b657420686173206265656e2061737369676e656420746f204a6f686e20706174656c, '', '', '2016-11-30 00:29:01', '2016-11-30 00:29:01');
+(1, 1, 4, 'client', NULL, 0, 0, 0, 'Sewing defects', 0x466f7220657665727920696e647573747279206f7220627573696e6573732c20746f2067657420696e63726561736564200d0a73616c657320616e640d0a626574746572206e616d6520616d6f6e67737420636f6e73756d65727320616e642066656c6c6f7720636f6d70616e69657320697420697320696d706f7274616e7420746f200d0a6d61696e7461696e0d0a61206c6576656c206f66207175616c6974792e20496e20746865206761726d656e7420696e647573747279207175616c69747920636f6e74726f6c206973207072616374696365640d0a2072696768742066726f6d2074686520696e697469616c207374616765206f6620736f757263696e6720726177206d6174657269616c7320746f20746865207374616765206f66200d0a66696e616c2066696e69736865640d0a6761726d656e742e20466f722074657874696c6520616e64206170706172656c20696e6475737472792070726f64756374207175616c6974792069732063616c63756c61746564200d0a696e0d0a7465726d73206f66207175616c69747920616e64207374616e64617264206f66206669627265732c207961726e732c2066616272696320636f6e737472756374696f6e2c200d0a636f6c6f75720d0a666173746e6573732c20737572666163652064657369676e7320616e64207468652066696e616c2066696e6973686564206761726d656e742070726f64756374732e200d0a486f77657665720d0a7175616c697479206578706563746174696f6e7320666f72206578706f7274206172652072656c6174656420746f207468652074797065206f6620637573746f6d6572200d0a7365676d656e74730d0a616e64207468652072657461696c206f75746c6574732e205468657265206172652061206e756d626572206f6620666163746f7273206f6e207768696368207175616c697479200d0a6669746e6573730d0a6f66206761726d656e7420696e64757374727920697320626173656420737563682061732020706572666f726d616e63652c2072656c696162696c6974792c200d0a6475726162696c6974792c0d0a76697375616c20616e6420706572636569766564207175616c697479206f6620746865206761726d656e742e205175616c697479206e6565647320746f20626520646566696e65640d0a20696e0d0a7465726d73206f66206120706172746963756c6172206672616d65776f726b206f6620636f73742e203c62723e, '', '', '2016-12-13 03:45:19', '2016-12-13 03:45:19'),
+(2, 2, 5, 'client', NULL, 0, 0, 0, 'Delivery not recieved', 0x3c7370616e3e556e666f7274756e6174656c792c206966206120747261636b696e670d0a206e756d6265722073686f77732064656c69766572792c20796f7572206f6e6c79207265636f75727365206973207468726f7567682074686520736869707065722e2020496e200d0a6f7468657220776f7264732c20696620746865205553505320747261636b696e6720736974652073686f77732064656c69766572792c20616e6420796f7520686176656e2774200d0a61637475616c6c792072656365697665642069742c20796f75722070726f626c656d206c69657320776974682074686520555350532c20616e64206e6f7420746865200d0a73656c6c65722e223c62723e3c62723e5468697320686173206e657665722068617070656e656420746f206d652c206275742074686520696465610d0a20746861742074686520627579657220697320736f6d65686f7720726573706f6e7369626c6520666f722074686520636172726965722074686174207468652053454c4c4552200d0a68617320636f6d6d697373696f6e6564206973206c6175676861626c652e205468652073656c6c657220686173206120636f6e747261637475616c2061677265656d656e74200d0a776974682074686520736869707065722c206d616e792074696d65732074686520627579657220646f65736e2774206576656e206861766520746865206f7074696f6e20746f200d0a73706563696679207468652073686970706572207573656420666f722064656c69766572792e20496620746865206974656d204920707572636861736564206e65766572200d0a72656163686573206d7920686f6d653c2f7370616e3e3c62723e, '', '', '2016-12-13 03:50:56', '2016-12-13 03:50:56'),
+(3, 3, 6, 'client', NULL, 0, 0, 0, 'Colour effects', 0x492068617665206265656e2073656c656374656420666f72206170706f696e746d656e7420746f2074686520496e6469616e20466f7265737420536572766963652e200d0a42757420746865206d65646963616c20626f6172642068617320666f756e64206d6520756e666974206f6e206163636f756e74206f662064656665637469766520636f6c6f7572200d0a766973696f6e2e0d0a0d0a3c703e4163636f7264696e6720746f207468652072756c65732c20224c6f77204772616465202220636f6c6f757220766973696f6e2069732073756666696369656e7420666f72200d0a74686520736572766963652e204920776f756c64206c696b6520746f206b6e6f7720686f7720636f6c6f757220766973696f6e2063616e20626520677261646564206173206c6f770d0a206f7220686967682e20492063616e20636f72726563746c79206964656e74696679203238206f7574206f6620333820497368696861726120706c617465732e20556e646572200d0a6c6f776572206c6967687420696e74656e736974792c20492063616e206964656e74696679206120666577206d6f726520706c617465732e20506c656173652067697665200d0a796f757220636f6d6d656e74206f6e20746869732e20416c736f20706c65617365206c6574206d65206b6e6f772061626f757420746865204564726964676520477265656e200d0a4c616e7465726e207465737420616e642074686520636f6c6f75727320696e20746865206c616e7465726e2e2054686520626f617264206861732063616c6c6564206d6520666f720d0a20612072652d6578616d696e6174696f6e202e20506c6561736520616476697365206d6520686f7720746f20666163652069742e3c2f703e3c62723e, '', '', '2016-12-13 03:55:55', '2016-12-13 03:55:55'),
+(4, 4, 7, 'client', NULL, 0, 0, 0, 'Garment defects', 0x536f6d65207061727473206f66207061747465726e20617265206d697373696e672c2070726f6261626c7920626563617573650d0a207468650d0a6d61726b657220646964206e6f7420696e636c7564652074686520636f7272656374206e756d626572206f662070617274732e204d697865642070617274732c200d0a70726f6261626c79206265636175736520746865206d61726b6572206973206e6f7420636f72726563746c79206c6162656c65642c20726573756c74696e6720696e2061200d0a6d61727269616765206f662077726f6e672073697a65640d0a70617274732e205061747465726e73206e6f7420666163696e6720696e20636f727265637420646972656374696f6e206f6e206e617070656420666162726963732e204e6f74200d0a616c6c0d0a7061747465726e7320666163696e6720696e2073616d6520646972656374696f6e20286569746865722077617929206f6e2061206f6e652d776179206661627269632e200d0a5061747465726e730d0a6e6f7420616c69676e65642077697468207265737065637420746f207468652066616272696320677261696e2e20506f6f72206c696e6520646566696e6974696f6e2028652e672e0d0a20746f6f0d0a746869636b206368616c6b3b20696e64697374696e63746c79207072696e746564206c696e652c20706572666f7261746564206c6179206e6f7420706f77646572656429200d0a6c656164696e6720746f0d0a696e61636375726174652063757474696e672e20536b696d7079206d61726b696e672c206361757365642062792065697468657220746865206d61726b657220646964206e6f74200d0a757365207468650d0a6f7574736964652065646765206f6620746865207061747465726e3b206f7220746865207061747465726e20776173206d6f766564206f72207377756e67206166746572200d0a7061727469616c0d0a6d61726b696e6720746f2073717565657a6520746865207061747465726e20696e746f206120736d616c6c657220737061636520666f722065636f6e6f6d697a696e6720746865200d0a6661627269632e0d0a4d61726b696e67206261636b2066726f6d206d696e696174757265206d61726b65727320616c736f2063616e2063617573652074726f75626c6520756e6c65737320746865200d0a6d696e6961747572650d0a6d61726b6572206d616b696e6720697320696e207468652068616e6473206f6620657870657269656e636564206f70657261746f72732e20416c7465726e61746976656c79200d0a7468652066756c6c0d0a73697a65207061747465726e206d617920626520686176696e6720776f726e206f75742065646765732e3c62723e, '', '', '2016-12-13 03:58:40', '2016-12-13 03:58:40'),
+(5, 4, 1, '', NULL, 0, 0, 1, '', 0x54686973205469636b657420686173206265656e2061737369676e656420746f2044656d6f2061646d696e, '', '', '2016-12-13 04:00:04', '2016-12-13 04:00:04'),
+(6, 3, 1, '', NULL, 0, 0, 1, '', 0x54686973205469636b657420686173206265656e2061737369676e656420746f204a6f68616e204d616c686f747261, '', '', '2016-12-13 04:00:23', '2016-12-13 04:00:23'),
+(7, 4, 1, 'support', NULL, 0, 0, 0, '', 0x3c703e4869204b757374692c3c2f703e0d0a0d0a3c703e4c6574206d6520636865636b20616e642063616c6c206261636b20796f753c2f703e0d0a0d0a3c703e5468616e6b20596f753c2f703e0d0a, '', '', '2016-12-13 04:01:55', '2016-12-13 04:01:55'),
+(8, 5, 7, 'client', NULL, 0, 0, 0, 'test ticket', 0x746869732069732074657374207469636b6574202e2e2e63766376637663, '', '', '2016-12-13 04:02:48', '2016-12-13 04:02:48'),
+(9, 6, 5, 'client', NULL, 0, 0, 0, 'Mail test ticket', 0x506c6561736520746869732069732074657374207469636b65742e, '', '', '2016-12-13 04:03:44', '2016-12-13 04:03:44'),
+(10, 6, 1, '', NULL, 0, 0, 1, '', 0x5469636b65742068617665206265656e2044656c657465642062792044656d6f2061646d696e, '', '', '2016-12-13 04:04:04', '2016-12-13 04:04:04'),
+(11, 5, 1, '', NULL, 0, 0, 1, '', 0x5469636b65742068617665206265656e2044656c657465642062792044656d6f2061646d696e, '', '', '2016-12-13 04:04:04', '2016-12-13 04:04:04');
-- --------------------------------------------------------
@@ -2264,6 +2223,7 @@ CREATE TABLE IF NOT EXISTS `users` (
`ban` tinyint(1) NOT NULL,
`password` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`active` int(11) NOT NULL,
+ `is_delete` tinyint(1) NOT NULL DEFAULT '0',
`ext` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`country_code` int(11) NOT NULL,
`phone_number` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
@@ -2290,18 +2250,20 @@ CREATE TABLE IF NOT EXISTS `users` (
UNIQUE KEY `users_mobile_unique` (`mobile`),
KEY `assign_group_3` (`assign_group`),
KEY `primary_dpt_2` (`primary_dpt`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
--
-- Dumping data for table `users`
--
-INSERT INTO `users` (`id`, `user_name`, `first_name`, `last_name`, `gender`, `email`, `ban`, `password`, `active`, `ext`, `country_code`, `phone_number`, `mobile`, `agent_sign`, `account_type`, `account_status`, `assign_group`, `primary_dpt`, `agent_tzone`, `daylight_save`, `limit_access`, `directory_listing`, `vacation_mode`, `company`, `role`, `internal_note`, `profile_pic`, `remember_token`, `created_at`, `updated_at`) VALUES
-(1, 'demo@admin.com', 'Demoadmin', 'Faveo', 0, 'demo@admin.com', 0, '$2y$10$ewEDeTT7ax5u6lCcCrJL6OClWB6Eo/6GbeJY8MMrJZCjvsbJI84XS', 1, '', 0, '', NULL, '', '', '', 1, 1, '', '', '', '', '', '', 'admin', '', '', 'oFeQJKpu1OlZveLPEghCRlF925TutWTkj5TNoX5jIzjkVzVYNAHC9TtCP1Kr', '2016-11-29 23:28:47', '2016-11-30 00:31:09'),
-(2, 'jalafa', 'Jalafa', 'kk', 0, 'jalafa@gmail.com', 0, '$2y$10$F26IyAQOJIzjBs4p0j5K7ugSDDxT2dRSqbAeC8d0CdCG/pwN64qVq', 1, '', 91, '', '9285631230', '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', NULL, '2016-11-29 23:37:34', '2016-11-29 23:37:34'),
-(3, 'cladia', 'Cladia', 'Singh', 0, 'cladia@yahoo.com', 0, '$2y$10$MXupcdivLoWZuNnVeHHTHOQSMF11iXkhY7AvToYiF2/PMutrilJce', 1, '', 91, '', '7865236524', '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', NULL, '2016-11-29 23:39:51', '2016-11-29 23:39:51'),
-(4, 'John', 'John', 'patel', 0, 'john@gmail.com', 0, '$2y$10$H5jyw8QbTdu11Rezoe8kUexS5pP6GHIhJUOQRL8jLRriaOAtfSONm', 1, '', 91, '', '6983524178', '', '', '', 1, 1, '79', '', '', '', '', '', 'agent', '', '', NULL, '2016-11-29 23:43:01', '2016-11-29 23:43:02'),
-(5, 'Baladdin', 'Baladin', 'khan', 0, 'baladdin@gmail.com', 0, '$2y$10$0iz73EdhcHGKI3H5oQmnZeUXVvqEzCsXpjTuc88ihNmHeJG18xZXG', 1, '', 91, '', '7896325412', '', '', '', 2, 2, '79', '', '', '', '', '', 'agent', '', '', NULL, '2016-11-29 23:45:08', '2016-11-29 23:45:08');
+INSERT INTO `users` (`id`, `user_name`, `first_name`, `last_name`, `gender`, `email`, `ban`, `password`, `active`, `is_delete`, `ext`, `country_code`, `phone_number`, `mobile`, `agent_sign`, `account_type`, `account_status`, `assign_group`, `primary_dpt`, `agent_tzone`, `daylight_save`, `limit_access`, `directory_listing`, `vacation_mode`, `company`, `role`, `internal_note`, `profile_pic`, `remember_token`, `created_at`, `updated_at`) VALUES
+(1, 'demo@admin.com', 'Demo', 'admin', 0, 'demo@admin.com', 0, '$2y$10$ZkHOJeJCKFzLtL4yWXZ3suVZlG.fJwD9oUI3nM5FGESmIkQV1hMXC', 1, 0, '', 0, '', NULL, '', '', '', 1, 1, '', '', '', '', '', '', 'admin', '', '', NULL, '2016-12-13 03:19:53', '2016-12-13 03:19:53'),
+(2, 'Abhrakasin', 'Abhrakasin', 'KK', 0, 'abhrakasin@gmail.com', 0, '$2y$10$nrMZMd72/HZbnzjBAi0RX.UQrNTtFeZFEK9aq.chDPZZ07rOC/6Ie', 1, 0, '', 0, '', NULL, '', '', '', 1, 1, '79', '', '', '', '', '', 'agent', '', '', NULL, '2016-12-13 03:32:41', '2016-12-13 03:32:42'),
+(3, 'Johan', 'Johan', 'Malhotra', 0, 'johan21@gmail.com', 0, '$2y$10$Eq8SHKUEXCkW5vqiWvA0Iu1UJmzZ.e5.Q3hI2tkxey5HZ2Lmbxb1C', 1, 0, '', 0, '', NULL, '', '', '', 2, 2, '7', '', '', '', '', '', 'agent', '', '', NULL, '2016-12-13 03:35:29', '2016-12-13 03:35:30'),
+(4, 'fidelm@gmail.com', 'Fidel Martin', '', 0, 'fidelm@gmail.com', 0, '$2y$10$wHupGhJqz2p4rcdS4eq4ZO.NQ65b0JjVsqhJwEEzOCl3vMKwzh9/S', 1, 0, '', 0, '', NULL, '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', 'PXj6d2s7rOqoh53gHdyPbiHOVvBmDoR5CnXg9kl7fRolIC92Y20UnFPSOryw', '2016-12-13 03:45:19', '2016-12-13 03:45:19'),
+(5, 'joseph2321@gmail.com', 'Joseph Rossignol', '', 0, 'joseph2321@gmail.com', 0, '$2y$10$7eQ0nFxQpQkWaKwUbzTsQ.ufQpRN1rwUGY5ER1KsoXoLd6KbMIHnG', 1, 0, '', 0, '', NULL, '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', 'nv7Z37jhwAVdt87WCVzsqweY6wUbic7ll44FNmygMmwcnErafCrVpnw6Krys', '2016-12-13 03:50:55', '2016-12-13 03:50:55'),
+(6, 'ichae1212@gmail.com', 'Ichae Semos', '', 0, 'ichae1212@gmail.com', 0, '$2y$10$aITz4IUuaxb0VHwF2V2CPefwf/Ft0VXpmHDC9feEfNXkW90GdjCFm', 1, 0, '', 0, '', NULL, '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', 'egq0NWPaxEkwkXmV3L0BJ4j4O6aKlgjzNZxea0XpYvCAeVvZLbXsjkKmWyBZ', '2016-12-13 03:55:54', '2016-12-13 03:55:54'),
+(7, 'kusti09@yahoo.com', 'Kusti Franti', '', 0, 'kusti09@yahoo.com', 0, '$2y$10$yNHebbyWfr6m1t4srRlYbuj2JN706ZBpyMI.gSJmuY9czJ3OzuQpq', 1, 0, '', 0, '', NULL, '', '', '', NULL, NULL, '', '', '', '', '', '', 'user', '', '', '4JPKOO9UUjZ2yX1GI7WYaeljcdyFATmguwNGuUD9chDodCVfJVGBJvbepgOt', '2016-12-13 03:58:40', '2016-12-13 03:58:40');
-- --------------------------------------------------------
@@ -2351,25 +2313,27 @@ CREATE TABLE IF NOT EXISTS `user_notification` (
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=13 ;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=15 ;
--
-- Dumping data for table `user_notification`
--
INSERT INTO `user_notification` (`id`, `notification_id`, `user_id`, `is_read`, `created_at`, `updated_at`) VALUES
-(1, 1, 4, 0, '2016-11-30 00:16:00', '2016-11-30 00:16:00'),
-(2, 1, 1, 0, '2016-11-30 00:16:00', '2016-11-30 00:16:00'),
-(3, 2, 4, 0, '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(4, 2, 1, 0, '2016-11-30 00:17:29', '2016-11-30 00:17:29'),
-(5, 3, 4, 0, '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(6, 3, 1, 0, '2016-11-30 00:19:15', '2016-11-30 00:19:15'),
-(7, 4, 5, 0, '2016-11-30 00:22:34', '2016-11-30 00:22:34'),
-(8, 4, 1, 0, '2016-11-30 00:22:34', '2016-11-30 00:22:34'),
-(9, 5, 4, 0, '2016-11-30 00:25:06', '2016-11-30 00:25:06'),
-(10, 5, 1, 0, '2016-11-30 00:25:06', '2016-11-30 00:25:06'),
-(11, 6, 5, 0, '2016-11-30 00:28:23', '2016-11-30 00:28:23'),
-(12, 6, 1, 0, '2016-11-30 00:28:23', '2016-11-30 00:28:23');
+(1, 1, 2, 0, '2016-12-13 03:45:20', '2016-12-13 03:45:20'),
+(2, 1, 1, 0, '2016-12-13 03:45:20', '2016-12-13 03:45:20'),
+(3, 2, 2, 0, '2016-12-13 03:50:56', '2016-12-13 03:50:56'),
+(4, 2, 1, 0, '2016-12-13 03:50:56', '2016-12-13 03:50:56'),
+(5, 3, 2, 0, '2016-12-13 03:55:55', '2016-12-13 03:55:55'),
+(6, 3, 1, 0, '2016-12-13 03:55:55', '2016-12-13 03:55:55'),
+(7, 4, 2, 0, '2016-12-13 03:58:40', '2016-12-13 03:58:40'),
+(8, 4, 1, 0, '2016-12-13 03:58:40', '2016-12-13 03:58:40'),
+(9, 5, 2, 0, '2016-12-13 04:01:55', '2016-12-13 04:01:55'),
+(10, 5, 1, 0, '2016-12-13 04:01:55', '2016-12-13 04:01:55'),
+(11, 6, 2, 0, '2016-12-13 04:02:49', '2016-12-13 04:02:49'),
+(12, 6, 1, 0, '2016-12-13 04:02:49', '2016-12-13 04:02:49'),
+(13, 7, 2, 0, '2016-12-13 04:03:44', '2016-12-13 04:03:44'),
+(14, 7, 1, 0, '2016-12-13 04:03:44', '2016-12-13 04:03:44');
-- --------------------------------------------------------
@@ -2391,7 +2355,7 @@ CREATE TABLE IF NOT EXISTS `version_check` (
--
INSERT INTO `version_check` (`id`, `current_version`, `new_version`, `created_at`, `updated_at`) VALUES
-(1, '', '', '2016-11-29 23:28:17', '2016-11-29 23:28:17');
+(1, '', '', '2016-12-13 03:19:30', '2016-12-13 03:19:30');
-- --------------------------------------------------------
@@ -2414,26 +2378,26 @@ CREATE TABLE IF NOT EXISTS `widgets` (
--
INSERT INTO `widgets` (`id`, `name`, `title`, `value`, `created_at`, `updated_at`) VALUES
-(1, 'footer1', 'Products', 'Men Women Kids Decor Wedding Cloth ', '2016-11-29 23:28:18', '2016-11-29 23:47:56'),
-(2, 'footer2', 'Company', 'About Us Road Map Privacy Policy Cancellation & Refund Policy Term & Condition ', '2016-11-29 23:28:18', '2016-11-29 23:48:39'),
-(3, 'footer3', 'Find out More', 'Forums News Blog Partner NOC Directory ', '2016-11-29 23:28:18', '2016-11-29 23:49:14'),
-(4, 'footer4', 'Contact Us', '\r\n
BTM Layout, No: #28 9th Cross First Stage BTM Layout Near Water Tank Bangalore – 560 029 Karnataka – India Telephone: +91 9999999999 Email: support@abcclothing.com
\r\n
\r\n \r\n
\r\n
', '2016-11-29 23:28:18', '2016-11-29 23:50:04'),
-(5, 'side1', NULL, NULL, '2016-11-29 23:28:18', '2016-11-29 23:28:18'),
-(6, 'side2', NULL, NULL, '2016-11-29 23:28:18', '2016-11-29 23:28:18'),
-(7, 'linkedin', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(8, 'stumble', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(9, 'google', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(10, 'deviantart', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(11, 'flickr', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(12, 'skype', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(13, 'rss', NULL, NULL, '2016-11-29 23:28:19', '2016-11-29 23:28:19'),
-(14, 'twitter', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(15, 'facebook', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(16, 'youtube', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(17, 'vimeo', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(18, 'pinterest', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(19, 'dribbble', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20'),
-(20, 'instagram', NULL, NULL, '2016-11-29 23:28:20', '2016-11-29 23:28:20');
+(1, 'footer1', 'Products', 'Men Women Kids Decor Wedding Cloth ', '2016-12-13 03:19:30', '2016-12-13 03:21:13'),
+(2, 'footer2', 'Company', 'About Us Road Map Privacy Policy Cancellation & Refund Policy Term & Condition ', '2016-12-13 03:19:30', '2016-12-13 03:21:40'),
+(3, 'footer3', 'Find out More', 'Forums News Blog Partner NOC Directory ', '2016-12-13 03:19:30', '2016-12-13 03:22:06'),
+(4, 'footer4', 'Contact Us', '\r\n
BTM Layout, No: #28 9th Cross First Stage BTM Layout Near Water Tank Bangalore – 560 029 Karnataka – India Telephone: +91 9999999999 Email: support@abcclothing.com
', '2016-12-13 03:19:30', '2016-12-13 03:22:34'),
+(5, 'side1', NULL, NULL, '2016-12-13 03:19:30', '2016-12-13 03:19:30'),
+(6, 'side2', NULL, NULL, '2016-12-13 03:19:30', '2016-12-13 03:19:30'),
+(7, 'linkedin', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(8, 'stumble', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(9, 'google', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(10, 'deviantart', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(11, 'flickr', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(12, 'skype', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(13, 'rss', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(14, 'twitter', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(15, 'facebook', NULL, NULL, '2016-12-13 03:19:31', '2016-12-13 03:19:31'),
+(16, 'youtube', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32'),
+(17, 'vimeo', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32'),
+(18, 'pinterest', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32'),
+(19, 'dribbble', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32'),
+(20, 'instagram', NULL, NULL, '2016-12-13 03:19:32', '2016-12-13 03:19:32');
-- --------------------------------------------------------
@@ -2474,7 +2438,7 @@ CREATE TABLE IF NOT EXISTS `workflow_close` (
--
INSERT INTO `workflow_close` (`id`, `days`, `condition`, `send_email`, `status`, `created_at`, `updated_at`) VALUES
-(1, 2, 1, 1, 3, '2016-11-29 23:27:58', '2016-11-29 23:27:58');
+(1, 2, 1, 1, 3, '2016-12-13 03:19:14', '2016-12-13 03:19:14');
-- --------------------------------------------------------
diff --git a/DB/update from 1.0.7.7 to 1.9.0/updatedatabase.sql b/DB/update from 1.0.7.7 to 1.9.0/updatedatabase.sql
new file mode 100644
index 000000000..837f43d13
--- /dev/null
+++ b/DB/update from 1.0.7.7 to 1.9.0/updatedatabase.sql
@@ -0,0 +1,437 @@
+-- ------------------------------------------------------
+
+--
+-- Table structure for table `field_values`
+--
+
+DROP TABLE IF EXISTS `field_values`;
+CREATE TABLE IF NOT EXISTS `field_values` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `field_id` int(10) UNSIGNED DEFAULT NULL,
+ `child_id` int(10) UNSIGNED DEFAULT NULL,
+ `field_key` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `field_value` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `field_values_field_id_foreign` (`field_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- ------------------------------------------------------------
+
+--
+-- Update values in table `settings_ticket`
+--
+UPDATE `settings_ticket` SET `num_format` = '$$$$-####-####', `num_sequence` = 'sequence' WHERE `id` = 1;
+
+-- --------------------------------------------------------------------
+-- -----------------------------------------------------------
+
+--
+-- Table structure for table `conditions`
+--
+
+DROP TABLE IF EXISTS `conditions`;
+CREATE TABLE IF NOT EXISTS `conditions` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `job` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `failed_jobs`
+--
+
+DROP TABLE IF EXISTS `failed_jobs`;
+CREATE TABLE IF NOT EXISTS `failed_jobs` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `connection` text COLLATE utf8_unicode_ci NOT NULL,
+ `queue` text COLLATE utf8_unicode_ci NOT NULL,
+ `payload` longtext COLLATE utf8_unicode_ci NOT NULL,
+ `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `faveo_mails`
+--
+
+DROP TABLE IF EXISTS `faveo_mails`;
+CREATE TABLE IF NOT EXISTS `faveo_mails` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `email_id` int(11) NOT NULL,
+ `drive` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `faveo_queues`
+--
+
+DROP TABLE IF EXISTS `faveo_queues`;
+CREATE TABLE IF NOT EXISTS `faveo_queues` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `service_id` int(11) NOT NULL,
+ `key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `field_values`
+--
+
+DROP TABLE IF EXISTS `field_values`;
+CREATE TABLE IF NOT EXISTS `field_values` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `field_id` int(10) UNSIGNED DEFAULT NULL,
+ `child_id` int(10) UNSIGNED DEFAULT NULL,
+ `field_key` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `field_value` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `field_values_field_id_foreign` (`field_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `jobs`
+--
+
+DROP TABLE IF EXISTS `jobs`;
+CREATE TABLE IF NOT EXISTS `jobs` (
+ `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `queue` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `payload` longtext COLLATE utf8_unicode_ci NOT NULL,
+ `attempts` tinyint(3) UNSIGNED NOT NULL,
+ `reserved` tinyint(3) UNSIGNED NOT NULL,
+ `reserved_at` int(10) UNSIGNED DEFAULT NULL,
+ `available_at` int(10) UNSIGNED NOT NULL,
+ `created_at` int(10) UNSIGNED NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `jobs_queue_reserved_reserved_at_index` (`queue`,`reserved`,`reserved_at`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `mail_services`
+--
+
+DROP TABLE IF EXISTS `mail_services`;
+CREATE TABLE IF NOT EXISTS `mail_services` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `short_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Dumping data for table `mail_services`
+--
+
+INSERT INTO `mail_services` (`id`, `name`, `short_name`, `created_at`, `updated_at`) VALUES
+(1, 'SMTP', 'smtp', '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
+(2, 'Php Mail', 'mail', '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
+(3, 'Send Mail', 'sendmail', '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
+(4, 'Mailgun', 'mailgun', '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
+(5, 'Mandrill', 'mandrill', '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
+(6, 'Log file', 'log', '2016-10-09 15:32:44', '2016-10-09 15:32:44');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `queue_services`
+--
+
+DROP TABLE IF EXISTS `queue_services`;
+CREATE TABLE IF NOT EXISTS `queue_services` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `short_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `status` int(11) NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Dumping data for table `queue_services`
+--
+
+INSERT INTO `queue_services` (`id`, `name`, `short_name`, `status`, `created_at`, `updated_at`) VALUES
+(1, 'Sync', 'sync', 1, '2016-10-09 15:32:44', '2016-10-09 16:05:03'),
+(2, 'Database', 'database', 0, '2016-10-09 15:32:44', '2016-10-09 16:05:03'),
+(3, 'Beanstalkd', 'beanstalkd', 0, '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
+(4, 'SQS', 'sqs', 0, '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
+(5, 'Iron', 'iron', 0, '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
+(6, 'Redis', 'redis', 0, '2016-10-09 15:32:44', '2016-10-09 15:32:44');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `social_media`
+--
+
+DROP TABLE IF EXISTS `social_media`;
+CREATE TABLE IF NOT EXISTS `social_media` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `provider` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `user_additional_infos`
+--
+
+DROP TABLE IF EXISTS `user_additional_infos`;
+CREATE TABLE IF NOT EXISTS `user_additional_infos` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `owner` int(11) NOT NULL,
+ `service` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `value` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `approval`
+--
+
+DROP TABLE IF EXISTS `approval`;
+CREATE TABLE IF NOT EXISTS `approval` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Dumping data for table `approval`
+--
+
+INSERT INTO `approval` (`id`, `name`, `status`, `created_at`, `updated_at`) VALUES
+(1, 'approval', '0', '2016-10-09 15:32:45', '2016-10-09 15:32:45');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `followup`
+--
+
+DROP TABLE IF EXISTS `followup`;
+CREATE TABLE IF NOT EXISTS `followup` (
+ `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `condition` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Dumping data for table `followup`
+--
+
+INSERT INTO `followup` (`id`, `name`, `status`, `condition`, `created_at`, `updated_at`) VALUES
+(1, 'followup', '', '', '2016-10-09 15:32:45', '2016-10-09 15:32:45');
+
+-- --------------------------------------------------------------------
+
+--
+-- Alter ticket_priority table
+--
+ALTER TABLE `ticket_priority` ADD (`status` tinyint(1) DEFAULT 0, `is_default` varchar(30));
+
+--
+-- Update ticket_priority table values
+--
+--
+-- Alter ticket priority color
+--
+UPDATE `ticket_priority`
+SET `priority_color` = '#00a65a'
+WHERE `ticket_priority`.`priority` = "Low";
+
+UPDATE `ticket_priority`
+SET `priority_color` = '#00bfef'
+WHERE `ticket_priority`.`priority` = "Normal";
+
+UPDATE `ticket_priority`
+SET `priority_color` = '#f39c11'
+WHERE `ticket_priority`.`priority` = "High";
+
+UPDATE `ticket_priority`
+SET `priority_color` = '#dd4b38'
+WHERE `ticket_priority`.`priority` = "Emergency";
+
+UPDATE `ticket_priority` SET `is_default` = '1' WHERE `ticket_priority`.`priority_id` = 2;
+
+-- ---------------------------------------------------------------------------------------------
+
+--
+-- Alter `users` table
+--
+ALTER TABLE `users` MODIFY `mobile` VARCHAR(30) DEFAULT NULL;
+UPDATE `users` SET `mobile` = NULL WHERE `mobile` = '';
+ALTER TABLE `users` ADD UNIQUE (`mobile`);
+
+-- ----------------------------------------------------------------------
+
+--
+-- Insert new values in `template_types`
+--
+INSERT INTO `template_types` (`id`, `name`, `created_at`, `updated_at`) VALUES
+(12, 'team_assign_ticket', '2016-10-10 01:29:36', '2016-10-10 01:29:36'),
+(13, 'reset_new_password', '2016-10-10 01:29:36', '2016-10-10 01:29:36');
+
+-- --------------------------------------------------------------------------
+
+--
+-- Insert new values in `templates` table
+--
+INSERT INTO `templates` (`id`, `name`, `variable`, `type`, `subject`, `message`, `description`, `set_id`, `created_at`, `updated_at`) VALUES
+(12, 'This template is for sending notice to team when ticket is assigned to team', '1', 12, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-10-10 01:29:38', '2016-10-10 01:29:38'),
+(13, 'This template is for sending notice to client when password is changed', '1', 13, 'Verify your email address', 'Hello {!!$user!!}, Your password is successfully changed.Your new password is : {!!$user_password!!} Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-10-10 01:29:38', '2016-10-10 01:29:38');
+ -- --------------------------------------------------------------------------
+
+--
+-- Alter Table structure for table `ticket_source`
+--
+
+ALTER TABLE `ticket_source` ADD `css_class` VARCHAR(255) NULL AFTER `value`;
+--
+-- Dumping data for table `ticket_source`
+--
+
+INSERT INTO `ticket_source` (`id`, `name`, `value`, `css_class`) VALUES
+(4, 'facebook', 'Facebook', 'fa fa-facebook'),
+(5, 'twitter', 'Twitter', 'fa fa-twitter'),
+(6, 'call', 'Call', 'fa fa-phone'),
+(7, 'chat', 'Chat', 'fa fa-comment');
+
+--
+-- Update table ticket_source
+--
+UPDATE `ticket_source` SET `css_class` = 'fa fa-internet-explorer' WHERE `id` = 1;
+UPDATE `ticket_source` SET `css_class` = 'fa fa-envelope' WHERE `id` = 2;
+UPDATE `ticket_source` SET `css_class` = 'fa fa-envelope' WHERE `id` = 3;
+
+-- ----------------------------------------------------------------------
+
+--
+-- Alter tickets table
+--
+
+ALTER TABLE `tickets`
+ADD COLUMN `approval` tinyint(10),
+ADD COLUMN `follow_up` tinyint(10) ;
+
+--
+-- Alter users table
+--
+
+ALTER TABLE `users` ADD `is_delete` BOOLEAN NOT NULL DEFAULT FALSE AFTER `remember_token`;
+
+-- ---------------------------------------------------------------------------------------
+
+--
+-- Update table templates
+--
+UPDATE `templates`
+SET `message` = 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to you by {!!$ticket_assigner!!} Please check and resppond on the ticket. Link: {!!$ticket_link!!} Thank You Kind Regards, {!!$system_from!!}
'
+WHERE `type` = 1;
+
+-- --------------------------------------------------------------------------------------
+
+--
+-- Update queue services tables
+--
+UPDATE `queue_services` SET `status` = 1 Where `name` LIKE 'Sync' OR `short_name` LIKE 'sync';
+
+-- ----------------------------------------------------------------------------------------
+
+--
+-- Table structure for table `common_settings`
+--
+
+DROP TABLE IF EXISTS `common_settings`;
+
+CREATE TABLE `common_settings` (
+ `id` int(10) UNSIGNED NOT NULL,
+ `option_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `option_value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `optional_field` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Dumping data for table `common_settings`
+--
+
+INSERT INTO `common_settings` (`id`, `option_name`, `option_value`, `status`, `optional_field`, `created_at`, `updated_at`) VALUES
+(1, 'ticket_token_time_duration', '1', '', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(2, 'enable_rtl', '', '', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(3, 'user_set_ticket_status', '', '1', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(4, 'send_otp', '', '0', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(5, 'email_mandatory', '', '1', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(6, 'user_priority', '', '0', '', '2016-12-13 05:01:02', '2016-12-13 05:10:14');
+
+--
+-- Indexes for dumped tables
+--
+
+--
+-- Indexes for table `common_settings`
+--
+ALTER TABLE `common_settings`
+ ADD PRIMARY KEY (`id`);
+
+--
+-- AUTO_INCREMENT for dumped tables
+--
+
+--
+-- AUTO_INCREMENT for table `common_settings`
+--
+ALTER TABLE `common_settings`
+ MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
+
+-- -------------------------------------------------------------------------------
+
diff --git a/DB/update from 1.0.7.8 to 1.0.7.9/Updatedatabase.sql b/DB/update from 1.0.7.8 to 1.0.7.9/Updatedatabase.sql
index ad331ff4b..27577c020 100644
--- a/DB/update from 1.0.7.8 to 1.0.7.9/Updatedatabase.sql
+++ b/DB/update from 1.0.7.8 to 1.0.7.9/Updatedatabase.sql
@@ -8,10 +8,6 @@ VALUES (5, 'email_mandatory', '',1,'','2016-06-14 09:07:17','2016-06-14 09:07:17
-- INSERT INTO `ticket_status` (`id`, `name`, `state`, `mode`, `message`, `flags`, `sort`, `email_user`, `icon_class`, `properties`, `created_at`, `updated_at`)
-- VALUES (6, 'Unverified', 'unverified', 3, 'User account verification required.', 0, 6, 0, '', 'Ticket will be open after user verifies his/her account.', '2016-06-14 09:07:04', '2016-06-14 09:07:04');
---
--- Alter Table structure for table `users`
---
-ALTER TABLE `users` ADD `fcm_token` VARCHAR( 500 ) NULL AFTER `profile_pic`;
-- ------------------------------------------------------
diff --git a/DB/update from 1.0.7.9 to 1.0.8.0/Updatedatabase.sql b/DB/update from 1.0.7.9 to 1.0.8.0/Updatedatabase.sql
index 4d215f209..675bab8eb 100644
--- a/DB/update from 1.0.7.9 to 1.0.8.0/Updatedatabase.sql
+++ b/DB/update from 1.0.7.9 to 1.0.8.0/Updatedatabase.sql
@@ -1,8 +1,8 @@
-- -----------------------------------------------------------
---
+--
-- Table structure for table `conditions`
---
+--
DROP TABLE IF EXISTS `conditions`;
CREATE TABLE IF NOT EXISTS `conditions` (
@@ -16,9 +16,9 @@ CREATE TABLE IF NOT EXISTS `conditions` (
-- --------------------------------------------------------
---
+--
-- Table structure for table `failed_jobs`
---
+--
DROP TABLE IF EXISTS `failed_jobs`;
CREATE TABLE IF NOT EXISTS `failed_jobs` (
@@ -32,9 +32,9 @@ CREATE TABLE IF NOT EXISTS `failed_jobs` (
-- --------------------------------------------------------
---
+--
-- Table structure for table `faveo_mails`
---
+--
DROP TABLE IF EXISTS `faveo_mails`;
CREATE TABLE IF NOT EXISTS `faveo_mails` (
@@ -50,9 +50,9 @@ CREATE TABLE IF NOT EXISTS `faveo_mails` (
-- --------------------------------------------------------
---
+--
-- Table structure for table `faveo_queues`
---
+--
DROP TABLE IF EXISTS `faveo_queues`;
CREATE TABLE IF NOT EXISTS `faveo_queues` (
@@ -67,9 +67,9 @@ CREATE TABLE IF NOT EXISTS `faveo_queues` (
-- --------------------------------------------------------
---
+--
-- Table structure for table `field_values`
---
+--
DROP TABLE IF EXISTS `field_values`;
CREATE TABLE IF NOT EXISTS `field_values` (
@@ -86,9 +86,9 @@ CREATE TABLE IF NOT EXISTS `field_values` (
-- --------------------------------------------------------
---
+--
-- Table structure for table `jobs`
---
+--
DROP TABLE IF EXISTS `jobs`;
CREATE TABLE IF NOT EXISTS `jobs` (
@@ -106,9 +106,9 @@ CREATE TABLE IF NOT EXISTS `jobs` (
-- --------------------------------------------------------
---
+--
-- Table structure for table `mail_services`
---
+--
DROP TABLE IF EXISTS `mail_services`;
CREATE TABLE IF NOT EXISTS `mail_services` (
@@ -120,9 +120,9 @@ CREATE TABLE IF NOT EXISTS `mail_services` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
---
+--
-- Dumping data for table `mail_services`
---
+--
INSERT INTO `mail_services` (`id`, `name`, `short_name`, `created_at`, `updated_at`) VALUES
(1, 'SMTP', 'smtp', '2016-10-09 15:32:44', '2016-10-09 15:32:44'),
@@ -134,9 +134,9 @@ INSERT INTO `mail_services` (`id`, `name`, `short_name`, `created_at`, `updated_
-- --------------------------------------------------------
---
+--
-- Table structure for table `queue_services`
---
+--
DROP TABLE IF EXISTS `queue_services`;
CREATE TABLE IF NOT EXISTS `queue_services` (
@@ -149,9 +149,9 @@ CREATE TABLE IF NOT EXISTS `queue_services` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
---
+--
-- Dumping data for table `queue_services`
---
+--
INSERT INTO `queue_services` (`id`, `name`, `short_name`, `status`, `created_at`, `updated_at`) VALUES
(1, 'Sync', 'sync', 1, '2016-10-09 15:32:44', '2016-10-09 16:05:03'),
@@ -163,9 +163,9 @@ INSERT INTO `queue_services` (`id`, `name`, `short_name`, `status`, `created_at`
-- --------------------------------------------------------
---
+--
-- Table structure for table `social_media`
---
+--
DROP TABLE IF EXISTS `social_media`;
CREATE TABLE IF NOT EXISTS `social_media` (
@@ -180,9 +180,9 @@ CREATE TABLE IF NOT EXISTS `social_media` (
-- --------------------------------------------------------
---
+--
-- Table structure for table `user_additional_infos`
---
+--
DROP TABLE IF EXISTS `user_additional_infos`;
CREATE TABLE IF NOT EXISTS `user_additional_infos` (
@@ -196,17 +196,11 @@ CREATE TABLE IF NOT EXISTS `user_additional_infos` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--- --------------------------------------------------------------
---
--- Alter Table structure for table `common_settings`
---
-INSERT INTO `common_settings` (`id`, `option_name`, `option_value`, `status`, `optional_field`, `created_at`, `updated_at`)
-VALUES (6, 'user_priority', '', '0', '', '2016-10-09 15:32:50', '2016-10-09 15:32:50');
-- --------------------------------------------------------
---
+--
-- Table structure for table `approval`
---
+--
DROP TABLE IF EXISTS `approval`;
CREATE TABLE IF NOT EXISTS `approval` (
@@ -218,18 +212,18 @@ CREATE TABLE IF NOT EXISTS `approval` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
---
+--
-- Dumping data for table `approval`
---
+--
INSERT INTO `approval` (`id`, `name`, `status`, `created_at`, `updated_at`) VALUES
(1, 'approval', '0', '2016-10-09 15:32:45', '2016-10-09 15:32:45');
-- --------------------------------------------------------
---
+--
-- Table structure for table `followup`
---
+--
DROP TABLE IF EXISTS `followup`;
CREATE TABLE IF NOT EXISTS `followup` (
@@ -242,9 +236,9 @@ CREATE TABLE IF NOT EXISTS `followup` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
---
+--
-- Dumping data for table `followup`
---
+--
INSERT INTO `followup` (`id`, `name`, `status`, `condition`, `created_at`, `updated_at`) VALUES
(1, 'followup', '', '', '2016-10-09 15:32:45', '2016-10-09 15:32:45');
@@ -253,10 +247,10 @@ INSERT INTO `followup` (`id`, `name`, `status`, `condition`, `created_at`, `upda
--
-- Alter ticket_priority table
---
+--
ALTER TABLE `ticket_priority` ADD (`status` tinyint(1) DEFAULT 0, `is_default` varchar(30));
---
+--
-- Update ticket_priority table values
--
UPDATE `ticket_priority`
@@ -282,7 +276,7 @@ WHERE `priority_id` = 4;
--
-- Alter `users` table
---
+--
ALTER TABLE `users` MODIFY `mobile` VARCHAR(30) DEFAULT NULL;
UPDATE `users` SET `mobile` = NULL WHERE `mobile` = '';
ALTER TABLE `users` ADD UNIQUE (`mobile`);
@@ -291,51 +285,46 @@ ALTER TABLE `users` ADD UNIQUE (`mobile`);
--
-- Insert new values in `template_types`
---
+--
INSERT INTO `template_types` (`id`, `name`, `created_at`, `updated_at`) VALUES
(12, 'team_assign_ticket', '2016-10-10 01:29:36', '2016-10-10 01:29:36'),
(13, 'reset_new_password', '2016-10-10 01:29:36', '2016-10-10 01:29:36');
-- --------------------------------------------------------------------------
---
+--
-- Insert new values in `templates` table
---
+--
INSERT INTO `templates` (`id`, `name`, `variable`, `type`, `subject`, `message`, `description`, `set_id`, `created_at`, `updated_at`) VALUES
(12, 'This template is for sending notice to team when ticket is assigned to team', '1', 12, '', 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} Thank You Kind Regards, {!!$system_from!!}
', '', 1, '2016-10-10 01:29:38', '2016-10-10 01:29:38'),
(13, 'This template is for sending notice to client when password is changed', '1', 13, 'Verify your email address', 'Hello {!!$user!!}, Your password is successfully changed.Your new password is : {!!$user_password!!} Thank You. Kind Regards, {!!$system_from!!}', '', 1, '2016-10-10 01:29:38', '2016-10-10 01:29:38');
-- --------------------------------------------------------------------------
---
+--
-- Alter Table structure for table `ticket_source`
---
+--
-DROP TABLE IF EXISTS `ticket_source`;
-CREATE TABLE IF NOT EXISTS `ticket_source` (
- `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
- `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `css_class` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
---
+ALTER TABLE `ticket_source` ADD `css_class` VARCHAR(255) NULL AFTER `value`;
+--
-- Dumping data for table `ticket_source`
---
+--
INSERT INTO `ticket_source` (`id`, `name`, `value`, `css_class`) VALUES
-(1, 'web', 'Web', 'fa fa-internet-explorer'),
-(2, 'email', 'E-mail', 'fa fa-envelope'),
-(3, 'agent', 'Agent Panel', 'fa fa-envelope'),
(4, 'facebook', 'Facebook', 'fa fa-facebook'),
(5, 'twitter', 'Twitter', 'fa fa-twitter'),
(6, 'call', 'Call', 'fa fa-phone'),
(7, 'chat', 'Chat', 'fa fa-comment');
--- ----------------------------------------------------------------------
---
+--
+-- Update table ticket_source
+--
+UPDATE `ticket_source` SET `css_class` = 'fa fa-internet-explorer' WHERE `id` = 1;
+UPDATE `ticket_source` SET `css_class` = 'fa fa-envelope' WHERE `id` = 2;
+UPDATE `ticket_source` SET `css_class` = 'fa fa-envelope' WHERE `id` = 3;
+
+--
-- Alter tickets table
---
+--
ALTER TABLE `tickets`
ADD COLUMN `approval` tinyint(10),
diff --git a/DB/update from 1.0.8.0 to 1.9.0/updatedatabase.sql b/DB/update from 1.0.8.0 to 1.9.0/updatedatabase.sql
new file mode 100644
index 000000000..671cecc94
--- /dev/null
+++ b/DB/update from 1.0.8.0 to 1.9.0/updatedatabase.sql
@@ -0,0 +1,97 @@
+--
+-- Alter users table
+--
+
+ALTER TABLE `users` ADD `is_delete` BOOLEAN NOT NULL DEFAULT FALSE AFTER `remember_token`;
+
+-- ---------------------------------------------------------------------------------------
+
+--
+-- Update table templates
+--
+UPDATE `templates`
+SET `message` = 'Hello {!!$ticket_agent_name!!},Ticket No: {!!$ticket_number!!} Has been assigned to you by {!!$ticket_assigner!!} Please check and resppond on the ticket. Link: {!!$ticket_link!!} Thank You Kind Regards, {!!$system_from!!}
'
+WHERE `type` = 1;
+
+-- --------------------------------------------------------------------------------------
+
+--
+-- Update queue services tables
+--
+UPDATE `queue_services` SET `status` = 1 Where `name` LIKE 'Sync' OR `short_name` LIKE 'sync';
+
+-- ----------------------------------------------------------------------------------------
+
+--
+-- Alter ticket priority color
+--
+UPDATE `ticket_priority`
+SET `priority_color` = '#00a65a'
+WHERE `ticket_priority`.`priority` = "Low";
+
+UPDATE `ticket_priority`
+SET `priority_color` = '#00bfef'
+WHERE `ticket_priority`.`priority` = "Normal";
+
+UPDATE `ticket_priority`
+SET `priority_color` = '#f39c11'
+WHERE `ticket_priority`.`priority` = "High";
+
+UPDATE `ticket_priority`
+SET `priority_color` = '#dd4b38'
+WHERE `ticket_priority`.`priority` = "Emergency";
+
+UPDATE `ticket_priority` SET `is_default` = '1' WHERE `ticket_priority`.`priority_id` = 2;
+
+-- ---------------------------------------------------------------------------------------------
+
+--
+-- Table structure for table `common_settings`
+--
+
+DROP TABLE IF EXISTS `common_settings`;
+
+CREATE TABLE `common_settings` (
+ `id` int(10) UNSIGNED NOT NULL,
+ `option_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `option_value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `optional_field` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Dumping data for table `common_settings`
+--
+
+INSERT INTO `common_settings` (`id`, `option_name`, `option_value`, `status`, `optional_field`, `created_at`, `updated_at`) VALUES
+(1, 'ticket_token_time_duration', '1', '', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(2, 'enable_rtl', '', '', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(3, 'user_set_ticket_status', '', '1', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(4, 'send_otp', '', '0', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(5, 'email_mandatory', '', '1', '', '2016-12-13 05:01:02', '2016-12-13 05:01:02'),
+(6, 'user_priority', '', '0', '', '2016-12-13 05:01:02', '2016-12-13 05:10:14');
+
+--
+-- Indexes for dumped tables
+--
+
+--
+-- Indexes for table `common_settings`
+--
+ALTER TABLE `common_settings`
+ ADD PRIMARY KEY (`id`);
+
+--
+-- AUTO_INCREMENT for dumped tables
+--
+
+--
+-- AUTO_INCREMENT for table `common_settings`
+--
+ALTER TABLE `common_settings`
+ MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
+
+-- -------------------------------------------------------------------------------
+
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index ad6953cb2..72588767d 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -31,11 +31,10 @@ class Kernel extends ConsoleKernel
{
if (env('DB_INSTALL') == 1) {
$queue = $this->getCurrentQueue();
- $schedule->command('queue:listen '.$queue, ['--tries' => 1])->everyMinute()->withoutOverlapping();
+ $schedule->command('queue:listen '.$queue, ['--tries' => 1])->everyMinute();
$this->execute($schedule, 'fetching');
$this->execute($schedule, 'notification');
$this->execute($schedule, 'work');
- loging('cron', 'executed successfully', 'info');
}
}
diff --git a/app/Events/FaveoAfterReply.php b/app/Events/FaveoAfterReply.php
index 6ccfa4a1b..6e4f7f708 100644
--- a/app/Events/FaveoAfterReply.php
+++ b/app/Events/FaveoAfterReply.php
@@ -12,18 +12,20 @@ class FaveoAfterReply extends Event
public $para3;
public $para4;
public $para5;
+ public $para6;
/**
* Create a new event instance.
*
* @return void
*/
- public function __construct($para1 = '', $para2 = '', $para3 = '', $para4 = '', $para5 = '')
+ public function __construct($para1 = '', $para2 = '', $para3 = '', $para4 = '', $para5 = '', $para6 = '')
{
$this->para1 = $para1;
$this->para2 = $para2;
$this->para3 = $para3;
$this->para4 = $para4;
$this->para5 = $para5;
+ $this->para6 = $para6;
}
}
diff --git a/app/FaveoLog/lang/en/lang.php b/app/FaveoLog/lang/en/lang.php
index 8ba309453..0633fcfa7 100644
--- a/app/FaveoLog/lang/en/lang.php
+++ b/app/FaveoLog/lang/en/lang.php
@@ -1,5 +1,5 @@
'Logs',
+ 'logs'=> 'Logs',
];
diff --git a/app/FaveoStorage/Controllers/SettingsController.php b/app/FaveoStorage/Controllers/SettingsController.php
new file mode 100644
index 000000000..e7e8685cb
--- /dev/null
+++ b/app/FaveoStorage/Controllers/SettingsController.php
@@ -0,0 +1,126 @@
+
+
+
+
'.Lang::get('storage::lang.storage').'
+
+ ';
+ }
+
+ public function settings()
+ {
+ try {
+ $settings = new CommonSettings();
+ $directories = $this->directories();
+ $def = $settings->getOptionValue('storage', 'default');
+ $ro = $settings->getOptionValue('storage', 'root');
+ $default = 'local';
+ $root = storage_path('app');
+ if ($def) {
+ $default = $def->option_value;
+ }
+ if ($ro) {
+ $root = $ro->option_value;
+ }
+
+ return view('storage::settings', compact('default', 'root', 'directories'));
+ } catch (Exception $ex) {
+ return redirect()->back()->with('fails', $ex->getMessage());
+ }
+ }
+
+ public function postSettings(Request $request)
+ {
+ try {
+ $requests = $request->except('_token');
+ $this->delete();
+ if (count($requests) > 0) {
+ foreach ($requests as $key => $value) {
+ if ($value) {
+ $this->save($key, $value);
+ }
+ }
+ }
+
+ return redirect()->back()->with('success', 'Updated');
+ } catch (Exception $ex) {
+ return redirect()->back()->with('fails', $ex->getMessage());
+ }
+ }
+
+ public function delete()
+ {
+ $settings = CommonSettings::where('option_name', 'storage')->get();
+ if ($settings->count() > 0) {
+ foreach ($settings as $setting) {
+ $setting->delete();
+ }
+ }
+ }
+
+ public function save($key, $value)
+ {
+ CommonSettings::create([
+ 'option_name' => 'storage',
+ 'optional_field' => $key,
+ 'option_value' => $value,
+ ]);
+ }
+
+ public function directories($root = '')
+ {
+ if ($root == '') {
+ $root = base_path();
+ }
+
+ $iter = new RecursiveIteratorIterator(
+ new RecursiveDirectoryIterator($root, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD // Ignore "Permission denied"
+ );
+
+ $paths = [$root];
+ foreach ($iter as $path => $dir) {
+ if ($dir->isDir()) {
+ $paths[$path] = $path;
+ }
+ }
+
+ return $paths;
+ }
+
+ public function attachment()
+ {
+ $storage = new StorageController();
+ $storage->upload();
+ }
+
+ public function activate()
+ {
+ $path = 'app'.DIRECTORY_SEPARATOR.'FaveoStorage'.DIRECTORY_SEPARATOR.'database'.DIRECTORY_SEPARATOR.'migrations';
+ Artisan::call('migrate', [
+ '--path' => $path,
+ '--force'=> true,
+ ]);
+ }
+}
diff --git a/app/FaveoStorage/Controllers/StorageController.php b/app/FaveoStorage/Controllers/StorageController.php
new file mode 100644
index 000000000..7c6178377
--- /dev/null
+++ b/app/FaveoStorage/Controllers/StorageController.php
@@ -0,0 +1,250 @@
+default = $this->defaults();
+ $this->driver = $this->driver();
+ $this->root = $this->root();
+ $this->s3_key = $this->s3Key();
+ $this->s3_region = $this->s3Region();
+ $this->s3_bucket = $this->s3Bucket();
+ $this->rackspace_container = $this->rackspaceContainer();
+ $this->rackspace_endpoint = $this->rackspaceEndpoint();
+ $this->rackspace_key = $this->rackspaceKey();
+ $this->rackspace_region = $this->rackspaceRegion();
+ $this->rackspace_url_type = $this->rackspaceUrlType();
+ $this->rackspace_username = $this->rackspaceUsername();
+ }
+
+ protected function settings($option)
+ {
+ $settings = new CommonSettings();
+ $setting = $settings->getOptionValue('storage', $option);
+ $value = '';
+ if ($setting) {
+ $value = $setting->option_value;
+ }
+
+ return $value;
+ }
+
+ public function defaults()
+ {
+ $default = 'local';
+ if ($this->settings('default')) {
+ $default = $this->settings('default');
+ }
+
+ return $default;
+ }
+
+ public function driver()
+ {
+ return $this->settings('default');
+ }
+
+ public function root()
+ {
+ $root = storage_path('app');
+ if ($this->settings('root')) {
+ $root = $this->settings('root');
+ }
+
+ return $root;
+ }
+
+ public function s3Key()
+ {
+ return $this->settings('s3_key');
+ }
+
+ public function s3Region()
+ {
+ return $this->settings('s3_region');
+ }
+
+ public function s3Secret()
+ {
+ return $this->settings('s3_secret');
+ }
+
+ public function s3Bucket()
+ {
+ return $this->settings('s3_bucket');
+ }
+
+ public function rackspaceKey()
+ {
+ return $this->settings('root');
+ }
+
+ public function rackspaceRegion()
+ {
+ return $this->settings('rackspace_region');
+ }
+
+ public function rackspaceUsername()
+ {
+ return $this->settings('rackspace_username');
+ }
+
+ public function rackspaceContainer()
+ {
+ return $this->settings('rackspace_container');
+ }
+
+ public function rackspaceEndpoint()
+ {
+ return $this->settings('rackspace_endpoint');
+ }
+
+ public function rackspaceUrlType()
+ {
+ return $this->settings('rackspace_url_type');
+ }
+
+ protected function setFileSystem()
+ {
+ $config = $this->config();
+ //dd($config);
+ foreach ($config as $key => $con) {
+ if (is_array($con)) {
+ foreach ($con as $k => $v) {
+ Config::set("filesystem.$key.$k", $v);
+ }
+ }
+ Config::set("filesystem.$key", $con);
+ }
+
+ return Config::get('filesystem');
+ }
+
+ protected function config()
+ {
+ return [
+ 'default' => $this->default,
+ 'cloud' => 's3',
+ 'disks' => $this->disks(),
+ ];
+ }
+
+ protected function disks()
+ {
+ return [
+ 'local' => [
+ 'driver' => 'local',
+ 'root' => $this->root.'/attachments',
+ ],
+ 's3' => [
+ 'driver' => 's3',
+ 'key' => $this->s3_key,
+ 'secret' => $this->s3_secret,
+ 'region' => $this->s3_region,
+ 'bucket' => $this->s3_bucket,
+ ],
+ 'rackspace' => [
+ 'driver' => 'rackspace',
+ 'username' => $this->rackspace_username,
+ 'key' => $this->rackspace_key,
+ 'container' => $this->rackspace_container,
+ 'endpoint' => $this->rackspace_endpoint,
+ 'region' => $this->rackspace_region,
+ 'url_type' => $this->rackspace_url_type,
+ ],
+ ];
+ }
+
+ public function upload($data, $filename, $type, $size, $disposition, $thread_id)
+ {
+ $upload = new Ticket_attachments();
+ $upload->thread_id = $thread_id;
+ $upload->name = $filename;
+ $upload->type = $type;
+ $upload->size = $size;
+ $upload->poster = $disposition;
+ $upload->driver = $this->default;
+ $upload->path = $this->root;
+ if ($this->default !== 'database') {
+ $this->setFileSystem();
+ Storage::disk($this->default)->put($filename, $data);
+ } else {
+ $upload->file = $data;
+ }
+ if ($data && $size && $disposition) {
+ $upload->save();
+ }
+ }
+
+ public function saveAttachments($thread_id, $attachments = [])
+ {
+ if (is_array($attachments) && count($attachments) > 0) {
+ foreach ($attachments as $attachment) {
+ $structure = $attachment->getStructure();
+ $disposition = 'ATTACHMENT';
+ if (isset($structure->disposition)) {
+ $disposition = $structure->disposition;
+ }
+ $filename = str_random(16).'-'.$attachment->getFileName();
+ $type = $attachment->getMimeType();
+ $size = $attachment->getSize();
+ $data = $attachment->getData();
+ $this->upload($data, $filename, $type, $size, $disposition, $thread_id);
+ $this->updateBody($attachment, $thread_id, $filename);
+ }
+ }
+ }
+
+ public function updateBody($attachment, $thread_id, $filename)
+ {
+ $structure = $attachment->getStructure();
+ $disposition = 'ATTACHMENT';
+ if (isset($structure->disposition)) {
+ $disposition = $structure->disposition;
+ }
+ if ($disposition == 'INLINE' || $disposition == 'inline') {
+ $id = str_replace('>', '', str_replace('<', '', $structure->id));
+ $threads = new Ticket_Thread();
+ $thread = $threads->find($thread_id);
+ $body = $thread->body;
+ $body = str_replace('cid:'.$id, $filename, $body);
+ $thread->body = $body;
+ $thread->save();
+ }
+ }
+
+ public function getFile($drive, $name)
+ {
+ //dd($drive,$name);
+ if ($drive != 'database') {
+ $this->setFileSystem();
+ if (Storage::disk($this->default)->exists($name)) {
+ return Storage::disk($this->default)->get($name);
+ }
+ }
+ }
+}
diff --git a/app/FaveoStorage/StorageServiceProvider.php b/app/FaveoStorage/StorageServiceProvider.php
new file mode 100644
index 000000000..35150154f
--- /dev/null
+++ b/app/FaveoStorage/StorageServiceProvider.php
@@ -0,0 +1,47 @@
+loadViewsFrom($view_path, 'storage');
+
+ $lang_path = app_path().DIRECTORY_SEPARATOR.'FaveoStorage'.DIRECTORY_SEPARATOR.'lang';
+ $this->loadTranslationsFrom($lang_path, 'storage');
+
+ if (isInstall()) {
+ $controller = new Controllers\SettingsController();
+ $controller->activate();
+ }
+
+ if (class_exists('Breadcrumbs')) {
+ require __DIR__.'/breadcrumbs.php';
+ }
+ }
+
+ /**
+ * Register the service provider.
+ *
+ * @return void
+ */
+ public function register()
+ {
+ // Add routes
+ if (isInstall()) {
+ $routes = app_path('/FaveoStorage/routes.php');
+ if (file_exists($routes)) {
+ require $routes;
+ }
+ }
+ }
+}
diff --git a/app/FaveoStorage/breadcrumbs.php b/app/FaveoStorage/breadcrumbs.php
new file mode 100644
index 000000000..5f28c0b6a
--- /dev/null
+++ b/app/FaveoStorage/breadcrumbs.php
@@ -0,0 +1,6 @@
+parent('setting');
+ $breadcrumbs->push('Storage', route('storage'));
+});
diff --git a/app/FaveoStorage/database/migrations/2016_11_30_122809_alter_attachment_table.php b/app/FaveoStorage/database/migrations/2016_11_30_122809_alter_attachment_table.php
new file mode 100644
index 000000000..503ce095f
--- /dev/null
+++ b/app/FaveoStorage/database/migrations/2016_11_30_122809_alter_attachment_table.php
@@ -0,0 +1,33 @@
+string('driver');
+ $table->string('path');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('ticket_attachment', function (Blueprint $table) {
+ $table->string('driver');
+ $table->string('path');
+ });
+ }
+}
diff --git a/app/FaveoStorage/lang/en/lang.php b/app/FaveoStorage/lang/en/lang.php
new file mode 100644
index 000000000..73568b17e
--- /dev/null
+++ b/app/FaveoStorage/lang/en/lang.php
@@ -0,0 +1,16 @@
+ 'Settings',
+ 'storage' => 'Storage',
+ 'default' => 'Default',
+ 'root' => 'Root',
+ 'region' => 'Region',
+ 'key' => 'Key',
+ 'secret' => 'Secret',
+ 'bucket' => 'Bucket',
+ 'username' => 'Username',
+ 'container'=> 'Container',
+ 'endpoint' => 'End Point',
+ 'url_type' => 'Url Type',
+];
diff --git a/app/FaveoStorage/routes.php b/app/FaveoStorage/routes.php
new file mode 100644
index 000000000..8a0a07f52
--- /dev/null
+++ b/app/FaveoStorage/routes.php
@@ -0,0 +1,12 @@
+settingsIcon();
+});
+
+Route::group(['middleware'=>['web']], function () {
+ Route::get('storage', ['as'=>'storage', 'uses'=>'App\FaveoStorage\Controllers\SettingsController@settings']);
+ Route::post('storage', ['as'=>'post.storage', 'uses'=>'App\FaveoStorage\Controllers\SettingsController@postSettings']);
+ Route::get('attachment', ['as'=>'attach', 'uses'=>'App\FaveoStorage\Controllers\SettingsController@attachment']);
+});
diff --git a/app/FaveoStorage/views/settings.blade.php b/app/FaveoStorage/views/settings.blade.php
new file mode 100644
index 000000000..52fb6dda4
--- /dev/null
+++ b/app/FaveoStorage/views/settings.blade.php
@@ -0,0 +1,139 @@
+@extends('themes.default1.admin.layout.admin')
+@section('content')
+
+
+
+
+
+
+
+
+ {!! Form::label('default',Lang::get('storage::lang.default')) !!}
+ {!! Form::select('default',['database'=>'Database','local'=>'Local'],$default,['class'=>'form-control']) !!}
+
+
+
+ {!! Form::label('root',Lang::get('storage::lang.root')) !!}
+ {!! Form::select('root',$directories,$root,['class'=>'form-control']) !!}
+
+
+
+ {!! Form::label('key',Lang::get('storage::lang.key')) !!}
+ {!! Form::text('key',null,['class'=>'form-control']) !!}
+
+
+ {!! Form::label('region',Lang::get('storage::lang.region')) !!}
+ {!! Form::text('region',null,['class'=>'form-control']) !!}
+
+
+
+
+ {!! Form::label('secret',Lang::get('storage::lang.secret')) !!}
+ {!! Form::text('secret',null,['class'=>'form-control']) !!}
+
+
+ {!! Form::label('bucket',Lang::get('storage::lang.bucket')) !!}
+ {!! Form::text('bucket',null,['class'=>'form-control']) !!}
+
+
+
+
+ {!! Form::label('username',Lang::get('storage::lang.username')) !!}
+ {!! Form::text('username',null,['class'=>'form-control']) !!}
+
+
+ {!! Form::label('container',Lang::get('storage::lang.container')) !!}
+ {!! Form::text('container',null,['class'=>'form-control']) !!}
+
+
+ {!! Form::label('endpoint',Lang::get('storage::lang.endpoint')) !!}
+ {!! Form::text('endpoint',null,['class'=>'form-control']) !!}
+
+
+ {!! Form::label('url_type',Lang::get('storage::lang.url_type')) !!}
+ {!! Form::text('url_type',null,['class'=>'form-control']) !!}
+
+
+
+
+
+
+
+
+
+
+@stop
+@section('FooterInclude')
+
+@stop
\ No newline at end of file
diff --git a/app/Http/Controllers/Admin/helpdesk/AgentController.php b/app/Http/Controllers/Admin/helpdesk/AgentController.php
index ea669cfab..9b94793bd 100644
--- a/app/Http/Controllers/Admin/helpdesk/AgentController.php
+++ b/app/Http/Controllers/Admin/helpdesk/AgentController.php
@@ -79,11 +79,11 @@ class AgentController extends Controller
{
try {
// gte all the teams
- $team = $team_all->get();
+ $team = $team_all->where('status', '=', 1)->get();
// get all the timezones
$timezones = $timezone->get();
// get all the groups
- $groups = $group->get();
+ $groups = $group->where('group_status', '=', 1)->get();
// get all department
$departments = $department->get();
// list all the teams in a single variable
@@ -186,10 +186,10 @@ class AgentController extends Controller
$location = GeoIP::getLocation();
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
$user = $user->whereId($id)->first();
- $team = $team->get();
+ $team = $team->where('status', '=', 1)->get();
$teams1 = $team->lists('name', 'id');
$timezones = $timezone->get();
- $groups = $group->get();
+ $groups = $group->where('group_status', '=', 1)->get();
$departments = $department->get();
$table = $team_assign_agent->where('agent_id', $id)->first();
$teams = $team->lists('id', 'name')->toArray();
diff --git a/app/Http/Controllers/Admin/helpdesk/DepartmentController.php b/app/Http/Controllers/Admin/helpdesk/DepartmentController.php
index 200ec5c10..781b59427 100644
--- a/app/Http/Controllers/Admin/helpdesk/DepartmentController.php
+++ b/app/Http/Controllers/Admin/helpdesk/DepartmentController.php
@@ -76,11 +76,12 @@ class DepartmentController extends Controller
public function create(User $user, Group_assign_department $group_assign_department, Department $department, Sla_plan $sla, Template $template, Emails $email, Groups $group)
{
try {
- $slas = $sla->get();
+ $slas = $sla->where('status', '=', 1)
+ ->select('grace_period', 'id')->get();
$user = $user->where('role', '<>', 'user')
->where('active', '=', 1)
->get();
- $emails = $email->get();
+ $emails = $email->select('email_name', 'id')->get();
$templates = $template->get();
$department = $department->get();
$groups = $group->lists('id', 'name');
@@ -155,17 +156,18 @@ class DepartmentController extends Controller
->select('department')
->where('id', '=', 1)
->first();
- $slas = $sla->get();
+ $slas = $sla->where('status', '=', 1)
+ ->select('grace_period', 'id')->get();
$user = $user->where('primary_dpt', $id)
->where('active', '=', 1)
->get();
- $emails = $email->get();
+ $emails = $email->select('email_name', 'id')->get();
$templates = $template->get();
$departments = $department->whereId($id)->first();
- $groups = $group->lists('id', 'name');
+ //$groups = $group->lists('id', 'name');
$assign = $group_assign_department->where('department_id', $id)->lists('group_id');
- return view('themes.default1.admin.helpdesk.agent.departments.edit', compact('assign', 'team', 'templates', 'departments', 'slas', 'user', 'emails', 'groups', 'sys_department'));
+ return view('themes.default1.admin.helpdesk.agent.departments.edit', compact('assign', 'team', 'templates', 'departments', 'slas', 'user', 'emails', 'sys_department'));
} catch (Exception $e) {
return redirect('departments')->with('fails', $e->getMessage());
}
diff --git a/app/Http/Controllers/Admin/helpdesk/EmailsController.php b/app/Http/Controllers/Admin/helpdesk/EmailsController.php
index 108db2937..8c15c251e 100644
--- a/app/Http/Controllers/Admin/helpdesk/EmailsController.php
+++ b/app/Http/Controllers/Admin/helpdesk/EmailsController.php
@@ -76,7 +76,7 @@ class EmailsController extends Controller
$departments = $department->get();
// fetch all the helptopics from the helptopic table
$helps = $help->where('status', '=', 1)->get();
- // fetch all the types of active priority from the ticket_priority table
+ // fetch all the types of priority from the ticket_priority table
$priority = $ticket_priority->where('status', '=', 1)->get();
// fetch all the types of mailbox protocols from the mailbox_protocols table
$mailbox_protocols = $mailbox_protocol->get();
@@ -237,6 +237,29 @@ class EmailsController extends Controller
return 1;
}
+ public function checkMail($request)
+ {
+ $mailservice_id = $request->input('sending_protocol');
+ $driver = $this->getDriver($mailservice_id);
+ $username = $request->input('email_address');
+ $password = $request->input('password');
+ $name = $request->input('email_name');
+ $host = $request->input('sending_host');
+ $port = $request->input('sending_port');
+ $enc = $request->input('sending_encryption');
+ $service_request = $request->except('sending_status', '_token', 'email_address', 'email_name', 'password', 'department', 'priority', 'help_topic', 'fetching_protocol', 'fetching_host', 'fetching_port', 'fetching_encryption', 'imap_authentication', 'sending_protocol', 'sending_host', 'sending_port', 'sending_encryption', 'smtp_authentication', 'internal_notes', '_wysihtml5_mode');
+
+ $this->emailService($driver, $service_request);
+ $this->setMailConfig($driver, $username, $name, $password, $enc, $host, $port);
+ $transport = \Swift_SmtpTransport::newInstance($host, $port, $enc);
+ $transport->setUsername($username);
+ $transport->setPassword($password);
+ $mailer = \Swift_Mailer::newInstance($transport);
+ $mailer->getTransport()->start();
+
+ return 1;
+ }
+
public function sendDiagnoEmail($request)
{
$mailservice_id = $request->input('sending_protocol');
@@ -319,8 +342,8 @@ class EmailsController extends Controller
$count = $email->count();
// get all the helptopic
$helps = $help->where('status', '=', 1)->get();
- // get all active the priority
- $priority = $ticket_priority->where('status', '=', 1)->get();
+ // get all the priority
+ $priority = $ticket_priority->where('status', '=', 1)->get();
// get all the mailbox protocols
$mailbox_protocols = $mailbox_protocol->get();
@@ -638,27 +661,4 @@ class EmailsController extends Controller
$controller = new \App\Http\Controllers\Agent\helpdesk\MailController($TicketWorkflowController);
$controller->fetch($email);
}
-
- public function checkMail($request)
- {
- $mailservice_id = $request->input('sending_protocol');
- $driver = $this->getDriver($mailservice_id);
- $username = $request->input('email_address');
- $password = $request->input('password');
- $name = $request->input('email_name');
- $host = $request->input('sending_host');
- $port = $request->input('sending_port');
- $enc = $request->input('sending_encryption');
- $service_request = $request->except('sending_status', '_token', 'email_address', 'email_name', 'password', 'department', 'priority', 'help_topic', 'fetching_protocol', 'fetching_host', 'fetching_port', 'fetching_encryption', 'imap_authentication', 'sending_protocol', 'sending_host', 'sending_port', 'sending_encryption', 'smtp_authentication', 'internal_notes', '_wysihtml5_mode');
-
- $this->emailService($driver, $service_request);
- $this->setMailConfig($driver, $username, $name, $password, $enc, $host, $port);
- $transport = \Swift_SmtpTransport::newInstance($host, $port, $enc);
- $transport->setUsername($username);
- $transport->setPassword($password);
- $mailer = \Swift_Mailer::newInstance($transport);
- $mailer->getTransport()->start();
-
- return 1;
- }
}
diff --git a/app/Http/Controllers/Admin/helpdesk/EmailsControllerOld.php b/app/Http/Controllers/Admin/helpdesk/EmailsControllerOld.php
deleted file mode 100644
index 78f221f52..000000000
--- a/app/Http/Controllers/Admin/helpdesk/EmailsControllerOld.php
+++ /dev/null
@@ -1,637 +0,0 @@
-
- */
-class EmailsControllerOld extends Controller
-{
- /**
- * Defining constructor variables.
- *
- * @return type
- */
- public function __construct()
- {
- $this->middleware('auth');
- $this->middleware('roles');
- }
-
- /**
- * Display a listing of the Emails.
- *
- * @param type Emails $emails
- *
- * @return type view
- */
- public function index(Emails $email)
- {
- try {
- // fetch all the emails from emails table
- $emails = $email->get();
-
- return view('themes.default1.admin.helpdesk.emails.emails.index', compact('emails'));
- } catch (Exception $e) {
- return redirect()->back()->with('fails', $e->getMessage());
- }
- }
-
- /**
- * Show the form for creating a new resource.
- *
- * @param type Department $department
- * @param type Help_topic $help
- * @param type Priority $priority
- * @param type MailboxProtocol $mailbox_protocol
- *
- * @return type Response
- */
- public function create(Department $department, Help_topic $help, Ticket_Priority $ticket_priority, MailboxProtocol $mailbox_protocol)
- {
- try {
- // fetch all the departments from the department table
- $departments = $department->get();
- // fetch all the helptopics from the helptopic table
- $helps = $help->get();
- // fetch all the types of priority from the ticket_priority table
- $priority = $ticket_priority->get();
- // fetch all the types of mailbox protocols from the mailbox_protocols table
- $mailbox_protocols = $mailbox_protocol->get();
-
- $service = new \App\Model\MailJob\MailService();
- $services = $service->lists('name', 'id')->toArray();
-
- // return with all the table data
- return view('themes.default1.admin.helpdesk.emails.emails.create', compact('mailbox_protocols', 'priority', 'departments', 'helps', 'services'));
- } catch (Exception $e) {
- // return error messages if any
- return redirect()->back()->with('fails', $e->getMessage());
- }
- }
-
- /**
- * Check for email input validation.
- *
- * @param EmailsRequest $request
- *
- * @return int
- */
- public function validatingEmailSettings(MailRequest $request, $id = '')
- {
- $service_request = $request->except('sending_status', '_token', 'email_address', 'email_name', 'password', 'department', 'priority', 'help_topic', 'fetching_protocol', 'fetching_host', 'fetching_port', 'fetching_encryption', 'imap_authentication', 'sending_protocol', 'sending_host', 'sending_port', 'sending_encryption', 'smtp_authentication', 'internal_notes', '_wysihtml5_mode', 'code');
- $service = $request->input('sending_protocol');
- $send = 0;
- $imap_check[0] = 0;
- if ($request->input('imap_validate') == 'on') {
- $validate = '/validate-cert';
- } elseif (!$request->input('imap_validate')) {
- $validate = '/novalidate-cert';
- }
- if ($request->input('fetching_status') == 'on') {
- try {
- $imap_check = $this->getImapStream($request, $validate);
- } catch (Exception $ex) {
- \Log::error($ex->getMessage());
- $result = ['fails' => $ex->getMessage()];
-
- return response()->json(compact('result'));
- }
- if ($imap_check[0] == 0) {
- $response = Lang::get('lang.incoming_email_connection_failed_please_check_email_credentials_or_imap_settings');
- }
- } else {
- $imap_check[0] = 1;
- }
- if ($request->input('sending_status') == 'on') {
- $this->emailService($service, $service_request);
- try {
- $send = $this->sendDiagnoEmail($request);
- } catch (Exception $ex) {
- \Log::error($ex->getMessage());
- $result = ['fails' => $ex->getMessage()];
-
- return response()->json(compact('result'));
- }
- if ($send === 0) {
- $response = Lang::get('lang.outgoing_email_connection_failed');
- }
- } else {
- $send = 1;
- }
- if ($send === 1 && $imap_check[0] === 1) {
- $this->store($request, $imap_check, $service_request, $id);
- }
-
- return $this->jsonResponse($send, $imap_check);
- }
-
- public function sendDiagnoEmail($request)
- {
- try {
- $mailservice_id = $request->input('sending_protocol');
- $driver = $this->getDriver($mailservice_id);
- $username = $request->input('email_address');
- $password = $request->input('password');
- $name = $request->input('email_name');
- $host = $request->input('sending_host');
- $port = $request->input('sending_port');
- $enc = $request->input('sending_encryption');
- $service_request = $request->except('sending_status', '_token', 'email_address', 'email_name', 'password', 'department', 'priority', 'help_topic', 'fetching_protocol', 'fetching_host', 'fetching_port', 'fetching_encryption', 'imap_authentication', 'sending_protocol', 'sending_host', 'sending_port', 'sending_encryption', 'smtp_authentication', 'internal_notes', '_wysihtml5_mode');
-
- $this->emailService($driver, $service_request);
- $this->setMailConfig($driver, $username, $name, $password, $enc, $host, $port);
- $controller = new \App\Http\Controllers\Common\PhpMailController();
- $to = 'example@ladybirdweb.com';
- $toname = 'test';
- $subject = 'test';
- $data = 'test';
- //dd(\Config::get('mail'),\Config::get('services'));
- $send = $controller->laravelMail($to, $toname, $subject, $data, [], []);
- } catch (Exception $e) {
- \Log::error($e->getMessage());
- //dd($e);
- }
-
- return $send;
- }
-
- public function setMailConfig($driver, $username, $name, $password, $enc, $host, $port)
- {
- $configs = [
- 'username' => $username,
- 'from' => ['address' => $username, 'name' => $name],
- 'password' => $password,
- 'encryption' => $enc,
- 'host' => $host,
- 'port' => $port,
- 'driver' => $driver,
- ];
- foreach ($configs as $key => $config) {
- if (is_array($config)) {
- foreach ($config as $from) {
- \Config::set('mail.'.$key, $config);
- }
- } else {
- \Config::set('mail.'.$key, $config);
- }
- }
- }
-
- public function getDriver($driver_id)
- {
- $short = '';
- $email_drivers = new \App\Model\MailJob\MailService();
- $email_driver = $email_drivers->find($driver_id);
- if ($email_driver) {
- $short = $email_driver->short_name;
- }
-
- return $short;
- }
-
- /**
- * Store a newly created resource in storage.
- *
- * @param type Emails $email
- * @param type EmailsRequest $request
- *
- * @return type Redirect
- */
- public function store($request, $imap_check, $service_request = [], $id = '')
- {
- $email = new Emails();
- if ($id !== '') {
- $email = $email->find($id);
- }
- try {
- $email->email_address = $request->email_address;
-
- $email->email_name = $request->email_name;
- $email->fetching_host = $request->fetching_host;
- $email->fetching_port = $request->fetching_port;
- $email->fetching_protocol = $request->fetching_protocol;
- $email->sending_host = $request->sending_host;
- $email->sending_port = $request->sending_port;
- $email->sending_protocol = $this->getDriver($request->sending_protocol);
- $email->sending_encryption = $request->sending_encryption;
-
- if ($request->smtp_validate == 'on') {
- $email->smtp_validate = $request->smtp_validate;
- }
-
- if ($request->input('password')) {
- $email->password = Crypt::encrypt($request->input('password'));
- }
- if ($request->input('fetching_status') == 'on') {
- $email->fetching_status = 1;
- } else {
- $email->fetching_status = 0;
- }
- if ($request->input('sending_status') == 'on') {
- $email->sending_status = 1;
- } else {
- $email->sending_status = 0;
- }
- if ($request->input('auto_response') == 'on') {
- $email->auto_response = 1;
- } else {
- $email->auto_response = 0;
- }
- //dd($email);
- if ($imap_check !== null) {
- $email->fetching_encryption = $imap_check[0];
- } else {
- $email->fetching_encryption = $request->input('fetching_encryption');
- }
-
- // fetching department value
- $email->department = $this->departmentValue($request->input('department'));
- // fetching priority value
- $email->priority = $this->priorityValue($request->input('priority'));
- // fetching helptopic value
- $email->help_topic = $this->helpTopicValue($request->input('help_topic'));
- // inserting the encrypted value of password
- $email->password = Crypt::encrypt($request->input('password'));
- $email->save(); // run save
- if ($id === '') {
- // Creating a default system email as the first email is inserted to the system
- $email_settings = Email::where('id', '=', '1')->first();
- $email_settings->sys_email = $email->id;
- $email_settings->save();
- } else {
- $this->update($id, $request);
- }
- if (count($service_request) > 0) {
- $this->saveMailService($email->id, $service_request, $this->getDriver($request->sending_protocol));
- }
-
- return 1;
- } catch (Exception $e) {
- return 0;
- }
- }
-
- /**
- * Show the form for editing the specified resource.
- *
- * @param type int $id
- * @param type Department $department
- * @param type Help_topic $help
- * @param type Emails $email
- * @param type Priority $priority
- * @param type MailboxProtocol $mailbox_protocol
- *
- * @return type Response
- */
- public function edit($id, Department $department, Help_topic $help, Emails $email, Ticket_Priority $ticket_priority, MailboxProtocol $mailbox_protocol)
- {
- try {
- $sys_email = \DB::table('settings_email')->select('sys_email')->where('id', '=', 1)->first();
- // dd($sys_email);
- // fetch the selected emails
- $emails = $email->whereId($id)->first();
- // get all the departments
- $departments = $department->get();
- //get count of emails
- $count = $email->count();
- // get all the helptopic
- $helps = $help->get();
- // get all the priority
- $priority = $ticket_priority->get();
- // get all the mailbox protocols
- $mailbox_protocols = $mailbox_protocol->get();
-
- $service = new \App\Model\MailJob\MailService();
- $services = $service->lists('name', 'id')->toArray();
-
- // return if the execution is succeeded
- return view('themes.default1.admin.helpdesk.emails.emails.edit', compact('mailbox_protocols', 'priority', 'departments', 'helps', 'emails', 'sys_email', 'services'))->with('count', $count);
- } catch (Exception $e) {
- // return if try fails
- return redirect()->back()->with('fails', $e->getMessage());
- }
- }
-
- /**
- * Check for email input validation.
- *
- * @param EmailsRequest $request
- *
- * @return int
- */
- public function validatingEmailSettingsUpdate($id, MailRequest $request)
- {
- return $this->validatingEmailSettings($request, $id);
- }
-
- /**
- * Update the specified resource in storage.
- *
- * @param type $id
- * @param type Emails $email
- * @param type EmailsEditRequest $request
- *
- * @return type Response
- */
- public function update($id, $request)
- {
- try {
- if ($request->sys_email == 'on') {
- $system = \DB::table('settings_email')
- ->where('id', '=', 1)
- ->update(['sys_email' => $id]);
- } elseif ($request->input('count') <= 1 && $request->sys_email == null) {
- $system = \DB::table('settings_email')
- ->where('id', '=', 1)
- ->update(['sys_email' => null]);
- }
- $return = 1;
- } catch (Exception $e) {
- $return = $e->getMessage();
- }
-
- return $return;
- }
-
- /**
- * Remove the specified resource from storage.
- *
- * @param type int $id
- * @param type Emails $email
- *
- * @return type Redirect
- */
- public function destroy($id, Emails $email)
- {
- // fetching the details on the basis of the $id passed to the function
- $default_system_email = Email::where('id', '=', '1')->first();
- if ($default_system_email->sys_email) {
- // checking if the default system email is the passed email
- if ($id == $default_system_email->sys_email) {
- return redirect('emails')->with('fails', Lang::get('lang.you_cannot_delete_system_default_email'));
- }
- }
- try {
- // fetching the database instance of the current email
- $emails = $email->whereId($id)->first();
- // checking if deleting the email is success or if it's carrying any dependencies
- if ($emails->delete() == true) {
- return redirect('emails')->with('success', Lang::get('lang.email_deleted_sucessfully'));
- } else {
- return redirect('emails')->with('fails', Lang::get('lang.email_can_not_delete'));
- }
- } catch (Exception $e) {
- // returns if the try fails
- return redirect()->back()->with('fails', $e->getMessage());
- }
- }
-
- /**
- * Create imap connection.
- *
- * @param type $request
- *
- * @return type int
- */
- public function getImapStream($request, $validate)
- {
- $fetching_status = $request->input('fetching_status');
- $username = $request->input('email_address');
- $password = $request->input('password');
- $protocol_id = $request->input('mailbox_protocol');
- $fetching_protocol = '/'.$request->input('fetching_protocol');
- $fetching_encryption = '/'.$request->input('fetching_encryption');
- if ($fetching_encryption == '/none') {
- $fetching_encryption2 = '/novalidate-cert';
- $mailbox_protocol = $fetching_encryption2;
- $host = $request->input('fetching_host');
- $port = $request->input('fetching_port');
- $mailbox = '{'.$host.':'.$port.$fetching_protocol.$mailbox_protocol.'}INBOX';
- } else {
- $mailbox_protocol = $fetching_protocol.$fetching_encryption;
- $host = $request->input('fetching_host');
- $port = $request->input('fetching_port');
- $mailbox = '{'.$host.':'.$port.$mailbox_protocol.$validate.'}INBOX';
- $mailbox_protocol = $fetching_encryption.$validate;
- }
- try {
- $imap_stream = imap_open($mailbox, $username, $password);
- } catch (\Exception $ex) {
- \Log::error($ex->getMessage());
-
- return $ex->getMessage();
- }
- //$imap_stream = imap_open($mailbox, $username, $password);
- if ($imap_stream) {
- $return = [0 => 1, 1 => $mailbox_protocol];
- } else {
- $return = [0 => 0];
- }
-
- return $return;
- }
-
- /**
- * Check connection.
- *
- * @param type $imap_stream
- *
- * @return type int
- */
- public function checkImapStream($imap_stream)
- {
- $check_imap_stream = imap_check($imap_stream);
- if ($check_imap_stream) {
- $imap_stream = 1;
- } else {
- $imap_stream = 0;
- }
-
- return $imap_stream;
- }
-
- /**
- * Get smtp connection.
- *
- * @param type $request
- *
- * @return int
- */
- public function getSmtp($request)
- {
- $sending_status = $request->input('sending_status');
- // cheking for the sending protocol
- if ($request->input('sending_protocol') == 'smtp') {
- $mail = new \PHPMailer();
- $mail->isSMTP();
- $mail->Host = $request->input('sending_host'); // Specify main and backup SMTP servers
- //$mail->SMTPAuth = true; // Enable SMTP authentication
- $mail->Username = $request->input('email_address'); // SMTP username
- $mail->Password = $request->input('password'); // SMTP password
- $mail->SMTPSecure = $request->input('sending_encryption'); // Enable TLS encryption, `ssl` also accepted
- $mail->Port = $request->input('sending_port'); // TCP port to connect to
- if (!$request->input('smtp_validate')) {
- $mail->SMTPAuth = true; // Enable SMTP authentication
- $mail->SMTPOptions = [
- 'ssl' => [
- 'verify_peer' => false,
- 'verify_peer_name' => false,
- 'allow_self_signed' => true,
- ],
- ];
- if ($mail->smtpConnect($mail->SMTPOptions) == true) {
- $mail->smtpClose();
- $return = 1;
- } else {
- $return = 0;
- }
- } else {
- if ($mail->smtpConnect()) {
- $mail->smtpClose();
- $return = 1;
- } else {
- $return = 0;
- }
- }
- } elseif ($request->input('sending_protocol') == 'mail') {
- $return = 1;
- }
-
- return $return;
- }
-
- /**
- * Checking if department value is null.
- *
- * @param type $dept
- *
- * @return type string or null
- */
- public function departmentValue($dept)
- {
- if ($dept) {
- $email_department = $dept;
- } else {
- $email_department = null;
- }
-
- return $email_department;
- }
-
- /**
- * Checking if priority value is null.
- *
- * @param type $priority
- *
- * @return type string or null
- */
- public function priorityValue($priority)
- {
- if ($priority) {
- $email_priority = $priority;
- } else {
- $email_priority = null;
- }
-
- return $email_priority;
- }
-
- /**
- * Checking if helptopic value is null.
- *
- * @param type $help_topic
- *
- * @return type string or null
- */
- public function helpTopicValue($help_topic)
- {
- if ($help_topic) {
- $email_help_topic = $help_topic;
- } else {
- $email_help_topic = null;
- }
-
- return $email_help_topic;
- }
-
- public function emailService($service, $value = [])
- {
- switch ($service) {
- case 'mailgun':
- $this->setServiceConfig($service, $value);
- case 'mandrill':
- $this->setServiceConfig($service, $value);
- case 'ses':
- $this->setServiceConfig($service, $value);
- }
- }
-
- public function setServiceConfig($service, $value)
- {
- //dd($service);
- if (count($value) > 0) {
- foreach ($value as $k => $v) {
- \Config::set("services.$service.$k", $v);
- }
- }
- }
-
- public function jsonResponse($out, $in)
- {
- if ($out !== 1) {
- $result = ['fails' => Lang::get('lang.outgoing_email_connection_failed')];
- }
- if ($in[0] !== 1) {
- $result = ['fails' => Lang::get('lang.incoming_email_connection_failed_please_check_email_credentials_or_imap_settings')];
- }
- if ($out === 1 && $in[0] === 1) {
- $result = ['success' => Lang::get('lang.success')];
- }
-
- return response()->json(compact('result'));
- }
-
- public function saveMailService($emailid, $request, $driver)
- {
- $mail_service = new \App\Model\MailJob\FaveoMail();
- $mails = $mail_service->where('email_id', $emailid)->get();
- if (count($request) > 0) {
- foreach ($mails as $mail) {
- $mail->delete();
- }
- foreach ($request as $key => $value) {
- $mail_service->create([
- 'drive' => $driver,
- 'key' => $key,
- 'value' => $value,
- 'email_id' => $emailid,
- ]);
- }
- }
- }
-}
diff --git a/app/Http/Controllers/Admin/helpdesk/FormController.php b/app/Http/Controllers/Admin/helpdesk/FormController.php
index 27b35d35a..5a7d90d9b 100644
--- a/app/Http/Controllers/Admin/helpdesk/FormController.php
+++ b/app/Http/Controllers/Admin/helpdesk/FormController.php
@@ -144,12 +144,14 @@ class FormController extends Controller
'required' => $require[$i],
]);
$field_id = $field->id;
- $this->createValues($field_id, Input::get('value')[$i]);
+ $this->createValues($field_id, Input::get('value')[$i], null, $name);
}
}
return Redirect::back()->with('success', Lang::get('lang.successfully_created_form'));
} catch (Exception $ex) {
+ dd($ex);
+
return redirect()->back()->with('fails', $ex->getMessage());
}
}
@@ -255,11 +257,13 @@ class FormController extends Controller
'required' => Input::get('required')[$i],
]);
$field_id = $field->id;
- $this->createValues($field_id, Input::get('value')[$i]);
+ $this->createValues($field_id, Input::get('value')[$i], null, $name);
}
return redirect()->back()->with('success', 'updated');
} catch (Exception $ex) {
+ dd($ex);
+
return redirect()->back()->with('fails', $ex->getMessage());
}
}
@@ -531,7 +535,7 @@ class FormController extends Controller
$session = self::getSession();
$script = self::jqueryScript($field_value = '', $field->id, $field->name, $field_type);
$form_hidden = Form::hidden('fieldid[]', $field->id, ['id' => 'hidden'.$session.$field->id]).Form::label($field->label, $field->label, ['class' => $required_class]);
- $select = Form::$field_type($field->name, ['' => 'Select', 'Selects' => $field->values()->lists('field_value', 'field_value')->toArray()], null, ['class' => "form-control $session$field->id", 'id' => $session.$field->id, 'required' => $required]).'';
+ $select = Form::$field_type($field->name, ['' => 'Select', 'Selects' => self::removeUnderscoreFromDB($field->values()->lists('field_value', 'field_value')->toArray())], null, ['class' => "form-control $session$field->id", 'id' => $session.$field->id, 'required' => $required]).'';
$html = $script.$form_hidden.$select;
$response_div = '
';
@@ -617,4 +621,16 @@ class FormController extends Controller
return $form;
}
+
+ public static function removeUnderscoreFromDB($array)
+ {
+ $result = [];
+ if (is_array($array) && count($array) > 0) {
+ foreach ($array as $key => $value) {
+ $result[$key] = removeUnderscore($value);
+ }
+ }
+
+ return $result;
+ }
}
diff --git a/app/Http/Controllers/Admin/helpdesk/GroupController.php b/app/Http/Controllers/Admin/helpdesk/GroupController.php
index 64f35e493..e07b401cb 100644
--- a/app/Http/Controllers/Admin/helpdesk/GroupController.php
+++ b/app/Http/Controllers/Admin/helpdesk/GroupController.php
@@ -124,6 +124,10 @@ class GroupController extends Controller
{
// Database instannce to the current id
$var = $group->whereId($id)->first();
+ $is_group_assigned = User::select('id')->where('assign_group', '=', $id)->count();
+ if ($is_group_assigned >= 1 && $request->input('group_status') == '0') {
+ return redirect('groups')->with('fails', Lang::get('lang.group_can_not_update').''.Lang::get('lang.can-not-inactive-group').' ');
+ }
// Updating Name
$var->name = $request->input('name');
//Updating Status
diff --git a/app/Http/Controllers/Admin/helpdesk/PriorityController.php b/app/Http/Controllers/Admin/helpdesk/PriorityController.php
index 81076baf9..8a2228c82 100644
--- a/app/Http/Controllers/Admin/helpdesk/PriorityController.php
+++ b/app/Http/Controllers/Admin/helpdesk/PriorityController.php
@@ -44,7 +44,7 @@ class PriorityController extends Controller
*/
public function priorityIndex()
{
- $user_status = CommonSettings::where('id', '=', 6)->first();
+ $user_status = CommonSettings::where('option_name', '=', 'user_priority')->first();
// dd( $user_status);
return view('themes.default1.admin.helpdesk.manage.ticket_priority.index', compact('user_status'));
@@ -60,7 +60,7 @@ class PriorityController extends Controller
try {
$user_status = $request->user_settings_priority;
- CommonSettings::where('id', '=', 6)->update(['status' => $user_status]);
+ CommonSettings::where('option_name', '=', 'user_priority')->update(['status' => $user_status]);
return 'Your Status Updated';
} catch (Exception $e) {
@@ -94,7 +94,7 @@ class PriorityController extends Controller
})
->addColumn('action', function ($model) {
if ($model->is_default > 0) {
- return 'priority_id.'/edit')." class='btn btn-info btn-xs' disabled='disabled'>Edit delete ";
+ return 'priority_id.'/edit')." class='btn btn-info btn-xs' disabled='disabled'>Edit delete ";
} else {
return 'priority_id.'/edit')." class='btn btn-info btn-xs'>Edit Delete ";
}
@@ -156,7 +156,7 @@ class PriorityController extends Controller
$tk_priority->ispublic = $request->ispublic;
$tk_priority->save();
if ($request->input('default_priority') == 'on') {
- Ticket_Priority::where('is_default', '=', 1)
+ Ticket_Priority::where('is_default', '>', 0)
->update(['is_default' => 0]);
Ticket_Priority::where('priority_id', '=', $priority_id)
->update(['is_default' => 1]);
diff --git a/app/Http/Controllers/Admin/helpdesk/SettingsController.php b/app/Http/Controllers/Admin/helpdesk/SettingsController.php
index 770b4d091..439bee481 100644
--- a/app/Http/Controllers/Admin/helpdesk/SettingsController.php
+++ b/app/Http/Controllers/Admin/helpdesk/SettingsController.php
@@ -208,6 +208,13 @@ class SettingsController extends Controller
->update(['status' => $request->send_otp]);
$email_mandatory = CommonSettings::where('option_name', '=', 'email_mandatory')
->update(['status' => $request->email_mandatory]);
+
+ if ($request->has('itil')) {
+ $itil = $request->input('itil');
+ $sett = CommonSettings::firstOrCreate(['option_name'=>'itil']);
+ $sett->status = $itil;
+ $sett->save();
+ }
/* redirect to Index page with Success Message */
return redirect('getsystem')->with('success', Lang::get('lang.system_updated_successfully'));
} catch (Exception $e) {
@@ -356,8 +363,8 @@ class SettingsController extends Controller
$workflow = $workflow->whereId('1')->first();
$cron_path = base_path('artisan');
- $command = ":- ***** php $cron_path schedule:run > /dev/null 2>&1 ";
- $shared = ":- /usr/bin/php-cli -q $cron_path schedule:run > /dev/null 2>&1 ";
+ $command = ":- ***** php $cron_path schedule:run >> /dev/null 2>&1 ";
+ $shared = ":- /usr/bin/php-cli -q $cron_path schedule:run >> /dev/null 2>&1 ";
$warn = '';
$condition = new \App\Model\MailJob\Condition();
$job = $condition->checkActiveJob();
@@ -906,7 +913,7 @@ class SettingsController extends Controller
$fetching_command = $this->getCommand($fetching_commands, $fetching_dailyAt);
$notification_command = $this->getCommand($notification_commands, $notification_dailyAt);
$work_command = $this->getCommand($work_commands, $workflow_dailyAt);
- $jobs = ['fetching' => $fetching_command, 'notification' => $notification_command, 'work' => $work_command];
+ $jobs = ['fetching'=>$fetching_command, 'notification'=>$notification_command, 'work'=>$work_command];
$this->storeCommand($jobs);
}
}
@@ -930,10 +937,10 @@ class SettingsController extends Controller
}
}
if (count($array) > 0) {
- foreach ($array as $key => $save) {
+ foreach ($array as $key=>$save) {
$command->create([
- 'job' => $key,
- 'value' => $save,
+ 'job' => $key,
+ 'value'=> $save,
]);
}
}
diff --git a/app/Http/Controllers/Admin/helpdesk/UrlSettingController.php b/app/Http/Controllers/Admin/helpdesk/UrlSettingController.php
index dc4b25e3d..fd8d966b5 100644
--- a/app/Http/Controllers/Admin/helpdesk/UrlSettingController.php
+++ b/app/Http/Controllers/Admin/helpdesk/UrlSettingController.php
@@ -64,11 +64,8 @@ RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]\n";
public function changeNonwww()
{
- // $string = "\nRewriteEngine On
-//RewriteBase /
-//RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
-//RewriteRule ^(.*)$ http://%1/$1 [R=301,L]\n";
- $string = '';
+ $string = "RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
+RewriteRule ^(.*)$ http://%1/$1 [R=301,L]\n";
return $string;
}
@@ -102,7 +99,11 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]\n";
public function writeHtaccess($string)
{
+ //dd(public_path('.htaccess'),base_path('.htaccess'));
$file = public_path('.htaccess');
+ if (!\File::exists($file)) {
+ $file = base_path('/../.htaccess');
+ }
$this->deleteCustom();
$content = file_get_contents($file);
file_put_contents($file, $content."#custom\n".$string);
@@ -112,6 +113,9 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]\n";
public function deleteCustom()
{
$file = public_path('.htaccess');
+ if (!\File::exists($file)) {
+ $file = base_path('/../.htaccess');
+ }
$content = file_get_contents($file);
$custom_pos = strpos($content, '#custom');
if ($custom_pos) {
diff --git a/app/Http/Controllers/Admin/helpdesk/WorkflowController.php b/app/Http/Controllers/Admin/helpdesk/WorkflowController.php
index d5f50efb2..f0756bf77 100644
--- a/app/Http/Controllers/Admin/helpdesk/WorkflowController.php
+++ b/app/Http/Controllers/Admin/helpdesk/WorkflowController.php
@@ -356,7 +356,7 @@ class WorkflowController extends Controller
*/
public function priority($id)
{
- $priorities = Ticket_Priority::all();
+ $priorities = Ticket_Priority::where('status', '=', 1)->get();
$var = "";
foreach ($priorities as $priority) {
$var .= "".$priority->priority_desc.' ';
diff --git a/app/Http/Controllers/Agent/helpdesk/Filter/FilterController.php b/app/Http/Controllers/Agent/helpdesk/Filter/FilterController.php
new file mode 100644
index 000000000..4b6ba59ed
--- /dev/null
+++ b/app/Http/Controllers/Agent/helpdesk/Filter/FilterController.php
@@ -0,0 +1,338 @@
+middleware(['auth', 'role.agent']);
+ $this->request = $req;
+ }
+
+ public function getFilter(Request $request)
+ {
+ $labels = $this->request->input('labels');
+ $tags = $this->request->input('tags');
+ if ($request->has('department')) {
+ $table = $this->departmentTickets($request->input('department'), $request->input('status'));
+ } else {
+ $segment = $this->request->input('segment');
+ $table = $this->segments($segment);
+ }
+ $tickets = [];
+ $render = false;
+ if (is_array($labels) && count($labels) > 0) {
+ $table = $table
+ ->leftJoin('filters as label', function ($join) {
+ $join->on('tickets.id', '=', 'label.ticket_id')
+ ->where('label.key', '=', 'label');
+ })
+ ->whereIn('label.value', $labels);
+ }
+ if (is_array($tags) && count($tags) > 0) {
+ $table = $table
+ ->leftJoin('filters as tag', function ($join) {
+ $join->on('tickets.id', '=', 'tag.ticket_id')
+ ->where('tag.key', '=', 'tag');
+ })
+ ->whereIn('tag.value', $tags);
+ }
+ if ((is_array($tags) && count($tags) > 0) || (is_array($labels) && count($labels) > 0)) {
+ $render = true;
+ }
+ // return \Datatables::of($table)->make();
+ return \Ttable::getTable($table);
+ }
+
+ public function filterByKey($key, $labels = [])
+ {
+ $filter = new Filter();
+ $query = $filter->where('key', $key)
+ ->where(function ($query) use ($labels) {
+ if (is_array($labels) && count($labels) > 0) {
+ for ($i = 0; $i < count($labels); $i++) {
+ $query->orWhere('value', 'LIKE', '%'.$labels[$i].'%');
+ }
+ }
+ })
+ ->lists('ticket_id')
+ ->toArray();
+
+ return $query;
+ }
+
+ public function segments($segment)
+ {
+ if (strpos($segment, 'user') !== false) {
+ return $this->formatUserTickets($segment);
+ }
+ $table = $this->table();
+ switch ($segment) {
+ case '/ticket/inbox':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id)->orWhere('assigned_to', '=', Auth::user()->id);
+ }
+
+ return $table
+ ->Join('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status')
+ ->whereIn('ticket_status.id', [1, 7]);
+ });
+ case '/ticket/closed':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->Join('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status')
+ ->whereIn('ticket_status.state', ['closed']);
+ });
+ case '/ticket/myticket':
+ return $table
+ ->leftJoin('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status');
+ })
+ ->orWhere('tickets.assigned_to', '=', Auth::user()->id)
+ ->where('tickets.status', '=', 1);
+ case '/unassigned':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->leftJoin('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status');
+ })
+ ->where('tickets.assigned_to', '=', null)
+ ->where('tickets.status', '=', 1);
+ case '/ticket/overdue':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->leftJoin('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status');
+ })
+ ->where('tickets.status', '=', 1)
+ // ->where('tickets.isanswered', '=', 0)
+ ->whereNotNull('tickets.duedate')
+ ->where('tickets.duedate', '!=', '00-00-00 00:00:00')
+
+ // ->where('duedate','>',\Carbon\Carbon::now());
+ ->where('tickets.duedate', '<', \Carbon\Carbon::now());
+ case '/ticket/approval/closed':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->Join('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status')
+ ->where('tickets.status', '=', 7);
+ });
+
+ case '/trash':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->Join('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status')
+ ->where('tickets.status', '=', 5);
+ });
+
+ case '/ticket/answered':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->Join('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status')
+ ->where('tickets.status', '=', 1)
+ ->where('tickets.isanswered', '=', 1);
+ });
+ case '/ticket/assigned':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->leftJoin('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status');
+ })
+ ->where('tickets.assigned_to', '>', 0)
+ ->where('tickets.status', '=', 1);
+ case '/ticket/open':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->leftJoin('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status');
+ })
+ ->where('tickets.status', '=', 1);
+ case '/duetoday':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->leftJoin('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status');
+ })
+ ->where('tickets.status', '=', 1)
+
+ ->whereNotNull('tickets.duedate')
+ ->whereDate('tickets.duedate', '=', \Carbon\Carbon::now()->format('Y-m-d'));
+
+ case '/ticket/followup':
+ if (Auth::user()->role == 'agent') {
+ $id = Auth::user()->primary_dpt;
+ $table = $table->where('tickets.dept_id', '=', $id);
+ }
+
+ return $table
+ ->leftJoin('ticket_status', function ($join) {
+ $join->on('ticket_status.id', '=', 'tickets.status');
+ })
+ ->where('tickets.status', '=', 1)
+ // ->where('tickets.isanswered', '=', 0)
+ ->where('tickets.follow_up', '=', 1);
+ }
+ }
+
+ public function table()
+ {
+ // if (Auth::user()->role == 'admin') {
+ $ticket = new Tickets();
+ $tickets = $ticket
+ ->leftJoin('ticket_thread', function ($join) {
+ $join->on('tickets.id', '=', 'ticket_thread.ticket_id')
+ ->whereNotNull('title')
+ ->where('ticket_thread.is_internal', '<>', 1);
+ })
+
+ ->Join('ticket_source', 'ticket_source.id', '=', 'tickets.source')
+ ->leftJoin('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
+ ->leftJoin('users as u', 'u.id', '=', 'tickets.user_id')
+ ->leftJoin('users as u1', 'u1.id', '=', 'tickets.assigned_to')
+ ->leftJoin('ticket_attachment', 'ticket_attachment.thread_id', '=', 'ticket_thread.id')
+
+ ->leftJoin('ticket_collaborator', 'ticket_collaborator.ticket_id', '=', 'tickets.id')
+ ->select(
+ 'tickets.id',
+ 'ticket_thread.title',
+ 'tickets.ticket_number',
+ 'ticket_priority.priority',
+ 'u.user_name as user_name',
+ 'u1.user_name as assign_user_name',
+ \DB::raw('max(ticket_thread.updated_at) as updated_at'),
+ \DB::raw('min(ticket_thread.updated_at) as created_at'),
+ 'tickets.priority_id', 'tickets.assigned_to',
+ DB::raw('COUNT(ticket_thread.updated_at) as countthread'),
+ 'ticket_priority.priority_color',
+ 'u.first_name as first_name',
+ 'u.last_name as last_name',
+ 'u1.first_name as assign_first_name',
+ 'u1.last_name as assign_last_name',
+ 'tickets.status',
+ 'tickets.user_id',
+ DB::raw('COUNT(ticket_attachment.thread_id) as countattachment'),
+ DB::raw('COUNT(ticket_collaborator.ticket_id) as countcollaborator'),
+ 'ticket_status.name as tickets_status',
+ 'ticket_source.css_class as css',
+ DB::raw('substring_index(group_concat(ticket_thread.poster order by ticket_thread.id desc) , ",", 1) as last_replier'),
+ DB::raw('substring_index(group_concat(ticket_thread.title order by ticket_thread.id asc) , ",", 1) as ticket_title'),
+ 'u.active as verified')
+ ->groupby('tickets.id');
+
+ return $tickets;
+ }
+
+ public function filter($render, $ticket_id = [])
+ {
+ if (Auth::user()->role == 'admin') {
+ $tickets = Tickets::whereIn('status', [1, 7]);
+ } else {
+ $dept = DB::table('department')->where('id', '=', Auth::user()->primary_dpt)->first();
+ $tickets = Tickets::whereIn('status', [1, 7])->where('dept_id', '=', $dept->id);
+ }
+ if ($render == true) {
+ $tickets = $tickets->whereIn('id', $ticket_id);
+ }
+
+ return $tickets;
+ }
+
+ public function ticketController()
+ {
+ $PhpMailController = new \App\Http\Controllers\Common\PhpMailController();
+ $NotificationController = new \App\Http\Controllers\Common\NotificationController();
+ $ticket_controller = new TicketController($PhpMailController, $NotificationController);
+
+ return $ticket_controller;
+ }
+
+ public function departmentTickets($dept, $status)
+ {
+ $table = $this->table();
+
+ return $table->leftJoin('department as dep', 'tickets.dept_id', '=', 'dep.id')
+ ->leftJoin('ticket_status', 'tickets.status', '=', 'ticket_status.id')
+ ->where('dep.name', $dept)
+ ->where('ticket_status.name', $status);
+ }
+
+ /**
+ *@category function to format and return user tickets
+ *
+ *@param string $segment
+ *
+ *@return builder
+ */
+ public function formatUserTickets($segment)
+ {
+ $convert_to_array = explode('/', $segment);
+ $user_id = $convert_to_array[2];
+ $user = \DB::table('users')->select('role', 'id')->where('id', '=', $user_id)->first();
+ $table = $this->table();
+ if ($user->role == 'user') {
+ $table = $table->leftJoin('ticket_status', 'tickets.status', '=', 'ticket_status.id')
+ ->where('tickets.user_id', '=', $user->id)
+ ->where('ticket_status.name', $convert_to_array[3]);
+ } else {
+ $table = $table->leftJoin('ticket_status', 'tickets.status', '=', 'ticket_status.id')
+ ->where('tickets.assigned_to', '=', $user->id)
+ ->where('ticket_status.name', $convert_to_array[3]);
+ }
+
+ return $table;
+ }
+}
diff --git a/app/Http/Controllers/Agent/helpdesk/MailController.php b/app/Http/Controllers/Agent/helpdesk/MailController.php
index 84414b546..988260805 100644
--- a/app/Http/Controllers/Agent/helpdesk/MailController.php
+++ b/app/Http/Controllers/Agent/helpdesk/MailController.php
@@ -180,8 +180,10 @@ class MailController extends Controller
public function message($messages, $email)
{
- foreach ($messages as $message) {
- $this->getMessageContent($message, $email);
+ if (count($messages) > 0) {
+ foreach ($messages as $message) {
+ $this->getMessageContent($message, $email);
+ }
}
}
@@ -191,6 +193,7 @@ class MailController extends Controller
if (!$body) {
$body = $message->getMessageBody();
}
+ $body = $this->separateReply($body);
$subject = $message->getSubject();
$address = $message->getAddresses('reply-to');
if (!$address) {
@@ -231,7 +234,17 @@ class MailController extends Controller
$thread = Ticket_Thread::where('id', '=', $thread_id)->first();
$thread->body = $this->separate_reply($body);
$thread->save();
- $this->saveAttachments($thread->id, $attachments);
+ if (file_exists(app_path('/FaveoStorage/Controllers/StorageController.php'))) {
+ try {
+ $storage = new \App\FaveoStorage\Controllers\StorageController();
+ $storage->saveAttachments($thread->id, $attachments);
+ } catch (\Exception $ex) {
+ loging('attachment', $ex->getMessage());
+ }
+ } else {
+ loging('attachment', 'FaveoStorage not installed');
+ }
+
\Log::info('Ticket has created : ', ['id' => $thread->ticket_id]);
}
@@ -249,6 +262,8 @@ class MailController extends Controller
$type = $attachment->getMimeType();
$size = $attachment->getSize();
$data = $attachment->getData();
+ //$path = storage_path('/');
+ //$attachment->saveToDirectory($path);
$this->manageAttachment($data, $filename, $type, $size, $disposition, $thread_id);
$this->updateBody($attachment, $thread_id, $filename);
}
@@ -276,18 +291,15 @@ class MailController extends Controller
if (isset($structure->disposition)) {
$disposition = $structure->disposition;
}
- if ($disposition == 'INLINE') {
+ if ($disposition == 'INLINE' || $disposition == 'inline') {
$id = str_replace('>', '', str_replace('<', '', $structure->id));
//$filename = $attachment->getFileName();
- $path = public_path('attachments');
- $filepath = asset('attachments/'.$filename);
$threads = new Ticket_Thread();
$thread = $threads->find($thread_id);
$body = $thread->body;
$body = str_replace('cid:'.$id, $filename, $body);
$thread->body = $body;
$thread->save();
- $attachment->saveToDirectory($path);
}
}
@@ -355,4 +367,21 @@ class MailController extends Controller
->header('Content-Transfer-Encoding', 'binary');
}
}
+
+ /**
+ * separate reply.
+ *
+ * @param type $body
+ *
+ * @return type string
+ */
+ public function separateReply($body)
+ {
+ $body2 = explode('---Reply above this line---', $body);
+ if (is_array($body2) && array_key_exists(0, $body2)) {
+ $body = $body2[0];
+ }
+
+ return $body;
+ }
}
diff --git a/app/Http/Controllers/Agent/helpdesk/NotificationController.php b/app/Http/Controllers/Agent/helpdesk/NotificationController.php
index fb5056ae0..13b4f6d9f 100644
--- a/app/Http/Controllers/Agent/helpdesk/NotificationController.php
+++ b/app/Http/Controllers/Agent/helpdesk/NotificationController.php
@@ -40,7 +40,7 @@ class NotificationController extends Controller
//dd('yes');
$send = 0;
$date = [0];
- // dd($date);
+ // dd($date);
// checking if the daily notification is enabled or not
if ($email->notification_cron == 1) {
// checking if current date is equal to the last entered daily notification log
@@ -48,20 +48,20 @@ class NotificationController extends Controller
if ($notification) {
$date = explode(' ', $notification->created_at);
}
- // if (date('Y-m-d') !== $date[0]) {
- // creating a daily notification log
+ // if (date('Y-m-d') !== $date[0]) {
+ // creating a daily notification log
- $company = $this->company();
- // Send notification details to admin
- $send += $this->send_notification_to_admin($company);
- // Send notification details to team lead
- $send += $this->send_notification_to_team_lead($company);
- // Send notification details to manager of a department
- $send += $this->send_notification_to_manager($company);
- // Send notification details to all the agents
- $send += $this->send_notification_to_agent($company);
+ $company = $this->company();
+ // Send notification details to admin
+ $send += $this->send_notification_to_admin($company);
+ // Send notification details to team lead
+ $send += $this->send_notification_to_team_lead($company);
+ // Send notification details to manager of a department
+ $send += $this->send_notification_to_manager($company);
+ // Send notification details to all the agents
+ $send += $this->send_notification_to_agent($company);
//}
- Log_notification::create(['log' => 'NOT-1']);
+ Log_notification::create(['log' => 'NOT-1']);
}
return $send;
@@ -94,11 +94,8 @@ class NotificationController extends Controller
'scenario' => null,
'body' => $contents,
];
- $job = new \App\Jobs\SendEmail($from, $to, $message);
- $dispatch = $this->dispatch($job);
- return $dispatch;
- //return $this->PhpMailController->sendEmail($from,$to,$message);
+ return $this->PhpMailController->sendEmail($from, $to, $message);
}
}
@@ -132,8 +129,7 @@ class NotificationController extends Controller
'body' => $contents,
];
- return $this->dispatch((new \App\Jobs\SendEmail($from, $to, $message)));
- //$this->PhpMailController->sendEmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user_name, 'email' => $email], $message = ['subject' => 'Daily Report', 'scenario' => null, 'body' => $contents]);
+ return $this->PhpMailController->sendEmail($from, $to, $message);
}
}
}
@@ -169,8 +165,7 @@ class NotificationController extends Controller
'body' => $contents,
];
- return $this->dispatch((new \App\Jobs\SendEmail($from, $to, $message)));
- //$this->PhpMailController->sendEmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user_name, 'email' => $email], $message = ['subject' => 'Daily Report', 'scenario' => null, 'body' => $contents]);
+ return $this->PhpMailController->sendEmail($from, $to, $message);
}
}
}
@@ -195,15 +190,14 @@ class NotificationController extends Controller
$to = [
'name' => $user_name,
'email' => $email,
- ];
+ ];
$message = [
'subject' => 'Daily Report',
'scenario' => null,
'body' => $contents,
- ];
+ ];
- return $this->dispatch((new \App\Jobs\SendEmail($from, $to, $message)));
- //$this->PhpMailController->sendEmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user_name, 'email' => $email], $message = ['subject' => 'Daily Report', 'scenario' => null, 'body' => $contents]);
+ return $this->PhpMailController->sendEmail($from, $to, $message);
}
}
diff --git a/app/Http/Controllers/Agent/helpdesk/OrganizationController.php b/app/Http/Controllers/Agent/helpdesk/OrganizationController.php
index 3d95a517d..3e9c51b4f 100644
--- a/app/Http/Controllers/Agent/helpdesk/OrganizationController.php
+++ b/app/Http/Controllers/Agent/helpdesk/OrganizationController.php
@@ -61,16 +61,6 @@ class OrganizationController extends Controller
}
}
- /**
- * This function is used autofill organizations name .
- *
- * @return datatable
- */
- public function organizationAutofill()
- {
- return view('themes.default1.agent.helpdesk.organization.getautocomplete');
- }
-
/**
* This function is used to display the list of Organizations.
*
@@ -351,4 +341,14 @@ class OrganizationController extends Controller
return $orgs;
}
+
+ /**
+ * This function is used autofill organizations name .
+ *
+ * @return datatable
+ */
+ public function organizationAutofill()
+ {
+ return view('themes.default1.agent.helpdesk.organization.getautocomplete');
+ }
}
diff --git a/app/Http/Controllers/Agent/helpdesk/Ticket2Controller.php b/app/Http/Controllers/Agent/helpdesk/Ticket2Controller.php
deleted file mode 100644
index 43325bf74..000000000
--- a/app/Http/Controllers/Agent/helpdesk/Ticket2Controller.php
+++ /dev/null
@@ -1,146 +0,0 @@
-
- */
-class Ticket2Controller extends Controller
-{
- /**
- * Create a new controller instance.
- *
- * @return type response
- */
- public function __construct()
- {
- $this->middleware('auth');
- }
-
- /**
- * Show the Inbox ticket list page.
- *
- * @return type response
- */
- public function deptopen($id)
- {
- $dept = Department::where('name', '=', $id)->first();
- if (Auth::user()->role == 'agent') {
- if (Auth::user()->dept_id == $dept->id) {
- return view('themes.default1.agent.helpdesk.dept-ticket.open', compact('id'));
- } else {
- return redirect()->back()->with('fails', 'Unauthorised!');
- }
- } else {
- return view('themes.default1.agent.helpdesk.dept-ticket.open', compact('id'));
- }
- }
-
- /**
- * this function returns the list of open tickets of a particular department.
- *
- * @param type $id
- *
- * @return type
- */
- public function getOpenTickets($id)
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('dept_id', '=', $id)->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('dept_id', '=', $dept->id)->get();
- }
-
- return Ttable::getTable($tickets);
- }
-
- /**
- * Show the Inbox ticket list page.
- *
- * @return type response
- */
- public function deptclose($id)
- {
- $dept = Department::where('name', '=', $id)->first();
- if (Auth::user()->role == 'agent') {
- if (Auth::user()->dept_id == $dept->id) {
- return view('themes.default1.agent.helpdesk.dept-ticket.closed', compact('id'));
- } else {
- return redirect()->back()->with('fails', 'Unauthorised!');
- }
- } else {
- return view('themes.default1.agent.helpdesk.dept-ticket.closed', compact('id'));
- }
- }
-
- /**
- * this function returns the list of close tickets of a particular department.
- *
- * @param type $id
- *
- * @return type
- */
- public function getCloseTickets($id)
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', '2')->where('status', '=', '3')->where('dept_id', '=', $id)->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '=', '2')->where('status', '=', '3')->where('dept_id', '=', $dept->id)->get();
- }
-
- return Ttable::getTable($tickets);
- }
-
- /**
- * this function returns the list of close tickets of a particular department.
- *
- * @param type $id
- *
- * @return type
- */
- public function deptinprogress($id)
- {
- $dept = Department::where('name', '=', $id)->first();
- if (Auth::user()->role == 'agent') {
- if (Auth::user()->dept_id == $dept->id) {
- return view('themes.default1.agent.helpdesk.dept-ticket.inprogress', compact('id'));
- } else {
- return redirect()->back()->with('fails', 'Unauthorised!');
- }
- } else {
- return view('themes.default1.agent.helpdesk.dept-ticket.inprogress', compact('id'));
- }
- }
-
- /**
- *Show the list of In process tickets.
- *
- *@param $id int
- */
- public function getInProcessTickets($id)
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', '1')->where('assigned_to', '>', 0)->where('dept_id', '=', $id)->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '=', '1')->where('assigned_to', '>', 0)->where('dept_id', '=', $dept->id)->get();
- }
-
- return Ttable::getTable($tickets);
- }
-}
diff --git a/app/Http/Controllers/Agent/helpdesk/TicketController.php b/app/Http/Controllers/Agent/helpdesk/TicketController.php
index 40a477ac8..1749ccfb2 100644
--- a/app/Http/Controllers/Agent/helpdesk/TicketController.php
+++ b/app/Http/Controllers/Agent/helpdesk/TicketController.php
@@ -76,19 +76,12 @@ class TicketController extends Controller
*/
public function inbox_ticket_list()
{
- return view('themes.default1.agent.helpdesk.ticket.inbox');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- public function get_inbox()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::whereIn('status', [1, 7])->get();
- } else {
- $dept = DB::table('department')->where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::whereIn('status', [1, 7])->where('dept_id', '=', $dept->id)->orWhere('assigned_to', '=', Auth::user()->id)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.inbox', compact('table'));
}
/**
@@ -98,19 +91,12 @@ class TicketController extends Controller
*/
public function open_ticket_list()
{
- return view('themes.default1.agent.helpdesk.ticket.open');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- public function get_open()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('dept_id', '=', $dept->id)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.open', compact('table'));
}
/**
@@ -120,19 +106,12 @@ class TicketController extends Controller
*/
public function answered_ticket_list()
{
- return view('themes.default1.agent.helpdesk.ticket.answered');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- public function get_answered()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', 1)->where('isanswered', '=', 1)->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '=', 1)->where('isanswered', '=', 1)->where('dept_id', '=', $dept->id)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.answered', compact('table'));
}
/**
@@ -142,18 +121,12 @@ class TicketController extends Controller
*/
public function myticket_ticket_list()
{
- return view('themes.default1.agent.helpdesk.ticket.myticket');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- public function get_myticket()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', 1)->where('assigned_to', '=', Auth::user()->id)->get();
- } else {
- $tickets = Tickets::where('status', '=', 1)->where('assigned_to', '=', Auth::user()->id)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.myticket', compact('table'));
}
/**
@@ -163,45 +136,12 @@ class TicketController extends Controller
*/
public function overdue_ticket_list()
{
- return view('themes.default1.agent.helpdesk.ticket.overdue');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- /**
- * Ajax response overdue tickets.
- *
- * @return type json
- */
- public function getOverdueTickets()
- {
- if (Auth::user()->role == 'agent') {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $overdues = Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->get();
- } else {
- $overdues = Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->orderBy('id', 'DESC')->get();
- }
- if (count($overdues) == 0) {
- $tickets = null;
- } else {
- $i = 0;
- foreach ($overdues as $overdue) {
- $sla_plan = Sla_plan::where('id', '=', $overdue->sla)->first();
-
- $ovadate = $overdue->created_at;
- $new_date = date_add($ovadate, date_interval_create_from_date_string($sla_plan->grace_period)).' ';
- if (date('Y-m-d H:i:s') > $new_date) {
- $i++;
- $value[] = $overdue;
- }
- }
- // dd(count($value));
- if ($i > 0) {
- $tickets = new collection($value);
- } else {
- $tickets = null;
- }
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.overdue', compact('table'));
}
/**
@@ -211,21 +151,12 @@ class TicketController extends Controller
*/
public function dueTodayTicketlist()
{
- $ldate = date('Y-m-d');
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- return view('themes.default1.agent.helpdesk.ticket.duetodayticket');
- }
-
- public function getDueToday()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', 1)->whereRaw('date(duedate) = ?', [date('Y-m-d')])->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '=', 1)->whereRaw('date(duedate) = ?', [date('Y-m-d')])->where('dept_id', '=', $dept->id)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.duetodayticket', compact('table'));
}
/**
@@ -235,19 +166,12 @@ class TicketController extends Controller
*/
public function closed_ticket_list()
{
- return view('themes.default1.agent.helpdesk.ticket.closed');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- public function get_closed()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '>', 1)->where('status', '<', 4)->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '>', 1)->where('dept_id', '=', $dept->id)->where('status', '<', 4)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.closed', compact('table'));
}
/**
@@ -257,19 +181,12 @@ class TicketController extends Controller
*/
public function assigned_ticket_list()
{
- return view('themes.default1.agent.helpdesk.ticket.assigned');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- public function get_assigned()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', 1)->where('assigned_to', '>', 0)->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '=', 1)->where('assigned_to', '>', 0)->where('dept_id', '=', $dept->id)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.assigned', compact('table'));
}
/**
@@ -281,10 +198,14 @@ class TicketController extends Controller
{
$location = GeoIP::getLocation();
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
+ $pcode = '';
+ if ($phonecode) {
+ $pcode = $phonecode->phonecode;
+ }
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
- return view('themes.default1.agent.helpdesk.ticket.new', compact('email_mandatory', 'settings'))->with('phonecode', $phonecode->phonecode);
+ return view('themes.default1.agent.helpdesk.ticket.new', compact('email_mandatory', 'settings'))->with('phonecode', $pcode);
}
/**
@@ -475,147 +396,162 @@ class TicketController extends Controller
*/
public function reply(Ticket_Thread $thread, Request $request, Ticket_attachments $ta, $mail = true, $system_reply = true, $user_id = '')
{
- //dd($request->all());
- if (is_array($request->file('attachment'))) {
- } else {
- try {
- $size = $this->size();
- } catch (Exception $ex) {
- return $ex->getMessage();
- }
- }
-
- $fileupload = new FileuploadController();
- $fileupload = $fileupload->file_upload_max_size();
- $max_size_in_bytes = $fileupload[0];
- $max_size_in_actual = $fileupload[1];
-
- $attachments = $request->file('attachment');
- $check_attachment = null;
- // Event fire
- $eventthread = $thread->where('ticket_id', $request->input('ticket_ID'))->first();
- //dd($eventthread);
-
- $eventuserid = $eventthread->user_id;
- $emailadd = User::where('id', $eventuserid)->first()->email;
- $source = $eventthread->source;
- $form_data = $request->except('reply_content', 'ticket_ID', 'attachment');
- \Event::fire(new \App\Events\ClientTicketFormPost($form_data, $emailadd, $source));
- $reply_content = $request->input('reply_content');
-
- $thread->ticket_id = $request->input('ticket_ID');
- $thread->poster = 'support';
- $thread->body = $request->input('reply_content');
- if ($system_reply == true) {
- $thread->user_id = Auth::user()->id;
- } else {
- $thread->user_id = $eventuserid;
- if ($user_id !== '') {
- $thread->user_id = $user_id;
- }
- }
- $ticket_id = $request->input('ticket_ID');
-
- $tickets = Tickets::where('id', '=', $ticket_id)->first();
- $tickets->isanswered = '1';
- $tickets->save();
-
- $ticket_user = User::where('id', '=', $tickets->user_id)->first();
- if ($system_reply == true) {
- if ($tickets->assigned_to == 0) {
- $tickets->assigned_to = Auth::user()->id;
- $tickets->save();
- $thread2 = new Ticket_Thread();
- $thread2->ticket_id = $thread->ticket_id;
- $thread2->user_id = Auth::user()->id;
- $thread2->is_internal = 1;
- $thread2->body = 'This Ticket have been assigned to '.Auth::user()->first_name.' '.Auth::user()->last_name;
- $thread2->save();
- $data = [
- 'id' => $tickets->id,
- ];
- \Event::fire('ticket-assignment', [$data]);
- }
- if ($tickets->status > 1) {
- $this->open($ticket_id, new Tickets());
- }
- }
- $thread->save();
-
- if ($attachments != null) {
- foreach ($attachments as $attachment) {
- if ($attachment != null) {
- $name = $attachment->getClientOriginalName();
- $type = $attachment->getClientOriginalExtension();
- $size = $attachment->getSize();
- $data = file_get_contents($attachment->getRealPath());
- $attachPath = $attachment->getRealPath();
- $ta->create(['thread_id' => $thread->id, 'name' => $name, 'size' => $size, 'type' => $type, 'file' => $data, 'poster' => 'ATTACHMENT']);
- $check_attachment = 1;
- } else {
- $check_attachment = null;
+ \Event::fire('reply.request', [$request]);
+ try {
+ if (is_array($request->file('attachment'))) {
+ } else {
+ try {
+ $size = $this->size();
+ } catch (Exception $ex) {
+ return $ex->getMessage();
}
}
- }
- if ($check_attachment == 1) {
- $attachment_files = $this->attachmentSeperate($thread->id);
- } else {
- $attachment_files = null;
- }
+ $fileupload = new FileuploadController();
+ $fileupload = $fileupload->file_upload_max_size();
+ $max_size_in_bytes = $fileupload[0];
+ $max_size_in_actual = $fileupload[1];
- $thread = Ticket_Thread::where('ticket_id', '=', $ticket_id)->orderBy('id')->first();
- $ticket_subject = $thread->title;
- $user_id = $tickets->user_id;
- $user = User::where('id', '=', $user_id)->first();
- $email = $user->email;
- $user_name = $user->first_name;
- $ticket_number = $tickets->ticket_number;
- $company = $this->company();
- $username = $ticket_user->first_name;
- if (!empty(Auth::user()->agent_sign)) {
- $agentsign = Auth::user()->agent_sign;
- } else {
- $agentsign = null;
- }
+ $attachments = $request->file('attachment');
+ $check_attachment = null;
+ // Event fire
+ $eventthread = $thread->where('ticket_id', $request->input('ticket_ID'))->first();
+ //dd($eventthread);
- // Event
- \Event::fire(new \App\Events\FaveoAfterReply($reply_content, $user->mobile, $user->country_code, $request, $tickets));
- if (Auth::user()) {
- $u_id = Auth::user()->first_name.' '.Auth::user()->last_name;
- } else {
- $u_id = $this->getAdmin()->first_name.' '.$this->getAdmin()->last_name;
- }
- $data = [
- 'ticket_id' => $request->input('ticket_ID'),
- 'u_id' => $u_id,
- 'body' => $request->input('reply_content'),
- ];
- if (!$request->has('do-not-send')) {
- \Event::fire('Reply-Ticket', [$data]);
- }
- // sending attachments via php mail function
- $message = '';
+ $eventuserid = $eventthread->user_id;
+ $emailadd = User::where('id', $eventuserid)->first()->email;
+ $source = $eventthread->source;
+ $form_data = $request->except('reply_content', 'ticket_ID', 'attachment');
+ \Event::fire(new \App\Events\ClientTicketFormPost($form_data, $emailadd, $source));
+ $reply_content = $request->input('reply_content');
- $collaborators = Ticket_Collaborator::where('ticket_id', '=', $ticket_id)->get();
+ $thread->ticket_id = $request->input('ticket_ID');
+ $thread->poster = 'support';
+ $thread->body = $request->input('reply_content');
+ if ($system_reply == true) {
+ $thread->user_id = Auth::user()->id;
+ } else {
+ $thread->user_id = $eventuserid;
+ if ($user_id !== '') {
+ $thread->user_id = $user_id;
+ }
+ }
+ $ticket_id = $request->input('ticket_ID');
+
+ $tickets = Tickets::where('id', '=', $ticket_id)->first();
+ $tickets->isanswered = '1';
+ $tickets->save();
+
+ $ticket_user = User::where('id', '=', $tickets->user_id)->first();
+ if ($system_reply == true) {
+ if ($tickets->assigned_to == 0) {
+ $tickets->assigned_to = Auth::user()->id;
+ $tickets->save();
+ $thread2 = new Ticket_Thread();
+ $thread2->ticket_id = $thread->ticket_id;
+ $thread2->user_id = Auth::user()->id;
+ $thread2->is_internal = 1;
+ $thread2->body = 'This Ticket have been assigned to '.Auth::user()->first_name.' '.Auth::user()->last_name;
+ $thread2->save();
+ $data = [
+ 'id' => $tickets->id,
+ ];
+ \Event::fire('ticket-assignment', [$data]);
+ }
+ if ($tickets->status > 1) {
+ $this->open($ticket_id, new Tickets());
+ }
+ }
+ $thread->save();
+
+ if ($attachments != null) {
+ foreach ($attachments as $attachment) {
+ if ($attachment != null) {
+ $name = $attachment->getClientOriginalName();
+ $type = $attachment->getClientOriginalExtension();
+ $size = $attachment->getSize();
+ $data = file_get_contents($attachment->getRealPath());
+ $attachPath = $attachment->getRealPath();
+ $ta->create(['thread_id' => $thread->id, 'name' => $name, 'size' => $size, 'type' => $type, 'file' => $data, 'poster' => 'ATTACHMENT']);
+ $check_attachment = 1;
+ } else {
+ $check_attachment = null;
+ }
+ }
+ }
+
+ if ($check_attachment == 1) {
+ $attachment_files = $this->attachmentSeperate($thread->id);
+ } else {
+ $attachment_files = null;
+ }
+ $threadfirst = Ticket_Thread::where('ticket_id', '=', $ticket_id)->orderBy('id')->first();
+ $ticket_subject = $threadfirst->title;
+ $user_id = $tickets->user_id;
+ $user = User::where('id', '=', $user_id)->first();
+ $email = $user->email;
+ $user_name = $user->first_name;
+ $ticket_number = $tickets->ticket_number;
+ $company = $this->company();
+ $username = $ticket_user->first_name;
+ if (!empty(Auth::user()->agent_sign)) {
+ $agentsign = Auth::user()->agent_sign;
+ } else {
+ $agentsign = null;
+ }
+
+ // Event
+ \Event::fire(new \App\Events\FaveoAfterReply($reply_content, $user->mobile, $user->country_code, $request, $tickets, $thread));
+ if (Auth::user()) {
+ $u_id = Auth::user()->first_name.' '.Auth::user()->last_name;
+ } else {
+ $u_id = $this->getAdmin()->first_name.' '.$this->getAdmin()->last_name;
+ }
+ $data = [
+ 'ticket_id' => $request->input('ticket_ID'),
+ 'u_id' => $u_id,
+ 'body' => $request->input('reply_content'),
+ ];
+ if (!$request->has('do-not-send')) {
+ \Event::fire('Reply-Ticket', [$data]);
+ }
+ // sending attachments via php mail function
+ $message = '';
+
+ $line = '---Reply above this line--- ';
+ $collaborators = Ticket_Collaborator::where('ticket_id', '=', $ticket_id)->get();
+ $emails = Emails::where('department', '=', $tickets->dept_id)->first();
+ if (!$email) {
+ $mail = false;
+ }
- $emails = Emails::where('department', '=', $tickets->dept_id)->first();
- if (!$email) {
- $mail = false;
- }
- try {
if ($mail == true) {
+ //dd($thread->purify());
+ //dd($this->replyContent($request->input('reply_content')));
$this->NotificationController->create($ticket_id, Auth::user()->id, '2');
$this->PhpMailController->sendmail(
- $from = $this->PhpMailController->mailfrom('0', $tickets->dept_id), $to = ['name' => $user_name, 'email' => $email, 'cc' => $collaborators], $message = ['subject' => $ticket_subject.'[#'.$ticket_number.']', 'body' => $request->input('reply_content'), 'scenario' => 'ticket-reply', 'attachments' => $attachment_files], $template_variables = ['ticket_number' => $ticket_number, 'user' => $username, 'agent_sign' => $agentsign]
+ $from = $this->PhpMailController->mailfrom('0', $tickets->dept_id),
+ $to = ['name' => $user_name, 'email' => $email, 'cc' => $collaborators],
+ $message = [
+ 'subject' => $ticket_subject.'[#'.$ticket_number.']',
+ 'body' => $line.$request->input('reply_content'),
+ 'scenario' => 'ticket-reply',
+ 'attachments' => $attachment_files,
+ ],
+ $template_variables = [
+ 'ticket_number' => $ticket_number,
+ 'user' => $username, 'agent_sign' => $agentsign,
+ ]
);
}
} catch (\Exception $e) {
- //dd($e->getMessage());
- return 0;
- }
+ $result = ['fails' => $e->getMessage()];
- return 1;
+ return response()->json(compact('result'));
+ }
+ $result = ['success' => 'Replyed successfully'];
+
+ return response()->json(compact('result'));
}
/**
@@ -665,9 +601,18 @@ class TicketController extends Controller
*/
public function ticket_print($id)
{
- $tickets = Tickets::where('id', '=', $id)->first();
- $thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
- $html = view('themes.default1.agent.helpdesk.ticket.pdf', compact('id', 'tickets', 'thread'))->render();
+ $tickets = Tickets::
+ leftJoin('ticket_thread', function ($join) {
+ $join->on('tickets.id', '=', 'ticket_thread.ticket_id')
+ ->whereNotNull('ticket_thread.title');
+ })
+ ->leftJoin('department', 'tickets.dept_id', '=', 'department.id')
+ ->leftJoin('help_topic', 'tickets.help_topic_id', '=', 'help_topic.id')
+ ->where('tickets.id', '=', $id)
+ ->select('ticket_thread.title', 'tickets.ticket_number', 'department.name as department', 'help_topic.topic as helptopic')
+ ->first();
+ $ticket = Tickets::where('tickets.id', '=', $id)->first();
+ $html = view('themes.default1.agent.helpdesk.ticket.pdf', compact('id', 'ticket', 'tickets'))->render();
$html1 = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
return PDF::load($html1)->show();
@@ -902,6 +847,7 @@ class TicketController extends Controller
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticketdata->dept_id), $to = ['name' => $username, 'email' => $emailadd], $message = ['subject' => $updated_subject, 'scenario' => 'create-ticket-by-agent', 'body' => $body], $template_variables = ['agent_sign' => Auth::user()->agent_sign, 'ticket_number' => $ticket_number2]);
}
} catch (\Exception $e) {
+ //dd($e);
}
} else {
$body2 = null;
@@ -915,6 +861,7 @@ class TicketController extends Controller
} elseif ($is_reply == 1) {
$mail = 'ticket-reply-agent';
}
+
$set_mails = [];
if (Alert::first()->ticket_status == 1 || Alert::first()->ticket_admin_email == 1) {
// send email to admin
@@ -944,6 +891,11 @@ class TicketController extends Controller
}
// Event fire for new ticket['']
}
+ if ($is_reply == 1) {
+ $client_email = $ticketdata->user->email;
+ $client_user_name = $ticketdata->user->user_name;
+ array_push($set_mails, ['to_email' => $client_email, 'to_user' => $client_user_name, 'to_user_name' => $client_user_name]);
+ }
if ($ticketdata->assigned_to) {
$assigned_to = User::where('id', '=', $ticketdata->assigned_to)->first();
@@ -952,12 +904,28 @@ class TicketController extends Controller
$to_user_name = $assigned_to->first_name;
array_push($set_mails, ['to_email' => $to_email, 'to_user' => $to_user, 'to_user_name' => $to_user_name]);
}
+
$emails_to_be_sent = array_unique($set_mails, SORT_REGULAR);
+
foreach ($emails_to_be_sent as $email_data) {
try {
- $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticketdata->dept_id), $to = ['user' => $email_data['to_user'], 'email' => $email_data['to_email']], $message = ['subject' => $updated_subject, 'body' => $body, 'scenario' => $mail], $template_variables = ['ticket_agent_name' => $email_data['to_user_name'], 'ticket_client_name' => $username, 'ticket_client_email' => $emailadd, 'user' => $email_data['to_user_name'], 'ticket_number' => $ticket_number2, 'email_address' => $emailadd, 'name' => $ticket_creator]);
+ $this->PhpMailController->sendmail(
+ $from = $this->PhpMailController->mailfrom('0', $ticketdata->dept_id), $to = [
+ 'user' => $email_data['to_user'],
+ 'email' => $email_data['to_email'],
+ ], $message = [
+ 'subject' => $updated_subject,
+ 'body' => $body, 'scenario' => $mail,
+ ], $template_variables = [
+ 'ticket_agent_name' => $email_data['to_user_name'],
+ 'ticket_client_name' => $username,
+ 'ticket_client_email' => $emailadd,
+ 'user' => $email_data['to_user_name'],
+ 'ticket_number' => $ticket_number2,
+ 'email_address' => $emailadd,
+ 'name' => $ticket_creator, ]
+ );
} catch (\Exception $e) {
- // dd($e);
}
}
$data = [
@@ -973,6 +941,7 @@ class TicketController extends Controller
'id' => $ticketdata->id,
];
\Event::fire('ticket-assignment', [$data]);
+ $this->NotificationController->create($ticketdata->id, $user_id, '3');
return ['0' => $ticket_number2, '1' => true];
}
@@ -1157,7 +1126,7 @@ class TicketController extends Controller
$ticket_number = $ticket->ticket_number;
$id = $ticket->id;
- $this->NotificationController->create($id, $user_id, '3');
+ // $this->NotificationController->create($id, $user_id, '3');
// store Form Data
// Form Data comes from raising a ticket from client panel
if ($form_data != null) {
@@ -1248,11 +1217,6 @@ class TicketController extends Controller
if ($ticket_status == null) {
return redirect()->route('unauth');
}
- if (\Auth::user()->role == 'user') {
- $is_internal = 0;
- } else {
- $is_internal = 1;
- }
$ticket_status->status = 3;
$ticket_status->closed = 1;
$ticket_status->closed_at = date('Y-m-d H:i:s');
@@ -1263,7 +1227,7 @@ class TicketController extends Controller
$thread = new Ticket_Thread();
$thread->ticket_id = $ticket_status->id;
$thread->user_id = Auth::user()->id;
- $thread->is_internal = $is_internal;
+ $thread->is_internal = 1;
$thread->body = $ticket_status_message->message.' '.Auth::user()->first_name.' '.Auth::user()->last_name;
$thread->save();
@@ -1710,19 +1674,12 @@ class TicketController extends Controller
*/
public function trash()
{
- return view('themes.default1.agent.helpdesk.ticket.trash');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- public function get_trash()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('status', '=', 5)->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('status', '=', 5)->where('dept_id', '=', $dept->id)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.trash', compact('table'));
}
/**
@@ -1732,19 +1689,12 @@ class TicketController extends Controller
*/
public function unassigned()
{
- return view('themes.default1.agent.helpdesk.ticket.unassigned');
- }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
- public function get_unassigned()
- {
- if (Auth::user()->role == 'admin') {
- $tickets = Tickets::where('assigned_to', '=', null)->where('status', '1')->get();
- } else {
- $dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
- $tickets = Tickets::where('assigned_to', '=', null)->where('status', '1')->where('dept_id', '=', $dept->id)->get();
- }
-
- return $this->getTable($tickets);
+ return view('themes.default1.agent.helpdesk.ticket.unassigned', compact('table'));
}
/**
@@ -1754,7 +1704,12 @@ class TicketController extends Controller
*/
public function myticket()
{
- return view('themes.default1.agent.helpdesk.ticket.myticket');
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
+
+ return view('themes.default1.agent.helpdesk.ticket.myticket', compact('table'));
}
/**
@@ -2044,6 +1999,22 @@ class TicketController extends Controller
}
}
+ public function deptTicket($dept, $status)
+ {
+ if (\Auth::user()->role === 'agent') {
+ $dept2 = Department::where('id', '=', \Auth::user()->primary_dpt)->first();
+ if ($dept !== $dept2->name) {
+ return redirect()->back()->with('fails', Lang::get('lang.unauthorized_access'));
+ }
+ }
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
+
+ return view('themes.default1.agent.helpdesk.dept-ticket.tickets', compact('dept', 'status', 'table'));
+ }
+
/**
* Show the deptclose ticket list page.
*
@@ -2384,7 +2355,7 @@ class TicketController extends Controller
// which include " ", \r, \t, \n and \f
$t_id = preg_split("/[\s,]+/", $id);
if (count($t_id) > 1) {
- $p_id = Input::get('p_id');
+ $p_id = Input::get('p_id'); //parent ticket id
$t_id = array_diff($t_id, [$p_id]);
} else {
$t_id = Input::get('t_id'); //getting array of tickets to merge
@@ -2414,6 +2385,8 @@ class TicketController extends Controller
->update(['ticket_id' => $p_id]);
Tickets::where('id', '=', $value)
->update(['status' => 3]);
+ //event has $p_id and $value
+ \Event::fire('ticket.merge', [['parent' => $p_id, 'child' => $value]]);
if (!empty(Input::get('reason'))) {
$reason = Input::get('reason');
} else {
@@ -2473,138 +2446,149 @@ class TicketController extends Controller
public static function getTable($tickets)
{
- return \Datatable::collection(new Collection($tickets))
- ->addColumn('id', function ($ticket) {
- return " ";
- })
- ->addColumn('subject', function ($ticket) {
- $subject = Ticket_Thread::where('ticket_id', '=', $ticket->id)->orderBy('id')->first();
- if (isset($subject->title)) {
- $string = str_limit($subject->getSubject(), 20);
- } else {
- $string = '(no subject)';
- }
- //collabrations
- $collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
- $collab = count($collaborators);
- if ($collab > 0) {
- $collabString = ' ';
- } else {
- $collabString = null;
- }
- $threads = Ticket_Thread::where('ticket_id', '=', $ticket->id)->first(); //
- $count = Ticket_Thread::where('ticket_id', '=', $ticket->id)->count(); //
- if ($threads != null) {
- $attachment = Ticket_attachments::where('thread_id', '=', $threads->id)->get();
- $attachCount = count($attachment);
- } else {
- $attachCount = 0;
- }
- if ($attachCount > 0) {
- $attachString = ' ';
- } else {
- $attachString = '';
- }
- $css = $ticket->sourceCss();
- $titles = '';
- if ($subject) {
- $titles = $subject->getSubject();
- }
+ return \Datatables::of($tickets)
+ ->addColumn('id', function ($tickets) {
+ return " ";
+ })
+ ->addColumn('title', function ($tickets) {
+ if (isset($tickets->ticket_title)) {
+ $string = str_limit($tickets->ticket_title, 20);
+ } else {
+ $string = '(no subject)';
+ }
+ $collab = $tickets->countcollaborator;
+ if ($collab > 0) {
+ $collabString = ' ';
+ } else {
+ $collabString = null;
+ }
+ $attachCount = $tickets->countattachment;
+ if ($attachCount > 0) {
+ $attachString = ' ';
+ } else {
+ $attachString = '';
+ }
+ $css = $tickets->css;
+ $titles = '';
+ if ($tickets->ticket_title) {
+ $titles = $tickets->ticket_title;
+ }
+ $tooltip_script = self::tooltip($tickets->id);
- return "id])."' title='".$titles."'>".ucfirst($string)." (".$count.") ".$collabString.$attachString;
- })
- ->addColumn('ticket_number', function ($ticket) {
- return "id])."' title='".$ticket->ticket_number."'>#".$ticket->ticket_number.' ';
- })
- ->addColumn('priority', function ($ticket) {
- $TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->where('is_internal', '=', 0)->max('id');
- $TicketDatarow = Ticket_Thread::where('id', '=', $TicketData)->first();
- $rep = '#000';
- $username = '';
- if ($TicketDatarow) {
- $LastResponse = User::where('id', '=', $TicketDatarow->user_id)->first();
- if ($LastResponse) {
- if ($LastResponse->role == 'user') {
- $rep = '#F39C12';
- $username = $LastResponse->user_name;
- } else {
- $rep = '#000';
- $username = $LastResponse->first_name.' '.$LastResponse->last_name;
- if ($LastResponse->first_name == null || $LastResponse->last_name == null) {
- $username = $LastResponse->user_name;
- }
- }
- }
- }
- $priority = DB::table('ticket_priority')->select('priority_desc', 'priority_color')->where('priority_id', '=', $ticket->priority_id)->first();
- if ($priority != null) {
- $prio = ''.ucfirst($priority->priority_desc).' ';
- } else {
- $prio = '';
- }
+ return "";
+ })
+ ->addColumn('ticket_number', function ($tickets) {
+ return "id])."' title='".$tickets->ticket_number."'>#".$tickets->ticket_number.' ';
+ })
+ ->addColumn('priority', function ($tickets) {
+ $rep = ($tickets->last_replier == 'client') ? '#F39C12' : '#000';
+ $priority = $tickets->priority;
+ if ($priority != null) {
+ $prio = ''.ucfirst($tickets->priority).' ';
+ } else {
+ $prio = $tickets->last_relier_role;
+ }
- return $prio;
- })
- ->addColumn('from', function ($ticket) {
- $verify = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
- $from = DB::table('users')->select('user_name', 'first_name', 'last_name', 'active')->where('id', '=', $ticket->user_id)->first();
- $url = route('user.show', $ticket->user_id);
- $name = '';
- if ($from) {
- if ($from->first_name) {
- $name = $from->first_name.' '.$from->last_name;
- } else {
- $name = $from->user_name;
- }
- }
- $color = '';
- if ($verify->status == 1 || $verify->status == '1') {
- if ($from->active == 0 || $from->active == '0') {
- $color = " ";
- }
- }
+ return $prio;
+ })
+ ->addColumn('user_name', function ($tickets) {
+ $from = $tickets->first_name;
+ $url = route('user.show', $tickets->user_id);
+ $name = '';
+ if ($from) {
+ $name = $tickets->first_name.' '.$tickets->last_name;
+ } else {
+ $name = $tickets->user_name;
+ }
+ $color = '';
+ if ($tickets->verified == 0 || $tickets->verified == '0') {
+ $color = " ";
+ }
- return "user_name).'''.Lang::get('lang.see-profile2')."'>".ucfirst(str_limit($name, 30)).' '.$color.' ';
- })
- // ->addColumn('Last Replier', function ($ticket) {
- // $TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->where('is_internal', '=', 0)->max('id');
- // $TicketDatarow = Ticket_Thread::where('id', '=', $TicketData)->first();
- // $LastResponse = User::where('id', '=', $TicketDatarow->user_id)->first();
- // if ($LastResponse->role == 'user') {
- // $rep = '#F39C12';
- // $username = $LastResponse->user_name;
- // } else {
- // $rep = '#000';
- // $username = $LastResponse->first_name.' '.$LastResponse->last_name;
- // if ($LastResponse->first_name == null || $LastResponse->last_name == null) {
- // $username = $LastResponse->user_name;
- // }
- // }
- // return "".ucfirst($username).' ';
- // })
- ->addColumn('assigned_to', function ($ticket) {
- if ($ticket->assigned_to == null) {
- return "Unassigned ";
- } else {
- $assign = DB::table('users')->where('id', '=', $ticket->assigned_to)->first();
- $url = route('user.show', $ticket->assigned_to);
+ return "user_name).'''.Lang::get('lang.see-profile2')."'>".ucfirst(str_limit($name, 30)).' '.$color.' ';
+ })
+ ->addColumn('assign_user_name', function ($tickets) {
+ if ($tickets->assigned_to == null) {
+ return "Unassigned ";
+ } else {
+ $assign = $tickets->assign_user_name;
+ $url = route('user.show', $tickets->assigned_to);
- return "first_name).'''.Lang::get('lang.see-profile2')."'>".ucfirst($assign->first_name).' '.ucfirst($assign->last_name).' ';
- }
- })
- ->addColumn('Last', function ($ticket) {
- $TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
- $TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
- $updated = '--';
- if ($TicketDatarow) {
- $updated = $TicketDatarow->updated_at;
- }
+ return "assign_first_name).'''.Lang::get('lang.see-profile2')."'>".ucfirst($tickets->assign_first_name).' '.ucfirst($tickets->assign_last_name).' ';
+ }
+ })
+ ->addColumn('updated_at', function ($tickets) {
+ $TicketDatarow = $tickets->updated_at;
+ $updated = '--';
+ if ($TicketDatarow) {
+ $updated = $tickets->updated_at;
+ }
- return ''.$updated.' '.UTC::usertimezone($updated);
- })
- ->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
- ->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')
- ->make();
+ return ''.$updated.' '.UTC::usertimezone($updated);
+ })
+ ->addColumn('created_at', function ($tickets) {
+ $TicketDatarow = $tickets->created_at;
+ $updated = '--';
+ if ($TicketDatarow) {
+ $updated = $tickets->created_at;
+ }
+
+ return ''.$updated.' '.UTC::usertimezone($updated);
+ })
+ ->make();
+ }
+
+ /**
+ *@category function to call and show ticket details in tool tip via ajax
+ *
+ *@param null
+ *
+ *@return string //script to load tooltip data
+ */
+ public static function tooltip($ticketid)
+ {
+ return "";
+ }
+
+ public function getTooltip(Request $request)
+ {
+ $ticketid = $request->input('ticketid');
+ $ticket = Tickets::find($ticketid);
+ $firstThread = $ticket->thread()->select('user_id', 'poster', 'body')->first();
+ $lastThread = $ticket->thread()->select('user_id', 'poster', 'body')->orderBy('id', 'desc')->first();
+
+ return ''.$firstThread->user->user_name.' ('.$firstThread->poster.') '
+ .$firstThread->purify().' '
+ .''.$lastThread->user->user_name.'('.$lastThread->poster.') '
+ .$lastThread->purify().' ';
}
//Auto-close tickets
@@ -2837,4 +2821,79 @@ class TicketController extends Controller
}
}
}
+
+ /**
+ * @return type
+ */
+ public function followupTicketList()
+ {
+ try {
+ $table = \Datatable::table()
+ ->addColumn(
+ '', Lang::get('lang.subject'), Lang::get('lang.ticket_id'), Lang::get('lang.priority'), Lang::get('lang.from'), Lang::get('lang.assigned_to'), Lang::get('lang.last_activity'), Lang::get('lang.created-at'))
+ ->noScript();
+
+ return view('themes.default1.agent.helpdesk.followup.followup', compact('table'));
+ } catch (Exception $e) {
+ return Redirect()->back()->with('fails', $e->getMessage());
+ }
+ }
+
+ public static function getSubject($subject)
+ {
+ //$subject = $this->attributes['title'];
+ $array = imap_mime_header_decode($subject);
+ $title = '';
+ if (is_array($array) && count($array) > 0) {
+ foreach ($array as $text) {
+ $title .= $text->text;
+ }
+
+ return wordwrap($title, 70, " \n");
+ }
+
+ return wordwrap($subject, 70, " \n");
+ }
+
+ public function replyContent($content)
+ {
+ preg_match_all('/ ]+>/i', $content, $result);
+ $url = [];
+ $encode = [];
+ $img = [];
+ foreach ($result as $key=>$img_tag) {
+ //dd($img_tag);
+ preg_match_all('/(src)=("[^"]*")/i', $img_tag[$key], $img[$key]);
+ }
+ for ($i = 0; $i < count($img); $i++) {
+ $url = $img[$i][2][0];
+ $encode = $this->divideUrl($img[$i][2][0]);
+ }
+
+ return str_replace($url, $encode, $content);
+ }
+
+ public function divideUrl($url)
+ {
+ $baseurl = url('/');
+ $trim = str_replace($baseurl, '', $url);
+ $trim = str_replace('"', '', $trim);
+ $trim = substr_replace($trim, '', 0, 1);
+ $path = public_path($trim);
+
+ return $this->fileContent($path);
+ }
+
+ public function fileContent($path)
+ {
+ $exist = \File::exists($path);
+ $base64 = '';
+ if ($exist) {
+ $content = \File::get($path);
+ $type = \File::extension($path);
+ $base64 = 'data:image/'.$type.';base64,'.base64_encode($content);
+ }
+
+ return $base64;
+ }
}
diff --git a/app/Http/Controllers/Agent/helpdesk/UserController.php b/app/Http/Controllers/Agent/helpdesk/UserController.php
index c291fb4ee..9ba440655 100644
--- a/app/Http/Controllers/Agent/helpdesk/UserController.php
+++ b/app/Http/Controllers/Agent/helpdesk/UserController.php
@@ -25,8 +25,6 @@ use App\Model\helpdesk\Notification\Notification;
use App\Model\helpdesk\Notification\UserNotification;
use App\Model\helpdesk\Settings\CommonSettings;
use App\Model\helpdesk\Settings\Email;
-use App\Model\helpdesk\Ticket\Ticket_attachments;
-use App\Model\helpdesk\Ticket\Ticket_Collaborator;
use App\Model\helpdesk\Ticket\Ticket_Thread;
use App\Model\helpdesk\Ticket\Tickets;
use App\Model\helpdesk\Utility\CountryCode;
@@ -81,7 +79,30 @@ class UserController extends Controller
{
try {
/* get all values in Sys_user */
- return view('themes.default1.agent.helpdesk.user.index');
+
+ $table = \ Datatable::table()
+ ->addColumn(Lang::get('lang.name'),
+ Lang::get('lang.email'),
+ Lang::get('lang.phone'),
+ Lang::get('lang.status'),
+ Lang::get('lang.ban'),
+ Lang::get('lang.last_login'),
+ Lang::get('lang.role'),
+ Lang::get('lang.action')) // these are the column headings to be shown
+ ->noScript();
+
+ return view('themes.default1.agent.helpdesk.user.index', compact('table'));
+ } catch (Exception $e) {
+ return redirect()->back()->with('fails', $e->getMessage());
+ }
+ }
+
+ public function deletedUser()
+ {
+ try {
+ // dd('here');
+ /* get all values in Sys_user */
+ return view('themes.default1.agent.helpdesk.user.deleteduser');
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->getMessage());
}
@@ -92,10 +113,19 @@ class UserController extends Controller
*
* @return datatable
*/
- public function user_list()
+ public function user_list(Request $request)
{
+ $type = $request->input('profiletype');
+
+ if ($type == 'active') {
+ $users = User::where('role', '!=', 'admin')->where('is_delete', '=', 0)->get();
+ } else {
+ $users = User::where('role', '!=', 'admin')->where('is_delete', '=', 1)->get();
+ }
+
// displaying list of users with chumper datatables
- return \Datatable::collection(User::where('role', '!=', 'admin')->get())
+ // return \Datatable::collection(User::where('role', "!=", "admin")->get())
+ return \Datatable::collection($users)
/* searchable column username and email */
->searchColumns('user_name', 'email', 'phone')
/* order column username and email */
@@ -107,14 +137,14 @@ class UserController extends Controller
} else {
$string = strip_tags($model->user_name);
}
- if (strlen($string) > 20) {
+ if (strlen($string) > 30) {
// truncate string
- $stringCut = mb_substr($string, 0, 20, 'UTF-8');
+ $stringCut = mb_substr($string, 0, 30, 'UTF-8').'...';
} else {
$stringCut = $string;
}
- return $stringCut;
+ return "id)."' title='".$string."''>".$stringCut.' ';
})
/* column email */
->addColumn('email', function ($model) {
@@ -172,11 +202,39 @@ class UserController extends Controller
})
/* column actions */
->addColumn('Actions', function ($model) {
- return ''.\Lang::get('lang.edit').' '.\Lang::get('lang.view').' ';
+ if ($model->is_delete == 0) {
+ return ''.\Lang::get('lang.edit').' '.\Lang::get('lang.view').' ';
+ } else {
+ if (Auth::user()->role == 'admin') {
+ // @if(Auth::user()->role == 'admin')
+
+ return ''.\Lang::get('lang.view').' ';
+ }
+
+ if (Auth::user()->role == 'agent') {
+ // @if(Auth::user()->role == 'admin')
+ if ($model->role == 'user') {
+ return ''.\Lang::get('lang.view').' ';
+ }
+ }
+ }
})
->make();
}
+ public function restoreUser($id)
+ {
+ // dd($id);
+ // $delete_all = Input::get('delete_all');
+ $users = User::where('id', '=', $id)->first();
+ $users->is_delete = 0;
+ $users->active = 1;
+ $users->ban = 0;
+ $users->save();
+
+ return redirect('user')->with('success', Lang::get('lang.user_restore_successfully'));
+ }
+
/**
* Show the form for creating a new users.
*
@@ -209,7 +267,6 @@ class UserController extends Controller
{
/* insert the input request to sys_user table */
/* Check whether function success or not */
-
if ($request->input('email') != '') {
$user->email = $request->input('email');
} else {
@@ -409,78 +466,43 @@ class UserController extends Controller
public function deleteAgent($id)
{
// try {
- $delete_all = Input::get('delete_all');
+ $delete_all = Input::get('delete_all');
+
+ $delete_all = Input::get('delete_all');
$users = User::where('id', '=', $id)->first();
if ($users->role == 'user') {
- if ($delete_all == null || $delete_all == 1) {
- $tickets = Tickets::where('user_id', '=', $id)->get();
- if (count($tickets) > 0) {
- foreach ($tickets as $ticket) {
- $notification = Notification::select('id')->where('model_id', '=', $ticket->id)->get();
- foreach ($notification as $id) {
- $user_notification = UserNotification::where(
- 'notification_id', '=', $id->id);
- $user_notification->delete();
- }
- $notification = Notification::select('id')->where('model_id', '=', $ticket->id);
- $notification->delete();
- $thread = Ticket_Thread::where('ticket_id', '=', $ticket->id)->get();
- foreach ($thread as $th_id) {
- // echo $th_id->id." ";
- $attachment = Ticket_attachments::where('thread_id', '=', $th_id->id)->get();
- if (count($attachment)) {
- foreach ($attachment as $a_id) {
- Ticket_attachments::where('id', '=', $a_id->id)
- ->delete();
- }
- // echo " ";
- }
- $thread = Ticket_Thread::find($th_id->id);
-// dd($thread);
- $thread->delete();
- }
- $collaborators = Ticket_Collaborator::where('ticket_id', '=', $ticket->id)->get();
- if (count($collaborators)) {
- foreach ($collaborators as $collab_id) {
- echo $collab_id->id;
- $collab = Ticket_Collaborator::where('id', '=', $collab_id->id)
- ->delete();
- }
- }
- $tickets = Tickets::find($ticket->id);
- $tickets->delete();
- }
- }
- $organization = User_org::where('user_id', '=', $users->id)->delete();
- $user = User::where('id', '=', $users->id)
- ->delete();
+ $users = User::where('id', '=', $id)->first();
+ $users->is_delete = 1;
+ $users->active = 0;
+ $users->ban = 1;
+ $users->save();
- return redirect('user')->with('success', Lang::get('lang.user_delete_successfully'));
- }
+ return redirect('user')->with('success', Lang::get('lang.user_delete_successfully'));
}
+ // }
if ($users->role == 'agent') {
if ($delete_all == null) {
$UserEmail = Input::get('assign_to');
$assign_to = explode('_', $UserEmail);
- $ticket = Tickets::where('assigned_to', '=', $id)->where('status', '=', '1')->get();
+ $ticket = Tickets::where('assigned_to', '=', $id)->get();
if ($assign_to[0] == 'user') {
if ($users->id == $assign_to[1]) {
return redirect('user')->with('warning', Lang::get('lang.select_another_agent'));
}
- $user_detail = User::where('id', '=', $assign_to[1])->first();
- $assignee = $user_detail->first_name.' '.$user_detail->last_name;
- $ticket_logic1 = Tickets::where('assigned_to', '=', $id)
- ->update(['assigned_to' => $assign_to[1]]);
- if ($ticket_logic2 = Tickets::where('user_id', '=', $id)->get()) {
- $ticket_logic2 = Tickets::where('user_id', '=', $id)->update(['user_id' => $assign_to[1]]);
- }
- if ($ticket_logic3 = Ticket_Thread::where('user_id', '=', $id)->get()) {
- $ticket_logic3 = Ticket_Thread::where('user_id', '=', $id)->update(['user_id' => $assign_to[1]]);
- }
- if ($ticket_logic4 = User_org::where('user_id', '=', $id)->get()) {
- $ticket_logic4 = User_org::where('user_id', '=', $id)->update(['user_id' => $assign_to[1]]);
- }
+ // $user_detail = User::where('id', '=', $assign_to[1])->first();
+ // $assignee = $user_detail->first_name.' '.$user_detail->last_name;
+ // $ticket_logic1 = Tickets::where('assigned_to', '=', $id)
+ // ->update(['assigned_to' => $assign_to[1]]);
+ // if ($ticket_logic2 = Tickets::where('user_id', '=', $id)->get()) {
+ // $ticket_logic2 = Tickets::where('user_id', '=', $id)->update(['user_id' => $assign_to[1]]);
+ // }
+ // if ($ticket_logic3 = Ticket_Thread::where('user_id', '=', $id)->get()) {
+ // $ticket_logic3 = Ticket_Thread::where('user_id', '=', $id)->update(['user_id' => $assign_to[1]]);
+ // }
+ // if ($ticket_logic4 = User_org::where('user_id', '=', $id)->get()) {
+ // $ticket_logic4 = User_org::where('user_id', '=', $id)->update(['user_id' => $assign_to[1]]);
+ // }
// $thread2 = Ticket_Thread::where('ticket_id', '=', $ticket->id)->first();
// $thread2->body = 'This Ticket have been Reassigned to' .' '. $assignee;
@@ -488,40 +510,75 @@ class UserController extends Controller
// UserNotification::where('notification_id', '=', $ticket->id)->delete();
// $users = User::where('id', '=', $id)->get();
// $organization = User_org::where('user_id', '=', $id)->delete();
- Assign_team_agent::where('agent_id', '=', $id)->update(['agent_id' => $assign_to[1]]);
+ // Assign_team_agent::where('agent_id', '=', $id)->update(['agent_id' => $assign_to[1]]);
+ $tickets = Tickets::where('assigned_to', '=', $id)->get();
+
+ foreach ($tickets as $ticket) {
+ // code...
+
+ $ticket->assigned_to = $assign_to[1];
+ $user_detail = User::where('id', '=', $assign_to[1])->first();
+ $assignee = $user_detail->first_name.' '.$user_detail->last_name;
+ $ticket_number = $ticket->ticket_number;
+ $ticket->save();
+
+ $thread = new Ticket_Thread();
+ $thread->ticket_id = $ticket->id;
+ $thread->user_id = Auth::user()->id;
+ $thread->is_internal = 1;
+ $thread->body = 'This Ticket has been assigned to '.$assignee;
+ $thread->save();
+ }
$user = User::find($id);
- $user->delete();
+ $users->is_delete = 1;
+ $users->active = 0;
+ $users->ban = 1;
+ $users->save();
return redirect('user')->with('success', Lang::get('lang.agent_delete_successfully_and_ticket_assign_to_another_agent'));
}
- if (User_org::where('user_id', '=', $id)) {
- DB::table('user_assign_organization')->where('user_id', '=', $id)->delete();
- }
+
+ // if (User_org::where('user_id', '=', $id)) {
+ // DB::table('user_assign_organization')->where('user_id', '=', $id)->delete();
+ // }
$user = User::find($id);
- $user->delete();
+ $users->is_delete = 1;
+ $users->active = 0;
+ $users->ban = 1;
+ $users->save();
return redirect('user')->with('success', Lang::get('lang.agent_delete_successfully'));
} elseif ($delete_all == 1) {
- if ($ticket = Tickets::where('user_id', '=', $id)->first()) {
- $ticket_assign = $ticket->assigned_to;
- Ticket_Thread::where('ticket_id', '=', $ticket->id)->delete();
- if ($ticket->user_id = $id) {
- Tickets::where('user_id', '=', $id)->delete();
- }
- if ($ticket_assign) {
- UserNotification::where('notification_id', '=', $ticket_assign)->delete();
- }
- UserNotification::where('notification_id', '=', $ticket->id)->delete();
- $users = User::where('id', '=', $id)->get();
+ if ($delete_all) {
+ // dd('here');
+ $tickets = Tickets::where('assigned_to', '=', $id)->get();
+ // dd($tickets);
+ foreach ($tickets as $ticket) {
+ $ticket->assigned_to = null;
+ $ticket_number = $ticket->ticket_number;
+ $ticket->save();
+
+ $thread = new Ticket_Thread();
+ $thread->ticket_id = $ticket->id;
+ $thread->user_id = Auth::user()->id;
+ $thread->is_internal = 1;
+ $thread->body = 'This Ticket has been unassigned ';
+ $thread->save();
+ }
+ // $users = User::where('id', '=', $id)->get();
$user = User::find($id);
- $user->delete();
+ $users->is_delete = 1;
+ $users->active = 0;
+ $users->save();
return redirect('user')->with('success', Lang::get('lang.agent_delete_successfully'));
} else {
- Assign_team_agent::where('agent_id', '=', $id)->delete();
- User_org::where('user_id', '=', $id)->delete();
+ // Assign_team_agent::where('agent_id', '=', $id)->delete();
+ // User_org::where('user_id', '=', $id)->delete();
$user = User::find($id);
- $user->delete();
+ $users->is_delete = 1;
+ $users->active = 0;
+ $users->save();
return redirect('user')->with('success', Lang::get('lang.agent_delete_successfully'));
}
@@ -567,6 +624,8 @@ class UserController extends Controller
public function edit($id, CountryCode $code)
{
try {
+
+ // dd('here');
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
@@ -575,9 +634,14 @@ class UserController extends Controller
$users = $user->whereId($id)->first();
$location = GeoIP::getLocation();
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
- $org = Organization::lists('name', 'id')->toArray();
+ $orgs = Organization::all();
+ // dd($org);
+ $organization_id = User_org::where('user_id', '=', $id)->lists('org_id')->first();
- return view('themes.default1.agent.helpdesk.user.edit', compact('users', 'org', '$settings', '$email_mandatory'))->with('phonecode', $phonecode->phonecode);
+ // $org_name=Organization::where('id','=',$org_id)->lists('name')->first();
+ // dd($org_name);
+
+ return view('themes.default1.agent.helpdesk.user.edit', compact('users', 'orgs', '$settings', '$email_mandatory', 'organization_id'))->with('phonecode', $phonecode->phonecode);
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->getMessage());
}
@@ -594,7 +658,6 @@ class UserController extends Controller
*/
public function update($id, Sys_userUpdate $request)
{
- // dd($request);
$user = new User();
/* select the field where id = $id(request Id) */
$users = $user->whereId($id)->first();
@@ -616,7 +679,8 @@ class UserController extends Controller
$users->save();
if ($request->input('org_id') != '') {
$orgid = $request->input('org_id');
- $this->storeUserOrgRelation($users->id, $orgid);
+
+ $this->storeUserOrgRelation($id, $orgid);
}
/* redirect to Index page with Success Message */
return redirect('user')->with('success', Lang::get('lang.User-profile-Updated-Successfully'));
@@ -734,7 +798,7 @@ class UserController extends Controller
return redirect('profile-edit')->with('success1', Lang::get('lang.password_updated_sucessfully'));
} catch (Exception $e) {
- return redirect('profile-edit')->with('fails1', $e->getMessage());
+ return redirect('profile-edit')->with('fails', $e->getMessage());
}
} else {
return redirect('profile-edit')->with('fails1', Lang::get('lang.password_was_not_updated_incorrect_old_password'));
@@ -751,6 +815,7 @@ class UserController extends Controller
public function UserAssignOrg($id)
{
$org_name = Input::get('org');
+
if ($org_name) {
$org = Organization::where('name', '=', $org_name)->lists('id')->first();
if ($org) {
@@ -768,13 +833,6 @@ class UserController extends Controller
}
}
- /**
- * Assigning an user to an organization.
- *
- * @param type $id
- *
- * @return type boolean
- */
public function UsereditAssignOrg($id)
{
$org_name = Input::get('org');
@@ -1004,18 +1062,11 @@ class UserController extends Controller
}
}
- /**
- * @category function to get user details and show in select field
- *
- * @param null
- *
- * @return data
- */
public function getAgentDetails()
{
$users = User::where('role', '<>', 'user')->where('active', '=', 1)->get();
foreach ($users as $user) {
- echo "".$user->full_name.' ';
+ echo "".$user->name().' ';
}
}
}
diff --git a/app/Http/Controllers/Api/v1/ApiController.php b/app/Http/Controllers/Api/v1/ApiController.php
index 1724013cd..6878c510c 100644
--- a/app/Http/Controllers/Api/v1/ApiController.php
+++ b/app/Http/Controllers/Api/v1/ApiController.php
@@ -194,6 +194,9 @@ class ApiController extends Controller
}
$attach = $this->request->input('attachments');
$result = $this->ticket->reply($this->thread, $this->request, $this->attach, $attach);
+ $result = $result->join('users', 'ticket_thread.user_id', '=', 'users.id')
+ ->select('ticket_thread.*', 'users.first_name as first_name')
+ ->first();
return response()->json(compact('result'));
} catch (\Exception $e) {
@@ -1200,10 +1203,44 @@ class ApiController extends Controller
$join->on('users.id', '=', 'tickets.user_id')
->where('tickets.id', '=', $id);
});
- $response = $this->differenciateHelpTopic($query);
+
+ $response = $this->differenciateHelpTopic($query)
+ ->leftJoin('department', 'tickets.dept_id', '=', 'department.id')
+ ->leftJoin('ticket_priority', 'tickets.priority_id', '=', 'ticket_priority.priority_id')
+ ->leftJoin('ticket_status', 'tickets.status', '=', 'ticket_status.id')
+ ->leftJoin('sla_plan', 'tickets.sla', '=', 'sla_plan.id')
+ ->leftJoin('ticket_source', 'tickets.source', '=', 'ticket_source.id');
//$select = 'users.email','users.user_name','users.first_name','users.last_name','tickets.id','ticket_number','num_sequence','user_id','priority_id','sla','max_open_ticket','captcha','status','lock_by','lock_at','source','isoverdue','reopened','isanswered','is_deleted', 'closed','is_transfer','transfer_at','reopened_at','duedate','closed_at','last_message_at';
- $result = $response->addSelect('users.email', 'users.user_name', 'users.first_name', 'users.last_name', 'tickets.id', 'ticket_number', 'user_id', 'priority_id', 'sla', 'status', 'lock_by', 'lock_at', 'source', 'isoverdue', 'reopened', 'isanswered', 'is_deleted', 'closed', 'reopened_at', 'duedate', 'closed_at', 'tickets.created_at', 'tickets.updated_at')->first();
+ $result = $response->addSelect(
+ 'users.email',
+ 'users.user_name',
+ 'users.first_name',
+ 'users.last_name',
+ 'tickets.id',
+ 'ticket_number',
+ 'user_id',
+ 'ticket_priority.priority_id',
+ 'ticket_priority.priority as priority_name',
+ 'department.name as dept_name',
+ 'ticket_status.name as status_name',
+ 'sla_plan.name as sla_name',
+ 'ticket_source.name as source_name',
+ 'sla_plan.id as sla',
+ 'ticket_status.id as status',
+ 'lock_by',
+ 'lock_at',
+ 'ticket_source.id as source',
+ 'isoverdue',
+ 'reopened',
+ 'isanswered',
+ 'is_deleted',
+ 'closed',
+ 'reopened_at',
+ 'duedate',
+ 'closed_at',
+ 'tickets.created_at',
+ 'tickets.updated_at')->first();
return response()->json(compact('result'));
} catch (\Exception $e) {
@@ -1419,6 +1456,8 @@ class ApiController extends Controller
return $query->select('tickets.dept_id');
}
}
+
+ return $query;
}
public function getSystem($check, $query)
diff --git a/app/Http/Controllers/Api/v1/TestController.php b/app/Http/Controllers/Api/v1/TestController.php
deleted file mode 100644
index ab961cad1..000000000
--- a/app/Http/Controllers/Api/v1/TestController.php
+++ /dev/null
@@ -1,491 +0,0 @@
-server = 'http://'.$_SERVER['HTTP_HOST'].$server['path'].'/';
- }
-
- public static function callGetApi($url)
- {
- //dd($url);
- $curl = curl_init($url);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_HEADER, 0);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- $response = curl_exec($curl);
-
- if (curl_errno($curl)) {
- echo 'error:'.curl_error($curl);
- }
-
- return $response;
- curl_close($curl);
- }
-
- public static function callPostApi($url, $data)
- {
- //dd($url);
- $curl = curl_init($url);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_HEADER, 0);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
- $response = curl_exec($curl);
-
- if (curl_errno($curl)) {
- echo 'error:'.curl_error($curl);
- }
-
- return $response;
- curl_close($curl);
- }
-
- public function ticketReply()
- {
-
- //$file = file_get_contents(base_path() . '/../lb-faveo/Img/Ladybird.png');
-
- $data = [
-
- 'ticket_ID' => '1',
- 'reply_content' => 'reply for the ticket id',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
-// 'attachments' => [
-// [
-// 'name' => 'ladybird',
-// 'size' => '26398',
-// 'type' => 'png',
-// 'file' => $file,
-// ],
-// [
-// 'name' => 'ladybird',
-// 'size' => '26398',
-// 'type' => 'png',
-// 'file' => $file,
-// ]
-// ],
- ];
- $data = http_build_query($data, '', '&');
-
- $url = $this->server.'helpdesk/reply?token='.\Config::get('app.token');
-
- $_this = new self();
- $respose = $_this->callPostApi($url, $data);
-
- return $respose;
- }
-
- public function createTicket()
- {
-
- //$file = file_get_contents(base_path() . '/../lb-faveo/Img/Ladybird.png');
-
- $data = [
- 'user_id' => 1,
- 'subject' => 'Api create via faveo api',
- 'body' => 'Test me when call api',
- 'helptopic' => '1',
- 'sla' => '1',
- 'priority' => '1',
- 'headers' => [0 => 'vijaycodename47@gmail.com'],
- 'dept' => '1',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- /* if attachment */
-// 'attachments' => [
-// [
-// 'name' => 'ladybird',
-// 'size' => '26398',
-// 'type' => 'png',
-// 'file' => $file,
-// ],
-// [
-// 'name' => 'ladybird',
-// 'size' => '26398',
-// 'type' => 'png',
-// 'file' => $file,
-// ]
-// ],
- ];
- $data = http_build_query($data, '', '&');
-
- $url = $this->server.'helpdesk/create?token='.\Config::get('app.token');
-
- $_this = new self();
- $respose = $_this->callPostApi($url, $data);
-
- return $respose;
- }
-
- public function generateToken()
- {
- $data = [
- //'email'=>'vijaycodename47@gmail.com',
- 'username' => 'vijay',
- 'password' => 'manjapra',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
-
- $data = http_build_query($data, '', '&');
-
- $url = $this->server.'authenticate';
- //dd($url);
- $_this = new self();
- $respose = $_this->callPostApi($url, $data);
-
- return $respose;
- }
-
- public function createUser()
- {
- $data = [
- 'email' => 'vijaycodename@gmail.com',
- 'password' => 'manjapra',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
-
- $data = http_build_query($data, '', '&');
- $url = $this->server.'register';
- $_this = new self();
- $respose = $_this->callPostApi($url, $data);
-
- return $respose;
- }
-
- public function getAuthUser()
- {
- $url = $this->server.'authenticate/user?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function editTicket()
- {
- $data = [
- 'ticket_id' => '13',
- 'subject' => 'Api editing ticket via faveo api',
- 'sla_plan' => '2',
- 'help_topic' => '2',
- 'ticket_source' => '2',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- 'ticket_priority' => '2',
- ];
-
- $data = http_build_query($data, '', '&');
- $url = $this->server.'helpdesk/edit?token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callPostApi($url, $data);
-
- return $respose;
- }
-
- public function deleteTicket()
- {
- $data = [
- 'ticket_id' => [11],
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
-
- $data = http_build_query($data, '', '&');
- $url = $this->server.'helpdesk/delete?token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callPostApi($url, $data);
-
- return $respose;
- }
-
- public function openedTickets()
- {
- $url = $this->server.'helpdesk/open?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function unassignedTickets()
- {
- //dd('dsdf');
- $url = $this->server.'helpdesk/unassigned?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
- //dd($respose);
- return $respose;
- }
-
- public function closeTickets()
- {
- $url = $this->server.'helpdesk/closed?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getAgents()
- {
- $url = $this->server.'helpdesk/agents?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getTeams()
- {
- $url = $this->server.'helpdesk/teams?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function assignTicket()
- {
- $data = [
- 'ticket_id' => 1,
- 'user' => 'vijay.sebastian@ladybirdweb.com',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
- $data = http_build_query($data, '', '&');
- $url = $this->server.'helpdesk/assign?token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callPostApi($url, $data);
-
- return $respose;
- }
-
- public function getCustomers()
- {
- $search = [
- 'search' => 'vij',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
- $data = http_build_query($search, '', '&');
- $url = $this->server.'helpdesk/customers?token='.\Config::get('app.token');
- $url = $url.'&'.$data;
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getCustomer()
- {
- $search = [
- 'user_id' => '1',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
- $data = http_build_query($search, '', '&');
- $url = $this->server.'helpdesk/customer?token='.\Config::get('app.token');
- $url = $url.'&'.$data;
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getSearch()
- {
- $search = [
- 'search' => 'api',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
- $data = http_build_query($search, '', '&');
- $url = $this->server.'helpdesk/ticket-search?token='.\Config::get('app.token');
- $url = $url.'&'.$data;
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function ticketThreads()
- {
- $search = [
- 'id' => '1',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
- $data = http_build_query($search, '', '&');
- $url = $this->server.'helpdesk/ticket-thread?token='.\Config::get('app.token');
- $url = $url.'&'.$data;
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function url()
- {
- $search = [
- 'url' => 'http://localhost/faveo-helpdesk-github/public/',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
- $data = http_build_query($search, '', '&');
- $url = $this->server.'helpdesk/url?token='.\Config::get('app.token');
- $url = $url.'&'.$data;
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function generateApiKey()
- {
- $url = $this->server.'helpdesk/api_key?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getHelpTopic()
- {
- $url = $this->server.'helpdesk/help-topic?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getSlaPlan()
- {
- $url = $this->server.'helpdesk/sla-plan?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getPriority()
- {
- $url = $this->server.'helpdesk/priority?api_key=clYbe1g7BYVEJznBdvCEBR0xDCLDqKgg&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getDepartment()
- {
- $url = $this->server.'helpdesk/department?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function getTickets()
- {
- $url = $this->server.'helpdesk/tickets?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function inbox()
- {
- $url = $this->server.'helpdesk/inbox?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function internalNote()
- {
- $data = [
- 'ticketid' => '1',
- 'userid' => 1,
- 'body' => 'Testing the api internal note',
- 'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
- ];
- $data = http_build_query($data, '', '&');
- $url = $this->server.'helpdesk/internal-note?token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callPostApi($url, $data);
-
- return $respose;
- }
-
- public function trash()
- {
- $url = $this->server.'helpdesk/trash?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- }
-
- public function myTickets()
- {
- try {
- $url = $this->server.'helpdesk/my-tickets?user_id=1&api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- } catch (\Exception $e) {
- $error = $e->getMessage();
- $line = $e->getLine();
- $file = $e->getFile();
-
- return response()->json(compact('error', 'file', 'line'));
- }
- }
-
- public function getTicketById()
- {
- try {
- $url = $this->server.'helpdesk/my-tickets?id=1&api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
-
- return $respose;
- } catch (\Exception $e) {
- $error = $e->getMessage();
- $line = $e->getLine();
- $file = $e->getFile();
-
- return response()->json(compact('error', 'file', 'line'));
- }
- }
-
- public function getCustomersWith()
- {
- try {
- //dd($this->server);
- $url = $this->server.'helpdesk/customers-custom?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
- $_this = new self();
- $respose = $_this->callGetApi($url);
- dd($respose);
-
- return $respose;
- } catch (\Exception $e) {
- $error = $e->getMessage();
- $line = $e->getLine();
- $file = $e->getFile();
-
- return response()->json(compact('error', 'file', 'line'));
- }
- }
-}
diff --git a/app/Http/Controllers/Api/v1/TokenAuthController.php b/app/Http/Controllers/Api/v1/TokenAuthController.php
index 23a56dedb..f08d0346d 100644
--- a/app/Http/Controllers/Api/v1/TokenAuthController.php
+++ b/app/Http/Controllers/Api/v1/TokenAuthController.php
@@ -50,7 +50,7 @@ class TokenAuthController extends Controller
//$credentials = $request->only('email', 'password');
try {
- if (!$token = JWTAuth::attempt([$field => $usernameinput, 'password' => $password, 'active' => 1])) {
+ if (!$token = JWTAuth::attempt([$field => $usernameinput, 'password' => $password, 'active'=>1])) {
return response()->json(['error' => 'invalid_credentials', 'status_code' => 401]);
}
} catch (JWTException $e) {
diff --git a/app/Http/Controllers/Auth/AuthController.php b/app/Http/Controllers/Auth/AuthController.php
index 78ad006e2..971ebc449 100644
--- a/app/Http/Controllers/Auth/AuthController.php
+++ b/app/Http/Controllers/Auth/AuthController.php
@@ -183,11 +183,9 @@ class AuthController extends Controller
$message12 = '';
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
$sms = Plugin::select('status')->where('name', '=', 'SMS')->first();
- // Event for login
- \Event::fire(new \App\Events\LoginEvent($request));
- if ($request_array['email'] != '') {
- $var = $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $name, 'email' => $request->input('email')], $message = ['subject' => null, 'scenario' => 'registration'], $template_variables = ['user' => $name, 'email_address' => $request->input('email'), 'password_reset_link' => url('account/activate/'.$code)]);
- }
+ // Event for login
+ \Event::fire(new \App\Events\LoginEvent($request));
+ $var = $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $name, 'email' => $request->input('email')], $message = ['subject' => null, 'scenario' => 'registration'], $template_variables = ['user' => $name, 'email_address' => $request->input('email'), 'password_reset_link' => url('account/activate/'.$code)]);
if ($settings->status == 1 || $settings->status == '1') {
if (count($sms) > 0) {
if ($sms->status == 1 || $sms->status == '1') {
@@ -196,7 +194,7 @@ class AuthController extends Controller
$message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail_sms_plugin_inactive_or_not_setup');
}
} else {
- $message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail_sms_plugin_inactive_or_not_setup');
+ $message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail');
}
} else {
$message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail');
diff --git a/app/Http/Controllers/Auth/PasswordController.php b/app/Http/Controllers/Auth/PasswordController.php
index 2a3e580f7..978a41401 100644
--- a/app/Http/Controllers/Auth/PasswordController.php
+++ b/app/Http/Controllers/Auth/PasswordController.php
@@ -50,40 +50,44 @@ class PasswordController extends Controller
*/
public function postEmail(Request $request)
{
- $date = date('Y-m-d H:i:s');
- $this->validate($request, ['email' => 'required']);
- \Event::fire('reset.password', []);
- $user = User::where('email', '=', $request->only('email'))->orWhere('mobile', '=', $request->only('email'))->first();
- if (isset($user)) {
- $user1 = $user->email;
+ try {
+ $date = date('Y-m-d H:i:s');
+ $this->validate($request, ['email' => 'required']);
+ \Event::fire('reset.password', []);
+ $user = User::where('email', '=', $request->only('email'))->orWhere('mobile', '=', $request->only('email'))->first();
+ if (isset($user)) {
+ $user1 = $user->email;
//gen new code and pass
$code = str_random(60);
- $password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->first();
- if (isset($password_reset_table)) {
- $password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->update(['token' => $code, 'created_at' => $date]);
+ $password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->first();
+ if (isset($password_reset_table)) {
+ $password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->update(['token' => $code, 'created_at' => $date]);
// $password_reset_table->token = $code;
// $password_reset_table->update(['token' => $code]);
- } else {
- $create_password_reset = \DB::table('password_resets')->insert(['email' => $user->email, 'token' => $code, 'created_at' => $date]);
- }
- $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user->user_name, 'email' => $user->email], $message = ['subject' => 'Your Password Reset Link', 'scenario' => 'reset-password'], $template_variables = ['user' => $user->first_name, 'email_address' => $user->email, 'password_reset_link' => url('password/reset/'.$code)], true);
- if ($user->mobile != '' && $user->mobile != null) {
- if ($user->first_name) {
- $name = $user->first_name;
} else {
- $name = $user->user_name;
+ $create_password_reset = \DB::table('password_resets')->insert(['email' => $user->email, 'token' => $code, 'created_at' => $date]);
}
- $value = [
+ $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user->user_name, 'email' => $user->email], $message = ['subject' => 'Your Password Reset Link', 'scenario' => 'reset-password'], $template_variables = ['user' => $user->first_name, 'email_address' => $user->email, 'password_reset_link' => url('password/reset/'.$code)], true);
+ if ($user->mobile != '' && $user->mobile != null) {
+ if ($user->first_name) {
+ $name = $user->first_name;
+ } else {
+ $name = $user->user_name;
+ }
+ $value = [
'url' => url('password/reset/'.$code),
'name' => $name,
'mobile' => $user->mobile,
'code' => $user->country_code, ];
- \Event::fire('reset.password2', [$value]);
- }
+ \Event::fire('reset.password2', [$value]);
+ }
- return redirect()->back()->with('status', Lang::get('lang.we_have_e-mailed_your_password_reset_link'));
- } else {
- return redirect()->back()->with('fails', Lang::get("lang.we_can't_find_a_user_with_that_e-mail_address"));
+ return redirect()->back()->with('status', Lang::get('lang.we_have_e-mailed_your_password_reset_link'));
+ } else {
+ return redirect()->back()->with('fails', Lang::get("lang.we_can't_find_a_user_with_that_e-mail_address"));
+ }
+ } catch (\Exception $e) {
+ return redirect()->back()->with('fails', $e->getMessage());
}
}
diff --git a/app/Http/Controllers/Client/helpdesk/FormController.php b/app/Http/Controllers/Client/helpdesk/FormController.php
index 15de23f29..5c6d061df 100644
--- a/app/Http/Controllers/Client/helpdesk/FormController.php
+++ b/app/Http/Controllers/Client/helpdesk/FormController.php
@@ -65,7 +65,7 @@ class FormController extends Controller
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
if (!\Auth::check() && ($settings->status == 1 || $settings->status == '1')) {
- return redirect('auth/login')->with(['login_require' => 'Please login to your account for submitting a ticket', 'referer' => 'form']);
+ return redirect('auth/login')->with(['login_require'=> 'Please login to your account for submitting a ticket', 'referer' => 'form']);
}
$location = GeoIP::getLocation();
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
@@ -179,7 +179,7 @@ class FormController extends Controller
// $priority = $ticket_settings->first()->priority;
$default_priority = Ticket_Priority::where('is_default', '=', 1)->first();
- $user_priority = CommonSettings::select('status')->where('option_name', '=', 'user_priority')->first();
+ $user_priority = CommonSettings::where('option_name', '=', 'user_priority')->first();
if (!($request->input('priority'))) {
$priority = $default_priority->priority_id;
} else {
diff --git a/app/Http/Controllers/Common/NotificationController.php b/app/Http/Controllers/Common/NotificationController.php
index c3669bff0..1ab7058b1 100644
--- a/app/Http/Controllers/Common/NotificationController.php
+++ b/app/Http/Controllers/Common/NotificationController.php
@@ -12,9 +12,9 @@ use App\User;
class NotificationController extends Controller
{
/**
- *********************************************
+ * ********************************************
* Class Notification Controller
- *********************************************
+ * ********************************************
* This controller is used to generate in app notification
* under the folling occurrence
* 1. Ticket Creation
@@ -111,7 +111,7 @@ class NotificationController extends Controller
public function show()
{
$notifications = $this->getNotifications();
-
+ //dd($notifications);
return view('notifications-all', compact('notifications'));
}
@@ -132,6 +132,23 @@ class NotificationController extends Controller
return 1;
}
+ public function deleteAll()
+ {
+ try {
+ $notifications = new Notification();
+ if ($notifications->count() > 0) {
+ foreach ($notifications->get() as $notification) {
+ $notification->delete();
+ }
+ }
+ $notifications->dummyDelete();
+
+ return redirect()->back()->with('success', 'deleted');
+ } catch (\Exception $ex) {
+ return redirect()->back()->with('fails', $ex->getMessage());
+ }
+ }
+
/**
* get the page to list the notifications.
*
@@ -139,17 +156,15 @@ class NotificationController extends Controller
*/
public static function getNotifications()
{
- $notifications = UserNotification::join('notifications', 'user_notification.notification_id', '=', 'notifications.id')
- ->join('notification_types', 'notifications.type_id', '=', 'notification_types.id')
- ->where('user_notification.user_id', '=', \Auth::user()->id)
- ->select('notification_types.id as id', 'notifications.id as notification_id',
- 'user_notification.user_id as user_id', 'user_notification.is_read as is_read',
- 'user_notification.created_at as created_at', 'user_notification.updated_at as updated_at', 'notifications.model_id as model_id',
- 'notifications.userid_created as userid_created',
- 'notifications.type_id as type_id', 'notification_types.message as message',
- 'notification_types.type as type', 'notification_types.icon_class as icon_class')
- ->orderBy('user_notification.created_at', 'desc')
- ->paginate(10);
+ $notifications = UserNotification::with([
+ 'notification.type' => function ($query) {
+ $query->select('id', 'message', 'type');
+ }, 'users' => function ($query) {
+ $query->select('id', 'email', 'profile_pic');
+ }, 'notification.model' => function ($query) {
+ $query->select('id', 'ticket_number');
+ },
+ ]);
return $notifications;
}
diff --git a/app/Http/Controllers/Common/PhpMailController.php b/app/Http/Controllers/Common/PhpMailController.php
index 84a2b821c..015aa62cc 100644
--- a/app/Http/Controllers/Common/PhpMailController.php
+++ b/app/Http/Controllers/Common/PhpMailController.php
@@ -50,26 +50,24 @@ class PhpMailController extends Controller
*/
public function mailfrom($reg, $dept_id)
{
- $email = Email::where('id', '=', '1')->first();
- if ($reg == 1) {
- return $email->sys_email;
- } elseif ($dept_id > 0) {
- $department = Department::where('id', '=', $dept_id)->first();
- if ($department->outgoing_email) {
- return $department->outgoing_email;
- } else {
- return $email->sys_email;
- }
+ $email_id = '';
+ $emails = Emails::where('department', '=', $dept_id)->first();
+
+ $email = Email::find(1);
+ if ($emails && $emails->sending_status) {
+ $email_id = $emails->id;
+ } else {
+ $email_id = $email->sys_email;
}
+
+ return $email_id;
}
public function sendmail($from, $to, $message, $template_variables)
{
$this->setQueue();
$job = new \App\Jobs\SendEmail($from, $to, $message, $template_variables);
- $dispatch = $this->dispatch($job);
-
- return $dispatch;
+ $this->dispatch($job);
}
public function sendEmail($from, $to, $message, $template_variables)
diff --git a/app/Http/Controllers/Common/SettingsController.php b/app/Http/Controllers/Common/SettingsController.php
index d801018ec..c60896ba7 100644
--- a/app/Http/Controllers/Common/SettingsController.php
+++ b/app/Http/Controllers/Common/SettingsController.php
@@ -279,7 +279,7 @@ class SettingsController extends Controller
public function Plugins()
{
- return view('themes.default1.admin.helpdesk.settings.plugins', ['info' => 1]);
+ return view('themes.default1.admin.helpdesk.settings.plugins');
}
public function GetPlugin()
@@ -406,7 +406,7 @@ class SettingsController extends Controller
$app = base_path().DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'app.php';
chmod($app, 0644);
$str = "\n\n\t\t\t'App\\Plugins\\$filename"."\\ServiceProvider',";
- $line_i_am_looking_for = 187;
+ $line_i_am_looking_for = 194;
$lines = file($app, FILE_IGNORE_NEW_LINES);
$lines[$line_i_am_looking_for] = $str;
file_put_contents($app, implode("\n", $lines));
@@ -578,7 +578,7 @@ class SettingsController extends Controller
if (!$plug) {
$app = base_path().DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'app.php';
$str = "\n'App\\Plugins\\$slug"."\\ServiceProvider',";
- $line_i_am_looking_for = 187;
+ $line_i_am_looking_for = 194;
$lines = file($app, FILE_IGNORE_NEW_LINES);
$lines[$line_i_am_looking_for] = $str;
file_put_contents($app, implode("\n", $lines));
@@ -592,7 +592,7 @@ class SettingsController extends Controller
$app = base_path().DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'app.php';
$str = "\n'App\\Plugins\\$slug"."\\ServiceProvider',";
- $line_i_am_looking_for = 187;
+ $line_i_am_looking_for = 194;
$lines = file($app, FILE_IGNORE_NEW_LINES);
$lines[$line_i_am_looking_for] = $str;
file_put_contents($app, implode("\n", $lines));
diff --git a/app/Http/Middleware/CheckRole.php b/app/Http/Middleware/CheckRole.php
index 73e2d006d..763cac976 100644
--- a/app/Http/Middleware/CheckRole.php
+++ b/app/Http/Middleware/CheckRole.php
@@ -3,7 +3,6 @@
namespace App\Http\Middleware;
use Closure;
-use Lang;
/**
* CheckRole.
@@ -26,6 +25,6 @@ class CheckRole
return $next($request);
}
- return redirect('guest')->with('fails', Lang::get('lang.not-autherised'));
+ return redirect('guest')->with('fails', 'You are not Autherised');
}
}
diff --git a/app/Http/Middleware/CheckRoleAgent.php b/app/Http/Middleware/CheckRoleAgent.php
index ed740444a..e2e73012a 100644
--- a/app/Http/Middleware/CheckRoleAgent.php
+++ b/app/Http/Middleware/CheckRoleAgent.php
@@ -3,7 +3,6 @@
namespace App\Http\Middleware;
use Closure;
-use Lang;
/**
* CheckRoleAgent.
@@ -26,6 +25,6 @@ class CheckRoleAgent
return $next($request);
}
- return redirect('dashboard')->with('fails', Lang::get('lang.not-autherised'));
+ return redirect('dashboard')->with('fails', 'You are not Autherised');
}
}
diff --git a/app/Http/Middleware/CheckRoleUser.php b/app/Http/Middleware/CheckRoleUser.php
index c4b509ac7..02b47c16f 100644
--- a/app/Http/Middleware/CheckRoleUser.php
+++ b/app/Http/Middleware/CheckRoleUser.php
@@ -3,7 +3,6 @@
namespace App\Http\Middleware;
use Closure;
-use Lang;
/**
* CheckRoleUser.
@@ -26,6 +25,6 @@ class CheckRoleUser
return $next($request);
}
- return redirect('guest')->with('fails', Lang::get('lang.not-autherised'));
+ return redirect('guest')->with('fails', 'You are not Autherised');
}
}
diff --git a/app/Http/Requests/helpdesk/Job/TaskRequest.php b/app/Http/Requests/helpdesk/Job/TaskRequest.php
index 0f1d856ac..4ca5a0301 100644
--- a/app/Http/Requests/helpdesk/Job/TaskRequest.php
+++ b/app/Http/Requests/helpdesk/Job/TaskRequest.php
@@ -36,12 +36,12 @@ class TaskRequest extends Request
public function messages()
{
return [
- 'fetching-commands.required_if' => 'Please choose your Email Fetching timing',
- 'notification-commands.required_if' => 'Please choose your Email Notification timing',
- 'work-commands.required_if' => 'Please choose your Auto-close Workflow timing',
- 'workflow-dailyAt.required_if' => 'Please enter the time for Auto-close Workflow timing',
- 'notification-dailyAt.required_if' => 'Please enter the time for Email Notification timing',
- 'fetching-dailyAt.required_if' => 'Please enter the time for Email Fetching timing',
+ 'fetching-commands.required_if' => 'Please choose your Email Fetching timing',
+ 'notification-commands.required_if'=> 'Please choose your Email Notification timing',
+ 'work-commands.required_if' => 'Please choose your Auto-close Workflow timing',
+ 'workflow-dailyAt.required_if' => 'Please enter the time for Auto-close Workflow timing',
+ 'notification-dailyAt.required_if' => 'Please enter the time for Email Notification timing',
+ 'fetching-dailyAt.required_if' => 'Please enter the time for Email Fetching timing',
];
}
diff --git a/app/Http/Requests/helpdesk/LableUpdate.php b/app/Http/Requests/helpdesk/LableUpdate.php
new file mode 100644
index 000000000..1b8b80475
--- /dev/null
+++ b/app/Http/Requests/helpdesk/LableUpdate.php
@@ -0,0 +1,41 @@
+
+ */
+class LableUpdate extends Request
+{
+ /**
+ * Determine if the user is authorized to make this request.
+ *
+ * @return bool
+ */
+ public function authorize()
+ {
+ return true;
+ }
+
+ /**
+ * Get the validation rules that apply to the request.
+ *
+ * @return array
+ */
+ public function rules()
+ {
+ $label_data = \Request::segments();
+ $label = Label::find($label_data[1]);
+
+ return [
+ 'title' => 'required|max:10|unique:labels,title,'.$label->id,
+ 'color' => 'required|regex:/#([a-fA-F0-9]{3}){1,2}\b/',
+ 'order' => 'required|integer',
+ ];
+ }
+}
diff --git a/app/Http/Requests/helpdesk/Mail/MailRequest.php b/app/Http/Requests/helpdesk/Mail/MailRequest.php
index b62fefeaf..e0d76ffe3 100644
--- a/app/Http/Requests/helpdesk/Mail/MailRequest.php
+++ b/app/Http/Requests/helpdesk/Mail/MailRequest.php
@@ -30,10 +30,10 @@ class MailRequest extends Request
}
$rules = [
- 'email_address' => $email_address_rule,
- 'email_name' => 'required',
- 'password' => 'required',
- 'sending_protocol' => 'required_if:sending_status,on',
+ 'email_address' => $email_address_rule,
+ 'email_name' => 'required',
+ 'password' => 'required',
+ 'sending_protocol'=> 'required_if:sending_status,on',
];
$driver = $this->input('sending_protocol');
$driver_rules = $this->getDriver($driver);
@@ -61,14 +61,14 @@ class MailRequest extends Request
switch ($short) {
case 'mailgun':
$rules = [
- 'domain' => 'required',
- 'secret' => 'required',
+ 'domain'=> 'required',
+ 'secret'=> 'required',
];
return $rules;
case 'mandrill':
$rules = [
- 'secret' => 'required',
+ 'secret'=> 'required',
];
return $rules;
diff --git a/app/Http/Requests/helpdesk/PriorityRequest.php b/app/Http/Requests/helpdesk/PriorityRequest.php
index ebb66ad9a..c4b0cdb64 100644
--- a/app/Http/Requests/helpdesk/PriorityRequest.php
+++ b/app/Http/Requests/helpdesk/PriorityRequest.php
@@ -30,13 +30,13 @@ class PriorityRequest extends Request
{
return [
- 'priority' => 'required|max:10',
- 'status' => 'required',
- 'priority_desc' => 'required|max:255',
- 'priority_color' => 'required',
- 'ispublic' => 'required',
- 'priority_successfully_updated' => 'priority successfully updated',
- 'priority_successfully_created!!!' => 'priority successfully created',
+ 'priority' => 'required|max:10',
+ 'status' => 'required',
+ 'priority_desc' => 'required|max:255',
+ 'priority_color' => 'required',
+ 'ispublic' => 'required',
+ 'priority_successfully_updated' => 'priority successfully updated',
+ 'priority_successfully_created!!!'=> 'priority successfully created',
];
}
diff --git a/app/Http/Requests/helpdesk/Queue/QueueRequest.php b/app/Http/Requests/helpdesk/Queue/QueueRequest.php
index 653e6d61e..a61f48239 100644
--- a/app/Http/Requests/helpdesk/Queue/QueueRequest.php
+++ b/app/Http/Requests/helpdesk/Queue/QueueRequest.php
@@ -33,7 +33,7 @@ class QueueRequest extends Request
{
$rules = [];
if (count($request) > 0) {
- foreach ($request as $key => $value) {
+ foreach ($request as $key=>$value) {
$rules[$key] = 'required';
}
}
diff --git a/app/Http/ViewComposers/AgentLayout.php b/app/Http/ViewComposers/AgentLayout.php
new file mode 100644
index 000000000..f25b6510e
--- /dev/null
+++ b/app/Http/ViewComposers/AgentLayout.php
@@ -0,0 +1,196 @@
+company = $company;
+ $this->auth = Auth::user();
+ $this->users = $users;
+ $this->tickets = $tickets;
+ $this->department = $department;
+ }
+
+ /**
+ * Bind data to the view.
+ *
+ * @param View $view
+ *
+ * @return void
+ */
+ public function compose(View $view)
+ {
+ $notifications = \App\Http\Controllers\Common\NotificationController::getNotifications();
+ $view->with([
+ 'company' => $this->company,
+ 'notifications' => $notifications,
+ 'myticket' => $this->myTicket(),
+ 'unassigned' => $this->unassigned(),
+ 'followup_ticket' => $this->followupTicket(),
+ 'deleted' => $this->deleted(),
+ 'tickets' => $this->inbox(),
+ 'department' => $this->departments(),
+ 'overdues' => $this->overdues(),
+ 'due_today' => $this->getDueToday(),
+ ]);
+ }
+
+ public function users()
+ {
+ return $this->users->select('id', 'profile_pic');
+ }
+
+ public function tickets()
+ {
+ return $this->tickets->select('id', 'ticket_number');
+ }
+
+ public function departments()
+ {
+ $array = [];
+ $tickets = $this->tickets;
+ if (\Auth::user()->role == 'agent') {
+ $tickets = $tickets->where('tickets.dept_id', '=', \Auth::user()->primary_dpt);
+ }
+ $tickets = $tickets
+ ->leftJoin('department as dep', 'tickets.dept_id', '=', 'dep.id')
+ ->leftJoin('ticket_status', 'tickets.status', '=', 'ticket_status.id')
+ ->select('dep.name as name', 'ticket_status.name as status', \DB::raw('COUNT(ticket_status.name) as count'))
+ ->groupBy('dep.name', 'ticket_status.name')
+ ->get();
+ $grouped = $tickets->groupBy('name');
+ $status = [];
+ foreach ($grouped as $key => $group) {
+ $status[$key] = $group->keyBy('status');
+ }
+
+ return collect($status);
+ }
+
+ public function myTicket()
+ {
+ $ticket = $this->tickets();
+ if ($this->auth->role == 'admin') {
+ return $ticket->where('assigned_to', $this->auth->id)
+ ->where('status', '1');
+ } elseif ($this->auth->role == 'agent') {
+ return $ticket->where('assigned_to', $this->auth->id)
+ ->where('status', '1');
+ }
+ }
+
+ public function unassigned()
+ {
+ $ticket = $this->tickets();
+ if ($this->auth->role == 'admin') {
+ return $ticket->where('assigned_to', '=', null)
+ ->where('status', '=', '1')
+ ->select('id');
+ } elseif ($this->auth->role == 'agent') {
+ return $ticket->where('assigned_to', '=', null)
+ ->where('status', '=', '1')
+ ->where('dept_id', '=', $this->auth->primary_dpt)
+ ->select('id');
+ }
+ }
+
+ public function followupTicket()
+ {
+ $ticket = $this->tickets();
+ if ($this->auth->role == 'admin') {
+ return $ticket->where('status', '1')->where('follow_up', '1')->select('id');
+ } elseif ($this->auth->role == 'agent') {
+ return $ticket->where('status', '1')->where('follow_up', '1')->select('id');
+ }
+ }
+
+ public function deleted()
+ {
+ $ticket = $this->tickets();
+ if ($this->auth->role == 'admin') {
+ return $ticket->where('status', '5')->select('id');
+ } elseif ($this->auth->role == 'agent') {
+ return $ticket->where('status', '5')->where('dept_id', '=', $this->auth->primary_dpt)
+ ->select('id');
+ }
+ }
+
+ public function inbox()
+ {
+ $ticket = $this->tickets();
+ if ($this->auth->role == 'admin') {
+ return $ticket->whereIn('status', [1, 7])->select('id');
+ } elseif ($this->auth->role == 'agent') {
+ return $ticket->whereIn('status', [1, 7])
+ ->where('dept_id', '=', $this->auth->primary_dpt)
+ ->orWhere('assigned_to', '=', Auth::user()->id)
+ ->select('id');
+ }
+ }
+
+ public function overdues()
+ {
+ $ticket = $this->tickets();
+ if ($this->auth->role == 'admin') {
+ return $ticket->where('status', '=', 1)
+ ->where('isanswered', '=', 0)
+ ->whereNotNull('tickets.duedate')
+ ->where('tickets.duedate', '!=', '00-00-00 00:00:00')
+ ->where('tickets.duedate', '<', \Carbon\Carbon::now())
+ ->select('tickets.id');
+ } elseif ($this->auth->role == 'agent') {
+ return $ticket->where('status', '=', 1)
+ ->where('isanswered', '=', 0)
+ ->whereNotNull('tickets.duedate')
+ ->where('dept_id', '=', $this->auth->primary_dpt)
+ ->where('tickets.duedate', '!=', '00-00-00 00:00:00')
+ ->where('tickets.duedate', '<', \Carbon\Carbon::now())
+ ->select('tickets.id');
+ }
+ }
+
+ public function getDueToday()
+ {
+ $ticket = $this->tickets();
+ if ($this->auth->role == 'admin') {
+ return $ticket->where('status', '=', 1)
+ ->where('status', '=', 1)
+ ->where('isanswered', '=', 0)
+ ->whereNotNull('duedate')
+ ->whereRaw('date(duedate) = ?', [date('Y-m-d')]);
+ } elseif ($this->auth->role == 'agent') {
+ return $ticket->where('status', '=', 1)
+ ->where('status', '=', 1)
+ ->where('isanswered', '=', 0)
+ ->whereNotNull('duedate')
+ ->where('dept_id', '=', $this->auth->primary_dpt)
+ ->whereRaw('date(duedate) = ?', [date('Y-m-d')]);
+ }
+ }
+}
diff --git a/app/Http/ViewComposers/AuthUser.php b/app/Http/ViewComposers/AuthUser.php
new file mode 100644
index 000000000..16872e9b6
--- /dev/null
+++ b/app/Http/ViewComposers/AuthUser.php
@@ -0,0 +1,29 @@
+user = Auth::user();
+ }
+
+ public function compose(View $view)
+ {
+ $view->with([
+ 'auth_user_role' => $this->user->role,
+ 'auth_user_id' => $this->user->id,
+ 'auth_user_profile_pic' => $this->user->profile_pic,
+ 'auth_name' => $this->user->name(),
+ 'auth_user_active' => $this->user->active,
+ 'auth_user_primary_dept'=> $this->user->primary_dept,
+ 'auth_user_assign_group'=> $this->user->assign_group,
+ ]);
+ }
+}
diff --git a/app/Http/ViewComposers/UpdateNotification.php b/app/Http/ViewComposers/UpdateNotification.php
new file mode 100644
index 000000000..bcb72127c
--- /dev/null
+++ b/app/Http/ViewComposers/UpdateNotification.php
@@ -0,0 +1,20 @@
+where('value', '!=', '')->select('value')->get();
+ $view->with(['notification' => $notice]);
+ }
+}
diff --git a/app/Http/breadcrumbs.php b/app/Http/breadcrumbs.php
new file mode 100644
index 000000000..dcc9ef762
--- /dev/null
+++ b/app/Http/breadcrumbs.php
@@ -0,0 +1,615 @@
+parent('/');
+ $breadcrumbs->push(Lang::get('lang.dashboard'), route('dashboard'));
+});
+
+Breadcrumbs::register('notification.list', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push('All Notifications', route('notification.list'));
+});
+
+Breadcrumbs::register('notification.settings', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push('Notifications Settings', route('notification.settings'));
+});
+
+Breadcrumbs::register('groups.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.groups'), route('groups.index'));
+});
+Breadcrumbs::register('groups.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('groups.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('groups.create'));
+});
+Breadcrumbs::register('groups.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('groups.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('groups/{groups}/edit'));
+});
+
+Breadcrumbs::register('departments.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.departments'), route('departments.index'));
+});
+Breadcrumbs::register('departments.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('departments.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('departments.create'));
+});
+Breadcrumbs::register('departments.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('departments.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('departments/{departments}/edit'));
+});
+
+Breadcrumbs::register('teams.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.teams'), route('teams.index'));
+});
+Breadcrumbs::register('teams.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('teams.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('teams.create'));
+});
+Breadcrumbs::register('teams.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('teams.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('teams/{teams}/edit'));
+});
+
+Breadcrumbs::register('agents.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.agents'), route('agents.index'));
+});
+Breadcrumbs::register('agents.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('agents.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('agents.create'));
+});
+Breadcrumbs::register('agents.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('agents.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('agents/{agents}/edit'));
+});
+
+Breadcrumbs::register('emails.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.emails'), route('emails.index'));
+});
+Breadcrumbs::register('emails.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('emails.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('emails.create'));
+});
+Breadcrumbs::register('emails.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('emails.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('emails/{emails}/edit'));
+});
+
+Breadcrumbs::register('banlist.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.banlists'), route('banlist.index'));
+});
+Breadcrumbs::register('banlist.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('banlist.index');
+ $breadcrumbs->push(Lang::get('lang.add'), route('banlist.create'));
+});
+Breadcrumbs::register('banlist.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('banlist.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('agents/{agents}/edit'));
+});
+
+Breadcrumbs::register('template-sets.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push('All Template sets', route('template-sets.index'));
+});
+Breadcrumbs::register('show.templates', function ($breadcrumbs) {
+ $page = App\Model\Common\Template::whereId(1)->first();
+ $breadcrumbs->parent('template-sets.index');
+ $breadcrumbs->push('All Templates', route('show.templates', $page->id));
+});
+Breadcrumbs::register('templates.edit', function ($breadcrumbs) {
+ $page = App\Model\Common\Template::whereId(1)->first();
+ $breadcrumbs->parent('show.templates');
+ $breadcrumbs->push('Edit Template', route('templates.edit', $page->id));
+});
+
+Breadcrumbs::register('getdiagno', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.email_diagnostic'), route('getdiagno'));
+});
+
+Breadcrumbs::register('helptopic.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.help_topics'), route('helptopic.index'));
+});
+Breadcrumbs::register('helptopic.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('helptopic.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('helptopic.create'));
+});
+Breadcrumbs::register('helptopic.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('helptopic.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('helptopic/{helptopic}/edit'));
+});
+
+Breadcrumbs::register('sla.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.sla-plans'), route('sla.index'));
+});
+Breadcrumbs::register('sla.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('sla.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('sla.create'));
+});
+Breadcrumbs::register('sla.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('sla.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('sla/{sla}/edit'));
+});
+
+Breadcrumbs::register('forms.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.forms'), route('forms.index'));
+});
+Breadcrumbs::register('forms.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('forms.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('forms.create'));
+});
+Breadcrumbs::register('forms.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('forms.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('forms/{forms}/edit'));
+});
+Breadcrumbs::register('forms.show', function ($breadcrumbs) {
+ $breadcrumbs->parent('forms.index');
+ $breadcrumbs->push(Lang::get('lang.view'), url('forms/{forms}'));
+});
+Breadcrumbs::register('forms.add.child', function ($breadcrumbs) {
+ $breadcrumbs->parent('forms.index');
+ $breadcrumbs->push('Add Child', url('forms/add-child/{forms}'));
+});
+
+Breadcrumbs::register('get.job.scheder', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.cron-jobs'), route('get.job.scheder'));
+});
+
+Breadcrumbs::register('getcompany', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.company_settings'), route('getcompany'));
+});
+Breadcrumbs::register('getsystem', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.system-settings'), route('getsystem'));
+});
+Breadcrumbs::register('getticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.ticket-setting'), route('getticket'));
+});
+Breadcrumbs::register('getemail', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.email-settings'), route('getemail'));
+});
+Breadcrumbs::register('getresponder', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.auto_responce'), route('getresponder'));
+});
+
+Breadcrumbs::register('getalert', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.alert_notices_setitngs'), route('getalert'));
+});
+Breadcrumbs::register('security.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.security_settings'), route('security.index'));
+});
+// Templates > Upload Templates
+Breadcrumbs::register('security.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('security.index');
+ $breadcrumbs->push('Upload security', route('security.create'));
+});
+// Templates > [Templates Name]
+Breadcrumbs::register('security.show', function ($breadcrumbs, $photo) {
+ $breadcrumbs->parent('security.index');
+ $breadcrumbs->push($photo->title, route('security.show', $photo->id));
+});
+// Templates > [Templates Name] > Edit Templates
+Breadcrumbs::register('security.edit', function ($breadcrumbs, $photo) {
+ $breadcrumbs->parent('security.show', $photo);
+ $breadcrumbs->push('Edit security', route('security.edit', $photo->id));
+});
+
+Breadcrumbs::register('close-workflow.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.close_ticket_workflow_settings'), route('close-workflow.index'));
+});
+
+Breadcrumbs::register('statuss.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.status_settings'), route('statuss.index'));
+});
+
+Breadcrumbs::register('statuss.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push('Create Status', route('statuss.create'));
+});
+
+Breadcrumbs::register('status.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push('Edit Status', url('status/edit/{id}'));
+});
+
+Breadcrumbs::register('ratings.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.ratings_settings'), route('ratings.index'));
+});
+
+Breadcrumbs::register('rating.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('ratings.index');
+ $breadcrumbs->push('Create Ratings', route('rating.create'));
+});
+
+Breadcrumbs::register('rating.edit', function ($breadcrumbs) {
+ $page = App\Model\helpdesk\Ratings\Rating::whereId(1)->first();
+ $breadcrumbs->parent('ratings.index');
+ $breadcrumbs->push('Edit Ratings');
+});
+
+Breadcrumbs::register('admin-profile', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.profile'), route('admin-profile'));
+});
+
+Breadcrumbs::register('widgets', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.widget-settings'), route('widgets'));
+});
+
+Breadcrumbs::register('social.buttons', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.social-widget-settings'), route('social.buttons'));
+});
+
+Breadcrumbs::register('setting', function ($breadcrumbs) {
+ $breadcrumbs->push(Lang::get('lang.admin_panel'), route('setting'));
+});
+
+Breadcrumbs::register('plugins', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.plugins'), route('plugins'));
+});
+
+Breadcrumbs::register('LanguageController', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.language-settings'), route('LanguageController'));
+});
+
+Breadcrumbs::register('add-language', function ($breadcrumbs) {
+ $breadcrumbs->parent('LanguageController');
+ $breadcrumbs->push(Lang::get('lang.add'), route('add-language'));
+});
+Breadcrumbs::register('workflow', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.ticket_workflow'), route('workflow'));
+});
+Breadcrumbs::register('workflow.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('workflow');
+ $breadcrumbs->push(Lang::get('lang.create'), route('workflow.create'));
+});
+
+Breadcrumbs::register('workflow.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('workflow');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('workflow/edit/{id}'));
+});
+Breadcrumbs::register('api.settings.get', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.api_settings'), route('api.settings.get'));
+});
+
+Breadcrumbs::register('err.debug.settings', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.error-debug-settings'), route('err.debug.settings'));
+});
+
+Breadcrumbs::register('closed.approvel.ticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.approvel_ticket_list'), route('closed.approvel.ticket'));
+});
+Breadcrumbs::register('user.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.user_directory'), route('user.index'));
+});
+Breadcrumbs::register('user.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('user.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('user.create'));
+});
+Breadcrumbs::register('user.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('user.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('user/{user}/edit'));
+});
+Breadcrumbs::register('user.show', function ($breadcrumbs) {
+ $breadcrumbs->parent('user.index');
+ $breadcrumbs->push(Lang::get('lang.view-profile'), url('user/{user}'));
+});
+
+Breadcrumbs::register('user.export', function ($breadcrumbs) {
+ $breadcrumbs->parent('user.index');
+ $breadcrumbs->push('Export', url('user-export'));
+});
+
+Breadcrumbs::register('organizations.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.organizations'), route('organizations.index'));
+});
+Breadcrumbs::register('organizations.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('organizations.index');
+ $breadcrumbs->push(Lang::get('lang.create'), route('organizations.create'));
+});
+Breadcrumbs::register('organizations.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('organizations.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('organizations/{organizations}/edit'));
+});
+Breadcrumbs::register('organizations.show', function ($breadcrumbs) {
+ $breadcrumbs->parent('organizations.index');
+ $breadcrumbs->push(Lang::get('lang.view_organization_profile'), url('organizations/{organizations}'));
+});
+Breadcrumbs::register('canned.list', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.canned_response'), route('canned.list'));
+});
+Breadcrumbs::register('canned.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('canned.list');
+ $breadcrumbs->push(Lang::get('lang.create'), route('canned.create'));
+});
+
+Breadcrumbs::register('canned.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('canned.list');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('canned/edit/{id}'));
+});
+
+Breadcrumbs::register('profile', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.my_profile'), route('profile'));
+});
+Breadcrumbs::register('agent-profile-edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('profile');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('profile-edit'));
+});
+Breadcrumbs::register('inbox.ticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.inbox'), route('inbox.ticket'));
+});
+Breadcrumbs::register('open.ticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.open'), route('open.ticket'));
+});
+Breadcrumbs::register('answered.ticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.answered'), route('answered.ticket'));
+});
+Breadcrumbs::register('myticket.ticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.my_tickets'), route('myticket.ticket'));
+});
+Breadcrumbs::register('overdue.ticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.overdue'), route('overdue.ticket'));
+});
+Breadcrumbs::register('closed.ticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.closed'), route('closed.ticket'));
+});
+Breadcrumbs::register('assigned.ticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.assigned'), route('assigned.ticket'));
+});
+Breadcrumbs::register('newticket', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.create'), route('newticket'));
+});
+Breadcrumbs::register('ticket.thread', function ($breadcrumbs, $id) {
+ $breadcrumbs->parent('dashboard');
+ $ticket_number = App\Model\helpdesk\Ticket\Tickets::where('id', '=', $id)->first();
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.$ticket_number->ticket_number, url('/thread/{id}'));
+});
+Breadcrumbs::register('get-trash', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.trash'), route('get-trash'));
+});
+Breadcrumbs::register('unassigned', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.unassigned'), route('unassigned'));
+});
+
+Breadcrumbs::register('dept.open.ticket', function ($breadcrumbs, $dept) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.department').' > '.$dept.' > '.Lang::get('lang.open_tickets'), url('/{dept}/open'));
+});
+Breadcrumbs::register('dept.closed.ticket', function ($breadcrumbs, $dept) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.department').' > '.$dept.' > '.Lang::get('lang.closed_tickets'), url('/{dept}/closed'));
+});
+Breadcrumbs::register('report.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.dashboard'), route('dashboard'));
+});
+Breadcrumbs::register('home', function ($breadcrumbs) {
+ $breadcrumbs->push('Home', route('home'));
+});
+Breadcrumbs::register('/', function ($breadcrumbs) {
+ $breadcrumbs->push('Home', route('/'));
+});
+Breadcrumbs::register('form', function ($breadcrumbs) {
+ $breadcrumbs->push('Create Ticket', route('form'));
+});
+Breadcrumbs::register('check_ticket', function ($breadcrumbs, $id) {
+ $page = \App\Model\helpdesk\Ticket\Tickets::whereId(1)->first();
+ $breadcrumbs->parent('ticket2');
+ $breadcrumbs->push('Check Ticket');
+});
+Breadcrumbs::register('show.ticket', function ($breadcrumbs) {
+ $breadcrumbs->push('Ticket', route('form'));
+});
+Breadcrumbs::register('client.profile', function ($breadcrumbs) {
+ $breadcrumbs->push('My Profile');
+});
+Breadcrumbs::register('ticket2', function ($breadcrumbs) {
+ $breadcrumbs->push('My Tickets', route('ticket2'));
+});
+
+Breadcrumbs::register('client-verify-number', function ($breadcrumbs) {
+ $breadcrumbs->push('Profile', route('client-verify-number'));
+});
+Breadcrumbs::register('post-client-verify-number', function ($breadcrumbs) {
+ $breadcrumbs->push('My Profile', route('post-client-verify-number'));
+});
+Breadcrumbs::register('error500', function ($breadcrumbs) {
+ $breadcrumbs->push('500');
+});
+Breadcrumbs::register('error404', function ($breadcrumbs) {
+ $breadcrumbs->push('404');
+});
+Breadcrumbs::register('errordb', function ($breadcrumbs) {
+ $breadcrumbs->push('Error establishing connection to database');
+});
+Breadcrumbs::register('unauth', function ($breadcrumbs) {
+ $breadcrumbs->push('Unauthorized Access');
+});
+Breadcrumbs::register('board.offline', function ($breadcrumbs) {
+ $breadcrumbs->push('Board Offline');
+});
+Breadcrumbs::register('category.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.category'), route('category.index'));
+});
+Breadcrumbs::register('category.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('category.index');
+ $breadcrumbs->push(Lang::get('lang.add'), route('category.create'));
+});
+Breadcrumbs::register('category.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('category.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('category/{category}/edit'));
+});
+Breadcrumbs::register('category.show', function ($breadcrumbs) {
+ $breadcrumbs->parent('category.index');
+ $breadcrumbs->push(Lang::get('lang.view'), url('category/{category}'));
+});
+
+Breadcrumbs::register('article.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.article'), route('article.index'));
+});
+Breadcrumbs::register('article.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('article.index');
+ $breadcrumbs->push(Lang::get('lang.add'), route('article.create'));
+});
+Breadcrumbs::register('article.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('article.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('article/{article}/edit'));
+});
+Breadcrumbs::register('article.show', function ($breadcrumbs) {
+ $breadcrumbs->parent('article.index');
+ $breadcrumbs->push(Lang::get('lang.view'), url('article/{article}'));
+});
+
+Breadcrumbs::register('settings', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.settings'), route('settings'));
+});
+Breadcrumbs::register('comment', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.comments'), route('comment'));
+});
+Breadcrumbs::register('page.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.pages'), route('page.index'));
+});
+Breadcrumbs::register('page.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('page.index');
+ $breadcrumbs->push(Lang::get('lang.add'), route('page.create'));
+});
+Breadcrumbs::register('page.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('page.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), url('page/{page}/edit'));
+});
+Breadcrumbs::register('page.show', function ($breadcrumbs) {
+ $breadcrumbs->parent('page.index');
+ $breadcrumbs->push(Lang::get('lang.view'), url('page/{page}'));
+});
+Breadcrumbs::register('article-list', function ($breadcrumbs) {
+ $breadcrumbs->push('Article List', route('article-list'));
+});
+
+Breadcrumbs::register('search', function ($breadcrumbs) {
+ $breadcrumbs->push('Knowledge-base', route('home'));
+ $breadcrumbs->push('Search Result');
+});
+
+Breadcrumbs::register('show', function ($breadcrumbs) {
+ $breadcrumbs->push('Knowledge-base', route('home'));
+ $breadcrumbs->push('Article List', route('article-list'));
+ $breadcrumbs->push('Article');
+});
+Breadcrumbs::register('category-list', function ($breadcrumbs) {
+ $breadcrumbs->push('Category List', route('category-list'));
+});
+Breadcrumbs::register('categorylist', function ($breadcrumbs) {
+ $breadcrumbs->push('Category List', route('category-list'));
+ $breadcrumbs->push('Category');
+});
+Breadcrumbs::register('contact', function ($breadcrumbs) {
+ $breadcrumbs->parent('/');
+ $breadcrumbs->push(Lang::get('lang.contact'), route('contact'));
+});
+Breadcrumbs::register('pages', function ($breadcrumbs) {
+ $breadcrumbs->push('Pages');
+});
+Breadcrumbs::register('queue', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.queues'), route('queue'));
+});
+Breadcrumbs::register('queue.edit', function ($breadcrumbs) {
+ $id = \Input::segment(2);
+ $breadcrumbs->parent('queue');
+ $breadcrumbs->push(Lang::get('lang.edit'), route('queue.edit', $id));
+});
+
+Breadcrumbs::register('url.settings', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.url'), route('url.settings'));
+});
+
+Breadcrumbs::register('social', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.social-media'), route('social'));
+});
+Breadcrumbs::register('social.media', function ($breadcrumbs) {
+ $id = \Input::segment(2);
+ $breadcrumbs->parent('social');
+ $breadcrumbs->push(Lang::get('lang.settings'), route('social.media', $id));
+});
+Breadcrumbs::register('priority.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('Ticket Priority'), route('priority.index'));
+});
+Breadcrumbs::register('priority.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('Ticket Priority'), route('priority.index'));
+ $breadcrumbs->push(Lang::get('lang.create'), route('priority.create'));
+});
+Breadcrumbs::register('priority.edit', function ($breadcrumbs) {
+ $breadcrumbs->push(Lang::get('Ticket Priority'), route('priority.index'));
+ $breadcrumbs->push(Lang::get('Edit'), route('priority.index'));
+});
+
+Breadcrumbs::register('dept.inprogress.ticket', function ($breadcrumbs, $dept) {
+ $breadcrumbs->parent('dashboard');
+ $breadcrumbs->push(Lang::get('lang.department').' > '.$dept.' > '.Lang::get('lang.assigned_tickets'), url('/{dept}/inprogress'));
+});
+
+Breadcrumbs::register('labels.index', function ($breadcrumbs) {
+ $breadcrumbs->parent('setting');
+ $breadcrumbs->push(Lang::get('lang.label'), 'labels.index');
+});
+
+Breadcrumbs::register('labels.create', function ($breadcrumbs) {
+ $breadcrumbs->parent('labels.index');
+ $breadcrumbs->push(Lang::get('lang.create'), 'labels.create');
+});
+
+Breadcrumbs::register('labels.edit', function ($breadcrumbs) {
+ $breadcrumbs->parent('labels.index');
+ $breadcrumbs->push(Lang::get('lang.edit'), 'labels.edit');
+});
diff --git a/app/Http/helpers.php b/app/Http/helpers.php
index bafd1b994..bfce0a9d6 100644
--- a/app/Http/helpers.php
+++ b/app/Http/helpers.php
@@ -28,12 +28,13 @@ function mime($type)
$type == 'image/jpeg' ||
$type == 'image/jpg' ||
$type == 'image/gif' ||
- $type == 'application/octet-stream' ||
+ // $type == "application/octet-stream" ||
$type == 'image/png' ||
starts_with($type, 'image')) {
return 'image';
}
}
+
function removeUnderscore($string)
{
if (str_contains($string, '_') === true) {
@@ -42,3 +43,106 @@ function removeUnderscore($string)
return ucfirst($string);
}
+
+function isItil()
+{
+ $check = false;
+ if (\Schema::hasTable('sd_releases') && \Schema::hasTable('sd_changes') && \Schema::hasTable('sd_problem')) {
+ $check = true;
+ }
+
+ return $check;
+}
+
+function isAsset()
+{
+ $check = false;
+ if (\Schema::hasTable('sd_assets')) {
+ $check = true;
+ }
+
+ return $check;
+}
+
+function itilEnabled()
+{
+ $check = false;
+ if (\Schema::hasTable('common_settings')) {
+ $settings = \DB::table('common_settings')->where('option_name', 'itil')->first();
+ if ($settings && $settings->status == 1) {
+ $check = true;
+ }
+ }
+
+ return $check;
+}
+
+function isBill()
+{
+ $check = false;
+ if (\Schema::hasTable('common_settings')) {
+ $settings = \DB::table('common_settings')->where('option_name', 'bill')->first();
+ if ($settings && $settings->status == 1) {
+ $check = true;
+ }
+ }
+
+ return $check;
+}
+
+function deletePopUp($id, $url, $title = 'Delete', $class = 'btn btn-sm btn-danger', $btn_name = 'Delete', $button_check = true)
+{
+ $button = '';
+ if ($button_check == true) {
+ $button = ''.$btn_name.' ';
+ }
+
+ return $button.'';
+}
+
+function isInstall()
+{
+ $check = false;
+ $env = base_path('.env');
+ if (\File::exists($env) && env('DB_INSTALL') == 1) {
+ $check = true;
+ }
+
+ return $check;
+}
+
+function faveotime($date, $hour = 0, $min = 0, $sec = 0)
+{
+ if (is_bool($hour) && $hour == true) {
+ $hour = $date->hour;
+ }
+ if (is_bool($min) && $min == true) {
+ $min = $date->minute;
+ }
+ if (is_bool($sec) && $sec == true) {
+ $sec = $date->second;
+ }
+ $date1 = \Carbon\Carbon::create($date->year, $date->month, $date->day, $hour, $min, $sec);
+
+ return $date1->hour($hour)->minute($min)->second($sec);
+}
diff --git a/app/Http/routes.php b/app/Http/routes.php
index 687311ec4..131494175 100644
--- a/app/Http/routes.php
+++ b/app/Http/routes.php
@@ -17,13 +17,13 @@ Route::group(['middleware' => ['web']], function () {
'password' => 'Auth\PasswordController',
]);
Route::get('social/login/redirect/{provider}/{redirect?}', ['uses' => 'Auth\AuthController@redirectToProvider', 'as' => 'social.login']);
- Route::get('social/login/{provider}', ['as' => 'social.login.callback', 'uses' => 'Auth\AuthController@handleProviderCallback']);
- Route::get('social-sync', ['as' => 'social.sync', 'uses' => 'Client\helpdesk\GuestController@sync']);
+ Route::get('social/login/{provider}', ['as'=>'social.login.callback', 'uses'=>'Auth\AuthController@handleProviderCallback']);
+ Route::get('social-sync', ['as'=>'social.sync', 'uses'=>'Client\helpdesk\GuestController@sync']);
});
-/*
+ /*
|-------------------------------------------------------------------------------
- | @Arindam
+ | @Anjali
|-------------------------------------------------------------------------------
| Here is defining entire routes for the Admin Panel
|
@@ -68,59 +68,20 @@ Route::group(['middleware' => ['web']], function () {
//Notification marking
Route::post('mark-read/{id}', 'Common\NotificationController@markRead');
Route::post('mark-all-read/{id}', 'Common\NotificationController@markAllRead');
- Breadcrumbs::register('notification.list', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push('All Notifications', route('notification.list'));
- });
+
Route::get('notifications-list', ['as' => 'notification.list', 'uses' => 'Common\NotificationController@show']);
Route::post('notification-delete/{id}', ['as' => 'notification.delete', 'uses' => 'Common\NotificationController@delete']);
- Breadcrumbs::register('notification.settings', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push('Notifications Settings', route('notification.settings'));
- });
+ Route::get('notifications-list/delete', ['as' => 'notification.delete.all', 'uses' => 'Common\NotificationController@deleteAll']);
+
Route::get('settings-notification', ['as' => 'notification.settings', 'uses' => 'Admin\helpdesk\SettingsController@notificationSettings']);
Route::get('delete-read-notification', 'Admin\helpdesk\SettingsController@deleteReadNoti');
Route::post('delete-notification-log', 'Admin\helpdesk\SettingsController@deleteNotificationLog');
// resource is a function to process create,edit,read and delete
Route::resource('groups', 'Admin\helpdesk\GroupController'); // for group module, for CRUD
- Breadcrumbs::register('groups.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.groups'), route('groups.index'));
- });
- Breadcrumbs::register('groups.create', function ($breadcrumbs) {
- $breadcrumbs->parent('groups.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('groups.create'));
- });
- Breadcrumbs::register('groups.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('groups.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('groups/{groups}/edit'));
- });
+
Route::resource('departments', 'Admin\helpdesk\DepartmentController'); // for departments module, for CRUD
- Breadcrumbs::register('departments.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.departments'), route('departments.index'));
- });
- Breadcrumbs::register('departments.create', function ($breadcrumbs) {
- $breadcrumbs->parent('departments.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('departments.create'));
- });
- Breadcrumbs::register('departments.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('departments.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('departments/{departments}/edit'));
- });
+
Route::resource('teams', 'Admin\helpdesk\TeamController'); // in teams module, for CRUD
- Breadcrumbs::register('teams.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.teams'), route('teams.index'));
- });
- Breadcrumbs::register('teams.create', function ($breadcrumbs) {
- $breadcrumbs->parent('teams.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('teams.create'));
- });
- Breadcrumbs::register('teams.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('teams.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('teams/{teams}/edit'));
- });
Route::get('/teams/show/{id}', ['as' => 'teams.show', 'uses' => 'Admin\helpdesk\TeamController@show']); /* Get Team View */
Breadcrumbs::register('teams.show', function ($breadcrumbs) {
$breadcrumbs->parent('teams.index');
@@ -128,62 +89,16 @@ Route::group(['middleware' => ['web']], function () {
});
Route::get('getshow/{id}', ['as' => 'teams.getshow.list', 'uses' => 'Admin\helpdesk\TeamController@getshow']);
Route::resource('agents', 'Admin\helpdesk\AgentController'); // in agents module, for CRUD
- Breadcrumbs::register('agents.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.agents'), route('agents.index'));
- });
- Breadcrumbs::register('agents.create', function ($breadcrumbs) {
- $breadcrumbs->parent('agents.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('agents.create'));
- });
- Breadcrumbs::register('agents.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('agents.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('agents/{agents}/edit'));
- });
+
Route::resource('emails', 'Admin\helpdesk\EmailsController'); // in emails module, for CRUD
- Breadcrumbs::register('emails.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.emails'), route('emails.index'));
- });
- Breadcrumbs::register('emails.create', function ($breadcrumbs) {
- $breadcrumbs->parent('emails.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('emails.create'));
- });
- Breadcrumbs::register('emails.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('emails.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('emails/{emails}/edit'));
- });
+
Route::resource('banlist', 'Admin\helpdesk\BanlistController'); // in banlist module, for CRUD
- Breadcrumbs::register('banlist.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.banlists'), route('banlist.index'));
- });
- Breadcrumbs::register('banlist.create', function ($breadcrumbs) {
- $breadcrumbs->parent('banlist.index');
- $breadcrumbs->push(Lang::get('lang.add'), route('banlist.create'));
- });
- Breadcrumbs::register('banlist.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('banlist.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('agents/{agents}/edit'));
- });
+
Route::get('banlist/delete/{id}', ['as' => 'banlist.delete', 'uses' => 'Admin\helpdesk\BanlistController@delete']); // in banlist module, for CRUD
/*
* Templates
*/
- Breadcrumbs::register('template-sets.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push('All Template sets', route('template-sets.index'));
- });
- Breadcrumbs::register('show.templates', function ($breadcrumbs) {
- $page = App\Model\Common\Template::whereId(1)->first();
- $breadcrumbs->parent('template-sets.index');
- $breadcrumbs->push('All Templates', route('show.templates', $page->id));
- });
- Breadcrumbs::register('templates.edit', function ($breadcrumbs) {
- $page = App\Model\Common\Template::whereId(1)->first();
- $breadcrumbs->parent('show.templates');
- $breadcrumbs->push('Edit Template', route('templates.edit', $page->id));
- });
+
Route::resource('templates', 'Common\TemplateController');
Route::get('get-templates', 'Common\TemplateController@GetTemplates');
Route::get('templates-delete', 'Common\TemplateController@destroy');
@@ -201,37 +116,12 @@ Route::group(['middleware' => ['web']], function () {
Route::post('create-templates', ['as' => 'template.createnew', 'uses' => 'Admin\helpdesk\TemplateController@createtemplate']);
Route::get('delete-template/{template}/{path}', ['as' => 'templates.delete', 'uses' => 'Admin\helpdesk\TemplateController@deletetemplate']);
Route::get('getdiagno', ['as' => 'getdiagno', 'uses' => 'Admin\helpdesk\TemplateController@formDiagno']); // for getting form for diagnostic
- Breadcrumbs::register('getdiagno', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.email_diagnostic'), route('getdiagno'));
- });
+
Route::post('postdiagno', ['as' => 'postdiagno', 'uses' => 'Admin\helpdesk\TemplateController@postDiagno']); // for getting form for diagnostic
Route::resource('helptopic', 'Admin\helpdesk\HelptopicController'); // in helptopics module, for CRUD
- Breadcrumbs::register('helptopic.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.help_topics'), route('helptopic.index'));
- });
- Breadcrumbs::register('helptopic.create', function ($breadcrumbs) {
- $breadcrumbs->parent('helptopic.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('helptopic.create'));
- });
- Breadcrumbs::register('helptopic.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('helptopic.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('helptopic/{helptopic}/edit'));
- });
+
Route::resource('sla', 'Admin\helpdesk\SlaController'); // in SLA Plan module, for CRUD
- Breadcrumbs::register('sla.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.sla-plans'), route('sla.index'));
- });
- Breadcrumbs::register('sla.create', function ($breadcrumbs) {
- $breadcrumbs->parent('sla.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('sla.create'));
- });
- Breadcrumbs::register('sla.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('sla.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('sla/{sla}/edit'));
- });
+
Route::resource('forms', 'Admin\helpdesk\FormController');
Route::get('forms/add-child/{formid}', ['as' => 'forms.add.child', 'uses' => 'Admin\helpdesk\FormController@addChildForm']);
Route::post('forms/field/{fieldid}/child', [
@@ -242,169 +132,80 @@ Route::group(['middleware' => ['web']], function () {
'as' => 'forms.field.child',
'uses' => 'Admin\helpdesk\FormController@renderChild',
]);
- Breadcrumbs::register('forms.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.forms'), route('forms.index'));
- });
- Breadcrumbs::register('forms.create', function ($breadcrumbs) {
- $breadcrumbs->parent('forms.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('forms.create'));
- });
- Breadcrumbs::register('forms.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('forms.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('forms/{forms}/edit'));
- });
- Breadcrumbs::register('forms.show', function ($breadcrumbs) {
- $breadcrumbs->parent('forms.index');
- $breadcrumbs->push(Lang::get('lang.view'), url('forms/{forms}'));
- });
- Breadcrumbs::register('forms.add.child', function ($breadcrumbs) {
- $breadcrumbs->parent('forms.index');
- $breadcrumbs->push('Add Child', url('forms/add-child/{forms}'));
- });
+
Route::get('delete-forms/{id}', ['as' => 'forms.delete', 'uses' => 'Admin\helpdesk\FormController@delete']);
//$router->model('id','getcompany');
Route::get('job-scheduler', ['as' => 'get.job.scheder', 'uses' => 'Admin\helpdesk\SettingsController@getSchedular']); //to get ob scheduler form page
- Breadcrumbs::register('get.job.scheder', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.cron-jobs'), route('get.job.scheder'));
- });
+
Route::patch('post-scheduler', ['as' => 'post.job.scheduler', 'uses' => 'Admin\helpdesk\SettingsController@postSchedular']); //to update job scheduler
Route::get('agent-profile-page/{id}', ['as' => 'agent.profile.page', 'uses' => 'Admin\helpdesk\AgentController@agent_profile']);
Route::get('getcompany', ['as' => 'getcompany', 'uses' => 'Admin\helpdesk\SettingsController@getcompany']); // direct to company setting page
- Breadcrumbs::register('getcompany', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.company_settings'), route('getcompany'));
- });
+
Route::patch('postcompany/{id}', 'Admin\helpdesk\SettingsController@postcompany'); // Updating the Company table with requests
Route::get('delete-logo', ['as' => 'delete.logo', 'uses' => 'Admin\helpdesk\SettingsController@deleteLogo']); // deleting a logo
Route::get('getsystem', ['as' => 'getsystem', 'uses' => 'Admin\helpdesk\SettingsController@getsystem']); // direct to system setting page
- Breadcrumbs::register('getsystem', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.system-settings'), route('getsystem'));
- });
+
Route::patch('postsystem/{id}', 'Admin\helpdesk\SettingsController@postsystem'); // Updating the System table with requests
Route::get('getticket', ['as' => 'getticket', 'uses' => 'Admin\helpdesk\SettingsController@getticket']); // direct to ticket setting page
- Breadcrumbs::register('getticket', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.ticket-setting'), route('getticket'));
- });
+
Route::patch('postticket/{id}', 'Admin\helpdesk\SettingsController@postticket'); // Updating the Ticket table with requests
Route::get('getemail', ['as' => 'getemail', 'uses' => 'Admin\helpdesk\SettingsController@getemail']); // direct to email setting page
- Breadcrumbs::register('getemail', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.email-settings'), route('getemail'));
- });
+
+ Route::get('ticket/tooltip', ['as'=>'ticket.tooltip', 'uses'=>'Agent\helpdesk\TicketController@getTooltip']);
+
Route::patch('postemail/{id}', 'Admin\helpdesk\SettingsController@postemail'); // Updating the Email table with requests
// Route::get('getaccess', 'Admin\helpdesk\SettingsController@getaccess'); // direct to access setting page
// Route::patch('postaccess/{id}', 'Admin\helpdesk\SettingsController@postaccess'); // Updating the Access table with requests
Route::get('getresponder', ['as' => 'getresponder', 'uses' => 'Admin\helpdesk\SettingsController@getresponder']); // direct to responder setting page
- Breadcrumbs::register('getresponder', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.auto_responce'), route('getresponder'));
- });
+
Route::patch('postresponder/{id}', 'Admin\helpdesk\SettingsController@postresponder'); // Updating the Responder table with requests
Route::get('getalert', ['as' => 'getalert', 'uses' => 'Admin\helpdesk\SettingsController@getalert']); // direct to alert setting page
- Breadcrumbs::register('getalert', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.alert_notices_setitngs'), route('getalert'));
- });
+
Route::patch('postalert/{id}', 'Admin\helpdesk\SettingsController@postalert'); // Updating the Alert table with requests
// Templates
- Breadcrumbs::register('security.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.security_settings'), route('security.index'));
- });
- // Templates > Upload Templates
- Breadcrumbs::register('security.create', function ($breadcrumbs) {
- $breadcrumbs->parent('security.index');
- $breadcrumbs->push('Upload security', route('security.create'));
- });
- // Templates > [Templates Name]
- Breadcrumbs::register('security.show', function ($breadcrumbs, $photo) {
- $breadcrumbs->parent('security.index');
- $breadcrumbs->push($photo->title, route('security.show', $photo->id));
- });
- // Templates > [Templates Name] > Edit Templates
- Breadcrumbs::register('security.edit', function ($breadcrumbs, $photo) {
- $breadcrumbs->parent('security.show', $photo);
- $breadcrumbs->push('Edit security', route('security.edit', $photo->id));
- });
+
Route::get('security', ['as' => 'security.index', 'uses' => 'Admin\helpdesk\SecurityController@index']); // direct to security setting page
Route::resource('close-workflow', 'Admin\helpdesk\CloseWrokflowController'); // direct to security setting page
- Breadcrumbs::register('close-workflow.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.close_ticket_workflow_settings'), route('close-workflow.index'));
- });
+
Route::resource('close-workflow', 'Admin\helpdesk\CloseWrokflowController'); // direct to security setting page
Route::patch('security/{id}', ['as' => 'securitys.update', 'uses' => 'Admin\helpdesk\SecurityController@update']); // direct to security setting page
Route::get('setting-status', ['as' => 'statuss.index', 'uses' => 'Admin\helpdesk\SettingsController@getStatuses']); // direct to status setting page
- Breadcrumbs::register('statuss.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.status_settings'), route('statuss.index'));
- });
+
Route::patch('status-update/{id}', ['as' => 'statuss.update', 'uses' => 'Admin\helpdesk\SettingsController@editStatuses']);
- Breadcrumbs::register('statuss.create', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push('Create Status', route('statuss.create'));
- });
+
Route::get('status/edit/{id}', ['as' => 'status.edit', 'uses' => 'Admin\helpdesk\SettingsController@getEditStatuses']);
Route::post('status-create', ['as' => 'statuss.create', 'uses' => 'Admin\helpdesk\SettingsController@createStatuses']);
Route::get('status-delete/{id}', ['as' => 'statuss.delete', 'uses' => 'Admin\helpdesk\SettingsController@deleteStatuses']);
Route::get('ticket/status/{id}/{state}', ['as' => 'statuss.state', 'uses' => 'Agent\helpdesk\TicketController@updateStatuses']);
Route::get('getratings', ['as' => 'ratings.index', 'uses' => 'Admin\helpdesk\SettingsController@RatingSettings']);
- Breadcrumbs::register('ratings.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.ratings_settings'), route('ratings.index'));
- });
+
Route::get('deleter/{rating}', ['as' => 'ratings.delete', 'uses' => 'Admin\helpdesk\SettingsController@RatingDelete']);
- Breadcrumbs::register('rating.create', function ($breadcrumbs) {
- $breadcrumbs->parent('ratings.index');
- $breadcrumbs->push('Create Ratings', route('rating.create'));
- });
+
Route::get('create-ratings', ['as' => 'rating.create', 'uses' => 'Admin\helpdesk\SettingsController@createRating']);
Route::post('store-ratings', ['as' => 'rating.store', 'uses' => 'Admin\helpdesk\SettingsController@storeRating']);
- Breadcrumbs::register('rating.edit', function ($breadcrumbs) {
- $page = App\Model\helpdesk\Ratings\Rating::whereId(1)->first();
- $breadcrumbs->parent('ratings.index');
- $breadcrumbs->push('Edit Ratings');
- });
+
Route::get('editratings/{slug}', ['as' => 'rating.edit', 'uses' => 'Admin\helpdesk\SettingsController@editRatingSettings']);
Route::patch('postratings/{slug}', ['as' => 'settings.rating', 'uses' => 'Admin\helpdesk\SettingsController@PostRatingSettings']);
Route::get('remove-user-org/{id}', ['as' => 'removeuser.org', 'uses' => 'Agent\helpdesk\UserController@removeUserOrg']);
Route::get('admin-profile', ['as' => 'admin-profile', 'uses' => 'Admin\helpdesk\ProfileController@getProfile']); /* User profile edit get */
- Breadcrumbs::register('admin-profile', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.profile'), route('admin-profile'));
- });
+
Route::get('admin-profile-edit', 'Admin\helpdesk\ProfileController@getProfileedit'); /* Admin profile get */
Route::patch('admin-profile', 'Admin\helpdesk\ProfileController@postProfileedit'); /* Admin Profile Post */
Route::patch('admin-profile-password', 'Admin\helpdesk\ProfileController@postProfilePassword'); /* Admin Profile Password Post */
Route::get('widgets', ['as' => 'widgets', 'uses' => 'Common\SettingsController@widgets']); /* get the create footer page for admin */
- Breadcrumbs::register('widgets', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.widget-settings'), route('widgets'));
- });
+
Route::get('list-widget', 'Common\SettingsController@list_widget'); /* get the list widget page for admin */
Route::post('edit-widget/{id}', 'Common\SettingsController@edit_widget'); /* get the create footer page for admin */
Route::get('social-buttons', ['as' => 'social.buttons', 'uses' => 'Common\SettingsController@social_buttons']); /* get the create footer page for admin */
- Breadcrumbs::register('social.buttons', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.social-widget-settings'), route('social.buttons'));
- });
+
Route::get('list-social-buttons', ['as' => 'list.social.buttons', 'uses' => 'Common\SettingsController@list_social_buttons']); /* get the list widget page for admin */
Route::post('edit-widget/{id}', 'Common\SettingsController@edit_social_buttons'); /* get the create footer page for admin */
Route::get('version-check', ['as' => 'version-check', 'uses' => 'Common\SettingsController@version_check']); /* Check version */
Route::post('post-version-check', ['as' => 'post-version-check', 'uses' => 'Common\SettingsController@post_version_check']); /* post Check version */
Route::get('admin', ['as' => 'setting', 'uses' => 'Admin\helpdesk\SettingsController@settings']);
- Breadcrumbs::register('setting', function ($breadcrumbs) {
- $breadcrumbs->push(Lang::get('lang.admin_panel'), route('setting'));
- });
+
Route::get('plugins', ['as' => 'plugins', 'uses' => 'Common\SettingsController@Plugins']);
- Breadcrumbs::register('plugins', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.plugins'), route('plugins'));
- });
+
Route::get('getplugin', ['as' => 'get.plugin', 'uses' => 'Common\SettingsController@GetPlugin']);
Route::post('post-plugin', ['as' => 'post.plugin', 'uses' => 'Common\SettingsController@PostPlugins']);
Route::get('getconfig', ['as' => 'get.config', 'uses' => 'Common\SettingsController@fetchConfig']);
@@ -412,10 +213,7 @@ Route::group(['middleware' => ['web']], function () {
Route::get('plugin/status/{slug}', ['as' => 'status.plugin', 'uses' => 'Common\SettingsController@StatusPlugin']);
//Routes for showing language table and switching language
Route::get('languages', ['as' => 'LanguageController', 'uses' => 'Admin\helpdesk\LanguageController@index']);
- Breadcrumbs::register('LanguageController', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.language-settings'), route('LanguageController'));
- });
+
Route::get('get-languages', ['as' => 'getAllLanguages', 'uses' => 'Admin\helpdesk\LanguageController@getLanguages']);
Route::get('change-language/{lang}', ['as' => 'lang.switch', 'uses' => 'Admin\helpdesk\LanguageController@switchLanguage']);
//Route for download language template package
@@ -423,32 +221,20 @@ Route::group(['middleware' => ['web']], function () {
//Routes for language file upload form-----------You may want to use csrf protection for these route--------------
Route::post('language/add', 'Admin\helpdesk\LanguageController@postForm');
Route::get('language/add', ['as' => 'add-language', 'uses' => 'Admin\helpdesk\LanguageController@getForm']);
- Breadcrumbs::register('add-language', function ($breadcrumbs) {
- $breadcrumbs->parent('LanguageController');
- $breadcrumbs->push(Lang::get('lang.add'), route('add-language'));
- });
+
//Routes for delete language package
Route::get('delete-language/{lang}', ['as' => 'lang.delete', 'uses' => 'Admin\helpdesk\LanguageController@deleteLanguage']);
Route::get('generate-api-key', 'Admin\helpdesk\SettingsController@GenerateApiKey'); // route to generate api key
Route::post('validating-email-settings', ['as' => 'validating.email.settings', 'uses' => 'Admin\helpdesk\EmailsController@validatingEmailSettings']); // route to check email input validation
Route::post('validating-email-settings-on-update/{id}', ['as' => 'validating.email.settings.update', 'uses' => 'Admin\helpdesk\EmailsController@validatingEmailSettingsUpdate']); // route to check email input validation
Route::get('workflow', ['as' => 'workflow', 'uses' => 'Admin\helpdesk\WorkflowController@index']);
- Breadcrumbs::register('workflow', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.ticket_workflow'), route('workflow'));
- });
+
Route::get('workflow-list', ['as' => 'workflow.list', 'uses' => 'Admin\helpdesk\WorkflowController@workFlowList']);
Route::get('workflow/create', ['as' => 'workflow.create', 'uses' => 'Admin\helpdesk\WorkflowController@create']);
- Breadcrumbs::register('workflow.create', function ($breadcrumbs) {
- $breadcrumbs->parent('workflow');
- $breadcrumbs->push(Lang::get('lang.create'), route('workflow.create'));
- });
+
Route::post('workflow/store', ['as' => 'workflow.store', 'uses' => 'Admin\helpdesk\WorkflowController@store']);
Route::get('workflow/edit/{id}', ['as' => 'workflow.edit', 'uses' => 'Admin\helpdesk\WorkflowController@edit']);
- Breadcrumbs::register('workflow.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('workflow');
- $breadcrumbs->push(Lang::get('lang.edit'), url('workflow/edit/{id}'));
- });
+
Route::post('workflow/update/{id}', ['as' => 'workflow.update', 'uses' => 'Admin\helpdesk\WorkflowController@update']);
Route::get('workflow/action-rule/{id}', ['as' => 'workflow.dept', 'uses' => 'Admin\helpdesk\WorkflowController@selectAction']);
Route::get('workflow/delete/{id}', ['as' => 'workflow.delete', 'uses' => 'Admin\helpdesk\WorkflowController@destroy']);
@@ -456,20 +242,14 @@ Route::group(['middleware' => ['web']], function () {
* Api Settings
*/
Route::get('api', ['as' => 'api.settings.get', 'uses' => 'Common\ApiSettings@show']);
- Breadcrumbs::register('api.settings.get', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.api_settings'), route('api.settings.get'));
- });
+
Route::post('api', ['as' => 'api.settings.post', 'uses' => 'Common\ApiSettings@postSettings']);
/*
* Error and debugging
*/
//route for showing error and debugging setting form page
Route::get('error-and-debugging-options', ['as' => 'err.debug.settings', 'uses' => 'Admin\helpdesk\ErrorAndDebuggingController@showSettings']);
- Breadcrumbs::register('err.debug.settings', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.error-debug-settings'), route('err.debug.settings'));
- });
+
//route for submit error and debugging setting form page
Route::post('post-settings', ['as' => 'post.error.debug.settings',
'uses' => 'Admin\helpdesk\ErrorAndDebuggingController@postSettings', ]);
@@ -478,6 +258,25 @@ Route::group(['middleware' => ['web']], function () {
'as' => 'error.logs',
'uses' => 'Admin\helpdesk\ErrorAndDebuggingController@showErrorLogs',
]);
+
+ /*
+ * Approval
+ */
+ Route::get('approval/settings', ['as' => 'approval.settings', 'uses' => 'Agent\helpdesk\TicketController@settingsApproval']);
+ Route::post('settingsUpdateApproval/settings', ['as' => 'settingsUpdateApproval.settings', 'uses' => 'Agent\helpdesk\TicketController@settingsUpdateApproval']);
+
+ Route::get('/ticket/approval/closed', ['as' => 'closed.approvel.ticket', 'uses' => 'Agent\helpdesk\TicketController@approverClosedTicketList']); /* Get Closed Ticket */
+
+ Route::get('/ticket/get-approval', ['as' => 'get.approval.ticket', 'uses' => 'Agent\helpdesk\TicketController@getApproval']); /* Get tickets in datatable */
+ Route::get('/ticket/close/get-approval/{id}', ['as' => 'get.close.approval.ticket', 'uses' => 'Agent\helpdesk\TicketController@getCloseapproval']); /* Get tickets in datatable */
+
+ /*
+ * Labels
+ */
+
+ Route::resource('labels', 'Admin\helpdesk\Label\LabelController');
+ Route::get('labels-ajax', ['as'=>'labels.ajax', 'uses'=>'Admin\helpdesk\Label\LabelController@ajaxTable']);
+ Route::get('labels/delete/{id}', ['as' => 'labels.destroy', 'uses' => 'Admin\helpdesk\Label\LabelController@destroy']);
});
/*
|------------------------------------------------------------------
@@ -499,58 +298,21 @@ Route::group(['middleware' => ['web']], function () {
Route::get('user-export', ['as' => 'user.export', 'uses' => 'Agent\helpdesk\UserController@getExportUser']); /* User router is used to control the CRUD of user */
Route::post('user-export', ['as' => 'user.export.post', 'uses' => 'Agent\helpdesk\UserController@exportUser']); /* User router is used to control the CRUD of user */
- Breadcrumbs::register('user.index', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.user_directory'), route('user.index'));
- });
- Breadcrumbs::register('user.create', function ($breadcrumbs) {
- $breadcrumbs->parent('user.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('user.create'));
- });
- Breadcrumbs::register('user.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('user.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('user/{user}/edit'));
- });
- Breadcrumbs::register('user.show', function ($breadcrumbs) {
- $breadcrumbs->parent('user.index');
- $breadcrumbs->push(Lang::get('lang.view-profile'), url('user/{user}'));
- });
Route::get('user-list', ['as' => 'user.list', 'uses' => 'Agent\helpdesk\UserController@user_list']);
+
// Route::get('user/delete/{id}', ['as' => 'user.delete' , 'uses' => 'Agent\helpdesk\UserController@destroy']);
Route::resource('organizations', 'Agent\helpdesk\OrganizationController'); /* organization router used to deal CRUD function of organization */
Route::get('get-organization', ['as' => 'org.get.ajax', 'uses' => 'Agent\helpdesk\OrganizationController@getOrgAjax']);
- Breadcrumbs::register('organizations.index', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.organizations'), route('organizations.index'));
- });
- Breadcrumbs::register('organizations.create', function ($breadcrumbs) {
- $breadcrumbs->parent('organizations.index');
- $breadcrumbs->push(Lang::get('lang.create'), route('organizations.create'));
- });
- Breadcrumbs::register('organizations.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('organizations.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('organizations/{organizations}/edit'));
- });
- Breadcrumbs::register('organizations.show', function ($breadcrumbs) {
- $breadcrumbs->parent('organizations.index');
- $breadcrumbs->push(Lang::get('lang.view_organization_profile'), url('organizations/{organizations}'));
- });
+
Route::get('org-list', ['as' => 'org.list', 'uses' => 'Agent\helpdesk\OrganizationController@org_list']);
- Route::get('organization-autofill', ['as' => 'post.organization.autofill', 'uses' => 'Agent\helpdesk\OrganizationController@organizationAutofill']); //auto fill organization name//
+ Route::get('organization-autofill', ['as' => 'post.organization.autofill', 'uses' => 'Agent\helpdesk\OrganizationController@organizationAutofill']); //auto fill organization name
Route::get('org/delete/{id}', ['as' => 'org.delete', 'uses' => 'Agent\helpdesk\OrganizationController@destroy']);
Route::get('org-chart/{id}', 'Agent\helpdesk\OrganizationController@orgChartData');
// Route::post('org-chart-range', ['as' => 'post.org.chart', 'uses' => 'Agent\helpdesk\OrganizationController@orgChartData']);
Route::post('org-chart-range/{id}/{date1}/{date2}', ['as' => 'post.org.chart', 'uses' => 'Agent\helpdesk\OrganizationController@orgChartData']);
Route::get('profile', ['as' => 'profile', 'uses' => 'Agent\helpdesk\UserController@getProfile']); /* User profile get */
- Breadcrumbs::register('profile', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.my_profile'), route('profile'));
- });
+
Route::get('profile-edit', ['as' => 'agent-profile-edit', 'uses' => 'Agent\helpdesk\UserController@getProfileedit']); /* User profile edit get */
- Breadcrumbs::register('agent-profile-edit', function ($breadcrumbs) {
- $breadcrumbs->parent('profile');
- $breadcrumbs->push(Lang::get('lang.edit'), url('profile-edit'));
- });
Route::post('verify-number', ['as' => 'agent-verify-number', 'uses' => 'Agent\helpdesk\UserController@resendOTP']);
Route::post('verify-number2', ['as' => 'post-agent-verify-number', 'uses' => 'Agent\helpdesk\UserController@verifyOTP']);
@@ -558,83 +320,45 @@ Route::group(['middleware' => ['web']], function () {
Route::patch('agent-profile', ['as' => 'agent-profile', 'uses' => 'Agent\helpdesk\UserController@postProfileedit']); /* User Profile Post */
Route::patch('agent-profile-password/{id}', 'Agent\helpdesk\UserController@postProfilePassword'); /* Profile Password Post */
Route::get('canned/list', ['as' => 'canned.list', 'uses' => 'Agent\helpdesk\CannedController@index']); /* Canned list */
- Breadcrumbs::register('canned.list', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.canned_response'), route('canned.list'));
- });
+
Route::get('canned/create', ['as' => 'canned.create', 'uses' => 'Agent\helpdesk\CannedController@create']); /* Canned create */
- Breadcrumbs::register('canned.create', function ($breadcrumbs) {
- $breadcrumbs->parent('canned.list');
- $breadcrumbs->push(Lang::get('lang.create'), route('canned.create'));
- });
+
Route::patch('canned/store', ['as' => 'canned.store', 'uses' => 'Agent\helpdesk\CannedController@store']); /* Canned store */
Route::get('canned/edit/{id}', ['as' => 'canned.edit', 'uses' => 'Agent\helpdesk\CannedController@edit']); /* Canned edit */
- Breadcrumbs::register('canned.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('canned.list');
- $breadcrumbs->push(Lang::get('lang.edit'), url('canned/edit/{id}'));
- });
+
Route::patch('canned/update/{id}', ['as' => 'canned.update', 'uses' => 'Agent\helpdesk\CannedController@update']); /* Canned update */
Route::get('canned/show/{id}', ['as' => 'canned.show', 'uses' => 'Agent\helpdesk\CannedController@show']); /* Canned show */
Route::delete('canned/destroy/{id}', ['as' => 'canned.destroy', 'uses' => 'Agent\helpdesk\CannedController@destroy']); /* Canned delete */
Route::get('/test', ['as' => 'thr', 'uses' => 'Agent\helpdesk\MailController@fetchdata']); /* Fetch Emails */
Route::get('/ticket', ['as' => 'ticket', 'uses' => 'Agent\helpdesk\TicketController@ticket_list']); /* Get Ticket */
Route::get('/ticket/inbox', ['as' => 'inbox.ticket', 'uses' => 'Agent\helpdesk\TicketController@inbox_ticket_list']); /* Get Inbox Ticket */
- Breadcrumbs::register('inbox.ticket', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.inbox'), route('inbox.ticket'));
- });
+
Route::get('/ticket/get-inbox', ['as' => 'get.inbox.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_inbox']); /* Get tickets in datatable */
Route::get('/ticket/open', ['as' => 'open.ticket', 'uses' => 'Agent\helpdesk\TicketController@open_ticket_list']); /* Get Open Ticket */
- Breadcrumbs::register('open.ticket', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.open'), route('open.ticket'));
- });
+
Route::get('/ticket/get-open', ['as' => 'get.open.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_open']); /* Get tickets in datatable */
Route::get('/ticket/answered', ['as' => 'answered.ticket', 'uses' => 'Agent\helpdesk\TicketController@answered_ticket_list']); /* Get Answered Ticket */
- Breadcrumbs::register('answered.ticket', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.answered'), route('answered.ticket'));
- });
+
Route::get('/ticket/get-answered', ['as' => 'get.answered.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_answered']); /* Get tickets in datatable */
Route::get('/ticket/myticket', ['as' => 'myticket.ticket', 'uses' => 'Agent\helpdesk\TicketController@myticket_ticket_list']); /* Get Tickets Assigned to logged user */
- Breadcrumbs::register('myticket.ticket', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.my_tickets'), route('myticket.ticket'));
- });
+
Route::get('/ticket/get-myticket', ['as' => 'get.myticket.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_myticket']); /* Get tickets in datatable */
Route::get('/ticket/overdue', ['as' => 'overdue.ticket', 'uses' => 'Agent\helpdesk\TicketController@overdue_ticket_list']); /* Get Overdue Ticket */
- Breadcrumbs::register('overdue.ticket', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.overdue'), route('overdue.ticket'));
- });
+
Route::get('/ticket/get-overdue', ['as' => 'get.overdue.ticket', 'uses' => 'Agent\helpdesk\TicketController@getOverdueTickets']); /* Get Overdue Ticket */
Route::get('/ticket/closed', ['as' => 'closed.ticket', 'uses' => 'Agent\helpdesk\TicketController@closed_ticket_list']); /* Get Closed Ticket */
- Breadcrumbs::register('closed.ticket', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.closed'), route('closed.ticket'));
- });
+
Route::get('/ticket/get-closed', ['as' => 'get.closed.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_closed']); /* Get tickets in datatable */
Route::get('/ticket/assigned', ['as' => 'assigned.ticket', 'uses' => 'Agent\helpdesk\TicketController@assigned_ticket_list']); /* Get Assigned Ticket */
- Breadcrumbs::register('assigned.ticket', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.assigned'), route('assigned.ticket'));
- });
+
Route::get('/ticket/get-assigned', ['as' => 'get.assigned.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_assigned']); /* Get tickets in datatable */
Route::get('/newticket', ['as' => 'newticket', 'uses' => 'Agent\helpdesk\TicketController@newticket']); /* Get Create New Ticket */
- Breadcrumbs::register('newticket', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.create'), route('newticket'));
- });
Route::get('/newticket/autofill', ['as' => 'post.newticket.autofill', 'uses' => 'Agent\helpdesk\TicketController@autofill']);
Route::post('/newticket/post', ['as' => 'post.newticket', 'uses' => 'Agent\helpdesk\TicketController@post_newticket']); /* Post Create New Ticket */
Route::get('/thread/{id}', ['as' => 'ticket.thread', 'uses' => 'Agent\helpdesk\TicketController@thread']); /* Get Thread by ID */
- Breadcrumbs::register('ticket.thread', function ($breadcrumbs, $id) {
- $breadcrumbs->parent('dashboard');
- $ticket_number = App\Model\helpdesk\Ticket\Tickets::where('id', '=', $id)->first();
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.$ticket_number->ticket_number, url('/thread/{id}'));
- });
+
Route::post('/thread/reply/{id}', ['as' => 'ticket.reply', 'uses' => 'Agent\helpdesk\TicketController@reply']); /* Patch Thread Reply */
Route::patch('/internal/note/{id}', ['as' => 'Internal.note', 'uses' => 'Agent\helpdesk\TicketController@InternalNote']); /* Patch Internal Note */
Route::patch('/ticket/assign/{id}', ['as' => 'assign.ticket', 'uses' => 'Agent\helpdesk\TicketController@assign']); /* Patch Ticket assigned to whom */
@@ -648,22 +372,13 @@ Route::group(['middleware' => ['web']], function () {
Route::get('/ticket/surrender/{id}', ['as' => 'ticket.surrender', 'uses' => 'Agent\helpdesk\TicketController@surrender']); /* Get Ticket Surrender */
Route::get('/aaaa', 'Client\helpdesk\GuestController@ticket_number');
Route::get('trash', ['as' => 'get-trash', 'uses' => 'Agent\helpdesk\TicketController@trash']); /* To show Deleted Tickets */
- Breadcrumbs::register('get-trash', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.trash'), route('get-trash'));
- });
+
Route::get('/ticket/trash', ['as' => 'get.trash.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_trash']); /* Get tickets in datatable */
Route::get('unassigned', ['as' => 'unassigned', 'uses' => 'Agent\helpdesk\TicketController@unassigned']); /* To show Unassigned Tickets */
- Breadcrumbs::register('unassigned', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.tickets').' > '.Lang::get('lang.unassigned'), route('unassigned'));
- });
+
Route::get('/ticket/unassigned', ['as' => 'get.unassigned.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_unassigned']); /* Get tickets in datatable */
Route::get('dashboard', ['as' => 'dashboard', 'uses' => 'Agent\helpdesk\DashboardController@index']); /* To show dashboard pages */
- Breadcrumbs::register('dashboard', function ($breadcrumbs) {
- //$breadcrumbs->parent('/');
- $breadcrumbs->push(Lang::get('lang.dashboard'), route('dashboard'));
- });
+
Route::get('agen', 'Agent\helpdesk\DashboardController@ChartData');
Route::get('image/{id}', ['as' => 'image', 'uses' => 'Agent\helpdesk\MailController@get_data']); /* get image */
Route::get('thread/auto/{id}', 'Agent\helpdesk\TicketController@autosearch');
@@ -681,20 +396,12 @@ Route::group(['middleware' => ['web']], function () {
Route::patch('/head-org/{id}', 'Agent\helpdesk\OrganizationController@Head_Org');
// Department ticket
Route::get('/{dept}/open', ['as' => 'dept.open.ticket', 'uses' => 'Agent\helpdesk\TicketController@deptopen']); // Open
- Breadcrumbs::register('dept.open.ticket', function ($breadcrumbs, $dept) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.department').' > '.$dept.' > '.Lang::get('lang.open_tickets'), url('/{dept}/open'));
- });
+ Route::get('tickets/{dept}/{status}', ['as' => 'dept.ticket', 'uses' => 'Agent\helpdesk\TicketController@deptTicket']); // Open
+
Route::get('/{dept}/assigned', ['as' => 'dept.inprogress.ticket', 'uses' => 'Agent\helpdesk\TicketController@deptinprogress']); // Inprogress
- Breadcrumbs::register('dept.inprogress.ticket', function ($breadcrumbs, $dept) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.department').' > '.$dept.' > '.Lang::get('lang.assigned_tickets'), url('/{dept}/inprogress'));
- });
+
Route::get('/{dept}/closed', ['as' => 'dept.closed.ticket', 'uses' => 'Agent\helpdesk\TicketController@deptclose']); // Closed
- Breadcrumbs::register('dept.closed.ticket', function ($breadcrumbs, $dept) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.department').' > '.$dept.' > '.Lang::get('lang.closed_tickets'), url('/{dept}/closed'));
- });
+
Route::post('rating/{id}', ['as' => 'ticket.rating', 'uses' => 'Agent\helpdesk\TicketController@rating']); /* Get overall Ratings */
Route::post('rating2/{id}', ['as' => 'ticket.rating2', 'uses' => 'Agent\helpdesk\TicketController@ratingReply']); /* Get reply Ratings */
// To check and lock tickets
@@ -715,19 +422,37 @@ Route::group(['middleware' => ['web']], function () {
// route for graphical reporting
Route::get('report', ['as' => 'report.index', 'uses' => 'Agent\helpdesk\ReportController@index']); /* To show dashboard pages */
- Breadcrumbs::register('report.index', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.dashboard'), route('dashboard'));
- });
+
// default route to get the data for the first time
Route::get('help-topic-report', 'Agent\helpdesk\ReportController@chartdataHelptopic');
// route to get the data on change
Route::post('help-topic-report/{date1}/{date2}/{id}', ['as' => 'report.helptopic', 'uses' => 'Agent\helpdesk\ReportController@chartdataHelptopic']); /* To show dashboard pages */
Route::post('help-topic-pdf', ['as' => 'help.topic.pdf', 'uses' => 'Agent\helpdesk\ReportController@helptopicPdf']);
- // Route to get details of agents
+ // Route to get details of agents
Route::post('get-agents', ['as' => 'get-agents', 'uses' => 'Agent\helpdesk\UserController@getAgentDetails']);
+
+ /*
+ * Label
+ */
+ Route::get('labels-ticket', ['as'=>'labels.ticket', 'uses'=>'Admin\helpdesk\Label\LabelController@attachTicket']);
+ Route::get('json-labels', ['as'=>'labels.json', 'uses'=>'Admin\helpdesk\Label\LabelController@getLabel']);
+ Route::get('filter', ['as'=>'filter', 'uses'=>'Agent\helpdesk\Filter\FilterController@getFilter']);
+
+ /*
+ * Tags
+ */
+
+ Route::get('add-tag', ['as'=>'tag.add', 'uses'=>'Agent\helpdesk\Filter\TagController@addToFilter']);
+ Route::get('get-tag', ['as'=>'tag.get', 'uses'=>'Agent\helpdesk\Filter\TagController@getTag']);
});
+ /*
+ * Followup tickets
+ */
+ Route::get('/ticket/followup', ['as' => 'followup.ticket', 'uses' => 'Agent\helpdesk\TicketController@followupTicketList']); // Get Closed Ticket /
+
+ Route::get('/ticket/get-followup', ['as' => 'get.followup.ticket', 'uses' => 'Agent\helpdesk\TicketController@getFollowup']); // Get tickets in datatable /
+ Route::get('/ticket/close/get-approval/{id}', ['as' => 'get.close.approval.ticket', 'uses' => 'Agent\helpdesk\TicketController@getCloseapproval']); // Get tickets in datatable /
/*
|------------------------------------------------------------------
|Guest Routes
@@ -754,59 +479,37 @@ Route::group(['middleware' => ['web']], function () {
});
Route::post('postform/{id}', 'Client\helpdesk\FormController@postForm'); /* post the AJAX form for create a ticket by guest user */
- Route::post('postedform', ['as' => 'client.form.post', 'uses' => 'Client\helpdesk\FormController@postedForm']); /* post the form to store the value */
- Route::get('check', 'CheckController@getcheck'); //testing checkbox auto-populate
- Route::post('postcheck/{id}', 'CheckController@postcheck');
+ Route::post('postedform', ['as'=>'client.form.post', 'uses'=>'Client\helpdesk\FormController@postedForm']); /* post the form to store the value */
+ //Route::get('check', 'CheckController@getcheck'); //testing checkbox auto-populate
+ //Route::post('postcheck/{id}', 'CheckController@postcheck');
Route::get('get-helptopic-form', 'Client\helpdesk\FormController@getCustomForm');
- Breadcrumbs::register('home', function ($breadcrumbs) {
- $breadcrumbs->push('Home', route('home'));
- });
+
Route::get('home', ['as' => 'home', 'uses' => 'Client\helpdesk\WelcomepageController@index']); //guest layout
- Breadcrumbs::register('/', function ($breadcrumbs) {
- $breadcrumbs->push('Home', route('/'));
- });
+
Route::get('/', ['as' => '/', 'uses' => 'Client\helpdesk\WelcomepageController@index']);
- Breadcrumbs::register('form', function ($breadcrumbs) {
- $breadcrumbs->push('Create Ticket', route('form'));
- });
+
Route::get('create-ticket', ['as' => 'form', 'uses' => 'Client\helpdesk\FormController@getForm']); //getform
Route::get('mytickets/{id}', ['as' => 'ticketinfo', 'uses' => 'Client\helpdesk\GuestController@singleThread']); //detail ticket information
Route::post('checkmyticket', 'Client\helpdesk\UnAuthController@PostCheckTicket'); //ticket ckeck
Route::get('check_ticket/{id}', ['as' => 'check_ticket', 'uses' => 'Client\helpdesk\GuestController@get_ticket_email']); //detail ticket information
- Breadcrumbs::register('check_ticket', function ($breadcrumbs, $id) {
- $page = \App\Model\helpdesk\Ticket\Tickets::whereId(1)->first();
- $breadcrumbs->parent('ticket2');
- $breadcrumbs->push('Check Ticket');
- });
+
// show ticket via have a ticket
Route::get('show-ticket/{id}/{code}', ['as' => 'show.ticket', 'uses' => 'Client\helpdesk\UnAuthController@showTicketCode']); //detail ticket information
- Breadcrumbs::register('show.ticket', function ($breadcrumbs) {
- $breadcrumbs->push('Ticket', route('form'));
- });
+
//testing ckeditor
//===================================================================================
Route::group(['middleware' => 'role.user', 'middleware' => 'auth'], function () {
Route::get('client-profile', ['as' => 'client.profile', 'uses' => 'Client\helpdesk\GuestController@getProfile']); /* User profile get */
- Breadcrumbs::register('client.profile', function ($breadcrumbs) {
- $breadcrumbs->push('My Profile');
- });
- Breadcrumbs::register('ticket2', function ($breadcrumbs) {
- $breadcrumbs->push('My Tickets', route('ticket2'));
- });
+
Route::get('mytickets', ['as' => 'ticket2', 'uses' => 'Client\helpdesk\GuestController@getMyticket']);
Route::get('myticket/{id}', ['as' => 'ticket', 'uses' => 'Client\helpdesk\GuestController@thread']); /* Get my tickets */
Route::patch('client-profile-edit', 'Client\helpdesk\GuestController@postProfile'); /* User Profile Post */
Route::patch('client-profile-password', 'Client\helpdesk\GuestController@postProfilePassword'); /* Profile Password Post */
Route::post('post/reply/{id}', ['as' => 'client.reply', 'uses' => 'Client\helpdesk\ClientTicketController@reply']);
Route::post('verify-client-number', ['as' => 'client-verify-number', 'uses' => 'Client\helpdesk\GuestController@resendOTP']);
- Breadcrumbs::register('client-verify-number', function ($breadcrumbs) {
- $breadcrumbs->push('Profile', route('client-verify-number'));
- });
+
Route::post('verify-client-number2', ['as' => 'post-client-verify-number', 'uses' => 'Client\helpdesk\GuestController@verifyOTP']);
- Breadcrumbs::register('post-client-verify-number', function ($breadcrumbs) {
- $breadcrumbs->push('My Profile', route('post-client-verify-number'));
- });
});
//====================================================================================
Route::get('checkticket', 'Client\helpdesk\ClientTicketController@getCheckTicket'); /* Check your Ticket */
@@ -883,37 +586,23 @@ Route::group(['middleware' => ['web']], function () {
Route::get('500', ['as' => 'error500', function () {
return view('errors.500');
}]);
- Breadcrumbs::register('error500', function ($breadcrumbs) {
- $breadcrumbs->push('500');
- });
+
Route::get('404', ['as' => 'error404', function () {
return view('errors.404');
}]);
- Breadcrumbs::register('error404', function ($breadcrumbs) {
- $breadcrumbs->push('404');
- });
Route::get('error-in-database-connection', ['as' => 'errordb', function () {
return view('errors.db');
}]);
- Breadcrumbs::register('errordb', function ($breadcrumbs) {
- $breadcrumbs->push('Error establishing connection to database');
- });
-
Route::get('unauthorized', ['as' => 'unauth', function () {
return view('errors.unauth');
}]);
- Breadcrumbs::register('unauth', function ($breadcrumbs) {
- $breadcrumbs->push('Unauthorized Access');
- });
Route::get('board-offline', ['as' => 'board.offline', function () {
return view('errors.offline');
}]);
- Breadcrumbs::register('board.offline', function ($breadcrumbs) {
- $breadcrumbs->push('Board Offline');
- });
+
/*
|=============================================================
| Test mail Routes
@@ -928,56 +617,20 @@ Route::group(['middleware' => ['web']], function () {
// });
/* For the crud of catogory */
Route::resource('category', 'Agent\kb\CategoryController');
- Breadcrumbs::register('category.index', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.category'), route('category.index'));
- });
- Breadcrumbs::register('category.create', function ($breadcrumbs) {
- $breadcrumbs->parent('category.index');
- $breadcrumbs->push(Lang::get('lang.add'), route('category.create'));
- });
- Breadcrumbs::register('category.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('category.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('category/{category}/edit'));
- });
- Breadcrumbs::register('category.show', function ($breadcrumbs) {
- $breadcrumbs->parent('category.index');
- $breadcrumbs->push(Lang::get('lang.view'), url('category/{category}'));
- });
+
Route::get('category/delete/{id}', 'Agent\kb\CategoryController@destroy');
/* For the crud of article */
Route::resource('article', 'Agent\kb\ArticleController');
- Breadcrumbs::register('article.index', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.article'), route('article.index'));
- });
- Breadcrumbs::register('article.create', function ($breadcrumbs) {
- $breadcrumbs->parent('article.index');
- $breadcrumbs->push(Lang::get('lang.add'), route('article.create'));
- });
- Breadcrumbs::register('article.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('article.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('article/{article}/edit'));
- });
- Breadcrumbs::register('article.show', function ($breadcrumbs) {
- $breadcrumbs->parent('article.index');
- $breadcrumbs->push(Lang::get('lang.view'), url('article/{article}'));
- });
+
Route::get('article/delete/{id}', 'Agent\kb\ArticleController@destroy');
/* get settings */
Route::get('kb/settings', ['as' => 'settings', 'uses' => 'Agent\kb\SettingsController@settings']);
- Breadcrumbs::register('settings', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.settings'), route('settings'));
- });
+
/* post settings */
Route::patch('postsettings/{id}', 'Agent\kb\SettingsController@postSettings');
//Route for administrater to access the comment
Route::get('comment', ['as' => 'comment', 'uses' => 'Agent\kb\SettingsController@comment']);
- Breadcrumbs::register('comment', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.comments'), route('comment'));
- });
+
/* Route to define the comment should Published */
Route::get('published/{id}', ['as' => 'published', 'uses' => 'Agent\kb\SettingsController@publish']);
/* Route for deleting comments */
@@ -993,22 +646,7 @@ Route::group(['middleware' => ['web']], function () {
/* delete Background */
Route::get('delete-background/{id}', ['as' => 'delete-background', 'uses' => 'Agent\kb\SettingsController@deleteBackground']);
Route::resource('page', 'Agent\kb\PageController');
- Breadcrumbs::register('page.index', function ($breadcrumbs) {
- $breadcrumbs->parent('dashboard');
- $breadcrumbs->push(Lang::get('lang.pages'), route('page.index'));
- });
- Breadcrumbs::register('page.create', function ($breadcrumbs) {
- $breadcrumbs->parent('page.index');
- $breadcrumbs->push(Lang::get('lang.add'), route('page.create'));
- });
- Breadcrumbs::register('page.edit', function ($breadcrumbs) {
- $breadcrumbs->parent('page.index');
- $breadcrumbs->push(Lang::get('lang.edit'), url('page/{page}/edit'));
- });
- Breadcrumbs::register('page.show', function ($breadcrumbs) {
- $breadcrumbs->parent('page.index');
- $breadcrumbs->push(Lang::get('lang.view'), url('page/{page}'));
- });
+
Route::get('get-pages', ['as' => 'api.page', 'uses' => 'Agent\kb\PageController@getData']);
Route::get('page/delete/{id}', ['as' => 'pagedelete', 'uses' => 'Agent\kb\PageController@destroy']);
Route::get('comment/delete/{id}', ['as' => 'commentdelete', 'uses' => 'Agent\kb\SettingsController@delete']);
@@ -1024,33 +662,19 @@ Route::group(['middleware' => ['web']], function () {
/* post the comment from show page */
Route::post('postcomment/{slug}', ['as' => 'postcomment', 'uses' => 'Client\kb\UserController@postComment']);
/* get the article list */
- Breadcrumbs::register('article-list', function ($breadcrumbs) {
- $breadcrumbs->push('Article List', route('article-list'));
- });
+
Route::get('article-list', ['as' => 'article-list', 'uses' => 'Client\kb\UserController@getArticle']);
// /* get search values */
Route::get('search', ['as' => 'search', 'uses' => 'Client\kb\UserController@search']);
- Breadcrumbs::register('search', function ($breadcrumbs) {
- $breadcrumbs->push('Knowledge-base', route('home'));
- $breadcrumbs->push('Search Result');
- });
+
/* get the selected article */
Route::get('show/{slug}', ['as' => 'show', 'uses' => 'Client\kb\UserController@show']);
- Breadcrumbs::register('show', function ($breadcrumbs) {
- $breadcrumbs->push('Knowledge-base', route('home'));
- $breadcrumbs->push('Article List', route('article-list'));
- $breadcrumbs->push('Article');
- });
+
Route::get('category-list', ['as' => 'category-list', 'uses' => 'Client\kb\UserController@getCategoryList']);
- Breadcrumbs::register('category-list', function ($breadcrumbs) {
- $breadcrumbs->push('Category List', route('category-list'));
- });
+
/* get the categories with article */
Route::get('category-list/{id}', ['as' => 'categorylist', 'uses' => 'Client\kb\UserController@getCategory']);
- Breadcrumbs::register('categorylist', function ($breadcrumbs) {
- $breadcrumbs->push('Category List', route('category-list'));
- $breadcrumbs->push('Category');
- });
+
Route::post('show/rating/{id}', ['as' => 'show.rating', 'uses' => 'Client\helpdesk\UnAuthController@rating']); /* Get overall Ratings */
Route::post('show/rating2/{id}', ['as' => 'show.rating2', 'uses' => 'Client\helpdesk\UnAuthController@ratingReply']); /* Get reply Ratings */
Route::get('show/change-status/{status}/{id}', ['as' => 'show.change.status', 'uses' => 'Client\helpdesk\UnAuthController@changeStatus']); /* Get reply Ratings */
@@ -1060,17 +684,12 @@ Route::group(['middleware' => ['web']], function () {
// $router->get('faq',['as'=>'faq' , 'uses'=>'Client\kb\UserController@Faq'] );
/* get the cantact page to user */
Route::get('contact', ['as' => 'contact', 'uses' => 'Client\kb\UserController@contact']);
- Breadcrumbs::register('contact', function ($breadcrumbs) {
- $breadcrumbs->parent('/');
- $breadcrumbs->push(Lang::get('lang.contact'), route('contact'));
- });
+
/* post the cantact page to controller */
Route::post('post-contact', ['as' => 'post-contact', 'uses' => 'Client\kb\UserController@postContact']);
//to get the value for page content
Route::get('pages/{name}', ['as' => 'pages', 'uses' => 'Client\kb\UserController@getPage']);
- Breadcrumbs::register('pages', function ($breadcrumbs) {
- $breadcrumbs->push('Pages');
- });
+
//profile
// $router->get('client-profile',['as' => 'client-profile', 'uses' => 'Client\kb\UserController@clientProfile']);
// Route::patch('client-profile-edit',['as' => 'client-profile-edit', 'uses' => 'Client\kb\UserController@postClientProfile']);
@@ -1134,42 +753,6 @@ Route::group(['middleware' => ['web']], function () {
Route::get('my-tickets-user', 'Api\v1\ApiController@getMyTicketsUser');
Route::get('dependency', 'Api\v1\ApiController@dependency');
});
- /*
- * Testing Url
- */
- Route::get('create/user', 'Api\v1\TestController@createUser');
- Route::get('create/ticket', 'Api\v1\TestController@createTicket');
- Route::get('ticket/reply', 'Api\v1\TestController@ticketReply');
- Route::get('ticket/edit', 'Api\v1\TestController@editTicket');
- Route::get('ticket/delete', 'Api\v1\TestController@deleteTicket');
- Route::get('ticket/open', 'Api\v1\TestController@openedTickets');
- Route::get('ticket/unassigned', 'Api\v1\TestController@unassignedTickets');
- Route::get('ticket/closed', 'Api\v1\TestController@closeTickets');
- Route::get('ticket/assign', 'Api\v1\TestController@assignTicket');
- Route::get('ticket/agents', 'Api\v1\TestController@getAgents');
- Route::get('ticket/teams', 'Api\v1\TestController@getTeams');
- Route::get('ticket/customers', 'Api\v1\TestController@getCustomers');
- Route::get('ticket/customer', 'Api\v1\TestController@getCustomer');
- Route::get('ticket/search', 'Api\v1\TestController@getSearch');
- Route::get('ticket/thread', 'Api\v1\TestController@ticketThreads');
- Route::get('ticket/url', 'Api\v1\TestController@url');
- Route::get('ticket/api', 'Api\v1\TestController@generateApiKey');
- Route::get('ticket/help-topic', 'Api\v1\TestController@getHelpTopic');
- Route::get('ticket/sla-plan', 'Api\v1\TestController@getSlaPlan');
- Route::get('ticket/priority', 'Api\v1\TestController@getPriority');
- Route::get('ticket/department', 'Api\v1\TestController@getDepartment');
- Route::get('ticket/tickets', 'Api\v1\TestController@getTickets');
- Route::get('ticket/inbox', 'Api\v1\TestController@inbox');
- Route::get('ticket/internal', 'Api\v1\TestController@internalNote');
- Route::get('ticket/trash', 'Api\v1\TestController@trash');
- Route::get('ticket/my', 'Api\v1\TestController@myTickets');
- Route::get('ticket', 'Api\v1\TestController@getTicketById');
- /*
- * Newly added
- */
- Route::get('ticket/customers-custom', 'Api\v1\TestController@getCustomersWith');
- Route::get('generate/token', 'Api\v1\TestController@generateToken');
- Route::get('get/user', 'Api\v1\TestController@getAuthUser');
/*
* FCM token response
@@ -1197,17 +780,10 @@ Route::group(['middleware' => ['web']], function () {
/*
* Queue
*/
- Breadcrumbs::register('queue', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.queues'), route('queue'));
- });
+
Route::get('queue', ['as' => 'queue', 'uses' => 'Job\QueueController@index']);
Route::get('form/queue', ['as' => 'queue.form', 'uses' => 'Job\QueueController@getForm']);
- Breadcrumbs::register('queue.edit', function ($breadcrumbs) {
- $id = \Input::segment(2);
- $breadcrumbs->parent('queue');
- $breadcrumbs->push(Lang::get('lang.edit'), route('queue.edit', $id));
- });
+
Route::get('queue/{id}', ['as' => 'queue.edit', 'uses' => 'Job\QueueController@edit']);
Route::post('queue/{id}', ['as' => 'queue.update', 'uses' => 'Job\QueueController@update']);
Route::get('queue/{id}/activate', ['as' => 'queue.activate', 'uses' => 'Job\QueueController@activate']);
@@ -1217,28 +793,17 @@ Route::group(['middleware' => ['web']], function () {
/*
* Url Settings
*/
- Breadcrumbs::register('url', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push('URL', route('url.settings'));
- });
+
Route::get('url/settings', ['as' => 'url.settings', 'uses' => 'Admin\helpdesk\UrlSettingController@settings']);
Route::patch('url/settings', ['as' => 'url.settings.post', 'uses' => 'Admin\helpdesk\UrlSettingController@postSettings']);
/*
* Social media settings
*/
- Breadcrumbs::register('social', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('lang.social-media'), route('social'));
- });
- Breadcrumbs::register('social.media', function ($breadcrumbs) {
- $id = \Input::segment(2);
- $breadcrumbs->parent('social');
- $breadcrumbs->push(Lang::get('lang.settings'), route('social.media', $id));
- });
- Route::get('social/media', ['as' => 'social', 'uses' => 'Admin\helpdesk\SocialMedia\SocialMediaController@index']);
- Route::get('social/media/{provider}', ['as' => 'social.media', 'uses' => 'Admin\helpdesk\SocialMedia\SocialMediaController@settings']);
- Route::post('social/media/{provider}', ['as' => 'social.media.post', 'uses' => 'Admin\helpdesk\SocialMedia\SocialMediaController@postSettings']);
+
+ Route::get('social/media', ['as'=>'social', 'uses'=>'Admin\helpdesk\SocialMedia\SocialMediaController@index']);
+ Route::get('social/media/{provider}', ['as'=>'social.media', 'uses'=>'Admin\helpdesk\SocialMedia\SocialMediaController@settings']);
+ Route::post('social/media/{provider}', ['as'=>'social.media.post', 'uses'=>'Admin\helpdesk\SocialMedia\SocialMediaController@postSettings']);
/*
* Ticket_Priority Settings
*/
@@ -1246,37 +811,29 @@ Route::group(['middleware' => ['web']], function () {
Route::post('user/ticket/priority', ['as' => 'user.priority.index', 'uses' => 'Admin\helpdesk\PriorityController@userPriorityIndex']);
Route::get('get_index', ['as' => 'priority.index1', 'uses' => 'Admin\helpdesk\PriorityController@priorityIndex1']);
- Breadcrumbs::register('priority.index', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('Ticket Priority'), route('priority.index'));
- });
Route::get('ticket/priority/create', ['as' => 'priority.create', 'uses' => 'Admin\helpdesk\PriorityController@priorityCreate']);
- Breadcrumbs::register('priority.create', function ($breadcrumbs) {
- $breadcrumbs->parent('setting');
- $breadcrumbs->push(Lang::get('Ticket Priority'), route('priority.index'));
- $breadcrumbs->push(Lang::get('lang.create'), route('priority.create'));
- });
- Route::post('ticket_priority/create1', ['as' => 'priority.create1', 'uses' => 'Admin\helpdesk\PriorityController@priorityCreate1']);
+ Route::post('ticket/priority/create1', ['as' => 'priority.create1', 'uses' => 'Admin\helpdesk\PriorityController@priorityCreate1']);
Route::post('ticket/priority/edit1', ['as' => 'priority.edit1', 'uses' => 'Admin\helpdesk\PriorityController@priorityEdit1']);
Route::get('ticket/priority/{ticket_priority}/edit', ['as' => 'priority.edit', 'uses' => 'Admin\helpdesk\PriorityController@priorityEdit']);
- Breadcrumbs::register('priority.edit', function ($breadcrumbs) {
- $breadcrumbs->push(Lang::get('Ticket Priority'), route('priority.index'));
- $breadcrumbs->push(Lang::get('Edit'), route('priority.index'));
- });
Route::get('ticket/priority/{ticket_priority}/destroy', ['as' => 'priority.destroy', 'uses' => 'Admin\helpdesk\PriorityController@destroy']);
// user---arindam
- Route::post('rolechangeadmin/{id}', ['as' => 'user.post.rolechangeadmin', 'uses' => 'Agent\helpdesk\UserController@changeRoleAdmin']);
- Route::post('rolechangeagent/{id}', ['as' => 'user.post.rolechangeagent', 'uses' => 'Agent\helpdesk\UserController@changeRoleAgent']);
- Route::post('rolechangeuser/{id}', ['as' => 'user.post.rolechangeuser', 'uses' => 'Agent\helpdesk\UserController@changeRoleUser']);
- Route::get('password', ['as' => 'user.changepassword', 'uses' => 'Agent\helpdesk\UserController@randomPassword']);
- Route::post('changepassword/{id}', ['as' => 'user.post.changepassword', 'uses' => 'Agent\helpdesk\UserController@randomPostPassword']);
- Route::post('delete/{id}', ['as' => 'user.post.delete', 'uses' => 'Agent\helpdesk\UserController@deleteAgent']);
+ Route::post('rolechangeadmin/{id}', ['as' => 'user.post.rolechangeadmin', 'uses' =>'Agent\helpdesk\UserController@changeRoleAdmin']);
+ Route::post('rolechangeagent/{id}', ['as' => 'user.post.rolechangeagent', 'uses' =>'Agent\helpdesk\UserController@changeRoleAgent']);
+ Route::post('rolechangeuser/{id}', ['as' => 'user.post.rolechangeuser', 'uses' =>'Agent\helpdesk\UserController@changeRoleUser']);
+ Route::get('password', ['as' => 'user.changepassword', 'uses' =>'Agent\helpdesk\UserController@randomPassword']);
+ Route::post('changepassword/{id}', ['as' => 'user.post.changepassword', 'uses' =>'Agent\helpdesk\UserController@randomPostPassword']);
+ Route::post('delete/{id}', ['as' => 'user.post.delete', 'uses' =>'Agent\helpdesk\UserController@deleteAgent']);
+
+ // deleted user list
+ Route::get('deleted/user', ['as' => 'user.deleted', 'uses' => 'Agent\helpdesk\UserController@deletedUser']);
+
+ Route::post('restore/{id}', ['as' => 'user.restore', 'uses' => 'Agent\helpdesk\UserController@restoreUser']);
//due today ticket
- Route::get('duetoday', ['as' => 'ticket.duetoday', 'uses' => 'Agent\helpdesk\TicketController@dueTodayTicketlist']);
+ Route::get('duetoday', ['as' => 'ticket.duetoday', 'uses' =>'Agent\helpdesk\TicketController@dueTodayTicketlist']);
// Route::post('duetoday/list/ticket', ['as' => 'ticket.post.duetoday', 'uses' =>'Agent\helpdesk\TicketController@getDueToday']);
- Route::get('duetoday/list/ticket', ['as' => 'ticket.post.duetoday', 'uses' => 'Agent\helpdesk\TicketController@getDueToday']); /* Get Open Ticket */
+ Route::get('duetoday/list/ticket', ['as' => 'ticket.post.duetoday', 'uses' =>'Agent\helpdesk\TicketController@getDueToday']); /* Get Open Ticket */
// Breadcrumbs::register('open.ticket', function ($breadcrumbs) {
// $breadcrumbs->parent('dashboard');
// $breadcrumbs->push(Lang::get('lang.tickets') . ' > ' . Lang::get('lang.open'), route('open.ticket'));
diff --git a/app/Model/MailJob/Condition.php b/app/Model/MailJob/Condition.php
index 63d634872..80cc34d8b 100644
--- a/app/Model/MailJob/Condition.php
+++ b/app/Model/MailJob/Condition.php
@@ -38,7 +38,7 @@ class Condition extends Model
public function checkActiveJob()
{
- $result = ['fetching' => '', 'notification' => '', 'work' => '', 'message' => ''];
+ $result = ['fetching' => '', 'notification' => '', 'work' => '', 'message' => '', 'remind' => ''];
$emails = new \App\Model\helpdesk\Settings\Email();
$email = $emails->find(1);
if ($email) {
@@ -57,17 +57,6 @@ class Condition extends Model
$result['work'] = true;
}
}
- if (\Schema::hasTable('sms_notify_setting')) {
- $message = new \App\Plugins\SMS\Model\SmsNotify();
- $message = $message->select('status')->where('name', '=', 'open_ticket_nofification')->first();
- if ($message) {
- if ($message->status) {
- $result['message'] = true;
- } else {
- $result['message'] = false;
- }
- }
- }
return $result;
}
diff --git a/app/Model/helpdesk/Filters/Filter.php b/app/Model/helpdesk/Filters/Filter.php
new file mode 100644
index 000000000..ec0bb34d6
--- /dev/null
+++ b/app/Model/helpdesk/Filters/Filter.php
@@ -0,0 +1,36 @@
+where('ticket_id', $ticketid)->where('key', 'label')->first();
+ $output = [];
+ if ($filter && $filter->value) {
+ $labelids = explode(',', $filter->value);
+ $labels = new Label();
+ $label = $labels->whereIn('title', $labelids)->get();
+ if ($label->count() > 0) {
+ foreach ($label as $key=>$l) {
+ $output[$key] = $l->titleWithColor();
+ }
+ }
+ }
+
+ return $output;
+ }
+
+ public function getTagsByTicketId($ticketid)
+ {
+ $filter = $this->where('key', 'tag')->where('ticket_id', $ticketid)->lists('value')->toArray();
+
+ return $filter;
+ }
+}
diff --git a/app/Model/helpdesk/Filters/Label.php b/app/Model/helpdesk/Filters/Label.php
new file mode 100644
index 000000000..d817bd430
--- /dev/null
+++ b/app/Model/helpdesk/Filters/Label.php
@@ -0,0 +1,68 @@
+title;
+ $color = $this->color;
+ if ($title && $color) {
+ return "".$title.' ';
+ } else {
+ return '--';
+ }
+ }
+
+ public function status()
+ {
+ $status = $this->status;
+ $output = Lang::get('lang.disabled');
+ if ($status == 1) {
+ $output = Lang::get('lang.enabled');
+ }
+
+ return $output;
+ }
+
+ public function isChecked($ticketid)
+ {
+ $title = $this->attributes['title'];
+ $output = '';
+ $filters = new Filter();
+ $filter = $filters
+ ->where('ticket_id', $ticketid)
+ ->where('key', 'label')
+ ->where('value', $title)
+ ->first();
+ if ($filter && $filter->value) {
+ $output = 'checked';
+ }
+
+ return $output;
+ }
+
+ public function assignedLabels($ticketid)
+ {
+ $output = '';
+ $filters = new Filter();
+ $filter = $filters->where('ticket_id', $ticketid)->where('key', 'label')->select('value')->get();
+ if (count($filter) > 0) {
+ foreach ($filter as $fil) {
+ $label = $this->where('title', $fil->value)->select('title', 'color')->first();
+ if ($label) {
+ $output .= ' '.$label->titleWithColor().' ';
+ }
+ }
+ }
+
+ return $output;
+ }
+}
diff --git a/app/Model/helpdesk/Filters/Tag.php b/app/Model/helpdesk/Filters/Tag.php
new file mode 100644
index 000000000..7a390f9e4
--- /dev/null
+++ b/app/Model/helpdesk/Filters/Tag.php
@@ -0,0 +1,11 @@
+belongsTo($related, $foreignKey);
+ }
}
diff --git a/app/Model/helpdesk/Notification/Notification.php b/app/Model/helpdesk/Notification/Notification.php
index 0c92ede94..0dd581268 100644
--- a/app/Model/helpdesk/Notification/Notification.php
+++ b/app/Model/helpdesk/Notification/Notification.php
@@ -11,4 +11,55 @@ class Notification extends BaseModel
'model_id', 'userid_created', 'type_id',
];
+
+ public function type()
+ {
+ $related = 'App\Model\helpdesk\Notification\NotificationType';
+ $id = 'type_id';
+
+ return $this->belongsTo($related, $id);
+ }
+
+ public function model()
+ {
+ $related = 'App\Model\helpdesk\Ticket\Tickets';
+ $id = 'model_id';
+
+ return $this->belongsTo($related, $id);
+ }
+
+ public function userNotification()
+ {
+ $related = 'App\Model\helpdesk\Notification\UserNotification';
+ $foreignKey = 'notification_id';
+
+ return $this->hasMany($related, $foreignKey);
+ }
+
+ public function deleteUserNotification()
+ {
+ $user_notifications = $this->userNotification;
+ if (count($user_notifications) > 0) {
+ foreach ($user_notifications as $noti) {
+ $noti->delete();
+ }
+ }
+ }
+
+ public function dummyDelete()
+ {
+ $user_notifications = UserNotification::get();
+ if (count($user_notifications) > 0) {
+ foreach ($user_notifications as $noti) {
+ $noti->delete();
+ }
+ }
+ }
+
+ public function delete()
+ {
+ $this->deleteUserNotification();
+ // $this->dummyDelete();
+ parent::delete();
+ }
}
diff --git a/app/Model/helpdesk/Notification/UserNotification.php b/app/Model/helpdesk/Notification/UserNotification.php
index e5a279348..b6243588b 100644
--- a/app/Model/helpdesk/Notification/UserNotification.php
+++ b/app/Model/helpdesk/Notification/UserNotification.php
@@ -11,4 +11,25 @@ class UserNotification extends BaseModel
'notification_id', 'user_id', 'is_read',
];
+
+ public function notification()
+ {
+ $related = 'App\Model\helpdesk\Notification\Notification';
+ $id = 'notification_id';
+
+ return $this->belongsTo($related, $id);
+ }
+
+ public function users()
+ {
+ $related = 'App\User';
+ $id = 'user_id';
+
+ return $this->belongsTo($related, $id);
+ }
+
+// public function delete() {
+// //$this->notification()->delete();
+// parent::delete();
+// }
}
diff --git a/app/Model/helpdesk/NotificationOld/Notification.php b/app/Model/helpdesk/NotificationOld/Notification.php
new file mode 100644
index 000000000..0c92ede94
--- /dev/null
+++ b/app/Model/helpdesk/NotificationOld/Notification.php
@@ -0,0 +1,14 @@
+where('option_name', $option_name)->first();
+ if ($schema) {
+ $status = $schema->status;
+ }
+
+ return $status;
+ }
+
+ public function getOptionValue($option, $field = '')
+ {
+ $schema = $this->where('option_name', $option);
+ if ($field != '') {
+ $schema = $schema->where('optional_field', $field);
+
+ return $schema->first();
+ }
+ $value = $schema->get();
+
+ return $value;
+ }
}
diff --git a/app/Model/helpdesk/Ticket/Ticket_Thread.php b/app/Model/helpdesk/Ticket/Ticket_Thread.php
index 54f4c219e..54f06828c 100644
--- a/app/Model/helpdesk/Ticket/Ticket_Thread.php
+++ b/app/Model/helpdesk/Ticket/Ticket_Thread.php
@@ -115,12 +115,16 @@ class Ticket_Thread extends Model
public function inlineAttachment($body)
{
- if ($this->attach()->where('poster', 'INLINE')->get()->count() > 0) {
- $search = $this->attach()->where('poster', 'INLINE')->lists('name')->toArray();
- foreach ($this->attach()->where('poster', 'INLINE')->get() as $key => $attach) {
- $replace[$key] = "data:$attach->type;base64,".$attach->file;
+ $attachments = $this->attach;
+ if ($attachments->count() > 0) {
+ foreach ($attachments as $key => $attach) {
+ if ($attach->poster == 'INLINE' || $attach->poster == 'inline') {
+ $search = $attach->name;
+ $replace = "data:$attach->type;base64,".$attach->file;
+ $b = str_replace($search, $replace, $body);
+ $body = $b;
+ }
}
- $body = str_replace($search, $replace, $body);
}
return $body;
@@ -141,4 +145,12 @@ class Ticket_Thread extends Model
return wordwrap($subject, 70, " \n");
}
+
+ public function user()
+ {
+ $related = 'App\User';
+ $foreignKey = 'user_id';
+
+ return $this->belongsTo($related, $foreignKey);
+ }
}
diff --git a/app/Model/helpdesk/Ticket/Ticket_ThreadOld.php b/app/Model/helpdesk/Ticket/Ticket_ThreadOld.php
new file mode 100644
index 000000000..34df1bd7d
--- /dev/null
+++ b/app/Model/helpdesk/Ticket/Ticket_ThreadOld.php
@@ -0,0 +1,151 @@
+hasMany('App\Model\helpdesk\Ticket\Ticket_attachments', 'thread_id');
+ }
+
+ public function delete()
+ {
+ $this->attach()->delete();
+ parent::delete();
+ }
+
+// public function setTitleAttribute($value) {
+// $this->attributes['title'] = str_replace('"', "'", $value);
+// }
+
+ public function getTitleAttribute($value)
+ {
+ return str_replace('"', "'", $value);
+ }
+
+ public function thread($content)
+ {
+ // $porufi = $this->purify($content);
+// dd($content,$porufi);
+ //return $content;
+ return $this->purify($content);
+ }
+
+ public function purifyOld($value)
+ {
+ require_once base_path('vendor'.DIRECTORY_SEPARATOR.'htmlpurifier'.DIRECTORY_SEPARATOR.'library'.DIRECTORY_SEPARATOR.'HTMLPurifier.auto.php');
+ $path = base_path('vendor'.DIRECTORY_SEPARATOR.'htmlpurifier'.DIRECTORY_SEPARATOR.'library'.DIRECTORY_SEPARATOR.'HTMLPurifier'.DIRECTORY_SEPARATOR.'DefinitionCache'.DIRECTORY_SEPARATOR.'Serializer');
+ if (!File::exists($path)) {
+ File::makeDirectory($path, $mode = 0777, true, true);
+ }
+ $config = \HTMLPurifier_Config::createDefault();
+ $config->set('HTML.Trusted', true);
+ $config->set('Filter.YouTube', true);
+
+ $purifier = new \HTMLPurifier($config);
+ if ($value != strip_tags($value)) {
+ $value = $purifier->purify($value);
+ }
+
+ return $value;
+ }
+
+ public function purify()
+ {
+ $value = $this->attributes['body'];
+ $str = str_replace("'", '"', $value);
+ $html = preg_replace('##is', '', $str);
+ $string = trim(preg_replace('/\s+/', ' ', $html));
+ $content = $this->inlineAttachment($string);
+
+ return $content;
+ }
+
+ public function setTitleAttribute($value)
+ {
+ if ($value == '') {
+ $this->attributes['title'] = 'No available';
+ } else {
+ $this->attributes['title'] = $value;
+ }
+ }
+
+ public function removeScript($html)
+ {
+ $doc = new \DOMDocument();
+
+ // load the HTML string we want to strip
+ $doc->loadHTML($html);
+
+ // get all the script tags
+ $script_tags = $doc->getElementsByTagName('script');
+
+ $length = $script_tags->length;
+
+ // for each tag, remove it from the DOM
+ for ($i = 0; $i < $length; $i++) {
+ $script_tags->item($i)->parentNode->removeChild($script_tags->item($i));
+ }
+
+ // get the HTML string back
+ $no_script_html_string = $doc->saveHTML();
+
+ return $no_script_html_string;
+ }
+
+ public function firstContent()
+ {
+ $poster = $this->attributes['poster'];
+ if ($poster == 'client') {
+ return 'yes';
+ }
+
+ return 'no';
+ }
+
+ public function inlineAttachment($body)
+ {
+ if ($this->attach()->where('poster', 'INLINE')->get()->count() > 0) {
+ $search = $this->attach()->where('poster', 'INLINE')->lists('name')->toArray();
+ foreach ($this->attach()->where('poster', 'INLINE')->get() as $key => $attach) {
+ $replace[$key] = "data:$attach->type;base64,".$attach->file;
+ }
+ $body = str_replace($search, $replace, $body);
+ }
+
+ return $body;
+ }
+
+ public function getSubject()
+ {
+ $subject = $this->attributes['title'];
+ $array = imap_mime_header_decode($subject);
+ $title = '';
+ if (is_array($array) && count($array) > 0) {
+ foreach ($array as $text) {
+ $title .= $text->text;
+ }
+
+ return wordwrap($title, 70, " \n");
+ }
+
+ return wordwrap($subject, 70, " \n");
+ }
+
+ public function labels($ticketid)
+ {
+ $label = new \App\Model\helpdesk\Filters\Label();
+
+ return $label->assignedLabels($ticketid);
+ }
+}
diff --git a/app/Model/helpdesk/Ticket/Ticket_attachments.php b/app/Model/helpdesk/Ticket/Ticket_attachments.php
index 9536371c5..23d0c01f0 100644
--- a/app/Model/helpdesk/Ticket/Ticket_attachments.php
+++ b/app/Model/helpdesk/Ticket/Ticket_attachments.php
@@ -8,19 +8,31 @@ class Ticket_attachments extends Model
{
protected $table = 'ticket_attachment';
protected $fillable = [
- 'id', 'thread_id', 'name', 'size', 'type', 'file', 'data', 'poster', 'updated_at', 'created_at',
- ];
+ 'id', 'thread_id', 'name', 'size', 'type', 'file', 'data', 'poster', 'updated_at', 'created_at',
+ ];
public function setFileAttribute($value)
{
- $this->attributes['file'] = base64_encode($value);
+ if ($value) {
+ $this->attributes['file'] = base64_encode($value);
+ } else {
+ $this->attributes['file'] = $value;
+ }
}
public function getFileAttribute($value)
{
- if (base64_decode($value, true) === false) {
+ $drive = $this->driver;
+ $name = $this->name;
+ $root = $this->path;
+ if (($drive == 'database' || !$drive) && $value && base64_decode($value, true) === false) {
$value = base64_encode($value);
}
+ if ($drive && $drive !== 'database') {
+ $storage = new \App\FaveoStorage\Controllers\StorageController();
+ $content = $storage->getFile($drive, $name);
+ $value = base64_encode($content);
+ }
return $value;
}
@@ -28,19 +40,22 @@ class Ticket_attachments extends Model
public function getFile()
{
$size = $this->size;
+ $drive = $this->driver;
+ $name = $this->name;
+ $root = $this->path;
$units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
$power = $size > 0 ? floor(log($size, 1024)) : 0;
$value = number_format($size / pow(1024, $power), 2, '.', ',').' '.$units[$power];
if ($this->poster == 'ATTACHMENT') {
- if (mime($this->type) == true) {
+ if (mime($this->type) == 'image') {
$var = ' ';
- return ''.$var.' '.$this->name.' '.$value.'
';
+ return ''.$var.' '.$this->name.' '.$value.'
';
} else {
//$var = ' ';
- $var = ''.strtoupper($this->type).' '.$this->name.' '.$value.'
';
+ $var = ''.strtoupper(str_limit($this->type, 15)).' '.$this->name.' '.$value.'
';
- return ''.$var.' ';
+ return ''.$var.' ';
}
}
}
diff --git a/app/Model/helpdesk/Ticket/Tickets.php b/app/Model/helpdesk/Ticket/Tickets.php
index 9c2b571b8..84018a537 100644
--- a/app/Model/helpdesk/Ticket/Tickets.php
+++ b/app/Model/helpdesk/Ticket/Tickets.php
@@ -7,7 +7,7 @@ use App\BaseModel;
class Tickets extends BaseModel
{
protected $table = 'tickets';
- protected $fillable = ['id', 'ticket_number', 'num_sequence', 'user_id', 'priority_id', 'sla', 'help_topic_id', 'max_open_ticket', 'captcha', 'status', 'lock_by', 'lock_at', 'source', 'isoverdue', 'reopened', 'isanswered', 'is_deleted', 'closed', 'is_transfer', 'transfer_at', 'reopened_at', 'duedate', 'closed_at', 'last_message_at', 'last_response_at', 'created_at', 'updated_at'];
+ protected $fillable = ['id', 'ticket_number', 'num_sequence', 'user_id', 'priority_id', 'sla', 'help_topic_id', 'max_open_ticket', 'captcha', 'status', 'lock_by', 'lock_at', 'source', 'isoverdue', 'reopened', 'isanswered', 'is_deleted', 'closed', 'is_transfer', 'transfer_at', 'reopened_at', 'duedate', 'closed_at', 'last_message_at', 'last_response_at', 'created_at', 'updated_at', 'assigned_to'];
// public function attach(){
// return $this->hasMany('App\Model\helpdesk\Ticket\Ticket_attachments',);
@@ -23,6 +23,14 @@ class Tickets extends BaseModel
return $this->hasMany('App\Model\helpdesk\Ticket\Ticket_Collaborator', 'ticket_id');
}
+ public function helptopic()
+ {
+ $related = 'App\Model\helpdesk\Manage\Help_topic';
+ $foreignKey = 'help_topic_id';
+
+ return $this->belongsTo($related, $foreignKey);
+ }
+
public function formdata()
{
return $this->hasMany('App\Model\helpdesk\Ticket\Ticket_Form_Data', 'ticket_id');
@@ -63,4 +71,33 @@ class Tickets extends BaseModel
$this->formdata()->delete();
parent::delete();
}
+
+ public function setAssignedToAttribute($value)
+ {
+ if (!$value) {
+ $this->attributes['assigned_to'] = null;
+ } else {
+ $this->attributes['assigned_to'] = $value;
+ }
+ }
+
+ public function getAssignedTo()
+ {
+ $agentid = $this->attributes['assigned_to'];
+ if ($agentid) {
+ $users = new \App\User();
+ $user = $users->where('id', $agentid)->first();
+ if ($user) {
+ return $user;
+ }
+ }
+ }
+
+ public function user()
+ {
+ $related = "App\User";
+ $foreignKey = 'user_id';
+
+ return $this->belongsTo($related, $foreignKey);
+ }
}
diff --git a/app/Providers/ComposerServiceProvider.php b/app/Providers/ComposerServiceProvider.php
new file mode 100644
index 000000000..9dbcb5152
--- /dev/null
+++ b/app/Providers/ComposerServiceProvider.php
@@ -0,0 +1,44 @@
+composer(
+ [
+ 'themes.default1.agent.layout.agent',
+ 'themes.default1.agent.helpdesk.dashboard.dashboard',
+ ], 'App\Http\ViewComposers\AgentLayout'
+ );
+ view()->composer(
+ [
+ 'themes.default1.update.notification',
+ ], 'App\Http\ViewComposers\UpdateNotification'
+ );
+ view()->composer(
+ [
+ 'themes.default1.agent.layout.agent',
+ 'themes.default1.admin.layout.admin',
+ ], 'App\Http\ViewComposers\AuthUser'
+ );
+ }
+
+ /**
+ * Register the application services.
+ *
+ * @return void
+ */
+ public function register()
+ {
+ //
+ }
+}
diff --git a/app/User.php b/app/User.php
index 03fd636ae..a746bd1c7 100644
--- a/app/User.php
+++ b/app/User.php
@@ -28,7 +28,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
protected $fillable = ['user_name', 'email', 'password', 'active', 'first_name', 'last_name', 'ban', 'ext', 'mobile', 'profile_pic',
'phone_number', 'company', 'agent_sign', 'account_type', 'account_status',
'assign_group', 'primary_dpt', 'agent_tzone', 'daylight_save', 'limit_access',
- 'directory_listing', 'vacation_mode', 'role', 'internal_note', 'country_code', ];
+ 'directory_listing', 'vacation_mode', 'role', 'internal_note', 'country_code', 'not_accept_ticket', 'is_delete', ];
/**
* The attributes excluded from the model's JSON form.
@@ -39,22 +39,29 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
public function getProfilePicAttribute($value)
{
- $info = $this->getExtraInfo();
+ $info = $this->avatar();
$pic = null;
- if (count($info) > 0) {
+ if ($info) {
$pic = $this->checkArray('avatar', $info);
}
if (!$pic) {
$pic = asset('uploads/profilepic/'.$value);
}
-
- if ($this->endsWith($pic, 'profilepic')) {
+ if (!$value) {
$pic = \Gravatar::src($this->attributes['email']);
}
return $pic;
}
+ public function avatar()
+ {
+ $related = 'App\UserAdditionalInfo';
+ $foreignKey = 'owner';
+
+ return $this->hasMany($related, $foreignKey)->select('value')->where('key', 'avatar')->first();
+ }
+
public function getOrganizationRelation()
{
$related = "App\Model\helpdesk\Agent_panel\User_org";
@@ -141,36 +148,34 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
return $html;
}
- /**
- *@category accessor function to return full name
- *
- *@param null
- *
- *@return $string
- */
+ public function name()
+ {
+ $first_name = $this->first_name;
+ $last_name = $this->last_name;
+ $name = $this->user_name;
+ if ($first_name !== '' && $first_name !== null) {
+ if ($last_name !== '' && $last_name !== null) {
+ $name = $first_name.' '.$last_name;
+ } else {
+ $name = $first_name;
+ }
+ }
+
+ return $name;
+ }
+
public function getFullNameAttribute()
{
- if ($this->first_name) {
- return ucfirst($this->first_name).' '.ucfirst($this->last_name);
- }
-
- return $this->user_name;
+ return $this->name();
}
- /**
- * @category function to check profile pic source srting ends with profilepic or not
- *
- * @param string $haystack, $needle
- *
- * @return bool true/false
- */
- public function endsWith($haystack, $needle)
- {
- $length = strlen($needle);
- if ($length == 0) {
- return true;
- }
+// public function save() {
+// dd($this->id);
+// parent::save();
+// }
- return substr($haystack, -$length) === $needle;
- }
+// public function save(array $options = array()) {
+// parent::save($options);
+// dd($this->where('id',$this->id)->select('first_name','last_name','user_name','email')->get()->toJson());
+// }
}
diff --git a/composer.json b/composer.json
index 858935671..495fc38e1 100644
--- a/composer.json
+++ b/composer.json
@@ -15,17 +15,13 @@
"bugsnag/bugsnag-laravel": "1.*",
"filp/whoops": "~1.0",
"thomaswelton/laravel-gravatar": "~1.0",
- "php-imap/php-imap": "~2.0",
"neitanod/forceutf8": "dev-master",
"nicolaslopezj/searchable": "1.*",
"chumper/datatable": "dev-develop",
"chumper/zipper": "0.6.x",
- "phpmailer/phpmailer": "^5.2",
- "unisharp/laravel-filemanager": "^1.1",
"tymon/jwt-auth": "0.5.*",
"php": ">=5.5.9",
"davejamesmiller/laravel-breadcrumbs": "^3.0",
- "torann/geoip": "1.0.*",
"davibennun/laravel-push-notification": "dev-laravel5",
"brozot/laravel-fcm": "^1.0",
"barryvdh/laravel-debugbar": "^2.2",
@@ -35,8 +31,11 @@
"maatwebsite/excel": "~2.1.0",
"laravelcollective/bus": "^5.2",
"laravel/socialite": "^2.0",
+ "tedivm/fetch": "0.6.*",
+ "unisharp/laravel-filemanager": "^1.6",
"unisharp/laravel-ckeditor": "^4.5",
- "tedivm/fetch": "0.6.*"
+ "torann/geoip": "^1.0",
+ "yajra/laravel-datatables-oracle": "~6.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
diff --git a/composer.lock b/composer.lock
index 352e53bc4..0d6c826f5 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,21 +4,21 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "f0d25300aea06d3f8f01b956096ac641",
- "content-hash": "0501535d018ba0aa2cd290c8be4bcb93",
+ "hash": "54d9928ad997149e5b4bb04b565d4fec",
+ "content-hash": "056f3d8f0edac014bba44beacb93bd3f",
"packages": [
{
"name": "aws/aws-sdk-php",
- "version": "3.19.23",
+ "version": "3.19.16",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
- "reference": "fbfb87734e5d298b40354ac7fb3f95d0f72ad16e"
+ "reference": "5161b8956e0c0f8e4260edbfe36c1a78392e4934"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fbfb87734e5d298b40354ac7fb3f95d0f72ad16e",
- "reference": "fbfb87734e5d298b40354ac7fb3f95d0f72ad16e",
+ "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5161b8956e0c0f8e4260edbfe36c1a78392e4934",
+ "reference": "5161b8956e0c0f8e4260edbfe36c1a78392e4934",
"shasum": ""
},
"require": {
@@ -85,7 +85,7 @@
"s3",
"sdk"
],
- "time": "2016-11-03 20:28:28"
+ "time": "2016-10-17 20:08:45"
},
{
"name": "barryvdh/laravel-debugbar",
@@ -776,16 +776,16 @@
},
{
"name": "giggsey/libphonenumber-for-php",
- "version": "7.7.3",
+ "version": "7.7.2",
"source": {
"type": "git",
"url": "https://github.com/giggsey/libphonenumber-for-php.git",
- "reference": "e55e956a7a8211af3dfbd9dd5372ccc5eb79e495"
+ "reference": "245324b87d59fe122945f5cf4521c75af2bd472a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/e55e956a7a8211af3dfbd9dd5372ccc5eb79e495",
- "reference": "e55e956a7a8211af3dfbd9dd5372ccc5eb79e495",
+ "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/245324b87d59fe122945f5cf4521c75af2bd472a",
+ "reference": "245324b87d59fe122945f5cf4521c75af2bd472a",
"shasum": ""
},
"require": {
@@ -834,20 +834,20 @@
"phonenumber",
"validation"
],
- "time": "2016-10-26 13:35:16"
+ "time": "2016-10-06 13:02:39"
},
{
"name": "giggsey/locale",
- "version": "1.1.1",
+ "version": "1.1",
"source": {
"type": "git",
"url": "https://github.com/giggsey/Locale.git",
- "reference": "8238764fa3f2c5bd8bdf981e2e019401d49229e3"
+ "reference": "d936229da2187025f693f25724c5af2a090f5e7c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/giggsey/Locale/zipball/8238764fa3f2c5bd8bdf981e2e019401d49229e3",
- "reference": "8238764fa3f2c5bd8bdf981e2e019401d49229e3",
+ "url": "https://api.github.com/repos/giggsey/Locale/zipball/d936229da2187025f693f25724c5af2a090f5e7c",
+ "reference": "d936229da2187025f693f25724c5af2a090f5e7c",
"shasum": ""
},
"require": {
@@ -883,7 +883,7 @@
}
],
"description": "Locale functions required by libphonenumber-for-php",
- "time": "2016-10-24 20:49:55"
+ "time": "2016-10-05 20:26:22"
},
{
"name": "guzzle/guzzle",
@@ -1568,16 +1568,16 @@
},
{
"name": "laravel/socialite",
- "version": "v2.0.20",
+ "version": "v2.0.18",
"source": {
"type": "git",
"url": "https://github.com/laravel/socialite.git",
- "reference": "aca8de9a93a28a119714e289c8bc599bd81aa88d"
+ "reference": "76ee5397fcdea5a062361392abca4eb397e519a3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/socialite/zipball/aca8de9a93a28a119714e289c8bc599bd81aa88d",
- "reference": "aca8de9a93a28a119714e289c8bc599bd81aa88d",
+ "url": "https://api.github.com/repos/laravel/socialite/zipball/76ee5397fcdea5a062361392abca4eb397e519a3",
+ "reference": "76ee5397fcdea5a062361392abca4eb397e519a3",
"shasum": ""
},
"require": {
@@ -1618,7 +1618,7 @@
"laravel",
"oauth"
],
- "time": "2016-11-01 18:49:10"
+ "time": "2016-06-22 12:40:16"
},
{
"name": "laravelcollective/bus",
@@ -1666,22 +1666,76 @@
"time": "2015-12-23 07:43:33"
},
{
- "name": "league/flysystem",
- "version": "1.0.32",
+ "name": "laravelcollective/html",
+ "version": "v5.2.4",
"source": {
"type": "git",
- "url": "https://github.com/thephpleague/flysystem.git",
- "reference": "1b5c4a0031697f46e779a9d1b309c2e1b24daeab"
+ "url": "https://github.com/LaravelCollective/html.git",
+ "reference": "3a312d39ffe37da0f57b602618b61fd07c1fcec5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/1b5c4a0031697f46e779a9d1b309c2e1b24daeab",
- "reference": "1b5c4a0031697f46e779a9d1b309c2e1b24daeab",
+ "url": "https://api.github.com/repos/LaravelCollective/html/zipball/3a312d39ffe37da0f57b602618b61fd07c1fcec5",
+ "reference": "3a312d39ffe37da0f57b602618b61fd07c1fcec5",
"shasum": ""
},
"require": {
+ "illuminate/http": "5.2.*",
+ "illuminate/routing": "5.2.*",
+ "illuminate/session": "5.2.*",
+ "illuminate/support": "5.2.*",
+ "illuminate/view": "5.2.*",
"php": ">=5.5.9"
},
+ "require-dev": {
+ "illuminate/database": "5.2.*",
+ "mockery/mockery": "~0.9",
+ "phpunit/phpunit": "~4.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Collective\\Html\\": "src/"
+ },
+ "files": [
+ "src/helpers.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylorotwell@gmail.com"
+ },
+ {
+ "name": "Adam Engebretson",
+ "email": "adam@laravelcollective.com"
+ }
+ ],
+ "description": "HTML and Form Builders for the Laravel Framework",
+ "homepage": "http://laravelcollective.com",
+ "time": "2016-01-27 22:29:54"
+ },
+ {
+ "name": "league/flysystem",
+ "version": "1.0.28",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/flysystem.git",
+ "reference": "a9663643ff2d16d7f66ed1e0d3212c5491bc9044"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a9663643ff2d16d7f66ed1e0d3212c5491bc9044",
+ "reference": "a9663643ff2d16d7f66ed1e0d3212c5491bc9044",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4.0"
+ },
"conflict": {
"league/flysystem-sftp": "<1.0.6"
},
@@ -1746,7 +1800,70 @@
"sftp",
"storage"
],
- "time": "2016-10-19 20:38:46"
+ "time": "2016-10-07 12:20:37"
+ },
+ {
+ "name": "league/fractal",
+ "version": "0.14.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/fractal.git",
+ "reference": "56ad8933fbb40328ca3321c84143b2c16186eebf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/fractal/zipball/56ad8933fbb40328ca3321c84143b2c16186eebf",
+ "reference": "56ad8933fbb40328ca3321c84143b2c16186eebf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4"
+ },
+ "require-dev": {
+ "illuminate/contracts": "~5.0",
+ "mockery/mockery": "~0.9",
+ "pagerfanta/pagerfanta": "~1.0.0",
+ "phpunit/phpunit": "~4.0",
+ "squizlabs/php_codesniffer": "~1.5",
+ "zendframework/zend-paginator": "~2.3"
+ },
+ "suggest": {
+ "illuminate/pagination": "The Illuminate Pagination component.",
+ "pagerfanta/pagerfanta": "Pagerfanta Paginator",
+ "zendframework/zend-paginator": "Zend Framework Paginator"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "0.13-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Fractal\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Phil Sturgeon",
+ "email": "me@philsturgeon.uk",
+ "homepage": "http://philsturgeon.uk/",
+ "role": "Developer"
+ }
+ ],
+ "description": "Handle the output of complex data structures ready for API output.",
+ "homepage": "http://fractal.thephpleague.com/",
+ "keywords": [
+ "api",
+ "json",
+ "league",
+ "rest"
+ ],
+ "time": "2016-07-21 09:56:14"
},
{
"name": "league/oauth1-client",
@@ -2469,110 +2586,6 @@
"homepage": "https://github.com/PhenX/php-font-lib",
"time": "2014-02-01 15:22:28"
},
- {
- "name": "php-imap/php-imap",
- "version": "2.0.8",
- "source": {
- "type": "git",
- "url": "https://github.com/barbushin/php-imap.git",
- "reference": "949826c9b109113ec93a5214e85afce31cba000c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/barbushin/php-imap/zipball/949826c9b109113ec93a5214e85afce31cba000c",
- "reference": "949826c9b109113ec93a5214e85afce31cba000c",
- "shasum": ""
- },
- "require": {
- "ext-imap": "*",
- "php": ">=5.3.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "PhpImap\\": "src/PhpImap/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD 3-Clause"
- ],
- "authors": [
- {
- "name": "Sergey Barbushin",
- "email": "barbushin@gmail.com",
- "homepage": "http://linkedin.com/in/barbushin"
- }
- ],
- "description": "PHP class to access mailbox by POP3/IMAP/NNTP using IMAP extension",
- "homepage": "https://github.com/barbushin/php-imap",
- "keywords": [
- "imap",
- "mail",
- "php"
- ],
- "time": "2016-08-13 15:39:00"
- },
- {
- "name": "phpmailer/phpmailer",
- "version": "v5.2.16",
- "source": {
- "type": "git",
- "url": "https://github.com/PHPMailer/PHPMailer.git",
- "reference": "1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a",
- "reference": "1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a",
- "shasum": ""
- },
- "require": {
- "php": ">=5.0.0"
- },
- "require-dev": {
- "phpdocumentor/phpdocumentor": "*",
- "phpunit/phpunit": "4.7.*"
- },
- "suggest": {
- "league/oauth2-google": "Needed for Google XOAUTH2 authentication"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "class.phpmailer.php",
- "class.phpmaileroauth.php",
- "class.phpmaileroauthgoogle.php",
- "class.smtp.php",
- "class.pop3.php",
- "extras/EasyPeasyICS.php",
- "extras/ntlm_sasl_client.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-2.1"
- ],
- "authors": [
- {
- "name": "Jim Jagielski",
- "email": "jimjag@gmail.com"
- },
- {
- "name": "Marcus Bointon",
- "email": "phpmailer@synchromedia.co.uk"
- },
- {
- "name": "Andy Prevost",
- "email": "codeworxtech@users.sourceforge.net"
- },
- {
- "name": "Brent R. Matzelle"
- }
- ],
- "description": "PHPMailer is a full-featured email creation and transfer class for PHP",
- "time": "2016-06-06 09:09:37"
- },
{
"name": "phpoffice/phpexcel",
"version": "1.8.1",
@@ -3183,7 +3196,7 @@
},
{
"name": "symfony/css-selector",
- "version": "v3.1.6",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
@@ -3293,16 +3306,16 @@
},
{
"name": "symfony/event-dispatcher",
- "version": "v3.1.6",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "28b0832b2553ffb80cabef6a7a812ff1e670c0bc"
+ "reference": "c0c00c80b3a69132c4e55c3e7db32b4a387615e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/28b0832b2553ffb80cabef6a7a812ff1e670c0bc",
- "reference": "28b0832b2553ffb80cabef6a7a812ff1e670c0bc",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c0c00c80b3a69132c4e55c3e7db32b4a387615e5",
+ "reference": "c0c00c80b3a69132c4e55c3e7db32b4a387615e5",
"shasum": ""
},
"require": {
@@ -3349,7 +3362,7 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
- "time": "2016-10-13 06:28:43"
+ "time": "2016-07-19 10:45:57"
},
{
"name": "symfony/finder",
@@ -3537,7 +3550,7 @@
},
{
"name": "symfony/options-resolver",
- "version": "v3.1.6",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
@@ -4546,6 +4559,66 @@
],
"time": "2015-03-20 13:30:34"
},
+ {
+ "name": "yajra/laravel-datatables-oracle",
+ "version": "v6.17.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yajra/laravel-datatables.git",
+ "reference": "66186a1275156b922e5968a4d65bbc5966bbee5d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/66186a1275156b922e5968a4d65bbc5966bbee5d",
+ "reference": "66186a1275156b922e5968a4d65bbc5966bbee5d",
+ "shasum": ""
+ },
+ "require": {
+ "dompdf/dompdf": "^0.6.1",
+ "illuminate/database": "~5.0",
+ "illuminate/filesystem": "~5.0",
+ "illuminate/http": "~5.0",
+ "illuminate/support": "~5.0",
+ "illuminate/view": "~5.0",
+ "laravelcollective/html": "~5.0",
+ "league/fractal": "~0.12",
+ "maatwebsite/excel": "^2.0",
+ "php": ">=5.5.9"
+ },
+ "require-dev": {
+ "mockery/mockery": "~0.9",
+ "phpunit/phpunit": "~4.0"
+ },
+ "suggest": {
+ "barryvdh/laravel-snappy": "Allows exporting of dataTable to PDF using the print view."
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Yajra\\Datatables\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Arjay Angeles",
+ "email": "aqangeles@gmail.com"
+ }
+ ],
+ "description": "jQuery DataTables API for Laravel 4|5",
+ "keywords": [
+ "datatable",
+ "datatables",
+ "datatables jquery plugin",
+ "laravel",
+ "laravel4",
+ "laravel5"
+ ],
+ "time": "2016-08-10 00:31:22"
+ },
{
"name": "zendframework/zend-escaper",
"version": "2.5.2",
@@ -4741,31 +4814,31 @@
},
{
"name": "zendframework/zend-stdlib",
- "version": "3.1.0",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-stdlib.git",
- "reference": "debedcfc373a293f9250cc9aa03cf121428c8e78"
+ "reference": "8bafa58574204bdff03c275d1d618aaa601588ae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/debedcfc373a293f9250cc9aa03cf121428c8e78",
- "reference": "debedcfc373a293f9250cc9aa03cf121428c8e78",
+ "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/8bafa58574204bdff03c275d1d618aaa601588ae",
+ "reference": "8bafa58574204bdff03c275d1d618aaa601588ae",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": "^5.5 || ^7.0"
},
"require-dev": {
"athletic/athletic": "~0.1",
- "phpunit/phpunit": "~4.0",
- "squizlabs/php_codesniffer": "^2.6.2"
+ "fabpot/php-cs-fixer": "1.7.*",
+ "phpunit/phpunit": "~4.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1-dev",
- "dev-develop": "3.2-dev"
+ "dev-master": "3.0-dev",
+ "dev-develop": "3.1-dev"
}
},
"autoload": {
@@ -4782,7 +4855,7 @@
"stdlib",
"zf2"
],
- "time": "2016-09-13 14:38:50"
+ "time": "2016-04-12 21:19:36"
},
{
"name": "zendframework/zend-uri",
@@ -6110,16 +6183,16 @@
},
{
"name": "symfony/dom-crawler",
- "version": "v3.1.6",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "59eee3c76eb89f21857798620ebdad7a05ad14f4"
+ "reference": "bb7395e8b1db3654de82b9f35d019958276de4d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/59eee3c76eb89f21857798620ebdad7a05ad14f4",
- "reference": "59eee3c76eb89f21857798620ebdad7a05ad14f4",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/bb7395e8b1db3654de82b9f35d019958276de4d7",
+ "reference": "bb7395e8b1db3654de82b9f35d019958276de4d7",
"shasum": ""
},
"require": {
@@ -6162,20 +6235,20 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
- "time": "2016-10-18 15:46:07"
+ "time": "2016-08-05 08:37:39"
},
{
"name": "symfony/yaml",
- "version": "v3.1.6",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "7ff51b06c6c3d5cc6686df69004a42c69df09e27"
+ "reference": "368b9738d4033c8b93454cb0dbd45d305135a6d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/7ff51b06c6c3d5cc6686df69004a42c69df09e27",
- "reference": "7ff51b06c6c3d5cc6686df69004a42c69df09e27",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/368b9738d4033c8b93454cb0dbd45d305135a6d3",
+ "reference": "368b9738d4033c8b93454cb0dbd45d305135a6d3",
"shasum": ""
},
"require": {
@@ -6211,7 +6284,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2016-10-24 18:41:13"
+ "time": "2016-09-25 08:27:07"
},
{
"name": "webmozart/assert",
diff --git a/config/app.php b/config/app.php
index 7eef5e10d..50867e651 100644
--- a/config/app.php
+++ b/config/app.php
@@ -33,7 +33,7 @@ return [
| This tells about aplication current version.
|
*/
- 'version' => 'Community 1.0.8.0 RC',
+ 'version' => 'Community 1.9.0',
/*
|--------------------------------------------------------------------------
| Application Name
@@ -167,6 +167,7 @@ return [
'App\Providers\EventServiceProvider',
'App\Providers\RouteServiceProvider',
'App\Providers\ConfigServiceProvider',
+ 'App\Providers\ComposerServiceProvider',
'Propaganistas\LaravelPhone\LaravelPhoneServiceProvider',
'Bugsnag\BugsnagLaravel\BugsnagLaravelServiceProvider',
'Vsmoraes\Pdf\PdfServiceProvider',
@@ -174,7 +175,7 @@ return [
'Chumper\Datatable\DatatableServiceProvider',
'Chumper\Zipper\ZipperServiceProvider',
'Tymon\JWTAuth\Providers\JWTAuthServiceProvider',
- 'Torann\GeoIP\GeoIPServiceProvider',
+ \Torann\GeoIP\GeoIPServiceProvider::class,
Unisharp\Laravelfilemanager\LaravelFilemanagerServiceProvider::class,
Intervention\Image\ImageServiceProvider::class,
Unisharp\Ckeditor\ServiceProvider::class,
@@ -184,6 +185,8 @@ return [
Maatwebsite\Excel\ExcelServiceProvider::class,
Laravel\Socialite\SocialiteServiceProvider::class,
App\FaveoLog\LaravelLogViewerServiceProvider::class,
+ App\FaveoStorage\StorageServiceProvider::class,
+ Yajra\Datatables\DatatablesServiceProvider::class,
],
/*
@@ -251,6 +254,7 @@ return [
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
'UnAuth' => 'App\Http\Controllers\Client\helpdesk\UnAuthController',
'Finder' => App\Helper\Finder::class,
+ 'Datatables' => Yajra\Datatables\Facades\Datatables::class,
],
diff --git a/config/chumper.datatable.php b/config/chumper.datatable.php
index 3d5556299..a4abb5f36 100644
--- a/config/chumper.datatable.php
+++ b/config/chumper.datatable.php
@@ -30,7 +30,7 @@ return [
| Supported: string
|
*/
- 'id' => '',
+ 'id' => 'chumper',
/*
|--------------------------------------------------------------------------
| DataTable options
diff --git a/config/datatables.php b/config/datatables.php
new file mode 100644
index 000000000..c8ac57a44
--- /dev/null
+++ b/config/datatables.php
@@ -0,0 +1,86 @@
+ [
+ /*
+ * Smart search will enclose search keyword with wildcard string "%keyword%".
+ * SQL: column LIKE "%keyword%"
+ */
+ 'smart' => true,
+
+ /*
+ * Case insensitive will search the keyword in lower case format.
+ * SQL: LOWER(column) LIKE LOWER(keyword)
+ */
+ 'case_insensitive' => true,
+
+ /*
+ * Wild card will add "%" in between every characters of the keyword.
+ * SQL: column LIKE "%k%e%y%w%o%r%d%"
+ */
+ 'use_wildcards' => false,
+ ],
+
+ /*
+ * DataTables fractal configurations.
+ */
+ 'fractal' => [
+ /*
+ * Request key name to parse includes on fractal.
+ */
+ 'includes' => 'include',
+
+ /*
+ * Default fractal serializer.
+ */
+ 'serializer' => 'League\Fractal\Serializer\DataArraySerializer',
+ ],
+
+ /*
+ * DataTables script view template.
+ */
+ 'script_template' => 'datatables::script',
+
+ /*
+ * DataTables internal index id response column name.
+ */
+ 'index_column' => 'DT_Row_Index',
+
+ /*
+ * Namespaces used by the generator.
+ */
+ 'namespace' => [
+ /*
+ * Base namespace/directory to create the new file.
+ * This is appended on default Laravel namespace.
+ *
+ * Usage: php artisan datatables:make User
+ * Output: App\DataTables\UserDataTable
+ * With Model: App\User (default model)
+ * Export filename: users_timestamp
+ */
+ 'base' => 'DataTables',
+
+ /*
+ * Base namespace/directory where your model's are located.
+ * This is appended on default Laravel namespace.
+ *
+ * Usage: php artisan datatables:make Post --model
+ * Output: App\DataTables\PostDataTable
+ * With Model: App\Post
+ * Export filename: posts_timestamp
+ */
+ 'model' => '',
+ ],
+
+ /*
+ * PDF generator to be used when converting the table to pdf.
+ * Available generators: excel, snappy
+ * Snappy package: barryvdh/laravel-snappy
+ * Excel package: maatwebsite/excel
+ */
+ 'pdf_generator' => 'excel',
+];
diff --git a/config/filesystems.php b/config/filesystems.php
index 7cc20cf66..7d85fd0d9 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -41,7 +41,7 @@ return [
'local' => [
'driver' => 'local',
- 'root' => storage_path().'/app',
+ 'root' => storage_path().'/app/attachments',
],
's3' => [
'driver' => 's3',
diff --git a/config/queue.php b/config/queue.php
index 95023685f..46bf10ca0 100644
--- a/config/queue.php
+++ b/config/queue.php
@@ -16,7 +16,7 @@ return [
|
*/
- 'default' => 'null',
+ 'default' => 'sync',
/*
|--------------------------------------------------------------------------
| Queue Connections
diff --git a/database/migrations/2016_02_16_140450_create_users_table.php b/database/migrations/2016_02_16_140450_create_users_table.php
index 76fc95a0e..83676a3ae 100644
--- a/database/migrations/2016_02_16_140450_create_users_table.php
+++ b/database/migrations/2016_02_16_140450_create_users_table.php
@@ -22,6 +22,7 @@ class CreateUsersTable extends Migration
$table->boolean('ban');
$table->string('password', 60);
$table->integer('active');
+ $table->boolean('is_delete')->default(0);
$table->string('ext');
$table->integer('country_code');
$table->string('phone_number');
diff --git a/database/migrations/2016_06_28_141613_version1079table.php b/database/migrations/2016_06_28_141613_version1079table.php
index 829d68e78..70d13aa36 100644
--- a/database/migrations/2016_06_28_141613_version1079table.php
+++ b/database/migrations/2016_06_28_141613_version1079table.php
@@ -18,12 +18,16 @@ class Version1079table extends Migration
if ($settings_system != null) {
DB::table('settings_system')->insert(['version' => $current_version]);
DB::table('common_settings')
- ->insert(
- ['option_name' => 'enable_rtl', 'option_value' => ''],
- ['option_name' => 'user_set_ticket_status', 'status' => 1],
- ['option_name' => 'send_otp', 'status' => 0],
- ['option_name' => 'email_mandatory', 'status' => 1]
- );
+ ->insert(
+ ['option_name' => 'enable_rtl', 'option_value' => ''], ['option_name' => 'user_set_ticket_status', 'status' => 1], ['option_name' => 'send_otp', 'status' => 0], ['option_name' => 'email_mandatory', 'status' => 1]
+ );
+ }
+
+ if (Schema::hasTable('common_settings')) {
+ $settings = DB::table('common_settings')->where('option_name', 'itil')->first();
+ if (!$settings) {
+ DB::table('common_settings')->insert(['option_name'=>'itil', 'status'=>'0']);
+ }
}
}
}
diff --git a/database/migrations/2016_07_26_094753_create_mail_services_table.php b/database/migrations/2016_07_26_094753_create_mail_services_table.php
index 7f1d8875e..8384fd14c 100644
--- a/database/migrations/2016_07_26_094753_create_mail_services_table.php
+++ b/database/migrations/2016_07_26_094753_create_mail_services_table.php
@@ -21,11 +21,11 @@ class CreateMailServicesTable extends Migration
});
$mail = new MailService();
- $services = ['smtp' => 'SMTP', 'mail' => 'Php Mail', 'sendmail' => 'Send Mail', 'mailgun' => 'Mailgun', 'mandrill' => 'Mandrill', 'log' => 'Log file'];
- foreach ($services as $key => $value) {
+ $services = ['smtp'=>'SMTP', 'mail'=>'Php Mail', 'sendmail'=>'Send Mail', 'mailgun'=>'Mailgun', 'mandrill'=>'Mandrill', 'log'=>'Log file'];
+ foreach ($services as $key=>$value) {
$mail->create([
- 'name' => $value,
- 'short_name' => $key,
+ 'name' => $value,
+ 'short_name'=> $key,
]);
}
}
diff --git a/database/migrations/2016_07_26_095020_create_queue_services_table.php b/database/migrations/2016_07_26_095020_create_queue_services_table.php
index cf1037ab3..a975ab6be 100644
--- a/database/migrations/2016_07_26_095020_create_queue_services_table.php
+++ b/database/migrations/2016_07_26_095020_create_queue_services_table.php
@@ -22,12 +22,12 @@ class CreateQueueServicesTable extends Migration
});
$queue = new QueueService();
- $services = ['sync' => 'Sync', 'database' => 'Database', 'beanstalkd' => 'Beanstalkd', 'sqs' => 'SQS', 'iron' => 'Iron', 'redis' => 'Redis'];
- foreach ($services as $key => $value) {
+ $services = ['sync'=>'Sync', 'database'=>'Database', 'beanstalkd'=>'Beanstalkd', 'sqs'=>'SQS', 'iron'=>'Iron', 'redis'=>'Redis'];
+ foreach ($services as $key=>$value) {
$queue->create([
- 'name' => $value,
- 'short_name' => $key,
- 'status' => 0,
+ 'name' => $value,
+ 'short_name'=> $key,
+ 'status' => 0,
]);
}
$q = $queue->where('short_name', 'sync')->first();
diff --git a/database/migrations/2016_08_31_223407_create_approval_table.php b/database/migrations/2016_08_31_223407_create_approval_table.php
deleted file mode 100644
index e9067e2a4..000000000
--- a/database/migrations/2016_08_31_223407_create_approval_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-increments('id');
- $table->string('name');
- $table->string('status');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- //
- Schema::drop('approval');
- }
-}
diff --git a/database/migrations/2016_09_02_165516_create_follow_up_table.php b/database/migrations/2016_09_02_165516_create_follow_up_table.php
deleted file mode 100644
index 406edfa95..000000000
--- a/database/migrations/2016_09_02_165516_create_follow_up_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-increments('id');
- $table->string('name');
- $table->string('status');
- $table->string('condition');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- //
- Schema::drop('followup');
- }
-}
diff --git a/database/migrations/test/2016_07_26_084458_create_faveo_mails_table.php b/database/migrations/test/2016_07_26_084458_create_faveo_mails_table.php
new file mode 100644
index 000000000..ef3c1ce93
--- /dev/null
+++ b/database/migrations/test/2016_07_26_084458_create_faveo_mails_table.php
@@ -0,0 +1,34 @@
+increments('id');
+ $table->integer('email_id');
+ $table->string('drive');
+ $table->string('key');
+ $table->string('value');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('faveo_mails');
+ }
+}
diff --git a/database/migrations/test/2016_07_26_090201_create_faveo_queues_table.php b/database/migrations/test/2016_07_26_090201_create_faveo_queues_table.php
new file mode 100644
index 000000000..9c186796c
--- /dev/null
+++ b/database/migrations/test/2016_07_26_090201_create_faveo_queues_table.php
@@ -0,0 +1,33 @@
+increments('id');
+ $table->integer('service_id');
+ $table->string('key');
+ $table->string('value');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('faveo_queues');
+ }
+}
diff --git a/database/migrations/test/2016_07_26_094753_create_mail_services_table.php b/database/migrations/test/2016_07_26_094753_create_mail_services_table.php
new file mode 100644
index 000000000..8384fd14c
--- /dev/null
+++ b/database/migrations/test/2016_07_26_094753_create_mail_services_table.php
@@ -0,0 +1,42 @@
+increments('id');
+ $table->string('name');
+ $table->string('short_name');
+ $table->timestamps();
+ });
+
+ $mail = new MailService();
+ $services = ['smtp'=>'SMTP', 'mail'=>'Php Mail', 'sendmail'=>'Send Mail', 'mailgun'=>'Mailgun', 'mandrill'=>'Mandrill', 'log'=>'Log file'];
+ foreach ($services as $key=>$value) {
+ $mail->create([
+ 'name' => $value,
+ 'short_name'=> $key,
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('mail_services');
+ }
+}
diff --git a/database/migrations/test/2016_07_26_095020_create_queue_services_table.php b/database/migrations/test/2016_07_26_095020_create_queue_services_table.php
new file mode 100644
index 000000000..a682c7b59
--- /dev/null
+++ b/database/migrations/test/2016_07_26_095020_create_queue_services_table.php
@@ -0,0 +1,48 @@
+increments('id');
+ $table->string('name');
+ $table->string('short_name');
+ $table->integer('status');
+ $table->timestamps();
+ });
+
+ $queue = new QueueService();
+ $services = ['database'=>'Local Database', 'beanstalkd'=>'Beanstalkd', 'sqs'=>'SQS', 'iron'=>'Iron', 'redis'=>'Redis'];
+ $status = 0;
+ foreach ($services as $key=>$value) {
+ if ($key === 'database') {
+ $status = 1;
+ }
+ $queue->create([
+ 'name' => $value,
+ 'short_name'=> $key,
+ 'status' => $status,
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('queue_services');
+ }
+}
diff --git a/database/migrations/test/2016_07_29_113012_create_conditions_table.php b/database/migrations/test/2016_07_29_113012_create_conditions_table.php
new file mode 100644
index 000000000..042504317
--- /dev/null
+++ b/database/migrations/test/2016_07_29_113012_create_conditions_table.php
@@ -0,0 +1,32 @@
+increments('id');
+ $table->string('job');
+ $table->string('value');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('conditions');
+ }
+}
diff --git a/database/migrations/test/2016_08_08_095744_create_social_media_table.php b/database/migrations/test/2016_08_08_095744_create_social_media_table.php
new file mode 100644
index 000000000..3f4b66143
--- /dev/null
+++ b/database/migrations/test/2016_08_08_095744_create_social_media_table.php
@@ -0,0 +1,33 @@
+increments('id');
+ $table->string('provider');
+ $table->string('key');
+ $table->string('value');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('social_media');
+ }
+}
diff --git a/database/migrations/test1/2016_08_12_104410_create_user_additional_infos_table.php b/database/migrations/test1/2016_08_12_104410_create_user_additional_infos_table.php
new file mode 100644
index 000000000..35d32b3d8
--- /dev/null
+++ b/database/migrations/test1/2016_08_12_104410_create_user_additional_infos_table.php
@@ -0,0 +1,34 @@
+increments('id');
+ $table->integer('owner');
+ $table->string('service');
+ $table->string('key');
+ $table->string('value')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::drop('user_additional_infos');
+ }
+}
diff --git a/database/migrations/test1/2016_08_16_104539_alter_ticket_source_table.php b/database/migrations/test1/2016_08_16_104539_alter_ticket_source_table.php
new file mode 100644
index 000000000..a39f3e57e
--- /dev/null
+++ b/database/migrations/test1/2016_08_16_104539_alter_ticket_source_table.php
@@ -0,0 +1,49 @@
+string('css_class');
+ });
+ }
+ DB::table('ticket_source')->delete();
+ $values = $this->values();
+ foreach ($values as $value) {
+ DB::table('ticket_source')->insert($value);
+ }
+ }
+
+ public function values()
+ {
+ return[
+ ['name' => 'web', 'value' => 'Web', 'css_class' => 'fa fa-internet-explorer'],
+ ['name' => 'email', 'value' => 'E-mail', 'css_class' => 'fa fa-envelope'],
+ ['name' => 'agent', 'value' => 'Agent Panel', 'css_class' => 'fa fa-envelope'],
+ ['name' => 'facebook', 'value' => 'Facebook', 'css_class' => 'fa fa-facebook'],
+ ['name' => 'twitter', 'value' => 'Twitter', 'css_class' => 'fa fa-twitter'],
+ ];
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('ticket_source', function (Blueprint $table) {
+ //
+ });
+ }
+}
diff --git a/database/migrations/test1/test1/2016_08_16_104539_alter_ticket_source_table.php b/database/migrations/test1/test1/2016_08_16_104539_alter_ticket_source_table.php
new file mode 100644
index 000000000..a39f3e57e
--- /dev/null
+++ b/database/migrations/test1/test1/2016_08_16_104539_alter_ticket_source_table.php
@@ -0,0 +1,49 @@
+string('css_class');
+ });
+ }
+ DB::table('ticket_source')->delete();
+ $values = $this->values();
+ foreach ($values as $value) {
+ DB::table('ticket_source')->insert($value);
+ }
+ }
+
+ public function values()
+ {
+ return[
+ ['name' => 'web', 'value' => 'Web', 'css_class' => 'fa fa-internet-explorer'],
+ ['name' => 'email', 'value' => 'E-mail', 'css_class' => 'fa fa-envelope'],
+ ['name' => 'agent', 'value' => 'Agent Panel', 'css_class' => 'fa fa-envelope'],
+ ['name' => 'facebook', 'value' => 'Facebook', 'css_class' => 'fa fa-facebook'],
+ ['name' => 'twitter', 'value' => 'Twitter', 'css_class' => 'fa fa-twitter'],
+ ];
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('ticket_source', function (Blueprint $table) {
+ //
+ });
+ }
+}
diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php
index 0873459a8..d64053fe8 100644
--- a/database/seeds/DatabaseSeeder.php
+++ b/database/seeds/DatabaseSeeder.php
@@ -11,11 +11,9 @@ use App\Model\helpdesk\Manage\Sla_plan;
use App\Model\helpdesk\Notification\NotificationType;
use App\Model\helpdesk\Ratings\Rating;
use App\Model\helpdesk\Settings\Alert;
-use App\Model\helpdesk\Settings\Approval;
use App\Model\helpdesk\Settings\CommonSettings;
use App\Model\helpdesk\Settings\Company;
use App\Model\helpdesk\Settings\Email;
-use App\Model\helpdesk\Settings\Followup;
use App\Model\helpdesk\Settings\Responder;
use App\Model\helpdesk\Settings\Security;
use App\Model\helpdesk\Settings\System;
@@ -215,16 +213,10 @@ class DatabaseSeeder extends Seeder
Ticket_status::create(['name' => 'Request Approval', 'state' => 'unverified', 'mode' => '3', 'message' => 'Approval requested by', 'flags' => '0', 'sort' => '7', 'properties' => 'Ticket will be approve after Admin verifies this ticket']);
/* Ticket priority */
- Ticket_priority::create(['priority' => 'Low', 'status' => 1, 'priority_desc' => 'Low', 'priority_color' => '#00a65a', 'priority_urgency' => '4', 'ispublic' => 1, 'is_default' => 0]);
- Ticket_priority::create(['priority' => 'Normal', 'status' => 1, 'priority_desc' => 'Normal', 'priority_color' => '#00bfef', 'priority_urgency' => '3', 'ispublic' => 1, 'is_default' => 1]);
- Ticket_priority::create(['priority' => 'High', 'status' => 1, 'priority_desc' => 'High', 'priority_color' => '#f39c11', 'priority_urgency' => '2', 'ispublic' => 1, 'is_default' => 0]);
- Ticket_priority::create(['priority' => 'Emergency', 'status' => 1, 'priority_desc' => 'Emergency', 'priority_color' => '#dd4b38', 'priority_urgency' => '1', 'ispublic' => 1, 'is_default' => 0]);
-
- /* Approval */
- Approval::create(['name' => 'approval', 'status' => '0']);
-
- /*Followup*/
- Followup::create(['name' => 'followup']);
+ Ticket_priority::create(['priority' => 'Low', 'status' => 1, 'priority_desc' => 'Low', 'priority_color' => '#00a65a', 'priority_urgency' => '4', 'ispublic' => '1']);
+ Ticket_priority::create(['priority' => 'Normal', 'status' => 1, 'priority_desc' => 'Normal', 'priority_color' => '#00bfef', 'priority_urgency' => '3', 'ispublic' => '1', 'is_default' => '1']);
+ Ticket_priority::create(['priority' => 'High', 'status' => 1, 'priority_desc' => 'High', 'priority_color' => '#f39c11', 'priority_urgency' => '2', 'ispublic' => '1']);
+ Ticket_priority::create(['priority' => 'Emergency', 'status' => 1, 'priority_desc' => 'Emergency', 'priority_color' => '#dd4b38', 'priority_urgency' => '1', 'ispublic' => '1']);
/* SLA Plans */
Sla_plan::create(['name' => 'Sla 1', 'grace_period' => '6 Hours', 'status' => '1']);
diff --git a/nbproject/project.xml b/nbproject/project.xml
index f92f88397..2c2a20612 100644
--- a/nbproject/project.xml
+++ b/nbproject/project.xml
@@ -3,7 +3,7 @@
org.netbeans.modules.php.project
- pro-fork
+ Faveo-Helpdesk-Pro-bhanu-fork
diff --git a/public/css/close-button.css b/public/css/close-button.css
new file mode 100644
index 000000000..64421487e
--- /dev/null
+++ b/public/css/close-button.css
@@ -0,0 +1,37 @@
+/*
+To change this license header, choose License Headers in Project Properties.
+To change this template file, choose Tools | Templates
+and open the template in the editor.
+*/
+/*
+ Created on : 14 Oct, 2016, 9:55:14 AM
+ Author : vijaysebastian
+*/
+/* Common */
+
+
+/* Close Button */
+
+[class*='close-'] {
+ color: #777;
+ font: 14px/100% arial, sans-serif;
+ position: absolute;
+ right: 5px;
+ text-decoration: none;
+ text-shadow: 0 1px 0 #fff;
+ top: 5px;
+}
+
+.close-classic:after {
+ content: 'X'; /* ANSI X letter */
+}
+
+.close-thin:after {
+ content: '×'; /* UTF-8 symbol */
+}
+
+.close-thik:after {
+ content: '✖'; /* UTF-8 symbol */
+}
+
+
diff --git a/public/downloads/en.zip b/public/downloads/en.zip
index 3674da0ca..990d04dc0 100644
Binary files a/public/downloads/en.zip and b/public/downloads/en.zip differ
diff --git a/public/lb-faveo/plugins/.DS_Store b/public/lb-faveo/plugins/.DS_Store
deleted file mode 100644
index 8bc04c0e3..000000000
Binary files a/public/lb-faveo/plugins/.DS_Store and /dev/null differ
diff --git a/public/lb-faveo/plugins/datatables/dataTables.bootstrap.js b/public/lb-faveo/plugins/datatables/dataTables.bootstrap.js
index dc87d01ef..04623d6b2 100644
--- a/public/lb-faveo/plugins/datatables/dataTables.bootstrap.js
+++ b/public/lb-faveo/plugins/datatables/dataTables.bootstrap.js
@@ -19,10 +19,10 @@ $.extend( true, $.fn.dataTable.defaults, {
$(".box-body").css({"opacity": "1"});
$('#blur-bg').css({"opacity": "1", "z-index": "99999"});
},
- "fnPreDrawCallback": function(oSettings, json) {
- $(".box-body").css({"opacity":"0.4"});
- }
-} );
+ "fnPreDrawCallback": function(oSettings, json) {
+ $(".box-body").css({"opacity":"0.3"});
+ }
+});
diff --git a/public/lb-faveo/plugins/daterangepicker/daterangepicker-bs3.css b/public/lb-faveo/plugins/daterangepicker/daterangepicker-bs3.css
deleted file mode 100644
index eed1e9f4a..000000000
--- a/public/lb-faveo/plugins/daterangepicker/daterangepicker-bs3.css
+++ /dev/null
@@ -1,245 +0,0 @@
-/*!
- * Stylesheet for the Date Range Picker, for use with Bootstrap 3.x
- *
- * Copyright 2013 Dan Grossman ( http://www.dangrossman.info )
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Built for http://www.improvely.com
- */
-
- .daterangepicker.dropdown-menu {
- max-width: none;
- z-index: 3000;
-}
-
-.daterangepicker.opensleft .ranges, .daterangepicker.opensleft .calendar {
- float: left;
- margin: 4px;
-}
-
-.daterangepicker.opensright .ranges, .daterangepicker.opensright .calendar {
- float: right;
- margin: 4px;
-}
-
-.daterangepicker .ranges {
- width: 160px;
- text-align: left;
-}
-
-.daterangepicker .ranges .range_inputs>div {
- float: left;
-}
-
-.daterangepicker .ranges .range_inputs>div:nth-child(2) {
- padding-left: 11px;
-}
-
-.daterangepicker .calendar {
- display: none;
- max-width: 270px;
-}
-
-.daterangepicker .calendar th, .daterangepicker .calendar td {
- font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
- white-space: nowrap;
- text-align: center;
- min-width: 32px;
-}
-
-.daterangepicker .ranges label {
- color: #333;
- display: block;
- font-size: 11px;
- font-weight: normal;
- height: 20px;
- line-height: 20px;
- margin-bottom: 2px;
- text-shadow: #fff 1px 1px 0px;
- text-transform: uppercase;
- width: 74px;
-}
-
-.daterangepicker .ranges input {
- font-size: 11px;
-}
-
-.daterangepicker .ranges .input-mini {
- background-color: #eee;
- border: 1px solid #ccc;
- border-radius: 4px;
- color: #555;
- display: block;
- font-size: 11px;
- height: 30px;
- line-height: 30px;
- vertical-align: middle;
- margin: 0 0 10px 0;
- padding: 0 6px;
- width: 74px;
-}
-
-.daterangepicker .ranges ul {
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-.daterangepicker .ranges li {
- font-size: 13px;
- background: #f5f5f5;
- border: 1px solid #f5f5f5;
- color: #08c;
- padding: 3px 12px;
- margin-bottom: 8px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- cursor: pointer;
-}
-
-.daterangepicker .ranges li.active, .daterangepicker .ranges li:hover {
- background: #08c;
- border: 1px solid #08c;
- color: #fff;
-}
-
-.daterangepicker .calendar-date {
- border: 1px solid #ddd;
- padding: 4px;
- border-radius: 4px;
- background: #fff;
-}
-
-.daterangepicker .calendar-time {
- text-align: center;
- margin: 8px auto 0 auto;
- line-height: 30px;
-}
-
-.daterangepicker {
- position: absolute;
- background: #fff;
- top: 100px;
- left: 20px;
- padding: 4px;
- margin-top: 1px;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-.daterangepicker.opensleft:before {
- position: absolute;
- top: -7px;
- right: 9px;
- display: inline-block;
- border-right: 7px solid transparent;
- border-bottom: 7px solid #ccc;
- border-left: 7px solid transparent;
- border-bottom-color: rgba(0, 0, 0, 0.2);
- content: '';
-}
-
-.daterangepicker.opensleft:after {
- position: absolute;
- top: -6px;
- right: 10px;
- display: inline-block;
- border-right: 6px solid transparent;
- border-bottom: 6px solid #fff;
- border-left: 6px solid transparent;
- content: '';
-}
-
-.daterangepicker.opensright:before {
- position: absolute;
- top: -7px;
- left: 9px;
- display: inline-block;
- border-right: 7px solid transparent;
- border-bottom: 7px solid #ccc;
- border-left: 7px solid transparent;
- border-bottom-color: rgba(0, 0, 0, 0.2);
- content: '';
-}
-
-.daterangepicker.opensright:after {
- position: absolute;
- top: -6px;
- left: 10px;
- display: inline-block;
- border-right: 6px solid transparent;
- border-bottom: 6px solid #fff;
- border-left: 6px solid transparent;
- content: '';
-}
-
-.daterangepicker table {
- width: 100%;
- margin: 0;
-}
-
-.daterangepicker td, .daterangepicker th {
- text-align: center;
- width: 20px;
- height: 20px;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- cursor: pointer;
- white-space: nowrap;
-}
-
-.daterangepicker td.off {
- color: #999;
-}
-
-.daterangepicker td.disabled {
- color: #999;
-}
-
-.daterangepicker td.available:hover, .daterangepicker th.available:hover {
- background: #eee;
-}
-
-.daterangepicker td.in-range {
- background: #ebf4f8;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.daterangepicker td.active, .daterangepicker td.active:hover {
- background-color: #357ebd;
- border-color: #3071a9;
- color: #fff;
-}
-
-.daterangepicker td.week, .daterangepicker th.week {
- font-size: 80%;
- color: #ccc;
-}
-
-.daterangepicker select.monthselect, .daterangepicker select.yearselect {
- font-size: 12px;
- padding: 1px;
- height: auto;
- margin: 0;
- cursor: default;
-}
-
-.daterangepicker select.monthselect {
- margin-right: 2%;
- width: 56%;
-}
-
-.daterangepicker select.yearselect {
- width: 40%;
-}
-
-.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.ampmselect {
- width: 50px;
- margin-bottom: 0;
-}
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/tagit-awesome-blue.css b/public/lb-faveo/plugins/hailhood-tag/css/tagit-awesome-blue.css
new file mode 100644
index 000000000..828e769fe
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/tagit-awesome-blue.css
@@ -0,0 +1,190 @@
+.ui-autocomplete {
+ background-color: #fff;
+ position: absolute;
+ cursor: default;
+ list-style: none;
+ margin: 25px 0 0;
+ padding: 0;
+ border: 1px solid #E5E5E5;
+ border-top: none;
+ border-radius: 0 0 3px 3px;
+ -webkit-box-shadow: 0 3px 5px #888;
+ box-shadow: 0 3px 5px #888;
+ font-size: 12px;
+}
+
+.ui-autocomplete .ui-menu-item {
+ padding: 0;
+ margin: 0;
+}
+
+.ui-autocomplete .ui-menu-item a {
+ display: block;
+ padding: 4px 6px;
+ margin: 0;
+ text-decoration: none;
+ line-height: 12px;
+ border-bottom: 1px solid #E5E5E5;
+ border-top: 1px solid #fff;
+ color: #78959D;
+
+}
+
+.ui-autocomplete .ui-menu-item a.ui-state-hover,
+.ui-autocomplete .ui-menu-item a.ui-state-active {
+ background-color: #4b99ed;
+ color: #fff;
+ background-image: none;
+ border: 1px solid #a6cef7;
+}
+
+.ui-autocomplete-loading {
+ background: white url(ui-anim_basic_16x16.gif) right center no-repeat;
+}
+
+ul.tagit {
+ cursor: text;
+ overflow: auto;
+ font-size: 14px;
+ width: 97%;
+ padding: 3px;
+ margin-top: 2px;
+ margin-right: 6px;
+ margin-bottom: 16px;
+ border: 1px solid #E5E5E5;
+ background: #fff;
+ color: #fff;
+}
+
+ul.tagit li {
+ border-radius: 5px;
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+}
+
+ul.tagit.ui-sortable li.tagit-choice a.ui-icon.ui-icon-grip-dotted-vertical{
+ float: left;
+ width: 12px;
+ margin-left: -5px;
+ cursor: move;
+}
+
+ul.tagit li.tagit-choice {
+ border: 1px solid #4b99ed;
+ display: inline-block;
+ text-decoration: none;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
+ padding: 4px 7px;
+ font-family: 'Helvetica Neue', helvetica, sans-serif;
+ font-size: 13px;
+ line-height: 13px;
+ height: 13px;
+ vertical-align: middle;
+
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+
+ -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2), inset 0 1px 0 0 rgba(255, 255, 255, 0.4);
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2), inset 0 1px 0 0 rgba(255, 255, 255, 0.4);
+ padding: 4px 13px 4px 7px;
+
+ background: #4bc2ed;
+ background: -moz-linear-gradient(top, #4bc2ed 0%, #2ea2cc 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4bc2ed), color-stop(100%,#2ea2cc));
+ background: -webkit-linear-gradient(top, #4bc2ed 0%,#2ea2cc 100%);
+ background: -o-linear-gradient(top, #4bc2ed 0%,#2ea2cc 100%);
+ background: -ms-linear-gradient(top, #4bc2ed 0%,#2ea2cc 100%);
+ background: linear-gradient(top, #4bc2ed 0%,#2ea2cc 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bc2ed', endColorstr='#2ea2cc',GradientType=0 );
+
+}
+
+ul.tagit li.tagit-choice.selected {
+
+ color: #777777;
+ border: 1px solid #999999;
+
+ background: rgb(200,200,200);
+ background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2M4YzhjOCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNiNmI2YjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background: -moz-linear-gradient(top, rgba(200,200,200,1) 0%, rgba(182,182,182,1) 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(200,200,200,1)), color-stop(100%,rgba(182,182,182,1)));
+ background: -webkit-linear-gradient(top, rgba(200,200,200,1) 0%,rgba(182,182,182,1) 100%);
+ background: -o-linear-gradient(top, rgba(200,200,200,1) 0%,rgba(182,182,182,1) 100%);
+ background: -ms-linear-gradient(top, rgba(200,200,200,1) 0%,rgba(182,182,182,1) 100%);
+ background: linear-gradient(top, rgba(200,200,200,1) 0%,rgba(182,182,182,1) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c8c8c8', endColorstr='#b6b6b6',GradientType=0 );
+
+}
+
+ul.tagit li.tagit-choice:hover {
+
+ text-decoration: none;
+
+ background: #4ba0ea;
+ background: -moz-linear-gradient(top, #4ba0ea 0%, #2f89ce 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4ba0ea), color-stop(100%,#2f89ce));
+ background: -webkit-linear-gradient(top, #4ba0ea 0%,#2f89ce 100%);
+ background: -o-linear-gradient(top, #4ba0ea 0%,#2f89ce 100%);
+ background: -ms-linear-gradient(top, #4ba0ea 0%,#2f89ce 100%);
+ background: linear-gradient(top, #4ba0ea 0%,#2f89ce 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4ba0ea', endColorstr='#2f89ce',GradientType=0 );
+}
+
+ul.tagit li.tagit-new {
+ padding: 2px 4px 3px;
+ padding: 2px 4px 1px;
+ padding: 2px 4px 1px 0;
+}
+
+ul.tagit li.tagit-choice input {
+ display: block;
+ float: left;
+ margin: 0 5px 0 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+ul.tagit li.tagit-choice a.tagit-close {
+ color: #ddd;
+ cursor: pointer;
+ font-size: 12px;
+ font-weight: bold;
+ outline: medium none;
+ padding: 0px 0 0px 3px;
+ text-decoration: none;
+ position: absolute;
+ display: block;
+ top: 3px;
+ right: 3px;
+ text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.7);
+}
+
+ul.tagit li.tagit-choice a.tagit-close:hover {
+ color: #000;
+ text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);
+}
+
+ul.tagit div.tagit-label.hidden {
+ display: none;
+}
+
+ul.tagit input.tagit-edit {
+ margin: 0px 0px 0px 2px;
+ border: none;
+ line-height: 16px;
+}
+
+ul.tagit input[type="text"] {
+ -moz-box-sizing: border-box;
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: inherit !important;
+ outline: none;
+}
+
+.tagit-hiddenSelect {
+ display:none;
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/tagit-awesome-orange.css b/public/lb-faveo/plugins/hailhood-tag/css/tagit-awesome-orange.css
new file mode 100644
index 000000000..d64b2dae6
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/tagit-awesome-orange.css
@@ -0,0 +1,190 @@
+.ui-autocomplete {
+ background-color: #fff;
+ position: absolute;
+ cursor: default;
+ list-style: none;
+ margin: 25px 0 0;
+ padding: 0;
+ border: 1px solid #E5E5E5;
+ border-top: none;
+ border-radius: 0 0 10px 10px;
+ -webkit-box-shadow: 0 3px 5px #888;
+ box-shadow: 0 3px 5px #888;
+ font-size: 12px;
+}
+
+.ui-autocomplete .ui-menu-item {
+ padding: 0;
+ margin: 0;
+}
+
+.ui-autocomplete .ui-menu-item a {
+ display: block;
+ padding: 4px 6px;
+ margin: 0;
+ text-decoration: none;
+ line-height: 12px;
+ border-bottom: 1px solid #E5E5E5;
+ border-top: 1px solid #fff;
+ color: #78959D;
+
+}
+
+.ui-autocomplete .ui-menu-item a.ui-state-hover,
+.ui-autocomplete .ui-menu-item a.ui-state-active {
+ background-color: #c0d1e2;
+ color: #555;
+ border-color: #a6cef7;
+}
+
+.ui-autocomplete-loading {
+ background: white url(ui-anim_basic_16x16.gif) right center no-repeat;
+}
+
+ul.tagit {
+ cursor: text;
+ overflow: auto;
+ font-size: 14px;
+ width: 97%;
+ padding: 3px;
+ margin-top: 2px;
+ margin-right: 6px;
+ margin-bottom: 16px;
+ border: 1px solid #E5E5E5;
+ background: #fff;
+ color: #996633;
+}
+
+ul.tagit li {
+ border-radius: 5px;
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+}
+
+ul.tagit.ui-sortable li.tagit-choice a.ui-icon.ui-icon-grip-dotted-vertical{
+ float: left;
+ width: 12px;
+ margin-left: -5px;
+ cursor: move;
+}
+
+ul.tagit li.tagit-choice {
+ border: 1px solid #DDA13C;
+ display: inline-block;
+ text-decoration: none;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
+ padding: 4px 7px;
+ font-family: 'Helvetica Neue', helvetica, sans-serif;
+ font-size: 13px;
+ line-height: 13px;
+ height: 13px;
+ vertical-align: middle;
+
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+
+ -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2), inset 0 1px 0 0 rgba(255, 255, 255, 0.4);
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2), inset 0 1px 0 0 rgba(255, 255, 255, 0.4);
+ padding: 4px 13px 4px 7px;
+
+ background: rgb(238,177,75);
+ background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VlYjE0YiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjYzkxMmQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background: -moz-linear-gradient(top, rgba(238,177,75,1) 0%, rgba(204,145,45,1) 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(238,177,75,1)), color-stop(100%,rgba(204,145,45,1)));
+ background: -webkit-linear-gradient(top, rgba(238,177,75,1) 0%,rgba(204,145,45,1) 100%);
+ background: -o-linear-gradient(top, rgba(238,177,75,1) 0%,rgba(204,145,45,1) 100%);
+ background: -ms-linear-gradient(top, rgba(238,177,75,1) 0%,rgba(204,145,45,1) 100%);
+ background: linear-gradient(top, rgba(238,177,75,1) 0%,rgba(204,145,45,1) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeb14b', endColorstr='#cc912d',GradientType=0 );
+
+}
+
+ul.tagit li.tagit-choice.selected {
+
+ color: #777777;
+ border: 1px solid #999999;
+
+ background: rgb(200,200,200);
+ background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2M4YzhjOCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNiNmI2YjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background: -moz-linear-gradient(top, rgba(200,200,200,1) 0%, rgba(182,182,182,1) 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(200,200,200,1)), color-stop(100%,rgba(182,182,182,1)));
+ background: -webkit-linear-gradient(top, rgba(200,200,200,1) 0%,rgba(182,182,182,1) 100%);
+ background: -o-linear-gradient(top, rgba(200,200,200,1) 0%,rgba(182,182,182,1) 100%);
+ background: -ms-linear-gradient(top, rgba(200,200,200,1) 0%,rgba(182,182,182,1) 100%);
+ background: linear-gradient(top, rgba(200,200,200,1) 0%,rgba(182,182,182,1) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c8c8c8', endColorstr='#b6b6b6',GradientType=0 );
+
+}
+
+ul.tagit li.tagit-choice:hover {
+
+ text-decoration: none;
+
+ background: rgb(240,183,86);
+ background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2YwYjc1NiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkNmEwNDQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background: -moz-linear-gradient(top, rgba(240,183,86,1) 0%, rgba(214,160,68,1) 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(240,183,86,1)), color-stop(100%,rgba(214,160,68,1)));
+ background: -webkit-linear-gradient(top, rgba(240,183,86,1) 0%,rgba(214,160,68,1) 100%);
+ background: -o-linear-gradient(top, rgba(240,183,86,1) 0%,rgba(214,160,68,1) 100%);
+ background: -ms-linear-gradient(top, rgba(240,183,86,1) 0%,rgba(214,160,68,1) 100%);
+ background: linear-gradient(top, rgba(240,183,86,1) 0%,rgba(214,160,68,1) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0b756', endColorstr='#d6a044',GradientType=0 );
+}
+
+ul.tagit li.tagit-new {
+ padding: 2px 4px 3px;
+ padding: 2px 4px 1px;
+ padding: 2px 4px 1px 0;
+}
+
+ul.tagit li.tagit-choice input {
+ display: block;
+ float: left;
+ margin: 0 5px 0 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+ul.tagit li.tagit-choice a.tagit-close {
+ color: #777777;
+ cursor: pointer;
+ font-size: 12px;
+ font-weight: bold;
+ outline: medium none;
+ padding: 0px 0 0px 3px;
+ text-decoration: none;
+ position: absolute;
+ display: block;
+ top: 3px;
+ right: 3px;
+ text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);
+}
+
+ul.tagit li.tagit-choice a.tagit-close:hover {
+ color: #535353;
+}
+
+ul.tagit div.tagit-label.hidden {
+ display: none;
+}
+
+ul.tagit input.tagit-edit {
+ margin: 0px 0px 0px 2px;
+ border: none;
+ line-height: 16px;
+}
+
+ul.tagit input[type="text"] {
+ -moz-box-sizing: border-box;
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: inherit !important;
+ outline: none;
+}
+
+.tagit-hiddenSelect {
+ display:none;
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/tagit-dark-grey.css b/public/lb-faveo/plugins/hailhood-tag/css/tagit-dark-grey.css
new file mode 100644
index 000000000..9c04be3d6
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/tagit-dark-grey.css
@@ -0,0 +1,144 @@
+.ui-autocomplete {
+ background-color: #fff;
+ position: absolute;
+ cursor: default;
+ list-style: none;
+ margin: 25px 0 0;
+ padding: 0;
+ border: 1px solid #E5E5E5;
+ border-top: none;
+ border-radius: 0 0 10px 10px;
+ -webkit-box-shadow: 0 3px 5px #888;
+ box-shadow: 0 3px 5px #888;
+ font-size: 12px;
+}
+
+.ui-autocomplete .ui-menu-item {
+ padding: 0;
+ margin: 0;
+}
+
+.ui-autocomplete .ui-menu-item a {
+ display: block;
+ padding: 4px 6px;
+ margin: 0;
+ text-decoration: none;
+ line-height: 12px;
+ border-bottom: 1px solid #E5E5E5;
+ border-top: 1px solid #fff;
+ color: #78959D;
+
+}
+
+.ui-autocomplete .ui-menu-item a.ui-state-hover,
+.ui-autocomplete .ui-menu-item a.ui-state-active {
+ background-color: #c0d1e2;
+ color: #555;
+ border-color: #a6cef7;
+}
+
+.ui-autocomplete-loading {
+ background: white url(ui-anim_basic_16x16.gif) right center no-repeat;
+}
+
+ul.tagit {
+ cursor: text;
+ overflow: auto;
+ font-size: 14px;
+ width: 97%;
+ padding: 3px;
+ margin-top: 2px;
+ margin-right: 6px;
+ margin-bottom: 16px;
+ border: 1px solid #E5E5E5;
+ background: #fff;
+ color: #fff;
+}
+
+ul.tagit li {
+ border-radius: 5px;
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+}
+
+ul.tagit.ui-sortable li.tagit-choice a.ui-icon.ui-icon-grip-dotted-vertical{
+ float: left;
+ width: 12px;
+ margin-left: -5px;
+ cursor: move;
+}
+
+ul.tagit li.tagit-choice {
+ background-color: #333;
+ border: 1px solid #333;
+ padding: 2px 13px 3px 4px;
+}
+
+ul.tagit li.tagit-choice.selected {
+ background-color: #633;
+ border-color: #f76464;
+}
+
+ul.tagit li.tagit-choice:hover {
+ background-color: #555;
+ border-color: #444;
+}
+
+ul.tagit li.tagit-new {
+ padding: 2px 4px 3px;
+ padding: 2px 4px 1px;
+ padding: 2px 4px 1px 0;
+}
+
+ul.tagit li.tagit-choice input {
+ display: block;
+ float: left;
+ margin: 0 5px 0 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+ul.tagit li.tagit-choice a.tagit-close {
+ color: #ccc;
+ cursor: pointer;
+ font-size: 12px;
+ font-weight: bold;
+ outline: medium none;
+ padding: 2px 0 2px 3px;
+ text-decoration: none;
+ position: absolute;
+ display: block;
+ top: 0;
+ right: 3px;
+ text-shadow: 1px 1px 0 rgba(100, 100, 100, 0.7);
+}
+
+ul.tagit li.tagit-choice a.tagit-close:hover {
+ color: #fff;
+ text-shadow: none;
+}
+
+ul.tagit div.tagit-label.hidden {
+ display: none;
+}
+
+ul.tagit input.tagit-edit {
+ margin: 0px 0px 0px 2px;
+ border: none;
+ line-height: 16px;
+}
+
+ul.tagit input[type="text"] {
+ -moz-box-sizing: border-box;
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: inherit !important;
+ outline: none;
+}
+
+.tagit-hiddenSelect {
+ display:none;
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-blue.css b/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-blue.css
new file mode 100644
index 000000000..952afa322
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-blue.css
@@ -0,0 +1,143 @@
+.ui-autocomplete {
+ background-color: #fff;
+ position: absolute;
+ cursor: default;
+ list-style: none;
+ margin: 25px 0 0;
+ padding: 0;
+ border: 1px solid #E5E5E5;
+ border-top: none;
+ border-radius: 0 0 10px 10px;
+ -webkit-box-shadow: 0 3px 5px #888;
+ box-shadow: 0 3px 5px #888;
+ font-size: 12px;
+}
+
+.ui-autocomplete .ui-menu-item {
+ padding: 0;
+ margin: 0;
+}
+
+.ui-autocomplete .ui-menu-item a {
+ display: block;
+ padding: 4px 6px;
+ margin: 0;
+ text-decoration: none;
+ line-height: 12px;
+ border-bottom: 1px solid #E5E5E5;
+ border-top: 1px solid #fff;
+ color: #78959D;
+
+}
+
+.ui-autocomplete .ui-menu-item a.ui-state-hover,
+.ui-autocomplete .ui-menu-item a.ui-state-active {
+ background-color: #c0d1e2;
+ color: #555;
+ border-color: #a6cef7;
+}
+
+.ui-autocomplete-loading {
+ background: white url(ui-anim_basic_16x16.gif) right center no-repeat;
+}
+
+ul.tagit {
+ cursor: text;
+ overflow: auto;
+ font-size: 14px;
+ width: 97%;
+ padding: 3px;
+ margin-top: 2px;
+ margin-right: 6px;
+ margin-bottom: 16px;
+ border: 1px solid #E5E5E5;
+ background: #fff;
+ color: #555;
+}
+
+ul.tagit li {
+ border-radius: 5px;
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+}
+
+ul.tagit.ui-sortable li.tagit-choice a.ui-icon.ui-icon-grip-dotted-vertical{
+ float: left;
+ width: 12px;
+ margin-left: -5px;
+ cursor: move;
+}
+
+ul.tagit li.tagit-choice {
+ background-color: #DEE7F8;
+ border: 1px solid #CAD8F3;
+ padding: 2px 13px 3px 4px;
+}
+
+ul.tagit li.tagit-choice.selected {
+ background-color: #f5b0b0;
+ border-color: #f76464;
+}
+
+ul.tagit li.tagit-choice:hover {
+ background-color: #bbcef1;
+ border-color: #6d95e0;
+}
+
+ul.tagit li.tagit-new {
+ padding: 2px 4px 3px;
+ padding: 2px 4px 1px;
+ padding: 2px 4px 1px 0;
+}
+
+ul.tagit li.tagit-choice input {
+ display: block;
+ float: left;
+ margin: 0 5px 0 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+ul.tagit li.tagit-choice a.tagit-close {
+ color: #777777;
+ cursor: pointer;
+ font-size: 12px;
+ font-weight: bold;
+ outline: medium none;
+ padding: 2px 0 2px 3px;
+ text-decoration: none;
+ position: absolute;
+ display: block;
+ top: 0;
+ right: 3px;
+ text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);
+}
+
+ul.tagit li.tagit-choice a.tagit-close:hover {
+ color: #535353;
+}
+
+ul.tagit div.tagit-label.hidden {
+ display: none;
+}
+
+ul.tagit input.tagit-edit {
+ margin: 0px 0px 0px 2px;
+ border: none;
+ line-height: 16px;
+}
+
+ul.tagit input[type="text"] {
+ -moz-box-sizing: border-box;
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: inherit !important;
+ outline: none;
+}
+
+.tagit-hiddenSelect {
+ display:none;
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-green.css b/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-green.css
new file mode 100644
index 000000000..e7dcfc6d0
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-green.css
@@ -0,0 +1,143 @@
+.ui-autocomplete {
+ background-color: #fff;
+ position: absolute;
+ cursor: default;
+ list-style: none;
+ margin: 25px 0 0;
+ padding: 0;
+ border: 1px solid #E5E5E5;
+ border-top: none;
+ border-radius: 0 0 10px 10px;
+ -webkit-box-shadow: 0 3px 5px #888;
+ box-shadow: 0 3px 5px #888;
+ font-size: 12px;
+}
+
+.ui-autocomplete .ui-menu-item {
+ padding: 0;
+ margin: 0;
+}
+
+.ui-autocomplete .ui-menu-item a {
+ display: block;
+ padding: 4px 6px;
+ margin: 0;
+ text-decoration: none;
+ line-height: 12px;
+ border-bottom: 1px solid #E5E5E5;
+ border-top: 1px solid #fff;
+ color: #789d7a;
+
+}
+
+.ui-autocomplete .ui-menu-item a.ui-state-hover,
+.ui-autocomplete .ui-menu-item a.ui-state-active {
+ background-color: #c0e2c0;
+ color: #555;
+ border-color: #a6f7aa;
+}
+
+.ui-autocomplete-loading {
+ background: white url(ui-anim_basic_16x16.gif) right center no-repeat;
+}
+
+ul.tagit {
+ cursor: text;
+ overflow: auto;
+ font-size: 14px;
+ width: 97%;
+ padding: 3px;
+ margin-top: 2px;
+ margin-right: 6px;
+ margin-bottom: 16px;
+ border: 1px solid #E5E5E5;
+ background: #fff;
+ color: #555;
+}
+
+ul.tagit li {
+ border-radius: 5px;
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+}
+
+ul.tagit.ui-sortable li.tagit-choice a.ui-icon.ui-icon-grip-dotted-vertical{
+ float: left;
+ width: 12px;
+ margin-left: -5px;
+ cursor: move;
+}
+
+ul.tagit li.tagit-choice {
+ background-color: #dff8de;
+ border: 1px solid #caf3cd;
+ padding: 2px 13px 3px 4px;
+}
+
+ul.tagit li.tagit-choice.selected {
+ background-color: #f5b0b0;
+ border-color: #f76464;
+}
+
+ul.tagit li.tagit-choice:hover {
+ background-color: #caf3cd;
+ border-color: #6de072;
+}
+
+ul.tagit li.tagit-new {
+ padding: 2px 4px 3px;
+ padding: 2px 4px 1px;
+ padding: 2px 4px 1px 0;
+}
+
+ul.tagit li.tagit-choice input {
+ display: block;
+ float: left;
+ margin: 0 5px 0 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+ul.tagit li.tagit-choice a.tagit-close {
+ color: #777777;
+ cursor: pointer;
+ font-size: 12px;
+ font-weight: bold;
+ outline: medium none;
+ padding: 2px 0 2px 3px;
+ text-decoration: none;
+ position: absolute;
+ display: block;
+ top: 0;
+ right: 3px;
+ text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);
+}
+
+ul.tagit li.tagit-choice a.tagit-close:hover {
+ color: #535353;
+}
+
+ul.tagit div.tagit-label.hidden {
+ display: none;
+}
+
+ul.tagit input.tagit-edit {
+ margin: 0px 0px 0px 2px;
+ border: none;
+ line-height: 16px;
+}
+
+ul.tagit input[type="text"] {
+ -moz-box-sizing: border-box;
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: inherit !important;
+ outline: none;
+}
+
+.tagit-hiddenSelect {
+ display:none;
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-grey.css b/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-grey.css
new file mode 100644
index 000000000..1efb09b90
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/tagit-simple-grey.css
@@ -0,0 +1,143 @@
+.ui-autocomplete {
+ background-color: #fff;
+ position: absolute;
+ cursor: default;
+ list-style: none;
+ margin: 25px 0 0;
+ padding: 0;
+ border: 1px solid #E5E5E5;
+ border-top: none;
+ border-radius: 0 0 10px 10px;
+ -webkit-box-shadow: 0 3px 5px #888;
+ box-shadow: 0 3px 5px #888;
+ font-size: 12px;
+}
+
+.ui-autocomplete .ui-menu-item {
+ padding: 0;
+ margin: 0;
+}
+
+.ui-autocomplete .ui-menu-item a {
+ display: block;
+ padding: 4px 6px;
+ margin: 0;
+ text-decoration: none;
+ line-height: 12px;
+ border-bottom: 1px solid #E5E5E5;
+ border-top: 1px solid #fff;
+ color: #78959D;
+
+}
+
+.ui-autocomplete .ui-menu-item a.ui-state-hover,
+.ui-autocomplete .ui-menu-item a.ui-state-active {
+ background-color: #e3e3e3;
+ color: #555;
+ border-color: #f7f7f7;
+}
+
+.ui-autocomplete-loading {
+ background: white url(ui-anim_basic_16x16.gif) right center no-repeat;
+}
+
+ul.tagit {
+ cursor: text;
+ overflow: auto;
+ font-size: 14px;
+ width: 97%;
+ padding: 3px;
+ margin-top: 2px;
+ margin-right: 6px;
+ margin-bottom: 16px;
+ border: 1px solid #E5E5E5;
+ background: #fff;
+ color: #555;
+}
+
+ul.tagit li {
+ border-radius: 5px;
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+}
+
+ul.tagit.ui-sortable li.tagit-choice a.ui-icon.ui-icon-grip-dotted-vertical{
+ float: left;
+ width: 12px;
+ margin-left: -5px;
+ cursor: move;
+}
+
+ul.tagit li.tagit-choice {
+ background-color: #f7f7f7;
+ border: 1px solid #f2f2f2;
+ padding: 2px 13px 3px 4px;
+}
+
+ul.tagit li.tagit-choice.selected {
+ background-color: #f5b0b0;
+ border-color: #f76464;
+}
+
+ul.tagit li.tagit-choice:hover {
+ background-color: #f2f2f2;
+ border-color: #e0e0e0;
+}
+
+ul.tagit li.tagit-new {
+ padding: 2px 4px 3px;
+ padding: 2px 4px 1px;
+ padding: 2px 4px 1px 0;
+}
+
+ul.tagit li.tagit-choice input {
+ display: block;
+ float: left;
+ margin: 0 5px 0 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+ul.tagit li.tagit-choice a.tagit-close {
+ color: #777777;
+ cursor: pointer;
+ font-size: 12px;
+ font-weight: bold;
+ outline: medium none;
+ padding: 2px 0 2px 3px;
+ text-decoration: none;
+ position: absolute;
+ display: block;
+ top: 0;
+ right: 3px;
+ text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);
+}
+
+ul.tagit li.tagit-choice a.tagit-close:hover {
+ color: #535353;
+}
+
+ul.tagit div.tagit-label.hidden {
+ display: none;
+}
+
+ul.tagit input.tagit-edit {
+ margin: 0px 0px 0px 2px;
+ border: none;
+ line-height: 16px;
+}
+
+ul.tagit input[type="text"] {
+ -moz-box-sizing: border-box;
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: inherit !important;
+ outline: none;
+}
+
+.tagit-hiddenSelect {
+ display:none;
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/tagit-stylish-yellow.css b/public/lb-faveo/plugins/hailhood-tag/css/tagit-stylish-yellow.css
new file mode 100644
index 000000000..829dc7f94
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/tagit-stylish-yellow.css
@@ -0,0 +1,153 @@
+.ui-autocomplete {
+ background-color: #fff;
+ position: absolute;
+ cursor: default;
+ list-style: none;
+ margin: 25px 0 0;
+ padding: 0;
+ border: 1px solid #E5E5E5;
+ border-top: none;
+ border-radius: 0 0 10px 10px;
+ -webkit-box-shadow: 0 3px 5px #888;
+ box-shadow: 0 3px 5px #888;
+ font-size: 12px;
+}
+
+.ui-autocomplete .ui-menu-item {
+ padding: 0;
+ margin: 0;
+}
+
+.ui-autocomplete .ui-menu-item a {
+ display: block;
+ padding: 4px 6px;
+ margin: 0;
+ text-decoration: none;
+ line-height: 12px;
+ border-bottom: 1px solid #E5E5E5;
+ border-top: 1px solid #fff;
+ color: #78959D;
+
+}
+
+.ui-autocomplete .ui-menu-item a.ui-state-hover,
+.ui-autocomplete .ui-menu-item a.ui-state-active {
+ background-color: #c0d1e2;
+ color: #555;
+ border-color: #a6cef7;
+}
+
+.ui-autocomplete-loading {
+ background: white url(ui-anim_basic_16x16.gif) right center no-repeat;
+}
+
+ul.tagit {
+ cursor: text;
+ overflow: auto;
+ font-size: 14px;
+ width: 97%;
+ padding: 3px;
+ margin-top: 2px;
+ margin-right: 6px;
+ margin-bottom: 16px;
+ border: 1px solid #E5E5E5;
+ background: #fff;
+ color: #333;
+}
+
+ul.tagit li {
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+}
+
+ul.tagit.ui-sortable li.tagit-choice a.ui-icon.ui-icon-grip-dotted-vertical{
+ float: left;
+ width: 12px;
+ margin-left: -5px;
+ cursor: move;
+}
+
+ul.tagit li.tagit-choice {
+ background: #FFF5BB;
+ background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0.32,#FFF5BB),color-stop(0.66,#FDF2B1),color-stop(0.83, #FCEE9B));
+ background-image: -moz-linear-gradient(top,#FFF5BB,#FCEE9B);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5bb', endColorstr='#fcee9b');
+ border: 1px solid #F2E598;
+ border-bottom-left-radius: 6px;
+ border-top-right-radius: 6px;
+ padding: 2px 15px 3px 4px;
+ cursor: default;
+}
+
+ul.tagit li.tagit-choice.selected {
+ background: #ff3019; /* old browsers */
+ background: -moz-linear-gradient(top, #ff3019 0%, #cf0404 100%); /* firefox */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff3019), color-stop(100%, #cf0404)); /* webkit */
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ff3019', endColorstr = '#cf0404', GradientType = 0); /* ie */
+ border-color: #f76464;
+}
+
+ul.tagit li.tagit-choice:hover {
+ background: #FFF5BB;
+ background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0.32,#FFF57E),color-stop(0.66,#FDF2B1),color-stop(0.83, #FCEE9B));
+ background-image: -moz-linear-gradient(top,#FFF57E,#FCEE9B);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF57E', endColorstr='#fcee9b');
+}
+
+ul.tagit li.tagit-new {
+ padding: 2px 4px 3px;
+ padding: 2px 4px 1px;
+ padding: 2px 4px 1px 0;
+}
+
+ul.tagit li.tagit-choice input {
+ display: block;
+ float: left;
+ margin: 0 5px 0 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+ul.tagit li.tagit-choice a.tagit-close {
+ color: #111;
+ cursor: pointer;
+ font-size: 12px;
+ font-weight: bold;
+ outline: medium none;
+ padding: 3px 0 2px 3px;
+ text-decoration: none;
+ position: absolute;
+ display: block;
+ top: 0;
+ right: 3px;
+ text-shadow: -1px -1px 0 rgba(150, 150, 0, 0.7);
+}
+
+ul.tagit li.tagit-choice a.tagit-close:hover {
+ color: #f00;
+}
+
+ul.tagit div.tagit-label.hidden {
+ display: none;
+}
+
+ul.tagit input.tagit-edit {
+ margin: 0px 0px 0px 2px;
+ border: none;
+ line-height: 16px;
+}
+
+ul.tagit input[type="text"] {
+ -moz-box-sizing: border-box;
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: inherit !important;
+ outline: none;
+}
+
+.tagit-hiddenSelect {
+ display:none;
+}
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/Aristo.css b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/Aristo.css
new file mode 100644
index 000000000..16c2f1aba
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/Aristo.css
@@ -0,0 +1,735 @@
+/*
+ * jQuery UI CSS Framework 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #B6B6B6; background: #ffffff; color: #4F4F4F; }
+.ui-widget-content a { color: #4F4F4F; }
+.ui-widget-header { border: 1px solid #B6B6B6; color: #4F4F4F; font-weight: bold; }
+.ui-widget-header {
+ background: #ededed url(images/bg_fallback.png) 0 0 repeat-x; /* Old browsers */
+ background: -moz-linear-gradient(top, #ededed 0%, #c4c4c4 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(100%,#c4c4c4)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Opera11.10+ */
+ background: -ms-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* IE10+ */
+ background: linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* W3C */
+}
+.ui-widget-header a { color: #4F4F4F; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B6B6B6; font-weight: normal; color: #4F4F4F; }
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+ background: #ededed url(images/bg_fallback.png) 0 0 repeat-x; /* Old browsers */
+ background: -moz-linear-gradient(top, #ededed 0%, #c4c4c4 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(100%,#c4c4c4)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Opera11.10+ */
+ background: -ms-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* IE10+ */
+ background: linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* W3C */
+ -webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
+ -moz-box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
+ box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
+}
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #4F4F4F; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #9D9D9D; font-weight: normal; color: #313131; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #313131; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
+ outline: none;
+ color: #1c4257; border: 1px solid #7096ab;
+ background: #ededed url(images/bg_fallback.png) 0 -50px repeat-x; /* Old browsers */
+ background: -moz-linear-gradient(top, #b9e0f5 0%, #92bdd6 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b9e0f5), color-stop(100%,#92bdd6)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Opera11.10+ */
+ background: -ms-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* IE10+ */
+ background: linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* W3C */
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #313131; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #d2dbf4; background: #f4f8fd; color: #0d2054; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #e2d0d0; background: #fcf0f0; color: #280b0b; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background: url(images/icon_sprite.png) -16px 0 no-repeat !important; }
+.ui-state-highlight .ui-icon, .ui-state-error .ui-icon { margin-top: -1px; }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background: url(images/icon_sprite.png) 0 0 no-repeat !important; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; }
+.ui-corner-tr { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; }
+.ui-corner-br { -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
+.ui-corner-top { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
+.ui-corner-right { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
+.ui-corner-left { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; }
+.ui-corner-all { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #262b33; opacity: .70;filter:Alpha(Opacity=70); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #000000; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Resizable 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute; font-size: 0.1px; z-index: 999; display: block;}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-header, .ui-accordion .ui-accordion-content { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 12px; font-weight: bold; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }/*
+ * jQuery UI Autocomplete 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete {
+ position: absolute; cursor: default; z-index: 3;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.3);
+ -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.3);
+ box-shadow: 0 1px 5px rgba(0,0,0,0.3);
+}
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+ list-style:none;
+ padding: 2px;
+ margin: 0;
+ display:block;
+ float: left;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+ margin:0;
+ padding: 0;
+ zoom: 1;
+ float: left;
+ clear: left;
+ width: 100%;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration:none;
+ display:block;
+ padding:.2em .4em;
+ line-height:1.5;
+ zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+ background: #5f83b9;
+ color: #FFFFFF;
+ text-shadow: 0px 1px 1px #234386;
+ border-color: #466086;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+}
+/*
+ * jQuery UI Button 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; -webkit-user-select: none; -moz-user-select: none; user-select: none; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; }
+button.ui-button-icons-only { width: 3.7em; }
+
+/* button animation properties */
+.ui-button {
+ -webkit-transition: -webkit-box-shadow 0.25s ease-in-out;
+ -moz-transition: -moz-box-shadow 0.25s ease-in-out;
+ -o-transition: -o-box-shadow 0.25s ease-in-out;
+}
+
+/*states*/
+.ui-button.ui-state-hover {
+ -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
+ -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
+}
+.ui-button.ui-state-focus {
+ outline: none;
+ color: #1c4257;
+ border-color: #7096ab;
+ background: #ededed url(images/bg_fallback.png) 0 -50px repeat-x; /* Old browsers */
+ background: -moz-linear-gradient(top, #b9e0f5 0%, #92bdd6 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b9e0f5), color-stop(100%,#92bdd6)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Opera11.10+ */
+ background: -ms-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* IE10+ */
+ background: linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* W3C */
+ -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
+ -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
+}
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4; font-size: 14px; font-weight: bold; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { font-size: 14px; font-weight: bold; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); padding: 0 1em !important; height: 33px; }
+/*remove submit button internal padding in Firefox*/
+input.ui-button::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/* fix webkits handling of the box model */
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+ input.ui-button {
+ height: 31px !important;
+ }
+}
+
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+.ui-buttonset .ui-button.ui-state-active { color: #1c4257; border-color: #7096ab; }
+.ui-buttonset .ui-button.ui-state-active {
+ background: #ededed url(images/bg_fallback.png) 0 -50px repeat-x; /* Old browsers */
+ background: -moz-linear-gradient(top, #b9e0f5 0%, #92bdd6 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b9e0f5), color-stop(100%,#92bdd6)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Opera11.10+ */
+ background: -ms-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* IE10+ */
+ background: linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* W3C */
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: 0; width: 300px; overflow: hidden; }
+.ui-dialog {
+ -webkit-box-shadow: 0 2px 12px rgba(0,0,0,0.6);
+ -moz-box-shadow: 0 2px 12px rgba(0,0,0,0.6);
+}
+.ui-dialog .ui-dialog-titlebar { padding: 0.7em 1em 0.6em 1em; position: relative; border: none; border-bottom: 1px solid #979797; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; font-size: 14px; text-shadow: 0 1px 0 rgba(255,255,255,0.5); }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .8em; top: 55%; width: 16px; margin: -10px 0 0 0; padding: 0; height: 16px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; background: url(images/icon_sprite.png) 0 -16px no-repeat; }
+.ui-dialog .ui-dialog-titlebar-close:hover span { background-position: -16px -16px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; border: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; background: #d7d7d7; z-index: 1; }
+.ui-slider { -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; }
+.ui-slider .ui-slider-handle { background: url(images/slider_handles.png) 0px -23px no-repeat; position: absolute; z-index: 2; width: 23px; height: 23px; cursor: default; border: none; outline: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
+.ui-slider .ui-state-hover, .ui-slider .ui-state-active { background-position: 0 0; }
+.ui-slider .ui-slider-range { background: #a3cae0; position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+.ui-slider .ui-slider-range { -moz-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; -webkit-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; }
+
+
+.ui-slider-horizontal { height: 5px; }
+.ui-slider-horizontal .ui-slider-handle { top: -8px; margin-left: -13px; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: 5px; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -8px; margin-left: 0; margin-bottom: -13px; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; zoom: 1; border: 0; background: transparent; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: 0; background: transparent; border-width: 0 0 1px 0; }
+.ui-tabs .ui-tabs-nav {
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+}
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; font-size: 12px; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,0.5); }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; background: #fff; border-color: #B6B6B6; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; outline: none; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0 1px 1px 1px; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-panel { background: #FFF;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+}
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: 0; display: none; border-color: #DDDDDD; }
+.ui-datepicker {
+ -moz-box-shadow: 0 4px 8px rgba(0,0,0,0.5);
+ -webkit-box-shadow: 0 4px 8px rgba(0,0,0,0.5);
+ box-shadow: 0 4px 8px rgba(0,0,0,0.5);
+}
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.35em 0; border: none; border-bottom: 1px solid #B6B6B6; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 6px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { border: 1px none; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev span { background-position: 0px -32px !important; }
+.ui-datepicker .ui-datepicker-next span { background-position: -16px -32px !important; }
+.ui-datepicker .ui-datepicker-prev-hover span { background-position: 0px -48px !important; }
+.ui-datepicker .ui-datepicker-next-hover span { background-position: -16px -48px !important; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; background: url(images/icon_sprite.png) no-repeat; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; font-size: 12px; text-shadow: 0 1px 0 rgba(255,255,255,0.6); }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+.ui-datepicker table .ui-state-highlight { border-color: #5F83B9; }
+.ui-datepicker table .ui-state-hover { background: #5F83B9; color: #FFF; font-weight: bold; text-shadow: 0 1px 1px #234386; -webkit-box-shadow: 0 0px 0 rgba(255,255,255,0.6) inset; -moz-box-shadow: 0 0px 0 rgba(255,255,255,0.6) inset; box-shadow: 0 0px 0 rgba(255,255,255,0.6) inset; border-color: #5F83B9; }
+.ui-datepicker-calendar .ui-state-default { background: transparent; border-color: #FFF; }
+.ui-datepicker-calendar .ui-state-active { background: #5F83B9; border-color: #5F83B9; color: #FFF; font-weight: bold; text-shadow: 0 1px 1px #234386; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar 1.8.7
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height: 12px; text-align: left; background: #FFF url(images/progress_bar.gif) 0 -14px repeat-x; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; background: url(images/progress_bar.gif) 0 0 repeat-x; }
+
+/* Extra Input Field Styling */
+.ui-form textarea, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]) {
+ padding: 3px;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ border: 1px solid #cecece;
+ outline: none;
+ -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
+ -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
+ box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
+ -webkit-transition: all 0.25s ease-in-out;
+ -moz-transition: all 0.25 ease-in-out;
+ -o-transition: all 0.25s ease-in-out;
+}
+.ui-form textarea:hover, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):hover {
+ border: 1px solid #bdbdbd;
+ -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
+ -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
+ box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
+}
+.ui-form textarea:focus, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):focus {
+ border: 1px solid #95bdd4;
+ -webkit-box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
+ -moz-box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
+ box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/bg_fallback.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/bg_fallback.png
new file mode 100644
index 000000000..4b2754b80
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/bg_fallback.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/icon_sprite.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/icon_sprite.png
new file mode 100644
index 000000000..636c80f22
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/icon_sprite.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/progress_bar.gif b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/progress_bar.gif
new file mode 100644
index 000000000..156fbb531
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/progress_bar.gif differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/slider_handles.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/slider_handles.png
new file mode 100644
index 000000000..b95a46eca
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/slider_handles.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/ui-icons_222222_256x240.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/ui-icons_222222_256x240.png
new file mode 100644
index 000000000..b273ff111
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/ui-icons_222222_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/ui-icons_454545_256x240.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/ui-icons_454545_256x240.png
new file mode 100644
index 000000000..59bd45b90
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/aristo/images/ui-icons_454545_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/Bootstrap.css b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/Bootstrap.css
new file mode 100644
index 000000000..5cf5c6bd6
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/Bootstrap.css
@@ -0,0 +1,1320 @@
+/*!
+ * jQuery UI Bootstrap (0.22)
+ * http://addyosmani.github.com/jquery-ui-bootstrap
+ *
+ * Copyright 2012, Addy Osmani
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ * Portions copyright jQuery UI & Twitter Bootstrap
+ */
+
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size:13px; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_75_ffffff_1x400.png) 50% 50% repeat-x; color: #404040; }
+.ui-widget-content a { color: #404040; }
+.ui-widget-header {
+ font-weight:bold;
+ border-color: #0064cd #0064cd #003f81;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ border:1px solid #666;
+
+ }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+
+ background-color: #e6e6e6;
+ background-repeat: no-repeat;
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+
+ color: #333;
+ font-size: 13px;
+ line-height: normal;
+ border: 1px solid #ccc;
+ border-bottom-color: #bbb;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -webkit-transition: 0.1s linear background-image;
+ -moz-transition: 0.1s linear background-image;
+ -ms-transition: 0.1s linear background-image;
+ -o-transition: 0.1s linear background-image;
+ transition: 0.1s linear background-image;
+ overflow: visible;
+
+ }
+
+
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
+ background-position: 0 -15px;
+ color: #333;
+ text-decoration: none;
+
+
+ }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; font-weight: normal; color: #212121; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+
+
+.ui-state-highlight p, .ui-state-error p, .ui-state-default p{
+ font-size: 13px;
+ font-weight: normal;
+ line-height: 18px;
+ margin:7px 15px;
+}
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
+
+
+ position: relative;
+ margin-bottom: 18px;
+ color: #404040;
+ background-color: #eedc94;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
+ background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
+ background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
+ background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
+ background-image: -o-linear-gradient(top, #fceec1, #eedc94);
+ background-image: linear-gradient(top, #fceec1, #eedc94);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #eedc94 #eedc94 #e4c652;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ border-width: 1px;
+ border-style: solid;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+
+
+}
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {
+
+
+ position: relative;
+ margin-bottom: 18px;
+ color: #ffffff;
+ border-width: 1px;
+ border-style: solid;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+ background-color: #c43c35;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
+ background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: linear-gradient(top, #ee5f5b, #c43c35);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #c43c35 #c43c35 #882a25;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+
+
+}
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_f6cf3b_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+
+
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Resizable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; font-weight:bold; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.16
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+ list-style:none;
+ padding: 2px;
+ margin: 0;
+ display:block;
+ float: left;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+ margin:0;
+ padding: 0;
+ zoom: 1;
+ float: left;
+ clear: left;
+ width: 100%;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration:none;
+ display:block;
+ padding:.2em .4em;
+ line-height:1.5;
+ zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ background:#0064CD;
+ color:#fff
+}
+
+
+/*
+ * jQuery UI Button 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button {
+
+ cursor: pointer;
+ display: inline-block;
+ background-color: #e6e6e6;
+ background-repeat: no-repeat;
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+ padding: 5px 14px 6px;
+ margin: 0;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+ color: #333;
+ font-size: 13px;
+ line-height: normal;
+ border: 1px solid #ccc;
+ border-bottom-color: #bbb;
+
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -webkit-transition: 0.1s linear background-image;
+ -moz-transition: 0.1s linear background-image;
+ -ms-transition: 0.1s linear background-image;
+ -o-transition: 0.1s linear background-image;
+ transition: 0.1s linear background-image;
+ overflow: visible;
+
+} /* the overflow property removes extra width in IE */
+
+.ui-button-primary {
+ color: #ffffff;
+ background-color: #0064cd;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
+ background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
+ background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -o-linear-gradient(top, #049cdb, #0064cd);
+ background-image: linear-gradient(top, #049cdb, #0064cd);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #0064cd #0064cd #003f81;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+
+}
+
+
+
+.ui-button-success{
+ color:#ffffff;
+ background-color: #57a957;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
+ background-image: -moz-linear-gradient(top, #62c462, #57a957);
+ background-image: -ms-linear-gradient(top, #62c462, #57a957);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
+ background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+ background-image: -o-linear-gradient(top, #62c462, #57a957);
+ background-image: linear-gradient(top, #62c462, #57a957);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #57a957 #57a957 #3d773d;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+
+.ui-button-error{
+ color:#ffffff;
+ background-color: #c43c35;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
+ background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: linear-gradient(top, #ee5f5b, #c43c35);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #c43c35 #c43c35 #882a25;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; }
+button.ui-button-icons-only { width: 3.7em; }
+
+/*button text element */
+
+.ui-button .ui-button-text { display: block; }
+.ui-button-text-only .ui-button-text { }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; /*tempfix*/ display:none;}
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+/* input.ui-button { padding: .4em 1em; } */
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { top: 50%; margin-top:-3px; margin-bottom:3px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+
+
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-state-active {
+ color: #ffffff;
+ background-color: #0064cd;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
+ background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
+ background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -o-linear-gradient(top, #049cdb, #0064cd);
+ background-image: linear-gradient(top, #049cdb, #0064cd);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #0064cd #0064cd #003f81;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.4em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+
+
+
+/*
+ * jQuery UI Dialog 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { /*padding: .4em 1em;*/
+
+ position: relative;
+ padding:5px 15px;
+
+ border:0px 0px 0px 1px solid;
+ border-color: white;
+ padding: 5px 15px;
+ font-size: 18px;
+ text-decoration:none;
+ background:none;
+ -moz-border-radius-bottomright: 0px;
+ -webkit-border-bottom-right-radius: 0px;
+ -khtml-border-bottom-right-radius: 0px;
+
+ -moz-border-radius-bottomleft: 0px;
+ -webkit-border-bottom-left-radius: 0px;
+ -khtml-border-bottom-left-radius: 0px;
+ border-bottom-left-radius: 0px;
+
+ border-bottom:1px solid #ccc;
+
+}
+.ui-dialog .ui-dialog-title {
+ float: left;
+ color:#404040;
+ font-weight:bold;
+ margin-top:5px;
+ margin-bottom:5px;
+ padding:5px;
+
+}
+.ui-dialog .ui-dialog-titlebar-close {
+ position: absolute;
+ right: .3em;
+ top: 50%;
+ width: 19px;
+ margin: -10px 0 0 0;
+ padding: 1px;
+ height: 18px;
+ font-size: 20px;
+ font-weight: bold;
+ line-height: 13.5px;
+ text-shadow: 0 1px 0 #ffffff;
+ filter: alpha(opacity=25);
+ -khtml-opacity: 0.25;
+ -moz-opacity: 0.25;
+ opacity: 0.25;
+}
+
+.ui-dialog .ui-dialog-titlebar-close span {
+ display: block;
+ margin: 1px;
+ text-indent: 9999px;
+}
+
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; filter: alpha(opacity=90);
+ -khtml-opacity: 0.90;
+ -moz-opacity: 0.90;
+ opacity: 0.90; }
+
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+
+.ui-dialog .ui-dialog-buttonpane {
+ text-align: left;
+ border-width: 1px 0 0 0;
+ background-image: none;
+ margin: .5em 0 0 0;
+ background-color: #f5f5f5;
+ padding: 5px 15px 5px;
+ border-top: 1px solid #ddd;
+ -webkit-border-radius: 0 0 6px 6px;
+ -moz-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
+ box-shadow: inset 0 1px 0 #ffffff;
+ zoom: 1;
+ margin-bottom: 0;
+
+}
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+
+.ui-dialog-buttonpane .ui-dialog-buttonset .ui-button{
+ color: #ffffff;
+ background-color: #0064cd;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
+ background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
+ background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -o-linear-gradient(top, #049cdb, #0064cd);
+ background-image: linear-gradient(top, #049cdb, #0064cd);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #0064cd #0064cd #003f81;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+/*
+ * jQuery UI Slider 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0;
+
+ color: #ffffff;
+ background-color: #0064cd;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
+ background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
+ background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -o-linear-gradient(top, #049cdb, #0064cd);
+ background-image: linear-gradient(top, #049cdb, #0064cd);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #0064cd #0064cd #003f81;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+
+}
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+ .ui-tabs .ui-tabs-nav{ background:none; border-color: #ddd;
+ border-style: solid;
+ border-width: 0 0 1px;}
+.ui-tabs { position: relative; padding: .2em; zoom: 1; border:0px;} /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+
+
+.ui-tabs .ui-tabs-nav li:hover, .ui-tabs .ui-tabs-nav li a:hover{
+ background:whiteSmoke;
+ border-bottom:1px solid #ddd;
+ padding-bottom:0px;
+ color:#00438A;
+}
+
+
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; border-bottom:1px solid #DDD; }
+.ui-tabs .ui-tabs-nav li { text-decoration: none; list-style: none; float: left; position: relative; top: 1px; padding: 0px 0px 1px 0px; white-space: nowrap; background:none; border:0px;
+
+}
+
+.ui-tabs-nav .ui-state-default{
+ -webkit-box-shadow: 0px 0px 0px #ffffff; /* Saf3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
+ -moz-box-shadow: 0px 0px 0px #ffffff; /* FF3.5 - 3.6 */
+ box-shadow: 0px 0px 0px #ffffff; /* Opera 10.5, IE9, FF4+, Chrome 6+, iOS 5 */
+}
+.ui-tabs .ui-tabs-nav li a {
+
+ float: left;
+ text-decoration: none;
+ cursor: text;
+ padding: 0 15px;
+ margin-right: 2px;
+ line-height: 34px;
+ border: 1px solid transparent;
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+
+
+ }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 0px; outline:none;}
+
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a {
+
+ background-color: #ffffff;
+ border: 1px solid #ddd;
+ border-bottom-color: #ffffff;
+ cursor: default;
+ color:gray;
+ outline:none;
+}
+
+
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected:hover{
+ background:#ffffff;
+ outline:none;
+}
+
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; color:#0069D6; background:none; font-weight:normal; margin-bottom:-1px;}
+/* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs-panel .ui-button{text-decoration:none;}
+.ui-tabs .ui-tabs-hide { display: none !important; }
+
+
+/* IE fix for background inheritance from ui-widget*/
+.ui-tabs .ui-tabs-nav li{
+ filter:none;
+}
+
+
+
+/*
+ * jQuery UI Datepicker 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; border:0px; font-weight: bold; width: 100%; padding: 4px 0; background-color: #f5f5f5; color: #808080; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { /*top: 1px;*/ }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+
+.ui-datepicker .ui-datepicker-prev-hover { /*left:1px;*/ }
+.ui-datepicker .ui-datepicker-next-hover { /*right:1px;*/ }
+
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}
+
+.ui-datepicker th{
+ font-weight: bold;
+ color: gray;
+}
+
+.ui-datepicker-today a:hover{
+ background-color: #808080;
+ color: #ffffff;
+
+}
+.ui-datepicker-today a{
+ background-color: #BFBFBF;
+ cursor: pointer;
+ padding: 0 4px;
+ margin-bottom:0px;
+
+}
+
+
+.ui-datepicker td a{
+ margin-bottom:0px;
+ border:0px;
+}
+
+.ui-datepicker td:hover{
+ color:white;
+}
+
+.ui-datepicker td .ui-state-default {
+ border:0px;
+ background:none;
+ margin-bottom:0px;
+ padding:5px;
+ color:gray;
+ text-align: center;
+ filter:none;
+}
+
+
+.ui-datepicker td .ui-state-active{
+ background:#BFBFBF;
+ margin-bottom:0px;
+ font-size:normal;
+ text-shadow: 0px;
+ color:white;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.ui-datepicker td .ui-state-default:hover{
+ background:#0064cd;
+ color:white;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+
+/*
+ * jQuery UI Progressbar 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%;
+
+/*this can be removed if ui-widget-header is blue*/
+ color: #ffffff;
+ background-color: #0064cd;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
+ background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
+ background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
+ background-image: -o-linear-gradient(top, #049cdb, #0064cd);
+ background-image: linear-gradient(top, #049cdb, #0064cd);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ border-color: #0064cd #0064cd #003f81;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ }
+
+
+
+/*** Input field styling from Bootstrap **/
+ input, textarea {
+ -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -o-transition: border linear 0.2s, box-shadow linear 0.2s;
+ transition: border linear 0.2s, box-shadow linear 0.2s;
+ -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
+}
+input:focus, textarea:focus {
+ outline: 0;
+ border-color: rgba(82, 168, 236, 0.8);
+ -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+ -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
+}
+input[type=file]:focus, input[type=checkbox]:focus, select:focus {
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ outline: 1px dotted #666;
+}
+
+input[type="text"],
+input[type="password"],
+.ui-autocomplete-input,
+textarea,
+.uneditable-input {
+ display: inline-block;
+ padding: 4px;
+ font-size: 13px;
+ line-height: 18px;
+ color: #808080;
+ border: 1px solid #ccc;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+
+
+
+/**Toolbar**/
+
+.ui-toolbar{
+ padding: 7px 14px;
+ margin: 0 0 18px;
+ background-color: #f5f5f5;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
+ background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
+ background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: linear-gradient(top, #ffffff, #f5f5f5);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
+ border: 1px solid #ddd;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
+ box-shadow: inset 0 1px 0 #ffffff;
+}
+
+
+/***Dialog fixes**/
+
+.ui-dialog-buttonset .ui-button:nth-child(2){
+ cursor: pointer;
+ display: inline-block;
+ background-color: #e6e6e6;
+ background-repeat: no-repeat;
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+ padding: 5px 14px 6px;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+ color: #333;
+ font-size: 13px;
+ line-height: normal;
+ border: 1px solid #ccc;
+ border-bottom-color: #bbb;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -webkit-transition: 0.1s linear all;
+ -moz-transition: 0.1s linear all;
+ -ms-transition: 0.1s linear all;
+ -o-transition: 0.1s linear all;
+ transition: 0.1s linear all;
+ overflow: visible;
+}
+
+
+
+/***Wijmo Theming**/
+
+div.wijmo-wijmenu{
+ padding:0 20px;
+ background-color: #222;
+ background-color: #222222;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
+ background-image: -moz-linear-gradient(top, #333333, #222222);
+ background-image: -ms-linear-gradient(top, #333333, #222222);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));
+ background-image: -webkit-linear-gradient(top, #333333, #222222);
+ background-image: -o-linear-gradient(top, #333333, #222222);
+ background-image: linear-gradient(top, #333333, #222222);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+
+.wijmo-wijmenu .ui-state-default{
+ box-shadow: none;
+ color:#BFBFBF;
+}
+
+.wijmo-wijmenu .ui-state-default .wijmo-wijmenu-text{
+ color:#BFBFBF;
+}
+
+.wijmo-wijmenu .ui-state-hover{
+ background: #444;
+ background: rgba(255, 255, 255, 0.05);
+}
+
+.wijmo-wijmenu .ui-state-hover .wijmo-wijmenu-text{
+ color:#ffffff;
+}
+
+div.wijmo-wijmenu .ui-widget-header h3{
+ position: relative;
+ margin-top:1px;
+ padding:0;
+}
+
+.wijmo-wijmenu h3 a{
+ color: #FFFFFF;
+ display: block;
+ float: left;
+ font-size: 20px;
+ font-weight: 200;
+ line-height: 1;
+ margin-left: -20px;
+ margin-top:1px;
+ padding: 8px 20px 12px;
+}
+
+.wijmo-wijmenu h3 a:hover{
+ background-color: rgba(255, 255, 255, 0.05);
+ color: #FFFFFF;
+ text-decoration: none;
+}
+
+.wijmo-wijmenu .ui-widget-header{
+ border:0px;
+}
+
+.wijmo-wijmenu .wijmo-wijmenu-parent .wijmo-wijmenu-child{
+ padding: 0.3em 0;
+}
+
+div.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-child{
+ background: #333;
+ border:0;
+ margin:0;
+ padding: 6px 0;
+ width:160px;
+ -webkit-border-radius: 0 0 6px 6px;
+ -moz-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+ -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+}
+
+div.wijmo-wijmenu .wijmo-wijmenu-item{
+ margin:0;
+ border:0;
+}
+
+.wijmo-wijmenu a.wijmo-wijmenu-link{
+ margin:0;
+ line-height: 19px;
+ padding: 10px 10px 11px;
+ border:0;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius:0;
+}
+
+div.wijmo-wijmenu .wijmo-wijmenu-child .wijmo-wijmenu-link{
+ display:block;
+ float:none;
+ padding: 4px 15px;
+ width:auto;
+}
+
+div.wijmo-wijmenu .wijmo-wijmenu-child .wijmo-wijmenu-text
+{
+ float:none;
+}
+
+.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-child .ui-state-hover {
+ background: #191919;
+}
+
+.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-separator{
+ padding: 5px 0;
+ background-image: none;
+ background-color: #222;
+ border-top: 1px solid #444;
+ border-bottom:0;
+ border-left:0;
+ border-right:0;
+}
+
+.wijmo-wijmenu .wijmo-wijmenu-item input {
+ -moz-transition: none 0s ease 0s;
+ background-color: rgba(255, 255, 255, 0.3);
+ border: 1px solid #111111;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 rgba(255, 255, 255, 0.25);
+ color: rgba(255, 255, 255, 0.75);
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
+ line-height: 1;
+ margin: 5px 10px 0 10px;
+ padding: 4px 9px;
+ width:100px;
+}
+
+.wijmo-wijmenu .wijmo-wijmenu-item input:hover {
+ background-color: rgba(255, 255, 255, 0.5);
+ color: #FFFFFF;
+}
+
+.wijmo-wijmenu .wijmo-wijmenu-item input:focus {
+ background-color: #FFFFFF;
+ border: 0 none;
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ color: #404040;
+ outline: 0 none;
+ padding: 5px 10px;
+ text-shadow: 0 1px 0 #FFFFFF;
+}
+
+
+.wijmo-wijmenu .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+ text-shadow:none;
+}
+
+
+.wijmo-wijmenu .ui-state-default{
+ box-shadow: none;
+ color:#BFBFBF;
+ filter: none;
+}
+
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_flat_0_aaaaaa_40x100.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 000000000..5b5dab2ab
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_55_fbf9ee_1x400.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 000000000..ad3d6346e
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_55_fbf9ee_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_65_ffffff_1x400.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 000000000..42ccba269
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_65_ffffff_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_dadada_1x400.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 000000000..5a46b47cb
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_dadada_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_e6e6e6_1x400.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 000000000..86c2baa65
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_e6e6e6_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_ffffff_1x400.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_ffffff_1x400.png
new file mode 100644
index 000000000..e65ca1297
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_glass_75_ffffff_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 000000000..7c9fa6c6e
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_inset-soft_95_fef1ec_1x100.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_inset-soft_95_fef1ec_1x100.png
new file mode 100644
index 000000000..0e05810ff
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-bg_inset-soft_95_fef1ec_1x100.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_222222_256x240.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_222222_256x240.png
new file mode 100644
index 000000000..b273ff111
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_222222_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_2e83ff_256x240.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 000000000..09d1cdc85
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_2e83ff_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_454545_256x240.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_454545_256x240.png
new file mode 100644
index 000000000..59bd45b90
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_454545_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_888888_256x240.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_888888_256x240.png
new file mode 100644
index 000000000..6d02426c1
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_888888_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_cd0a0a_256x240.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 000000000..2ab019b73
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_cd0a0a_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_f6cf3b_256x240.png b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_f6cf3b_256x240.png
new file mode 100644
index 000000000..c9869351a
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/bootstrap/images/ui-icons_f6cf3b_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/themeroller/tagit.css b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/tagit.css
new file mode 100644
index 000000000..f388a0fff
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/css/themeroller/tagit.css
@@ -0,0 +1,92 @@
+ul.tagit.ui-widget{
+ overflow: auto;
+ list-style-type: none;
+ padding: 1px 5px;
+}
+
+ul.tagit.ui-widget li.tagit-choice{
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+ line-height: inherit;
+ padding: .2em 11px .2em .5em;
+}
+
+ul.tagit.ui-widget li.tagit-new{
+ display: block;
+ float: left;
+ margin: 2px 5px 2px 0;
+ position: relative;
+ line-height: inherit;
+ padding: .2em 0;
+}
+
+ul.tagit.ui-widget li.tagit-choice.ui-state-error {
+ border-radius: 0;
+}
+
+ul.tagit.ui-widget li.tagit-choice a.tagit-close{
+ cursor: pointer;
+ position: absolute;
+ right: 2px;
+ top: 50%;
+ margin-top: -8px;
+}
+
+ul.tagit div.tagit-label.hidden {
+ display: none;
+}
+
+ul.tagit input.tagit-edit {
+ margin: 0px 0px 0px 2px;
+ border: none;
+ line-height: 16px;
+}
+
+ul.tagit input[type="text"] {
+ -moz-box-sizing: border-box;
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: inherit !important;
+ outline: none;
+}
+
+ul.tagit.ui-widget li.tagit-new input[type="text"].tagit-input,
+ul.tagit.ui-widget li.tagit-new input[type="text"].tagit-input:active,
+ul.tagit.ui-widget li.tagit-new input[type="text"].tagit-input:hover,
+ul.tagit.ui-widget li.tagit-new input[type="text"].tagit-input:focus{
+ box-sizing: border-box;
+ border: none;
+ margin: 0;
+ padding: 0;
+ width: inherit;
+ background-color: inherit;
+ outline: none;
+ display: block;
+ border-radius: 0;
+ box-shadow: none;
+}
+
+ul.ui-autocomplete.custom-ac{
+ width: 760px;
+}
+
+ul.ui-autocomplete li.ui-menu-item.ac-item{
+ float: left;
+ width: 253px;
+ clear: none;
+}
+
+ul.ui-autocomplete li.ui-menu-item.ac-item div.ui-widget-content{
+ font-size: 85%;
+ height: 80px;
+ overflow: auto;
+ padding: 3px;
+
+}
+
+.tagit-hiddenSelect {
+ display:none;
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/css/ui-anim_basic_16x16.gif b/public/lb-faveo/plugins/hailhood-tag/css/ui-anim_basic_16x16.gif
new file mode 100644
index 000000000..085ccaeca
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/css/ui-anim_basic_16x16.gif differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/demo.css b/public/lb-faveo/plugins/hailhood-tag/demo/css/demo.css
new file mode 100644
index 000000000..e5ec6ab46
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/demo/css/demo.css
@@ -0,0 +1,245 @@
+body {
+ margin: 0;
+ padding: 0;
+ font-family: Helvetica;
+ background-color: #396884;
+ font-size: 12px;
+}
+
+.tr {
+ width: 200px;
+}
+
+#switcher.notr a:active,
+#switcher.notr a:visited,
+#switcher.notr a {
+ text-decoration: none;
+ color: #fff;
+ font-size: 14px;
+ font-weight: bold;
+ text-align: center;
+ padding: 5px;
+ background-color: rgba(0, 0, 0, 0.5);
+ border-radius: 5px;
+ box-shadow: 2px 2px 2px rgba(255, 255, 255, 0.2), -2px -2px 2px rgba(0, 0, 0, 0.2);
+ display: block;
+}
+
+#switcher.notr a:hover {
+ background-color: rgba(0, 0, 0, 0.6);
+}
+
+#switcher_parent {
+ position: fixed;
+ top: 10px;
+ right: 10px;
+}
+
+#wrap {
+ width: 800px;
+ margin: 20px auto;
+ padding: 16px;
+ font-weight: normal;
+ -khtml-border-radius: 11px;
+ -webkit-border-radius: 11px;
+ border-radius: 5px;
+ background: #fff;
+ border: 1px solid #e5e5e5;
+ -webkit-box-shadow: rgba(200, 200, 200, 1) 0 4px 18px;
+ -khtml-box-shadow: rgba(200, 200, 200, 1) 0 4px 18px;
+ box-shadow: rgba(200, 200, 200, 1) 0 4px 18px;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #1a3c73;
+ padding-bottom: 10px;
+ padding-top: 15px;
+ margin-bottom: 0;
+ font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
+}
+
+#description {
+ margin-bottom: 20px;
+}
+
+.blue {
+ text-decoration:underline;;
+ color:Blue;
+}
+
+.box {
+ padding: 10px;
+ font-size: 12px;
+ border-radius: 2px;
+ background: #f3f3f3;
+ color: #4f6f95;
+ border: 1px solid #e5e5e5;
+}
+
+.note {
+ border: 1px solid #7a8fa9;
+ background: #fef1ec;
+ margin: 5px 0;
+ border-radius: 2px;
+ padding: 3px;
+}
+
+.code {
+ background-color: #eee;
+ border: 1px solid #eee;
+ color: #000;
+}
+
+.code .wrap {
+ font-family: monospace;
+ white-space: pre;
+}
+
+.box:hover .code {
+ background-color: #fff;
+ border-color: #92b5de;
+}
+
+.code .blue {
+ color: #2c4bc1;
+}
+
+.code .red {
+ color: #c12c2c;
+}
+
+.code .green {
+ color: #14730d;
+}
+
+.features {
+ font-size: 14px;
+}
+
+.features ul li {
+ margin-bottom: 5px;
+}
+
+table {
+ width: 100%;
+ border: 1px solid #e5eff8;
+ margin: 0 auto;
+ border-collapse: collapse;
+ background-color: #fff;
+ -webkit-box-shadow: rgba(200, 200, 200, 1) 0 4px 4px;
+ -khtml-box-shadow: rgba(200, 200, 200, 1) 0 4px 4px;
+ box-shadow: rgba(200, 200, 200, 1) 0 4px 4px;
+ font-size: 11px;
+}
+
+.box:hover table {
+ border-color: #9fccf4;
+}
+
+tr.odd td {
+ background: #f7fbff
+}
+
+tr:hover td {
+ background-color: #bddaf4;
+ color: #1d4b74;
+}
+
+td {
+ color: #678197;
+ border-bottom: 1px solid #e5eff8;
+ border-left: 1px solid #e5eff8;
+ padding: .7em 1em;
+}
+
+td.left {
+ text-align: left;
+}
+
+th {
+ font-weight: normal;
+ color: #678197;
+ text-align: left;
+ border-bottom: 1px solid #e5eff8;
+ border-left: 1px solid #e5eff8;
+ padding: .3em 1em;
+}
+
+thead th {
+ background: #f4f9fe;
+ font: bold 1.2em/2em "Century Gothic", "Trebuchet MS", Arial, Helvetica, sans-serif;
+ color: #66a3d3
+}
+
+.browser {
+ width: 138px;
+ height: 138px;
+ float: left;
+ margin-right: 22px;
+ position: relative;
+ border-radius: 5px;
+}
+
+.browser:hover {
+ background-color: #d5e0fe;
+}
+
+.browser a {
+ display: block;
+ height: 100%;
+ width: 100%;
+ margin: 5px;
+ text-decoration: none;
+}
+
+.browser a div {
+ top: 50%;
+ display: none;
+ background-color: rgba(0, 0, 0, 0.8);
+ /*background-color: #000000;*/
+ text-align: center;
+ height: 25px;
+ line-height: 25px;
+ position: absolute;
+ width: 128px;
+ border-radius: 5px;
+ box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
+ border: 1px solid #82bac9;
+ color: #fff;
+ font-size: 10px;
+ text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.2);
+ text-decoration: none;
+}
+
+#firefox {
+ background: url('../images/browsers/firefox.png') no-repeat;
+}
+
+#chrome {
+ background: url('../images/browsers/chrome.png') no-repeat;
+}
+
+#ie {
+ background: url('../images/browsers/ie.png') no-repeat;
+}
+
+#opera {
+ background: url('../images/browsers/opera.png') no-repeat;
+}
+
+#safari {
+ background: url('../images/browsers/safari.png') no-repeat;
+}
+
+.box a {
+ text-decoration: none;
+ color: #4c91df;
+}
+
+.box a:hover {
+ color: #9fc4ed;
+}
+
+select.tagit-hiddenSelect {
+ display: inline-block !important;
+}
\ No newline at end of file
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 000000000..5b5dab2ab
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_flat_75_ffffff_40x100.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644
index 000000000..ac8b229af
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_flat_75_ffffff_40x100.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_55_fbf9ee_1x400.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 000000000..ad3d6346e
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_55_fbf9ee_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_65_ffffff_1x400.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 000000000..42ccba269
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_65_ffffff_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_75_dadada_1x400.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 000000000..5a46b47cb
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_75_dadada_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_75_e6e6e6_1x400.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 000000000..86c2baa65
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_75_e6e6e6_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_95_fef1ec_1x400.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 000000000..4443fdc1a
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_glass_95_fef1ec_1x400.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 000000000..7c9fa6c6e
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_222222_256x240.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_222222_256x240.png
new file mode 100644
index 000000000..ee039dc09
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_222222_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_2e83ff_256x240.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 000000000..45e8928e5
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_2e83ff_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_454545_256x240.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_454545_256x240.png
new file mode 100644
index 000000000..7ec70d11b
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_454545_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_888888_256x240.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_888888_256x240.png
new file mode 100644
index 000000000..5ba708c39
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_888888_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_cd0a0a_256x240.png b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 000000000..7930a5580
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/css/images/ui-icons_cd0a0a_256x240.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/css/jquery-ui-base-1.8.20.css b/public/lb-faveo/plugins/hailhood-tag/demo/css/jquery-ui-base-1.8.20.css
new file mode 100644
index 000000000..2cf7d0d4a
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/demo/css/jquery-ui-base-1.8.20.css
@@ -0,0 +1,351 @@
+/*!
+ * jQuery UI CSS Framework 1.8.20
+ *
+ * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
+.ui-helper-clearfix:after { clear: both; }
+.ui-helper-clearfix { zoom: 1; }
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+/*!
+ * jQuery UI Selectable 1.8.20
+ *
+ * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+
+/*!
+ * jQuery UI Autocomplete 1.8.20
+ *
+ * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.20
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+ list-style:none;
+ padding: 2px;
+ margin: 0;
+ display:block;
+ float: left;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+ margin:0;
+ padding: 0;
+ zoom: 1;
+ float: left;
+ clear: left;
+ width: 100%;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration:none;
+ display:block;
+ padding:.2em .4em;
+ line-height:1.5;
+ zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+
+/*!
+ * jQuery UI CSS Framework 1.8.20
+ *
+ * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; }
+.ui-widget-content a { color: #222222/*{fcContent}*/; }
+.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; }
+.ui-widget-header a { color: #222222/*{fcHeader}*/; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; }
+.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; }
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/chrome.png b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/chrome.png
new file mode 100644
index 000000000..235b48870
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/chrome.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/firefox.png b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/firefox.png
new file mode 100644
index 000000000..c69afe60d
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/firefox.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/ie.png b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/ie.png
new file mode 100644
index 000000000..26a126745
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/ie.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/opera.png b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/opera.png
new file mode 100644
index 000000000..d7ef70bc1
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/opera.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/safari.png b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/safari.png
new file mode 100644
index 000000000..f16cd315a
Binary files /dev/null and b/public/lb-faveo/plugins/hailhood-tag/demo/images/browsers/safari.png differ
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/js/jquery-ui.1.8.20.min.js b/public/lb-faveo/plugins/hailhood-tag/demo/js/jquery-ui.1.8.20.min.js
new file mode 100644
index 000000000..9eacba125
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/demo/js/jquery-ui.1.8.20.min.js
@@ -0,0 +1,93 @@
+/*! jQuery UI - v1.8.20 - 2012-04-30
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.core.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.20",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.20 - 2012-04-30
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.position.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.20 - 2012-04-30
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.draggable.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!this.element.data("draggable"))return;return this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(b),this.handle?(c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.helper.addClass("ui-draggable-dragging"),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";return a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);var d=this.element[0],e=!1;while(d&&(d=d.parentNode))d==document&&(e=!0);if(!e&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var f=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){f._trigger("stop",b)!==!1&&f._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){return this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;return a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)}),c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.lefth[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.toph[3]?j-this.offset.click.toph[2]?k-this.offset.click.left=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f=k&&g<=l||h>=k&&h<=l||gl)&&(e>=i&&e<=j||f>=i&&f<=j||ej);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();g:for(var h=0;h")},destroy:function(){return this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy(),this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(this.options.disabled)return;var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");return d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element}),!1}})},_mouseDrag:function(b){var c=this;this.dragged=!0;if(this.options.disabled)return;var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}return this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!i||i.element==c.element[0])return;var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.righth||i.bottome&&i.rightf&&i.bottom *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f)return e=a(this),!1});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}return this.currentItem=e,this._removeCurrentsFromItems(),!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(!b)return;a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+jf&&b+ka[this.floating?"width":"height"]?l:f0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return e||(b.style.visibility="hidden"),b},update:function(a,b){if(e&&!d.forcePlaceholderSize)return;b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.items[i][this.containers[d].floating?"left":"top"];Math.abs(j-h)this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.topthis.containment[3]?h-this.offset.click.topthis.containment[2]?i-this.offset.click.left=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length").data("item.autocomplete",c).append(a(" ").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;return b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;return b.parent().is(".ui-effects-wrapper")?(c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus(),c):b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];return a.fx.off||!i?h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)}):i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="show",this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="hide",this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);return c[1].mode="toggle",this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}}),a.easing.jswing=a.easing.swing,a.extend(a.easing,{def:"easeOutQuad",swing:function(b,c,d,e,f){return a.easing[a.easing.def](b,c,d,e,f)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b+c:-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){return b==0?c:b==e?c+d:(b/=e/2)<1?d/2*Math.pow(2,10*(b-1))+c:d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){return(b/=e/2)<1?-d/2*(Math.sqrt(1-b*b)-1)+c:d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*! jQuery UI - v1.8.20 - 2012-04-30
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.effects.fade.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.20 - 2012-04-30
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.effects.fold.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.20 - 2012-04-30
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.effects.highlight.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.20 - 2012-04-30
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.effects.pulsate.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show"),e=(b.options.times||5)*2-1,f=b.duration?b.duration/2:a.fx.speeds._default/2,g=c.is(":visible"),h=0;g||(c.css("opacity",0).show(),h=1),(d=="hide"&&g||d=="show"&&!g)&&e--;for(var i=0;i').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;
diff --git a/public/lb-faveo/plugins/hailhood-tag/demo/js/jquery.1.7.2.min.js b/public/lb-faveo/plugins/hailhood-tag/demo/js/jquery.1.7.2.min.js
new file mode 100644
index 000000000..562789642
--- /dev/null
+++ b/public/lb-faveo/plugins/hailhood-tag/demo/js/jquery.1.7.2.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.7.2 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;ca ",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q=""+"",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
+a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c ",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML=" ",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="
";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/ ]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*"," "],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div","
"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
+.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>$2>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/
+
+@stop
\ No newline at end of file
diff --git a/resources/views/themes/default1/admin/helpdesk/agent/agents/create.blade.php b/resources/views/themes/default1/admin/helpdesk/agent/agents/create.blade.php
index 157dd0c01..1bfb7f8c0 100644
--- a/resources/views/themes/default1/admin/helpdesk/agent/agents/create.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/agent/agents/create.blade.php
@@ -132,14 +132,12 @@ class="active"
{!! Form::label('phone_number',Lang::get('lang.phone')) !!}
-
- {!! Form::input('number','phone_number',null,['class' => 'form-control', 'id' => 'phone_number']) !!}
+ {!! Form::text('phone_number',null,['class' => 'form-control']) !!}
{!! Form::label('mobile',Lang::get('lang.mobile_number')) !!}@if($send_otp->status ==1) * @endif
-
- {!! Form::input('number','mobile',null,['class' => 'form-control', 'id' => 'mobile']) !!}
+ {!! Form::input('number', 'mobile',null,['class' => 'form-control']) !!}
@@ -187,11 +185,14 @@ class="active"
{!! Form::label('assign_group',Lang::get('lang.assigned_group')) !!} *
{!!Form::select('group',[''=>Lang::get('lang.select_a_group'),Lang::get('lang.groups')=>$groups->lists('name','id')->toArray()],null,['class' => 'form-control select']) !!}
-
+
+
- {!! Form::label('primary_dpt',Lang::get('lang.primary_department')) !!} *
- {!! Form::select('primary_department', [''=>Lang::get('lang.select_a_department'),Lang::get('lang.departments')=>$departments->lists('name','id')->toArray()],null,['class' => 'form-control select']) !!}
+ {!! Form::label('primary_dpt', Lang::get('lang.primary_department')) !!} *
+
+ {!!Form::select('primary_department', [''=>Lang::get('lang.select_a_department'), Lang::get('lang.departments')=>$departments->lists('name','id')->toArray()],'',['class' => 'form-control select']) !!}
+
{!! Form::label('agent_tzone',Lang::get('lang.agent_time_zone')) !!} *
@@ -218,4 +219,14 @@ class="active"
{!!Form::close()!!}
+
+
+
+
+
@stop
\ No newline at end of file
diff --git a/resources/views/themes/default1/admin/helpdesk/agent/agents/edit.blade.php b/resources/views/themes/default1/admin/helpdesk/agent/agents/edit.blade.php
index d69b5e7f9..78f26640f 100644
--- a/resources/views/themes/default1/admin/helpdesk/agent/agents/edit.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/agent/agents/edit.blade.php
@@ -155,8 +155,7 @@ class="active"
{!! Form::label('phone_number',Lang::get('lang.phone')) !!}
-
- {!! Form::input('number','phone_number',null,['class' => 'form-control', 'id' => 'phone_number']) !!}
+ {!! Form::text('phone_number',null,['class' => 'form-control']) !!}
@@ -164,9 +163,8 @@ class="active"
{!! Form::label('mobile',Lang::get('lang.mobile_number')) !!}
- {!! Form::input('number','mobile',null,['class' => 'form-control', 'id' => 'mobile']) !!}
-
+ {!! Form::input('number', 'mobile',null,['class' => 'form-control']) !!}
diff --git a/resources/views/themes/default1/admin/helpdesk/agent/agents/index.blade.php b/resources/views/themes/default1/admin/helpdesk/agent/agents/index.blade.php
index 51d99092b..50a10b3bd 100644
--- a/resources/views/themes/default1/admin/helpdesk/agent/agents/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/agent/agents/index.blade.php
@@ -29,7 +29,8 @@ class="active"
@section('content')
orderBy('id', 'ASC')->paginate(10);
diff --git a/resources/views/themes/default1/admin/helpdesk/agent/departments/index.blade.php b/resources/views/themes/default1/admin/helpdesk/agent/departments/index.blade.php
index 2f8c61561..56fcc1312 100644
--- a/resources/views/themes/default1/admin/helpdesk/agent/departments/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/agent/departments/index.blade.php
@@ -30,7 +30,7 @@ class="active"
@section('content')
@if(Session::has('success'))
diff --git a/resources/views/themes/default1/admin/helpdesk/agent/groups/index.blade.php b/resources/views/themes/default1/admin/helpdesk/agent/groups/index.blade.php
index 2a96c1d16..6734ede3b 100644
--- a/resources/views/themes/default1/admin/helpdesk/agent/groups/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/agent/groups/index.blade.php
@@ -31,7 +31,7 @@ class="active"
@if(Session::has('success'))
diff --git a/resources/views/themes/default1/admin/helpdesk/agent/teams/create.blade.php b/resources/views/themes/default1/admin/helpdesk/agent/teams/create.blade.php
index dca50dfbb..a906686ef 100644
--- a/resources/views/themes/default1/admin/helpdesk/agent/teams/create.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/agent/teams/create.blade.php
@@ -61,6 +61,7 @@ class="active"
{!! Form::label('team_lead',Lang::get('lang.team_lead')) !!}
+ orWhere('role', 'agent')->get(); ?>
{!! Form::select('team_lead',[''=>Lang::get('lang.select_a_team_lead'), Lang::get('lang.members')=>$user->lists('full_name','id')->toArray()],null,['class' => 'form-control']) !!}
diff --git a/resources/views/themes/default1/admin/helpdesk/agent/teams/edit.blade.php b/resources/views/themes/default1/admin/helpdesk/agent/teams/edit.blade.php
index 2401f0cc7..c835b58db 100644
--- a/resources/views/themes/default1/admin/helpdesk/agent/teams/edit.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/agent/teams/edit.blade.php
@@ -60,6 +60,7 @@ class="active"
{!! Form::label('team_lead',Lang::get('lang.team_lead')) !!}
+ orWhere('role', 'agent')->get(); ?>
{!! Form::select('team_lead',[''=>Lang::get('lang.select_a_team_lead'), Lang::get('lang.members')=>$user->lists('full_name','id')->toArray()],null,['class' => 'form-control']) !!}
diff --git a/resources/views/themes/default1/admin/helpdesk/agent/teams/index.blade.php b/resources/views/themes/default1/admin/helpdesk/agent/teams/index.blade.php
index 463b78928..df143dc92 100644
--- a/resources/views/themes/default1/admin/helpdesk/agent/teams/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/agent/teams/index.blade.php
@@ -31,7 +31,7 @@ class="active"
@if(Session::has('success'))
diff --git a/resources/views/themes/default1/admin/helpdesk/emails/emails/index.blade.php b/resources/views/themes/default1/admin/helpdesk/emails/emails/index.blade.php
index f18ac3409..0e598d372 100644
--- a/resources/views/themes/default1/admin/helpdesk/emails/emails/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/emails/emails/index.blade.php
@@ -32,7 +32,7 @@ class="active"
diff --git a/resources/views/themes/default1/admin/helpdesk/emails/template/create.blade.php b/resources/views/themes/default1/admin/helpdesk/emails/template/create.blade.php
index ad6a4e35b..20c02f0ed 100644
--- a/resources/views/themes/default1/admin/helpdesk/emails/template/create.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/emails/template/create.blade.php
@@ -8,7 +8,7 @@ active
active
@stop
-@section('template')
+@section('emails')
class="active"
@stop
diff --git a/resources/views/themes/default1/admin/helpdesk/emails/template/edit.blade.php b/resources/views/themes/default1/admin/helpdesk/emails/template/edit.blade.php
index cf00f5c08..93463c450 100644
--- a/resources/views/themes/default1/admin/helpdesk/emails/template/edit.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/emails/template/edit.blade.php
@@ -8,7 +8,7 @@ active
active
@stop
-@section('template')
+@section('emails')
class="active"
@stop
diff --git a/resources/views/themes/default1/admin/helpdesk/emails/template/index.blade.php b/resources/views/themes/default1/admin/helpdesk/emails/template/index.blade.php
index de6cdd917..1da78fc0e 100644
--- a/resources/views/themes/default1/admin/helpdesk/emails/template/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/emails/template/index.blade.php
@@ -8,7 +8,7 @@ active
active
@stop
-@section('template')
+@section('emails')
class="active"
@stop
diff --git a/resources/views/themes/default1/admin/helpdesk/emails/template/listdirectories.blade.php b/resources/views/themes/default1/admin/helpdesk/emails/template/listdirectories.blade.php
index 2255e19d9..f8cece0a0 100644
--- a/resources/views/themes/default1/admin/helpdesk/emails/template/listdirectories.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/emails/template/listdirectories.blade.php
@@ -8,7 +8,7 @@ active
active
@stop
-@section('template')
+@section('emails')
class="active"
@stop
diff --git a/resources/views/themes/default1/admin/helpdesk/emails/template/listtemplates.blade.php b/resources/views/themes/default1/admin/helpdesk/emails/template/listtemplates.blade.php
index fe2e9aea3..4a37d14be 100644
--- a/resources/views/themes/default1/admin/helpdesk/emails/template/listtemplates.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/emails/template/listtemplates.blade.php
@@ -8,7 +8,7 @@ active
active
@stop
-@section('template')
+@section('emails')
class="active"
@stop
diff --git a/resources/views/themes/default1/admin/helpdesk/label/create.blade.php b/resources/views/themes/default1/admin/helpdesk/label/create.blade.php
new file mode 100644
index 000000000..15ad16680
--- /dev/null
+++ b/resources/views/themes/default1/admin/helpdesk/label/create.blade.php
@@ -0,0 +1,142 @@
+@extends('themes.default1.admin.layout.admin')
+
+@section('Tickets')
+active
+@stop
+
+@section('manage-bar')
+active
+@stop
+
+@section('labels')
+class="active"
+@stop
+
+@section('HeadInclude')
+@stop
+
+@section('PageHeader')
+
Labels
+@stop
+
+
+@section('breadcrumbs')
+
+
+@stop
+
+
+@section('content')
+
+@if(Session::has('success'))
+
+
+ ×
+ {{Session::get('success')}}
+
+@endif
+@if(Session::has('fails'))
+
+ ×
+ {{Session::get('fails')}}
+
+@endif
+ @if(Session::has('errors'))
+
+
+
+ {!! Lang::get('lang.alert') !!}!
+ ×
+
+ @if($errors->first('title'))
+
{!! $errors->first('title', ':message') !!}
+ @endif
+ @if($errors->first('color'))
+ {!! $errors->first('color', ':message') !!}
+ @endif
+ @if($errors->first('order'))
+ {!! $errors->first('order', ':message') !!}
+ @endif
+
+ @endif
+@if(Session::has('warn'))
+
+ ×
+ {{Session::get('warn')}}
+
+@endif
+
+@stop
+@section('FooterInclude')
+
+
+
+@stop
\ No newline at end of file
diff --git a/resources/views/themes/default1/admin/helpdesk/label/edit.blade.php b/resources/views/themes/default1/admin/helpdesk/label/edit.blade.php
new file mode 100644
index 000000000..e41ecfcd7
--- /dev/null
+++ b/resources/views/themes/default1/admin/helpdesk/label/edit.blade.php
@@ -0,0 +1,142 @@
+@extends('themes.default1.admin.layout.admin')
+
+@section('Tickets')
+active
+@stop
+
+@section('manage-bar')
+active
+@stop
+
+@section('labels')
+class="active"
+@stop
+
+@section('HeadInclude')
+@stop
+
+@section('PageHeader')
+
Labels
+@stop
+
+
+@section('breadcrumbs')
+
+
+@stop
+
+
+@section('content')
+
+@if(Session::has('success'))
+
+
+ ×
+ {{Session::get('success')}}
+
+@endif
+@if(Session::has('fails'))
+
+ ×
+ {{Session::get('fails')}}
+
+@endif
+@if(Session::has('errors'))
+
+
+
+ {!! Lang::get('lang.alert') !!}!
+ ×
+
+ @if($errors->first('title'))
+
{!! $errors->first('title', ':message') !!}
+ @endif
+ @if($errors->first('color'))
+ {!! $errors->first('color', ':message') !!}
+ @endif
+ @if($errors->first('order'))
+ {!! $errors->first('order', ':message') !!}
+ @endif
+
+ @endif
+@if(Session::has('warn'))
+
+ ×
+ {{Session::get('warn')}}
+
+@endif
+
+
+
+
+
+
+
+
+
+
+ {!! Form::label('color','Color') !!} *
+
+
+ {!! Form::text('color', null,['class'=>'form-control my-colorpicker1 colorpicker-element']) !!}
+
+
+
+
+
+ {!! Form::label('order','Order') !!} *
+
+
+ {!! Form::input('number', 'order', null, array('class' => 'form-control')) !!}
+
+
+
+
+
+ {!! Form::label('status','Status') !!}
+ {!! Form::checkbox('status') !!} {!!Lang::get('lang.enable')!!}
+
+
+
+
+
+
+@stop
+@section('FooterInclude')
+
+
+
+@stop
\ No newline at end of file
diff --git a/resources/views/themes/default1/admin/helpdesk/label/index.blade.php b/resources/views/themes/default1/admin/helpdesk/label/index.blade.php
new file mode 100644
index 000000000..d6b0950a7
--- /dev/null
+++ b/resources/views/themes/default1/admin/helpdesk/label/index.blade.php
@@ -0,0 +1,69 @@
+@extends('themes.default1.admin.layout.admin')
+
+@section('Tickets')
+active
+@stop
+
+@section('manage-bar')
+active
+@stop
+
+@section('labels')
+class="active"
+@stop
+
+@section('HeadInclude')
+@stop
+
+@section('PageHeader')
+
Labels
+@stop
+
+
+@section('breadcrumbs')
+
+
+@stop
+
+
+@section('content')
+
+@if(Session::has('success'))
+
+
+ ×
+ {{Session::get('success')}}
+
+@endif
+@if(Session::has('fails'))
+
+ ×
+ {{Session::get('fails')}}
+
+@endif
+@if(Session::has('warn'))
+
+ ×
+ {{Session::get('warn')}}
+
+@endif
+
+
+
+ {!!
+ Datatable::table()
+ ->addColumn('Title','Order','Status','Action')
+ ->setUrl(url('labels-ajax'))
+ ->render()
+ !!}
+
+
+@stop
\ No newline at end of file
diff --git a/resources/views/themes/default1/admin/helpdesk/manage/form/add-child.blade.php b/resources/views/themes/default1/admin/helpdesk/manage/form/add-child.blade.php
index 281163364..b1c7c460b 100644
--- a/resources/views/themes/default1/admin/helpdesk/manage/form/add-child.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/manage/form/add-child.blade.php
@@ -8,7 +8,7 @@ active
active
@stop
-@section('form')
+@section('forms')
class="active"
@stop
diff --git a/resources/views/themes/default1/admin/helpdesk/manage/form/index.blade.php b/resources/views/themes/default1/admin/helpdesk/manage/form/index.blade.php
index 3a5e4f07b..b9a244cd3 100644
--- a/resources/views/themes/default1/admin/helpdesk/manage/form/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/manage/form/index.blade.php
@@ -40,7 +40,7 @@ class="active"
{!! Lang::get('lang.forms') !!}
-
{!! Lang::get('lang.create_form') !!}
+
{!! Lang::get('lang.create_form') !!}
diff --git a/resources/views/themes/default1/admin/helpdesk/manage/helptopic/index.blade.php b/resources/views/themes/default1/admin/helpdesk/manage/helptopic/index.blade.php
index a3b71c95c..d8a286016 100644
--- a/resources/views/themes/default1/admin/helpdesk/manage/helptopic/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/manage/helptopic/index.blade.php
@@ -31,7 +31,7 @@ class="active"
diff --git a/resources/views/themes/default1/admin/helpdesk/manage/sla/index.blade.php b/resources/views/themes/default1/admin/helpdesk/manage/sla/index.blade.php
index f00a6b534..a9caa469a 100644
--- a/resources/views/themes/default1/admin/helpdesk/manage/sla/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/manage/sla/index.blade.php
@@ -32,7 +32,7 @@ class="active"
diff --git a/resources/views/themes/default1/admin/helpdesk/manage/ticket_priority/index.blade.php b/resources/views/themes/default1/admin/helpdesk/manage/ticket_priority/index.blade.php
index 9f4c47e8a..e23190b21 100644
--- a/resources/views/themes/default1/admin/helpdesk/manage/ticket_priority/index.blade.php
+++ b/resources/views/themes/default1/admin/helpdesk/manage/ticket_priority/index.blade.php
@@ -49,18 +49,17 @@ class="active"
-
-
-
@@ -778,7 +821,7 @@ alert(h+20);
-
+ $tickets->id))?>
@@ -1295,33 +1336,7 @@ alert(h+20);
$("#InternalContent").wysihtml5();
});
jQuery('.star').attr('disabled', true);
- $(function () {
- // $('#cand').wysihtml5();
- var wysihtml5Editor = $('#reply_content').wysihtml5().data("wysihtml5").editor;
- $('#select').on('change', function (e) {
-
- //alert('hello2');
- var $_token = $('#token').val();
- var data = $('#select').val();
- //var data1 = $(this).children('option:selected').data('id');
- //alert('data1');
- $.ajax({
- type : "POST",
- cache : false,
- headers : { 'X-XSRF-TOKEN' : $_token },
- url : "../canned/" + data,
- dataType : 'json',
- data : ({data}),
- success : function(response) {
-
- // alert(response);
- wysihtml5Editor.setValue(response, true);
- console.log(wysihtml5Editor.getValue());
- }
- });
- return false;
- });
- });
+
$(function() {
$("#tags, #tags2").autocomplete({
source: 'auto/id; ?>'
@@ -1557,7 +1572,6 @@ alert(h+20);
$("#show").hide();
$("#hide").show();
if (response == 0) {
- location.reload();
// message = "{!! Lang::get('lang.ticket_updated_successfully') !!}"
// $("#dismis").trigger("click");
// $("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
@@ -1565,6 +1579,7 @@ alert(h+20);
// $("#alert11").show();
// $('#message-success1').html(message);
// setInterval(function(){$("#alert11").hide(); }, 4000);
+ location.reload();
}
else if (response == 1) {
$("#error-subject").show();
@@ -1732,8 +1747,10 @@ alert(h+20);
if (response == 1)
{
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
+ $(".embed-responsive-item").load("../thread/{{$tickets->id}} .embed-responsive-item");
+
// $("#t4").load("../thread/{{$tickets->id}} #t4");
- var message = "{!! Lang::get('lang.updated-internal-note') !!}";
+ var message = "{!! Lang::get('lang.internal-note-has-been-added') !!}";
$("#alert21").show();
$('#message-success2').html(message);
setInterval(function(){$("#alert21").hide(); }, 4000);
@@ -1812,6 +1829,9 @@ alert(h+20);
}
$('#form3').on('submit', function() {
+ for ( instance in CKEDITOR.instances ) {
+ CKEDITOR.instances[instance].updateElement();
+ }
var fd = new FormData(document.getElementById("form3"));
var reply_content = document.getElementById('reply_content').value;
if(reply_content) {
@@ -1826,66 +1846,33 @@ alert(h+20);
$("#t1").show();
return false;
}
+ var reply_content = document.getElementById('reply_content').value;
$.ajax({
type: "POST",
url: "../thread/reply/{{ $tickets->id }}",
enctype: 'multipart/form-data',
- dataType: "html",
+ dataType: "json",
data: fd,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
beforeSend: function() {
-
$("#t1").hide();
- $("#show3").show();
- },
- success: function(response) {
- if(response !== 1) {
- if(response === "file size exceeded") {
- alert(response);
- }
- }
- if (response == 1)
- {
- location.reload();
-// $("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
-// var message = "{{ Lang::get('lang.you_have_successfully_replied_to_your_ticket') }}";
-// $("#alert21").show();
-// $('#message-success2').html(message);
-// setInterval(function(){$("#alert21").hide(); }, 4000);
-// $("#newtextarea").empty();
-// var div = document.getElementById('newtextarea');
-// div.innerHTML = div.innerHTML + '
';
-// $("#newtextarea1").empty();
-// var div1 = document.getElementById('newtextarea1');
-// div1.innerHTML = div1.innerHTML + '
';
-// var wysihtml5Editor = $('textarea').wysihtml5().data("wysihtml5").editor;
-// setInterval(function(){
-// var head= document.getElementsByTagName('head')[0];
-// var script= document.createElement('script');
-// script.type= 'text/javascript';
-// script.src= '{{asset("lb-faveo/js/jquery.rating.pack.js")}}';
-// head.appendChild(script);
-//// $('.rating-cancel').hide();
-//// $(".star-rating-control").attr("disabled", "disabled").off('hover');
-//// $(".star-rating-control").addClass("disabled")
-// }, 4000);
-
- } else {
- // alert('fail');
- // $( "#dismis4" ).trigger( "click" );
- var message = "{!! Lang::get('lang.for_some_reason_your_reply_was_not_posted_please_try_again_later') !!}";
- $("#alert23").show();
- $('#message-danger2').html(message);
- setInterval(function(){$("#alert23").hide(); }, 4000);
- }
- $("#show3").hide();
- $("#t1").show();
- },
- error: function(response) {
- $("#show3").hide();
- $("#t1").show();
- }
+ $("#show3").show();
+ },
+ success: function(json) {
+ location.reload();
+ //$('html, body').animate({ scrollTop: $("#heading").offset().top }, 500);
+ },
+ error: function(json) {
+ $("#show3").hide();
+ $("#t1").show();
+ var res = "";
+ $.each(json.responseJSON, function (idx, topic) {
+ res += "
" + topic + " ";
+ });
+ $("#reply-response").html("
Whoops! There were some problems with your input.
");
+ //$('html, body').animate({ scrollTop: $("#heading").offset().top }, 500);
+ }
})
return false;
});
@@ -1898,7 +1885,6 @@ alert(h+20);
if (response == 1)
{
- location.reload();
// alert('ticket has been un assigned');
var message = "{!! Lang::get('lang.you_have_unassigned_your_ticket') !!}";
$("#alert11").show();
diff --git a/resources/views/themes/default1/agent/helpdesk/ticket/trash.blade.php b/resources/views/themes/default1/agent/helpdesk/ticket/trash.blade.php
index 061db188f..5cff811cc 100644
--- a/resources/views/themes/default1/agent/helpdesk/ticket/trash.blade.php
+++ b/resources/views/themes/default1/agent/helpdesk/ticket/trash.blade.php
@@ -13,6 +13,31 @@ class="active"
@stop
@section('PageHeader')
{{Lang::get('lang.tickets')}}
+
@stop
@section('content')
role == 'agent') {
{!! Lang::get('lang.change_status') !!}
-
+
{!! Lang::get('lang.loading') !!}...
- {!! Datatable::table()
- ->addColumn(
- "",
- Lang::get('lang.subject'),
- Lang::get('lang.ticket_id'),
- Lang::get('lang.priority'),
- Lang::get('lang.from'),
- Lang::get('lang.assigned_to'),
- Lang::get('lang.last_activity'))
- ->setUrl(route('get.trash.ticket'))
- ->setOrder(array(6=>'desc'))
- ->setClass('table table-hover table-bordered table-striped')
- ->setCallbacks("fnRowCallback",'function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
- var str = aData[3];
- if(str.search("#000") == -1) {
- $("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
- $("td", nRow).mouseenter(function(){
- $("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
- });
- $("td", nRow).mouseleave(function(){
- $("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
- });
- } else {
- $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
- $("td", nRow).mouseenter(function(){
- $("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
- });
- $("td", nRow).mouseleave(function(){
- $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
- });
- }
- }')
- ->render();!!}
+ {!!$table->render('vendor.Chumper.template')!!}
{!! Form::close() !!}
@@ -130,7 +123,7 @@ if (Auth::user()->role == 'agent') {
-
+{!! $table->script('vendor.Chumper.ticket-javascript') !!}
@@ -454,12 +526,12 @@ class="active"
-
+
{{-- detals table starts --}}
id)->first();
@@ -481,444 +553,176 @@ class="active"
if ($users->role != 'user') {
$open = count(App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', $users->id)->where('status', '=', '1')->get());
- $tickets = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', $users->id)->where('status', '=', '2')->orderBy('id', 'DESC')->paginate(20);
- $counted = count(App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', $users->id)->where('status', '=', '2')->get());
+ $tickets = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', $users->id)->where('status', '=', '3')->orderBy('id', 'DESC')->paginate(20);
+ $counted = count(App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', $users->id)->where('status', '=', '3')->get());
$deleted = count(App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', $users->id)->where('status', '=', '5')->get());
}
if ($users->role == 'user') {
$open = count(App\Model\helpdesk\Ticket\Tickets::where('user_id', '=', $users->id)->where('status', '=', '1')->get());
- $tickets = App\Model\helpdesk\Ticket\Tickets::where('user_id', '=', $users->id)->where('status', '=', '2')->orderBy('id', 'DESC')->paginate(20);
+ $tickets = App\Model\helpdesk\Ticket\Tickets::where('user_id', '=', $users->id)->where('status', '=', '3')->orderBy('id', 'DESC')->paginate(20);
$counted = count(App\Model\helpdesk\Ticket\Tickets::where('user_id', '=', $users->id)->where('status', '=', '3')->get());
$deleted = count(App\Model\helpdesk\Ticket\Tickets::where('user_id', '=', $users->id)->where('status', '=', '5')->get());
// dd($deleted);
}
?>
-
+
-
-
-
-
- @if(Auth::user()->role == 'admin')
- @if($users->role == 'user')
-
- {{Lang::get('lang.change_role_to_agent')}}
-
-
- {{Lang::get('lang.change_role_to_admin')}}
-
- @else
-
- {{Lang::get('lang.change_role_to_user')}}
-
-
-
- {{Lang::get('lang.change_role_to_admin')}}
-
- @endif
- @endif
-
{{Lang::get('lang.edit')}}
-
{{Lang::get('lang.change_password')}}
-
{{Lang::get('lang.delete')}}
-
-
-
-
-
-
- id)->where('status', '=', '1')->get()); ?>
- @if(Session::has('success'))
-
-
-
×
- {{Session::get('success')}}
+
+
+
+
+ @if($users->is_delete != '1')
+ @if(Auth::user()->role == 'admin')
+
+ @if($users->role == 'user')
+
+ {{Lang::get('lang.change_role_to_agent')}}
+
+
+ {{Lang::get('lang.change_role_to_admin')}}
+
+ @else
+
+ {{Lang::get('lang.change_role_to_user')}}
+
+
+
+ {{Lang::get('lang.change_role_to_admin')}}
@endif
-
- @if(Session::has('fails'))
-
- {!! Lang::get('lang.alert') !!} !
- ×
- {{Session::get('fails')}}
-
@endif
-
- {!! Form::open(['route'=>'select_all','method'=>'post']) !!}
-
-
-
-
-
-
- id)->where('status', '=', '1')->get());
- if ($counted < 20) {
- echo $counted . "/" . $counted;
- } else {
- echo "20/" . $counted;
- }
- ?>
-
+ @if(Auth::user()->role == 'admin')
+
{{Lang::get('lang.edit')}}
+
{{Lang::get('lang.change_password')}}
+
{{Lang::get('lang.delete')}}
+
+ @endif
+
+ @if(Auth::user()->role == 'agent')
+ @if($users->role == 'user')
+
{{Lang::get('lang.edit')}}
+
{{Lang::get('lang.change_password')}}
+
{{Lang::get('lang.delete')}}
+
+ @endif
+ @endif
+ @else
+ @if(Auth::user()->role == 'admin')
+
+
+ 0
+ {!! Lang::get('lang.user-account-is-deleted') !!}
+
+
{!! Lang::get('lang.delete-account-caution-info') !!}
+
{{Lang::get('lang.restore-user')}}
+
+
+
+
+
+
-
-
Loading...
-
-
-
-
-
- {!! Lang::get('lang.subject') !!}
- {!! Lang::get('lang.ticket_id') !!}
- {!! Lang::get('lang.priority') !!}
- {!! Lang::get('lang.last_replier') !!}
- {!! Lang::get('lang.assigned_to') !!}
- {!! Lang::get('lang.last_activity') !!}
-
-
- @if($users->role != 'user')
- id)->where('status', '=', '1')->orderBy('id', 'DESC')->paginate(20); ?>
- @elseif($users->role ='user')
- id)->where('status', '=', '1')->orderBy('id', 'DESC')->paginate(20); ?>
- @endif
- @foreach ($tickets as $ticket)
- seen_by == null) { ?> style="color:green;" >
-
- id)->get();
- $collab = count($collaborators);
- // title
- $title = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->first();
- $string = strip_tags($title->title);
- // check atatchments
- $attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id', '=', $title->id)->first();
- $attach = count($attachments);
-
- if (strlen($string) > 40) {
- $stringCut = substr($string, 0, 40);
- $string = substr($stringCut, 0, strrpos($stringCut, ' ')) . ' ...';
- }
- $TicketData = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
- $TicketDatarow = App\Model\helpdesk\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first();
- $LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first();
- if ($LastResponse->role == "user") {
- $rep = "#F39C12";
- $username = $LastResponse->full_name;
- } else {
- $rep = "#000";
- $username = $LastResponse->full_name;
- }
- $titles = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->get();
- $count = count($titles);
- foreach ($titles as $title) {
- $title = $title;
- }
- $assigned_to = App\User::where('id', '=', $ticket->assigned_to)->first();
- if ($assigned_to == null) {
- $assigned = "Unassigned";
- } else {
- $assigned = $assigned_to->first_name . " " . $assigned_to->last_name;
- }
- ?>
- {{$string}} ({!! $count!!})
- @if($collab > 0) @endif
- @if($attach > 0) @endif
- #{!! $ticket->ticket_number !!}
- priority_id)->first(); ?>
- @if($priority != null){{$priority->priority}} @endif
- user_id)->first(); ?>
- {!! str_limit($username,20) !!}
- {!! $assigned !!}
- {!! UTC::usertimezone($title->updated_at) !!}
-
- @endforeach
-
-
-
- setPath(url('user/' . $users->id))->render(); ?>
-
-
- {!! Form::close() !!}
-
- {{-- end deleted tickets --}}
-
-
-
- {{-- open tab --}}
- id)->where('status', '=', 3)->get());?>
- @if(Session::has('success'))
-
-
- ×
- {{Session::get('success')}}
@endif
-
- @if(Session::has('fails'))
-
- {!! lang::get('lang.alert') !!} !
- ×
- {{Session::get('fails')}}
-
+
+
+ @if(Auth::user()->role == 'agent')
+ @if($users->role == 'user')
+ This is a deleted contact
+
{{Lang::get('lang.restore')}}
+ @elseif($users->role == 'agent')
+ This is a deleted contact
+ @endif
@endif
-
- {!! Form::open(['route'=>'select_all','method'=>'post']) !!}
-
-
-
-
-
-
- id)->where('status', '=', '3')->get());
- if ($counted < 20) {
- echo $counted . "/" . $counted;
- } else {
- echo "20/" . $counted;
- }
- ?>
-
-
-
-
Loading...
-
-
-
-
-
- {!! Lang::get('lang.subject') !!}
- {!! Lang::get('lang.ticket_id') !!}
- {!! Lang::get('lang.priority') !!}
- {!! Lang::get('lang.last_replier') !!}
- {!! Lang::get('lang.assigned_to') !!}
- {!! Lang::get('lang.last_activity') !!}
-
-
- @if($users->role != 'user')
- id)->where('status', '=', '3')->orderBy('id', 'DESC')->paginate(20); ?>
- @elseif($users->role ='user')
- id)->where('status', '=', '3')->orderBy('id', 'DESC')->paginate(20); ?>
- @endif
- @foreach ($tickets as $ticket)
- seen_by == null) { ?> style="color:green;" >
-
- id)->get();
- $collab = count($collaborators);
- // title
- $title = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->first();
- $string = strip_tags($title->title);
- // check atatchments
- $attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id', '=', $title->id)->first();
- $attach = count($attachments);
- if (strlen($string) > 40) {
- $stringCut = substr($string, 0, 40);
- $string = substr($stringCut, 0, strrpos($stringCut, ' ')) . ' ...';
- }
- $TicketData = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
- $TicketDatarow = App\Model\helpdesk\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first();
- $LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first();
- if ($LastResponse->role == "user") {
- $rep = "#F39C12";
- $username = $LastResponse->user_name;
- } else {
- $rep = "#000";
- $username = $LastResponse->first_name . " " . $LastResponse->last_name;
- if ($LastResponse->first_name == null || $LastResponse->last_name == null) {
- $username = $LastResponse->user_name;
- }
- }
- $titles = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->get();
- $count = count($titles);
- foreach ($titles as $title) {
- $title = $title;
- }
- $assigned_to = App\User::where('id', '=', $ticket->assigned_to)->first();
- if ($assigned_to == null) {
- $assigned = "Unassigned";
- } else {
- $assigned = $assigned_to->first_name . " " . $assigned_to->last_name;
- }
- ?>
- {{$string}} ({!! $count!!})
- @if($collab > 0) @endif
- @if($attach > 0) @endif
- #{!! $ticket->ticket_number !!}
- priority_id)->first(); ?>
- @if($priority != null){{$priority->priority}} @endif
- user_id)->first(); ?>
- {!! str_limit($username,20) !!}
- {!! $assigned !!}
- {!! UTC::usertimezone($title->updated_at) !!}
-
- @endforeach
-
-
-
-
- setPath(url('user/' . $users->id))->render(); ?>
-
-
- {!! Form::close() !!}
-
- {{-- end deleted tickets --}}
-
+
+ @endif
-
- {{-- open tab --}}
- id)->where('status', '=', '5')->get()); ?>
- @if(Session::has('success'))
-
-
- ×
- {{Session::get('success')}}
-
- @endif
-
- @if(Session::has('fails'))
-
- {!! lang::get('lang.alert') !!} !
- ×
- {{Session::get('fails')}}
-
- @endif
-
- {!! Form::open(['route'=>'select_all','method'=>'post']) !!}
-
-
-
-
-
-
- id)->where('status', '=', '5')->get());
- if ($counted < 20) {
- echo $counted . "/" . $counted;
- } else {
- echo "20/" . $counted;
- }
- ?>
+@if($users->is_delete != '1')
+
+
+
+
+ @if(Session::has('success'))
+
+
+ ×
+ {{Session::get('success')}}
+ @endif
+
+ @if(Session::has('fails'))
+
+ {!! Lang::get('lang.alert') !!} !
+ ×
+ {{Session::get('fails')}}
+
+ @endif
+ {!! Form::open(['route'=>'select_all','method'=>'post']) !!}
+
+
+
+
+
+
+
+
+
+
+
+ {!! Lang::get('lang.sort-by') !!}
+
+
+
+
+
-
-
Loading...
-
-
-
-
-
- {!! Lang::get('lang.subject') !!}
- {!! Lang::get('lang.ticket_id') !!}
- {!! Lang::get('lang.priority') !!}
- {!! Lang::get('lang.last_replier') !!}
- {!! Lang::get('lang.assigned_to') !!}
- {!! Lang::get('lang.last_activity') !!}
-
-
- @if($users->role != 'user')
- id)->where('status', '=', '5')->orderBy('id', 'DESC')->paginate(20); ?>
- @elseif($users->role ='user')
- id)->where('status', '=', '5')->orderBy('id', 'DESC')->paginate(20); ?>
- @endif
- @foreach ($tickets as $ticket)
- seen_by == null) { ?> style="color:green;" >
-
- id)->get();
- $collab = count($collaborators);
- // title
- $title = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->first();
- $string = strip_tags($title->title);
- // check atatchments
- $attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id', '=', $title->id)->first();
- $attach = count($attachments);
+
+
+
+
+
+
{!! Lang::get('lang.loading') !!}...
+
- if (strlen($string) > 40) {
- $stringCut = substr($string, 0, 40);
- $string = substr($stringCut, 0, strrpos($stringCut, ' ')) . ' ...';
- }
- $TicketData = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
- $TicketDatarow = App\Model\helpdesk\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first();
- $LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first();
- if ($LastResponse->role == "user") {
- $rep = "#F39C12";
- $username = $LastResponse->user_name;
- } else {
- $rep = "#000";
- $username = $LastResponse->first_name . " " . $LastResponse->last_name;
- if ($LastResponse->first_name == null || $LastResponse->last_name == null) {
- $username = $LastResponse->user_name;
- }
- }
- $titles = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->get();
- $count = count($titles);
- foreach ($titles as $title) {
- $title = $title;
- }
- $assigned_to = App\User::where('id', '=', $ticket->assigned_to)->first();
- if ($assigned_to == null) {
- $assigned = "Unassigned";
- } else {
- $assigned = $assigned_to->first_name . " " . $assigned_to->last_name;
- }
- ?>
-
{{$string}} ({!! $count!!})
- @if($collab > 0) @endif
- @if($attach > 0) @endif
-
#{!! $ticket->ticket_number !!}
- priority_id)->first(); ?>
-
@if($priority != null){{$priority->priority}} @endif
- user_id)->first(); ?>
-
{!! str_limit($username,20) !!}
-
{!! $assigned !!}
-
{!! UTC::usertimezone($title->updated_at) !!}
-
- @endforeach
-
-
+ {!!$table->render('vendor.Chumper.template')!!}
-
- setPath(url('/ticket/open'))->render(); ?>
-
- {!! Form::close() !!}
-
-
-
-
+
+
+
+ {!!Form::close()!!}
+
+
-
-
-
-
- @if(Auth::user()->role == 'admin')
+ @endif
+ @if($users->is_delete != '1')
+
@@ -941,7 +745,7 @@ class="active"
}
?>
@@ -1448,8 +1243,8 @@ class="active"
-
+
@yield('HeadInclude')
@@ -59,11 +62,6 @@
first();
- if ($company != null) {
-
- }
- $replacetop = 0;
$replacetop = \Event::fire('service.desk.agent.topbar.replace', array());
if (count($replacetop) == 0) {
@@ -71,7 +69,7 @@
} else {
$replacetop = $replacetop[0];
}
- $replaceside = 0;
+
$replaceside = \Event::fire('service.desk.agent.sidebar.replace', array());
if (count($replaceside) == 0) {
@@ -90,9 +88,6 @@
-
@if($replacetop==0)
@else
-
- @endif
- id)->where('is_read', '0')->get(); ?>
+
+ @endif
+
- @if(Auth::user()->role == 'admin')
+ @if($auth_user_role == 'admin')
{!! Lang::get('lang.admin_panel') !!}
- @include('themes.default1.update.notification')
+
@endif
+ @include('themes.default1.update.notification')
+
+
+
+
+
@@ -220,168 +222,110 @@
@endif
- @if(Auth::user())
-
{{Auth::user()->first_name." ".Auth::user()->last_name}}
+ @if($auth_user_id)
+
{{$auth_name}}
@endif
- @if(Auth::user() && Auth::user()->active==1)
+ @if($auth_user_id && $auth_user_active==1)
Online
@else
Offline
@endif
-
- {{-- < form action = "#" method = "get" class = "sidebar-form" > --}}
- {{-- < div class = "input-group" > --}}
- {{-- < input type = "text" name = "q" class = "form-control" placeholder = "Search..." / > --}}
- {{-- < span class = "input-group-btn" > --}}
- {{-- < button type = 'submit' name = 'seach' id = 'search-btn' class = "btn btn-flat" > < i class = "fa fa-search" > < /i> --}}
- {{-- < /span> --}}
- {{-- < /div> --}}
- {{-- < /form> --}}
-
-
- assign_group;
- $group = App\Model\helpdesk\Agent\Groups::where('id', '=', $agent_group)->where('group_status', '=', '1')->first();
- ?>
+where('group_status', '=', '1')->first();
+?>
-
+
@if($replacetop==0)
@@ -393,6 +337,7 @@
- @if(Auth::user()->role == 'admin')
-
+ @if($auth_user_role == 'admin')
+
@endif
@endif
@@ -444,156 +389,157 @@
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
-
+
-
+
+
+
-
-
-
-
-
- var id2 = id ?>;
- var dataString = 'id=' + id2;
- $.ajax
- ({
- type: "POST",
- url: "{{url('mark-all-read')}}" + "/" + id2,
- data: dataString,
- cache: false,
- beforeSend: function () {
- $('#myDropdown').on('hide.bs.dropdown', function () {
- return false;
- });
- $("#refreshNote").hide();
- $("#notification-loader").show();
- },
- success: function (response) {
- $("#refreshNote").load(" #refreshNote");
- $("#notification-loader").hide();
- $('#myDropdown').removeClass('open');
- }
- });
- });
-
+
-
+
-
+
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
-
-@yield('FooterInclude')
-