1160 Commits

Author SHA1 Message Date
Damien Metzger
33b8703d24 // Changelog 1.5.6.1 2013-11-20 09:43:06 +01:00
Jerome Nadaud
e02b5d5c11 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development
Conflicts:
	admin-dev/themes/default/template/helpers/list/list_header.tpl
2013-11-18 18:39:25 +01:00
Jerome Nadaud
6be883217e [-] BO : FixBug #PNM-1594 - Double selected option value 2013-11-18 18:36:30 +01:00
Rémi Gaillard
10e0205cb8 Merge pull request #992 from djfm/development
// fixed typo in Russian installer
2013-11-18 06:40:31 -08:00
Rémi Gaillard
4cba2623e5 Merge pull request #926 from djfm/loc_ui
//Localization
2013-11-18 06:32:34 -08:00
Rémi Gaillard
618aa24f74 Merge pull request #945 from Javsmile/patch-2
// Update productcomments.php
2013-11-18 06:30:59 -08:00
fram
0889ab4eec // fixed typo in Russian installer 2013-11-18 15:30:05 +01:00
gRoussac
6633efd27d [-] BO : Fix bug #PNM-1594, selected value error in helper list 2013-11-18 15:11:49 +01:00
gRoussac
8d627aa522 [-] MO : Referralprogram Prevent Exception when badly configured 2013-11-18 14:58:17 +01:00
Jerome Nadaud
bcc851c98c // Update image fix 2013-11-18 14:44:23 +01:00
gRoussac
dbc08d779c // typo, sorry about this 2013-11-18 14:35:39 +01:00
gRoussac
22a9548f83 [-] FO : Fix bug #PSCFV-11043, bad cache id from module template 2013-11-18 14:32:34 +01:00
gRoussac
4771746959 [-) FO : Fix bug #PSCFV-10926, trailing question mark in pagination url 2013-11-18 12:26:08 +01:00
rGaillard
bd241a9c48 [-] BO: product price was changed on changing to advanced stock management #PSCFV-10996 2013-11-18 12:04:09 +01:00
Jérôme Nadaud
8166bb662c Merge pull request #984 from soware/development
Update form.tpl
2013-11-18 01:01:00 -08:00
Jerome Nadaud
113f8d4efb Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-18 09:55:37 +01:00
Jerome Nadaud
11296fe464 // Small Fix in truncateString function 2013-11-18 09:55:21 +01:00
Gregory Roussac
017ef4860e Merge pull request #987 from davyrolink/fixed_toolbar_tpl
[*] BO : multiple toolbars save button
2013-11-18 00:54:48 -08:00
Gregory Roussac
21319ca32c Merge pull request #988 from dlage/fix_jquery_ui_autocomplete
[-] Project : missing ui.menu in jquery_ui_dependencies.
2013-11-17 14:44:47 -08:00
gRoussac
cef406aef2 [*] FO : DNI can be not required 2013-11-17 23:35:56 +01:00
gRoussac
7e841c4448 [-] FO : Missing sup for DNI field 2013-11-17 22:36:51 +01:00
gRoussac
1cbc765a8f [-] IN : Bad flag in add_module_to_hook 2013-11-17 20:42:29 +01:00
692643d7d6 [-] Project : missing ui.menu in jquery_ui_dependencies. 2013-11-16 17:42:54 +00:00
Davy Rolink
cd58c0968b Fixed admin toolbar save button javascript actions, problem occurred when there were multiple toolbars on one page 2013-11-16 14:59:37 +01:00
soware
e5f0bcb916 Update form.tpl
I removed the line 109 because the price tab problem and because this line is redundant. The first show (line 95) always is executed.
If the price is saved twice, the second the div #product-tab-content-wait never is hided and show the loading forever.
It is because the line 109 show this tab again, in the sequence: show (line 95), hide (line 213), show (line 109).
This happening just for price tab.
2013-11-16 00:37:47 -02:00
gRoussac
7f02c8ca58 [-] WS: Fix bug #PSCFV-10970 use configuration for uploaded images quality 2013-11-15 18:50:28 +01:00
gRoussac
bfed3532bf [*] BO : AdminPerformances Hide warnings message when not necessary 2013-11-15 16:12:07 +01:00
gRoussac
2962141d51 [-] BO : Fix warning when no memcached servers 2013-11-15 15:39:00 +01:00
gRoussac
73bf2a7db1 [-] BO : Fix #PSCFV-11016 typo 2013-11-15 15:16:02 +01:00
gRoussac
9aa656c9d7 // typo 2013-11-15 15:10:12 +01:00
gRoussac
1140b5e8b5 [*] FO : Fix #PSCFV-8715 add product.attributes in carrier tpl 2013-11-15 15:06:30 +01:00
gRoussac
6a690b255b [-] BO : Model return html error messagae instead of json while image uploading 2013-11-15 12:20:10 +01:00
gRoussac
152960639f [-] BO : Product final price can not be hidden on loading tab, report of 6c6c3b240e 2013-11-15 11:36:07 +01:00
Gregory Roussac
448a4c9994 Merge pull request #980 from djfm/development
// no line breaks in $this->l()
2013-11-15 02:23:39 -08:00
gRoussac
7526fe4766 // missing trailing semi-column 2013-11-15 11:16:48 +01:00
Jerome Nadaud
50eee795ed // Add truncate category description preserving html tags 2013-11-15 11:03:06 +01:00
gRoussac
97be96ede8 [-] MO : Missinag closing href 2013-11-15 10:54:50 +01:00
gRoussac
0b47ef1b3b [-] BO : test on xml string follow up https://github.com/PrestaShop/PrestaShop/pull/690#issuecomment-28542506 2013-11-15 10:51:46 +01:00
fram
ba15d975bc // no line breaks in $this->l() 2013-11-15 10:44:01 +01:00
gRoussac
47d58ff930 [*] FO : set at least a class to body 2013-11-14 19:03:12 +01:00
gRoussac
d06bf10bbb [-] FO : Fix bug #PSCFV-10911, doubles in cart rules highlight 2013-11-14 16:35:11 +01:00
gRoussac
d0d234f555 // typo, sorry about this 2013-11-14 15:58:42 +01:00
gRoussac
19d975a0b4 // typo 2013-11-14 14:48:14 +01:00
gRoussac
6393746f04 [-] BO : 406 when mod_security follow up 034e6a7e7f 2013-11-14 11:43:05 +01:00
gRoussac
db99f188a2 [-] BO : AdminImport, execption when creating groups 2013-11-13 18:23:41 +01:00
Gregory Roussac
fe8e349931 Merge pull request #975 from ldecoker/patch-10
[-] FO : _PS_THEME_MOBILE_OVERRIDE_DIR_ not defined
2013-11-13 09:14:49 -08:00
ldecoker
3f8b76f78c [-][FO] _PS_THEME_MOBILE_OVERRIDE_DIR_ not defined
When there is no mobile theme provided with the current theme, the variable _PS_THEME_MOBILE_OVERRIDE_DIR_ is not defined. We so get the following error in apache logs:

"PHP Notice:  Use of undefined constant _PS_THEME_MOBILE_OVERRIDE_DIR_ - assumed '_PS_THEME_MOBILE_OVERRIDE_DIR_' in FrontController.php"
2013-11-13 18:12:59 +01:00
gRoussac
947f9bb21c // small isset in productcomments 2013-11-13 16:39:33 +01:00
Rémi Gaillard
83400c691c Merge pull request #973 from djfm/development
//translations
2013-11-13 06:34:38 -08:00
Rémi Gaillard
f4601d9680 // default form language 2013-11-13 15:37:58 +01:00
fram
28e1a94bb6 // instead instead of insted 2013-11-13 15:10:06 +01:00
fram
ad6367f2bf // updated native translations 2013-11-13 15:06:47 +01:00
gRoussac
5a8c335d78 [-] FO : Bad value for back when controller name is sent 2013-11-13 12:30:39 +01:00
gRoussac
4479db88a0 [-) PDF : nowrap on several product prices 2013-11-13 11:52:10 +01:00
Francois Gaillard
339c954cb3 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-13 11:24:51 +01:00
Jerome Nadaud
c4837e65ec [-] FO : FixBug #PSCFV-9291 - Ecotax increment display price in product combination 2013-11-13 11:24:25 +01:00
Jerome Nadaud
2117c89352 [-] FO : FixBug #PSCFV-9291 - Ecotax increment display price in product combination 2013-11-13 11:04:13 +01:00
Jerome Nadaud
9f10a851e5 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-13 10:58:01 +01:00
Gregory Roussac
66a9ee03fc Merge pull request #971 from studiokiwik/sk-ps15x-008
[-] FO : fix contact-form id_order input when customer is not logged
2013-11-13 01:42:00 -08:00
gRoussac
c69688cc11 [-] BO : Fix bug #PSCFV-10990 bad version comparison for ps_versions_compliancy 2013-11-13 10:14:21 +01:00
Mikael Blotin
26d1ad0668 [-] FO : fix contact-form id_order input when customer is not logged 2013-11-13 10:12:31 +01:00
Jerome Nadaud
6a99b84452 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-13 10:02:28 +01:00
gRoussac
6ddf220aee [-] Fo : Call Gmaps on https if required 2013-11-12 21:16:09 +01:00
gRoussac
9328a3c473 // forgot to commit 036e2362c9 2013-11-12 19:17:54 +01:00
gRoussac
c8dfe1c174 [-] FO : Wordwrap on prices in history 2013-11-12 19:17:12 +01:00
Rémi Gaillard
75df12dd94 [-] Core: Group::getCurrent() return the default customer group of the shop if default customer group is not associated to shop 2013-11-12 18:49:52 +01:00
Gregory Roussac
6d7e2055ce Merge pull request #968 from ccauw/patch-12
[*] BO : add class on TD in standard List
2013-11-12 09:38:03 -08:00
gRoussac
4d327a537f [*] FO : addTextFieldToProduct without Line feed, follow up https://github.com/PrestaShop/PrestaShop/pull/962#issuecomment-28294571 2013-11-12 18:28:42 +01:00
ccauw
747926039a [*] BO : add class on TD in standard List
Back office :
Add a class on TD in list created by getList()
In fields_list array of AdminController, we can add a new parameter('class')

example :
		'name' => array(
			'title' => $this->l('Name'),
			'width' => 150,
			'class' => 'ma_classe',
			'filter_key' => 'b!name'
		),
This parameter can be used for javascript effect, ...

Thanks.
2013-11-12 18:01:27 +01:00
gRoussac
5e4382eb08 [-] BO : Fix bug #PSCFV-10982 reduction group truncated 2013-11-12 17:55:07 +01:00
gRoussac
036e2362c9 [+] CORE : Fixed cache_id 2013-11-12 17:09:38 +01:00
Fabio Chelly
fc193d5c8b Merge remote-tracking branch 'origin/development' into development 2013-11-12 16:36:19 +01:00
Rémi Gaillard
75e6a03591 // small fix 2013-11-12 16:38:34 +01:00
Fabio Chelly
dd05692400 [-] FO : Fixed errors when calculating most selled products from footer link 2013-11-12 16:36:07 +01:00
Rémi Gaillard
b5eb7c5c28 // typo 2013-11-12 16:25:13 +01:00
gRoussac
f0f3679cbd [*] FO : https on TOS in fancybox, follow up https://github.com/PrestaShop/PrestaShop/pull/956 2013-11-12 15:56:04 +01:00
Rémi Gaillard
175da3ecf6 Merge pull request #965 from djfm/IETF
[*] LO : Fix PSCFV-10876: use IETF code to set language of shop, not 'is...
2013-11-12 06:05:10 -08:00
fram
743c4f4607 [*] LO : Fix PSCFV-10876: use IETF code to set language of shop, not 'iso' code, allows to distinguish between chinese variants etc. 2013-11-12 14:59:36 +01:00
gRoussac
40abef8aac Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-12 12:32:37 +01:00
Rémi Gaillard
8be339463d // small fix 2013-11-12 12:36:51 +01:00
gRoussac
f0f630fb50 [-] FO : #PSCFV-10978 firstname displayed instead of lastname in invoice address 2013-11-12 12:32:21 +01:00
gRoussac
3f42a381a4 [*] FO : Redirect to address.tpl when !Address::isCountryActiveById 2013-11-12 12:12:19 +01:00
Gregory Roussac
0e1898be09 Merge pull request #963 from djfm/sprintf
// do not use sprintf in installer when it is useless
2013-11-12 01:45:39 -08:00
gRoussac
c1969028f2 [-] FO : Customized meesage with carriage return follow up #962 2013-11-12 10:41:19 +01:00
Gregory Roussac
cd83ec93c7 Merge pull request #961 from joseantgv/patch-4
[-] MO : Whishlist, innerhtml in html jquery
2013-11-12 00:42:04 -08:00
fram
ab730dc3da // do not use sprintf when it is useless 2013-11-12 09:21:05 +01:00
joseantgv
7523828a7a Update ajax-wishlist.js
innerHtml can not execute javascript from "data". If someone modify php files returned from jquery function and includes a script, it's not executed.
2013-11-11 16:58:52 +01:00
gRoussac
e2d8a33a81 [*] FO : Cache on getDiscountsCustomer, follow up https://github.com/PrestaShop/PrestaShop/pull/960 2013-11-11 14:02:11 +01:00
gRoussac
a7869a1f06 [*] CORE : Remove duplicate SQL queries 2013-11-11 13:41:23 +01:00
gRoussac
de404706d9 [*] CORE : Profiling hide non doubles 2013-11-11 02:09:50 +01:00
gRoussac
3f9338e13d [*] CORE : Cache store for isAssociatedToShop::isAssociatedToShop 2013-11-11 01:59:10 +01:00
gRoussac
38da826671 [-] FO : getTaxCalculator bad cache key again // sorry about that 2013-11-11 01:37:20 +01:00
gRoussac
fee461fdf1 [*] FO : Set cache for StockAvailable::getQuantityAvailableByProduct 2013-11-11 01:00:55 +01:00
gRoussac
8dd951c2df [*] MO : Remove calls to isRegisteredInHook in crossselling and productscategory 2013-11-11 00:36:17 +01:00
gRoussac
7e93b2cffd [-] FO : getTaxCalculator bad cache key 2013-11-11 00:13:35 +01:00
gRoussac
19da345531 [-] BO : Could not check all modules after ajax call 2013-11-10 21:51:14 +01:00
Fabio Chelly
bd8eebdc33 Merge remote-tracking branch 'origin/development' into development 2013-11-08 18:12:23 +01:00
Fabio Chelly
4312d241f3 [-] MO :Fixed #PNM-1654 (Loyalty module) by using most expensive attribute instead of default one 2013-11-08 18:12:11 +01:00
gRoussac
7eb70486e0 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-08 15:54:28 +01:00
gRoussac
ebc3dfee62 [-] BO : Fix css bug #PSCFV-10899, fixed fix-toolbar z-index 2013-11-08 15:54:13 +01:00
Gregory Roussac
ee487fde59 Merge pull request #953 from Shagshag/patch-4
[*] BO: kb was not translatable
2013-11-08 06:37:26 -08:00
Shagshag
c7f1fcb49a kb was not translatable 2013-11-08 15:33:49 +01:00
gRoussac
530b6dc501 // Productscomments remove warnings 2013-11-08 15:00:56 +01:00
gRoussac
5364be686e // More simple names for csv import files 2013-11-08 14:59:43 +01:00
Jérôme Nadaud
aaaf8588c1 Merge pull request #931 from PhpMadman/patch-2
[-] MO : Mailalert was not using order reference
2013-11-08 04:01:39 -08:00
PhpMadman
6ee2852fa5 [-] MO : Mailalert was not using order reference 2013-11-08 12:48:49 +01:00
Jérôme Nadaud
02acd47c9e Merge pull request #950 from pelTek/patch-2
Added states to Greek localization pack
2013-11-08 02:46:55 -08:00
Chris
32e92762f5 Added states to Greek localization pack
Added states to Greek localization pack
2013-11-08 12:44:42 +02:00
Francois Gaillard
3b7387ffe8 [-] Classes : Hook - Installer & context shop id 2013-11-08 11:00:14 +01:00
gRoussac
472dc8c27d [-] MO : Blocklayered follow up a6e67b078e (commitcomment-4538556) 2013-11-07 17:59:04 +01:00
Javsmile
99ad6481e6 Update productcomments.php
This little addition fix the problem for enlight the stars in the hookproductTab whe you disable or make an exception of the hookproductOutOfStock with the product file.
2013-11-07 17:53:47 +01:00
Fabio Chelly
92cf31e5c3 [-] MO : Fixed #PNM-1600 by modifying getPageLink() 2013-11-07 16:46:30 +01:00
Fabio Chelly
fa7d44d67f Merge remote-tracking branch 'origin/development' into development 2013-11-07 16:39:26 +01:00
Fabio Chelly
b9c4b5d2a7 [-] FO : Prevents warning in safePostVars when $_POST has been unset 2013-11-07 16:38:53 +01:00
Gregory Roussac
fbd28f3e49 Merge pull request #942 from Jacky75/20131107_payment_and_groups
[-] FO : in multistore payment module restrictions by customer group was...
2013-11-07 06:39:57 -08:00
Daniele Giachino
8c8340db4e [-] FO : in multistore payment module restrictions by customer group was not applied to specific shop 2013-11-07 15:18:59 +01:00
gRoussac
7cc351e83d [-] BO : Fix bug #PSCFV-10932, ranges input disabled on load 2013-11-07 15:11:30 +01:00
gRoussac
91cde1ab3a [-] BO : getCMSPages to associated shop in cmscontroller 2013-11-07 12:09:58 +01:00
gRoussac
e6f9f806bf [-] FO : Fix bug #PSCFV-10892, getCMSPages by id_shop thnaks @jd440 2013-11-07 12:03:35 +01:00
gRoussac
fc4a660f76 [-] BO : Fix bug #PSCFV-10666 product_supllier currency set to 0 2013-11-07 11:24:32 +01:00
Jerome Nadaud
f3147b4e57 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-07 09:47:47 +01:00
gRoussac
514c087962 [*] BO : New import csv files 2013-11-06 18:38:32 +01:00
gRoussac
00887942d3 // preg_last_error not available on every stacks 2013-11-06 18:32:39 +01:00
gRoussac
afe6c9bc6f // missing dir sep on is_dir (open_basedir) 2013-11-06 18:23:01 +01:00
gRoussac
fc6041fa33 [-] IN : bad path in create multistore 2013-11-06 18:06:19 +01:00
gRoussac
76b03856e2 // missing trailing dir sep 2013-11-06 17:33:18 +01:00
Rémi Gaillard
ef5779f63f // d321b9a5bc 2013-11-06 17:11:31 +01:00
Jérôme Nadaud
d0522417eb Merge pull request #937 from PhpMadman/DiscountPrice
[*] FO : Added possibility to display new price instead of quantity discount
2013-11-06 08:06:16 -08:00
Rémi Gaillard
50c95f568c Merge pull request #935 from jeckyl/patch-4
Update cart-summary.js
2013-11-06 07:01:02 -08:00
jeckyl
d321b9a5bc Update cart-summary.js
Just add this space to separate this classes. It's to display or not carrier option when we select one or another carrier during order finalisation.
2013-11-06 14:42:00 +01:00
PhpMadman
d95885caae [*] FO : Added posibilty to display new price instead of quantity discount 2013-11-06 14:41:42 +01:00
fchellypresta
71139df65f Merge pull request #796 from PhpMadman/patch-1
[*] BO: #PNM-1472 Changed label and transparency range check to 1
2013-11-06 03:06:47 -08:00
gRoussac
1fb8ef823d [-] BO : Fix bug #PSCFV-10937, bad escaping for var product_prices in prices.tpl 2013-11-06 11:50:52 +01:00
Jérôme Nadaud
29001b3392 Merge pull request #930 from PhpMadman/patch-3
[-] BO : Cart was not using order reference
2013-11-06 02:30:57 -08:00
PhpMadman
eac7fbb694 [-] BO : Cart was not using order reference, corrected syntax 2013-11-06 11:06:46 +01:00
Jérôme Nadaud
fa4b5e0b7d Merge pull request #927 from djfm/loc
[*] LO : Added states to Spanish localization pack
2013-11-06 00:31:46 -08:00
Jérôme Nadaud
d30830f6fe Merge pull request #932 from prestalab/patch-1
// FIX: tags with UTF-8 chars
2013-11-05 23:49:43 -08:00
PrestaLab
b2e5c6090d Fixed tags with UTF-8 chars
Fixed error Tag->Name is not valid if tag in non latin chars
2013-11-05 23:33:44 -08:00
PhpMadman
2556a7bb68 [-] MO : Mailalert was not using order reference 2013-11-05 20:46:10 +01:00
PhpMadman
7226f33f90 [-] BO : Cart was not using order reference 2013-11-05 20:42:57 +01:00
Jerome Nadaud
3f3dc0feb9 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-05 16:39:12 +01:00
Rémi Gaillard
d4253b9849 // small fix 2013-11-05 15:33:21 +01:00
fram
4b0b5cf4da // added an option not to override the local localization pack when installing a localization pack 2013-11-05 12:08:14 +01:00
fram
2b8d069cf9 [*] LO : Added states to Spanish localization pack 2013-11-05 12:06:31 +01:00
Rémi Gaillard
9817ef6840 // small fix on profiling 2013-11-05 11:54:22 +01:00
gRoussac
581645ce6d [-) BO : Action is mandatory for a cart rule 2013-11-05 11:26:10 +01:00
gRoussac
87be153e42 [-] MO : Blockcategories last_visited_category must not be cached 2013-11-05 11:16:52 +01:00
Gregory Roussac
f85c6b59c8 Merge pull request #921 from Jacky75/20131105-layered-feature-sorted
[*] MO : Blocklayered filter feature blocks sorted
2013-11-05 01:50:48 -08:00
Daniele Giachino
99e98a5164 In multistore, layered filters about categories are not loading the category name from the proper shop 2013-11-05 10:45:23 +01:00
Damien Metzger
4c1ad83b18 // "Fixed" strict standard 2013-11-05 10:22:39 +01:00
gRoussac
26a43260c5 [-] CORE : invalid method name in displayAjax method of Controller action 2013-11-05 10:18:53 +01:00
Gregory Roussac
c69429c126 Merge pull request #922 from Jacky75/20131105-layered-categories-shop
[-] MO : Missing context shop for categories
2013-11-05 01:10:39 -08:00
Daniele Giachino
02c04a9884 In multistore, layered filters about categories are not loading the category name from the proper shop 2013-11-05 09:40:53 +01:00
Daniele Giachino
cf65877f3f layered filters involving features are now natural sorted 2013-11-05 09:32:36 +01:00
Daniele Giachino
f0abdca08f layered filters involving features are now natural sorted 2013-11-05 09:30:13 +01:00
gRoussac
0e54bf0f76 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-04 18:27:39 +01:00
Jerome Nadaud
12276f41fb // Update image when updated 2013-11-04 18:26:24 +01:00
gRoussac
be13f82b30 [*] FO: Follow up e86c56172d 2013-11-04 18:20:01 +01:00
Rémi Gaillard
f5cc6862cb // don't die on autoload 2013-11-04 18:08:24 +01:00
Rémi Gaillard
0a65de5e5f Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-04 17:22:21 +01:00
Rémi Gaillard
f4740088c1 // small fix 2013-11-04 17:22:08 +01:00
gRoussac
c44b1d617c [-] BO : Could not change image position 2013-11-04 16:59:03 +01:00
gRoussac
c452444620 [-] IN : Could not install when session_start() does not fail on ajax requests 2013-11-04 15:47:29 +01:00
gRoussac
3f817e8729 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-04 14:31:29 +01:00
gRoussac
66f314bbb2 // missing trailing bracket in modules/productcomments/config.xml 2013-11-04 14:31:15 +01:00
Rémi Gaillard
bf8cd29868 // validator on message field 2013-11-04 14:21:42 +01:00
gRoussac
b8b7fbaf71 [*] MO : New modules version since 1.5.6.0 2013-11-04 11:57:31 +01:00
gRoussac
9ea79f8cb5 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-04 11:48:25 +01:00
Rémi Gaillard
b3c54a59dd // typo 2013-11-04 11:48:30 +01:00
Rémi Gaillard
06d73554be // preg instead strpos 2013-11-04 11:39:48 +01:00
gRoussac
ad555f1d30 [-] IN : Follow up #PSCFV-10671 update messages in base and b16e4b5a8e 2013-11-04 11:10:40 +01:00
Gregory Roussac
4b6ee72072 Merge pull request #894 from codeurWeb/patch-6
[-] MO : Fix NetworkError 404 Not Found on admin in blocklayered.php
2013-11-04 02:02:10 -08:00
Rémi Gaillard
e000f8c627 // something is missing in the last commit 2013-11-04 11:00:21 +01:00
Rémi Gaillard
6ef7f258ea // small fix 2013-11-04 10:34:58 +01:00
Jerome Nadaud
2be72f50d1 [-] FO : FixBug Categories description 2013-11-04 10:29:44 +01:00
Rémi Gaillard
d49c4cf62e [-] BO: Fix from name when replying to customer threads 2013-11-04 09:38:12 +01:00
gRoussac
c7323c2bfe [-] CORE : Fix bug #PSCFV-10901 warnings on htmlentities 2013-11-03 22:59:04 +01:00
gRoussac
2a3192d98c [-] IN : Refacto for update_customer_default_group bad logical 2013-11-03 14:55:25 +01:00
gRoussac
b16e4b5a8e [-] IN : Lower memory usage in migrate_orders, fix update_order_messages loop 2013-11-03 01:49:16 +01:00
gRoussac
8f72282594 [-] IN : update_customer_default_group returning false 2013-11-02 21:51:13 +01:00
gRoussac
a5bb4f0323 [-] IN: Fix [insert order detail 1] error while upgrading 2013-11-02 20:39:53 +01:00
gRoussac
062fb90c2e [-] IN : Fix Unknown column 'module_name' in 'ps_webservice_account' during upgrade 2013-10-31 19:24:41 +01:00
Jerome Nadaud
9193a29a44 [+] MO : Blockcart - Add error handler on ajax function 2013-10-31 19:02:43 +01:00
Jerome Nadaud
671062af07 // Add Disable overrides to debug mode 2013-10-31 18:41:56 +01:00
gRoussac
80c60be952 [-] BO : Do not enable rewrite url for index 2013-10-31 16:20:55 +01:00
Rémi Gaillard
1b019dffc5 // Fix lang detection on dispatcher 2013-10-31 15:28:19 +01:00
gRoussac
f9dc0b0252 [-] MO : Could not translate in transit mail, revert from 3213b5dffb 2013-10-31 14:20:21 +01:00
Rémi Gaillard
9611ea1f70 [-] BO: Fix empty group list on changing opt or newsletter on customers listing 2013-10-31 11:22:40 +01:00
Rémi Gaillard
d17515a728 // don't format currency on input 2013-10-31 10:22:38 +01:00
gRoussac
036fa7cba6 [-] FO : Fix bug #PSCFV-10889 wrong color when oos product 2013-10-31 10:18:28 +01:00
Damien Metzger
9c57c71deb Merge pull request #913 from djfm/development
// Installer Translations
2013-10-31 01:48:56 -07:00
djfm
7812731095 // removed hard-coded space before ellipsis (...) in English installer steps 2013-10-31 08:29:05 +00:00
djfm
a8a204edf3 // small correction in English installer text 2013-10-31 08:25:57 +00:00
djfm
11f60492be // removed unnecessary punctuation in English installer strings, both in source code and translations 2013-10-31 08:09:14 +00:00
gRoussac
f919cc899d [-] IN : Set conversion rate to 1 if equal 0 in base 2013-10-30 20:06:47 +01:00
gRoussac
fbdddba753 [-] IN : Set default conversion rate to 1 not 0 2013-10-30 19:03:36 +01:00
gRoussac
cbfa8dfc30 // forgot to commit in f78cde96d6 2013-10-30 19:02:24 +01:00
gRoussac
8547f663d1 [-] BO : AdminImport withdraw separator changed in js 2013-10-30 18:46:02 +01:00
gRoussac
372130f7d7 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-30 18:37:46 +01:00
gRoussac
f78cde96d6 [-] BO : AdminImport wrong group by default 2013-10-30 18:37:26 +01:00
Jerome Nadaud
48f00b2367 [-] BO : FixBug #PSCFV-10882 - Add json encode and decode smarty modifier via tools class 2013-10-30 18:28:17 +01:00
djfm
c958436a76 // Dutch installer translations 2013-10-30 17:26:22 +00:00
djfm
a56fb7c639 // Polish installer translations 2013-10-30 17:06:52 +00:00
djfm
16efe89bed // improved installer translations: no colons in translations and filled some missing fields 2013-10-30 16:57:30 +00:00
gRoussac
56799f53c8 [-] Bo : AdminImport customer group default 2013-10-30 17:12:20 +01:00
Jerome Nadaud
da43700361 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-30 16:48:26 +01:00
Jerome Nadaud
d7b46e80af [+] BO : Add debug mode system 2013-10-30 16:48:16 +01:00
gRoussac
b311a0c719 [-] BO : Fix bug #PSCFV-10872 AdminImport could not import supllier orders 2013-10-30 16:06:38 +01:00
Rémi Gaillard
a0f4eab4c1 // typo 2013-10-30 15:40:40 +01:00
gRoussac
9ef10ee806 [-] IN : Handle RC PHP_VERSION 2013-10-30 15:03:07 +01:00
Rémi Gaillard
f9b1545037 // missing file 2013-10-30 14:59:08 +01:00
Rémi Gaillard
c56e8471c2 [-] BO: fix the checkbox of shop activation on modules configuration 2013-10-30 14:57:15 +01:00
gRoussac
8953c55b7f [-] BO : Adminimport default customers group 2013-10-30 12:30:22 +01:00
Jérôme Nadaud
653c38e01a Merge pull request #911 from madef/development
[-] BO : tagify call twice if field is not translatable
2013-10-30 00:55:53 -07:00
Madef
78af47e2d3 [-] BO : tagify call twice if field is not translatable 2013-10-29 23:18:34 +01:00
gRoussac
26b4fbf883 [*] BO : Manual merge of https://github.com/PrestaShop/PrestaShop/pull/891 1/2 2013-10-29 19:07:31 +01:00
gRoussac
c98b5e0c78 [*] CORE : Manual merge of https://github.com/PrestaShop/PrestaShop/ thanks @kpodemski 2013-10-29 19:05:21 +01:00
Rémi Gaillard
6d5ca9969e // js error 2013-10-29 17:56:29 +01:00
Gregory Roussac
90bef56c84 Merge pull request #907 from djfm/development
// Frenglish
2013-10-29 08:24:45 -07:00
gRoussac
75cde08776 // update conf message in AdminImport 2013-10-29 16:16:55 +01:00
gRoussac
c6319a754e [-] BO : Stats are empty when no conversion rate 2013-10-29 16:04:15 +01:00
djfm
9d18ef8186 // Frenglish 2013-10-29 14:44:51 +00:00
Gregory Roussac
f58526c701 Merge pull request #905 from PhpMadman/RMARef
[-] BO : Order-follow displayed order id instead of order reference
2013-10-29 07:44:26 -07:00
Damien Metzger
d5eedd5eaa Merge pull request #906 from djfm/development
// Small fix
2013-10-29 07:42:07 -07:00
gRoussac
a43851469e [-] CORE : Currency conversion rate can not be 0 2013-10-29 15:39:17 +01:00
djfm
0288696c90 // English 2013-10-29 14:37:55 +00:00
Rémi Gaillard
64706075d5 // Fix default language on BO forms 2013-10-29 15:32:31 +01:00
PhpMadman
7c1623c7fa [-] BO : Order-follow displayed order id instead of order reference 2013-10-29 14:53:50 +01:00
Jérôme Nadaud
ed2fbba996 Merge pull request #903 from PhpMadman/patch-2
[-] BO : hide stmp options when selecting never send emails
2013-10-29 05:31:02 -07:00
PhpMadman
87bb957431 fixed missing comma 2013-10-29 13:28:00 +01:00
PhpMadman
7b029457e4 [-] BO : hide stmp options when selecting never send emails 2013-10-29 12:41:24 +01:00
Jerome Nadaud
b605f33359 [-] BO : FixBug #PSCFV-10866 - Tagify system not working 2013-10-29 12:07:30 +01:00
Jerome Nadaud
580e201c48 [-] BO : FixBug #PSCFV-9319 - display only valid order id 2013-10-29 11:38:48 +01:00
gRoussac
d409614222 [-] FO : CustomerMessage ip_address to string 2013-10-29 11:18:53 +01:00
djfm
e1c7541a38 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-29 10:01:00 +00:00
gRoussac
1bee84d26c [-] BO : Do not delete other default jpg when _deleteOldImages and type defined 2013-10-29 10:57:33 +01:00
gRoussac
af61191a7e // rename field Action when out of stock 2013-10-29 10:55:46 +01:00
Rémi Gaillard
07222be5dd // demo mode on ajaxfilemanager 2013-10-29 10:53:00 +01:00
Jerome Nadaud
9f2580f3bd Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-29 10:31:12 +01:00
Jerome Nadaud
d2e475dd3a // Removed line from merge 2013-10-29 10:30:59 +01:00
Rémi Gaillard
2b67d7072c // type of logger field 2013-10-29 10:18:29 +01:00
Gregory Roussac
b885c63564 Merge pull request #900 from kpodemski/patch-10
[*] MO: productcomments optimization
2013-10-29 02:06:56 -07:00
Gregory Roussac
d74291e5b5 Merge pull request #901 from kpodemski/patch-11
[*] MO: blocksharefb optimization
2013-10-29 02:06:25 -07:00
Jerome Nadaud
1d90218e0d // Update mailalert module version 2013-10-29 10:00:57 +01:00
Jerome Nadaud
9660cef0aa [-] MO : mailalert - Fix deprecated warning on displayDate 2013-10-29 09:58:42 +01:00
Jérôme Nadaud
4b1f198cc4 Merge pull request #899 from cedricfontaine/patch-3
Update stores.js
2013-10-29 01:43:03 -07:00
gRoussac
0aca1d4a67 [*] BO : AdminProducts find smallest images 2013-10-29 08:47:41 +01:00
Krystian Podemski
526f32b6a0 [*] MO: blocksharefb optimization 2013-10-28 23:24:32 +01:00
Krystian Podemski
faa4a18a82 [*] MO: productcomments optimization 2013-10-28 23:21:35 +01:00
gRoussac
79cba4b655 [-] FO : Fix bug #PSCFV-10851, no shop restriction in vouchers display in cart 2013-10-28 19:00:00 +01:00
cedricfontaine
0ba8fbc39a Update stores.js
Phone number is already in the address field
2013-10-28 13:46:42 -04:00
Rémi Gaillard
edf54eb2ca // re-generate class_index on the first step of install 2013-10-28 18:43:02 +01:00
gRoussac
e86c56172d [*] FO: Can not establish purchase total when tax incl. 2013-10-28 17:42:23 +01:00
Jerome Nadaud
48b7a49b1a // Product image upload failed with bad content-type header 2013-10-28 14:58:19 +01:00
Gregory Roussac
12a257db7a Merge pull request #898 from Jacky75/blulab20131028-slider-virtualuri
[-] MO : homeslider stores slider about multistore with virtual uri
2013-10-28 06:53:41 -07:00
Sarah Lorenzini
63141a9c4d [-] FO: fixed bug #PSCFV-10654 - TinyMCE editor: List of products by manufacturer, products by supplier - Long description is not hidden. 2013-10-28 14:48:48 +01:00
Daniele Giachino
c84689ec71 homeslider stores slider about multistore with virtual uri 2013-10-28 14:09:35 +01:00
gRoussac
4103339f53 [-] BO : AdminImport, fix bug from 84454bbc1c (commitcomment-4418502) 2013-10-28 11:21:25 +01:00
Gregory Roussac
9a879bc133 Merge pull request #897 from freedayko/development
[*] BO : improved unicode characters replacement in URLs
2013-10-28 03:09:16 -07:00
gRoussac
e1d1479f22 [*] FO : Fix bug #PSCFV-10689 handle image legend 2013-10-27 23:31:36 +01:00
gRoussac
2dbaa5f73b [-] BO : Fix bug #10689, could not set image legend in back office 2013-10-27 22:49:25 +01:00
gRoussac
9a3cfece69 //missing line feed after disable_modsec 2013-10-27 16:05:55 +01:00
Aleksander Palyan
ee06d3114d [*] BO : improved unicode characters replacement in URLs (Russian and Ukrainian characters added) 2013-10-27 15:05:49 +02:00
gRoussac
c5c861b59e [-] MO : Blockwishlist no product image when id_product_attribute is defined, thanks @Broceliande 2013-10-27 13:28:34 +01:00
Julien
0bc1d21432 [-] MO : Fix NetworkError 404 Not Found on admin in blocklayered.php
These files not exists :
 - /js/jquery/jquery-ui-1.8.10.custom.min.js
 - /css/jquery-ui-1.8.10.custom.css
2013-10-26 15:08:07 +02:00
gRoussac
4c484afda1 [-] MO : Fix bug #PSCFV-10841, blockcart hides on product page when last product is removed from cart 2013-10-25 17:37:32 +02:00
gRoussac
025b62f995 // norms 2013-10-25 17:33:44 +02:00
Fabio Chelly
8f6a5bb3a1 Merge remote-tracking branch 'origin/development' into development 2013-10-25 17:01:51 +02:00
Fabio Chelly
a7d0794c43 [-] BO : Fixed bug PSCFV-9910 using basic queries to prevent locking errors 2013-10-25 17:01:28 +02:00
Gregory Roussac
6359c1ca33 Merge pull request #893 from neemzy/development
[*] FO : Turned "true" and "false" strings to proper booleans in address.tpl
2013-10-25 07:42:59 -07:00
Tom Panier
9a26cf02a8 Turned "true" and "false" strings to proper booleans
It's cleaner this way, and matches how it is done on similar templates.
2013-10-25 16:36:39 +02:00
gRoussac
eb8ea1cba5 [-] CORE : SetEnv in if statement 2013-10-25 15:29:15 +02:00
gRoussac
4e6585a1b8 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-25 15:21:55 +02:00
gRoussac
a03efe152c [-] CORE : SetEnv not available on all config // @todo curl request on dummy .htacces 2013-10-25 15:21:40 +02:00
gRoussac
942d3c7151 [-] MO : Fixbug #PSCFV-10679 dateofdelivery PDF invoice array and array 2013-10-25 00:01:25 +02:00
gRoussac
1e094f4016 [-] FO: Fix bug #PSCFV-10623 blocknewproducts shows products when PS_NB_DAYS_NEW_PRODUCT == 0 2013-10-24 23:29:23 +02:00
gRoussac
a9643c80c3 // bad commit sorry 2013-10-24 22:45:43 +02:00
gRoussac
438a3dda2b [-] BO : Fix bug #PSCFV-10718 AdminAttachments old file not deleted on update 2013-10-24 22:42:13 +02:00
gRoussac
4cd3e1b830 [-] FO: Fix bug #PSCFV-10230, Blockspecials still caching when files cache limit is 0 2013-10-24 21:59:32 +02:00
gRoussac
97ef888345 [-] FO: Fix bug #PSCFV-10625 Js error on carriers step if AjaxCart disabled 2013-10-24 21:28:22 +02:00
Gregory Roussac
4207bdff32 Merge pull request #890 from indesign47/patch-14
[-] BO : AdminImport change width height depth
2013-10-24 09:43:54 -07:00
Jerome Nadaud
6f57093f50 [-] BO : FixBug #PSCFV-10600 - Unmatched Boundary with mod_security 2013-10-24 18:36:36 +02:00
indesign47
8cb1806e49 // small fixes for Width Height Depth
change
0,1;0,2;0,3
to
1,2,3
2013-10-24 18:13:05 +02:00
gRoussac
759fe2f671 // norms 2013-10-24 18:09:21 +02:00
Gregory Roussac
0416aca547 Merge pull request #889 from PhpMadman/PSCFV-10728
[-] BO : fix #PSCFV-10728, prices incorrectly formatted when creating new order from BO
2013-10-24 09:06:43 -07:00
Rémi Gaillard
cc3363011e // rewrited urls for feeder module 2013-10-24 17:54:44 +02:00
PhpMadman
c516035e0e [-] BO : fix #PSCFV-10728, prices incorrectly formatted when creating new order from BO 2013-10-24 17:19:28 +02:00
gRoussac
c5324a653b [-] IN: Fix bug #PSCFV-10644 no carrier available after upgrade from 1.4.x 2013-10-24 16:31:50 +02:00
Rémi Gaillard
3cd702da42 [-] WS: Fix stockavailables list when stock is shared between shops #PSCFV-10793 2013-10-24 16:30:02 +02:00
Gregory Roussac
65401efcb6 Merge pull request #887 from indesign47/patch-13
[*] BO : AdminImport add img manufacturers-suppliers
2013-10-24 07:22:57 -07:00
indesign47
84454bbc1c [*] BO : AdminImport add img manufacturers-suppliers 2013-10-24 16:16:29 +02:00
indesign47
f0ed5a303c [*] BO : AdminImport add img suppliers 2013-10-24 15:49:56 +02:00
indesign47
4803530eed [*] BO : AdminImport add img manufacturers 2013-10-24 15:47:31 +02:00
indesign47
ea8a5277f2 [*] BO : AdminImport add img manufacturers-suppliers 2013-10-24 15:44:11 +02:00
gRoussac
2ffc296279 FO : https://github.com/PrestaShop/PrestaShop/pull/878 2013-10-24 12:03:33 +02:00
Rémi Gaillard
971722a13f // note updated by ajax in admincustomers should be url encoded 2013-10-24 11:56:50 +02:00
gRoussac
fc9b39968b // remove notice 2013-10-24 11:46:09 +02:00
gRoussac
81945cef71 [-] FO : Follow up https://github.com/PrestaShop/PrestaShop/pull/879 2013-10-24 10:00:19 +02:00
Gregory Roussac
1cc0134ec3 Merge pull request #879 from neemzy/development
[-] FO : OPC hide VAT fields fail if there are no company fields
2013-10-24 00:55:55 -07:00
Fabio Chelly
b9de912dd3 [-] MO : Fixed bug PNM-1431 - referralprogram Lack the % sign 2013-10-24 09:53:16 +02:00
Tom Panier
6d3640e895 Conditions to hide VAT fields fail if there are no company fields
"Company" fields may or may not be rendered on this form, whereas "VAT" fields are always rendered and depend on the former ones to be shown (or hidden) with CSS.

This fixes an edge case where there are no "Company" fields rendered and "VAT" fields still wrongly appear, which was caused by the fact that `$('#field').val() != ''` is truthy when `$('#field').length` is zero (since `'' != undefined`).
2013-10-24 09:43:50 +02:00
gRoussac
56693da6e0 // remove warning Notice: Undefined variable: connections in AdminCustomersController.php on line 702 2013-10-23 19:02:13 +02:00
gRoussac
3e33a259ef [-] BO : FIx bug #PSCFV-10736 again, fixing query when product is not in base 2013-10-23 18:33:37 +02:00
gRoussac
8e506ddff2 [-] BO : FIx bug #PSCFV-10736, could not load a product given from getBoughtProducts 2013-10-23 18:16:45 +02:00
gRoussac
03ad842697 [-] BO : Fix bug #PSCFV-10790, Customer group names not exploded 2013-10-23 16:07:28 +02:00
Rémi Gaillard
554ab9414f [-] BO: product listing should call Product::getPriceStatic() with the product default shop in the context when it is not a shop context 2013-10-23 15:08:02 +02:00
Rémi Gaillard
747ec9a2c4 // notice on carrierwizard when step back 2013-10-23 14:50:30 +02:00
Gregory Roussac
2f5e15e2b1 Merge pull request #874 from PhpMadman/patch-5
[-] FO: Mobile theme removed width on message product select
2013-10-23 03:04:25 -07:00
PhpMadman
373604fc97 [-] FO: removed width on message product select
Limiting select could make the user think the select is not working if they click to much to the left on bigger screens
2013-10-23 11:52:35 +02:00
gRoussac
101b37b40a Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-23 11:45:26 +02:00
gRoussac
ad4ecefcf9 [-] FO : Prevent fatal error on getUniqReference when order not loaded 2013-10-23 11:44:12 +02:00
Fabio Chelly
3e999ab591 [-] MO blockcart
#PNM-1685 - [CODE] incorrect spelled variable in ajax-cart.js
2013-10-23 10:56:48 +02:00
Fabio Chelly
010ad76e6f Merge remote-tracking branch 'origin/development' into development 2013-10-23 10:55:35 +02:00
Fabio Chelly
5fd3ad5adf [*] FO ProductSale: improves calculation of most selled products when there are a lot of products in shop 2013-10-23 10:55:23 +02:00
Rémi Gaillard
6cddb57ce3 [-] BO: Synchronize stock available after receipt supply order items #PSCFV-10724 2013-10-23 10:34:00 +02:00
gRoussac
ae63336a37 [-] BO : Fix bug #PSCFV-10638, Admin Import by reference moves products to home category 2013-10-23 01:41:05 +02:00
gRoussac
feca06417f // definition on addFeatureValueImport 2013-10-23 01:23:35 +02:00
gRoussac
5d28d38a22 [-] BO : Fix bug #PSCFV-7907 AdminImport, add custom field to features 2013-10-23 01:18:09 +02:00
Gregory Roussac
398548fecf Merge pull request #864 from samy-r/features-duplication-escaping
[-] CORE : pSQL for feature values
2013-10-22 10:20:44 -07:00
Gregory Roussac
83d4d0d258 Merge pull request #872 from ldecoker/patch-11
[-] PDF : {else if} instead of {elseif} (B2B invoice template)
2013-10-22 10:19:31 -07:00
Gregory Roussac
c401e61b81 Merge pull request #871 from ldecoker/patch-10
[-] PDF  : {else if} instead of {elseif}
2013-10-22 10:18:57 -07:00
Gregory Roussac
5bb4d48ddd Merge pull request #870 from djfm/development
[*] LO : Fixed a few bugs with currency formats in Back-Office orders
2013-10-22 10:17:11 -07:00
Gregory Roussac
e557db6429 Merge pull request #866 from studiokiwik/sk-ps15x-007
[-] MO : Loyalty if customer is logged do not recreate it
2013-10-22 10:15:55 -07:00
ldecoker
ce4170574c [PDF] [-] {else if} instead of {elseif} (B2B invoice template) 2013-10-22 18:57:12 +02:00
ldecoker
e6e2db8400 [PDF] [-] {else if} instead of {elseif} 2013-10-22 18:55:32 +02:00
Gregory Roussac
70d2e6e10b Merge pull request #868 from ldecoker/patch-8
[-] BO : Notices onBO translation page
2013-10-22 08:03:06 -07:00
ldecoker
7cbaada844 [BO][-] Notice messages when accessing the BO translation page
When accessing the translation part with "core translation" , you got 2 errors:
Notice: Use of undefined constant _PS_THEME_SELECTED_DIR_ - assumed '_PS_THEME_SELECTED_DIR_' in controllers\admin\AdminTranslationsController.php on line 1018

Notice: Use of undefined constant _PS_THEME_SELECTED_DIR_ - assumed '_PS_THEME_SELECTED_DIR_' in \controllers\admin\AdminTranslationsController.php on line 1026

It's because the variable $this->theme_selected is not set for that case.
2013-10-22 17:00:56 +02:00
Gregory Roussac
bc7e8eb355 Merge pull request #867 from PhpMadman/patch-4
[-] FO: Removed missplaced </li> on mobile theme
2013-10-22 07:50:21 -07:00
Fabio Chelly
bc38b542fe Merge remote-tracking branch 'origin/development' into development 2013-10-22 15:53:43 +02:00
Fabio Chelly
2989538ce1 [*] BO Module mailalerts: send e-mail to merchand when product is out of stock 2013-10-22 15:53:20 +02:00
PhpMadman
e857fb5978 [*] FO: Removed missplaced </li> on mobile theme 2013-10-22 13:34:52 +02:00
gRoussac
1ae587475b [-] MO : Fix bug #PSCFV-10787, cms associated to all shops 2013-10-22 12:19:58 +02:00
gRoussac
d20aea0563 [-] BO : Fix bug #PSCFV-10767, could not retrieve feature value when product IDs not forced 2013-10-22 11:27:45 +02:00
Gaelle ITZKOVITZ
ce8d01ad4c [-] MO : if customer is logged we do not recreate it 2013-10-22 11:09:53 +02:00
gRoussac
2aa52356ad [-] BO : Fix bug #PSCFV-10607 one upload name 2013-10-22 09:39:59 +02:00
gRoussac
c1ecf43be8 [-] MO : Fix bug #PSCFV-10775, could not upload .jpeg in TinyMCE 2013-10-21 17:39:20 +02:00
gRoussac
16ffbd8ee5 // norms 2013-10-21 16:46:22 +02:00
gRoussac
61884ec223 // norms 2013-10-21 16:31:56 +02:00
gRoussac
a05c748e81 // addJqueryPlugin receives array in first argument 2013-10-21 15:05:03 +02:00
gRoussac
a9e45fccf3 [-] MO : ScrollTo not loaded 2013-10-21 14:35:23 +02:00
gRoussac
d25b41ef97 [-] BO : wrong csv files name 2013-10-21 14:34:59 +02:00
Samy Rabih
5d8c0a0fc2 duplicateFeatures doesn't protect feature values
The features values are not protected using pSQL during the features
duplication
2013-10-21 14:08:30 +02:00
gRoussac
15cd0b9fbc [-] BO : Report of fd86a29c5c 2013-10-21 12:21:49 +02:00
Gregory Roussac
3dea171047 Merge pull request #862 from PhpMadman/patch-3
[-] PDF : Removed unused code in FrontOffice PDF Invoice
2013-10-21 01:15:39 -07:00
PhpMadman
35df3f463c Removed unsed code
I looked through the code. And I can't see that that code is used. everything is handled in PDF class.
2013-10-21 10:10:28 +02:00
Rémi Gaillard
198e75245d [-] FO: Don't auto detect language if it not associated to the shop #PSCFV-10273 2013-10-21 09:41:00 +02:00
Gregory Roussac
8ef22c3548 Merge pull request #823 from kpodemski/patch-8
[*] IN: Add phone_mobile to address format
2013-10-20 16:40:16 -07:00
gRoussac
9b8a7edad8 // small refacto 2013-10-21 01:05:18 +02:00
gRoussac
332c8ff49f [-] CORE : Fix bug #PSCFV-10687 again, #PSCFV-10752 replaceAccentedChars() // sorry for that 2013-10-21 00:28:41 +02:00
gRoussac
c9d20f35b3 // norms 2013-10-21 00:00:17 +02:00
gRoussac
f2d70076bd [-] : Fix bug #PSCFV-4859, could not register invoice address or invoice country in OPC as guest, and phone not required in standard registration 2013-10-20 23:52:48 +02:00
Gregory Roussac
c36625a136 Merge pull request #851 from PrestanceDesign/patch-1
[*] BO : Adding a title tag to display the module name on hover like PS ...
2013-10-18 09:42:57 -07:00
gRoussac
5daa79c1e1 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-18 18:36:51 +02:00
gRoussac
8ef1e043af [*] BO : chmod 664 to config.xml file 2013-10-18 18:36:30 +02:00
PrestanceDesign
6965bb29c1 [*] BO : Adding a title tag to display the module name on hover like PS 1.4 2013-10-18 18:20:15 +02:00
Fabio Chelly
72ccc90cc9 Merge remote-tracking branch 'origin/development' into development 2013-10-18 17:49:14 +02:00
Fabio Chelly
7133e74c17 [-] MO mailalerts: module mailalerts shows all messages regarding the order
PNM-1632 - MailAlert does not show Paypal error message if order has comments
2013-10-18 17:49:00 +02:00
gRoussac
2e2151a1bb [-] CORE : error_get_last > PHP 5.1 2013-10-18 15:29:12 +02:00
Rémi Gaillard
8a682081de // typo 2013-10-18 12:17:51 +02:00
Rémi Gaillard
6747d3bbac [-] BO: Default country should be overriden in the context in multishop 2013-10-18 10:23:06 +02:00
Rémi Gaillard
b8273a13e6 // 2013-10-17 18:30:22 +02:00
gRoussac
3a38af9982 [-] FO : Could not redirect back to url in adress.php 2013-10-17 14:16:54 +02:00
gRoussac
6b1d69dd7d [-] FO : $back value twice escaped 2013-10-17 12:18:23 +02:00
Rémi Gaillard
eb14e25e2a // small fix for some order by on listing 2013-10-17 11:33:05 +02:00
gRoussac
f1ea9ba5b4 [-] BO : Fix bug #PSCFV-10709 rename root category with slashes in it 2013-10-17 10:53:20 +02:00
Rémi Gaillard
e4faa2bb75 [-] Core: Out of stock status should be setted after the first order history 2013-10-17 10:28:14 +02:00
gRoussac
3ba5905042 [-] BO : Could not order by reserved words like 'key' 2013-10-16 16:25:40 +02:00
Rémi Gaillard
22fd1b84c4 Merge pull request #847 from MustangZhong/patch-1
[-] WS: Missing field on Cart::getWsCartRows()
2013-10-16 00:58:16 -07:00
MustangZhong
ad27dbe8d1 Update Cart.php
The field "id_address_delivery" is missing in getWsCartRows.
Since id_address_delivery is required in the web service field definition.
2013-10-16 10:14:14 +08:00
Rémi Gaillard
6ee538c710 // fix on ps_cleaner 2013-10-15 19:53:59 +02:00
gRoussac
237b950eb6 [-] FO : #PSCFV-10640 again, bad assignement 2013-10-15 16:35:58 +02:00
gRoussac
7ae9832992 // small cast 2013-10-15 14:56:25 +02:00
gRoussac
81497be5ab [-] Fo : Fix bug #PSCFV-10640, redirect loop when country address is not among active countries in OPC 2013-10-15 14:53:44 +02:00
Rémi Gaillard
837ca34e7e [-] Core: Product::getPriceStatic called with 1 quantity return the specific price for 1 qty if called with id_cart = 0 2013-10-15 10:30:48 +02:00
gRoussac
9c861642a5 [-] BO : AdminImport, wrong default separators 2013-10-15 10:09:16 +02:00
Gregory Roussac
dec9ef40a8 Merge pull request #841 from indesign47/patch-10
[+] BO : AdminImport add entity Alias
2013-10-15 01:03:33 -07:00
djfm
b4e18954f9 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-15 07:22:03 +00:00
Francois Gaillard
fd2dc4ff64 [-] Classes : Modules listing and case insensitive 2013-10-15 09:14:49 +02:00
indesign47
f25a418785 Update Alias.php 2013-10-14 19:20:38 +02:00
Rémi Gaillard
6f4b85430c // Fix listings and sort 2013-10-14 18:52:48 +02:00
Gregory Roussac
2a28e47650 Merge pull request #799 from Lupul/development
[-] BO : Fixed Bug what displayed Dashboard sales statistics in wrong currency
2013-10-14 08:37:28 -07:00
Gregory Roussac
f3755e2d0a Merge pull request #843 from ldecoker/patch-10
[-] BO : AdminMeta - make sure module and controller name are in lowercase
2013-10-14 07:46:56 -07:00
Gregory Roussac
bce6e8f09f Merge pull request #837 from axometeam/patch-21
[-] BO : bad query when filtering on status + sorting by quantity in the AdminProducts getList
2013-10-14 07:45:52 -07:00
gRoussac
cc8ec4fd45 [-] CORE : Fix bug #PSCFV-10687 bad conversion for accentuated Y and W, thanks @mike15 2013-10-14 16:03:50 +02:00
gRoussac
80f6f4e223 [-] FO : Fix bug #PSCFV-10688, bad priceDisplay in order-carrier 2013-10-14 15:34:47 +02:00
gRoussac
50002ec714 [-] FO : Fix #PSCFV-10690 again, change just on directories 2013-10-14 14:23:26 +02:00
gRoussac
c6e3e28894 [-] FO : Fix bug #PSCFV-10690 could not index a category beacause of robot.txt 2013-10-14 14:20:11 +02:00
gRoussac
f8edca8ac8 [-] IN : Fix bug #PSCFV-10539 duplicate "address" url rewrite in meta.xml for Russian 2013-10-14 13:59:19 +02:00
gRoussac
2a54296b96 [-] BO : Fix bug #PSCFV-10692, AdminImport bad utf8 cars for subst 2013-10-14 12:11:47 +02:00
gRoussac
1adfa1584c Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-14 11:37:51 +02:00
gRoussac
1358c696cd [-] BO : Fix #PSCFV-10678 warning in chrome 2013-10-14 11:37:15 +02:00
djfm
5e407db21e [*] LO : Fixed a few bugs with currency formats in Back-Office orders 2013-10-14 09:30:45 +00:00
Jerome Nadaud
3282bd19e4 // Small fix 2013-10-14 10:59:20 +02:00
Rémi Gaillard
3bc02bbe10 // fields are already correctly formated when they are in a object coming from the database 2013-10-14 10:56:38 +02:00
gRoussac
af9182dad5 [-] CORE , follow up b87e934a66 and a10dcab6e7 2013-10-14 10:51:17 +02:00
Gregory Roussac
3539eb3697 Merge pull request #842 from kiropowered/patch-1
[-] CORE : StockMvt Fix bug if product have attribute
2013-10-14 01:30:30 -07:00
ldecoker
a377ecd571 Update Meta.php
Use strtolower from Tools class.
2013-10-14 09:53:50 +02:00
ldecoker
8d7e96176c SEO - make sure module and controller name are in lowercase
For module controller, make sure that the name of the controller and the module are saved in lowercase. Otherwise the route will not be found in getModuleLink.
2013-10-14 09:38:04 +02:00
gRoussac
f9cfde9a05 [-] MO : Trackingfront, could not load employee stats date 2013-10-12 23:24:32 +02:00
gRoussac
ee29f4365e [-] FO : Copuld not load datepicker in trackingfront stats.php 2013-10-12 17:54:26 +02:00
kiropowered
a10dcab6e7 Update StockMvt.php
Fix bug if product have attribute
2013-10-12 14:28:27 +02:00
indesign47
0a441b9a4b Update Alias.php 2013-10-12 11:49:27 +02:00
indesign47
4f9191fe0c Update form.tpl 2013-10-12 11:45:07 +02:00
indesign47
2afbe8fd04 Create alias_import.csv 2013-10-12 11:39:29 +02:00
indesign47
85c6e799c3 [+] BO : AdminImport add entity Alias 2013-10-12 11:33:36 +02:00
Gregory Roussac
418155cf2b Merge pull request #838 from pelTek/patch-1
BO: added UPC and EAN search
2013-10-11 11:52:22 -07:00
Chris
3f6139be42 BO: added UPC and EAN search 2013-10-11 21:02:01 +03:00
Axome
9d5a9225e5 Correct some "bad query" in the admin products getList
Here the wrong Sql generated :

SELECT SQL_CALC_FOUND_ROWS a.`id_product`,b.name as name,`reference`,a.price as price,a.active as active , MAX(i.id_image) id_image,cl.name `name_category` , a.`price`, 0 AS price_final, sav.`quantity` as sav_quantity, a.`active` FROM `ps_product` a LEFT JOIN `ps_product_lang` b ON (b.`id_product` = a.`id_product` AND b.`id_lang` = 2 AND b.`id_shop` = 1) LEFT JOIN `ps_image` i ON (i.`id_product` = a.`id_product` AND i.cover=1)LEFT JOIN `ps_category_lang` cl ON (a.`id_category_default` = cl.`id_category` AND b.`id_lang` = cl.`id_lang` AND cl.id_shop = 1) LEFT JOIN `ps_stock_available` sav ON (sav.`id_product` = a.`id_product` AND sav.`id_product_attribute` = 0 AND sav.id_shop = 1 ) WHERE 1 AND a.`active` = 0 GROUP BY a.id_product ORDER BY quantity desc LIMIT 0,50 

'quantity' is ambigus (for the ORDER BY)
2013-10-11 18:17:55 +02:00
Gregory Roussac
0dbaa59985 Merge pull request #836 from mkdgs/patch-1
[*] MO : blocktopmenu adding clear cache of AddAfter hook for Cms, Supplier, Manufaturer and Product
2013-10-11 09:05:15 -07:00
Rémi Gaillard
06c62c1684 [-] WS: Fix #PSCFV-10672 order by ID for non multishop entities 2013-10-11 17:53:15 +02:00
Jerome Nadaud
0f9c81a683 [-] BO : FixBug #PSCFV-10671 - remove htmlentities on customer message 2013-10-11 17:29:44 +02:00
gRoussac
a07733fcec [-] BO : Could not insert referrer id_connections_source can not be null 2013-10-11 16:52:53 +02:00
Mickael Desgranges
1786f8e907 Update blocktopmenu.php
Fix: block top menu is not updated when content is added in CMS

adding support of AddAfter hook for Cms, Supplier, Manufaturer and Product
2013-10-11 16:42:21 +02:00
Fabio Chelly
9fc9df6ba4 Merge remote-tracking branch 'origin/development' into development 2013-10-11 16:38:09 +02:00
Fabio Chelly
9e3b82e8ed [*] BO Module productcomments: JS variables are correctly escaped. Padding in error message has also been pushed to theme tpl 2013-10-11 16:37:26 +02:00
gRoussac
8cfe9a2065 [-] Bo : Could not update mailalert 2.5 with id_lang missing 2013-10-11 16:19:54 +02:00
gRoussac
45e9040606 [-] Bo : Could not update mailarler 2.5 with id_mlang 2013-10-11 15:51:02 +02:00
Jerome Nadaud
1a1f3de775 [-] BO: Fixbug #PSCFV-10671 - Double htmlentities. 2013-10-11 13:33:31 +02:00
Gregory Roussac
6c739ee2b3 Merge pull request #833 from djfm/development
[*] LO : set correct currency format for CHF
2013-10-11 01:58:10 -07:00
Fabio Chelly
5c66ed4791 Merge remote-tracking branch 'origin/development' into development 2013-10-11 10:51:50 +02:00
Fabio Chelly
d1a7ff50d5 [*] BO Module watermark: minimum transparency level is 1 and not 0. 2013-10-11 10:51:28 +02:00
gRoussac
7b02da5fdf // bad commit sorry 2013-10-11 10:32:30 +02:00
gRoussac
36ca7bc508 [-] BO : AdminImport, fix Group searchByName 2013-10-11 10:23:17 +02:00
fchellypresta
075a911cee Merge pull request #830 from indesign47/patch-5
[-] MO : productcomments errors translated in multi-language
2013-10-11 00:40:32 -07:00
fchellypresta
6f878353a6 Merge pull request #831 from indesign47/patch-7
[-] MO : productcomments round average up not down
2013-10-11 00:29:37 -07:00
djfm
bb96c8754f [*] LO : set correct currency format for CHF 2013-10-11 07:14:30 +00:00
gRoussac
dc1632a8b0 [-] BO : Adminimport, id_specific key_price not defined 2013-10-10 22:04:42 +02:00
Gregory Roussac
a87bbf84b4 Merge pull request #825 from indesign47/patch-4
[-] BO : AdminImport add available fields to Products
2013-10-10 10:22:43 -07:00
Damien Metzger
4505387046 // Try to fix regexp issues with some PHP configurations 2013-10-10 18:41:50 +02:00
gRoussac
286084c42d Merge branch 'master' of https://github.com/DarkHack/PrestaShop into contrib/master
Conflicts:
	controllers/admin/AdminImportController.php
2013-10-10 17:06:13 +02:00
Jerome Nadaud
789911184b [-] BO : FixBug - Remove second email in recipient 2013-10-10 15:04:32 +02:00
gRoussac
39a543188a [-] BO : Fix bug #PSCFV-10660, could not delete csv file on NT 2013-10-10 14:54:12 +02:00
Damien Metzger
9bae53a4d9 Merge pull request #828 from djfm/development
// fixed name of gender 2 in English
2013-10-10 03:08:40 -07:00
djfm
819dac6622 // fixed name of gender 2 in English 2013-10-10 09:36:05 +00:00
François Gaillard
8d1bca5542 Merge pull request #768 from enumag/patch-4
[-] Classes : Hook - Display payment method & custommer currency bug fix
2013-10-09 13:52:09 -07:00
Fabio Chelly
246340b78c [*] BO Module search: Enter key is now disabled in quick search field (field is correctly aligned) 2013-10-09 18:33:41 +02:00
Fabio Chelly
75ffa8c4f8 [*] BO Module search: Enter key is now disabled in quick search field 2013-10-09 18:30:09 +02:00
Jerome Nadaud
f6bbb6e241 // Fix duplicate invoice delivery number 2013-10-09 17:43:43 +02:00
Jerome Nadaud
68d84892c7 // remove self:: 2013-10-09 16:40:09 +02:00
Jerome Nadaud
2feb5dd8d2 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-10-09 16:31:09 +02:00
Jerome Nadaud
d0a4636966 [-] BO : FixBug #PSCFV-9957 - Duplicate order invoice number 2013-10-09 16:29:15 +02:00
Vincent Augagneur
d796d0012e [-] BO : fixed bug #PSCFV-10637 PS_CARRIER_DEFAULT is not updated after edit default carrier 2013-10-09 15:25:02 +02:00
Gregory Roussac
df4ae671a2 Merge pull request #826 from gouz/patch-4
[-] BO : Export DeliverySlip, the dates range using delivery_date but date_add
2013-10-09 06:02:52 -07:00
gRoussac
df97566018 [-] BO : AdminImport no default value for separators 2013-10-09 13:57:36 +02:00
gRoussac
338efcad7f [-] CORE : $smarty->compile_check is not set to false, thanks @prestamodule 2013-10-09 12:14:49 +02:00
Sylvain Gougouzian
7a6dea4964 [~] BO : Export DeliverySlip
The dates range wasn't using the correct sql fields.
2013-10-09 10:39:24 +02:00
gRoussac
008c6ce759 [-] FO : Fix bug #PSCFV-10497 cart_block hooked on column disappearing 2013-10-08 18:37:50 +02:00
gRoussac
85946bacbe // small cast 2013-10-08 18:35:56 +02:00
Gregory Roussac
cd8af9ae67 Merge pull request #824 from Prestaworks/patch-14
[-] BO : Fixes issue where path is not printed when error with email template saves occur.
2013-10-08 05:57:21 -07:00
Daniel
fa88a0bd93 Update AdminTranslationsController.php
Fixes issue where path is not printed when error with email template saves occur.
2013-10-08 20:54:52 +08:00
Rémi Gaillard
2899dfba5e // Fix AdminTranslationsController::addNewTabs() 2013-10-08 14:53:02 +02:00
Krystian Podemski
ae7d33effe [*] CORE: Add phone_mobile to address format
I honestly do not know why you decided by default to show only the first field of the phone :)

Users often ask me why they don't see their mobile phone on orders in BO.
2013-10-08 11:11:24 +02:00
gRoussac
e4a642128a [-] FO : Fix bug #PSCFV-10606 could not have correct taxCalculationMethod when vat number in customer address 2013-10-08 11:09:52 +02:00
Zollner Robert
30adb0932d [-] BO : pass correct typed parameter to setCurrency 2013-10-07 23:42:26 +03:00
Rémi Gaillard
7d0e9a5f06 // Fix double entities on AdminLog listing #PSCFV-10472 2013-10-07 19:37:58 +02:00
Gregory Roussac
4daaa206d2 Merge pull request #818 from cedricfontaine/patch-2
[-] MO : Price should apply tax as in configuration.
2013-10-07 09:55:35 -07:00
Gregory Roussac
644e38c05f Merge pull request #817 from cedricfontaine/patch-1
[-] MO :Loyalty voucher should be without taxes, otherwise points would be negative.
2013-10-07 09:54:22 -07:00
Francois Gaillard
77b2b4b6ca // Manual merge PS 1.5.6.0 2013-10-07 18:22:55 +02:00
cedricfontaine
d63288affd Update loyalty.php
Price should apply tax as in configuration.
2013-10-07 12:14:13 -04:00
Damien Metzger
c51fe5b22d // Changelog 1.5.6.0 2013-10-07 18:07:25 +02:00
cedricfontaine
717e195f57 Update LoyaltyModule.php
Voucher should be without taxes, otherwise points would be negative.
2013-10-07 12:07:03 -04:00
Gregory Roussac
f78a093a1c Merge pull request #815 from PrestanceDesign/development
[*] TR : Italian translation of the country instead of English
2013-10-07 08:39:39 -07:00
PrestanceDesign
f9f5a4b090 Italian translation of the country instead of English 2013-10-07 16:45:22 +02:00
Gregory Roussac
92ffb1eab1 Merge pull request #812 from djfm/release
[*] TR : updated Russian installer
2013-10-07 03:25:42 -07:00
Francois Gaillard
f4610c06e0 [-] BO : Bug fix - Modules confirmation messages 2013-10-07 12:21:16 +02:00
Francois Gaillard
68cba08303 [-] BO : Bug fix - Modules confirmation messages 2013-10-07 12:18:44 +02:00
djfm
2969a7f74c // updated Russian installer 2013-10-07 10:14:43 +00:00
Rémi Gaillard
1ed26e2d4e // default perms profiles 2013-10-07 12:13:59 +02:00
gRoussac
302260539b // Report from ebf09792e9 2013-10-07 12:08:39 +02:00
gRoussac
d125ca0a36 [-] FO : isVirtualCart was forced to false 2013-10-07 12:06:28 +02:00
gRoussac
adb1779764 [-] FO : isVirtualCart was forced to false 2013-10-07 12:02:47 +02:00
Fabio Chelly
a652590885 Merge remote-tracking branch 'origin/development' into development 2013-10-07 11:34:56 +02:00
Fabio Chelly
2515d81bdd [*] BO Module search: Quick search can now search modules by name and not only display name 2013-10-07 11:34:16 +02:00
Gregory Roussac
bf65404413 Merge pull request #810 from studiokiwik/sk-ps15x-001
[-] MO : button tag on line 56 weren't closed
2013-10-07 02:29:19 -07:00
gRoussac
e3db5570d0 [-] BO : Retro compat, PS_ADMIN_DIR not defined //bad commit sorry 2013-10-07 11:24:42 +02:00
Gregory Roussac
68131dc28b Merge pull request #811 from studiokiwik/sk-ps15x-002
[-] TR : typo fixed in polish installer translation (line 85)
2013-10-07 01:59:10 -07:00
gRoussac
7a7da1097d [-] BO : Employee's default_tab may not exists, switching to AdminOrders 2013-10-07 10:53:03 +02:00
gRoussac
df0a24d63c [-] BO : Retro compat, PS_ADMIN_DIR not defined 2013-10-07 10:47:41 +02:00
Tomasz Slominski
4254ae6edc typo fixed in polish installer translation (line 85) 2013-10-07 10:05:43 +02:00
Vincent Augagneur
3f4f298ad4 [-] CORE fixed bug #PSCFV-10595 - small fix in function addJqueryPlugin() 2013-10-07 10:01:26 +02:00
Gregory Roussac
2a475d066f Merge pull request #803 from ldecoker/patch-8
[-] BO : Missing $php_self variable in OrderDetailController.php
2013-10-07 01:00:42 -07:00
Tomasz Slominski
b941ac007b bugfix: button tag on line 56 weren't closed 2013-10-07 09:57:55 +02:00
Damien Metzger
d6ffb45eb1 Merge pull request #809 from djfm/kill_miss
[*] LO : Removed 'Miss' from the default genders because too country specific
2013-10-07 00:57:13 -07:00
djfm
b6bba0c787 [*] LO : Removed 'Miss' from the default genders because too country specific 2013-10-07 07:53:19 +00:00
Rémi Gaillard
3477cac1e0 Merge pull request #800 from Ha99y/20131004_retro-compat.js.php
__DIR__ is available since PHP 5.3
2013-10-07 00:35:02 -07:00
indesign47
d3d0897012 [-] MO : productcomments round average up not down
200 comments with 5 stars and only 1 with 4 stars give only 4 stars
Thanks to manit4c
2013-10-07 04:02:42 +02:00
indesign47
e0978a0b84 [-] MO : productcomments errors translated in multi-language 2013-10-07 03:18:56 +02:00
ldecoker
148348855e Update OrderDetailController.php
Missing $php_self variable
2013-10-06 16:31:54 +02:00
indesign47
b61e3e68b9 Update AdminImportController.php 2013-10-05 10:50:19 +02:00
ha99y
98aea24fc3 __DIR__ was never defined
The JS files would not lode, when in dev mode because __DIR__ was not
defined
2013-10-04 17:18:23 -07:00
Zollner Robert
1787923c4c [-] BO : Fixed Bug what displayed Dashboard sales statistics in wrong currency (changed NULL to lowercase) 2013-10-05 00:42:29 +03:00
Zollner Robert
481cb5c28a [-] BO : Fixed Bug what displayed Dashboard sales statistics in wrong currency 2013-10-04 23:30:24 +03:00
Rémi Gaillard
b2b0c4f00b // remove debug 2013-10-04 18:45:18 +02:00
Rémi Gaillard
2aee99c0b0 [-] FO: Fix display of quantity discounts on product pages if the customer is allowable for multiple discount for the same quantity #PSCFV-10580 2013-10-04 18:37:30 +02:00
Fabio Chelly
48f20a4393 Merge remote-tracking branch 'origin/development' into development 2013-10-04 18:15:32 +02:00
Fabio Chelly
139a74e4cd [*] BO Module search: the PHP search has been replace by a quick search in JS to display results instantly 2013-10-04 18:15:12 +02:00
Jerome Nadaud
121fcdc39f // Fix list start 2013-10-04 16:56:35 +02:00
Vincent Augagneur
fe6494bf35 //fixed bug PSCFV-10567 2013-10-04 16:33:50 +02:00
gRoussac
a4b7fc942f [-] CORE : #PSCFV-10389 Avoid eventual empty Specific Price Rule 2013-10-04 14:11:42 +02:00
Rémi Gaillard
fef8d2beac // Fix group reduction per category 2013-10-04 14:00:42 +02:00
Rémi Gaillard
6dacc07e62 // sometimes, translations files could not exist 2013-10-04 13:19:34 +02:00
indesign47
805989da39 [-] BO : AdminImport add products available fields 2013-10-04 13:04:52 +02:00
Jerome Nadaud
093bf9e065 [-] MO : Blocklayered - Fix expand/collapse tree problem 2013-10-04 11:51:12 +02:00
indesign47
75cb92c329 Update AdminImportController.php 2013-10-04 11:44:52 +02:00
Gregory Roussac
f28131fe9b Merge pull request #795 from indesign47/patch-3
[-] BO : AdminImport add combinations available fields
2013-10-04 02:40:29 -07:00
indesign47
96646b5c7a [-] BO : AdminImport add products available fields 2013-10-04 10:56:41 +02:00
PhpMadman
18ab409eeb [*] BO: #PNM-1472 Changed label and transparency range check to 1
Changed label to 1-100 since, there is no need to set transparency to 0, since it will pretty much will be invisible already at 1
2013-10-04 10:38:03 +02:00
indesign47
a92ced814a [-] BO : AdminImport add combinations available fields 2013-10-04 10:26:38 +02:00
Jerome Nadaud
3d8591c588 [-] MO : Blocklayered - Fix empty fancy box after template edit 2013-10-04 10:14:07 +02:00
Gregory Roussac
09ad15730b Merge pull request #794 from indesign47/release
[-] BO : AdminImport add adresses required fields
2013-10-04 01:02:46 -07:00
indesign47
6c9b71ee58 [-] BO : AdminImport add adresses required fields 2013-10-04 04:35:00 +02:00
indesign47
0af24ab034 [-] BO : AdminImport add adresses required fields 2013-10-04 04:31:51 +02:00
Rémi Gaillard
f100027e5d [-] FO: packages should be splitted with advanced stock management when carrier is not associated to multiple warehouse 2013-10-03 19:21:49 +02:00
Jerome Nadaud
6a0c376a18 [-] MO : Blocklayered - Fix empty fancy box after template edit 2013-10-03 18:58:09 +02:00
gRoussac
62d946ea68 [-] CORE : Fix bug #PSCFV-10179 Duplicate specific price records when updating a product 2013-10-03 18:41:06 +02:00
gRoussac
31f421153d [-] BO : Fix bug #PSCFV-9323 supplier_reference can be unset 2013-10-03 18:20:45 +02:00
gRoussac
c75cda2429 [*] BO : AdminImport, retrieve separators and lang selected 2013-10-03 17:35:20 +02:00
Damien Metzger
e7c860a3dd Merge pull request #792 from djfm/release
// remove backup files
2013-10-03 08:09:41 -07:00
djfm
8580dd0b39 // remove backup files 2013-10-03 15:02:16 +00:00
Damien Metzger
9e837d1ecc // No more translation packs in the ZIP (except for FR and EN), only remotes! 2013-10-03 16:35:54 +02:00
Gregory Roussac
cfd70bf660 Merge pull request #789 from PhpMadman/patch-2
[*] BO: wrong description on getIdOrderCarrier
2013-10-03 07:30:14 -07:00
Rémi Gaillard
0662cd3b12 // don't need to clear smarty cache while installation 2013-10-03 16:29:31 +02:00
Damien Metzger
6c4a69ea0b Merge pull request #790 from djfm/release
// added tab translations to Bengali installer
2013-10-03 07:26:29 -07:00
djfm
b92c9869a4 // added tab translations to Bengali installer 2013-10-03 14:20:08 +00:00
gRoussac
992cc6b437 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-10-03 16:10:37 +02:00
gRoussac
7f32e8d187 [-] BO : Fix bug #PSCFV-10064, could not import feature in multilang, thanks @E.Bigfoot 2013-10-03 16:09:43 +02:00
gRoussac
cafe2ed9d2 [-] BO : Fix bug #PSCFV-10064, could not import deature in multilang, thanks @E.Bigfoot 2013-10-03 16:08:53 +02:00
PhpMadman
e38d808a85 [*] BO: wrong description on getIdOrderCarrier 2013-10-03 15:51:27 +02:00
Gregory Roussac
86631202df Merge pull request #788 from PhpMadman/patch-1
[*] BO: missing align on order for product warehouse
2013-10-03 06:37:58 -07:00
Fabio Chelly
d601844e82 Merge remote-tracking branch 'origin/development' into development 2013-10-03 15:32:27 +02:00
Fabio Chelly
ea57b3fdd1 [-] MO watermark: original pictures are now protected through htaccess
#PNM-109
2013-10-03 15:32:10 +02:00
PhpMadman
f979cbef57 [*] BO: missing align on order for product warehouse 2013-10-03 15:26:09 +02:00
gRoussac
8b2215eec5 // remove warning 2013-10-03 15:02:48 +02:00
gRoussac
0f288583ca [-] BO : Remove dead code in AdminImport 2013-10-03 14:57:03 +02:00
Gregory Roussac
8762c310b9 Merge pull request #787 from tucoinfo/development
[*] FO : add variable $nofollow to mobile theme header.tpl
2013-10-03 05:02:01 -07:00
Damien Metzger
6e0c3e1aa2 // addFeatureValueImport partial fix 2013-10-03 12:24:35 +02:00
tucoinfo
8f09d49ffc [*] FO : add variable $nofollow to mobile theme header.tpl
Copied from normal theme which already manages the NoFollow variable
2013-10-03 12:19:10 +02:00
Jerome Nadaud
3585bf33c8 // Fix supply order change state save button 2013-10-03 11:49:16 +02:00
gRoussac
6610bd2067 [-] BO : Could noty save ImportMatchs 2013-10-03 11:15:03 +02:00
Jerome Nadaud
43a60f1b57 [-] BO : FixBug #PSCFV-9044 - Missing state in new order, and now you can edit customer addresses 2013-10-03 11:06:08 +02:00
Rémi Gaillard
f2e39488b6 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-10-03 10:33:58 +02:00
Rémi Gaillard
e190c8df9f // small fix on import 2013-10-03 10:33:43 +02:00
Vincent Augagneur
d1956572a5 //small fix on carrier wizard 2013-10-03 10:29:40 +02:00
Gregory Roussac
ca1bc3daa8 Merge pull request #786 from kpodemski/patch-6
[-] CORE : Increasing the length of link_rewrite & name in Category.php
2013-10-03 01:24:22 -07:00
Krystian Podemski
d87c816038 [*] CORE : Increasing the length of link_rewrite & name in Category.php
In database this fields have varchar(128) so let's give the user full size of fields
2013-10-03 10:20:45 +02:00
Gregory Roussac
3b75dd6785 Merge pull request #785 from djfm/pstw
[*] TR : Traditional Chines Installer
2013-10-03 00:54:48 -07:00
Jerome Nadaud
89d86793b0 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-10-03 09:12:01 +02:00
Jerome Nadaud
33b5971a7a [-] BO : FixBug #PSCFV-10558 - Invalid HTML markup. 2013-10-03 09:11:26 +02:00
djfm
711f5b0bdf [+] LO : Completed Traditional Chinese Installer 2013-10-03 06:57:53 +00:00
djfm
4668d8ffa2 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into pstw 2013-10-03 06:56:08 +00:00
gRoussac
e9a3c98af9 [-] BO : Fix bug #PSCFV-8389 duplicates is SpecificPrice table 2013-10-02 18:57:45 +02:00
gRoussac
da48cea96e [-] BO : AdminImport, tables are not truncated 2013-10-02 17:54:48 +02:00
Gregory Roussac
a40356d21c Merge pull request #784 from djfm/release
// updated native translation packs
2013-10-02 08:50:29 -07:00
djfm
3a0081912d // updated native translation packs 2013-10-02 15:37:57 +00:00
gRoussac
a027dbd061 [*] BO : Add category id in AdminSpecificPriceRule 2013-10-02 17:00:20 +02:00
Gregory Roussac
3d1d178bba Merge pull request #783 from ellisium/upper
[-] CORE : CART::BOTH should be Cart::Both
2013-10-02 16:35:37 +02:00
Gregory Roussac
4bb4199f5a Merge pull request #783 from ellisium/upper
[-] CORE : CART::BOTH should be Cart::Both
2013-10-02 07:34:00 -07:00
Eric Le Lay
3e0c5e71f4 classname uppercase issue 2013-10-02 16:28:45 +02:00
gRoussac
fe7035aae9 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-10-02 15:48:44 +02:00
gRoussac
96be4068f5 // norms 2013-10-02 15:48:29 +02:00
Damien Metzger
250a9f17a2 [-] BO : managed decimal format in BO orders 2013-10-02 15:47:21 +02:00
gRoussac
bf6a0e0077 [-] BO : Fix bug #PSCFV-5060 could not import supplier_combinations in combinations import 2013-10-02 15:46:11 +02:00
Damien Metzger
6974a88b59 Merge pull request #782 from 202-ecommerce/development
[*] FO : Added new Maintenance Hook
2013-10-02 06:07:42 -07:00
Rémi Gaillard
f4cadbdfd6 Merge pull request #770 from urecheatu007/development
[-] LO: updated localization pack for Romania / romanian - added states
2013-10-02 05:47:17 -07:00
thoma202
1ccc25f56c Merge branch 'development' of github.com:202-ecommerce/PrestaShop into development 2013-10-02 14:38:44 +02:00
gRoussac
c4e549db13 [-] BO : Fix #PSCFV-6482 could not import tags in deiffrent languages 2013-10-02 14:20:27 +02:00
Damien Metzger
a876b13c1c [-] BO : fixed currency format on order creation 2013-10-02 12:10:54 +02:00
thoma202
eb7655e318 [+] Added hook in maintenance page 2013-10-02 11:58:35 +02:00
Rémi Gaillard
99f325dc3c // validation of carrierwizard 2013-10-02 11:24:08 +02:00
gRoussac
c466320887 [-] Bo : Fix again #PSCFV-10474 again, not deleting start page after import 2013-10-01 19:11:51 +02:00
gRoussac
a6e8af99f9 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-10-01 18:13:02 +02:00
gRoussac
6bbcbb536f [-] CORE : Cart rules not ordered by priority for PaymentModule 2013-10-01 18:12:15 +02:00
gRoussac
294384d9ea [-] CORE : Partial fix bug #PSCFV-10534 bad total_products_wt calculated without other cart rules 2013-10-01 18:11:54 +02:00
Gregory Roussac
953f0641e8 Merge pull request #778 from djfm/release
[*] TR : Installer Translations
2013-10-01 09:09:32 -07:00
gRoussac
a5dc1ce6f6 [-] Bo : Fix again #PSCFV-10474 coul not export more than 300 products 2013-10-01 18:02:12 +02:00
djfm
172986a461 // changed help text 2013-10-01 15:06:33 +00:00
djfm
23df6cb875 // updated German installer translations 2013-10-01 14:52:04 +00:00
gRoussac
f4c2bacea3 [-] CORE : Cart rules not ordered by priority for PaymentModule 2013-10-01 16:17:23 +02:00
gRoussac
626ccf0985 [-] CORE : Partial fix bug #PSCFV-10534 bad total_products_wt calculated without other cart rules 2013-10-01 14:46:40 +02:00
Gregory Roussac
a76a7273ea Merge pull request #776 from kpodemski/patch-5
[*] FO: We let style selected category in CSS on blockcategories
2013-10-01 03:04:54 -07:00
Krystian Podemski
9e4b6c020f [*] FO: We let style selected category in CSS on blockcategories
It's good to have this by default.
2013-10-01 12:02:19 +02:00
djfm
9e64ecc887 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-10-01 09:58:40 +00:00
Rémi Gaillard
9ad046677c [*] BO: Allow to breakdown the taxes when they are computed 2013-10-01 11:55:56 +02:00
Rémi Gaillard
4fcbde878d [-] BO: Fix total without tax in breakdown taxes when taxes are combined #PSCFV-10394 on the invoices 2013-10-01 11:18:11 +02:00
gRoussac
f30bc80485 [-] BO : Remove duplicate sql insert in setProductOutOfStock in monoshop 2013-10-01 10:48:17 +02:00
djfm
e706b531bc // updated br, es, fr, ru installer translations 2013-10-01 08:41:03 +00:00
Jerome Nadaud
340f6cebe4 [-] FO : FixBug #PSCFV-10542 - Category description view problem 2013-10-01 10:20:33 +02:00
Gregory Roussac
97a25eb9c6 Merge pull request #774 from kpodemski/patch-4
[-] BO: translation mismatch
2013-10-01 01:15:24 -07:00
Rémi Gaillard
ecb4ccfdda // Fix product visibility on Product::getAccessories and ProductSale::getBestSales #PSCFV-9760 2013-10-01 09:56:26 +02:00
Krystian Podemski
2b55944874 [-] BO: translation mismatch
Here is a form to edit the values ​​in the group, we do not need here "attribute type".
2013-10-01 08:38:04 +02:00
Jerome Nadaud
452e07ab0b [-] BO : FixBug #PSCFV-10477 - Error message not shown on delete module without permissions 2013-09-30 19:26:49 +02:00
gRoussac
4a66bdcdf9 // report of 9b627bf9a2 2013-09-30 19:18:08 +02:00
gRoussac
f899380e3b [-) BO : #PSCFV-10474 coul not export more than 300 products 2013-09-30 19:04:04 +02:00
Jerome Nadaud
1b9472cc37 [-] BO : FixBug #PSCFV-10291 - Remove temporary image on install 2013-09-30 19:01:11 +02:00
Damien Metzger
9c04f1dace Merge pull request #748 from djfm/release
// fix PSCFV-8260, currency format containing spaces and RTL languages
2013-09-30 09:21:43 -07:00
djfm
1cce312aaa // orthograph 2013-09-30 16:15:53 +00:00
djfm
f39c2c40cf Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-09-30 16:13:15 +00:00
Jerome Nadaud
b7ff8d634a [-] BO : FixBug #PSCFV-10317 - Attributes value not shown on features sorted by position. 2013-09-30 17:23:12 +02:00
Jerome Nadaud
f983e0eaf1 [-] BO : FixBug #PSCFV-10380 - Missing lang file existence verification. 2013-09-30 16:25:58 +02:00
Jerome Nadaud
6bb1fa6a4d // Missing '?' on regex 2013-09-30 14:59:27 +02:00
Jerome Nadaud
05eafdb14f Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-30 14:57:46 +02:00
Jerome Nadaud
cfc41ec4ef [+] BO : Add remove module override on constant - PSCFV-10430 2013-09-30 14:57:30 +02:00
Gregory Roussac
6822373378 Merge pull request #772 from codeurWeb/patch-5
[*] FO : add GET pre-selection of id_contact in contact-form.tpl
2013-09-30 05:56:09 -07:00
Julien
dd5cd33bb4 [-] BO : fix pre-selection of id_contact in contact-form.tpl 2013-09-30 14:38:06 +02:00
Cosmin Hutanu
7eddca6d15 update localization pack for romania - added states 2013-09-30 13:06:19 +03:00
gRoussac
7d764c5ce8 [-] BO : AdminImport, not matching by ref for updating 2013-09-30 11:50:51 +02:00
Cosmin Hutanu
f9ad0d1b79 Merge pull request #3 from PrestaShop/development
update from prestashop/development
2013-09-30 02:47:52 -07:00
Jerome Nadaud
e040c096d1 [-] BO : Remove customers group view list link 2013-09-30 10:34:54 +02:00
Rémi Gaillard
b6f13648db [-] WS: Fix order by on id field on multishop entities 2013-09-30 10:29:54 +02:00
Rémi Gaillard
22173355a5 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-09-30 09:59:51 +02:00
Rémi Gaillard
06b6facc2d [-] BO: Fix #PSCFV-10488 filter by employee on logs tab 2013-09-30 09:59:33 +02:00
Jerome Nadaud
e0e5f80767 [-] BO : FixBig #PSCFV-10442 - Members Cutomer Group list 2013-09-30 09:59:25 +02:00
Gregory Roussac
3e85622972 Merge pull request #767 from enumag/patch-3
[-] BO : Fix #PSCFV-10520 id_attribute_group can not be null
2013-09-30 00:47:12 -07:00
djfm
67d0ac95b5 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-09-30 07:09:17 +00:00
Jáchym Toušek
6e191fe054 [-] Classes : Hook - Display payment method & custommer currency bug fix 2013-09-29 16:24:33 +02:00
Jáchym Toušek
5ebc2e5e91 [-] BO : Fix #PSCFV-10520 2013-09-29 14:43:14 +02:00
gRoussac
813ef8bc7e [-] BO : Could not import empty linkrewrite for products and not matching refs 2013-09-27 19:22:10 +02:00
Jerome Nadaud
c2b9ff40ef [-] BO : FixBig #PSCFV-10442 - Members Cutomer Group list 2013-09-27 19:20:46 +02:00
Gregory Roussac
a4178a9fd2 Merge pull request #761 from nuzelac/patch-1
[-] BO : fix multilingual field validity in AdminProductsController
2013-09-27 19:07:56 +02:00
Gregory Roussac
40617c0a81 Merge pull request #761 from nuzelac/patch-1
[-] BO : fix multilingual field validity in AdminProductsController
2013-09-27 09:50:03 -07:00
Nino Uzelac
ca01b58262 fix multilingual field validity in AdminProductsController 2013-09-27 18:22:07 +02:00
Fabio Chelly
9d94337c9b [-] MO sendtoafriend: The method used to check all required input fields could lead to errors 2013-09-27 16:08:00 +02:00
Jerome Nadaud
6449ecfb32 [-] BO : Force invoice footer text to 1 ligne 2013-09-27 14:41:50 +02:00
Fabio Chelly
6d8cc454e1 [-] MO productcomments: prevents guests to add comments when guest comment is disabled in backoffice
(cherry picked from commit 345d4cd)
2013-09-27 11:30:42 +02:00
Fabio Chelly
345d4cdbcf [-] MO productcomments: prevents guests to add comments when guest comment is disabled in backoffice 2013-09-27 11:27:58 +02:00
djfm
66435cbf4a // grammar 2013-09-27 08:35:48 +00:00
Damien Metzger
84d8ccfa2b // Fixed language code consistency 2013-09-27 10:25:37 +02:00
djfm
2be5233584 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-09-27 08:03:47 +00:00
Gregory Roussac
33c2669692 Merge pull request #749 from enumag/patch-1
[-] FO : Fixed products without images
2013-09-27 10:00:48 +02:00
Gregory Roussac
6b30cc5084 Merge pull request #750 from djfm/psindonesia
[+] TR : Psindonesia
2013-09-27 00:57:20 -07:00
Gregory Roussac
19fb32545d Merge pull request #749 from enumag/patch-1
[-] FO : Fixed products without images
2013-09-27 00:56:46 -07:00
djfm
4e472fae50 // updated Indonesian installer 2013-09-27 07:16:23 +00:00
Jáchym Toušek
30367e6427 [-] FO : Fixed products without images 2013-09-26 22:21:18 +02:00
gRoussac
126c21d39a [*] BO : AdminImport, remove csv files 2013-09-26 18:34:18 +02:00
djfm
50bd3d613d // fix PSCFV-8260, currency format containing spaces and RTL languages 2013-09-26 16:29:40 +00:00
gRoussac
98148cfe03 // Adminimport revert sort order in select 2013-09-26 18:02:28 +02:00
gRoussac
4fc4ee721e [*] BO : Adminimport, check csv download path 2013-09-26 17:50:26 +02:00
gRoussac
d3ad12e536 [*] BO : Add csv file download in AdminImport 2013-09-26 17:40:33 +02:00
gRoussac
8c1240cb2c [-] BO : Sort import files in select 2013-09-26 15:13:34 +02:00
Cosmin Hutanu
81ec2822ec Merge pull request #2 from PrestaShop/development
update from prestashop/development
2013-09-26 05:52:17 -07:00
Fabio Chelly
7a7a2fb8c3 [-] MO productcomments and loyalty: loyalty doesn't disconnect current user anymore 2013-09-26 14:19:08 +02:00
Gregory Roussac
47bf9a397a Merge pull request #745 from djfm/localization_packs
[*] TR : Localization packs
2013-09-26 14:17:13 +02:00
Gregory Roussac
f3e36b896b Merge pull request #746 from Mainmich/patch-1
[-] MO : Blocklayered Fix pagination incompatibility
2013-09-26 14:16:51 +02:00
Gregory Roussac
1abb064958 Merge pull request #747 from djfm/psbengali
[+] TR : Added Bengali Installer
2013-09-26 05:14:28 -07:00
Rémi Gaillard
252ab56d75 // error message in double 2013-09-26 13:47:42 +02:00
smartdatasoft
9109708944 // small improvements to Bengali installer 2013-09-26 11:44:28 +00:00
smartdatasoft
e21eef3a87 // updated Bengali installer 2013-09-26 11:44:12 +00:00
smartdatasoft
3ded9549cf // Bengali installer translations 2013-09-26 11:43:58 +00:00
smartdatasoft
37170c74b3 [+] LO : Added Bengali installer 2013-09-26 11:39:58 +00:00
gRoussac
017d19330a // avoid SQL error 2013-09-26 11:10:44 +02:00
djfm
78c1dce528 [+] LO: Added Traditional Chinese installer 2013-09-26 08:23:16 +00:00
Gregory Roussac
37f928ade9 Merge pull request #746 from Mainmich/patch-1
[-] MO : Blocklayered Fix pagination incompatibility
2013-09-25 09:45:51 -07:00
gRoussac
48d9c37590 [-] BO : Remove duplicate sql insert in setProductOutOfStock in monoshop 2013-09-25 18:41:52 +02:00
Mainmich
a6e67b078e Fix pagination incompatibility
Javascript function paginateButton does not work with "p" GET parameter in first position, regex only takes &p and not ?p.
2013-09-25 18:33:58 +02:00
gRoussac
7486844222 [-] BO : Fix #PSCFV-10501 Remove fatal error 2013-09-25 18:02:06 +02:00
Damien Metzger
95a2b2a8a8 [*] BO : improved automatic language creation 2013-09-25 17:07:18 +02:00
Jerome Nadaud
757fe64217 [-] MO : FixBug #10460 - UTF8 bug on accented URL 2013-09-25 16:09:55 +02:00
Gregory Roussac
5245038ea1 Merge pull request #745 from djfm/localization_packs
[*] TR : Localization packs
2013-09-25 06:58:59 -07:00
djfm
91d495a4a8 [*] LO : Added states to Japanese localization pack 2013-09-25 13:31:45 +00:00
Damien Metzger
ae8c8218fd // Fixed ISO code of japanese todōfuken 2013-09-25 15:30:16 +02:00
djfm
81e66233d8 [*] LO : Updated many localization packs 2013-09-25 13:11:52 +00:00
Fabio Chelly
1800c6589c Merge remote-tracking branch 'origin/development' into development 2013-09-25 14:43:42 +02:00
Fabio Chelly
bdd84771b7 [-] MO productcomments and loyalty: loyalty doesn't disconnect current user anymore 2013-09-25 14:43:30 +02:00
djfm
54b3ac5a32 [+] TR : Added Indonesian installer 2013-09-25 09:41:59 +00:00
Gregory Roussac
7f9183b1d4 Merge pull request #743 from dlage/modules_update
[*] BO : Show modules update button even if module is not installed but not notices
2013-09-24 20:40:56 +02:00
Gregory Roussac
931d240ca1 Merge pull request #743 from dlage/modules_update
[*] BO : Show modules update button even if module is not installed but not notices
2013-09-24 11:33:48 -07:00
gRoussac
e900474b8e // remove notice 2013-09-24 19:01:08 +02:00
gRoussac
69cb20d5e8 [-] PDF : Report of 9c939ccead 2013-09-24 18:55:55 +02:00
81ca3ac1f9 BO: Modules - show update button even if module is not installed but don't
warn for modules with updates available but not installed.
2013-09-24 17:42:43 +01:00
gRoussac
6f840eceba [-] BO : Fix bug #PSCFV-9675 could not import non existent parent category 2013-09-24 18:00:01 +02:00
Rémi Gaillard
5e7dbea970 // 2013-09-24 17:22:50 +02:00
Rémi Gaillard
beb0a74135 // use ObjectModel::validateField on validaterules 2013-09-24 17:12:28 +02:00
gRoussac
0f4781053b [-] BO : Bad entity pre selected in AdminImport 2013-09-24 17:08:33 +02:00
gRoussac
10d6e97aca [-] BO : Fix bug #PSCFV-10483, could not import other language product link_rewrite 2013-09-24 16:42:22 +02:00
gRoussac
3448027861 // report of pull request 737 2013-09-24 16:41:15 +02:00
gRoussac
89ac0bc439 [-] FO : Fix #PSCFV-10480 again, css fix 2013-09-24 16:34:18 +02:00
gRoussac
3d477c62eb // remove notice 2013-09-24 16:03:39 +02:00
gRoussac
c9b53685c5 // parse error 2013-09-24 15:44:56 +02:00
gRoussac
1cc92fc9c2 [-] CORE : Could not add too long tags 2013-09-24 15:40:18 +02:00
gRoussac
17323a04b6 [-] CORE : Missing tag max size 2013-09-24 15:10:14 +02:00
gRoussac
1d6593612f [-] FO : Fix #PSCFV-10480 again css fix 2013-09-24 12:21:10 +02:00
Gregory Roussac
4c399875d9 Merge pull request #737 from codeurWeb/patch-3
[-] BO : fix postProcess override on AdminImportController
2013-09-24 01:54:18 -07:00
Gregory Roussac
92b987c0f8 Merge pull request #736 from codeurWeb/patch-2
[-] BO : fix ovverride of constructor when PS_ADVANCED_STOCK_MANAGEMENT is off
2013-09-24 01:40:16 -07:00
Rémi Gaillard
41af17e06b [-] BO: Fix data validation when iframe is allowed on some entities like CMS 2013-09-24 10:28:04 +02:00
Julien
6acebca8fa [-] BO : fix postProcess override on AdminImportController
When we override the constucteur of AdminImport to add an import type and PS_ADVANCED_STOCK_MANAGEMENT is off, switch index is undefined for "Supply Orders" and "Supply Order Details".
Default case of switch is never used.
2013-09-23 21:04:55 +02:00
Julien
6850db0612 [-] BO : fix contructor override on AdminImportController
When we overload the constucteur of AdminImport to add an import type and PS_ADVANCED_STOCK_MANAGEMENT is off, switch index is undefined for "Supply Orders" and "Supply Order Details".
2013-09-23 20:23:45 +02:00
Gregory Roussac
aefab21a62 Merge pull request #735 from djfm/release
[*] LO : Use single quote as thousands separator for CHF currency
2013-09-23 09:54:01 -07:00
djfm
d9a24d61ac // change comment 2013-09-23 16:37:13 +00:00
djfm
6195d0c319 [*] LO : Use single quote as thousands separator for CHF currency 2013-09-23 16:32:40 +00:00
gRoussac
b3a425c73a [-] MO : Blockcart, wrong tbody 2013-09-23 18:20:35 +02:00
gRoussac
ccb3179c1a [-] CORE : Partial fix for #PSCFV-10482 getCacheId is different in back office 2013-09-23 18:07:46 +02:00
Gregory Roussac
b4547568a5 Merge pull request #734 from djfm/release
// no quotes around 1 in js=1 please
2013-09-23 08:38:57 -07:00
gRoussac
d37f545058 [-] MO : Fix buig #PSCFV-10480 Blockcart too long cart_block_product_name 2013-09-23 17:26:36 +02:00
djfm
5c4de83e91 // no quotes around 1 in js=1 please 2013-09-23 15:20:26 +00:00
Damien Metzger
6796b64e18 Merge pull request #691 from djfm/development
// fixed translation of modules descriptions containing quotes
2013-09-23 07:51:57 -07:00
gRoussac
3b075e049b // bad commit 2013-09-23 16:33:44 +02:00
gRoussac
84dc75f57e [-] CORE : Fix bug #PSCFV-10471 Cart item count problem, unique_id grouping error for id_product and id_product_attribute 2013-09-23 16:32:38 +02:00
gRoussac
92382e347c [-] FO : Fix bug #PSCFV-10478 could not see auto added cart rule voucher on product page 2013-09-23 16:08:44 +02:00
gRoussac
dedc59f1db [-] IN : FIX #PSCFV-10246 errors in stricts sql-mode, thanks @enumag 2013-09-23 15:17:15 +02:00
Rémi Gaillard
c6222c51c8 // commit 6b47f5713e is missing 2013-09-23 11:36:15 +02:00
Fabio Chelly
a1555c3fc8 Merge remote-tracking branch 'origin/development' into development 2013-09-23 11:24:26 +02:00
Fabio Chelly
31697fde3c [-] MO productcomments: confirmation message takes moderation mode into account 2013-09-23 11:24:14 +02:00
Jerome Nadaud
5206496f64 [-] BO : Fix Bug For new Fancy Box events 2013-09-23 11:22:51 +02:00
Jerome Nadaud
cf82157d47 // oops 2013-09-23 10:48:56 +02:00
Jerome Nadaud
7dbb6088a4 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-23 10:42:30 +02:00
Rémi Gaillard
50bbf1a547 // small fix 2013-09-23 10:46:41 +02:00
Jerome Nadaud
32a7a28567 [-] MO : FixBug #PNM-1683 - Treeview problem 2013-09-23 10:42:10 +02:00
Rémi Gaillard
a578cfb2e2 [-] FO: Fix #PSCFV-10461 2013-09-23 10:20:22 +02:00
gRoussac
39468476ab [-] CORE : #PSCFV-10461 customer group in getPriceStatic, pull request 361ebc72e0 2013-09-23 09:50:12 +02:00
Damien Metzger
214b844ef7 // Removed useless tiny mce src 2013-09-20 18:52:42 +02:00
Damien Metzger
5c3b8015e5 [-] BO : fixed the redirection to a 404 page when loging in in the updater 2013-09-20 18:21:10 +02:00
Rémi Gaillard
7aa348eb93 // bad char 2013-09-20 15:48:22 +02:00
gRoussac
e2a1f5101c [-] BO : Bad input radio names 2013-09-20 15:27:31 +02:00
gRoussac
7d05da1618 [-] IN : Lower by two flush limit in migrate_orders 2013-09-20 15:12:57 +02:00
gRoussac
429c9442a3 [*] CORE : bad else if in getTemplatePath 2013-09-20 15:10:14 +02:00
Rémi Gaillard
2dc91758c3 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-20 14:12:56 +02:00
Rémi Gaillard
9b878a33a8 // fix canonical and ssl page without ssl 2013-09-20 14:12:41 +02:00
Damien Metzger
7eb3b22829 [-] Installer : added the missing default tab in the employee 2013-09-20 14:06:38 +02:00
Rémi Gaillard
e2ac223f4e Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-20 11:34:54 +02:00
Rémi Gaillard
5b7580d487 [-] MO: Fix time of smarty cache invalidation 2013-09-20 11:33:30 +02:00
Damien Metzger
1cebd5920e [*] Installer : added file check in order to check if everyhting has been successfuly uploaded 2013-09-20 11:09:22 +02:00
Fabio Chelly
4f639329e9 Merge remote-tracking branch 'origin/development' into development 2013-09-20 10:47:17 +02:00
Fabio Chelly
91ae972655 [-] MO mailalert : products alerts can be registered for multiple guests
#PNM-1669
2013-09-20 10:46:56 +02:00
Damien Metzger
f8ca06d927 // Better cache depth management for smarty 2013-09-20 10:26:58 +02:00
Damien Metzger
eb6600e840 // Blockcustomerprivacy should not be installed by default 2013-09-20 10:26:58 +02:00
Gregory Roussac
14cd72121a Merge pull request #732 from Ha99y/20130919_X-Robots
[*] CORE : Send noindex header to avoid ghost carts by bots
2013-09-20 00:52:49 -07:00
ha99y
42cdc988ac Send noindex header to avoid ghost carts by bots 2013-09-19 22:15:00 -07:00
Francois Gaillard
8c6aaa3c7d Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-19 17:31:42 +02:00
Francois Gaillard
63f4743134 [-] MO : PNM-1715 - Bug fix accented chars & ajax-cart 2013-09-19 17:31:35 +02:00
gRoussac
e0b59082f9 [-] BO : Issue with domready on adminImport 2013-09-19 17:19:51 +02:00
gRoussac
0361d5db8d [-] BO : do not reaffect import_type for categories 2013-09-19 16:59:04 +02:00
gRoussac
ea6ea955bb // licence 2013-09-19 16:39:21 +02:00
gRoussac
803b6ce8ec Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development
Conflicts:
	controllers/admin/AdminImportController.php
2013-09-19 16:38:01 +02:00
gRoussac
0c511dead5 [*] FIX #PSCFV-8106 do not regenerate thumbnails if not 2013-09-19 16:28:19 +02:00
Rémi Gaillard
6b47f5713e // another fix for multishop fields in context all on product page 2013-09-19 09:48:46 +02:00
Rémi Gaillard
5eb4c93b8c [-] BO: Bad id for multishop checkbox on admin products - weird bug with active flag #PSCFV-9935 2013-09-18 19:35:56 +02:00
djfm
0a9f425281 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-18 16:08:44 +00:00
djfm
65559c5cf4 // small improvement to Brazilian translations 2013-09-18 16:08:23 +00:00
Rémi Gaillard
e7286c44f2 // typo 2013-09-18 18:08:22 +02:00
gRoussac
4e1d6de9b0 [-] FO : Fix bug #PSCFV-10328 Set country currency if defined when geolocated 2013-09-18 17:57:00 +02:00
gRoussac
75a9629b8a Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-18 17:23:23 +02:00
gRoussac
27f14b9a31 [-] BO : Fix proces and save buttons for Modules and AdminControllers 2013-09-18 17:23:08 +02:00
Rémi Gaillard
70d48d0af1 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-18 17:19:18 +02:00
Rémi Gaillard
f6dc81d0f1 // small fix for SSL 2013-09-18 17:19:03 +02:00
gRoussac
2e311410b2 [*] BO : Set import entity in cookie (#PSCFV-8214) 2013-09-18 17:02:00 +02:00
Rémi Gaillard
0452979ce7 [*] FO: Allow to enable SSL on all the pages 2013-09-18 16:30:34 +02:00
gRoussac
3aec242600 [-] MO : Editorial could not delete image 2013-09-18 16:16:36 +02:00
gRoussac
93aae26269 [-] Bo : Modules 'save' button not active 2013-09-18 15:41:30 +02:00
gRoussac
f293562ea4 [-] BO : Fix bug #PSCFV-8214 import entity pre selected 2013-09-18 15:03:16 +02:00
Rémi Gaillard
66f46eee03 // Avoid exception if amount is null on addind an orderpayment 2013-09-18 14:29:01 +02:00
Vincent Augagneur
672da852c5 [-] BO - fixed bug #PSCFV-10178 2013-09-18 11:40:58 +02:00
Vincent Augagneur
965b8a1bf3 [-] BO - fixed bug #PSCFV-10286 - End range in summary of shipping wizard not correct when range number is a float 2013-09-18 11:18:26 +02:00
Rémi Gaillard
47c5f400ee // Add gender on order view 2013-09-17 16:30:47 +02:00
Vincent Augagneur
322654cacf //small fix with mode catalog and cart button 2013-09-17 14:54:38 +02:00
Vincent Augagneur
3151064daf //small fix on helper form && option 2013-09-17 12:18:37 +02:00
Rémi Gaillard
e6e8efc19a [-] FO: Fix Product::getAttributesGroups() minimal_quantity/weight/available_date should be multishop 2013-09-17 11:58:12 +02:00
Rémi Gaillard
6ee6317fee // orderby position 2013-09-17 11:07:29 +02:00
gRoussac
2d5bd901f4 [*] CORE : Refactoring Tools::copy() as copy with context > PHP 5.3 2013-09-16 18:51:06 +02:00
gRoussac
b9b4265517 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-16 17:18:56 +02:00
gRoussac
15dd1cf96f [-] BO : Fix bugPSCFV-10249 images copy when unix path 2013-09-16 17:16:11 +02:00
Gregory Roussac
1c58c1ea6b Merge pull request #726 from cinscaen/patch-1
[-] BO : Move product images in POST method in admin.js
2013-09-16 07:01:45 -07:00
CINS
852faeab7a Update admin.js
Lorsqu'un produit possède trop d'images, il est impossible de réordonner celle-ci car la valeur JSON fourni en URL (GET) est beaucoup trop longue. Il faut envoyer les données JSON en POST pour solutionner le problème de longueur.
---------
When a product has many pictures, we can't reorder them. The JSON value is too long in URL (GET). We need to send data with POST to avoid problem.
2013-09-16 15:57:44 +02:00
gRoussac
8504574ae1 [-] IN : Could not remove some tabs 2013-09-16 15:02:12 +02:00
Damien Metzger
e68c124218 [-] FO : replace ucfirst by ucwords for the customer firstname #PSCFV-10396 2013-09-16 11:42:11 +02:00
gRoussac
08efa4e313 [-] IN : Fix bug #PSCFV-10382 add_module_to_hook retunrning false when hook not exists 2013-09-16 11:12:55 +02:00
Vincent Augagneur
e0739ea1e0 Merge pull request #720 from makk1ntosh/development
//Added ui.button as dependency of ui.dialog
2013-09-16 01:35:25 -07:00
Damien Metzger
0e3d53321a [-] BO : limited the number of customers displayed in the group view to 100 in order to avoid memory usage error 2013-09-16 09:56:22 +02:00
Jerome Nadaud
d7c1cd90bf Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-16 09:25:57 +02:00
Jerome Nadaud
c0afb55d11 [-] BO : FixBug #PSCFV-9900 Double quote escape problem in delete button link 2013-09-16 09:25:10 +02:00
Gregory Roussac
3b9c125198 Merge pull request #723 from codeurWeb/patch-2
[+] MO : Blocknewproducts add hookHome
2013-09-14 08:58:14 -07:00
Julien
08373c0541 [+] Modules : add hookHome 2013-09-14 14:57:00 +02:00
gRoussac
73dd524de8 [-] BO : Could not order in AdminStatuses by ID or template 2013-09-14 00:05:45 +02:00
gRoussac
10472ef83c Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-13 17:57:06 +02:00
gRoussac
6da1228359 [-] BO : Fix bug #PSCFV-8407 can not customize feature column name if needed 2013-09-13 17:56:45 +02:00
makk1ntosh
d0ef8cca8f Added ui.button as dependency of ui.dialog
While developing my own module, i've upgraded installation to latest version of PS and impacted a bug:

$('#something').dialog({...}); caused an error: t().button is not a function.



In my php code i had this:
$this->context->controller->addJqueryUI('ui.dialog');

i found that it doesn't load ui.button dependency.

Added 'ui.button' to classes/Media.php at the end of ui.dialog dependencies and all worked fine.
2013-09-13 08:02:47 -07:00
Jerome Nadaud
97ec6341e8 [-] BO ; Fix bug #PSCFV-10393 manufacturer filter 2013-09-13 15:39:30 +02:00
Rémi Gaillard
5363e75238 // small fix 2013-09-13 12:13:12 +02:00
Gregory Roussac
a3d9643833 Merge pull request #719 from zimmi1/patch-4
Update Connection.php correction from 717
2013-09-13 02:59:06 -07:00
zimmi1
4f06b74a29 Update Connection.php correction from 717
I'm very very sorry, I produced an error with the last commit on this file: there was an error in parenthesis position on line 117. Line 117 should be as line 131.
(But how did I manage to make this wrong ???)
2013-09-13 11:56:50 +02:00
Gregory Roussac
61295e4e21 Merge pull request #717 from zimmi1/patch-2
[*] CORE : Speeding up sql queries in Connection
2013-09-13 02:09:25 -07:00
gRoussac
d9bc07d030 [-] BO : quote badly decoded in customerThreads 2013-09-13 10:45:07 +02:00
Jerome Nadaud
3eb4d65fc9 [-] BO : Fix Bug #PSCFV-10331 check all from list 2013-09-13 10:26:08 +02:00
zimmi1
452f41df8d Speeding up sql queries
Searching for "DATE_ADD(date_add, INTERVAL 30 MINUTE) > now" needs for every line to add 30 minutes to the date. but it is the same operation as comparing "date_add > (now - 30 minutes).
It is faster because there is no DATE_ADD calculation.

The problem:
By profiling speed of my shop, this query appeared after about 3 months always as the absolute slowest query of the shop, needing about 15 to 30 ms to perform, because I have now nearly 700 connections to my shop (and it then browses the 700 lines)

A solution:
Removing DATE_ADD MySql function and using date() and time() functions of php for calculating only once the 30 min. difference.

Using this solution takes it down again to 0.8 to 1.3 ms.

I guess it is the same in case of bots (could be even worse as they can make thousands of connections).
2013-09-13 10:05:30 +02:00
gRoussac
db4b69d10c [-] BO : Customer message twice encoded 2013-09-12 18:03:30 +02:00
gRoussac
5095b45e47 [-] BO : Fix bug, orders states not ordered by order state name 2013-09-12 15:09:21 +02:00
Rémi Gaillard
30591b7c28 // Typo 2013-09-12 15:04:47 +02:00
Rémi Gaillard
f9b1f0ab5e [*] Core: don't re-generate the class_index.php file if a class is not known to avoid misuse of class_exists() 2013-09-12 15:03:23 +02:00
Francois Gaillard
cc36eb2d27 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-12 14:32:22 +02:00
Francois Gaillard
53c1e56c51 [-] BO : Bug fix - Encoding & tips of the day 2013-09-12 14:32:02 +02:00
Gregory Roussac
8590b0e699 Merge pull request #716 from romainberger/typos
[*] FO : removed extra slash and point
2013-09-12 05:30:36 -07:00
romainberger
876be3b452 [*] FO : removed extra slash and point 2013-09-12 14:07:45 +02:00
gRoussac
e5276ff531 [-] FO : 301 Redirect /iso_lang to /iso_lang/ url 2013-09-12 11:16:12 +02:00
gRoussac
90091d4f2c [-] BO : Do not copy link_rewrite from title if cms already has one 2013-09-12 10:50:04 +02:00
gRoussac
3870388e1c Merge branch 'mailalerts_real_multishop' of https://github.com/axome/PrestaShop into axome-mailalerts_real_multishop
Conflicts:
	modules/mailalerts/mailalerts.php
2013-09-12 10:09:25 +02:00
Rémi Gaillard
ea1bdbc849 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-12 10:01:39 +02:00
Gregory Roussac
f0297824d7 Merge pull request #709 from AgenceNetDesign/development
[-] MO : carriercompare fixed bug, override template's files in theme. Ticket #PNM-1691
2013-09-12 00:56:36 -07:00
Gregory Roussac
c91a86740f Merge pull request #715 from Prestaspirit/patch-6
[-] MO : Blocklayered Fixed a bug when displaying textures
2013-09-12 00:55:28 -07:00
Prestaspirit
a37033e478 [-] MO : Fixed a bug when displaying textures
Corrections links texture image in the blocklayered
2013-09-12 07:01:55 +02:00
Rémi Gaillard
9fa6c86a94 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-11 20:05:13 +02:00
Rémi Gaillard
f4f3084c35 [-] Core: Set a remote addr with php-cli #PSCFV-10372 2013-09-11 16:40:33 +02:00
Rémi Gaillard
a4d131eac9 [-] WS: Fix entities retrieve for some cases 2013-09-11 16:32:11 +02:00
gRoussac
e2dac03baa Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-11 16:30:52 +02:00
gRoussac
dfdbe39ee3 [-] BO : Small changes when creating vouchers in back office orders 2013-09-11 16:28:11 +02:00
Rémi Gaillard
31c94caebc [-] BO: Fix out of stock creation with multishop and stock sharing 2013-09-11 16:22:13 +02:00
Damien Metzger
4a3e0c5075 // Updated README.md 2013-09-11 16:11:28 +02:00
Rémi Gaillard
c42d71b8f5 // oups 2013-09-11 16:06:23 +02:00
Rémi Gaillard
669c3791b5 [-] BO: Fix preview url with multishop 2013-09-11 15:55:25 +02:00
Rémi Gaillard
3e750490fe // chmod class_index 666 instead of 664 2013-09-11 15:16:15 +02:00
gRoussac
01be908e51 [-] CORE : Could not add several cart rules 2013-09-11 14:50:42 +02:00
gRoussac
9f12ff15be [-] BO : Fix possible Uncaught exception 'ReflectionException' when viewing AdminMeta 2013-09-11 10:30:40 +02:00
Gregory Roussac
53805f2b93 Merge pull request #712 from Prestaworks/patch-13
[-] MO : Customization data is not included in new order email.
2013-09-11 00:58:30 -07:00
Daniel
614e56283a Update mailalerts.php
Fixes issue where customization data is not included in new order email.
2013-09-11 10:49:34 +08:00
gRoussac
85a471a690 //bad commit , sorry for that 2013-09-10 18:51:20 +02:00
gRoussac
86d3a8afe1 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-10 18:49:05 +02:00
gRoussac
f94f0f14a4 [-] FO : Fix bug #PSCFV-8917 taxes calculation when changing delivery address 2013-09-10 18:48:28 +02:00
Gregory Roussac
31d762b88a Merge pull request #710 from nilsga/development
[*] CORE : Add Bcc support in Mail class
2013-09-10 09:24:04 -07:00
Nils-Helge Garli Hegvik
9713f93075 Add Bcc support in Mail class 2013-09-10 17:11:34 +02:00
unknown
c5afbc75bd [-] MO : carriercompare fixed bug, override template's files in theme. Ticket #PNM-1691 2013-09-10 12:01:38 +02:00
gRoussac
332d68c7ec [-] MO : Statsdata, exception on duplicate entry 2013-09-10 11:08:57 +02:00
Nicolas Sorosac
f30a088848 [*] MO : MailAlerts : Add SQL update script for v2.5 2013-09-10 11:01:11 +02:00
Rémi Gaillard
3c090535a9 // small fix for image SSL links 2013-09-10 10:39:03 +02:00
Nicolas Sorosac
c4681c1fb1 [*] MO : MailAlerts : multishop/multilang full compatibility
Customers will receive alerts based on the real context of the moment they subscribed to the alert (sho, theme & language)

SQL update table : `ps_mailalert_customer_oos`
=========================================

ALTER TABLE `ps_mailalert_customer_oos`
ADD `id_lang` INT( 10 ) UNSIGNED NOT NULL ,
DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `id_customer` , `customer_email` , `id_product` , `id_product_attribute` , `id_shop` ) ;
2013-09-10 10:24:40 +02:00
Rémi Gaillard
021790a3e2 [-] FO: Fix SSL links on domain_ssl instead domain 2013-09-10 10:15:52 +02:00
gRoussac
4968a792b4 [-] IN : Remove notice when upgrading from 2013-09-10 01:12:52 +02:00
Gregory Roussac
a383d55421 Merge pull request #707 from sjousse/development
[-] MO: ShopImporter fix imported prices
2013-09-09 08:31:15 -07:00
sjousse
00f3045690 fix imported prices 2013-09-09 17:24:27 +02:00
Gregory Roussac
5362f4d426 Merge pull request #699 from sjousse/patch-1
[*] MO : ShopImporter Optimize image copy in ShopImport module
2013-09-09 08:11:51 -07:00
Gregory Roussac
9880d152d4 Merge pull request #706 from sjousse/development
[*] MO : Add some fields to Orders in Import module
2013-09-09 08:10:12 -07:00
sjousse
990a889b1c Add some fields to Orders in Import module 2013-09-09 17:08:17 +02:00
gRoussac
e6d0a3e5a4 // revert form 2874f14983 2013-09-09 15:11:55 +02:00
Rémi Gaillard
242556e176 [-] MO: Fix unifunc smarty errors if module is displayed on multiplehook without cache 2013-09-09 15:12:26 +02:00
Jerome Nadaud
c502c9766f [-] BO : FixBug PSCFV-10331 - Tax rules Pagination 2013-09-09 15:04:14 +02:00
gRoussac
54f7c65165 [-] BO : Display the old image system migration tool if product images are in _PS_PROD_IMG_DIR_ 2013-09-09 12:20:38 +02:00
djfm
641cf225f2 // fix small translation bug PSCFV-10329 2013-09-09 09:47:44 +00:00
djfm
6ea3783013 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-09 09:46:49 +00:00
Damien Metzger
dcad699ede [-] FO : fixed chinese search with multiple symbols #PSCFV-10322 2013-09-09 11:19:11 +02:00
Francois Gaillard
e1d0347757 [-] Classes : Bug fix - FrontController, mobile & JS minifier fixed 2013-09-09 10:17:15 +02:00
gRoussac
b975a9375c [-] IN : remove warnings while upgrading 2013-09-09 00:10:03 +02:00
gRoussac
9c756a7fcb [-] IN : Do not duplicate images types when coming from 1.4, update it 2013-09-08 23:22:36 +02:00
gRoussac
6b03af9ef9 [-] BO : ini_get('safe_mode') can return false 2013-09-08 22:26:21 +02:00
gRoussac
ec556bb307 // remove Warning on array_map() 2013-09-08 20:01:55 +02:00
gRoussac
e6f8dba2e6 // remove Notice: Undefined index 2013-09-08 19:55:03 +02:00
gRoussac
25ba388d69 [-] IN : fix bad pathes 2013-09-08 18:29:06 +02:00
gRoussac
e5337f5e76 [-] IN : Do not test module names if they are not directories 2013-09-08 18:25:54 +02:00
gRoussac
683513a9d2 [-] IN : Remove fails on upgrade coming to loop when upgrading again 2013-09-08 17:29:00 +02:00
gRoussac
19a6c4373e [-] IN : Remove warnings when safe_mode open_basedir missconfigured 2013-09-08 17:25:59 +02:00
gRoussac
2874f14983 [-] CORE : Fix bug #PSCFV-10040 Notice: Undefined index: unifunc && Fatal error: Function name must be a string on some PHP version with empty cache folder and smarty cache enabled 2013-09-06 23:55:58 +02:00
Cosmin Hutanu
7491f46322 Merge pull request #1 from PrestaShop/development
update from prestashop/development
2013-09-06 12:42:22 -07:00
gRoussac
4c49048e39 [-] FO : Partial fix of adding gift on cart rule on the same entity in the cart rule 2013-09-06 18:35:56 +02:00
Fabio Chelly
e5f53afd5f Merge remote-tracking branch 'origin/development' into development 2013-09-06 17:54:34 +02:00
Fabio Chelly
9377775eca [-] MO productcomments :
- Module was broken and works now
- A message is displayed to indicate when a comment has been added.
- Error li are correctly indented

#PNM-753
#PNM-1601
#PNM-1660
#PNM-1609
#PNM-1491
#PNM-1311
#PNM-1233
#PNM-1232
#PNM-937
#PNM-775
2013-09-06 17:54:12 +02:00
Francois Gaillard
768a8b36d5 [-] BO : AdminModulesController - Bug fix, $params was not set 2013-09-06 15:41:24 +02:00
Fabio Chelly
1b0c5be93d Merge remote-tracking branch 'origin/development' into development 2013-09-06 11:47:11 +02:00
Fabio Chelly
663f592306 [-] MO sendtoafriend : a message is displayed whether the e-mail has been sent or not
#PNM-627
#PNM-1610
#PNM-1616
2013-09-06 11:40:41 +02:00
Damien Metzger
ec11b7e064 // Better control of the requests when our website is down 2013-09-06 10:18:48 +02:00
Fabio Chelly
7e1c0d5a24 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-06 09:24:43 +02:00
gRoussac
53241af228 // remove strict standard warning 2013-09-05 19:00:25 +02:00
gRoussac
a7d619b208 [-] MO : fix bug #PSCFV-9906 again, bad url parsing 2013-09-05 18:39:07 +02:00
sjousse
6b080e1f02 Optimize image copy in ShopImport module
2 things :
- copy images to new folder structure instead of legacy one since it's a PS 1.5 branch
- don't create all sizes of images at migration, there's an Admin controller for that (Admin > Settings > Images). That's speed up the import and remove duplicate code (less code to support).

+ some cleaning of unused variables
2013-09-05 18:24:02 +02:00
Rémi Gaillard
0f81518ba2 // Add a buton to erase all log 2013-09-05 15:58:36 +02:00
gRoussac
6e5fb47642 [-] INSTALLER : Fix bug #PSCFV-8289 bad orders vouchers total after update 2013-09-05 15:31:13 +02:00
gRoussac
824a6b90f3 [-] FO : Fix bug #PSCFV-10118 quantity not updated when cart rules give the same product as gift 2013-09-05 11:07:41 +02:00
Gregory Roussac
284711b22f Merge pull request #697 from sjousse/patch-1
MO : Shopimporter change the way to get the home category (get it from Configuration )
2013-09-05 01:16:29 -07:00
sjousse
2f6e0e3fae Changed the way to get the home category (get it from Configuration table now) 2013-09-05 10:14:31 +02:00
Gregory Roussac
d59f3383cf Merge pull request #694 from sjousse/patch-1
[*] MO : ShopImporter module is now aware of multi-shop for categories
2013-09-04 09:28:23 -07:00
sjousse
4d68595447 ShopImporter module is now aware of multi-shop
Imported categories was affected to Root category instead of a Shop's Home category.
I took the first shop home category is by default.
Maybe adding an option to choose the shop where the datas should be imported.
2013-09-04 18:26:24 +02:00
Gregory Roussac
07bdcd4129 Merge pull request #693 from sjousse/development
[-] MO : Add date_add field to categories to prevent failure of updateCat() method
2013-09-04 07:46:44 -07:00
sjousse
e9d066c981 fix value of date_add 2013-09-04 16:40:12 +02:00
sjousse
56a1449c69 add date_add to categories 2013-09-04 16:32:00 +02:00
gRoussac
63c19ce1a9 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-04 15:39:25 +02:00
gRoussac
3ca2c8da95 [-] BO : Fix #PSCFV-9906 could not register search engines keywords 2013-09-04 15:39:02 +02:00
Rémi Gaillard
00c1860d22 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-04 15:08:41 +02:00
Rémi Gaillard
9348768ceb [-] MO: Fix blocklayered sort by quantity #PSCFV-10300 2013-09-04 15:05:55 +02:00
gRoussac
7b0349ca33 // bad commit sorry for that 2013-09-04 11:14:45 +02:00
gRoussac
efa81a7107 [-] INSTALLER: Wrong SQL query for PS_LEGACY_IMAGES to 0 2013-09-04 11:14:00 +02:00
gRoussac
da353c884d [-] INSTALLER: short_description for PREFIX_manufacturer_lang is now type TEXT 2013-09-04 10:45:48 +02:00
gRoussac
df56d7af42 [-] CORE: Fix for field length and type regarding https://github.com/PrestaShop/PrestaShop/pull/678 2013-09-04 10:38:14 +02:00
djfm
87567ed1a0 // fixed translation of modules descriptions containing quotes 2013-09-04 07:44:52 +00:00
Gregory Roussac
5d38743b72 Merge pull request #690 from Ha99y/20130903_addToolBarModulesListButton
[-] BO : Remove warning in AdminController.php
2013-09-04 00:40:41 -07:00
Jerome Nadaud
75a663b6e3 [-] BO : Fix pull request #665 2013-09-04 09:40:12 +02:00
ha99y
f4892686c1 Warning in AdminController.php
If debugging is on (_PS_MODE_DEV_ set to TRUE)
On a fresh install there is a warning on line 1542 in
/classes/controller/AdminController.php in function
addToolBarModulesListButton().
Because of the warning xml files are not populated with data.

Warning: simplexml_load_file()
1: parser error : Document is empty
2013-09-03 17:30:05 -07:00
gRoussac
b55a84e961 [-] INSTALLER : Fix infinite loop when order message has additional ampersand 2013-09-03 18:36:30 +02:00
gRoussac
6daf8ebbfa [-] BO : Fix error returned when first import of a localisation pack 2013-09-03 18:20:58 +02:00
gRoussac
5d8e187faa Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-03 17:43:51 +02:00
gRoussac
0891c986d6 // fix from comment c6d2e1252e (commitcomment-4002919) 2013-09-03 17:43:33 +02:00
Gregory Roussac
8fedbe189c Merge pull request #682 from MyBB-Services/dev/sa/ordercartrulecleanup
[*] Project : Orders should rely only on ps_order_cart_rule
2013-09-03 06:41:06 -07:00
soufyan
cd7d604b75 [*] Project : Orders should rely only on ps_order_cart_rule 2013-09-03 15:10:06 +02:00
Gregory Roussac
5caae97813 Merge pull request #680 from djfm/development
// fixed unstranslatable string in AdminSupplyOrdersController
2013-09-03 06:00:50 -07:00
djfm
572a2e45aa // fixed unstranslatable string in AdminSupplyOrdersController 2013-09-03 12:51:21 +00:00
gRoussac
98f60d039b // fix warning 2013-09-03 12:29:17 +02:00
Gregory Roussac
656717fb4c Merge pull request #679 from kluevandrew/patch-3
[*] BO : Cursor "pointer" for .button class
2013-09-03 00:51:38 -07:00
Gregory Roussac
e08c8b2d25 Merge pull request #674 from PrestaEdit/patch-50
[*] BO: sort modules name in Stats
2013-09-03 00:49:11 -07:00
Andrew
97f1db480a BO: Cursor "pointer" for .button
Cursor "pointer" for each button in back office
2013-09-03 11:35:50 +04:00
Jerome Nadaud
c3772fb355 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-02 19:11:17 +02:00
Jerome Nadaud
da12fbdd5e [-] BO : FixBug #PSCFV-10213 check product/attribute id - Thanks F. Cespedes 2013-09-02 19:09:47 +02:00
gRoussac
94bdde4630 [-] CORE : Remove PHP Warning: file_put_contents on modules config.xml 2013-09-02 18:19:21 +02:00
Gregory Roussac
abf5ad195c Merge pull request #676 from dlage/patch-1
[*] MO : blocknewproducts avoid $newProducts not defined
2013-09-02 08:58:32 -07:00
Gregory Roussac
b2ccf88296 Merge pull request #663 from sjousse/patch-1
[-] MO : Shopimporter file_exists does not exists in Validate Class
2013-09-02 08:21:42 -07:00
Gregory Roussac
f7eb6b3a16 Merge pull request #665 from Ha99y/Get-Combination-Images
[*] CLASSES : Add $id_product_attribute param to Image::getImages
2013-09-02 08:11:48 -07:00
Rémi Gaillard
6059b4301a // states list 2013-09-02 17:10:20 +02:00
gRoussac
36d9e0eed5 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-09-02 16:28:56 +02:00
gRoussac
c6d2e1252e [-] INSTALLER : Fix fatal error in upgrade, could not load configuration class 2013-09-02 16:28:38 +02:00
Gregory Roussac
fe209e0c55 Merge pull request #678 from gr4devel/patch-5
[*] BO : add TinyMCE editor for supplier descrpition in AdminSuppliers
2013-09-02 06:03:20 -07:00
gr4devel
f535d60a29 [-] fix typo in adding TinyMCE editor for supplier descrpition in AdminSuppliersController 2013-09-02 14:24:18 +02:00
gr4devel
36ca7f294a [+] BO : add TinyMCE editor for supplier descrpition in AdminManufacturerSupplier 2013-09-02 14:15:33 +02:00
gRoussac
477457a44f Merge branch 'patch-1' of https://github.com/gr4devel/PrestaShop into gr4devel-patch-1 2013-09-02 12:03:01 +02:00
gr4devel
6177589cd3 [+] MO : add link to all manufacturer page and the feature to show All Suppliers 2013-09-02 11:57:16 +02:00
gRoussac
4853772198 [-] INSTALLER : no update value in fix_download_product_feature_active 2013-09-02 11:33:53 +02:00
gRoussac
62303e58df [-] INSTALLER : Fix fatal error when upgrading 2013-09-02 11:24:46 +02:00
Gregory Roussac
82939730dd Merge pull request #667 from Ha99y/Small-Autoload-Fix
[-] CORE : Remove warning on rename on index.php
2013-09-02 02:11:51 -07:00
gRoussac
397e42637a // norms 2013-09-02 10:49:50 +02:00
Gregory Roussac
6dc0edec3a Merge pull request #668 from lrosset/development
[-] CORE : Add APCu support
2013-09-02 01:46:25 -07:00
Gregory Roussac
d019500d81 Merge pull request #670 from gr4devel/patch-2
[+] FO : add getManufacturer() to ManufacturerControllerCore
2013-09-02 01:31:14 -07:00
Gregory Roussac
00afa8ae47 Merge pull request #671 from gr4devel/patch-3
[+] BO : enable TinyMCE editor for short and long descrpition in AdminManufacturers
2013-09-02 01:09:10 -07:00
gRoussac
a013be8380 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development
Conflicts:
	modules/blockcart/ajax-cart.js
2013-09-02 10:00:24 +02:00
Gregory Roussac
a436456fa4 Merge pull request #673 from sagaradonis/development
[*] FO : Deprecated .size() to .length
2013-09-02 00:31:05 -07:00
5f1e08e7e2 Fix variable context
Avoid attribution to the variable $newProducts inside the if. It caused the code to potentially misbehave throwing errors of:
"variable $newProducts not defined".
2013-09-01 22:47:41 +01:00
PrestaEdit
4c633b8b46 [*] BO: sort modules name in Stats 2013-09-01 16:55:22 +02:00
sagaradonis
9cd73b411d Update ajax-cart.js
.size() replaced by .length as .size() is outdated
2013-08-31 19:05:14 +05:30
gr4devel
805e80e54c [+] BO : add TinyMCE editor for short and long descrpition in AdminManufacturerController 2013-08-30 21:24:21 +02:00
Francois Gaillard
d0087267df // Fixed tips of the day & encoding 2013-08-30 14:22:24 +02:00
Rémi Gaillard
f7fefe789d // typo fix 2013-08-30 11:21:00 +02:00
Rémi Gaillard
37e3b9e9e4 [-] WS: 404 error should be returned if a multishop entity does not exists #PSCFV-10229 2013-08-30 11:13:30 +02:00
gr4devel
b72f2a7176 [+] FO : add getManufacturer() to ManufacturerControllerCore
Add getManufacturer() to ManufacturerControllerCore to access the protected manufacturer instance of the controller.
2013-08-29 21:48:32 +02:00
gr4devel
39c8a8fc2d [+] MO : add the option to show all Manufacturer
Add the option to show all Manufacturer in blocktopmenu module.
2013-08-29 21:32:10 +02:00
LOIC ROSSET ltd
24146181c6 Add APCu support 2013-08-29 20:13:58 +01:00
Francois Gaillard
e6abe1c5a0 // Release branch merged 2013-08-29 18:46:34 +02:00
Rémi Gaillard
eec8aaa4f8 // php noti 2013-08-29 18:15:51 +02:00
Rémi Gaillard
08b8277a7a ///// 2013-08-29 17:21:27 +02:00
Rémi Gaillard
51083e17af // 2013-08-29 17:18:05 +02:00
Jerome Nadaud
40c64b54e2 [+] MO : Mailalerts - Add Total tax paid to order confirmation 2013-08-29 17:13:48 +02:00
Francois Gaillard
4a8f6c3116 // Modules categories sort 2013-08-29 17:00:34 +02:00
Rémi Gaillard
ffdc7b51b7 // php 5.2 2013-08-29 16:41:15 +02:00
Rémi Gaillard
1196c5d736 // php 5.2 2013-08-29 16:39:45 +02:00
Rémi Gaillard
01cbffad9b //miss on last commit 2013-08-29 16:11:24 +02:00
Rémi Gaillard
c736c28ab5 // small ajax.php clean 2013-08-29 11:47:11 +02:00
Rémi Gaillard
6d1c8c54af Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-08-29 10:49:53 +02:00
djfm
be83f1364d // updated Czech localization pack 2013-08-29 10:49:39 +02:00
Rémi Gaillard
fb397d3163 Merge pull request #662 from djfm/localization
// updated Czech localization pack
2013-08-29 01:43:33 -07:00
Damien Metzger
f24391be5a // Fixed hook::getidbyname case 2013-08-29 09:39:48 +02:00
Damien Metzger
5dee3ca245 // Fixed hook::getidbyname case 2013-08-29 09:33:28 +02:00
ha99y
75303e82e0 Suppress Error at rename
If debugging  is one (_PS_MODE_DEV_ set to TRUE)
there is a warning on line 142 in /classes/Autoload.php at function
rename()
2013-08-28 18:56:49 -07:00
Rémi Gaillard
ddc16a2f65 [-] BO: Fix fatal error on customer edition when email is not valid 2013-08-28 17:46:05 +02:00
Rémi Gaillard
c72fd867fe // git checkout controllers/ 2013-08-28 12:24:10 +02:00
Rémi Gaillard
63d9005a10 // liveedit 2013-08-28 12:21:01 +02:00
Vincent Augagneur
0a2d8175a7 //small fix 2013-08-28 10:03:50 +02:00
Damien Metzger
7a429cd3ea // Version number 2013-08-28 10:00:29 +02:00
Damien Metzger
330aed3f7a // Translations 2013-08-28 09:51:02 +02:00
Vincent Augagneur
efc44392b6 //small fix 2013-08-28 09:48:01 +02:00
ha99y
ffd712312d Add new argument to function getImages
1st: The function will return the product attribute id's with the list.
2nd: If product attribute id is passed to the function it will return
only the image id of the given attribute.
2013-08-28 00:27:52 -07:00
Rémi Gaillard
6a4680b4f0 [-] WS: Bad xlink for tax_rules_group in product 2013-08-27 18:58:21 +02:00
Vincent Augagneur
5c367cd6e7 //small fix 2013-08-27 18:52:34 +02:00
Vincent Augagneur
41a5eb8411 //small fix 2013-08-27 18:50:14 +02:00
Vincent Augagneur
9b7f32cbac [-] CORE : fixed bug #PSCFV-10175 - No virtuel download email send after accepted payment 2013-08-27 18:13:44 +02:00
Vincent Augagneur
901c08cac8 [-] FO : fixed bug when is virtual cart on OPC carriers is no longer displayed 2013-08-27 18:13:22 +02:00
Vincent Augagneur
4bb0e16509 [-] FO : fixed bug when is virtual cart on OPC carriers is no longer displayed 2013-08-27 16:43:14 +02:00
Vincent Augagneur
39c882cdb4 //small fix 2013-08-27 16:21:13 +02:00
Rémi Gaillard
30a914b148 // typo 2013-08-27 15:41:00 +02:00
Rémi Gaillard
598469e41e // typo debug 2013-08-27 15:38:29 +02:00
Damien Metzger
17618efb8b // Fixed details 2013-08-27 15:27:51 +02:00
Jerome Nadaud
6aad506c80 [-] FO : FixBug when route id is empty 2013-08-27 12:01:40 +02:00
Vincent Augagneur
99b162d16b [-] CORE : fixed bug #PSCFV-10175 - No virtuel download email send after accepted payment 2013-08-27 10:09:35 +02:00
Jerome Nadaud
de200e1c5e Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-08-27 09:50:35 +02:00
Rémi Gaillard
2620242176 // Fix cms_block creation loop on shop addition 2013-08-27 09:52:14 +02:00
Rémi Gaillard
6fd7f0114e // small fix 2013-08-27 09:52:05 +02:00
Rémi Gaillard
1a5b9de372 // small fix 2013-08-27 09:51:56 +02:00
Jerome Nadaud
5a685537a4 // Small Fix 2013-08-27 09:49:59 +02:00
Rémi Gaillard
a964162a01 // Fix cms_block creation loop on shop addition 2013-08-26 18:31:45 +02:00
sjousse
536bdb550b fix file validation to use PHP native method 2013-08-26 18:23:39 +02:00
Vincent Augagneur
1673a080a0 //small fix #PSCFV-10194 2013-08-26 17:34:13 +02:00
Rémi Gaillard
2435edc98c // small fix 2013-08-26 17:17:26 +02:00
Rémi Gaillard
1033c61ced Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-26 17:13:51 +02:00
Rémi Gaillard
1b26cfffd9 // small fix 2013-08-26 17:13:29 +02:00
djfm
4c5c38fe61 // updated Czech localization pack 2013-08-26 14:47:54 +00:00
Vincent Augagneur
0a4264c947 [-] BO : fixed bug when try to add jquery from ajax.googleapis.com in BO 2013-08-26 16:31:50 +02:00
Damien Metzger
0ccbe8cb15 Merge pull request #661 from matiasiglesias/development
[-] LO: Argeninian localization
2013-08-26 02:19:34 -07:00
Vincent Augagneur
ad428dfb2b //MERGE branche release 2013-08-26 10:59:36 +02:00
Rémi Gaillard
b7a03bdffa // sometimes image was not the cover one for blocklayered 2013-08-26 10:37:59 +02:00
Damien Metzger
08dadb7fd3 Merge pull request #660 from djfm/rel
// Small fixes in installer links
2013-08-26 01:37:15 -07:00
Rémi Gaillard
a23772dfb7 // small change in blockstore logo name 2013-08-26 10:33:25 +02:00
Damien Metzger
bc071f2b04 // Fixed code typo 2013-08-26 09:48:26 +02:00
Jerome Nadaud
9f2423c2c5 [-] BO : FixBug Url rewrite preview when user have a different language from shop 2013-08-26 08:52:22 +02:00
matiasiglesias
235bfada7e [-] LO: Argeninian localization 2013-08-24 18:04:55 -03:00
djfm
1e1aff517f // fixed link in russian installer 2013-08-23 14:37:01 +00:00
djfm
fad94047ff // small fixes in installer translations 2013-08-23 14:33:51 +00:00
Vincent Augagneur
b1a0e715a6 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-08-23 10:34:38 +02:00
Vincent Augagneur
8412192822 [-] BO : fixed bug with multistore context on carrier wizard 2013-08-23 10:34:30 +02:00
Jerome Nadaud
c4bb5a99e4 [+] BO : Improve mod rewrite check 2013-08-23 10:26:36 +02:00
Damien Metzger
9e9eb37978 // Updated translations with remote packages 2013-08-23 10:23:50 +02:00
Vincent Augagneur
d48df48a03 //small fux on live edit URL 2013-08-23 09:44:47 +02:00
Vincent Augagneur
7bcd8ee83c //Added missing file 2013-08-23 09:42:37 +02:00
Damien Metzger
03dc07de2f // And readme ! 2013-08-22 17:36:23 +02:00
Rémi Gaillard
8ff8ea416d // fix weird bug 2013-08-22 17:37:46 +02:00
Damien Metzger
5c1e8e2d79 // CHANGELOG 1.5.5.0 2013-08-22 17:26:53 +02:00
Jerome Nadaud
94133bf734 [-] FO : FixBug duplicate fields for delivery address in OPC mode 2013-08-22 16:45:52 +02:00
Damien Metzger
813c32df2f Merge pull request #659 from djfm/release
// Translations
2013-08-22 07:35:38 -07:00
djfm
fb4a9cdb36 // added missing IT installer strings 2013-08-22 14:06:38 +00:00
djfm
73515f6401 // added missing PL installer strings 2013-08-22 13:57:01 +00:00
djfm
e06b01699b // added missing BR installer strings 2013-08-22 13:44:33 +00:00
djfm
2082e2ad19 // added missing ES installer strings 2013-08-22 13:43:53 +00:00
Rémi Gaillard
a21d3fd22e // shipping block was missplaced on order-detail 2013-08-22 15:41:34 +02:00
djfm
29cb603804 // added missing RU installer strings 2013-08-22 13:30:12 +00:00
Vincent Augagneur
b67827772b [-] BO : fixed bug when save carrier without range 2013-08-22 15:17:14 +02:00
djfm
47827a1a1b Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-22 12:31:28 +00:00
Damien Metzger
4de8013b5e // Fixed phone number in installer 2013-08-22 12:19:32 +02:00
Jerome Nadaud
bbea6c4a9b [-] BO : FixBug #PSCFV-10152 - Multibyte string double encoded when send email by SMTP relay 2013-08-22 12:17:51 +02:00
Rémi Gaillard
f476b34139 [-] BO: Fix multishop association for tax rules group - #PSCFV-9967 2013-08-22 11:13:11 +02:00
Rémi Gaillard
9d261b8f1f Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-22 10:54:07 +02:00
Rémi Gaillard
907d81c32e // duplication of tax_rules_group on adminproducts with multishop 2013-08-22 10:53:50 +02:00
Vincent Augagneur
6ad274e39d //Small fix 2013-08-22 10:33:03 +02:00
Vincent Augagneur
eea79052e0 [-] BO : fixed bug #PSCFV-10169 - now you can go backward from step 3 to 2 when no ranges are set 2013-08-22 10:15:55 +02:00
Vincent Augagneur
ba95c9a63a [-] BO : fixed bug #PSCFV-10073 - now you can upload carrier logo on windows 2013-08-22 10:09:49 +02:00
Rémi Gaillard
099baaef70 // small change on specific price rules after condition deletion 2013-08-21 19:14:59 +02:00
Rémi Gaillard
3fcf166a9d // small fix 2013-08-21 18:24:10 +02:00
Rémi Gaillard
dd9aa9fdb5 // disable log deletion 2013-08-21 17:43:34 +02:00
djfm
5faaef9f21 // fixed a few untranslatable strings in CarrierWizard 2013-08-21 14:33:22 +00:00
Damien Metzger
eb69498d2c // Missing icon 2013-08-21 15:34:32 +02:00
Damien Metzger
df418a80db [*] FO : added indexation of attributes references #PSCFV-7294 2013-08-21 15:31:10 +02:00
Damien Metzger
4d3fc8c314 [-] MO : fixed smarty cache on blocksearch #PSCFV-8739 2013-08-21 15:13:49 +02:00
Rémi Gaillard
600b027efd // fix root categories addition 2013-08-21 14:37:39 +02:00
Damien Metzger
cf35d3762b [-] MO : fixed the possibility to override/remove an override twice in the same session without redeclaration #PSCFV-10168 2013-08-21 14:32:18 +02:00
Damien Metzger
65c6d86e6e // Fixed simple multistore process 2013-08-21 10:23:53 +02:00
Damien Metzger
3287e1664c // Added target blank in a transverse link 2013-08-21 10:18:46 +02:00
Damien Metzger
65becc8550 // Fixed typo 2013-08-21 10:10:52 +02:00
gRoussac
50d5a71ca6 [-] Classes : fix memcache ext #PSCFV-5225 thanks @up2date 2013-08-20 23:09:12 +02:00
Rémi Gaillard
20e2f07939 [-] BO: Delete from attribute_shop when an attribute group is deleted #PSCFV-9902 2013-08-20 17:56:26 +02:00
Damien Metzger
ad2702e609 // Config files were translated in french 2013-08-20 17:49:05 +02:00
Rémi Gaillard
3fcb65ca0f [-] WS: Fix retrieve of stock_availables when stock is shared on the shop group 2013-08-20 17:18:07 +02:00
Jerome Nadaud
e80e2ac5e3 [-] BO : FixBug #PSCFV-10075 remove product attribute image association on delete product attribute 2013-08-20 17:05:48 +02:00
Damien Metzger
750f374036 // error log only in dev mode for pcre backtrack limit #PSCFV-9012 2013-08-20 16:40:17 +02:00
Jerome Nadaud
57d8d9c232 [-] BO : FixBug Preview product url 2013-08-20 15:34:00 +02:00
Damien Metzger
eeb469dda5 [-] FO : fixed bad search redirection #PSCFV-10158 2013-08-20 14:52:53 +02:00
Damien Metzger
43c544465e // Removed deprecated parameter 2013-08-20 14:48:58 +02:00
Vincent Augagneur
f71d4a63cf //small fix 2013-08-20 11:46:58 +02:00
Vincent Augagneur
258d381083 [-] BO fixed bug #PSCFV-9663 - .live() method is deprecated on 1.7 jquery and it is not present into the 1.9 2013-08-20 11:11:21 +02:00
Damien Metzger
496db1d13e // Added automatic smarty cache clearing after catalog import (csv) 2013-08-20 10:45:55 +02:00
Damien Metzger
c5f635f967 // Updated some meta and translations 2013-08-20 10:31:03 +02:00
Damien Metzger
cf1798d2a1 [-] MO : multilines translations does not work #PNM-1645 2013-08-20 09:55:44 +02:00
Vincent Augagneur
8a0745e8de [-] BO : fixed bug #PSCFV-9782 - live edit bug with multistore 2013-08-19 17:21:03 +02:00
Jerome Nadaud
155fd516ba // Misplaced if 2013-08-19 14:41:08 +02:00
Vincent Augagneur
bad151a66f [-] BO : fixed range deletion when press enter on input 'all' on carrier wizard 2013-08-19 10:20:22 +02:00
Damien Metzger
218ce59de6 [-] Installer : added ob_start() (required with the cookie mode when debug mode is activated) 2013-08-19 10:04:23 +02:00
Damien Metzger
c5097b19cc [-] TR : fixed missing space in RMA PDF 2013-08-19 09:54:05 +02:00
Jerome Nadaud
add997dbba // Traduction error 2013-08-14 18:29:46 +02:00
Jerome Nadaud
8cd3fd0cfe [-] FO : FixBug Missing PS_STOCK_MANAGEMENT smarty variable 2013-08-14 17:40:36 +02:00
Jerome Nadaud
c180a20cf9 [-] BO : FixBug #PSCFV-7571 Error checking available product quantity 2013-08-14 17:16:41 +02:00
Jerome Nadaud
274c90468f // Syntax error 2013-08-14 16:14:56 +02:00
Rémi Gaillard
d40d841cf3 // something is missing in 3d591be8c6 2013-08-14 15:15:41 +02:00
Rémi Gaillard
24ac8582bf [*] BO: Warehouse name is now displayed on each product line orders 2013-08-14 15:02:30 +02:00
Jerome Nadaud
6cff684af1 [-] BO : FixBug update received quantity in suply order 2013-08-14 14:38:10 +02:00
Vincent Augagneur
ec39b9e701 [-] BO : fixed bug #PSCFV-10111 when carrier is free don't display ranges in summary 2013-08-14 14:19:52 +02:00
Rémi Gaillard
3d591be8c6 [-] Core: Fix language link with multishop from another shop #PSCFV-10063 2013-08-14 11:25:46 +02:00
Damien Metzger
cecaee8e68 [-] BO : Added comprehensive error display when prestashop cannot write the .htaccess file 2013-08-14 11:18:19 +02:00
gRoussac
b22c2b28ec Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-14 10:29:24 +02:00
gRoussac
0bd04d9f3e [*] BO : Clear smarty cache when submitting SEO rules 2013-08-14 10:27:39 +02:00
Jerome Nadaud
1a1666c399 // Syntax error 2013-08-13 18:45:18 +02:00
gRoussac
533b28ce32 Merge branch 'prestarocket-duplicate_id' into release 2013-08-13 18:26:51 +02:00
gRoussac
f459af7090 Merge branch 'duplicate_id' of https://github.com/prestarocket/PrestaShop into prestarocket-duplicate_id 2013-08-13 18:26:22 +02:00
Damien Metzger
7d0e0a7f38 // Removed useless Tools::safeOutput before insertion in the database 2013-08-13 18:21:23 +02:00
Vincent Augagneur
26036cf7b2 //fixed min and max rang in carrier summary 2013-08-13 17:41:43 +02:00
Vincent Augagneur
b9808c5b5e //small js fix 2013-08-13 17:26:16 +02:00
Jerome Nadaud
c6d3545b8b [-] BO :FixBug Suppliers and Warehouses accordion 2013-08-13 17:14:57 +02:00
Vincent Augagneur
f8acc2a15e //small typo 2013-08-13 16:46:44 +02:00
Vincent Augagneur
62ab457908 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-13 16:42:36 +02:00
Vincent Augagneur
c11c55e83c //small css fix 2013-08-13 16:42:32 +02:00
gRoussac
1984cb6272 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-13 16:30:39 +02:00
gRoussac
5123d2505e [-] CORE : Do not delete index.php in smarty cache or /img/tmp/ 2013-08-13 16:29:40 +02:00
Damien Metzger
f9fdcb1103 [-] FO : fixed html tags that should not appear in blockcategories 2013-08-13 16:22:38 +02:00
Vincent Augagneur
6e386868a6 [-] BO : fixed bug #PSCFV-10096 2013-08-13 16:14:09 +02:00
gRoussac
e8685b1430 [*] BO : Add clear smarty cache button 2013-08-13 15:11:00 +02:00
Damien Metzger
b1b636a911 // Added helpbox and fixed translation 2013-08-13 14:16:40 +02:00
Damien Metzger
86fba93f63 [-] Installer : fixed clear smarty cache 2013-08-13 13:37:04 +02:00
Vincent Augagneur
a2d005701e Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-13 11:36:57 +02:00
Vincent Augagneur
b9b03d8259 //small css fix 2013-08-13 11:36:52 +02:00
Damien Metzger
4a6d1e8ff6 [-] Installer : changed syntax from $class:func to call_user_func because it seems to be more compliant with old PHP versions 2013-08-13 11:02:32 +02:00
Rémi Gaillard
9c523cf7eb // Log for product deletion was missing 2013-08-13 10:21:01 +02:00
Vincent Augagneur
da02895432 //fix carrier wizard with multistore part2 2013-08-13 10:10:27 +02:00
Vincent Augagneur
6cfde246a2 //fix carrier wizard with multistore 2013-08-13 10:09:19 +02:00
Vincent Augagneur
3aff1341f6 //small fix 2013-08-13 10:01:18 +02:00
Rémi Gaillard
284f758cb4 [-] FO: Fix quantity discount table display for non default attribute #PSCFV-9942 2013-08-12 18:40:52 +02:00
Vincent Augagneur
0cd6c5b200 //new tab name for carrier option 2013-08-12 17:32:55 +02:00
Jerome Nadaud
a06dfafb9a // Avoid some filters errors 2013-08-12 15:44:13 +02:00
Vincent Augagneur
e2e5fbe33a //now you can delete all carriers 2013-08-12 15:25:26 +02:00
Vincent Augagneur
7cc59b2f49 //fixed bug #PSCFV-10091 part2 2013-08-12 15:23:52 +02:00
Vincent Augagneur
7a06dca942 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-12 15:18:02 +02:00
Vincent Augagneur
a1be985067 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-12 15:17:35 +02:00
Vincent Augagneur
7ff8e44386 [-] BO : fixed bug when carrier is free and change shipping method 2013-08-12 15:17:28 +02:00
Jerome Nadaud
06cdeb45a5 [-] FO : FixBug #PSCFV-10058 - Missing required form fields in address format 2013-08-12 15:17:21 +02:00
Rémi Gaillard
de41faff80 [-] Core: Fix #PSCFV-8887 - improve performance of search indexation 2013-08-12 15:16:45 +02:00
Vincent Augagneur
bae9df61dc //revert reorganization of shipping menus & options 2013-08-12 15:15:17 +02:00
Vincent Augagneur
136586830d //small fix 2013-08-12 15:09:40 +02:00
Vincent Augagneur
30c9156a41 [-] BO : fixed bug #PSCFV-10091 - you can now enable all zone in one clic 2013-08-12 14:56:49 +02:00
Vincent Augagneur
52806c0056 [-] BO : fixed bug #PSCFV-10033 - disable next step if no range has been added on carrier wizard 2013-08-12 14:41:44 +02:00
Jerome Nadaud
1359f46bae [-] FO : FixBug #PSCFV-10090 urlencode syntax error - Thanks Duarte 2013-08-12 14:37:32 +02:00
Jerome Nadaud
4c47c980f8 // Javascript error if address does not exist 2013-08-12 11:57:40 +02:00
Vincent Augagneur
627e3d8a77 [-] BO : fixed multistore thumbnail on product list 2013-08-12 11:27:25 +02:00
Vincent Augagneur
6befd831c9 //small install fix 2013-08-12 11:10:12 +02:00
Vincent Augagneur
3664f4c394 //reorganization of shipping menus & options 2013-08-12 11:02:28 +02:00
gRoussac
7b92675778 [-] CORE : Fix bug #PSCFV-8542 could not have rewrited link for modules in blocklanguage 2013-08-12 10:26:40 +02:00
Jerome Nadaud
54189a5d97 [-] MO : sendtofriend FixBug Form error 2013-08-09 19:03:43 +02:00
Jérôme Nadaud
f119b8e64f [-] FO : FixBug #PSCFV-10058 Invalid id country after allow to select no country 2013-08-09 19:00:18 +02:00
Jérôme Nadaud
7b41098a5d [-] FO : FixBug CGV does not pop-up in Fancy Box 2013-08-09 18:59:00 +02:00
Jerome Nadaud
8be3344e41 // W3C validation error 2013-08-09 18:49:47 +02:00
Jerome Nadaud
bc7d16ede6 [-] FO : FixBug generated_date error 2013-08-09 18:48:26 +02:00
Jerome Nadaud
501cbea5aa [-] BO : FixBug root category listed after list reset 2013-08-09 18:45:40 +02:00
gRoussac
67a0c96ea2 [-] CORE : getModuleLink not working on module custom route, merge from https://github.com/PrestaShop/PrestaShop/pull/487 thanks @zimmi1 2013-08-09 18:36:23 +02:00
gRoussac
41d29b5445 [-] CORE : Addslashes on not translated strings for javascript js=1 2013-08-09 18:26:26 +02:00
gRoussac
92840f85fe [-] BO : Fix additional quote in live edit template 2013-08-09 18:04:08 +02:00
Damien Metzger
eb0d2d47e4 // The blunder wasn't mine :) 2013-08-09 17:31:00 +02:00
Damien Metzger
971b45e630 // fixed variable that does not exists 2013-08-09 17:21:24 +02:00
Vincent Augagneur
431aa78b6f //small fix 2013-08-09 16:36:26 +02:00
gRoussac
8733b968f5 [-] FO : input token missplaced in address.tpl 2013-08-09 14:31:59 +02:00
Damien Metzger
2820314586 [-] MO : fixed potential warning in pscleaner #PSCFV-10070 2013-08-09 11:40:59 +02:00
Rémi Gaillard
1183b14ea9 [-] MO: no more 1.4 support for blocklayered 2013-08-09 11:24:21 +02:00
Kevin Granger
328c6a5439 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-09 11:19:39 +02:00
Kevin Granger
2549924cef Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-09 11:10:58 +02:00
Vincent Augagneur
f41bf1dcca [-] MO : fixed bug #PNM-792 : remove unused js file in blocklayered 2013-08-09 11:07:49 +02:00
Kevin Granger
617c1e01d2 //fix steps of Carriers Wizard with multishop activated 2013-08-09 11:06:54 +02:00
Vincent Augagneur
a5be1f147f //small fix when multi-store is enable on carrier wizard 2013-08-09 10:58:07 +02:00
Vincent Augagneur
1571dd60c8 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-09 10:44:24 +02:00
Vincent Augagneur
13be8db639 //added checkbox for all zones 2013-08-09 10:44:20 +02:00
Damien Metzger
cac7b267e6 [-] MO : fixed category link on blocklayered #PNM-1427 2013-08-09 10:37:23 +02:00
Damien Metzger
eed7ceb37a [-] MO : blocklayered also try to find the translations in the translations directory 2013-08-09 10:21:37 +02:00
Damien Metzger
0fc1c9184c [-] MO : added visibility IN ("both", "catalog") in blocklayered 2013-08-09 10:11:01 +02:00
gRoussac
9ccd9b7cad [-] FO : Do not redirect on 301 when POST request 2013-08-08 19:19:34 +02:00
gRoussac
e923455f6d // revert from 589052325b 2013-08-08 18:58:04 +02:00
Damien Metzger
50cba2b12b // Added link to Addons in the footer 2013-08-08 17:49:17 +02:00
Damien Metzger
95680e0158 [*] FO : added chinese/japanese search 2013-08-08 16:58:07 +02:00
Rémi Gaillard
d2f41d7467 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-08 15:52:42 +02:00
Rémi Gaillard
589052325b // Fix cart with ssl 2013-08-08 15:52:16 +02:00
gRoussac
16fec55c6f // report of 0023950c72 2013-08-08 12:16:19 +02:00
Rémi Gaillard
cbdea59753 // revert 1c80b5fdfe 2013-08-08 11:50:35 +02:00
Rémi Gaillard
5832ab3eb5 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-08 11:40:58 +02:00
Rémi Gaillard
567321dd3d // clean cookie after logout 2013-08-08 11:39:36 +02:00
Damien Metzger
169c3fbc6b // Removed useless line 2013-08-08 11:24:20 +02:00
gRoussac
5b3dda1cfb Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-08 11:05:37 +02:00
gRoussac
1c80b5fdfe [-] BO : list of carriers should only contain the active one in AdminProducts 2013-08-08 11:05:09 +02:00
Damien Metzger
4709f4a3c0 [-] MO : fixed module upgrade with common version number 2013-08-08 11:03:22 +02:00
Damien Metzger
a9b44884f1 // Fixed upgrade of homeslider module 2013-08-08 10:47:03 +02:00
gRoussac
c31c2ca0e9 [-] MO: cover image issue with layered block on multishop, thanks @theginie 2013-08-08 10:46:22 +02:00
gRoussac
1bfa43fa8b [-] MO : My account column block should not display module icon in list 2013-08-08 10:38:39 +02:00
gRoussac
0f4562eb44 [*] MO : added manufactureres order by name, thanks@Jacky75 2013-08-08 10:24:05 +02:00
gRoussac
4abff03244 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-08 10:17:00 +02:00
gRoussac
d6ab0696e6 [-] BO : OrderSlip now correctly displays the order slip date, thanks @Jacky75 2013-08-08 10:16:41 +02:00
Damien Metzger
ff69638595 // removed kay navigation in carrier wizard 2013-08-08 09:38:52 +02:00
Damien Metzger
05946f2932 [-] MO : blocktopmenu should clear cache when adding a new subcategory 2013-08-08 09:35:19 +02:00
Damien Metzger
0550ad5135 // Fixed smarty parse error on live edit 2013-08-08 09:29:13 +02:00
gRoussac
f89e42a5c5 Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-07 18:12:41 +02:00
gRoussac
601bfa628b [-] FO :ProductSale::getBestSales() by modified date renders SQL error, thanks @SebSept 2013-08-07 18:10:39 +02:00
Vincent Augagneur
73f40a6cc6 //fixed carrier wizard typewatch 2013-08-07 17:29:44 +02:00
gRoussac
a1786b97b3 [-] FO : expiration date not displayed in email for downloadable product 2013-08-07 17:08:50 +02:00
gRoussac
5df213f5ae Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-07 15:06:50 +02:00
Rémi Gaillard
d916e65a14 // missing return 2013-08-07 13:56:12 +02:00
Rémi Gaillard
6ccf3e839d // change passwd in cookie after changed it 2013-08-07 13:51:18 +02:00
gRoussac
e43f0619ca Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release 2013-08-07 11:53:23 +02:00
gRoussac
82621c08ec [-] BO : Do not display root category bool if addrootcategory not in url 2013-08-07 11:51:48 +02:00
Gregory Roussac
d99a5a740e Merge pull request #638 from vinvin27/patch-1
// parse error
2013-08-07 02:51:21 -07:00
vinvin27
843989489d Update AdminPPreferencesController.php
Parse error: syntax error, unexpected T_ARRAY, expecting ')' in /controllers/admin/AdminPPreferencesController.php on line 120
2013-08-07 11:47:56 +02:00
Rémi Gaillard
e6a819e5dd // Fix double quote translations 2013-08-07 11:29:34 +02:00
gRoussac
ac21fa9808 [-] MO : Missing image in my account for MODULE WishList 2013-08-07 10:56:09 +02:00
843 changed files with 29432 additions and 69030 deletions

4
.gitignore vendored
View File

@@ -5,7 +5,6 @@
.idea
.svn
.DS_Store
.sass-cache
robots.txt
sitemap.xml
cache/cachefs/*
@@ -105,5 +104,4 @@ modules/upscarrier
modules/uspscarrier
modules/wexpay
modules/yotpo
modules/zingaya
admin-dev/themes/default/bower_components
modules/zingaya

View File

@@ -1,80 +1,186 @@
- (d)oekia
- adonis karavokyros
- aFolletete
- Agence CINS
- aKorczak
- Aleksander Palyan
- Alexander Otchenashev
- anat
- Andrew
- aNiassy
- antoniofr
- AntonLejon
- Arnaud Lemercier
- Axome
- Benjamin PONGY
- BigZ
- bLeveque
- bMancone
- bumbu
- Burhan
- Caleydon Media
- cam.lafit
- Captain FLAM
- Captain-FLAM
- ccauw
- cedricfontaine
- Cédric Mouleyre
- Chris
- ChristopheBoucaut
- CINS
- cippest
- cmouleyre
- Corentin Delcourt
- Cosmin Hutanu
- Damien Metzger
- DamienMetzger
- Damon Skelhorn
- Daniel
- Daniele Giachino
- David Gasperoni
- DrySs
- DrÿSs'
- François Gaillard
- Gabriel Schwardy
- Gregory Roussac
- Ha!*!*y
- Jonathan Danse
- Krystian Podemski
- Marco Cervellin
- Michel Courtade
- Milow
- Patanock
- Pierre
- PrestaEdit
- Raphaël Malié
- Rémi Gaillard
- Samy Rabih
- Sarah Lorenzini
- Shagshag
- Vincent Augagneur
- Xavier POITAU
- aFolletete
- aKorczak
- aNiassy
- adonis karavokyros
- anat
- bLeveque
- bMancone
- bumbu
- cmouleyre
- dMetzger
- dSevere
- Davy Rolink
- Dinis Lage
- djfm
- dlage
- dMetzger
- (d)oekia
- Dragan Skrbic
- dreammeup
- DrySs
- DrÿSs
- DrÿSs'
- dSevere
- Edouard Gaulué
- emily-d
- Eric Le Lay
- Fabio Chelly
- fBrignoli
- fSerny
- fchellypresta
- fram
- Francois Gaillard
- François Gaillard
- Fran<61>ois Gaillard
- fSerny
- Gabriel Schwardy
- Gaelle ITZKOVITZ
- gBrunier
- gCharmes
- gPoulain
- gr4devel
- Grégoire Bélorgey
- Gregory Roussac
- gRoussac
- Guillaume DELOINCE
- ha99y
- hAitmansour
- Ha!*!*y
- indesign47
- inem0o
- ivancasasempere
- Jáchym Toušek
- Javsmile
- jBreux
- jObregon
- jeckyl
- jeromenadaud
- Jerome Nadaud
- Jérôme Nadaud
- jessylenne
- jmCollin
- jObregon
- Jonathan Danse
- joseantgv
- Julien
- Kevin Granger
- kiropowered
- kpodemski
- Krystian Podemski
- lBrieu
- lCherifi
- ldecoker
- lLefevre
- LOIC ROSSET ltd
- Madef
- Mainmich
- makk1ntosh
- marcinsz101
- Marco Cervellin
- matiasiglesias
- Mats Rynge
- MatthieuB
- Maxence
- mBertholino
- mDeflotte
- Michel Courtade
- Mickael Desgranges
- Mikael Blotin
- Milow
- minic studio
- misthero
- mMarinetti
- marcinsz101
- montes
- nPellicari
- MustangZhong
- nezenmoins
- Nicolas Sorosac
- Nils-Helge Garli Hegvik
- Nino Uzelac
- nPellicari
- nturato
- oleacorner
- Otto Nascarella
- Patanock
- PhpMadman
- Pierre
- Piotr Kaczor
- Piotr Moćko
- PrestaEdit
- PrestaLab
- PrestanceDesign
- prestarocket
- Prestaspirit
- pxls
- Raphaël Malié
- raulgundin
- Rémi Gaillard
- rGaillard
- Rimas Kudelis
- rMalie
- rMontagne
- romainberger
- root
- runningz
- sagaradonis
- Samy Rabih
- Sarah Lorenzini
- Seb
- Sébastien
- Sébastien Bocahu
- Seynaeve
- Shagshag
- sjousse
- sLorenzini
- smartdatasoft
- soufyan
- soware
- Staging
- sThiebaut
- Sylvain Gougouzian
- Sylvain WITMEYER
- tDidierjean
- thoma202
- Tomasz Slominski
- Tom Panier
- tucoinfo
- unknown
- vAugagneur
- vChabot
- Vincent Augagneur
- Vincent Schoener
- Vincent Terenti
- vinvin27
- vKham
- vSchoener
- Xavier
- Xavier POITAU
- Yoozio
- zimmi1
- Zollner Robert

View File

@@ -2,47 +2,48 @@ README
======
![PrestaShop](http://www.prestashop.com/images/banners/general/prestashop_728x90.png "PrestaShop")
PREPARATION
ABOUT
--------
To install PrestaShop, you need a remote web server or on your computer (MAMP), with access to a database like MySQL.
You'll need access to phpMyAdmin to create a database and to indicate the information in the database in the installer.
PrestaShop is a free and open-source e-commerce web application, committed to providing the best shopping cart experience for both merchants and consumers.
SERVER CONFIGURATION
--------
To install PrestaShop, you need a web server running PHP5 and any flavor of MySQL5 (MySQL, MariaDB, Percona Server...).
You will also need a database administration tool, such as phpMyAdmin, in order to create a database for PrestaShop.
We recommend the Apache or Nginx web servers.
If your host does not offer PHP5 by default, here are a few [explanations][2] about PHP5 or the .htaccess file for certain hosting services (1&1, Free, Lycos, OVH, Infomaniak, Amen, GoDaddy, etc).
If you want your online store ready to go, visit [http://www.prestabox.com][1]: it lets you create your online store in less than 10 minutes without any technical knowledge.
If you do not host and unable to create your store, we offer a turnkey store, which lets you create your online store in less than 10 minutes without any technical knowledge.
We invite you to visit: [http://www.prestabox.com][1]
INSTALLATION
--------
Simply go to your PrestaShop web directory and use installer :-)
With your web browser, go to the root of your PrestaShop directory, and the installer will start. Follow the instructions until PrestaShop is installed.
If you have any PHP error, perhaps you don't have PHP5 or you need to activate it on your web host.
Please go to our forum to find pre-installation settings (PHP 5, htaccess) for certain hosting services (1&1, Free, Lycos, OVH, Infomaniak, Amen, GoDaddy, etc).
If you have any PHP error, perhaps you don't have PHP5 or you need to activate it on your web host. See the page linked above.
If you don't find any solution to start the installer, please post on [the PrestaShop forums][3].
English webhost [specifics settings][2]
If you don't find any solution to launch installer, please post on [our forum][3]
There are always solutions for your issues ;-)
DOCUMENTATION
--------
For any extra documentation (how-to), please read our [Online documentation][4]
The official PrestaShop documentation is available online [on its own website][4].
FORUMS
--------
You can also discuss, help and contribute with PrestaShop community on [our forums][5]
You can discuss, help and contribute with PrestaShop community on [the PrestaShop forums][5].
Thanks for downloading and using PrestaShop e-commerce Open-source solution!
Thank you for downloading and using PrestaShop e-commerce Open-source solution!
[1]: http://www.prestabox.com
[2]: http://www.prestashop.com/forums/topic/2946-pre-installation-settings-php-5-htaccess-for-certain-hosting-services/
[3]: http://www.prestashop.com/forums/forum/7-installing-prestashop/
[4]: http://doc.prestashop.com
[5]: http://www.prestashop.com/forums/
[5]: http://www.prestashop.com/forums/

View File

@@ -26,45 +26,12 @@
define('_PS_ADMIN_DIR_', getcwd());
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
/* Getting cookie or logout */
require_once(_PS_ADMIN_DIR_.'/init.php');
$context = Context::getContext();
if (Tools::isSubmit('changeParentUrl'))
echo '<script type="text/javascript">parent.parent.document.location.href = "'.addslashes(urldecode(Tools::getValue('changeParentUrl'))).'";</script>';
if (Tools::isSubmit('installBoughtModule'))
{
$file = false;
while ($file === false OR file_exists(_PS_MODULE_DIR_.$file))
$file = uniqid();
$file = _PS_MODULE_DIR_.$file.'.zip';
$sourceFile = 'http://addons.prestashop.com/iframe/getboughtfile.php?id_order_detail='.Tools::getValue('id_order_detail').'&token='.Tools::getValue('token');
if (!copy($sourceFile, $file))
{
if (!($content = file_get_contents($sourceFile)))
die(displayJavascriptAlert('Access denied: Please download your module directly from PrestaShop Addons website'));
elseif (!file_put_contents($file, $content))
die(displayJavascriptAlert('Local error: your module directory is not writable'));
}
$first6 = fread($fd = fopen($file, 'r'), 6);
if (!strncmp($first6, 'Error:', 6))
{
$displayJavascriptAlert = displayJavascriptAlert(fread($fd, 1024));
fclose($fd);
unlink($file);
die($displayJavascriptAlert);
}
fclose($fd);
if (!Tools::ZipExtract($file, _PS_MODULE_DIR_))
{
unlink($file);
die(displayJavascriptAlert('Cannot unzip file'));
}
unlink($file);
die(displayJavascriptAlert('Module copied to disk'));
}
if (Tools::isSubmit('ajaxReferrers'))
{
require(_PS_CONTROLLER_DIR_.'admin/AdminReferrersController.php');
@@ -101,39 +68,6 @@ if (Tools::isSubmit('ajaxProductPackItems'))
die('['.implode(',', $jsonArray).']');
}
if (Tools::isSubmit('ajaxStates') AND Tools::isSubmit('id_country'))
{
$states = Db::getInstance()->executeS('
SELECT s.id_state, s.name
FROM '._DB_PREFIX_.'state s
LEFT JOIN '._DB_PREFIX_.'country c ON (s.`id_country` = c.`id_country`)
WHERE s.id_country = '.(int)(Tools::getValue('id_country')).' AND s.active = 1 AND c.`contains_states` = 1
ORDER BY s.`name` ASC');
if (is_array($states) AND !empty($states))
{
$list = '';
if (Tools::getValue('no_empty') != true)
{
$empty_value = (Tools::isSubmit('empty_value')) ? Tools::getValue('empty_value') : '----------';
$list = '<option value="0">'.Tools::htmlentitiesUTF8($empty_value).'</option>'."\n";
}
foreach ($states AS $state)
$list .= '<option value="'.(int)($state['id_state']).'"'.((isset($_GET['id_state']) AND $_GET['id_state'] == $state['id_state']) ? ' selected="selected"' : '').'>'.$state['name'].'</option>'."\n";
}
else
$list = 'false';
die($list);
}
if (Tools::getValue('form_language_id'))
{
if (!($context->cookie->employee_form_lang = (int)(Tools::getValue('form_language_id'))))
die ('Error while updating cookie.');
die ('Form language updated.');
}
if (Tools::isSubmit('submitTrackClickOnHelp'))
{
@@ -144,15 +78,6 @@ if (Tools::isSubmit('submitTrackClickOnHelp'))
HelpAccess::trackClick($label, $version);
}
if (Tools::isSubmit('toggleScreencast'))
{
if (Validate::isLoadedObject($context->employee))
{
$context->employee->bo_show_screencast = !$context->employee->bo_show_screencast;
$context->employee->update();
}
}
if (Tools::isSubmit('getChildrenCategories') && Tools::isSubmit('id_category_parent'))
{
$children_categories = Category::getChildrenWithNbSelectedSubCat(Tools::getValue('id_category_parent'), Tools::getValue('selectedCat'), Context::getContext()->language->id, null, Tools::getValue('use_shop_context'));
@@ -200,17 +125,6 @@ if (Tools::isSubmit('getParentCategoriesId') && $id_category = Tools::getValue('
die(Tools::jsonEncode($output));
}
/* Update attribute */
if (Tools::isSubmit('ajaxUpdateTaxRule'))
{
$id_tax_rule = Tools::getValue('id_tax_rule');
$tax_rules = new TaxRule((int)$id_tax_rule);
$output = array();
foreach ($tax_rules as $key => $result)
$output[$key] = $result;
die(Tools::jsonEncode($output));
}
if (Tools::isSubmit('getZones'))
{
$zones = Zone::getZones();
@@ -223,8 +137,3 @@ if (Tools::isSubmit('getZones'))
$array = array('hasError' => false, 'errors' => '', 'data' => $html);
die(Tools::jsonEncode($html));
}
function displayJavascriptAlert($s)
{
echo '<script type="text/javascript">alert(\''.addslashes($s).'\');</script>';
}

View File

@@ -22,26 +22,18 @@
$upload->setInvalidFileExt(explode(",", CONFIG_UPLOAD_INVALID_EXTS));
if(CONFIG_SYS_VIEW_ONLY || !CONFIG_OPTIONS_UPLOAD)
{
$error = SYS_DISABLED;
}
elseif(empty($_GET['folder']) || !isUnderRoot($_GET['folder']))
{
$error = ERR_FOLDER_PATH_NOT_ALLOWED;
}else if(!$upload->isFileUploaded('file'))
{
elseif (!$upload->isFileUploaded('file'))
$error = ERR_FILE_NOT_UPLOADED;
}else if(!$upload->moveUploadedFile($_GET['folder']))
{
$error = ERR_FILE_MOVE_FAILED;
}
elseif(!$upload->isPermittedFileExt(explode(",", CONFIG_UPLOAD_VALID_EXTS)))
{
elseif (!$upload->isPermittedFileExt(explode(",", CONFIG_UPLOAD_VALID_EXTS)))
$error = ERR_FILE_TYPE_NOT_ALLOWED;
}elseif(defined('CONFIG_UPLOAD_MAXSIZE') && CONFIG_UPLOAD_MAXSIZE && $upload->isSizeTooBig(CONFIG_UPLOAD_MAXSIZE))
{
elseif (defined('CONFIG_UPLOAD_MAXSIZE') && CONFIG_UPLOAD_MAXSIZE && $upload->isSizeTooBig(CONFIG_UPLOAD_MAXSIZE))
$error = sprintf(ERROR_FILE_TOO_BID, transformFileSize(CONFIG_UPLOAD_MAXSIZE));
}else
elseif (!$upload->moveUploadedFile($_GET['folder']))
$error = ERR_FILE_MOVE_FAILED;
else
{
include_once(CLASS_FILE);
$path = $upload->getFilePath();

View File

@@ -24,7 +24,8 @@
if(!empty($_GET['search']))
{
include_once(CLASS_SEARCH);
if (!preg_match('/^'.Tools::pRegexp(realpath(dirname(__FILE__).'/'.$_GET['search_folder']), '/').'/i', _PS_ROOT_DIR_.'/img/cms'))
exit;
$search = new Search($_GET['search_folder']);
$search->addSearchKeyword('recursive', @$_GET['search_recursively']);
$search->addSearchKeyword('mtime_from', @$_GET['search_mtime_from']);

View File

@@ -78,9 +78,9 @@
define('CONFIG_EDITABLE_VALID_EXTS', 'txt,htm,html,xml,js,css'); //make you include all these extension in CONFIG_UPLOAD_VALID_EXTS if you want all valid
define('CONFIG_OVERWRITTEN', false); //overwirte when processing paste
define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png');// //
define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,jpeg,png');// //
//define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,bmp,tif,zip,sit,rar,gz,tar,htm,html,mov,mpg,avi,asf,mpeg,wmv,aif,aiff,wav,mp3,swf,ppt,rtf,doc,pdf,xls,txt,xml,xsl,dtd');//
define("CONFIG_VIEWABLE_VALID_EXTS", 'gif,jpg,png');
define("CONFIG_VIEWABLE_VALID_EXTS", 'gif,jpg,jpeg,jpeg,png');
//define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,txt'); //
define('CONFIG_UPLOAD_INVALID_EXTS', '');

View File

@@ -10,6 +10,9 @@
//FILESYSTEM CONFIG <br>
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . "class.auth.php");
if (_PS_MODE_DEMO_)
die('This functionality has been disabled.');
define('CONFIG_QUERY_STRING_ENABLE', true); //Enable passed query string to setting the system configuration
if(!isset($_SESSION))
{

View File

@@ -73,9 +73,9 @@
define('CONFIG_EDITABLE_VALID_EXTS', 'txt,htm,html,xml,js,css'); //make you include all these extension in CONFIG_UPLOAD_VALID_EXTS if you want all valid
define('CONFIG_OVERWRITTEN', false); //overwirte when processing paste
define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,txt'); //
define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,jpeg,png,txt'); //
//define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,bmp,tif,zip,sit,rar,gz,tar,htm,html,mov,mpg,avi,asf,mpeg,wmv,aif,aiff,wav,mp3,swf,ppt,rtf,doc,pdf,xls,txt,xml,xsl,dtd');//
define("CONFIG_VIEWABLE_VALID_EXTS", 'gif,bmp,txt,jpg,png,tif,html,htm,js,css,xml,xsl,dtd,mp3,wav,wmv,wma,rm,rmvb,mov,swf');
define("CONFIG_VIEWABLE_VALID_EXTS", 'gif,bmp,txt,jpg,jpeg,png,tif,html,htm,js,css,xml,xsl,dtd,mp3,wav,wmv,wma,rm,rmvb,mov,swf');
//define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,txt'); //
define('CONFIG_UPLOAD_INVALID_EXTS', '');

View File

@@ -185,10 +185,10 @@ function getPath($urlBase, $id_category, $path = '', $highlight = '', $categoryT
$edit = '<a href="'.$urlBase.'&id_cms_category='.$category->id.'&addcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
<img src="../img/admin/edit.gif" alt="Modify" /></a> ';
if ($category->id == 1)
$edit = '<li><a href="'.$urlBase.'&id_cms_category='.$category->id.'&viewcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
<i class="icon-home"></i></a></li> ';
$path = $edit.'<li><a href="'.$urlBase.'&id_cms_category='.$category->id.'&viewcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
'.$name.'</a></li> > '.$path;
$edit = '<a href="'.$urlBase.'&id_cms_category='.$category->id.'&viewcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
<img src="../img/admin/home.gif" alt="Home" /></a> ';
$path = $edit.'<a href="'.$urlBase.'&id_cms_category='.$category->id.'&viewcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
'.$name.'</a> > '.$path;
if ($category->id == 1)
return substr($path, 0, strlen($path) - 3);
return getPath($urlBase, $category->id_parent, $path, '', 'cms');

View File

@@ -107,3 +107,5 @@ if ($option)
$grid->create($render, $type, $width, $height, $start, $limit, $sort, $dir);
$grid->render();

View File

@@ -27,6 +27,9 @@
$timer_start = microtime(true);
define('_PS_ADMIN_DIR_', getcwd());
if (!defined('PS_ADMIN_DIR'))
define('PS_ADMIN_DIR', _PS_ADMIN_DIR_);
require(_PS_ADMIN_DIR_.'/../config/config.inc.php');
require(_PS_ADMIN_DIR_.'/functions.php');

View File

@@ -49,9 +49,12 @@ try
AdminTab::$currentIndex = $currentIndex;
$iso = $context->language->iso_code;
include(_PS_TRANSLATIONS_DIR_.$iso.'/errors.php');
include(_PS_TRANSLATIONS_DIR_.$iso.'/fields.php');
include(_PS_TRANSLATIONS_DIR_.$iso.'/admin.php');
if (file_exists(_PS_TRANSLATIONS_DIR_.$iso.'/errors.php'))
include(_PS_TRANSLATIONS_DIR_.$iso.'/errors.php');
if (file_exists(_PS_TRANSLATIONS_DIR_.$iso.'/fields.php'))
include(_PS_TRANSLATIONS_DIR_.$iso.'/fields.php');
if (file_exists(_PS_TRANSLATIONS_DIR_.$iso.'/admin.php'))
include(_PS_TRANSLATIONS_DIR_.$iso.'/admin.php');
/* Server Params */
$protocol_link = (Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://';

View File

@@ -1,9 +0,0 @@
{
"name": "admin-theme",
"version": "0.0.0",
"dependencies": {
"font-awesome": "~3.2.1",
"sass-bootstrap": "~3.0.0"
},
"devDependencies": {}
}

View File

@@ -1,16 +0,0 @@
# Require any additional compass plugins here.
http_path = "/"
css_dir = "css"
sass_dir = "css"
images_dir = "img"
javascripts_dir = "js"
fonts_dir = "font"
output_style = :compressed
environment = :production
# To enable relative paths to assets via compass helper functions. Uncomment:
# relative_assets = true
line_comments = false
color_output = false
preferred_syntax = :sass

View File

@@ -1,59 +0,0 @@
/*!
* Bootstrap v3.0.0
*
* Copyright 2013 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world by @mdo and @fat.
*/
// Core variables and mixins
@import "../bower_components/sass-bootstrap/lib/variables";
@import "../bower_components/sass-bootstrap/lib/mixins";
// Reset
@import "../bower_components/sass-bootstrap/lib/normalize";
@import "../bower_components/sass-bootstrap/lib/print";
// Core CSS
@import "../bower_components/sass-bootstrap/lib/scaffolding";
@import "../bower_components/sass-bootstrap/lib/type";
@import "../bower_components/sass-bootstrap/lib/code";
@import "../bower_components/sass-bootstrap/lib/grid";
@import "../bower_components/sass-bootstrap/lib/tables";
@import "../bower_components/sass-bootstrap/lib/forms";
@import "../bower_components/sass-bootstrap/lib/buttons";
// Components
@import "../bower_components/sass-bootstrap/lib/component-animations";
@import "../bower_components/sass-bootstrap/lib/glyphicons";
@import "../bower_components/sass-bootstrap/lib/dropdowns";
@import "../bower_components/sass-bootstrap/lib/button-groups";
@import "../bower_components/sass-bootstrap/lib/input-groups";
@import "../bower_components/sass-bootstrap/lib/navs";
@import "../bower_components/sass-bootstrap/lib/navbar";
@import "../bower_components/sass-bootstrap/lib/breadcrumbs";
@import "../bower_components/sass-bootstrap/lib/pagination";
@import "../bower_components/sass-bootstrap/lib/pager";
@import "../bower_components/sass-bootstrap/lib/labels";
@import "../bower_components/sass-bootstrap/lib/badges";
@import "../bower_components/sass-bootstrap/lib/jumbotron";
@import "../bower_components/sass-bootstrap/lib/thumbnails";
@import "../bower_components/sass-bootstrap/lib/alerts";
@import "../bower_components/sass-bootstrap/lib/progress-bars";
@import "../bower_components/sass-bootstrap/lib/media";
@import "../bower_components/sass-bootstrap/lib/list-group";
@import "../bower_components/sass-bootstrap/lib/panels";
@import "../bower_components/sass-bootstrap/lib/wells";
@import "../bower_components/sass-bootstrap/lib/close";
// Components w/ JavaScript
@import "../bower_components/sass-bootstrap/lib/modals";
@import "../bower_components/sass-bootstrap/lib/tooltip";
@import "../bower_components/sass-bootstrap/lib/popovers";
@import "../bower_components/sass-bootstrap/lib/carousel";
// Utility classes
@import "../bower_components/sass-bootstrap/lib/utilities";
@import "../bower_components/sass-bootstrap/lib/responsive-utilities";

File diff suppressed because it is too large Load Diff

View File

@@ -1,167 +0,0 @@
// CSS TOGGLE SWITCHES (Ionuț Colceriu)
// Licensed under Unlicense
// https://github.com/ghinda/css-toggle-switch
//Hide by default
.switch .slide-button, .toggle p span
display: none
.switch
background-color: darken($bg-content-color,15%)
border-radius: 3px
label
padding: 0
cursor: pointer
//Toggle Switches
//We can't test for a specific feature, so we only target browsers with support for media queries.
//Position the label over all the elements, except the slide-button
//Clicking anywhere on the label will change the switch-state
// Don't hide the input from screen-readers and keyboard access
@media only screen
// Checkbox
.toggle
position: relative
padding: 0
margin-left: 100px
label
position: relative
z-index: 3
display: block
width: 100%
input
position: absolute
opacity: 0
z-index: 5
p
position: absolute
left: -100px
width: 100%
margin: 0
padding-right: 100px
text-align: left
p span
position: absolute
top: 0
left: 0
z-index: 5
display: block
width: 50%
margin-left: 100px
text-align: center
&:last-child
left: 50%
.slide-button
position: absolute
right: 0
top: 0
z-index: 4
display: block
width: 50%
height: 100%
padding: 0
// Radio Switch
.switch
position: relative
padding: 0
input
position: absolute
opacity: 0
label
position: relative
z-index: 2
float: left
width: 50%
height: 100%
margin: 0
text-align: center
.slide-button
position: absolute
top: 0
left: 0
padding: 0
z-index: 1
width: 50%
height: 100%
input:last-of-type:checked ~ .slide-button
left: 50%
// Switch with 3 items
&.switch-three label, &.switch-three .slide-button
width: 33.3%
&.switch-three input:checked:nth-of-type(2) ~ .slide-button
left: 33.3%
&.switch-three input:checked:last-of-type ~ .slide-button
left: 66.6%
// Switch with 4 items
&.switch-four label, &.switch-four .slide-button
width: 25%
&.switch-four input:checked:nth-of-type(2) ~ .slide-button
left: 25%
&.switch-four input:checked:nth-of-type(3) ~ .slide-button
left: 50%
&.switch-four input:checked:last-of-type ~ .slide-button
left: 75%
// Switch with 5 items
&.switch-five label, &.switch-five .slide-button
width: 20%
&.switch-five input:checked:nth-of-type(2) ~ .slide-button
left: 20%
&.switch-five input:checked:nth-of-type(3) ~ .slide-button
left: 40%
&.switch-five input:checked:nth-of-type(4) ~ .slide-button
left: 60%
&.switch-five input:checked:last-of-type ~ .slide-button
left: 80%
// Shared
.toggle, .switch
display: block
height: $input-height-base
.switch *, .toggle *
-webkit-box-sizing: border-box
-moz-box-sizing: border-box
-ms-box-sizing: border-box
-o-box-sizing: border-box
box-sizing: border-box
.switch .slide-button, .toggle .slide-button
display: block
-webkit-transition: all 0.3s ease-out
-moz-transition: all 0.3s ease-out
-ms-transition: all 0.3s ease-out
-o-transition: all 0.3s ease-out
transition: all 0.3s ease-out
.toggle label, .toggle p, .switch label
line-height: $input-height-base
vertical-align: middle
.toggle input:checked ~ .slide-button
right: 50%
// Outline the toggles when the inputs are focused
.toggle input:focus ~ .slide-button, .switch input:focus + label
outline: 1px dotted #888
// Bugfix for older Webkit, including mobile Webkit. Adapted from:
// http://css-tricks.com/webkit-sibling-bug/
.switch, .toggle
-webkit-animation: bugfix infinite 1s
//@-webkit-keyframes bugfix { from { position: relative; } to { position: relative; } }
// Prestashop Theme
.prestashop-switch
min-width: 150px
color: #666
text-align: center
border-radius: 3px
@include box-shadow(rgba(black,0.2) 0 2px 5px 1px inset)
label
padding-top: 0!important
font-weight: 500
input:checked + label
color: #333
@include text-shadow(rgba(white,0.7) 1px 1px 0)
.slide-button
position: relative
margin-right: 3px
border-color: darken($bg-content-color,20%)
color: lighten($bg-content-color,50%)
@include background(linear-gradient(top,$bg-content-color, darken($bg-content-color,10%)))
@include box-shadow(rgba(white,1) 0 0 0 1px inset)
p
color: #333
span
color: #fff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,674 +0,0 @@
#nobootstrap {
body {font-family: Arial, Helvetica, sans-serif;}
h1, h2, h3, h4 { font-family: Arial, Helvetica, sans-serif; margin-bottom:.5em; line-height:1.4em; }
h2 { font-size:1.7em; }
h3 { font-size:1.25em; }
h4 { font-size:1.05em; }
h6 { font-size:1em; }
//LIST
ul, ol {list-style:none; margin: 0; padding: 0;}
ul li {color:#585A69;}
//FORM
label {color:#585a69;text-shadow:0 1px 0#fff;}
fieldset{background-color:#EBEDF4; border:1px solid #CCCED7; color:#585A69; font-size:1.1em;margin:0;padding:1em}
.Bloc {background-color:#EBEDF4; border:1px solid #CCCED7;font-size:1.1em;margin:0;padding:1em}
legend{background:#EBEDF4;border:1px solid #CCCED7;font-weight:700;margin:0;padding:.2em .5em;text-align:left}
input[type="text"],input[type="password"],input[type="file"],textarea {border:1px solid #ccc; background-color:#fff;}
input[type="text"]:disabled,input[type="password"]:disabled,input[type="file"]:disabled,textarea:disabled {border:1px solid #ccc; background-color:#dedede; color: #444444;}
select { border:1px solid #ccc; font-size: 12px;}
select[disabled="disabled"], input[disabled="disabled"],textarea[disabled="disabled"], option[disabled="disabled"] {border: 1px solid #CCCCCC;color: #AAAAAA}
.header_module{background:url('../img/header_module.png');padding-left: 0.5em;padding-top: 0.8em;height:20px;color: #812143;border:solid 1px #CCC;}
.double_select select{width:300px;height:160px;}
.double_select a{text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px}
.icon {vertical-align:middle}
.icon-top {vertical-align:top}
//BUTTON
.button{
background: #e3e3e3 url('../img/bg-button-degrade.png') repeat-x scroll left top;
background: -moz-linear-gradient(center top , #F9F9F9, #E3E3E3) repeat scroll 0 0 transparent;
background: -webkit-gradient(linear, center top ,center bottom, from(#F9F9F9), to(#E3E3E3)) repeat scroll 0 0 transparent;
border-color: #CCCCCC #BBBBBB #A0A0A0;border-left: 1px solid #BBBBBB;border-radius: 3px 3px 3px 3px;border-right: 1px solid #BBBBBB;border-style: solid;border-width: 1px;color: #000000;margin: 0;outline: medium none;padding: 3px 8px;text-align: center;vertical-align: middle;white-space: nowrap; text-shadow:0 1px 0 #fff;}
.button[disabled=disabled]{color:#8C8C8C}
.button.bt-icon { display:inline-block; margin-bottom:7px;}
.button.bt-icon span {padding-left:5px;}
input.button[disabled=disabled]:hover{background-color:#FFF6D3}
.button:hover{border:1px solid #939393;}
.button:active{border:1px solid #939393;}
.button.export-csv span{ background: transparent url('../img/export-csv.png') no-repeat scroll left top; padding:1px 0 1px 20px}
#top_container{margin:0;padding:0}
//HEADER
#header { background-color: #394049; height:90px; }
// Portrait orientation targeting
@media screen and (orientation: portrait) {#header{min-width:1250px}}
// Portrait orientation targeting
@media screen and (orientation: landscape) {#header{min-width:1250px}}
#header #header_infos{ position:relative; margin: 0; padding:0; height:60px; }
#header #header_shopname {float: left; margin:10px 15px 0 10px;}
#header #employee_box {float: right; display:block;}
#header #employee_infos {display:block; margin:5px 15px 0 10px;}
#header #employee_infos a{color:#BABABA; text-transform:capitalize;margin-right: 5px}
#header #employee_infos a:hover {color:#fff;}
#header #employee_infos .employee_name { float:left; color:#fff;padding: 0 20px 0 0;}
#header .separator { background: transparent url('../img/separator.png') no-repeat scroll center top;height: 19px; width: 16px; margin-right: 5px}
#header ul#employee_links {list-style: none;display: block;text-align: left;}
#header ul#employee_links li {display: inline;line-height: 20px;}
#header #header_infos #header_shopname span{display:block; font-size:24px; height:28px; overflow:hidden;margin:0; color:#fff; text-shadow: 0 1px 0 #000000;}
#header #header_infos a#header_logout { background: transparent url('../img/logout.png') no-repeat scroll left top; padding-left:20px; color:#bababa;}
#header #header_infos a#header_logout:hover {color:#fff;}
#header #header_infos #header_logout a span {color:#bababa}
#header #header_infos #header_foaccess{ text-decoration:none; color:#bababa;}
#header #header_infos #header_foaccess a {color:#bababa !important;}
#header #header_infos a#header_foaccess:hover { color:#fff;}
#header #header_search{ background-color:#fff; border:2px solid #000; float:left; margin-top:15px; position:relative; height:25px; box-shadow: 0 1px 0 #666666; }
#header #header_search #bo_query{ font: 13px Arial,sans-serif; float:left;background: none repeat scroll 0 0 transparent; border:none; box-shadow:none; padding: 5px 0px 5px 4px; width: 160px; }
#header #header_search #bo_search_type_chzn{ font-size:13px; float:left; margin:0 23px 0 0; padding:0 4px; vertical-align:middle;width:80px !important;height:27px; border:none;}
#header #header_search #bo_search_type_chzn.chzn-container-single .chzn-single { box-shadow:none; border-radius:0px; border:none; border-left:1px dotted #ccc;}
#header #header_search #bo_search_submit { background: url('../img/icon-search2.png') no-repeat scroll center; border:none; width:27px; height:25px; float:left; font-weight:normal; margin:0; padding:0; cursor:pointer; text-indent:-9999em; position:absolute; right:0; display:block; border-left:1px solid #3079ED; border-radius:0px;}
#header #header_quick{float:right; display:block; margin-top:15px;}
#header #header_quick #quick_select_chzn{ font-size:13px; margin:0 10px 0 0; padding:0px 0 4px; }
#header #header_myaccount{background:url('../img/bg-lang.png') no-repeat;display:block;float:right;height:16px;margin:8px 1px 0 0;width:16px}
.path_bar {display:none;}
#notifs_icon_wrapper {float: left;position: relative;margin:15px 10px 0; width:95px;}
.notifs { float: left;position: relative;cursor: pointer;margin:0; padding:5px; width: 18px;height: 16px;}
#orders_notif {background: url('../img/notif_order.png') no-repeat center top;}
#customers_notif {background: url('../img/notif_customer.png') no-repeat center top;}
#customer_messages_notif {background: url('../img/notif_message.png') no-repeat center top;}
#orders_notif.open_notifs,
#customers_notif.open_notifs,
#customer_messages_notif.open_notifs { background-color: #FFFFFF;border: 1px solid #000000; position: relative; display: block; background-position:center bottom; }
.number_wrapper {color: white;display: none;font-size: 13px;font-weight: bold;position: absolute; right: -8px;top: -10px;z-index: 101;padding: 2px 5px;}
.number_wrapper span {background-color: #F03D25; font-size:11px; display: block; padding: 1px 3px;border-color: -moz-use-text-color #DD3822 #DD3822;border-radius: 2px 2px 2px 2px;border-right: 1px solid #DD3822;border-style: none solid solid;border-width: 0 0px;}
.notifs_wrapper {background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #000; border-top:none;display: none; cursor:auto; position: absolute; top: 25px; left: -1px; width:300px; padding: 10px;color: black; z-index:9999;}
.notifs_wrapper h3 {font-size: 14px;padding-bottom:8px;margin:0;border-bottom: 1px solid #E5E5E5;}
.notifs_wrapper ul {padding:6px 0;margin:0;}
.notifs_wrapper ul li {text-decoration: none;list-style: none;font-size:12px;padding:5px 0;}
#header_infos .notifs_wrapper a {font-weight: bold; font-size:11px; color: black; float:right;}
.notifs_wrapper p {font-size: 12px;padding-top:8px;margin:0;border-top: 1px solid #E5E5E5;}
.notifs_wrapper p.no_notifs {border: none;}
//MENU
#header #menu{ background-color: #f8f8f8; border-bottom:1px solid #e5e5e5; float:left;line-height:normal;margin:0;padding:0;width:100%;}
#header #menu li.maintab{float:left;height:29px;list-style:none;list-style:none;display:block; border-left:1px solid #fff; border-right:1px solid #ccc;}
#header #menu li.submenu_size .title{cursor:default;color:#000;display:block; padding:8px 3px 4px 0;font-weight:normal;font-size:12px;}
#header #menu li.submenu_size .title{_display:inline;_padding:6px 5px 4px 0}
#header #menu li{_height:32px;_padding-top:3px}
#header #menu img{display:inline;padding:0 3px 0 6px; margin-top:-4px; vertical-align:middle;width:16px;height:16px}
#header #menu li.active, #header #menu li:hover{background-position:0 -38px;white-space:nowrap;}
#header #menu li.active a{}
#header #menu li:hover, #header #menu li.active {background-color:#49B2FF;}
#header #menu li.maintab:hover, #header #menu li.active {border-left:1px solid #49B2FF;border-right:1px solid #49B2FF;}
#header #menu li.active a.title, #header #menu li:hover a.title {color:#fff; text-shadow: -1px -1px 0 #3293D6;}
#header #menu .withLeftBorder{background:transparent url('../img/separator_subnav.png') no-repeat 0 5px}
#header #menu .submenu{background:#f8f8f8;clear:both;margin:0;padding:0;border:1px solid #d9d9d9;z-index:9999; box-shadow: 1px 5px 5px #CCCCCC; -moz-box-shadow:1px 5px 10px #CCCCCC; -webkit-box-shadow:1px 5px 10px #CCCCCC;}
#header #menu .submenu li{list-style:none;margin:0;padding:0;display:block;min-width:150px;}
#header #menu .submenu li a{ font-size:12px;display:block;padding: 5px 15px 5px 10px; color:#666666;border-top:1px solid #fff; border-bottom:1px solid #ccc;}
#header #menu .submenu li a:hover { background-color:#eee; text-shadow:0 1px 0 #fff;}
#header #menu .submenu li.active a { color: #fff;}
#header #menu .submenu li.active a:hover { color:#666666}
//SEPARATION
.separation { background-color:#ccc;border-bottom:1px solid #fff; width:100%; height:1px; margin:10px 0;}
//TABLE
.table_grid {width:100%;}
.table{ background-color:#fff;border:1px solid #ccc; padding:0; border-radius:3px; -moz-border-radius:3px;-webkit-border-radius:3px;}
.filter {background-color:#f1f9ff;}
.table .filter {margin:2px;}
.table th a{text-decoration:underline}
.table a:hover{text-decoration:none}
.table tr th{ background-color: #F1F1F1; text-shadow:0 1px 0 #fff; padding:4px 6px;
background: #ececec url('../img/bg-degrade-table.png') repeat-x scroll left top;
background-image: -moz-linear-gradient(center top , #F9F9F9, #ECECEC);
background: -webkit-gradient(linear, center top ,center bottom, from(#F9F9F9), to(#ECECEC)) repeat scroll 0 0 transparent;
font-size:13px; text-align:left; color:#333;}
.table tr th.right { text-align:center;}
.table tr td{border-bottom:1px solid #ccc;color:#333;font-size:12px;padding: 4px 4px 4px 6px;}
.table tr.row_hover:hover td{background:#fff1b5}
.table tr.row_hover.filter:hover td{background:#F1F9FF}
.table tr td.row_hover:hover table tr td{background:none}
.table tr.action_details td{background:#FAFAFA;}
.table tr.alt_row.action_details td{background:#E8E8E8;}
.table tr td.empty{border-bottom:none;background:white!important}
.table tr td.first{border-left:1px solid #DEDEDE}
.table tr td.last{border-right:1px solid #DEDEDE}
.table tr.small td{height:15px}
.table tr.last td{border-bottom:none}
.col-left {vertical-align:top; padding-right:10px;}
.col-right {padding-bottom:5px;}
#tabPane1 td.col-left { width:200px;}
#product-tab-content-wait{display:block;background:url('../img/bg_loaderSpace.png');min-height:420px;position:absolute;width:96.5%;}
div#loading{height:128px;width:128px;background:url('../img/ajax-loader.gif');display:block;text-indent:-9999px;margin:100px auto;}
td.col-left label { display:block; width:100%; text-align:right;}
.alt_row{background-color:#f8f8f8}
.path_bar{background-color:#E2EBEE;border:1px solid #999999;font-family:Trebuchet,Arial,Helvetica,sans-serif;font-size:13px;margin-bottom:20px;padding:5px}
.path_bar a{font-weight:700}
.cat_bar{background-color:#F4E8CD;border:1px solid #999999;font-family:Trebuchet,Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;margin-bottom:20px;padding:5px}
.cat_bar a{font-weight:700}
.table tr#total_products,
.table tr#total_discounts,
.table tr#total_wrapping,
.table tr#total_shipping { height:35px;}
.table tr#total_order { height:50px;}
a.action_module{color: #268CCD;text-decoration: underline;}
a.header_module_toggle{font-weight: bold;color: #268CCD;display:block;}
a.module_toggle_all{color: #268CCD;}
.nbr_module{float:right;margin-right:10px;font-style:italic;font-size:12px;color: #268CCD;}
.autoupgradeSteps div { line-height: 30px; }
.upgradestep { margin-right: 5px;padding-left: 10px; padding-right: 5px;}
#upgradeNow.stepok, .autoupgradeSteps a.stepok { background-image: url('../img/admin/enabled.gif');background-position: left center;background-repeat: no-repeat;padding-left: 15px;}
#upgradeNow {-moz-border-bottom-colors: none;-moz-border-image: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;border-color: #FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right: 1px solid #DFD5AF;border-style: solid;border-width: 1px;color: #268CCD;font-size: medium;padding: 5px;}
.button-autoupgrade {-moz-border-bottom-colors: none;-moz-border-image: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;border-color: #FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right: 1px solid #DFD5AF;border-style: solid;border-width: 1px;color: #268CCD;font-size: medium;padding: 5px;}
.processing {overflow: auto;}
//UI ACCORDEON
.ui-accordion-header { background-color: #ccc; color:#000;}
//BLOC
.Bloc { background: none repeat scroll 0 0 #EBEDF4;}
//TABLE STATUS COMMANDE
.table td span.color_field { font-size:11px; padding:2px 5px; border-radius:3px; text-transform:uppercase; color:#fff; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;}
//multishop toolbar
.multishop_toolbar { background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 10px; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; font-size: 18px;}
.multishop_toolbar span.text_multishop {vertical-align: 7px; padding-right: 5px; }
.multishop_toolbar select.shopList { width: 300px; }
.multishop_toolbar a.chzn-single { background: url('../img/icon-multishop.png') no-repeat 5px 5px; padding: 1px 2px 2px 25px; font-weight: bold; }
.multishop_toolbar .chzn-container .chzn-results .first{font-weight: bold;background-color: #408BD5;color: #ffffff;}
.multishop_toolbar .chzn-container .chzn-results .group{font-weight: bold;font-style: italic;padding-left: 15px;background-color: #C6DEFC;}
.multishop_toolbar .chzn-container .chzn-results .shop{padding-left: 30px;background-color: #EAF2FC;}
//toolbarBox
.toolbar-placeholder {position:relative}
.toolbarBox {background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 5px 0; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;-o-border-radius:3px;position:relative}
.toolbarBox .pageTitle { margin-left:10px; line-height:48px}
.toolbarBox .pageTitle h3 {font-size: 1.6em; font-weight: normal; line-height: 52px; margin: 0; padding: 0; text-shadow:0 1px 0 #fff;}
.toolbarBox ul.cc_button {float:right;margin:0 5px 0 0;padding:0;}
.toolbarBox ul.cc_button li {color: #666666; float: left; height: 48px; list-style: none outside none; padding: 1px 1px 3px 4px; text-align: center;}
.toolbarBox a.toolbar_btn { border:1px solid #f8f8f8; min-width:50px; border-width: 1px; font-size:11px;cursor: pointer; display: block; float: left; padding: 3px 5px; white-space: nowrap; text-shadow: 0 1px 0 #ffffff;}
.toolbarBox a.toolbar_btn:hover { background-color:#fff; border:1px inset #ccc; border-radius:3px;-moz-border-radius:3px; -webkit-border-radius:3px;-o-border-radius:3px;}
.toolbarBox .toolbar_btn span{ display: block; float: none; height: 32px; margin: 0 auto; width: 32px}
.toolbarBox .process-icon-delete { background-image: url('../img/process-icon-delete.png');}
.toolbarBox .process-icon-duplicate { background-image: url('../img/process-icon-duplicate.png');}
.toolbarBox .process-icon-preview { background-image: url('../img/process-icon-preview.png');}
.toolbarBox .process-icon-stats { background-image: url('../img/process-icon-stats.png');}
.toolbarBox .process-icon-cancel, .toolbarBox .toolbar-cancel { background-image: url('../img/process-icon-cancel.png');}
.toolbarBox .process-icon-new, .toolbarBox .toolbar-new{ background-image: url('../img/process-icon-new.png');}
.toolbarBox .process-icon-save { background-image: url('../img/process-icon-save.png');}
.toolbarBox .process-icon-save-and-stay { background-image: url('../img/process-icon-save-and-stay.png');}
.toolbarBox .process-icon-edit { background-image: url('../img/process-icon-edit.png');}
.toolbarBox .process-icon-back { background-image: url('../img/process-icon-back.png');}
.toolbarBox .process-icon-refresh-index { background-image: url('../img/process-icon-refresh-index.png');}
.toolbarBox .process-icon-refresh-cache { background-image: url('../img/process-icon-refresh-cache.png');}
.toolbarBox .process-icon-save-calendar { background-image: url('../img/process-icon-save-calendar.png');}
.toolbarBox .process-icon-new-module { background-image: url('../img/process-icon-new-module.png');}
.toolbarBox .process-icon-new-url { background-image: url('../img/process-icon-new-url.png');}
.toolbarBox .process-icon-new-module-addon { background-image: url('../img/process-icon-new-module-addon.png');}
.toolbarBox .process-icon-save-and-preview { background-image: url('../img/process-icon-preview.png');}
.toolbarBox .process-icon-import { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-export { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-export-all { background-image: url('../img/process-icon-export-csv-details.png');}
.toolbarBox .process-icon-export-stock-state-quantities-csv { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-export-stock-state-prices-csv { background-image: url('../img/process-icon-export-csv-details.png');}
.toolbarBox .process-icon-export-csv-orders { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-export-csv-details { background-image: url('../img/process-icon-export-csv-details.png');}
.toolbarBox .process-icon-export-stock-mvt-csv { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-newAttributes, .toolbarBox .toolbar-new{ background-image: url('../img/process-icon-new.png');}
.toolbarBox .process-icon-new.add_product{ background-image: url('../img/process-icon-addProduct.png');}
.toolbarBox .process-icon-partialRefund{ background-image: url('../img/process-icon-partial-refund.png');}
.toolbarBox .process-icon-standardRefund{ background-image: url('../img/process-icon-standard-refund.png');}
.toolbarBox .process-icon-help{ background-image: url('../img/process-icon-help.png');}
.toolbarBox .process-icon-help-new{ background-image: url('../img/process-icon-help-new.png');}
.toolbarBox .process-icon-modules-list{ background-image: url('../img/process-icon-modules-list.png');}
.toolbarReduced {margin-right:221px}
#modules_list_button {width:211px;height:63px;border:none;position:absolute;top:0;right:0;background-image:url('../img/modules_list_button.png');font-size: 1.6em;cursor:pointer;padding-left:45px}
.toolbarBox #modules_list_container {
background: none repeat scroll 0 0 #FFF;
border: solid 1px #CCC;
display: block;
float: right;
height: auto;
width: 500px;
position: absolute;
right: 13px;
top: 63px;
z-index: 100;
box-shadow: 1px 5px 5px #CCCCCC;
-moz-box-shadow: 1px 5px 10px #CCCCCC;
-webkit-box-shadow: 1px 5px 10px #CCCCCC;
opacity: 1;
}
.toolbarBox #modules_list_container #modules_list_container_content
{
max-height: 500px;
overflow: auto;
}
.toolbarBox #modules_list_container #modules_list_container_tab {margin-top: 10px;width: auto;height: auto; }
.toolbarBox #modules_list_container #modules_list_container_tab table {width: 100%;border-spacing: 0px; }
.toolbarBox #modules_list_container #modules_list_container_tab tr { height: auto}
.toolbarBox #modules_list_container #modules_list_container_tab tr.rowalt {background-color: #F0F7FF}
.toolbarBox #modules_list_container #modules_list_container_tab #tab_module_switch {margin-bottom: 10px;}
.toolbarBox #modules_list_container #modules_list_loader {margin-top: 10px}
.toolbarBox #modules_list_container .nav-tabs-modules:after {clear: both;}
.toolbarBox #modules_list_container .nav-tabs-modules > li {height: 19px;}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a {
padding-right: 12px;
padding-left: 12px;
margin-right: 2px;
line-height: 14px;
}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a {
padding-top: 8px;
padding-bottom: 7px;
border: 1px solid transparent;
-webkit-border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0;
-o-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a:hover {
border-color: #C0C0C0;
background-color: #ffffff;
}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a {border: 1px solid #ddd;border-bottom:none;}
.toolbarBox #modules_list_container .nav-tabs-modules > .active > a,
.toolbarBox #modules_list_container .nav-tabs-modules > .active > a:hover {
color: #555555;
cursor: default;
background-color: #F8F8F8;
border: 1px solid #ddd;
border-bottom-color: transparent;
}
div.fix-toolbar {border-bottom: 1px solid #E0E0E0;position:fixed;top:0;opacity:0.9;z-index:500;margin:auto}
//button upload files
#content .qq-upload-button {
background: #e4e4e4 url('../img/bg-button-degrade.png') repeat-x scroll left top;
background: -moz-linear-gradient(center top , #F9F9F9, #E3E3E3) repeat scroll 0 0 transparent;
background: -webkit-gradient(linear, center top ,center bottom, from(#F9F9F9), to(#E3E3E3)) repeat scroll 0 0 transparent;
color:#333;
width:180px;
text-shadow: 0 1px 0 #fff;
border-color: #CCCCCC #BBBBBB #A0A0A0;
border-left: 1px solid #BBBBBB;
border-radius: 3px 3px 3px 3px;
border-right: 1px solid #BBBBBB;
border-style: solid;
border-width: 1px;
color: #000000;
}
#content .qq-upload-button:hover { border:1px solid #939393;}
.file_upload_label {margin-top:5px;}
//leadin
.leadin {}
.leadin .bloc-leadin{ padding:10px 3px;}
//productBox
#productBox { position:relative; width:100%; float:left;}
//tab-pane
form#product_form, form#access_form, form#cart_rule_form, #modules_tab_list { background-color:#ebedf4; border:1px solid #ccced7; min-height:404px; padding: 5px 10px 10px; margin-left:140px;}
#modules_tab_list {min-height: inherit}
#content form.adminstockmanagement {margin-left:0px;}
form#product_form h3 { font-size:14px; font-weight:normal;}
form#product_form h4 { font-size:18px; font-weight:normal;}
.tab-row {}
.tab-row .tab {background:#EFEFEF;width:100px;}
.tab-row .tab-page.selected {}
.tab-row .tab-page {}
.productTabs{ background-color:#fafafa; border:1px solid #ccced7; border-right:none; float:left; width:140px;}
.productTabs ul{padding:0;margin:0;}
.productTabs ul li.tab-row { border:none; }
.productTabs ul li.tab-row:first-child a {border-top:none;}
.productTabs ul li.tab-row a { display:block; font-weight:normal; color:#666;padding: 7px 10px; border-top:1px solid #CCCED7; border-right:1px solid #CCCED7;}
.productTabs ul li.tab-row a.selected { background-color:#EBEDF4;font-weight:bold;color:#000; border-right:none;}
.product-tab-content h4.tab { display:none;}
#product_list {margin-bottom:0.5em}
#categories-treeview { }
#product-tab-content-3-Associations .Association td.col-left { width:200px;}
//FILTER MODULE
.filter-module { background-color:#ebedf4; border:1px solid #c2c4d9; padding:10px; display:block; min-height:35px;}
.filter-module #filternameForm {float:left; margin-right:30px;}
.filter-module label {width:auto;}
.filter-module .select-filter { float:left;}
.filter-module .button-filter { float:right;}
//FILTER STOCK
.filter-stock { background-color:#ebedf4; border:1px solid #c2c4d9; margin-bottom:15px; padding:10px; display:block; min-height:25px;}
.filter-stock #stock_instant_state {float:left; margin-right:30px;}
.filter-stock label {width:auto;}
.filter-stock .select-filter { float:left;}
.filter-stock .button-filter { float:right;}
.filter-stock-extended { background-color:#ebedf4; border:1px solid #c2c4d9; margin-bottom:15px; padding:10px; display:block; min-height:65px;}
.filter-stock-extended #stock_cover {float:left; margin-right:30px;}
.filter-stock-extended #supply_orders {float:left; margin-right:30px;}
.filter-stock-extended label {width:auto;}
.filter-stock-extended .select-filter { float:left;}
.filter-stock-extended .button-filter { float:right;}
//ADDONS LOGIN
#addons_login_div { background: #EBEDF4 url('../img/lock.png') no-repeat scroll left 5px;}
#addons_login_div form#addons_login_form { float:right;}
#addons_login_div p {float:left; font-size:16px; color:#585A69; line-height:24px; text-shadow: 0 1px 0 #fff; margin:0; padding-left:25px;}
#addons_login_div label {}
#addons_login_div input { float:left; margin-right:10px;}
#addons_login_div input#addons_login_button { margin-right: 0px; }
//SIDEBAR
.sidebar { position:relative; float:left; width:220px; display:inline;}
.sidebar h3 { background-color:#ebedf4; font-weight:bold; display:block; padding:5px;}
.sidebar.navigation h3 {margin:0;}
.sidebar .subHeadline { font-weight:bold; float:right; margin-top:-28px; margin-right:5px;}
.sidebar ul.categorieList {}
.sidebar ul.categorieList li { border-top:1px solid #ccc; position:relative; line-height:20px;}
.sidebar ul.categorieList li:first-child { border-top:none;}
.sidebar ul.categorieList li a {color:#3a6ea7; display:block; padding-left:5px;}
.sidebar ul.categorieList li a:hover { background-color: #EBEDF4;}
.sidebar ul.categorieList li div.categorieWidth { overflow:hidden;}
.sidebar ul.categorieList li div.count{ position:absolute; top:0; right:5px;}
.sidebar .categorieStatus { display:none;}
//NAVIGATION ENGINE
.blocEngine { background-color:#eee;}
.blocEngine .rowForm { display: block;float: left;margin: 0; padding: 5px 0; }
.blocEngine .rowForm label { font-weight:normal;}
.blocEngine .rowForm label,
.blocEngine .rowForm select {width:220px; float:left; text-align:left;}
.blocEngine p { margin-top:10px;display:block; float:left;}
//STATCONTAINER
#statsContainer {margin-left:220px; padding:0 0 0 20px;}
#statsContainer #calendar,
#referrersContainer #calendar{ background-color: #EEEEEE;border-top: 1px solid #CCCCCC; display: block; margin: 10px 0;min-height: 25px; padding: 5px;}
#statsContainer #calendar form,
#referrersContainer #calendar form {float:left;}
#statsContainer #calendar input, #statsContainer #calendar p,
#referrersContainer #calendar input, #referrersContainer #calendar p { float:left;}
#statsContainer #calendar input.submitDateDay, #referrersContainer #calendar input.submitDateDay { border-top-right-radius: 0px; border-bottom-right-radius:0px; border-right:none;}
#statsContainer #calendar input.submitDateMonth, #statsContainer #calendar input.submitDateMonth,
#referrersContainer #calendar input.submitDateMonth, #referrersContainer #calendar input.submitDateMonth { border-radius:0px;}
#statsContainer #calendar input.submitDateYear,
#referrersContainer #calendar input.submitDateYear { border-top-left-radius: 0px; border-bottom-left-radius:0px; border-left:none; margin-right:10px;}
#statsContainer #calendar input.submitDateDayPrev,
#referrersContainer #calendar input.submitDateDayPrev { border-top-right-radius: 0px; border-bottom-right-radius:0px; border-right:none;}
#statsContainer #calendar input.submitDateMonthPrev,
#referrersContainer #calendar input.submitDateMonthPrev { border-radius:0px;}
#statsContainer #calendar input.submitDateYearPrev,
#referrersContainer #calendar input.submitDateYearPrev { border-top-left-radius: 0px; border-bottom-left-radius:0px; border-left:none; margin-right:10px;}
#statsContainer #calendar p, #referrersContainer #calendar p { margin:2px;}
#statsContainer #calendar p span, #referrersContainer #calendar p span { float:left; display:block; padding:3px;}
#statsContainer .blocStats { background-color: #EBEDF4;border: 1px solid #C2C4D9; display: block; position:relative; padding: 10px;}
#statsContainer .blocStats h2 { font-weight:normal; margin:0; font-size:1.4em}
#statsContainer .blocStats h2.icon-statsproduct span,
#statsContainer .blocStats h2.icon-statsbestsuppliers span,
#statsContainer .blocStats h2.icon-statsforecast span,
#statsContainer .blocStats h2.icon-pagesnotfound span,
#statsContainer .blocStats h2.icon-sekeywords span,
#statsContainer .blocStats h2.icon-guide span,
#statsContainer .blocStats h2.icon-statsequipment span,
#statsContainer .blocStats h2.icon-statsvisits span,
#statsContainer .blocStats h2.icon-statssales span,
#statsContainer .blocStats h2.icon-statsregistrations span,
#statsContainer .blocStats h2.icon-statspersonalinfos span,
#statsContainer .blocStats h2.icon-statscatalog span,
#statsContainer .blocStats h2.icon-basket-delete span,
#statsContainer .blocStats h2.icon-statsbestcustomers span,
#statsContainer .blocStats h2.icon-statsorigin span,
#statsContainer .blocStats h2.icon-statsbestproducts span,
#statsContainer .blocStats h2.icon-statsbestvouchers span,
#statsContainer .blocStats h2.icon-statsbestcategories span,
#statsContainer .blocStats h2.icon-statscarrier span,
#statsContainer .blocStats h2.icon-statssearch span,
#statsContainer .blocStats h2.icon-statsstock span,
#statsContainer .blocStats h2.icon-conversion span,
#statsContainer .blocStats h2.icon-payment span,
#statsContainer .blocStats h2.icon-category span,
#statsContainer .blocStats h2.icon-currency span,
#statsContainer .blocStats h2.icon-language span,
#statsContainer .blocStats h2.icon-attribute span { background: transparent url('../img/icon-sprites-title.png') no-repeat scroll left top; width:16px; height:16px; padding-right:18px; margin-right:3px;}
#statsContainer .blocStats h2.icon-statsproduct span { background-position :2px 2px;}
#statsContainer .blocStats h2.icon-statsforecast span { background-position :-18px 2px;}
#statsContainer .blocStats h2.icon-guide span { background-position :-36px 2px;}
#statsContainer .blocStats h2.icon-statsbestsuppliers span { background-position :-54px 2px;}
#statsContainer .blocStats h2.icon-pagesnotfound span { background-position :-72px 2px;}
#statsContainer .blocStats h2.icon-sekeywords span { background-position :-90px 2px;}
#statsContainer .blocStats h2.icon-statsequipment span { background-position :-108px 2px;}
#statsContainer .blocStats h2.icon-statsvisits span { background-position :-126px 2px;}
#statsContainer .blocStats h2.icon-statsregistrations span { background-position :-147px 2px;}
#statsContainer .blocStats h2.icon-statssales span { background-position : 0 -16px;}
#statsContainer .blocStats h2.icon-statspersonalinfos span { background-position : -18px -16px;}
#statsContainer .blocStats h2.icon-statscatalog span { background-position : -36px -16px;}
#statsContainer .blocStats h2.icon-category span { background-position : -36px -16px;}
#statsContainer .blocStats h2.icon-basket-delete span { background-position : -54px -16px;}
#statsContainer .blocStats h2.icon-statsbestcustomers span { background-position : -72px -16px;}
#statsContainer .blocStats h2.icon-statsorigin span { background-position : -90px -16px;}
#statsContainer .blocStats h2.icon-statsbestproducts span { background-position : -108px -16px;}
#statsContainer .blocStats h2.icon-statsbestvouchers span { background-position : -126px -16px;}
#statsContainer .blocStats h2.icon-statsbestcategories span { background-position : -147px -17px;}
#statsContainer .blocStats h2.icon-statscarrier span { background-position : 2px -36px;}
#statsContainer .blocStats h2.icon-statssearch span { background-position : -18px -36px;}
#statsContainer .blocStats h2.icon-statsstock span { background-position : -36px -36px;}
#statsContainer .blocStats h2.icon-conversion span { background-position : -54px -36px;}
#statsContainer .blocStats h2.icon-payment span { background-position : -72px -36px;}
#statsContainer .blocStats h2.icon-currency span { background-position : -90px -36px;}
#statsContainer .blocStats h2.icon-language span { background-position : -106px -36px;}
#statsContainer .blocStats h2.icon-attribute span { background-position : -126px -36px;}
#statsContainer .blocStats form { position:absolute; top:10px; right:5px;}
#statsContainer .blocStats form.checkup { position:relative; top:0; left:0;}
#statsContainer .totalStats { font-size:16px; font-weight:bold;}
#statsContainer .blocStats .blocConversion { display:block; display:inline-table; min-height:80px}
//MODULECONTAINER
#moduleContainer { margin-left:220px; padding:13px 0 0 20px;}
#moduleContainer .table tr th { height:40px;}
#moduleContainer .table tr td { font-size:12px; vertical-align:top; padding: 5px 7px 0; border-top:1px solid #ccc; border-bottom:none;}
#moduleContainer .table tr:first-child {border-top:1px solid #ccc}
#moduleContainer .table tr td .imgm , #modules_list_container_tab .imgm {width:32px;}
#moduleContainer .moduleDesc { font-size:12px; position:relative; margin-bottom:10px;}
#moduleContainer .moduleDesc h3 { color:#3A6EA7; margin:0;}
#moduleContainer .moduleDesc .metadata { float:left; display:block; margin:5px 0;}
#moduleContainer .moduleDesc .metadata dl { float:left; margin:0; padding-right:10px;}
#moduleContainer .moduleDesc .metadata dl dt, .moduleDesc .metadata dl dd { float:left; margin:0; padding:0;}
#moduleContainer .moduleDesc .metadata dl dd { padding-right:10px;}
#moduleContainer .moduleDesc .metadata dl dt { font-weight:bold; padding-right:5px;}
#moduleContainer .moduleDesc p.desc { color:#666; font-family: Georgia; font-style: italic; font-size:12px; display:block; clear:both;}
#moduleContainer .setup {background-color:#6db300; font-weight:bold; font-size:10px; color:#fff; text-transform:uppercase; position:relative; left:10px; padding:0px 4px; display: inline-block; border-radius:3px;}
#moduleContainer .setup.non-install { background-color:#ec7000;}
#moduleContainer .setup.must-have { background-color: #ec7000;}
#moduleContainer .setup.off{ background-color:#ccc; color:#666666}
#moduleContainer .row-actions-module span {padding-right:5px;}
#moduleContainer .row-actions-module span a { font-size:12px;}
#moduleContainer .button.uninstalled,
#moduleContainer .button.installed { float:right; clear:both; margin-top:15px; font-size:12px;}
#moduleContainer ul.listing-grid-module { position:relative; margin:0; padding:0;}
#moduleContainer ul.listing-grid-module li { float:left; border:1px solid #ccc; width:400px; min-height:30px; margin:10px; padding:5px; border-radius:4px;}
#moduleContainer .moduleGridDesc { position:relative; display:block; height:30px;}
#moduleContainer .moduleGridDesc h3 { color:#3A6EA7; margin:0;}
#moduleContainer ul.listing-grid-module li select { position:absolute; top:0; right:0px; }
//TAB MODULES LIST
#modules_list_container_tab #modules_list_container_content{
list-style-type:none;
padding:0;
margin:0;
white-space: nowrap;
overflow: auto;
height: 370px;
}
#modules_list_container_tab #modules_list_container_content li{display:inline-block;}
#modules_list_container_tab table tr th { height:40px;}
#modules_list_container_tab table tr td { font-size:12px; padding: 3px 3px 3px; border-top:1px solid #ccc; border-bottom:none;}
#modules_list_container_tab table tr td tr td {border: none}
#modules_list_container_tab table tr:first-child {border-top:1px solid #ccc}
#modules_list_container_tab .imgm {width:32px;}
#modules_list_container_tab .moduleDesc {font-size:12px}
#modules_list_container_tab .moduleDesc h3 { color:#3A6EA7;margin: 0;font-size: 1.1em;text-align: left;white-space: normal;}
#modules_list_container_tab .moduleDesc .metadata { float:left; display:block; margin:5px 0;}
#modules_list_container_tab .moduleDesc .metadata dl { float:left; margin:0; padding-right:10px;}
#modules_list_container_tab .moduleDesc .metadata dl dt, .moduleDesc .metadata dl dd { float:left; margin:0; padding:0;}
#modules_list_container_tab .moduleDesc .metadata dl dd { padding-right:10px;}
#modules_list_container_tab .moduleDesc .metadata dl dt { font-weight:bold; padding-right:5px;}
#modules_list_container_tab .moduleDesc p.desc { color:#666; font-family: Georgia; font-style: italic; font-size:12px; text-align: left;white-space: normal;}
#modules_list_container_tab .setup {background-color:#6db300; font-weight:bold; font-size:10px; color:#fff; text-transform:uppercase; padding:0 10px; display: inline-block; border-radius:3px;}
#modules_list_container_tab .row-actions-module {float: right;}
#modules_list_container_tab .setup.non-install { background-color:#ec7000;}
#modules_list_container_tab .setup.must-have { background-color: #ec7000;}
#modules_list_container_tab .setup.off{ background-color:#ccc; color:#666666}
#modules_list_container_tab .row-actions-module span { padding-right:5px;}
#modules_list_container_tab .row-actions-module span a { font-size:12px;}
#modules_list_container_tab ul.listing-grid-module { position:relative; margin:0; padding:0;}
#modules_list_container_tab ul.listing-grid-module li { float:left; border:1px solid #ccc; width:400px; min-height:30px; margin:10px; padding:5px; border-radius:4px;}
#modules_list_container_tab .moduleGridDesc { position:relative; display:block; height:30px;}
#modules_list_container_tab .moduleGridDesc h3 { color:#3A6EA7; margin:0;}
#modules_list_container_tab ul.listing-grid-module li select { position:absolute; top:0; right:0px; }
.default_modules_list_display_type #modules_list_container_content li table tr td{border: none}
.default_modules_list_display_type #modules_list_container_content li table {border:solid 1px #ccc;height:105px;width:100%;margin-bottom:10px}
#modules_list_container_tab ul li {height:105px}
//******* ie7 *****
.ie7 #modules_list_container_tab #modules_list_container_content li{zoom:1;display:inline;}
.ie7 #modules_list_container_content li table {width: 21%;}
.ie7 #modules_list_container_content li table td .btn_right{width:100%;float:right;}
.ie7 #modules_list_container_content li table td .btn_right select{float:left;}
.ie7 #modules_list_container_content li table td a.button{display:block;float:right;}
//MODULE POSITION
.blocLiveEdit { float:right; clear:right; background-color: #EBEDF4; border: 1px solid #C2C4D9;display: block; width:250px;}
.blocLiveEdit h2 { background: transparent url('../img/live_edit.png') no-repeat scroll 10px 10px; height: 40px; line-height: 50px;margin: 0; padding: 0 10px; text-indent: 40px;}
.blocLiveEdit p { padding: 0 10px;}
.blocLiveEdit a.button {float: left; margin:10px; display: inline-block;}
#modulePosition { width:100%; float:left; clear:left;}
#modulePosition .table tr th { height:40px;}
#modulePosition form{ margin-right:270px;}
#modulePosition .lab_modules_positions h3 { color:#3A6EA7; margin:0 0 0 10px; float:left;}
#modulePosition .lab_modules_positions p { font-family:Georgia; font-style: italic; font-size:12px; padding-left:40px; clear:both;}
#modulePosition .lab_modules_positions span { font-size:12px; padding-top:4px; padding-left:5px; float:left; }
select#show_modules { font-size:12px;}
label.text { padding:1px 12px 0 0;}
label.radioCheck {font-weight:normal; padding:0; float:none; margin:0 1em 0 0.25em}
.listForm {}
ul.listForm {}
ul.listForm li {padding-bottom:3px;}
//FOOTER
#footer {height:40px; font-size:12px;clear:both;font-size:0.9em;color:#666666}
#footer .footerLeft { float:left; margin-left:10px;}
#footer .footerRight {float:right; margin-right:10px;}
#footer .footer_link, #footer .footer_link:hover { color:#268CCD;}
//DASHBOARD
.pageTitleHome { font-size: 1.6em; font-weight: normal; margin:0; padding:10px 0;}
.pageTitleHome h3 { font-weight: normal; margin:0;}
#dashboard { background-color: #EBEDF4; border: 1px solid #C2C4D9; display: block; padding: 10px; position: relative; min-width:1200px;}
#dashboard h2 {font-size: 1.4em; font-weight:normal; margin:0 0 15px 0;}
#iframe {}
#iframe #video-content { float:left;}
#iframe {position:relative; display:block; min-height:180px;}
#adminpresentation #video { float:left; padding-right:15px; min-height:150px;}
#adminpresentation #video a { position:relative; height:128px; width:220px; display:block; padding:6px; }
#adminpresentation #video a img { }
#adminpresentation #video a span {background: transparent url("../img/play.png") no-repeat scroll left top; height:128px; width:220px; position:absolute; top:0; left:0; z-index:1; display:block; border:6px solid #fff; border-radius:3px; }
#adminpresentation #video a span:hover {background-position:left bottom;border:6px solid #C2C4D9; transition:background 0.5s;}
#adminpresentation #video-content { padding-left:10px; min-height:150px; }
#adminpresentation #video-content p { font-size:20px; line-height: 26px; color:#585A69; text-shadow: 0 1px 0 #fff;}
.view-modules { float:right; margin: 10px 0;}
.view-modules li { float:left;}
.view-modules li img { padding-right:5px;}
.view-modules li.normal-view-disabled { background: -moz-linear-gradient(center top ,#cccccc, #F9F9F9 ) repeat scroll 0 0 transparent; border-bottom-right-radius: 0; border-right: 1px solid #ccc; border-top-right-radius: 0; color:#999; }
.view-modules li.favorites-view-disabled { background: -moz-linear-gradient(center top ,#cccccc, #F9F9F9 ) repeat scroll 0 0 transparent; border-bottom-left-radius: 0; border-left: 1px solid #fff; border-top-left-radius: 0; color:#999; }
.view-modules li.normal-view-disabled:hover,
.view-modules li.favorites-view-disabled:hover {border-color: #CCCCCC #BBBBBB #A0A0A0;}
.view-modules li.favorites-view {border-bottom-left-radius: 0;border-left: 1px solid #fff; border-top-left-radius: 0;}
.view-modules li.normal-view {border-bottom-right-radius: 0;border-right: 1px solid #ccc; border-top-right-radius: 0;}
.margin-form select.chosen{width: 200px;}
.selected-line {background:#fff1b5;}
#changedFiles ul{list-style-type: square; padding-left: 40px;}
.tooltip { position: relative; }
.tooltip .tooltip_content {
z-index: 100;
text-align: left;
display: none;
white-space: nowrap;
position: absolute;
padding: 5px 5px;
background: black;
color: white;
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);
margin-top: 5px;
}
.tooltip .tooltip_label { cursor: pointer; }
.tooltip .title { text-align: center; padding-bottom: 5px; display: block; font-weight: bold }
.tooltip:hover .tooltip_content { display: block; }
.tooltip_button {
border: 1px solid silver;
border-radius: 3px;
padding: 0 3px;
background: -moz-linear-gradient(top, #ddd, #aaa);
background: -o-linear-gradient(top, #ddd, #aaa);
background: -webkit-linear-gradient(top, #ddd, #aaa);
background: linear-gradient(top, #ddd, #aaa);
color: #666;
}
//******* CREATE AN ORDER *************
#carrier_form label{padding-top:0}
#carrier_form input{margin-top:3px}
//************* SCENE ****************
#large_scene_image { clear:both; border:1px solid transparent;}
}

View File

@@ -1,435 +0,0 @@
// //
// Variables
// --------------------------------------------------
// Global values
// --------------------------------------------------
// Grays
// -------------------------
$gray-darker: lighten(#000, 13.5%) ; //#222
$gray-dark: lighten(#000, 20%) ; //#333
$gray: lighten(#000, 33.5%) ; //#555
$gray-light: lighten(#000, 60%) ; //#999
$gray-lighter: lighten(#000, 93.5%) ; //#eee
// Brand colors
// -------------------------
//$brand-primary: #EF1778 ; //rose Prestashop
//$brand-primary: #1EAEC0 ; //bleu turquoise
//$brand-primary: #33556E ;
//$brand-primary: #7F8AAE ;
$brand-primary: #1D7878 ;
$brand-success: #5cb85c ;
$brand-warning: #f0ad4e ;
$brand-danger: #d9534f ;
$brand-info: #5bc0de ;
// Scaffolding
// -------------------------
$body-bg: $main-color ;
$text-color: $gray ;
// Links
// -------------------------
// $link-color: $brand-primary ;
// $link-hover-color: darken($link-color, 15%) ;
// Typography
// -------------------------
$font-family-sans-serif: 'Open Sans', Helvetica, Arial, sans-serif ;
// $font-family-serif: Georgia, "Times New Roman", Times, serif ;
// $font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace ;
// $font-family-base: $font-family-sans-serif ;
$font-size-base: 12px ;
// $font-size-large: ceil($font-size-base * 1.25) ; ~18px
// $font-size-small: ceil($font-size-base * 0.85) ; ~12px
// $font-size-mini: ceil($font-size-base * 0.75) ; ~11px
$line-height-base: 1.428571429 ;
$line-height-computed: floor($font-size-base * $line-height-base) ;
$headings-font-family: 'Ubuntu', sans-serif ;
$headings-font-weight: 300 ;
// $headings-line-height: 1.1 ;
// Components
// -------------------------
// Based on 14px font-size and 1.428 line-height (~20px to start)
$padding-base-vertical: 4px ;
// $padding-base-horizontal: 12px ;
// $padding-large-vertical: 14px ;
// $padding-large-horizontal: 16px ;
// $padding-small-vertical: 5px ;
// $padding-small-horizontal: 10px ;
$border-radius-base: 3px ;
// $border-radius-large: 6px ;
// $border-radius-small: 3px ;
// $component-active-bg: $brand-primary ;
// Tables
// -------------------------
// $table-bg: transparent ; overall background-color
// $table-bg-accent: #f9f9f9 ; for striping
$table-bg-hover: $bg-panel-heading-color ;
// $table-border-color: #ddd ; table and cell border
// Buttons
// -------------------------
$btn-default-color: $text-color ;
$btn-default-bg: white ;
$btn-default-border: #ccc ;
$btn-primary-color: $btn-default-color ;
$btn-primary-bg: white ;
$btn-primary-border: $brand-success ;
// $btn-success-color: $btn-default-color ;
// $btn-success-bg: $brand-success ;
// $btn-success-border: $btn-success-bg ;
// $btn-warning-color: $btn-default-color ;
// $btn-warning-bg: $brand-warning ;
// $btn-warning-border: $btn-warning-bg ;
// $btn-danger-color: $btn-default-color ;
// $btn-danger-bg: $brand-danger ;
// $btn-danger-border: $btn-danger-bg ;
// $btn-info-color: $btn-default-color ;
// $btn-info-bg: $brand-info ;
// $btn-info-border: $btn-info-bg ;
// Forms
// -------------------------
$input-bg: #FFF ;
// $input-bg-disabled: $gray-lighter ;
// $input-border: #ccc ;
// $input-border-radius: $border-radius-base ;
// $input-color-placeholder: $gray-light ;
$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) ;
// $input-height-large: (ceil($font-size-large * $line-height-base) + ($padding-large-vertical * 2) + 2) ;
// $input-height-small: (ceil($font-size-small * $line-height-base) + ($padding-small-vertical * 2) + 2) ;
// Dropdowns
// -------------------------
// $dropdown-bg: #fff ;
// $dropdown-border: rgba(0,0,0,.15) ;
// $dropdown-divider-top: #e5e5e5 ;
// $dropdown-divider-bottom: #fff ;
// $dropdown-link-active-color: #fff ;
// $dropdown-link-active-bg: $component-active-bg ;
// $dropdown-link-color: $gray-dark ;
// $dropdown-link-hover-color: #fff ;
// $dropdown-link-hover-bg: $dropdown-link-active-bg ;
// Grid system
// --------------------------------------------------
// Number of columns in the grid system
// $grid-columns: 12 ;
// Padding, to be divided by two and applied to the left and right of all columns
$grid-gutter-width: 10px ;
// COMPONENT VARIABLES
// --------------------------------------------------
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
// $zindex-dropdown: 1000 ;
// $zindex-popover: 1010 ;
// $zindex-tooltip: 1030 ;
// $zindex-navbar-fixed: 1030 ;
// $zindex-modal-background: 1040 ;
// $zindex-modal: 1050 ;
// Navbar
// -------------------------
// Basics of a navbar
$navbar-height: 35px ;
// $navbar-color: #777 ;
// $navbar-bg: #eee ;
// $navbar-padding: floor($grid-gutter-width / 2) ; ~15px
// Navbar links
// $navbar-link-color: #777 ;
// $navbar-link-hover-color: #333 ;
// $navbar-link-hover-bg: transparent ;
// $navbar-link-active-color: #555 ;
// $navbar-link-active-bg: darken($navbar-bg, 10%) ;
// $navbar-link-disabled-color: #ccc ;
// $navbar-link-disabled-bg: transparent ;
// Navbar brand label
// $navbar-brand-color: $navbar-link-color ;
// $navbar-brand-hover-color: darken($navbar-link-color, 10%) ;
// $navbar-brand-hover-bg: transparent ;
// Inverted navbar
// $navbar-inverse-color: $gray-light ;
// $navbar-inverse-bg: #222 ;
// Inverted navbar links
// $navbar-inverse-link-color: $gray-light ;
// $navbar-inverse-link-hover-color: #fff ;
// $navbar-inverse-link-hover-bg: transparent ;
// $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color ;
// $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) ;
// $navbar-inverse-link-disabled-color: #444 ;
// $navbar-inverse-link-disabled-bg: transparent ;
// Inverted navbar brand label
// $navbar-inverse-brand-color: $navbar-inverse-link-color ;
// $navbar-inverse-brand-hover-color: #fff ;
// $navbar-inverse-brand-hover-bg: transparent ;
// Inverted navbar search
// Normal navbar needs no special styles or vars
// $navbar-inverse-search-bg: lighten($navbar-inverse-bg, 25%) ;
// $navbar-inverse-search-bg-focus: #fff ;
// $navbar-inverse-search-border: $navbar-inverse-bg ;
// $navbar-inverse-search-placeholder-color: #ccc ;
// Pagination
// -------------------------
// $pagination-bg: #fff ;
// $pagination-border: #ddd ;
// $pagination-active-bg: #f5f5f5 ;
// Jumbotron
// -------------------------
// $jumbotron-bg: $gray-lighter ;
// $jumbotron-heading-color: inherit ;
// $jumbotron-lead-color: inherit ;
// Form states and alerts
// -------------------------
// $state-warning-text: #c09853 ;
// $state-warning-bg: #fcf8e3 ;
// $state-warning-border: darken(adjust-hue($state-warning-bg, -10), 3%) ;
// $state-danger-text: #b94a48 ;
// $state-danger-bg: #f2dede ;
// $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 3%) ;
// $state-success-text: #468847 ;
// $state-success-bg: #dff0d8 ;
// $state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) ;
// $state-info-text: #3a87ad ;
// $state-info-bg: #d9edf7 ;
// $state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) ;
// Tooltips and popovers
// -------------------------
// $tooltip-color: #fff ;
// $tooltip-bg: rgba(0,0,0,.9) ;
// $tooltip-arrow-width: 5px ;
// $tooltip-arrow-color: $tooltip-bg ;
// $popover-bg: #fff ;
// $popover-arrow-width: 10px ;
// $popover-arrow-color: #fff ;
// $popover-title-bg: darken($popover-bg, 3%) ;
// Special enhancement for popovers
// $popover-arrow-outer-width: ($popover-arrow-width + 1) ;
// $popover-arrow-outer-color: rgba(0,0,0,.25) ;
// Labels
// -------------------------
// $label-success-bg: $brand-success ;
// $label-info-bg: $brand-info ;
// $label-warning-bg: $brand-warning ;
// $label-danger-bg: $brand-danger ;
// Modals
// -------------------------
// $modal-inner-padding: 20px ;
// $modal-title-padding: 15px ;
// $modal-title-line-height: $line-height-base ;
// Alerts
// -------------------------
// $alert-bg: $state-warning-bg ;
// $alert-text: $state-warning-text ;
// $alert-border: $state-warning-border ;
// $alert-border-radius: $border-radius-base ;
// $alert-success-bg: $state-success-bg ;
// $alert-success-text: $state-success-text ;
// $alert-success-border: $state-success-border ;
// $alert-danger-bg: $state-danger-bg ;
// $alert-danger-text: $state-danger-text ;
// $alert-danger-border: $state-danger-border ;
// $alert-info-bg: $state-info-bg ;
// $alert-info-text: $state-info-text ;
// $alert-info-border: $state-info-border ;
// Progress bars
// -------------------------
// $progress-bg: #f5f5f5 ;
// $progress-bar-bg: $brand-primary ;
// $progress-bar-success-bg: $brand-success ;
// $progress-bar-warning-bg: $brand-warning ;
// $progress-bar-danger-bg: $brand-danger ;
// $progress-bar-info-bg: $brand-info ;
// List group
// -------------------------
// $list-group-bg: #fff ;
// $list-group-border: #ddd ;
// $list-group-border-radius: $border-radius-base ;
// $list-group-hover-bg: #f5f5f5 ;
// $list-group-active-color: #fff ;
// $list-group-active-bg: $component-active-bg ;
// $list-group-active-border: $list-group-active-bg ;
// Panels
// -------------------------
// $panel-bg: #fff ;
// $panel-border: #ddd ;
// $panel-border-radius: $border-radius-base ;
// $panel-heading-bg: #f5f5f5 ;
// $panel-footer-bg: #f5f5f5 ;
// $panel-primary-text: #fff ;
// $panel-primary-border: $brand-primary ;
// $panel-primary-heading-bg: $brand-primary ;
// $panel-success-text: $state-success-text ;
// $panel-success-border: $state-success-border ;
// $panel-success-heading-bg: $state-success-bg ;
// $panel-warning-text: $state-warning-text ;
// $panel-warning-border: $state-warning-border ;
// $panel-warning-heading-bg: $state-warning-bg ;
// $panel-danger-text: $state-danger-text ;
// $panel-danger-border: $state-danger-border ;
// $panel-danger-heading-bg: $state-danger-bg ;
// $panel-info-text: $state-info-text ;
// $panel-info-border: $state-info-border ;
// $panel-info-heading-bg: $state-info-bg ;
// Thumbnails
// -------------------------
// $thumbnail-caption-color: $text-color ;
// $thumbnail-bg: $body-bg ;
// $thumbnail-border: #ddd ;
// $thumbnail-border-radius: $border-radius-base ;
// Wells
// -------------------------
$well-bg: darken($bg-content-color,5%) ;
// Miscellaneous
// -------------------------
// Hr border color
// $hr-border: $gray-lighter ;
// Horizontal forms & lists
// $component-offset-horizontal: 180px ;
// Media queries breakpoints
// --------------------------------------------------
// Tiny screen / phone
$screen-tiny: 480px ;
$screen-phone: $screen-tiny ;
// Small screen / tablet
$screen-small: 768px ;
$screen-tablet: $screen-small ;
// Medium screen / desktop
$screen-medium: 992px ;
$screen-desktop: $screen-medium ;
// So media queries don't overlap when required, provide a maximum
$screen-small-max: ($screen-medium - 1) ;
$screen-tablet-max: $screen-small-max ;
// Large screen / wide desktop
$screen-large: 1200px ;
$screen-large-desktop: $screen-large ;
// Container sizes
// --------------------------------------------------
// Small screen / tablet
$container-tablet: 728px ;
// Medium screen / desktop
$container-desktop: 940px ;
// Large screen / wide desktop
$container-large-desktop: 1170px ;
// Grid system
// --------------------------------------------------
// Point at which the navbar stops collapsing
// $grid-float-breakpoint: $screen-tablet ;

View File

@@ -1,4 +1,13 @@
.path_bar {display:none;}
#notifs_icon_wrapper {float: left;position: relative;margin:15px 10px 0; width:90px;}
.notifs { float: left;position: relative;cursor: pointer;margin:0; padding:5px; width: 18px;height: 16px;}
#orders_notif {background: url('../img/notif_order.png') no-repeat center top;}
#customers_notif {background: url('../img/notif_customer.png') no-repeat center top;}
#messages_notif {background: url('../img/notif_message.png') no-repeat center top;}
#orders_notif.open_notifs,
#customers_notif.open_notifs,
#messages_notif.open_notifs { background-color: #FFFFFF;border: 1px solid #000000; position: relative; display: block; background-position:center bottom; }
/*toolbarBox*/
.toolbarBox { background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 10px 0; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;}
@@ -25,7 +34,7 @@
.toolbarBox .process-icon-new-module { background-image: url('../img/process-icon-new-module.png')}
.toolbarBox .process-icon-new-module-addon { background-image: url('../img/process-icon-new-module-addon.png')}
div.fix-toolbar {border-bottom: 1px solid #E0E0E0;position:fixed;top:0;opacity:0.9;z-index:1}
div.fix-toolbar {border-bottom: 1px solid #E0E0E0;position:fixed;top:0;opacity:0.9;z-index:11}
/*FILTER MODULE*/

View File

@@ -1,753 +0,0 @@
/********************
* HTML CSS
*/
.chartWrap {
margin: 0;
padding: 0;
overflow: hidden;
}
/********************
Box shadow and border radius styling
*/
.nvtooltip.with-3d-shadow, .with-3d-shadow .nvtooltip {
-moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
box-shadow: 0 5px 10px rgba(0,0,0,.2);
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
/********************
* TOOLTIP CSS
*/
.nvtooltip {
position: absolute;
background-color: rgba(255,255,255,1.0);
padding: 1px;
border: 1px solid rgba(0,0,0,.2);
z-index: 10000;
font-family: Arial;
font-size: 13px;
text-align: left;
pointer-events: none;
white-space: nowrap;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/*Give tooltips that old fade in transition by
putting a "with-transitions" class on the container div.
*/
.nvtooltip.with-transitions, .with-transitions .nvtooltip {
transition: opacity 250ms linear;
-moz-transition: opacity 250ms linear;
-webkit-transition: opacity 250ms linear;
transition-delay: 250ms;
-moz-transition-delay: 250ms;
-webkit-transition-delay: 250ms;
}
.nvtooltip.x-nvtooltip,
.nvtooltip.y-nvtooltip {
padding: 8px;
}
.nvtooltip h3 {
margin: 0;
padding: 4px 14px;
line-height: 18px;
font-weight: normal;
background-color: rgba(247,247,247,0.75);
text-align: center;
border-bottom: 1px solid #ebebeb;
-webkit-border-radius: 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0;
border-radius: 5px 5px 0 0;
}
.nvtooltip p {
margin: 0;
padding: 5px 14px;
text-align: center;
}
.nvtooltip span {
display: inline-block;
margin: 2px 0;
}
.nvtooltip table {
margin: 6px;
}
.nvtooltip table td {
padding-right: 9px;
padding-bottom: 3px;
vertical-align: middle;
}
.nvtooltip table td.key {
font-weight:normal;
}
.nvtooltip table td.value {
text-align: right;
font-weight: bold;
}
.nvtooltip table td.legend-color-guide div {
width: 8px;
height: 8px;
vertical-align: middle;
}
.nvtooltip-pending-removal {
position: absolute;
pointer-events: none;
}
/********************
* SVG CSS
*/
svg {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Trying to get SVG to act like a greedy block in all browsers */
display: block;
width:100%;
height:100%;
}
svg text {
font: normal 12px Arial;
}
svg .title {
font: bold 14px Arial;
}
.nvd3 .nv-background {
fill: white;
fill-opacity: 0;
/*
pointer-events: none;
*/
}
.nvd3.nv-noData {
font-size: 18px;
font-weight: bold;
}
/**********
* Brush
*/
.nv-brush .extent {
fill-opacity: .125;
shape-rendering: crispEdges;
}
/**********
* Legend
*/
.nvd3 .nv-legend .nv-series {
cursor: pointer;
}
.nvd3 .nv-legend .disabled circle {
fill-opacity: 0;
}
/**********
* Axes
*/
.nvd3 .nv-axis {
pointer-events:none;
}
.nvd3 .nv-axis path {
fill: none;
stroke: #000;
stroke-opacity: .75;
shape-rendering: crispEdges;
}
.nvd3 .nv-axis path.domain {
stroke-opacity: .75;
}
.nvd3 .nv-axis.nv-x path.domain {
stroke-opacity: 0;
}
.nvd3 .nv-axis line {
fill: none;
stroke: #e5e5e5;
shape-rendering: crispEdges;
}
.nvd3 .nv-axis .zero line,
/*this selector may not be necessary*/ .nvd3 .nv-axis line.zero {
stroke-opacity: .75;
}
.nvd3 .nv-axis .nv-axisMaxMin text {
font-weight: bold;
}
.nvd3 .x .nv-axis .nv-axisMaxMin text,
.nvd3 .x2 .nv-axis .nv-axisMaxMin text,
.nvd3 .x3 .nv-axis .nv-axisMaxMin text {
text-anchor: middle
}
/**********
* Brush
*/
.nv-brush .resize path {
fill: #eee;
stroke: #666;
}
/**********
* Bars
*/
.nvd3 .nv-bars .negative rect {
zfill: brown;
}
.nvd3 .nv-bars rect {
zfill: steelblue;
fill-opacity: .75;
transition: fill-opacity 250ms linear;
-moz-transition: fill-opacity 250ms linear;
-webkit-transition: fill-opacity 250ms linear;
}
.nvd3 .nv-bars rect.hover {
fill-opacity: 1;
}
.nvd3 .nv-bars .hover rect {
fill: lightblue;
}
.nvd3 .nv-bars text {
fill: rgba(0,0,0,0);
}
.nvd3 .nv-bars .hover text {
fill: rgba(0,0,0,1);
}
/**********
* Bars
*/
.nvd3 .nv-multibar .nv-groups rect,
.nvd3 .nv-multibarHorizontal .nv-groups rect,
.nvd3 .nv-discretebar .nv-groups rect {
stroke-opacity: 0;
transition: fill-opacity 250ms linear;
-moz-transition: fill-opacity 250ms linear;
-webkit-transition: fill-opacity 250ms linear;
}
.nvd3 .nv-multibar .nv-groups rect:hover,
.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,
.nvd3 .nv-discretebar .nv-groups rect:hover {
fill-opacity: 1;
}
.nvd3 .nv-discretebar .nv-groups text,
.nvd3 .nv-multibarHorizontal .nv-groups text {
font-weight: bold;
fill: rgba(0,0,0,1);
stroke: rgba(0,0,0,0);
}
/***********
* Pie Chart
*/
.nvd3.nv-pie path {
stroke-opacity: 0;
transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
-moz-transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
-webkit-transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
}
.nvd3.nv-pie .nv-slice text {
stroke: #000;
stroke-width: 0;
}
.nvd3.nv-pie path {
stroke: #fff;
stroke-width: 1px;
stroke-opacity: 1;
}
.nvd3.nv-pie .hover path {
fill-opacity: .7;
}
.nvd3.nv-pie .nv-label {
pointer-events: none;
}
.nvd3.nv-pie .nv-label rect {
fill-opacity: 0;
stroke-opacity: 0;
}
/**********
* Lines
*/
.nvd3 .nv-groups path.nv-line {
fill: none;
stroke-width: 1.5px;
/*
stroke-linecap: round;
shape-rendering: geometricPrecision;
transition: stroke-width 250ms linear;
-moz-transition: stroke-width 250ms linear;
-webkit-transition: stroke-width 250ms linear;
transition-delay: 250ms
-moz-transition-delay: 250ms;
-webkit-transition-delay: 250ms;
*/
}
.nvd3 .nv-groups path.nv-line.nv-thin-line {
stroke-width: 1px;
}
.nvd3 .nv-groups path.nv-area {
stroke: none;
/*
stroke-linecap: round;
shape-rendering: geometricPrecision;
stroke-width: 2.5px;
transition: stroke-width 250ms linear;
-moz-transition: stroke-width 250ms linear;
-webkit-transition: stroke-width 250ms linear;
transition-delay: 250ms
-moz-transition-delay: 250ms;
-webkit-transition-delay: 250ms;
*/
}
.nvd3 .nv-line.hover path {
stroke-width: 6px;
}
/*
.nvd3.scatter .groups .point {
fill-opacity: 0.1;
stroke-opacity: 0.1;
}
*/
.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
fill-opacity: 0;
stroke-opacity: 0;
}
.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point {
fill-opacity: .5 !important;
stroke-opacity: .5 !important;
}
.with-transitions .nvd3 .nv-groups .nv-point {
transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
-moz-transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
-webkit-transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
}
.nvd3.nv-scatter .nv-groups .nv-point.hover,
.nvd3 .nv-groups .nv-point.hover {
stroke-width: 7px;
fill-opacity: .95 !important;
stroke-opacity: .95 !important;
}
.nvd3 .nv-point-paths path {
stroke: #aaa;
stroke-opacity: 0;
fill: #eee;
fill-opacity: 0;
}
.nvd3 .nv-indexLine {
cursor: ew-resize;
}
/**********
* Distribution
*/
.nvd3 .nv-distribution {
pointer-events: none;
}
/**********
* Scatter
*/
/* **Attempting to remove this for useVoronoi(false), need to see if it's required anywhere
.nvd3 .nv-groups .nv-point {
pointer-events: none;
}
*/
.nvd3 .nv-groups .nv-point.hover {
stroke-width: 20px;
stroke-opacity: .5;
}
.nvd3 .nv-scatter .nv-point.hover {
fill-opacity: 1;
}
/*
.nv-group.hover .nv-point {
fill-opacity: 1;
}
*/
/**********
* Stacked Area
*/
.nvd3.nv-stackedarea path.nv-area {
fill-opacity: .7;
/*
stroke-opacity: .65;
fill-opacity: 1;
*/
stroke-opacity: 0;
transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
-moz-transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
-webkit-transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
/*
transition-delay: 500ms;
-moz-transition-delay: 500ms;
-webkit-transition-delay: 500ms;
*/
}
.nvd3.nv-stackedarea path.nv-area.hover {
fill-opacity: .9;
/*
stroke-opacity: .85;
*/
}
/*
.d3stackedarea .groups path {
stroke-opacity: 0;
}
*/
.nvd3.nv-stackedarea .nv-groups .nv-point {
stroke-opacity: 0;
fill-opacity: 0;
}
/*
.nvd3.nv-stackedarea .nv-groups .nv-point.hover {
stroke-width: 20px;
stroke-opacity: .75;
fill-opacity: 1;
}*/
/**********
* Line Plus Bar
*/
.nvd3.nv-linePlusBar .nv-bar rect {
fill-opacity: .75;
}
.nvd3.nv-linePlusBar .nv-bar rect:hover {
fill-opacity: 1;
}
/**********
* Bullet
*/
.nvd3.nv-bullet { font: 10px sans-serif; }
.nvd3.nv-bullet .nv-measure { fill-opacity: .8; }
.nvd3.nv-bullet .nv-measure:hover { fill-opacity: 1; }
.nvd3.nv-bullet .nv-marker { stroke: #000; stroke-width: 2px; }
.nvd3.nv-bullet .nv-markerTriangle { stroke: #000; fill: #fff; stroke-width: 1.5px; }
.nvd3.nv-bullet .nv-tick line { stroke: #666; stroke-width: .5px; }
.nvd3.nv-bullet .nv-range.nv-s0 { fill: #eee; }
.nvd3.nv-bullet .nv-range.nv-s1 { fill: #ddd; }
.nvd3.nv-bullet .nv-range.nv-s2 { fill: #ccc; }
.nvd3.nv-bullet .nv-title { font-size: 14px; font-weight: bold; }
.nvd3.nv-bullet .nv-subtitle { fill: #999; }
.nvd3.nv-bullet .nv-range {
fill: #bababa;
fill-opacity: .4;
}
.nvd3.nv-bullet .nv-range:hover {
fill-opacity: .7;
}
/**********
* Sparkline
*/
.nvd3.nv-sparkline path {
fill: none;
}
.nvd3.nv-sparklineplus g.nv-hoverValue {
pointer-events: none;
}
.nvd3.nv-sparklineplus .nv-hoverValue line {
stroke: #333;
stroke-width: 1.5px;
}
.nvd3.nv-sparklineplus,
.nvd3.nv-sparklineplus g {
pointer-events: all;
}
.nvd3 .nv-hoverArea {
fill-opacity: 0;
stroke-opacity: 0;
}
.nvd3.nv-sparklineplus .nv-xValue,
.nvd3.nv-sparklineplus .nv-yValue {
/*
stroke: #666;
*/
stroke-width: 0;
font-size: .9em;
font-weight: normal;
}
.nvd3.nv-sparklineplus .nv-yValue {
stroke: #f66;
}
.nvd3.nv-sparklineplus .nv-maxValue {
stroke: #2ca02c;
fill: #2ca02c;
}
.nvd3.nv-sparklineplus .nv-minValue {
stroke: #d62728;
fill: #d62728;
}
.nvd3.nv-sparklineplus .nv-currentValue {
/*
stroke: #444;
fill: #000;
*/
font-weight: bold;
font-size: 1.1em;
}
/**********
* historical stock
*/
.nvd3.nv-ohlcBar .nv-ticks .nv-tick {
stroke-width: 2px;
}
.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover {
stroke-width: 4px;
}
.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive {
stroke: #2ca02c;
}
.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative {
stroke: #d62728;
}
.nvd3.nv-historicalStockChart .nv-axis .nv-axislabel {
font-weight: bold;
}
.nvd3.nv-historicalStockChart .nv-dragTarget {
fill-opacity: 0;
stroke: none;
cursor: move;
}
.nvd3 .nv-brush .extent {
/*
cursor: ew-resize !important;
*/
fill-opacity: 0 !important;
}
.nvd3 .nv-brushBackground rect {
stroke: #000;
stroke-width: .4;
fill: #fff;
fill-opacity: .7;
}
/**********
* Indented Tree
*/
/**
* TODO: the following 3 selectors are based on classes used in the example. I should either make them standard and leave them here, or move to a CSS file not included in the library
*/
.nvd3.nv-indentedtree .name {
margin-left: 5px;
}
.nvd3.nv-indentedtree .clickable {
color: #08C;
cursor: pointer;
}
.nvd3.nv-indentedtree span.clickable:hover {
color: #005580;
text-decoration: underline;
}
.nvd3.nv-indentedtree .nv-childrenCount {
display: inline-block;
margin-left: 5px;
}
.nvd3.nv-indentedtree .nv-treeicon {
cursor: pointer;
/*
cursor: n-resize;
*/
}
.nvd3.nv-indentedtree .nv-treeicon.nv-folded {
cursor: pointer;
/*
cursor: s-resize;
*/
}
/**********
* Parallel Coordinates
*/
.nvd3 .background path {
fill: none;
stroke: #ccc;
stroke-opacity: .4;
shape-rendering: crispEdges;
}
.nvd3 .foreground path {
fill: none;
stroke: steelblue;
stroke-opacity: .7;
}
.nvd3 .brush .extent {
fill-opacity: .3;
stroke: #fff;
shape-rendering: crispEdges;
}
.nvd3 .axis line, .axis path {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.nvd3 .axis text {
text-shadow: 0 1px 0 #fff;
}
/****
Interactive Layer
*/
.nvd3 .nv-interactiveGuideLine {
pointer-events:none;
}
.nvd3 line.nv-guideline {
stroke: #ccc;
}

View File

@@ -1,399 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="fontawesomeregular" horiz-adv-x="1536" >
<font-face units-per-em="1792" ascent="1536" descent="-256" />
<missing-glyph horiz-adv-x="448" />
<glyph unicode=" " horiz-adv-x="448" />
<glyph unicode="&#x09;" horiz-adv-x="448" />
<glyph unicode="&#xa0;" horiz-adv-x="448" />
<glyph unicode="&#xa8;" horiz-adv-x="1792" />
<glyph unicode="&#xa9;" horiz-adv-x="1792" />
<glyph unicode="&#xae;" horiz-adv-x="1792" />
<glyph unicode="&#xb4;" horiz-adv-x="1792" />
<glyph unicode="&#xc6;" horiz-adv-x="1792" />
<glyph unicode="&#x2000;" horiz-adv-x="768" />
<glyph unicode="&#x2001;" />
<glyph unicode="&#x2002;" horiz-adv-x="768" />
<glyph unicode="&#x2003;" />
<glyph unicode="&#x2004;" horiz-adv-x="512" />
<glyph unicode="&#x2005;" horiz-adv-x="384" />
<glyph unicode="&#x2006;" horiz-adv-x="256" />
<glyph unicode="&#x2007;" horiz-adv-x="256" />
<glyph unicode="&#x2008;" horiz-adv-x="192" />
<glyph unicode="&#x2009;" horiz-adv-x="307" />
<glyph unicode="&#x200a;" horiz-adv-x="85" />
<glyph unicode="&#x202f;" horiz-adv-x="307" />
<glyph unicode="&#x205f;" horiz-adv-x="384" />
<glyph unicode="&#x2122;" horiz-adv-x="1792" />
<glyph unicode="&#x221e;" horiz-adv-x="1792" />
<glyph unicode="&#x2260;" horiz-adv-x="1792" />
<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
<glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
<glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
<glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
<glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
<glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
<glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
<glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
<glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
<glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
<glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
<glyph unicode="&#xf016;" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
<glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
<glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
<glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
<glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
<glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
<glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
<glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
<glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
<glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
<glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
<glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
<glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
<glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
<glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
<glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
<glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
<glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
<glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
<glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
<glyph unicode="&#xf034;" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" />
<glyph unicode="&#xf035;" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
<glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
<glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
<glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
<glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
<glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
<glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
<glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
<glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
<glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
<glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
<glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
<glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
<glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
<glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
<glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
<glyph unicode="&#xf053;" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
<glyph unicode="&#xf054;" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
<glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
<glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
<glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
<glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
<glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
<glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
<glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
<glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
<glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
<glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
<glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
<glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
<glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
<glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
<glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
<glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
<glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
<glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
<glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf077;" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
<glyph unicode="&#xf078;" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
<glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf080;" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf082;" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
<glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
<glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
<glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
<glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
<glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
<glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
<glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
<glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
<glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
<glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
<glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
<glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
<glyph unicode="&#xf09a;" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
<glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
<glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
<glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
<glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
<glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
<glyph unicode="&#xf0a2;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
<glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
<glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
<glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
<glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
<glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
<glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
<glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
<glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
<glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
<glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
<glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
<glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
<glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
<glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
<glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
<glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
<glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
<glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
<glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
<glyph unicode="&#xf0d4;" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
<glyph unicode="&#xf0d5;" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
<glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
<glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
<glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
<glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
<glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
<glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
<glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
<glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
<glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
<glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
<glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
<glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
<glyph unicode="&#xf0f3;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
<glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f6;" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
<glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
<glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
<glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
<glyph unicode="&#xf116;" horiz-adv-x="1152" d="M896 608v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h224q14 0 23 -9t9 -23zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28 t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68zM1152 928v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704q93 0 158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf117;" horiz-adv-x="1152" d="M928 1152q93 0 158.5 -65.5t65.5 -158.5v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68z M864 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576z" />
<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1708 881l-188 -881h-304l181 849q4 21 1 43q-4 20 -16 35q-10 14 -28 24q-18 9 -40 9h-197l-205 -960h-303l204 960h-304l-205 -960h-304l272 1280h1139q157 0 245 -118q86 -116 52 -281z" />
<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
<glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
<glyph unicode="&#xf158;" horiz-adv-x="1664" d="M1664 352v-32q0 -132 -94 -226t-226 -94h-128q-132 0 -226 94t-94 226v480h-224q-2 -102 -14.5 -190.5t-30.5 -156t-48.5 -126.5t-57 -99.5t-67.5 -77.5t-69.5 -58.5t-74 -44t-69 -32t-65.5 -25.5q-4 -2 -32 -13q-8 -2 -12 -2q-22 0 -30 20l-71 178q-5 13 0 25t17 17 q7 3 20 7.5t18 6.5q31 12 46.5 18.5t44.5 20t45.5 26t42 32.5t40.5 42.5t34.5 53.5t30.5 68.5t22.5 83.5t17 103t6.5 123h-256q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h1216q14 0 23 -9t9 -23v-160q0 -14 -9 -23t-23 -9h-224v-512q0 -26 19 -45t45 -19h128q26 0 45 19t19 45 v64q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1280 1376v-160q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h960q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
<glyph unicode="&#xf15b;" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
<glyph unicode="&#xf15c;" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
<glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
<glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
<glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
<glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
<glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
<glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
<glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
<glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
<glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
<glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
<glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
<glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
<glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
<glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
<glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf173;" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
<glyph unicode="&#xf174;" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
<glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
<glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
<glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
<glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
<glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
<glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
<glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
<glyph unicode="&#xf180;" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
<glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
<glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
<glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
<glyph unicode="&#xf18b;" horiz-adv-x="1920" d="M805 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM453 1176v-344q0 -179 -89.5 -326t-234.5 -217q-129 152 -129 351q0 200 129.5 352t323.5 184zM958 991q-128 -152 -128 -351q0 -201 128 -351q-145 70 -234.5 218t-89.5 328 v341q196 -33 324 -185zM1638 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM1286 1176v-344q0 -179 -91 -326t-237 -217v0q133 154 133 351q0 195 -133 351q129 151 328 185zM1920 640q0 -201 -129 -351q-145 70 -234.5 218 t-89.5 328v341q194 -32 323.5 -184t129.5 -352z" />
<glyph unicode="&#xf18c;" horiz-adv-x="1792" />
<glyph unicode="&#xf18d;" horiz-adv-x="1792" />
<glyph unicode="&#xf18e;" horiz-adv-x="1792" />
<glyph unicode="&#xf500;" horiz-adv-x="1792" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -24,8 +24,5 @@
*}
{if isset($content)}
{if isset($show_page_header_toolbar) && $show_page_header_toolbar}
{include file="page_header_toolbar.tpl" toolbar_btn=$page_header_toolbar_btn title=$page_header_toolbar_title}
{/if}
{$content}
{/if}

View File

@@ -172,250 +172,246 @@
<div class="leadin">{block name="leadin"}{/block}</div>
{/if}
<div class="productTabs col-lg-2">
<div class="tab list-group">
<div class="productTabs">
<ul class="tab">
{foreach $profiles as $profile}
<a class="list-group-item nav-profile {if $profile.id_profile == $current_profile}selected{/if}" id="profile-{$profile.id_profile}" href="{$current}&token={$token}&id_profile={$profile.id_profile}">{$profile.name}</a>
<li class="tab-row">
<a class="nav-profile {if $profile.id_profile == $current_profile}selected{/if}" id="profile-{$profile.id_profile}" href="{$current}&token={$token}&id_profile={$profile.id_profile}">{$profile.name}</a>
</li>
{/foreach}
</div>
</ul>
</div>
<form id="{$table}_form" class="defaultForm form-horizontal col-lg-10" action="{$current}&{$submit_action}=1&token={$token}" method="post" enctype="multipart/form-data">
<fieldset>
{if $form_id}
<input type="hidden" name="{$identifier}" id="{$identifier}" value="{$form_id}" />
<form id="{$table}_form" class="defaultForm" action="{$current}&{$submit_action}=1&token={$token}" method="post" enctype="multipart/form-data">
{if $form_id}
<input type="hidden" name="{$identifier}" id="{$identifier}" value="{$form_id}" />
{/if}
{assign var=tabsize value=count($tabs)}
{foreach $tabs AS $tab}
{if $tab.id_tab > $tabsize}
{assign var=tabsize value=$tab.id_tab}
{/if}
{/foreach}
{assign var=tabsize value=count($tabs)}
{foreach $tabs AS $tab}
{if $tab.id_tab > $tabsize}
{assign var=tabsize value=$tab.id_tab}
{/if}
{/foreach}
{foreach $profiles as $profile}
{foreach $profiles as $profile}
<div class="profile-{$profile.id_profile} tab-profile" style="display:{if $profile.id_profile == $current_profile}block{else}none{/if}">
<div class="profile-{$profile.id_profile} tab-profile" style="display:{if $profile.id_profile == $current_profile}block{else}none{/if}">
{if $profile.id_profile != $admin_profile}
<table class="table float" cellspacing="0" style="margin-right:50px" id="table_{$profile.id_profile}">
<tr>
<th class="center">
{l s='Menus'}
</th>
<th class="center">
<input type="checkbox" name="1" id="viewall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||view||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='View'}
</th>
<th class="center">
<input type="checkbox" name="1" id="addall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||add||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Add'}
</th>
<th class="center">
<input type="checkbox" name="1" id="editall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||edit||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Edit'}
</th>
<th class="center">
<input type="checkbox" name="1" id="deleteall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||delete||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Delete'}
</th>
<th class="center">
<input type="checkbox" name="1" id="allall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='All'}
</th>
</tr>
{if !count($tabs)}
<tr>
<td colspan="6">{l s='No menu'}</td>
</tr>
{else}
{foreach $tabs AS $tab}
{if $profile.id_profile != $admin_profile}
<table class="table" id="table_{$profile.id_profile}">
<thead>
<tr>
<th>
{l s='Menus'}
</th>
<th>
<input type="checkbox" name="1" id="viewall"
{assign var=access value=$accesses[$profile.id_profile]}
{if !$tab.id_parent OR $tab.id_parent == -1}
{assign var=is_child value=false}
{assign var=result_accesses value=0}
<tr{if !$is_child} class="parent"{/if}>
<td{if !$is_child} class="bold"{/if}>{if $is_child} &raquo; {/if}<strong>{$tab.name}</strong></td>
{foreach $perms as $perm}
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||view||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='View'}
</th>
<th>
<input type="checkbox" name="1" id="addall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||add||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Add'}
</th>
<th>
<input type="checkbox" name="1" id="editall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||edit||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Edit'}
</th>
<th>
<input type="checkbox" name="1" id="deleteall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||delete||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Delete'}
</th>
<th>
<input type="checkbox" name="1" id="allall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='All'}
</th>
</tr>
</thead>
<tbody>
{if !count($tabs)}
<tr>
<td colspan="6">{l s='No menu'}</td>
</tr>
{else}
{foreach $tabs AS $tab}
{assign var=access value=$accesses[$profile.id_profile]}
{if !$tab.id_parent OR $tab.id_parent == -1}
{assign var=is_child value=false}
{assign var=result_accesses value=0}
<tr{if !$is_child} class="parent"{/if}>
<td{if !$is_child} class="bold"{/if}>{if $is_child} &raquo; {/if}<strong>{$tab.name}</strong></td>
{foreach $perms as $perm}
{if $access_edit == 1}
<td>
<input type="checkbox"
id="{$perm}{$access[$tab.id_tab]['id_tab']}"
rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||{$perm}||{$tabsize}||{count($tabs)}"
class="ajaxPower {$perm} {$access[$tab.id_tab]['id_tab']}"
{if $access[$tab.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{else}
<td>
<input type="checkbox"
disabled="disabled"
{if $access[$tab.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{/if}
{assign var=result_accesses value=$result_accesses + $access[$tab.id_tab][$perm]}
{/foreach}
<td>
<input type="checkbox"
id='all{$access[$tab.id_tab]['id_tab']}'
{if $access_edit == 1}
rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}"
class="ajaxPower all {$access[$tab.id_tab]['id_tab']}"
{else}
class="all {$access[$tab.id_tab]['id_tab']}"
disabled="disabled"
{/if}
{if $result_accesses == 4}checked="checked"{/if}/>
id="{$perm}{$access[$tab.id_tab]['id_tab']}"
rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||{$perm}||{$tabsize}||{count($tabs)}"
class="ajaxPower {$perm} {$access[$tab.id_tab]['id_tab']}"
{if $access[$tab.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
</tr>
{else}
<td>
<input type="checkbox"
disabled="disabled"
{if $access[$tab.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{/if}
{assign var=result_accesses value=$result_accesses + $access[$tab.id_tab][$perm]}
{/foreach}
<td>
<input type="checkbox"
id='all{$access[$tab.id_tab]['id_tab']}'
{if $access_edit == 1}
rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}"
class="ajaxPower all {$access[$tab.id_tab]['id_tab']}"
{else}
class="all {$access[$tab.id_tab]['id_tab']}"
disabled="disabled"
{/if}
{if $result_accesses == 4}checked="checked"{/if}/>
</td>
</tr>
{foreach $tabs AS $child}
{if $child.id_parent === $tab.id_tab}
{if isset($access[$child.id_tab])}
{assign var=is_child value=true}
{assign var=result_accesses value=0}
<tr class="child-{$child.id_parent}">
<td{if !$is_child} class="bold"{/if}>{if $is_child} &raquo; {/if}{$child.name}</td>
{foreach $perms as $perm}
{if $access_edit == 1}
<td>
<input type="checkbox"
id="{$perm}{$access[$child.id_tab]['id_tab']}"
rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||{$perm}||{$tabsize}||{count($tabs)}"
class="ajaxPower {$perm} {$access[$child.id_tab]['id_tab']}"
{if $access[$child.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{else}
<td>
<input type="checkbox"
disabled="disabled"
{if $access[$child.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{/if}
{assign var=result_accesses value=$result_accesses + $access[$child.id_tab][$perm]}
{/foreach}
{foreach $tabs AS $child}
{if $child.id_parent === $tab.id_tab}
{if isset($access[$child.id_tab])}
{assign var=is_child value=true}
{assign var=result_accesses value=0}
<tr class="child-{$child.id_parent}">
<td{if !$is_child} class="bold"{/if}>{if $is_child} &raquo; {/if}{$child.name}</td>
{foreach $perms as $perm}
{if $access_edit == 1}
<td>
<input type="checkbox"
id='all{$access[$child.id_tab]['id_tab']}'
{if $access_edit == 1}
rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}"
class="ajaxPower all {$access[$child.id_tab]['id_tab']}"
{else}
class="all {$access[$child.id_tab]['id_tab']}"
disabled="disabled"
{/if}
{if $result_accesses == 4}checked="checked"{/if}/>
id="{$perm}{$access[$child.id_tab]['id_tab']}"
rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||{$perm}||{$tabsize}||{count($tabs)}"
class="ajaxPower {$perm} {$access[$child.id_tab]['id_tab']}"
{if $access[$child.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
</tr>
{/if}
{/if}
{/foreach}
{else}
<td>
<input type="checkbox"
disabled="disabled"
{if $access[$child.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{/if}
{assign var=result_accesses value=$result_accesses + $access[$child.id_tab][$perm]}
{/foreach}
<td>
<input type="checkbox"
id='all{$access[$child.id_tab]['id_tab']}'
{if $access_edit == 1}
rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}"
class="ajaxPower all {$access[$child.id_tab]['id_tab']}"
{else}
class="all {$access[$child.id_tab]['id_tab']}"
disabled="disabled"
{/if}
{if $result_accesses == 4}checked="checked"{/if}/>
</td>
</tr>
{/if}
{/if}
{/foreach}
{/if}
</tbody>
</table>
<table class="table" id="table_module_{$profile.id_profile}">
<thead>
{/foreach}
{/if}
</table>
<table class="table" cellspacing="0" style="margin-left:20px" id="table_module_{$profile.id_profile}">
<tr>
<th>{l s='Modules'}</th>
<th class="center">
<input type="checkbox"
id="ajax-ma-view-master"
{if $access_edit == 1}
class="changeModuleAccess" rel="-1||view||{$profile.id_profile}"
{else}
disabled="disabled"
{/if} /> {l s='View'}
</th>
<th class="center">
<input type="checkbox"
id="ajax-ma-configure-master"
{if $access_edit == 1}
class="changeModuleAccess" rel="-1||configure||{$profile.id_profile}"
{else}
disabled="disabled"
{/if} /> {l s='Configure'}</th>
</tr>
{if !count($modules)}
<tr>
<td colspan="3">{l s='No modules are installed'}</td>
</tr>
{else}
{foreach $modules[$profile.id_profile] AS $module}
<tr>
<th>{l s='Modules'}</th>
<th>
<td>&raquo; {$module.name}</td>
<td>
<input type="checkbox"
id="ajax-ma-view-master"
value="1"
{if $module.view == true}checked="checked"{/if}
{if $access_edit == 1}
class="changeModuleAccess" rel="-1||view||{$profile.id_profile}"
class="ajax-ma-view changeModuleAccess"
rel="{$module.id_module}||view||{$profile.id_profile}"
{else}
class="ajax-ma-view"
disabled="disabled"
{/if} /> {l s='View'}
</th>
<th>
{/if}
/>
</td>
<td>
<input type="checkbox"
id="ajax-ma-configure-master"
value="1"
{if $module.configure == true}checked="checked"{/if}
{if $access_edit == 1}
class="changeModuleAccess" rel="-1||configure||{$profile.id_profile}"
class="ajax-ma-configure changeModuleAccess"
rel="{$module.id_module}||configure||{$profile.id_profile}"
{else}
class="ajax-ma-configure"
disabled="disabled"
{/if} /> {l s='Configure'}</th>
{/if}
/>
</td>
</tr>
</thead>
<tbody>
{if !count($modules)}
<tr>
<td colspan="3">{l s='No modules are installed'}</td>
</tr>
{else}
{foreach $modules[$profile.id_profile] AS $module}
<tr>
<td>&raquo; {$module.name}</td>
<td>
<input type="checkbox"
value="1"
{if $module.view == true}checked="checked"{/if}
{if $access_edit == 1}
class="ajax-ma-view changeModuleAccess"
rel="{$module.id_module}||view||{$profile.id_profile}"
{else}
class="ajax-ma-view"
disabled="disabled"
{/if}
/>
</td>
<td>
<input type="checkbox"
value="1"
{if $module.configure == true}checked="checked"{/if}
{if $access_edit == 1}
class="ajax-ma-configure changeModuleAccess"
rel="{$module.id_module}||configure||{$profile.id_profile}"
{else}
class="ajax-ma-configure"
disabled="disabled"
{/if}
/>
</td>
</tr>
{/foreach}
{/if}
</tbody>
</table>
{/foreach}
{/if}
</table>
<div class="clear">&nbsp;</div>
{else}
{l s='Administrator permissions cannot be modified.'}
{/if}
{else}
{l s='Administrator permissions cannot be modified.'}
{/if}
</div>
</div>
{/foreach}
</fieldset>
{/foreach}
</form>

View File

@@ -40,11 +40,7 @@
{block name="field"}
{if $input.type == 'text_customer'}
{if isset($customer)}
<div class="col-lg-9">
<a class="btn btn-default" href="?tab=AdminCustomers&id_customer={$customer->id}&viewcustomer&token={$tokenCustomer}">
<i class="icon-eye-open"></i> {$customer->lastname} {$customer->firstname} ({$customer->email})
</a>
</div>
<div class="margin-form"><a style="display: block; padding-top: 4px;" href="?tab=AdminCustomers&id_customer={$customer->id}&viewcustomer&token={$tokenCustomer}">{$customer->lastname} {$customer->firstname} ({$customer->email})</a></div>
<input type="hidden" name="id_customer" value="{$customer->id}" />
<input type="hidden" name="email" value="{$customer->email}" />
{else}
@@ -84,10 +80,8 @@
}
});
</script>
<div class="margin-form">
<input type="text" name="email" value="{$fields_value[$input.name]|escape:'htmlall':'UTF-8'}"/>
<sup>*</sup>
<input type="text" size="33" name="email" value="{$fields_value[$input.name]|escape:'htmlall':'UTF-8'}" style="text-transform: lowercase;" /> <sup>*</sup>
</div>
{/if}
{else}

View File

@@ -75,7 +75,7 @@
</div>
</div>
<div style="float: left; width: 570px;">
<div class="alert alert-info" style="width: 570px; padding-left: 45px; margin-bottom: 15px; display: block; position: inherit;">{l s='The Combinations Generator is a tool that allows you to easily create a series of combinations by selecting the related attributes. For example, if you\'re selling t-shirts in three different sizes and two different colors, the generator will create six combinations for you.'}</div>
<div class="hint" style="width: 570px; padding-left: 45px; margin-bottom: 15px; display: block; position: inherit;">{l s='The Combinations Generator is a tool that allows you to easily create a series of combinations by selecting the related attributes. For example, if you\'re selling t-shirts in three different sizes and two different colors, the generator will create six combinations for you.'}</div>
<p>{l s='You\'re currently generating combinations for the following product:'} <b>{$product_name|escape:'htmlall':'UTF-8'}</b></p>
<h4>{l s='Step 1: On the left side, select the attributes you want to use (Hold down the "Ctrl" key on your keyboard and validate by clicking on "Add")'}</h4>
<div>

View File

@@ -27,7 +27,7 @@
{block name="label"}
{if $input.type == 'color'}
<div id="colorAttributeProperties" "{if !$colorAttributeProperties}style="display:none"{/if};">
<div id="colorAttributeProperties" style="display:{if $colorAttributeProperties}block{else}none{/if};">
{/if}
{if $input.type == 'closediv'}
</div>
@@ -37,11 +37,11 @@
{block name="field"}
{if $input.name == 'current_texture'}
<div class="col-lg-9">
<div class="margin-form">
{if isset($imageTextureExists) && $imageTextureExists}
<img src="{$imageTexture}" alt="{l s='Texture'}" />
{else}
<p>{l s='None'}</p>
{l s='None'}
{/if}
</div>
{else}

View File

@@ -62,7 +62,8 @@
{if isset($params.active)}
{$tr.$key}
{elseif isset($params.activeVisu)}
<i class="{if $tr.$key}icon-check-sign{else}icon-ban-circle{/if}"></i>
<img src="../img/admin/{if $tr.$key}enabled.gif{else}disabled.gif{/if}"
alt="{if $tr.$key}{l s='Enabled'}{else}{l s='Disabled'}{/if}" title="{if $tr.$key}{l s='Enabled'}{else}{l s='Disabled'}{/if}" />
{elseif isset($params.position)}
{if $order_by == 'position' && $order_way != 'DESC'}
<a href="{$tr.$key.position_url_down}" {if !($tr.$key.position != $positions[count($positions) - 1])}style="display: none;"{/if}>

View File

@@ -28,20 +28,16 @@
{block name="override_tpl"}
<fieldset class="width3">
<h3>
<i class="icon-download"></i>
{l s='Download'}
</h3>
<div class="alert alert-warning">
<p><a href="{$backup_url}"><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /></a></p>
<p><a href="{$backup_url}">{l s='Download the backup file'} ({$backup_weight}{l s='MB'})</a></p>
<p>{l s='Tip: You can also download this file over to your FTP. Backup files are located in the "admin/backups" directory.'}</p>
</div>
<legend><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /> {l s='Download'}</legend>
<p style="font-size: 13px;">
<a href="{$backup_url}"><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /></a>
<b><a href="{$backup_url}">{l s='Download the backup file'} ({$backup_weight}{l s='MB'})</a></b><br /><br />
{l s='Tip: You can also download this file over to your FTP. Backup files are located in the "admin/backups" directory.'}</p>
</fieldset><br /><br />
<div class="row">
<div class="error width1" style="float: left; margin-right: 10px;">
<p>{l s='Disclaimer before creating a new backup'}</p>
<ol>
<ol style="font-size: 11px; font-weight: normal; line-height: 20px; padding-left: 10px;">
<li>{l s='PrestaShop is not responsible for your database, its backups and/or recovery.'}</li>
<li>{l s='PrestaShop is open-source software. You are using it at your own risk under the license agreement.'}</li>
<li>{l s='You should backup your data on a regular basis (both files and database).'}</li>
@@ -54,9 +50,9 @@
</ol>
</div>
<div class="row">
<div class="warn width2" style="float: left;">
<p>{l s='How to restore a database backup in 10 easy steps:'}</p>
<ol>
<ol style="font-size: 11px; font-weight: normal; line-height: 20px;">
<li>{l s='Set "Enable Shop" to "No" in the "Maintenance" page under the "Preferences" menu.'}</li>
<li>{l s='Download the backup from the list below or from your FTP server (in the folder "admin/backups").'}</li>
<li>{l s='Check the backup integrity: Look for errors, incomplete file, etc... Be sure to verify all of your data.'}</li>
@@ -70,6 +66,8 @@
</ol>
</div>
<div class="clear"></div>
{/block}

View File

@@ -29,21 +29,17 @@
{if isset($backup_url) && isset($backup_weight)}
<fieldset>
<h3>
<i class="icon-download"></i>
{l s='Download'}
</h3>
<div class="alert alert-warning">
<p><a href="{$backup_url}"><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /></a></p>
<p><a href="{$backup_url}">{l s='Download the backup file'} ({$backup_weight}{l s='MB'})</a></p>
<p>{l s='Tip: You can also download this file over to your FTP. Backup files are located in the "admin/backups" directory.'}</p>
</div>
</fieldset>
<legend><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /> {l s='Download'}</legend>
<p style="font-size: 13px;">
<a href="{$backup_url}"><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /></a>
<b><a href="{$backup_url}">{l s='Download the backup file'} ({$backup_weight}{l s='MB'})</a></b><br /><br />
{l s='Tip: You can also download this file over to your FTP. Backup files are located in the "admin/backups" directory.'}</p>
</fieldset><br /><br />
{/if}
<div class="row">
<div class="error width1" style="float: left; margin-right: 10px;">
<p>{l s='Disclaimer before creating a new backup'}</p>
<ol>
<ol style="font-size: 11px; font-weight: normal; line-height: 20px; padding-left: 10px;">
<li>{l s='PrestaShop is not responsible for your database, its backups and/or recovery.'}</li>
<li>{l s='PrestaShop is open-source software. You are using it at your own risk under the license agreement.'}</li>
<li>{l s='You should backup your data on a regular basis (both files and database).'}</li>
@@ -54,14 +50,17 @@
<li>{l s='Always check your data.'}</li>
<li>{l s='Never restore a backup on a live site.'}</li>
</ol>
<form action="{$currentIndex}&add{$table}&token={$token}" method="post" class="form-horizontal">
<input type="submit" class="btn btn-primary pull-right" value="{l s='I have read the disclaimer. Please create a new backup.'}" />
<br />
<form action="{$currentIndex}&add{$table}&token={$token}" method="post" style="text-align:center;">
<input type="submit" class="button" value="{l s='I have read the disclaimer. Please create a new backup.'}" style="padding:10px;font-weight:bold;border:1px solid;cursor:pointer;" />
</form>
</div>
<div class="row">
<div class="warn width2" style="float: left;">
<p>{l s='How to restore a database backup in 10 easy steps:'}</p>
<ol>
<ol style="font-size: 11px; font-weight: normal; line-height: 20px;">
<li>{l s='Set "Enable Shop" to "No" in the "Maintenance" page under the "Preferences" menu.'}</li>
<li>{l s='Download the backup from the list below or from your FTP server (in the folder "admin/backups").'}</li>
<li>{l s='Check the backup integrity: Look for errors, incomplete file, etc... Be sure to verify all of your data.'}</li>
@@ -75,4 +74,6 @@
</ol>
</div>
<div class="clear"></div>
{/block}

View File

@@ -27,7 +27,7 @@
{block name="override_tpl"}
<div class="alert">{l s='Beginning the download ...'}</div>
<div class="conf">{l s='Beginning the download ...'}</div>
<p>{l s='Backup files should automatically download.'}</p>

View File

@@ -32,7 +32,7 @@
{if $input.name == 'zones'}
<div class="ranges_not_follow warn" style="display:none">
<label>{l s="Ranges are not correctly ordered:"}</label>
<a href="#" class="button" style="text-decoration:none">{l s="Reordering"}</a>
<a href="#" onclick="checkRangeContinuity(true); return false;" class="button" style="text-decoration:none">{l s="Reordering"}</a>
</div>
{include file='controllers/carrier_wizard/helpers/form/form_ranges.tpl'}
<!--

View File

@@ -21,7 +21,7 @@
</tr>
<tr class="fees_all">
<td class="border_top border_bottom border_bold"><span class="fees_all" {if $ranges|count == 0}style="display:none" {/if}>All</span></td>
<td></td>
<td><input type="checkbox" onclick="checkAllZones(this);" ></td>
{foreach from=$ranges key=r item=range}
<td class="center border_top border_bottom {if $range.id_range != 0} validated {/if}" >
<input type="text" {if isset($form_id) && !$form_id} disabled="disabled"{/if} {if $range.id_range == 0} style="display:none"{/if} /><span class="currency_sign" {if $range.id_range == 0} style="display:none" {/if}>&nbsp; {$currency_sign}</span>
@@ -40,7 +40,7 @@
</td>
{foreach from=$ranges key=r item=range}
<td class="center">
<input name="fees[{$zone.id_zone|intval}][{$range.id_range|intval}]" type="text"
<input name="fees[{$zone.id_zone|intval}][{$range.id_range|intval}]" type="text"
{if !isset($fields_value['zones'][$zone.id_zone]) || (isset($fields_value['zones'][$zone.id_zone]) && !$fields_value['zones'][$zone.id_zone])} disabled="disabled"{/if} {if isset($price_by_range[$range.id_range][$zone.id_zone]) && $price_by_range[$range.id_range][$zone.id_zone] && isset($fields_value['zones'][$zone.id_zone]) && $fields_value['zones'][$zone.id_zone]} value="{$price_by_range[$range.id_range][$zone.id_zone]|string_format:'%.6f'}" {else} value="" {/if} /> &nbsp; {$currency_sign}
</td>
{/foreach}
@@ -53,7 +53,7 @@
{if $smarty.foreach.ranges.first}
<td class="center">&nbsp;</td>
{else}
<td class="center"><button class="button">{l s='Delete'}</button</td>
<td class="center"><button class="button">{l s='Delete'}</button></td>
{/if}
{/foreach}
</tr>

View File

@@ -41,6 +41,7 @@
var PS_WEIGHT_UNIT = '{$PS_WEIGHT_UNIT}';
var invalid_range = '{l s='This range is not valid' js=1}';
var range_is_overlapping = '{l s='Ranges are overlapping' js=1}';
var multistore_enable = '{$multistore_enable}';
</script>
<div id="carrier_wizard" class="swMain">
<ul class="nbr_steps_{$wizard_steps.steps|count}">

View File

@@ -25,14 +25,12 @@
<script type="text/javascript">
var summary_translation_undefined = '{l s='[undefined]' js=1}';
var summary_translation_meta_informations = '{l s='This carrier is @s1 and the displayed delivery time is: @s2.' js=1}';
var summary_translation_meta_informations = '{l s='This carrier is @s1 and the delivery announced is: @s2.' js=1}';
var summary_translation_free = '<strong>{l s='free' js=1}</strong>';
var summary_translation_paid = '<strong>{l s='paid' js=1}</strong>';
var summary_translation_range = '{l s='This carrier can deliver orders from @s1 to @s2. If the order is out of range, the behavior is to @s3.' js=1}';
var summary_translation_shipping_cost = '{l s='The shipping cost is calculated @s1 and the tax rule @s2 is applied.' js=1}';
var summary_translation_paid = '<strong>{l s='not free' js=1}</strong>';
var summary_translation_range = '<span class="is_free">{l s='This carrier can deliver orders from @s1 to @s2.' js=1}</span>';
var summary_translation_range_limit = '{l s='If the order is out of range, the behavior is to @s3.' js=1}';
var summary_translation_shipping_cost = '{l s='The shipping cost is calculated @s1 and the tax rule @s2 will be applied.' js=1}';
var summary_translation_price = '<strong>{l s='according to the price' js=1}</strong>';
var summary_translation_weight = '<strong>{l s='according to the weight' js=1}</strong>';
</script>
@@ -47,18 +45,18 @@
<div id="summary_range"></div>
<div class="clear">&nbsp;</div>
<div>
{l s='It will be displayed only for the following zones:'}
{l s='This carrier will be proposed for those delivery zones:'}
<ul id="summary_zones"></ul>
</div>
<div class="clear">&nbsp;</div>
<div>
{l s='It will be displayed only for the following groups:'}
{l s='And it will be proposed for those client groups:'}
<ul id="summary_groups"></ul>
</div>
{if $is_multishop}
<div class="clear">&nbsp;</div>
<div>
{l s='It will be displayed only for the following shops:'}
{l s='Finally, this carrier will be proposed in those shops:'}
<ul id="summary_shops"></ul>
</div>
{/if}

View File

@@ -1,153 +1,101 @@
<div class="row">
<label class="control-label col-lg-3">{l s='Free shipping'}</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="free_shipping" id="free_shipping_on" value="1" {if $currentTab->getFieldValue($currentObject, 'free_shipping')|intval}checked="checked"{/if} />
<label class="t radio" for="free_shipping_on">
<i class="icon-check-sign"></i> {l s='Yes'}
</label>
<input type="radio" name="free_shipping" id="free_shipping_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'free_shipping')|intval}checked="checked"{/if} />
<label class="t radio" for="free_shipping_off">
<i class="icon-ban-circle"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
</span>
<label>{l s='Free shipping'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="free_shipping" id="free_shipping_on" value="1" {if $currentTab->getFieldValue($currentObject, 'free_shipping')|intval}checked="checked"{/if} />
<label class="t" for="free_shipping_on"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="free_shipping" id="free_shipping_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'free_shipping')|intval}checked="checked"{/if} />
<label class="t" for="free_shipping_off"> <img src="../img/admin/disabled.gif" alt="{l s='Disabled'}" title="{l s='Disabled'}" style="cursor:pointer" /></label>
</div>
<hr />
<label>{l s='Apply a discount'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="apply_discount" id="apply_discount_percent" value="percent" {if $currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval > 0}checked="checked"{/if} />
<label class="t" for="apply_discount_percent"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /> {l s='Percent (%)'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount" id="apply_discount_amount" value="amount" {if $currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval > 0}checked="checked"{/if} />
<label class="t" for="apply_discount_amount"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /> {l s='Amount'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount" id="apply_discount_off" value="off" {if !$currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval > 0 && !$currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval > 0}checked="checked"{/if} />
<label class="t" for="apply_discount_off"> <img src="../img/admin/disabled.gif" alt="{l s='Disabled'}" title="{l s='Disabled'}" style="cursor:pointer" /> {l s='None'}</label>
</div>
<div id="apply_discount_percent_div">
<label>{l s='Value'}</label>
<div class="margin-form">
<input type="text" id="reduction_percent" name="reduction_percent" value="{$currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval}" style="width:40px" /> %
<p>{l s='Does not apply to the shipping costs'}</p>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Apply a discount'}</label>
<div class="input-group col-lg-8">
<span class="switch prestashop-switch switch-three">
<input type="radio" name="apply_discount" id="apply_discount_percent" value="percent" {if $currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval > 0}checked="checked"{/if} />
<label class="t radio" for="apply_discount_percent">
<i class="icon-check-sign"></i> {l s='Percent (%)'}
</label>
<input type="radio" name="apply_discount" id="apply_discount_amount" value="amount" {if $currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval > 0}checked="checked"{/if} />
<label class="t radio" for="apply_discount_amount">
<i class="icon-check-sign"></i> {l s='Amount'}
</label>
<input type="radio" name="apply_discount" id="apply_discount_off" value="off" {if !$currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval > 0 && !$currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval > 0}checked="checked"{/if} />
<label class="t radio" for="apply_discount_off">
<i class="icon-ban-circle"></i> {l s='None'}
</label>
<span class="slide-button btn btn-default"></span>
</span>
<div id="apply_discount_amount_div">
<label>{l s='Amount'}</label>
<div class="margin-form">
<input type="text" id="reduction_amount" name="reduction_amount" value="{$currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval}" onchange="this.value = this.value.replace(/,/g, '.');" />
<select name="reduction_currency">
{foreach from=$currencies item='currency'}
<option value="{$currency.id_currency|intval}" {if $currentTab->getFieldValue($currentObject, 'reduction_currency') == $currency.id_currency || (!$currentTab->getFieldValue($currentObject, 'reduction_currency') && $currency.id_currency == $defaultCurrency)}selected="selected"{/if}>{$currency.iso_code}</option>
{/foreach}
</select>
<select name="reduction_tax">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'reduction_tax') == 0}selected="selected"{/if}>{l s='Tax excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'reduction_tax') == 1}selected="selected"{/if}>{l s='Tax included'}</option>
</select>
</div>
</div>
<div id="apply_discount_percent_div" class="row">
<label class="control-label col-lg-3">{l s='Value'}</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">%</span>
<input type="text" id="reduction_percent" class="input-mini" name="reduction_percent" value="{$currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval}" />
<div id="apply_discount_to_div">
<label>{l s='Apply a discount to'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="apply_discount_to" id="apply_discount_to_order" value="order" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == 0}checked="checked"{/if} />
<label class="t" for="apply_discount_to_order"> {l s='Order (without shipping)'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount_to" id="apply_discount_to_product" value="specific" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval > 0}checked="checked"{/if} />
<label class="t" for="apply_discount_to_product"> {l s='Specific product'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount_to" id="apply_discount_to_cheapest" value="cheapest" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == -1}checked="checked"{/if} />
<label class="t" for="apply_discount_to_cheapest"> {l s='Cheapest product'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount_to" id="apply_discount_to_selection" value="selection" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == -2}checked="checked"{/if} />
<label class="t" for="apply_discount_to_selection"> {l s='Selected product(s)'}</label>
</div>
<span class="help-block"><i class="icon-warning-sign"></i> {l s='Does not apply to the shipping costs'}</span>
</div>
<div id="apply_discount_amount_div" class="row">
<label class="control-label col-lg-3">{l s='Amount'}</label>
<div class="col-lg-7">
<div class="row">
<div class="col-lg-4">
<input type="text" id="reduction_amount" name="reduction_amount" value="{$currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval}" onchange="this.value = this.value.replace(/,/g, '.');" />
</div>
<div class="col-lg-4">
<select name="reduction_currency" >
{foreach from=$currencies item='currency'}
<option value="{$currency.id_currency|intval}" {if $currentTab->getFieldValue($currentObject, 'reduction_currency') == $currency.id_currency || (!$currentTab->getFieldValue($currentObject, 'reduction_currency') && $currency.id_currency == $defaultCurrency)}selected="selected"{/if}>{$currency.iso_code}</option>
{/foreach}
</select>
</div>
<div class="col-lg-4">
<select name="reduction_tax" >
<option value="0" {if $currentTab->getFieldValue($currentObject, 'reduction_tax') == 0}selected="selected"{/if}>{l s='Tax excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'reduction_tax') == 1}selected="selected"{/if}>{l s='Tax included'}</option>
</select>
</div>
<div id="apply_discount_to_product_div">
<label>{l s='Product'}</label>
<div class="margin-form">
<input type="hidden" id="reduction_product" name="reduction_product" value="{$currentTab->getFieldValue($currentObject, 'reduction_product')|intval}" />
<input type="text" id="reductionProductFilter" name="reductionProductFilter" value="{$reductionProductFilter|escape:'htmlall':'UTF-8'}" style="width:400px" />
</div>
</div>
</div>
<div id="apply_discount_to_div" class="row">
<label class="control-label col-lg-3">{l s='Apply a discount to'}</label>
<div class="col-lg-7">
<p class="checkbox">
<label class="t radio" for="apply_discount_to_order">
<input type="radio" name="apply_discount_to" id="apply_discount_to_order" value="order" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == 0}checked="checked"{/if} />
{l s='Order (without shipping)'}
</label>
</p>
<p class="checkbox">
<label class="t radio" for="apply_discount_to_product">
<input type="radio" name="apply_discount_to" id="apply_discount_to_product" value="specific" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval > 0}checked="checked"{/if} />
{l s='Specific product'}
</label>
</p>
<p class="checkbox">
<label class="t radio" for="apply_discount_to_cheapest">
<input type="radio" name="apply_discount_to" id="apply_discount_to_cheapest" value="cheapest" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == -1}checked="checked"{/if} />
{l s='Cheapest product'}
</label>
</p>
<p class="checkbox">
<label class="t radio" for="apply_discount_to_selection">
<input type="radio" name="apply_discount_to" id="apply_discount_to_selection" value="selection" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == -2}checked="checked"{/if} />
{l s='Selected product(s)'}
</label>
</p>
</div>
<hr />
<label>{l s='Send a free gift'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="free_gift" id="free_gift_on" value="1" {if $currentTab->getFieldValue($currentObject, 'gift_product')|intval}checked="checked"{/if} />
<label class="t" for="free_gift_on"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="free_gift" id="free_gift_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'gift_product')|intval}checked="checked"{/if} />
<label class="t" for="free_gift_off"> <img src="../img/admin/disabled.gif" alt="{l s='Disabled'}" title="{l s='Disabled'}" style="cursor:pointer" /></label>
</div>
<div id="apply_discount_to_product_div" class="row">
<label class="control-label col-lg-3">{l s='Product'}</label>
<div class="input-group col-lg-5">
<input type="text" id="reductionProductFilter" name="reductionProductFilter" value="{$reductionProductFilter|escape:'htmlall':'UTF-8'}" />
<input type="hidden" id="reduction_product" name="reduction_product" value="{$currentTab->getFieldValue($currentObject, 'reduction_product')|intval}" />
<span class="input-group-addon"><i class="icon-search"></i></span>
<div id="free_gift_div">
<label>{l s='Search a product'}</label>
<div class="margin-form">
<input type="text" id="giftProductFilter" value="{$giftProductFilter}" style="width:400px" />
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Send a free gift'}</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="free_gift" id="free_gift_on" value="1" {if $currentTab->getFieldValue($currentObject, 'gift_product')|intval}checked="checked"{/if} />
<label class="t radio" for="free_gift_on">
<i class="icon-check-sign"></i> {l s='Yes'}
</label>
<input type="radio" name="free_gift" id="free_gift_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'gift_product')|intval}checked="checked"{/if} />
<label class="t radio" for="free_gift_off">
<i class="icon-ban-circle"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<div id="free_gift_div" class="row">
<label class="control-label col-lg-3">{l s='Search a product'}</label>
<div class="input-group col-lg-5">
<input type="text" id="giftProductFilter" value="{$giftProductFilter}" />
<span class="input-group-addon"><i class="icon-search"></i></span>
</div>
</div>
<div id="gift_products_found" {if $gift_product_select == ''}style="display:none"{/if}>
<br/>
<div id="gift_product_list" class="row" >
<label class="control-label col-lg-3">{l s='Matching products'}</label>
<div class="col-lg-5">
<div id="gift_products_found" {if $gift_product_select == ''}style="display:none"{/if}>
<div id="gift_product_list">
<label>{l s='Matching products'}</label>
<select name="gift_product" id="gift_product" onclick="displayProductAttributes();">
{$gift_product_select}
</select>
</div>
</div>
<div id="gift_attributes_list" class="row" {if !$hasAttribute}style="display:none"{/if}>
<label class="control-label col-lg-3">{l s='Available combinations'}</label>
<div class="col-lg-5" id="gift_attributes_list_select">
{$gift_product_attribute_select}
<div class="clear">&nbsp;</div>
<div id="gift_attributes_list" {if !$hasAttribute}style="display:none"{/if}>
<label>{l s='Available combinations'}</label>
<div id="gift_attributes_list_select">
{$gift_product_attribute_select}
</div>
</div>
<div class="clear">&nbsp;</div>
</div>
<div id="gift_products_err" class="warn" style="display:none"></div>
</div>
<div id="gift_products_err" class="alert alert-warning" style="display:none"></div>

View File

@@ -1,302 +1,256 @@
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Optional: The cart rule will be available to everyone if you leave this field blank.'}">
{l s='Limit to a single customer'}
</span>
</label>
<div class="input-group col-lg-4">
<span class="input-group-addon"><i class="icon-user"></i></i></span>
<input type="hidden" id="id_customer" name="id_customer" value="{$currentTab->getFieldValue($currentObject, 'id_customer')|intval}" />
<input type="text" id="customerFilter" class="input-xlarge" name="customerFilter" value="{$customerFilter|escape:'htmlall':'UTF-8'}" />
<span class="input-group-addon"><i class="icon-search"></i></span>
</div>
<label>{l s='Limit to a single customer'}</label>
<div class="margin-form">
<input type="hidden" id="id_customer" name="id_customer" value="{$currentTab->getFieldValue($currentObject, 'id_customer')|intval}" />
<input type="text" id="customerFilter" name="customerFilter" value="{$customerFilter|escape:'htmlall':'UTF-8'}" style="width:400px" />
<p class="preference_description">{l s='Optional: The cart rule will be available to everyone if you leave this field blank.'}</p>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='The default period is one month.'}">
{l s='Valid'}
</span>
</label>
<div class="col-lg-9">
<div class="row">
<div class="input-group col-lg-6">
<span class="input-group-addon">{l s='From'}</span>
<input type="text" class="datepicker input-medium" name="date_from"
value="{if $currentTab->getFieldValue($currentObject, 'date_from')}{$currentTab->getFieldValue($currentObject, 'date_from')|escape}{else}{$defaultDateFrom}{/if}" />
<span class="input-group-addon"><i class="icon-calendar-empty"></i></span>
</div>
<div class="input-group col-lg-6">
<span class="input-group-addon">{l s='To'}</span>
<input type="text" class="datepicker input-medium" name="date_to"
value="{if $currentTab->getFieldValue($currentObject, 'date_to')}{$currentTab->getFieldValue($currentObject, 'date_to')|escape}{else}{$defaultDateTo}{/if}" />
<span class="input-group-addon"><i class="icon-calendar-empty"></i></span>
</div>
</div>
</div>
<label>{l s='Valid'}</label>
<div class="margin-form">
<strong>{l s='From'}</strong>
<input type="text" class="datepicker" name="date_from"
value="{if $currentTab->getFieldValue($currentObject, 'date_from')}{$currentTab->getFieldValue($currentObject, 'date_from')|escape}{else}{$defaultDateFrom}{/if}" />
<strong>{l s='To'}</strong>
<input type="text" class="datepicker" name="date_to"
value="{if $currentTab->getFieldValue($currentObject, 'date_to')}{$currentTab->getFieldValue($currentObject, 'date_to')|escape}{else}{$defaultDateTo}{/if}" />
<p class="preference_description">{l s='The default period is one month.'}</p>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='You can choose a minimum amount for the cart either with or without the taxes and shipping.'}">
{l s='Minimum amount'}
</span>
</label>
<div class="col-lg-9">
<div class="row">
<div class="col-lg-3">
<input type="text" name="minimum_amount" value="{$currentTab->getFieldValue($currentObject, 'minimum_amount')|floatval}" />
</div>
<div class="col-lg-2">
<select name="minimum_amount_currency">
{foreach from=$currencies item='currency'}
<option value="{$currency.id_currency|intval}"
{if $currentTab->getFieldValue($currentObject, 'minimum_amount_currency') == $currency.id_currency
|| (!$currentTab->getFieldValue($currentObject, 'minimum_amount_currency') && $currency.id_currency == $defaultCurrency)}
selected="selected"
{/if}
>
{$currency.iso_code}
</option>
{/foreach}
</select>
</div>
<div class="col-lg-3">
<select name="minimum_amount_tax">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_tax') == 0}selected="selected"{/if}>{l s='Tax excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_tax') == 1}selected="selected"{/if}>{l s='Tax included'}</option>
</select>
</div>
<div class="col-lg-4">
<select name="minimum_amount_shipping">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_shipping') == 0}selected="selected"{/if}>{l s='Shipping excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_shipping') == 1}selected="selected"{/if}>{l s='Shipping included'}</option>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='The cart rule will be applied to the first "X" customers only.'}">
{l s='Total available'}
</span>
</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">×</span>
<input type="text" name="quantity" value="{$currentTab->getFieldValue($currentObject, 'quantity')|intval}" />
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='A customer will only be able to use the cart rule "X" time(s).'}">
{l s='Total available for each user.'}
</span>
</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">×</span>
<input type="text" name="quantity_per_user" value="{$currentTab->getFieldValue($currentObject, 'quantity_per_user')|intval}" />
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="">
{l s='Restrictions'}
</span>
</label>
<div class="col-lg-8">
{if $countries.unselected|@count + $countries.selected|@count > 1}
<div class="row">
<label class="checkbox">
<input type="checkbox" id="country_restriction" name="country_restriction" value="1" {if $countries.unselected|@count}checked="checked"{/if} />
{l s='Country selection'}
</label>
<span class="help-block">{l s='This restriction applies to the country of delivery.'}</span>
<div id="country_restriction_div">
<table>
<tr>
<td >
<p>{l s='Unselected countries'}</p>
<select id="country_select_1" multiple>
{foreach from=$countries.unselected item='country'}
<option value="{$country.id_country|intval}">&nbsp;{$country.name|escape}</option>
{/foreach}
</select>
<a id="country_select_add" class="btn btn-block clearfix">{l s='Add'} <i class="icon-arrow-right"></i></a>
</td>
<td>
<p>{l s='Selected countries'}</p>
<select name="country_select[]" id="country_select_2" class="input-large" multiple>
{foreach from=$countries.selected item='country'}
<option value="{$country.id_country|intval}">&nbsp;{$country.name|escape}</option>
{/foreach}
</select>
<a id="country_select_remove" class="btn btn-block clearfix"><i class="icon-arrow-left"></i> {l s='Remove'} </a>
</td>
</tr>
</table>
</div>
</div>
<label>{l s='Minimum amount'}</label>
<div class="margin-form">
<input type="text" name="minimum_amount" value="{$currentTab->getFieldValue($currentObject, 'minimum_amount')|floatval}" />
<select name="minimum_amount_currency">
{foreach from=$currencies item='currency'}
<option value="{$currency.id_currency|intval}"
{if $currentTab->getFieldValue($currentObject, 'minimum_amount_currency') == $currency.id_currency
|| (!$currentTab->getFieldValue($currentObject, 'minimum_amount_currency') && $currency.id_currency == $defaultCurrency)}
selected="selected"
{/if}
{if $carriers.unselected|@count + $carriers.selected|@count > 1}
<div class="row">
<label class="checkbox">
<input type="checkbox" id="carrier_restriction" name="carrier_restriction" value="1" {if $carriers.unselected|@count}checked="checked"{/if} />
{l s='Carrier selection'}
</label>
<div id="carrier_restriction_div">
<table>
<tr>
<td>
<p>{l s='Unselected carriers'}</p>
<select id="carrier_select_1" class="input-large" multiple>
{foreach from=$carriers.unselected item='carrier'}
<option value="{$carrier.id_reference|intval}">&nbsp;{$carrier.name|escape}</option>
{/foreach}
</select>
<a id="carrier_select_add" class="btn btn-default btn-block clearfix" >{l s='Add'} <i class="icon-arrow-right"></i></a>
</td>
<td>
<p>{l s='Selected carriers'}</p>
<select name="carrier_select[]" id="carrier_select_2" class="input-large" multiple>
{foreach from=$carriers.selected item='carrier'}
<option value="{$carrier.id_reference|intval}">&nbsp;{$carrier.name|escape}</option>
{/foreach}
</select>
<a id="carrier_select_remove" class="btn btn-default btn-block clearfix"><i class="icon-arrow-left"></i> {l s='Remove'} </a>
</td>
</tr>
</table>
</div>
</div>
{/if}
{if $groups.unselected|@count + $groups.selected|@count > 1}
<div class="row">
<label class="checkbox">
<input type="checkbox" id="group_restriction" name="group_restriction" value="1" {if $groups.unselected|@count}checked="checked"{/if} />
{l s='Customer group selection'}
</label>
<div id="group_restriction_div">
<table>
<tr>
<td>
<p>{l s='Unselected groups'}</p>
<select id="group_select_1" class="input-large" multiple>
{foreach from=$groups.unselected item='group'}
<option value="{$group.id_group|intval}">&nbsp;{$group.name|escape}</option>
{/foreach}
</select>
<a id="group_select_add" class="btn btn-default btn-block clearfix" >{l s='Add'} <i class="icon-arrow-right"></i></a>
</td>
<td>
<p>{l s='Selected groups'}</p>
<select name="group_select[]" class="input-large" id="group_select_2" multiple>
{foreach from=$groups.selected item='group'}
<option value="{$group.id_group|intval}">&nbsp;{$group.name|escape}</option>
{/foreach}
</select>
<a id="group_select_remove" class="btn btn-default btn-block clearfix" ><i class="icon-arrow-left"></i> {l s='Remove'}</a>
</td>
</tr>
</table>
</div>
</div>
{/if}
{if $cart_rules.unselected|@count + $cart_rules.selected|@count > 0}
<div class="row">
<label class="checkbox">
<input type="checkbox" id="cart_rule_restriction" name="cart_rule_restriction" value="1" {if $cart_rules.unselected|@count}checked="checked"{/if} />
{l s='Compatibility with other cart rules'}
</label>
<div id="cart_rule_restriction_div" >
<table class="col-lg-12">
<tr>
<td>
<p>{l s='Uncombinable cart rules'}</p>
<select id="cart_rule_select_1" multiple="">
{foreach from=$cart_rules.unselected item='cart_rule'}
<option value="{$cart_rule.id_cart_rule|intval}">&nbsp;{$cart_rule.name|escape}</option>
{/foreach}
</select>
<a id="cart_rule_select_add" class="btn btn-default btn-block clearfix">{l s='Add'} <i class="icon-arrow-right"></i></a>
</td>
<td>
<p>{l s='Combinable cart rules'}</p>
<select name="cart_rule_select[]" id="cart_rule_select_2" multiple>
{foreach from=$cart_rules.selected item='cart_rule'}
<option value="{$cart_rule.id_cart_rule|intval}">&nbsp;{$cart_rule.name|escape}</option>
{/foreach}
</select>
<a id="cart_rule_select_remove" class="btn btn-default btn-block clearfix" ><i class="icon-arrow-left"></i> {l s='Remove'}</a>
</td>
</tr>
</table>
</div>
</div>
{/if}
<div class="row">
<label class="checkbox">
<input type="checkbox" id="product_restriction" name="product_restriction" value="1" {if $product_rule_groups|@count}checked="checked"{/if} />
{l s='Product selection'}
</label>
<div id="product_restriction_div">
<table id="product_rule_group_table" cellpadding="0" cellspacing="0">
{foreach from=$product_rule_groups item='product_rule_group'}
{$product_rule_group}
>
{$currency.iso_code}
</option>
{/foreach}
</select>
<select name="minimum_amount_tax">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_tax') == 0}selected="selected"{/if}>{l s='Tax excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_tax') == 1}selected="selected"{/if}>{l s='Tax included'}</option>
</select>
<select name="minimum_amount_shipping">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_shipping') == 0}selected="selected"{/if}>{l s='Shipping excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_shipping') == 1}selected="selected"{/if}>{l s='Shipping included'}</option>
</select>
<p class="preference_description">{l s='You can choose a minimum amount for the cart either with or without the taxes and shipping.'}</p>
</div>
<label>{l s='Total available'}</label>
<div class="margin-form">
<input type="text" name="quantity" value="{$currentTab->getFieldValue($currentObject, 'quantity')|intval}" />
<p class="preference_description">{l s='The cart rule will be applied to the first "X" customers only.'}</p>
</div>
<label>{l s='Total available for each user.'}</label>
<div class="margin-form">
<input type="text" name="quantity_per_user" value="{$currentTab->getFieldValue($currentObject, 'quantity_per_user')|intval}" />
<p class="preference_description">{l s='A customer will only be able to use the cart rule "X" time(s).'}</p>
</div>
{if $countries.unselected|@count + $countries.selected|@count > 1}
<br />
<input type="checkbox" id="country_restriction" name="country_restriction" value="1" {if $countries.unselected|@count}checked="checked"{/if} /> <strong>{l s='Country selection'}</strong>
<div id="country_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Unselected countries'}</strong></p>
<select id="country_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$countries.unselected item='country'}
<option value="{$country.id_country|intval}">&nbsp;{$country.name|escape}</option>
{/foreach}
</table>
<a href="javascript:addProductRuleGroup();" class="btn btn-default ">
<i class="icon-plus-sign"></i> {l s='Product selection'}
</select><br /><br />
<a
id="country_select_add"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</div>
</div>
{if $shops.unselected|@count + $shops.selected|@count > 1}
<div class="row">
<label class="checkbox">
<input type="checkbox" id="shop_restriction" name="shop_restriction" value="1" {if $shops.unselected|@count}checked="checked"{/if} />
{l s='Shop selection'}
</label>
<div id="shop_restriction_div" >
<table class="col-lg-12">
<tr>
<td>
<p>{l s='Unselected shops'}</p>
<select id="shop_select_1" multiple>
{foreach from=$shops.unselected item='shop'}
<option value="{$shop.id_shop|intval}">&nbsp;{$shop.name|escape}</option>
{/foreach}
</select>
<a id="shop_select_add" class="btn btn-default" >{l s='Add'} &gt;&gt; </a>
</td>
<td>
<p>{l s='Selected shops'}</p>
<select name="shop_select[]" id="shop_select_2" multiple>
{foreach from=$shops.selected item='shop'}
<option value="{$shop.id_shop|intval}">&nbsp;{$shop.name|escape}</option>
{/foreach}
</select>
<a id="shop_select_remove" class="btn" > &lt;&lt; {l s='Remove'} </a>
</td>
</tr>
</table>
</div>
</div>
{/if}
</div>
</div>
</td>
<td>
<p><strong>{l s='Selected countries'}</strong></p>
<select name="country_select[]" id="country_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$countries.selected item='country'}
<option value="{$country.id_country|intval}">&nbsp;{$country.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="country_select_remove"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
<p>{l s='This restriction applies to the country of delivery.'}</p>
</div>
{/if}
{if $carriers.unselected|@count + $carriers.selected|@count > 1}
<br />
<input type="checkbox" id="carrier_restriction" name="carrier_restriction" value="1" {if $carriers.unselected|@count}checked="checked"{/if} /> <strong>{l s='Carrier selection'}</strong>
<div id="carrier_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Unselected carriers'}</strong></p>
<select id="carrier_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$carriers.unselected item='carrier'}
<option value="{$carrier.id_reference|intval}">&nbsp;{$carrier.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="carrier_select_add"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Selected carriers'}</strong></p>
<select name="carrier_select[]" id="carrier_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$carriers.selected item='carrier'}
<option value="{$carrier.id_reference|intval}">&nbsp;{$carrier.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="carrier_select_remove"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
</div>
{/if}
{if $groups.unselected|@count + $groups.selected|@count > 1}
<br />
<input type="checkbox" id="group_restriction" name="group_restriction" value="1" {if $groups.unselected|@count}checked="checked"{/if} />
<strong>{l s='Customer group selection'}</strong>
<div id="group_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Unselected groups'}</strong></p>
<select id="group_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$groups.unselected item='group'}
<option value="{$group.id_group|intval}">&nbsp;{$group.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="group_select_add"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Selected groups'}</strong></p>
<select name="group_select[]" id="group_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$groups.selected item='group'}
<option value="{$group.id_group|intval}">&nbsp;{$group.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="group_select_remove"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
</div>
{/if}
{if $cart_rules.unselected|@count + $cart_rules.selected|@count > 0}
<br />
<input type="checkbox" id="cart_rule_restriction" name="cart_rule_restriction" value="1" {if $cart_rules.unselected|@count}checked="checked"{/if} />
<strong>{l s='Compatibility with other cart rules'}</strong>
<div id="cart_rule_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Uncombinable cart rules'}</strong></p>
<select id="cart_rule_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple="">
{foreach from=$cart_rules.unselected item='cart_rule'}
<option value="{$cart_rule.id_cart_rule|intval}">&nbsp;{$cart_rule.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="cart_rule_select_add"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Combinable cart rules'}</strong></p>
<select name="cart_rule_select[]" id="cart_rule_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$cart_rules.selected item='cart_rule'}
<option value="{$cart_rule.id_cart_rule|intval}">&nbsp;{$cart_rule.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="cart_rule_select_remove"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
</div>
{/if}
<br />
<input type="checkbox" id="product_restriction" name="product_restriction" value="1" {if $product_rule_groups|@count}checked="checked"{/if} /> <strong>{l s='Product selection'}</strong>
<div id="product_restriction_div">
<table id="product_rule_group_table" style="border:1px solid #AAAAAA;margin:10px 0 10px 0;padding:10px 10px 10px 10px;background-color:#FFF5D3;width:600px;display:none" cellpadding="0" cellspacing="0">
{foreach from=$product_rule_groups item='product_rule_group'}
{$product_rule_group}
{/foreach}
</table>
<a href="javascript:addProductRuleGroup();" style="margin-top:5px;display:block">
<img src="../img/admin/add.gif" alt="{l s='Add'}" title="{l s='Add'}" /> {l s='Product selection'}
</a>
</div>
{if $shops.unselected|@count + $shops.selected|@count > 1}
<br />
<input type="checkbox" id="shop_restriction" name="shop_restriction" value="1" {if $shops.unselected|@count}checked="checked"{/if} /> <strong>{l s='Shop selection'}</strong>
<div id="shop_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Unselected shops'}</strong></p>
<select id="shop_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$shops.unselected item='shop'}
<option value="{$shop.id_shop|intval}">&nbsp;{$shop.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="shop_select_add"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Selected shops'}</strong></p>
<select name="shop_select[]" id="shop_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$shops.selected item='shop'}
<option value="{$shop.id_shop|intval}">&nbsp;{$shop.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="shop_select_remove"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
</div>
{/if}

View File

@@ -303,16 +303,16 @@ $('#customerFilter')
function displayCartRuleTab(tab)
{
$('.cart_rule_tab').hide();
$('.tab-row.active').removeClass('active');
$('.tab-page').removeClass('selected');
$('#cart_rule_' + tab).show();
$('#cart_rule_link_' + tab).parent().addClass('active');
$('#cart_rule_link_' + tab).addClass('selected');
$('#currentFormTab').val(tab);
}
$('.cart_rule_tab').hide();
$('.tab-row.active').removeClass('active');
$('.tab-page').removeClass('selected');
$('#cart_rule_' + currentFormTab).show();
$('#cart_rule_link_' + currentFormTab).parent().addClass('active');
$('#cart_rule_link_' + currentFormTab).addClass('selected');
var date = new Date();
var hours = date.getHours();

View File

@@ -1,12 +1,9 @@
<div class="row">
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
<div class="leadin">{block name="leadin"}{/block}</div>
</div>
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
<div class="leadin">{block name="leadin"}{/block}</div>
<div class="row">
<div>
<div class="productTabs">
<ul class="tab nav nav-tabs">
<ul class="tab">
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_informations" href="javascript:displayCartRuleTab('informations');">{l s='Information'}</a>
</li>
@@ -19,28 +16,30 @@
</ul>
</div>
</div>
<div class="row">
<form action="{$currentIndex|escape}&token={$currentToken|escape}&addcart_rule" id="cart_rule_form" class="form-horizontal" method="post">
{if $currentObject->id}<input type="hidden" name="id_cart_rule" value="{$currentObject->id|intval}" />{/if}
<input type="hidden" id="currentFormTab" name="currentFormTab" value="informations" />
<fieldset id="cart_rule_informations" class="cart_rule_tab">
<h3>{l s='Cart-rule information'}</h3>
{include file='controllers/cart_rules/informations.tpl'}
</fieldset>
<fieldset id="cart_rule_conditions" class="cart_rule_tab">
<h3>{l s='Cart-rule conditions'}</h3>
{include file='controllers/cart_rules/conditions.tpl'}
</fieldset>
<fieldset id="cart_rule_actions" class="cart_rule_tab">
<h3>{l s='Cart-rule actions'}</h3>
{include file='controllers/cart_rules/actions.tpl'}
</fieldset>
<button type="submit" class="btn btn-primary btn-large pull-right" name="submitAddcart_rule" id="{$table|escape}_form_submit_btn"><i class="icon-save"></i> {l s='Save'}</button>
<form action="{$currentIndex|escape}&token={$currentToken|escape}&addcart_rule" id="cart_rule_form" method="post">
{if $currentObject->id}<input type="hidden" name="id_cart_rule" value="{$currentObject->id|intval}" />{/if}
<input type="hidden" id="currentFormTab" name="currentFormTab" value="informations" />
<div id="cart_rule_informations" class="cart_rule_tab">
<h4>{l s='Cart-rule information'}</h4>
<div class="separation"></div>
{include file='controllers/cart_rules/informations.tpl'}
</div>
<div id="cart_rule_conditions" class="cart_rule_tab">
<h4>{l s='Cart-rule conditions'}</h4>
<div class="separation"></div>
{include file='controllers/cart_rules/conditions.tpl'}
</div>
<div id="cart_rule_actions" class="cart_rule_tab">
<h4>{l s='Cart-rule actions'}</h4>
<div class="separation"></div>
{include file='controllers/cart_rules/actions.tpl'}
</div>
<div class="separation"></div>
<div style="text-align:center">
<input type="submit" value="{l s='Save'}" class="button" name="submitAddcart_rule" id="{$table|escape}_form_submit_btn" />
<!--<input type="submit" value="{l s='Save and stay'}" class="button" name="submitAddcart_ruleAndStay" id="" />-->
</form>
</div>
</div>
</form>
<script type="text/javascript">
var product_rule_groups_counter = {if isset($product_rule_groups_counter)}{$product_rule_groups_counter|intval}{else}0{/if};
var product_rule_counters = new Array();
@@ -57,5 +56,4 @@
{/foreach}
displayFlags(languages, {$id_lang_default});
</script>
<script type="text/javascript" src="themes/default/template/controllers/cart_rules/form.js"></script>
<script type="text/javascript" src="themes/default/template/controllers/cart_rules/form.js"></script>

View File

@@ -1,118 +1,68 @@
<div class="row">
<label class="control-label col-lg-3 required">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='This will be displayed in the cart summary, as well as on the invoice.'}">
{l s='Name'}
</span>
</label>
<div class="col-lg-8">
{foreach from=$languages item=language}
<div class="row">
<div class="input-group col-lg-12">
<input id="name_{$language.id_lang|intval}" type="text" name="name_{$language.id_lang|intval}" value="{$currentTab->getFieldValue($currentObject, 'name', $language.id_lang|intval)|escape:html:'UTF-8'}">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<img src="{$base_url}/img/l/{$language.id_lang|intval}.jpg" alt="">
{$language.iso_code}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=language}
<li><a href="#"><img src="{$base_url}/img/l/{$language.id_lang|intval}.jpg" alt=""> {$language.iso_code}</a></li>
{/foreach}
</ul>
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<label>{l s='Name'}</label>
<div class="margin-form">
<div class="translatable">
{foreach from=$languages item=language}
<div class="lang_{$language.id_lang|intval}" style="display:{if $language.id_lang == $id_lang_default}block{else}none{/if};float:left">
<input type="text" id="name_{$language.id_lang|intval}" name="name_{$language.id_lang|intval}" value="{$currentTab->getFieldValue($currentObject, 'name', $language.id_lang|intval)|escape:html:'UTF-8'}" style="width:400px" />
<sup>*</sup>
</div>
{/foreach}
</div>
<p class="preference_description">{l s='This will be displayed in the cart summary, as well as on the invoice.'}</p>
</div>
</div>
</div>
{/foreach}
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='For your eyes only. This will never be displayed to the customer.'}">
{l s='Description'}
</span>
</label>
<div class="col-lg-8">
<textarea name="description" rows="2" >{$currentTab->getFieldValue($currentObject, 'description')|escape}</textarea>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Caution! The rule will automatically be applied if you leave this field blank.'}">
{l s='Code'}
</span>
</label>
<div class="input-group col-lg-4">
<input type="text" id="code" name="code" value="{$currentTab->getFieldValue($currentObject, 'code')|escape}" />
<span class="input-group-btn">
<a href="javascript:gencode(8);" class="btn btn-default"><i class="icon-random"></i> {l s='Generate'}</a>
</span>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='If the voucher is not yet in the cart, it will be displayed in the cart summary.'}">
{l s='Highlight'}
</span>
</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="highlight" id="highlight_on" value="1" {if $currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if}/>
<label class="t radio" for="highlight_on"><i class="icon-check-sign"></i> {l s='Yes'}</label>
<input type="radio" name="highlight" id="highlight_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if} />
<label class="t radio" for="highlight_off"><i class="icon-ban-circle"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Only applicable if the voucher value is greater than the cart total.'}
{l s='If you do not allow partial use, the voucher value will be lowered to the total order amount. If you allow partial use, however, a new voucher will be created with the remainder.'}">
{l s='Partial use'}
</span>
</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="partial_use" id="partial_use_on" value="1" {if $currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t radio" for="partial_use_on"><i class="icon-check-sign"></i> {l s='Yes'}</label>
<input type="radio" name="partial_use" id="partial_use_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t radio" for="partial_use_off"><i class="icon-ban-circle"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Cart rules are applied by priority. A cart rule with a priority of "1" will be processed before a cart rule with a priority of "2".'}">
{l s='Priority'}
</span>
</label>
<div class="col-lg-1">
<input type="text" class="input-mini" name="priority" value="{$currentTab->getFieldValue($currentObject, 'priority')|intval}" />
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Status'}</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="active" id="active_on" value="1" {if $currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t radio" for="active_on"><i class="icon-check-sign"></i> {l s='Yes'}</label>
<input type="radio" name="active" id="active_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t radio" for="active_off"><i class="icon-ban-circle"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<label>{l s='Description'}</label>
<div class="margin-form">
<textarea name="description" style="width:80%;height:100px">{$currentTab->getFieldValue($currentObject, 'description')|escape}</textarea>
<p class="preference_description">{l s='For your eyes only. This will never be displayed to the customer.'}</p>
</div>
<label>{l s='Code'}</label>
<div class="margin-form">
<input type="text" id="code" name="code" value="{$currentTab->getFieldValue($currentObject, 'code')|escape}" />
<a href="javascript:gencode(8);" class="button">{l s='(Click to generate random code)'}</a>
<p class="preference_description">{l s='Caution! The rule will automatically be applied if you leave this field blank.'}</p>
</div>
<label>{l s='Highlight'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="highlight" id="highlight_on" value="1" {if $currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if} />
<label class="t" for="highlight_on"> <img src="../img/admin/enabled.gif" alt="{l s='Yes'}" title="{l s='Yes'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="highlight" id="highlight_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if} />
<label class="t" for="highlight_off"> <img src="../img/admin/disabled.gif" alt="{l s='No'}" title="{l s='No'}" style="cursor:pointer" /></label>
<p class="preference_description">
{l s='If the voucher is not yet in the cart, it will be displayed in the cart summary.'}
</p>
</div>
<label>{l s='Partial use'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="partial_use" id="partial_use_on" value="1" {if $currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t" for="partial_use_on"> <img src="../img/admin/enabled.gif" alt="{l s='Allowed'}" title="{l s='Allowed'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="partial_use" id="partial_use_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t" for="partial_use_off"> <img src="../img/admin/disabled.gif" alt="{l s='Not allowed'}" title="{l s='Not allowed'}" style="cursor:pointer" /></label>
<p class="preference_description">
{l s='Only applicable if the voucher value is greater than the cart total.'}<br />
{l s='If you do not allow partial use, the voucher value will be lowered to the total order amount. If you allow partial use, however, a new voucher will be created with the remainder.'}
</p>
</div>
<label>{l s='Priority'}</label>
<div class="margin-form">
<input type="text" name="priority" value="{$currentTab->getFieldValue($currentObject, 'priority')|intval}" />
<p class="preference_description">{l s='Cart rules are applied by priority. A cart rule with a priority of "1" will be processed before a cart rule with a priority of "2".'}</p>
</div>
<label>{l s='Status'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="active" id="active_on" value="1" {if $currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t" for="active_on"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="active" id="active_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t" for="active_off"> <img src="../img/admin/disabled.gif" alt="{l s='Disabled'}" title="{l s='Disabled'}" style="cursor:pointer" /></label>
</div>
</td>
</tr>
</table>

View File

@@ -50,7 +50,7 @@
<h2><img src="../img/admin/cart.gif" /> {l s='Order information'}</h2>
<span>
{if $order->id}
<a href="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&id_order={$order->id}&vieworder"> {l s='Order #%d' sprintf=$order->id|string_format:"%06d"}</a></span>
<a href="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&id_order={$order->id}&vieworder"> {l s='Order #%s' sprintf=$order->reference}</a></span>
<br /><br />
{l s='Made on:'} {dateFormat date=$order->date_add}<br /><br /><br /><br />
{else}
@@ -187,4 +187,4 @@
<div class="clear" style="height:20px;">&nbsp;</div>
{/block}
</div>
</div>

View File

@@ -32,15 +32,17 @@
{$fields_value.image}
<p align="center">{l s='File size'} {$fields_value.size}kb</p>
{if $shared_category}
<p class="alert alert-warning">{l s='If you delete this picture, it will be deleted in all of your shared shops!'}</p>
<p class="warn">{l s='If you delete this picture, it will be deleted in all of your shared shops!'}</p>
{/if}
<a class="btn btn-default" href="{$current}&{$identifier}={$form_id}&token={$token}&{if $shared_category}forcedeleteImage=1{else}deleteImage=1{/if}">
<i class="icon-trash"></i> {l s='Delete'}
<br />
<a href="{$current}&{$identifier}={$form_id}&token={$token}&{if $shared_category}forcedeleteImage=1{else}deleteImage=1{/if}">
<img src="../img/admin/delete.gif" alt="{l s='Delete'}" /> {l s='Delete'}
</a>
</div>
</div><br />
{/if}
{/if}
<input type="file" name="{$input.name}" {if isset($input.id)}id="{$input.id}"{/if} />
{if !empty($input.hint)}<span class="hint" name="help_box">{$input.hint}<span class="hint-pointer">&nbsp;</span></span>{/if}
{else}
{$smarty.block.parent}
{/if}
@@ -62,7 +64,7 @@
{block name="description"}
{$smarty.block.parent}
{if ($input.name == 'groupBox')}
<p class="alert alert-info">
<p class="hint" style="display:block; position:relative; display:inline-block;">
<span>{$input.info_introduction}</span><br />
<span>{$input.unidentified}</span><br />
<span>{$input.guest}</span><br />

View File

@@ -25,62 +25,48 @@
{extends file="helpers/list/list_header.tpl"}
{block name=override_header}
<ul class="breadcrumb cat_bar2">
{assign var=i value=0}
{foreach $categories_tree key=key item=category}
{if $i++ == 0}
<li>
<i class="icon-home"></i>
{assign var=params_url value=""}
{else}
{assign var=params_url value="&id_category={$category.id_category|intval}&viewcategory"}
{/if}
{if $category.id_category == $categories_tree_current_id}
{$category.name}</li>
{else}
<a href="{$currentIndex}{$params_url}&token={$token}">{$category.name}</a></li>
{/if}
{/foreach}
</ul>
{/block}
{block name=leadin}
<div class="cat_bar2">
{assign var=i value=0}
{foreach $categories_tree key=key item=category}
{if $i++ == 0}
&nbsp;<img src="../img/admin/home.gif" alt="" />
{assign var=params_url value=""}
{else}
{assign var=params_url value="&id_category={$category.id_category|intval}&viewcategory"}
{/if}
{if $category.id_category == $categories_tree_current_id}
{$category.name}
{else}
<a href="{$currentIndex}{$params_url}&token={$token}">{$category.name}</a>&nbsp;>&nbsp;
{/if}
{/foreach}
</div>
{if isset($delete_category) && $delete_category}
<div class="panel panel-danger">
<div class="panel-heading">
<form action="{$REQUEST_URI|escape:'htmlall':'UTF-8'}" method="post">
<div class="warn">
<h2>
{if $need_delete_mode}
{l s='Do you want to delete the products too?'}
{else}
{l s='Deleting this category will remove products linked only within this category and no others. Are you sure you want to continue?'}
{/if}
</h2>
{if $need_delete_mode}
{l s='Do you want to delete the products too?'}
{else}
{l s='Deleting this category will remove products linked only within this category and no others. Are you sure you want to continue?'}
{/if}
</div>
{if $need_delete_mode}
<form action="{$REQUEST_URI}" method="post">
<div class="radio">
<label for="deleteMode_linkanddisable">
<input type="radio" name="deleteMode" value="linkanddisable" id="deleteMode_linkanddisable" />
{l s='No. I want to link products without other categories -- within the parent category -- and then disable them.'}
</label>
</div>
<div class="radio">
<label for="deleteMode_link">
<input type="radio" name="deleteMode" value="link" id="deleteMode_link" />
{l s='No. I want to link products without other categories and within the parent category.'}
</label>
</div>
<div class="radio">
<label for="deleteMode_delete">
<input type="radio" name="deleteMode" value="delete" id="deleteMode_delete" />
{l s='Yes. I want to remove products linked only within this category and no others.'}
</label>
</div>
<ul class="listForm">
<li>
<input type="radio" name="deleteMode" value="linkanddisable" id="deleteMode_linkanddisable" />
<label for="deleteMode_linkanddisable" style="float:none;">{l s='No. I want to link products without other categories -- within the parent category -- and then disable them.'}</label>
</li>
<li>
<input type="radio" name="deleteMode" value="link" id="deleteMode_link" />
<label for="deleteMode_link" style="float:none;">{l s='No. I want to link products without other categories and within the parent category.'}</label>
</li>
<li>
<input type="radio" name="deleteMode" value="delete" id="deleteMode_delete" />
<label for="deleteMode_delete" style="float:none">{l s='Yes. I want to remove products linked only within this category and no others.'}</label>
</li>
</ul>
{else}
<input type="hidden" name="deleteMode" value="delete" id="deleteMode_delete" />
{/if}
@@ -95,10 +81,11 @@
{/if}
{/if}
{/foreach}
<hr>
<input type="submit" name="cancel" class="btn btn-default" value="{l s='Cancel'}" />
<input type="submit" class="btn btn-primary" value="{l s='Validate'}" />
</form>
<br />
<input type="submit" name="cancel" class="button" value="{l s='Cancel'}" />
<input type="submit" class="button" value="{l s='Validate'}" />
</div>
</form>
<div class="clear">&nbsp;</div>
{/if}
{/block}

View File

@@ -68,9 +68,12 @@
{/block}
{block name="leadin"}
<div style="{if $active}display:none{/if}">
<p class="alert alert-warning">
{l s='Your CMS page will be saved as a draft'}
<div class="warn draft" style="{if $active}display:none{/if}">
<p>
<span style="float: left">
{l s='Your CMS page will be saved as a draft'}
</span>
<br class="clear" />
</p>
</div>
{/block}

View File

@@ -23,9 +23,9 @@
* International Registered Trademark & Property of PrestaShop SA
*}
{if isset($cms_breadcrumb)}
<ul class="breadcrumb cat_bar">
{$cms_breadcrumb}
</ul>
<div class="cat_bar">
<span style="color: #3C8534;">{l s='Current category'} :</span>&nbsp;&nbsp;&nbsp;{$cms_breadcrumb}
</div>
{/if}
{$content}

View File

@@ -25,37 +25,32 @@
</table>
{if $bulk_actions}
<div class="row">
<p>
{if $bulk_actions|count > 1}
<div class="col-lg-11">
<select id="select_submitBulk" name="select_submitBulk">
{foreach $bulk_actions as $key => $params}
<option value="{$key}">{$params.text}</option>
{/foreach}
</select>
</div>
<input type="submit" class="btn btn-primary" name="submitBulk" id="submitBulk" value="{l s='Apply'}" />
<select id="select_submitBulk" name="select_submitBulk">
{foreach $bulk_actions as $key => $params}
<option value="{$key}">{$params.text}</option>
{/foreach}
</select>
<input type="submit" class="button" name="submitBulk" id="submitBulk" value="{l s='Apply'}" />
{else}
{foreach $bulk_actions as $key => $params}
{if $key == 'affectzone'}
<div class="col-lg-11">
<select id="zone_to_affect" name="zone_to_affect">
{foreach $zones as $z}
<option value="{$z['id_zone']}">{$z['name']}</option>
{/foreach}
</select>
</div>
<select id="zone_to_affect" name="zone_to_affect">
{foreach $zones as $z}
<option value="{$z['id_zone']}">{$z['name']}</option>
{/foreach}
</select>
{/if}
<input type="submit" class="btn btn-primary" name="submitBulk{$key}{$table}" value="{$params.text}" {if isset($params.confirm)}onclick="return confirm('{$params.confirm}');"{/if} />
<input type="submit" class="button" name="submitBulk{$key}{$table}" value="{$params.text}" {if isset($params.confirm)}onclick="return confirm('{$params.confirm}');"{/if} />
{/foreach}
{/if}
</div>
</p>
{/if}
</td>
</tr>
</table>
<input type="hidden" name="token" value="{$token}" />
</fieldset>
</form>
<script type="text/javascript">

View File

@@ -25,11 +25,12 @@
{extends file="helpers/list/list_header.tpl"}
{block name="leadin"}
{block name="override_header"}
<div id="CustomerThreadContacts" class="row">
<div id="CustomerThreadContacts">
{assign var=nb_categories value=count($categories)}
{foreach $categories as $key => $val}
{assign var=total_thread value=0}
@@ -37,19 +38,21 @@
{foreach $contacts as $tmp => $tmp2}
{if $val.id_contact == $tmp2.id_contact}
{assign var=total_thread value=$tmp2.total}
{assign var=id_customer_thread value=$tmp2.id_customer_thread}
{/if}
{/foreach}
<div class="col-lg-3">
<div class="panel">
<div class="panel-heading">
{$val.name}
</div>
<div class="blocSAV">
<h3>{$val.name}</h3>
{if $nb_categories < 6}
<p>{$val.description}</p>
{/if}
{if $total_thread == 0}
<span class="message-mail">{l s='No new messages'}</span>
{else}
@@ -58,37 +61,41 @@
{if $total_thread > 1}{l s='New messages'}{else}{l s='New message'}{/if}
</a>
{/if}
</div>
</div>
{/foreach}
<div class="col-lg-3">
<div id="MeaningStatus" class="panel">
<div class="panel-heading">
{l s='Meaning of status'}
</div>
<ul class="list-unstyled">
<li class="label label-success">{l s='Open'}</li>
<li class="label label-danger">{l s='Closed'}</li>
<li class="label label-warning">{l s='Pending 1'}</li>
<li class="label label-warning">{l s='Pending 2'}</li>
</ul>
</div>
<div id="MeaningStatus" class="blocSAV">
<h3>&nbsp;{l s='Meaning of status'}</h3>
<ul>
<li><img src="../img/admin/status_green.png" alt="{l s='Open'}">{l s='Open'}</li>
<li><img src="../img/admin/status_red.png" alt="{l s='Closed'}">{l s='Closed'}</li>
<li><img src="../img/admin/status_orange.png" alt="{l s='Pending 1'}">{l s='Pending 1'}</li>
<li><img src="../img/admin/status_orange.png" alt="{l s='Pending 2'}">{l s='Pending 2'}</li>
</ul>
</div>
<div class="col-lg-3">
<div id="CustomerService" class="panel">
<div class="panel-heading">
{l s='Statistics'}
</div>
<ul class="list-unstyled">
<div id="CustomerService">
<table ccellspacing="0" cellpadding="0" class="table">
<thead>
<tr>
<th colspan="2">{l s='Customer service'} : {l s='Statistics'}</th>
</tr>
</thead>
<tbody>
{assign var=count value=0}
{foreach $params as $key => $val}
{assign var=count value=$count+1}
<li>{$key} <span class="badge">{$val}</span></li>
<tr {if $count % 2 == 0}class="alt_row"{/if}>
<td>{$key}</td>
<td><span>{$val}</span></td>
</tr>
{/foreach}
</ul>
</div>
</tbody>
</table>
</div>
</div>
<p class="clear">&nbsp;</p>
{/block}

View File

@@ -25,18 +25,16 @@
{extends file="helpers/options/options.tpl"}
{block name="after"}
{if $use_sync}
<fieldset>
<legend>{l s='Sync'}</legend>
<fieldset><legend>{l s='Sync'}</legend>
<label>{l s='Run sync:'}</label>
<div class="margin-form">
<button class="btn" id="run_sync" onclick="run_sync();">{l s='Run sync'}</button>
<button class="button" id="run_sync" onclick="run_sync();">{l s='Run sync'}</button>
<p>{l s='Click to synchronize mail automatically'}</p>
<div id="ajax_loader"></div>
<div class="error" style="display:none" id="ajax_error"></div>
<div class="alert" style="display:none" id="ajax_conf"></div>
<div class="conf" style="display:none" id="ajax_conf"></div>
</div>
</fieldset>
</fieldset><br/>
<script type="text/javascript">
var ajaxQueries = new Array();
function run_sync()

View File

@@ -39,9 +39,9 @@
</div>
<p>
<img src="../img/admin/email_go.png" alt="" />
<img src="../img/admin/email_go.png" alt="" style="vertical-align: middle;" />
{l s='Forward this discussion to an employee:'}
<select name="id_employee_forward">
<select name="id_employee_forward" style="vertical-align: middle;">
<option value="-1">{l s='-- Choose --'}</option>
{foreach $employees as $employee}
<option value="{$employee.id_employee}"> {Tools::substr($employee.firstname, 0, 1)}. {$employee.lastname}</option>
@@ -61,16 +61,16 @@
</fieldset>
</form>
<div class="clear">&nbsp;</div>
{if $thread->id_customer}
<div>
<div style="float:right;margin-left:20px;">
{if $orders && count($orders)}
{if $count_ok}
<div>
<h2>{l s='Orders'}</h2>
<table class="table">
<table cellspacing="0" cellpadding="0" class="table float">
<tr>
<th class="center">{l s='ID'}</th>
<th class="center">{l s='Date'}</th>
@@ -136,12 +136,15 @@
</div>
{/if}
<div>
<div style="margin-top:10px">
{foreach $messages as $message}
{$message}
{/foreach}
</div>
<script type="text/javascript">
var timer;
$(document).ready(function(){

View File

@@ -57,14 +57,14 @@
<dl>
<dt>{l s='Sent on:'}</dt>
<dd>{$message.date_add}</dd>
<dd>{$message.date_add}&nbsp;</dd>
</dl>
{if empty($message.id_employee)}
<dl>
<dt>{l s='Browser:'}</dt>
<dd>{$message.user_agent}</dd>
<dd>{$message.user_agent}&nbsp;</dd>
</dl>
{/if}
@@ -79,34 +79,35 @@
</dl>
{/if}
{if !empty($message.id_order) && empty($message.id_employee)}
{if !empty($message.id_order) && $is_valid_order_id && empty($message.id_employee)}
<dl>
<dt>{l s='Order #'}</dt>
<dd><a href="index.php?tab=AdminOrders&id_order={$message.id_order}&vieworder&token={getAdminToken tab='AdminOrders'}" title="{l s='View order'}">
{$message.id_order} <img src="../img/admin/search.gif" alt="{l s='View'}" />
</a></dd>
<dd><a href="index.php?tab=AdminOrders&id_order={$message.id_order}&vieworder&token={getAdminToken tab='AdminOrders'}" title="{l s='View order'}">{$message.id_order} <img src="../img/admin/search.gif" alt="{l s='View'}" /></a>
</dd>
</dl>
{/if}
{if !empty($message.id_product) && empty($message.id_employee)}
<dl>
<dt>{l s='Product #'}</dt>
<dd><a href="index.php?tab=AdminProducts&id_product={$message.id_product}&updateproduct&token={getAdminToken tab='AdminProducts'}" title="{l s='View order'}">
{$message.id_product} <img src="../img/admin/search.gif" alt="{l s='View'}" />
</a></dd>
<dd><a href="index.php?tab=AdminProducts&id_product={$message.id_product}&updateproduct&token={getAdminToken tab='AdminProducts'}" title="{l s='View order'}">{$message.id_product} <img src="../img/admin/search.gif" alt="{l s='View'}" /></a></dd>
</dl>
{/if}
<form action="{$current}&token={$token}&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread" method="post">
<b>{l s='Subject:'}</b>
<input type="hidden" name="id_customer_message" value="{$message.id_customer_message}" />
<select name="id_contact" onchange="this.form.submit();">
{foreach $contacts as $contact}
<option value="{$contact.id_contact}" {if $contact.id_contact == $message.id_contact}selected="selected"{/if}>
{$contact.name}
</option>
{/foreach}
</select>
<dl>
<dt>{l s='Subject:'}</dt>
<dd>
<select name="id_contact" onchange="this.form.submit();">
{foreach $contacts as $contact}
<option value="{$contact.id_contact}" {if $contact.id_contact == $message.id_contact}selected="selected"{/if}>
{$contact.name}
</option>
{/foreach}
</select>
</dd>
</dl>
</form>

View File

@@ -36,7 +36,7 @@
{block name=leadin}
{if isset($delete_customer) && $delete_customer}
<form action="{$REQUEST_URI|escape:'htmlall':'UTF-8'}" method="post">
<div class="alert alert-warning">
<div class="warn">
<h2>{l s='How do you want to delete these customer(s)?'}</h2>
<p>{l s='There are two ways of deleting a customer. Please choose your preferred method.'}</p>
<ul class="listForm">

View File

@@ -26,519 +26,466 @@
{extends file="helpers/view/view.tpl"}
{block name="override_tpl"}
<script type="text/javascript">
function saveCustomerNote()
{
$('#note_feedback').html('<img src="../img/loader.gif" alt="" />').show();
var noteContent = $('#noteContent').val();
$.ajax({
type: "POST",
url: "index.php",
data: "token={getAdminToken tab='AdminCustomers'}&tab=AdminCustomers&ajax=1&action=updateCustomerNote&id_customer={$customer->id}&note="+noteContent,
async : true,
success: function(r) {
$('#note_feedback').html('').hide();
if (r == 'ok')
{
$('#note_feedback').html("<b style='color:green'>{l s='Your note has been saved.'}</b>").fadeIn(400);
$('#submitCustomerNote').attr('disabled', true);
<script type="text/javascript">
function saveCustomerNote()
{
$('#note_feedback').html('<img src="../img/loader.gif" alt="" />').show();
var noteContent = $('#noteContent').val();
$.ajax({
type: "POST",
url: "index.php",
data: "token={getAdminToken tab='AdminCustomers'}&tab=AdminCustomers&ajax=1&action=updateCustomerNote&id_customer={$customer->id}&note="+encodeURIComponent(noteContent),
async : true,
success: function(r) {
$('#note_feedback').html('').hide();
if (r == 'ok')
{
$('#note_feedback').html("<b style='color:green'>{l s='Your note has been saved.'}</b>").fadeIn(400);
$('#submitCustomerNote').attr('disabled', true);
}
else if (r == 'error:validation')
$('#note_feedback').html("<b style='color:red'>({l s='Error: Your note is not valid.'}</b>").fadeIn(400);
else if (r == 'error:update')
$('#note_feedback').html("<b style='color:red'>{l s='Error: Your note cannot be saved.'}</b>").fadeIn(400);
$('#note_feedback').fadeOut(3000);
}
else if (r == 'error:validation')
$('#note_feedback').html("<b style='color:red'>({l s='Error: Your note is not valid.'}</b>").fadeIn(400);
else if (r == 'error:update')
$('#note_feedback').html("<b style='color:red'>{l s='Error: Your note cannot be saved.'}</b>").fadeIn(400);
$('#note_feedback').fadeOut(3000);
}
});
}
</script>
});
}
</script>
<div id="container-customer" class="row">
<div id="container-customer">
{*left*}
<div class="col-lg-6">
<div class="panel">
<div class="panel-heading panel-heading-big">
<i class="icon-user"></i> {$customer->firstname} {$customer->lastname}
</div>
<ul class="list-unstyled col-lg-6">
<li>{l s='Gender:'} <span class="label"><img src="{$gender_image}"/></span></li>
<li><i class="icon-envelope-alt"></i> {l s='Email:'} <a class="label" href="mailto:{$customer->email}">{$customer->email}</a></li>
<li>{l s='ID:'} <span class="label">{$customer->id|string_format:"%06d"}</span></li>
<li>{l s='Registration date:'} <span class="label">{$registration_date}</span></li>
<li>{l s='Last visit:'} <span class="label">{if $customer_stats['last_visit']}{$last_visit}{else}{l s='Never'}{/if}</span></li>
<li>{if $count_better_customers != '-'}{l s='Rank:'} <span class="label"># {$count_better_customers}</span>{/if}</li>
<li>{if $shop_is_feature_active}{l s='Shop:'} <span class="label">{$name_shop}</span>{/if}</li>
</ul>
<ul class="list-unstyled col-lg-6">
<li>{l s='Language:'} <span class="label">{if isset($customerLanguage)}{$customerLanguage->name}{else}{l s='undefined'}{/if}</span></li>
<li>{l s='Newsletter:'} {if $customer->newsletter}<span class="label label-success"><i class="icon-check-sign"></i> {l s='Yes'}</span>{else}<span class="label label-warning"><i class="icon-ban-circle"></i> {l s='No'}</span>{/if}</li>
<li>{l s='Opt in:'} {if $customer->optin}<span class="label label-success"><i class="icon-check-sign"></i> {l s='Yes'}</span>{else}<span class="label label-warning"><i class="icon-ban-circle"></i> {l s='No'}</span>{/if}</li>
<li>{l s='Age:'} {$customer_stats['age']} {if isset($customer->birthday['age'])}({$customer_birthday}){else}{l s='Unknown'}{/if}</li>
<li>{l s='Last update:'} <span class="label">{$last_update}</span></li>
<li>{l s='Status:'} {if $customer->active}<span class="label label-success"><i class="icon-check-sign"></i> {l s='Yes'}</span>{else}<span class="label label-warning"><i class="icon-ban-circle"></i> {l s='No'}</span>{/if}</li>
</ul>
{if $customer->isGuest()}
<div class="info-customer-left">
<div style="float: right">
<a href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<img src="../img/admin/edit.gif" />
</a>
</div>
<span style="font-size: 14px;">
{$customer->firstname} {$customer->lastname}
</span>
<img src="{$gender_image}" style="margin-bottom: 5px" /><br />
<a href="mailto:{$customer->email}" style="text-decoration: underline; color:#268CCD;">{$customer->email}</a>
<br /><br />
{l s='ID:'} {$customer->id|string_format:"%06d"}<br />
{l s='Registration date:'} {$registration_date}<br />
{l s='Last visit:'} {if $customer_stats['last_visit']}{$last_visit}{else}{l s='Never'}{/if}<br />
{if $count_better_customers != '-'}{l s='Rank: #'} {$count_better_customers}<br />{/if}
{if $shop_is_feature_active}{l s='Shop:'} {$name_shop}<br />{/if}
</div>
<div class="info-customer-right">
<div style="float: right">
<a href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<img src="../img/admin/edit.gif" />
</a>
</div>
{l s='Language:'} {if isset($customerLanguage)}{$customerLanguage->name}{else}{l s='undefined'}{/if}<br />
{l s='Newsletter:'} {if $customer->newsletter}<img src="../img/admin/enabled.gif" />{else}<img src="../img/admin/disabled.gif" />{/if}<br />
{l s='Opt in:'} {if $customer->optin}<img src="../img/admin/enabled.gif" />{else}<img src="../img/admin/disabled.gif" />{/if}<br />
{l s='Age:'} {$customer_stats['age']} {if isset($customer->birthday['age'])}({$customer_birthday}){else}{l s='Unknown'}{/if}<br /><br />
{l s='Last update:'} {$last_update}<br />
{l s='Status:'} {if $customer->active}<img src="../img/admin/enabled.gif" />{else}<img src="../img/admin/disabled.gif" />{/if}
{if $customer->isGuest()}
<div>
{l s='This customer is registered as.'} <b>{l s='Guest'}</b>
{if !$customer_exists}
<form method="post" action="index.php?tab=AdminCustomers&id_customer={$customer->id}&token={getAdminToken tab='AdminCustomers'}">
<input type="hidden" name="id_lang" value="{$id_lang}" />
<p class="center">
<input class="button" type="submit" name="submitGuestToCustomer" value="{l s='Transform to a customer account'}" />
</p>
{l s='This feature generates a random password before sending an email to your customer.'}
</form>
<form method="post" action="index.php?tab=AdminCustomers&id_customer={$customer->id}&token={getAdminToken tab='AdminCustomers'}">
<input type="hidden" name="id_lang" value="{$id_lang}" />
<p class="center"><input class="button" type="submit" name="submitGuestToCustomer" value="{l s='Transform to a customer account'}" /></p>
{l s='This feature generates a random password before sending an email to your customer.'}
</form>
{else}
</div>
<div>
{l s='A registered customer account using the defined email address already exists. '}
</div><div><b style="color:red;">{l s='A registered customer account using the defined email address already exists. '}</b>
{/if}
</div>
{/if}
<a class="btn btn-default" href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-file"></i> {l s='Orders'} <span class="badge">{count($orders)}</span>
</div>
{if $orders AND count($orders)}
{assign var=count_ok value=count($orders_ok)}
{assign var=count_ko value=count($orders_ko)}
<div class="panel">
<div class="row">
<div class="col-lg-6">
<i class="icon-ok-circle icon-big"></i>
{l s='Valid orders:'} <span class="badge badge-success">{$count_ok}</span> {l s='for'} {$total_ok}
</div>
<div class="col-lg-6">
<i class="icon-exclamation-sign icon-big"></i>
{l s='Invalid orders:'} <span class="badge badge-warning">{$count_ko}</span>
</div>
</div>
</div>
{if $count_ok}
<table class="table">
<thead>
<tr>
<th class="center">{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Payment: '}</th>
<th>{l s='State'}</th>
<th>{l s='Products'}</th>
<th>{l s='Total spent'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $orders_ok AS $key => $order}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{$order['id_order']}</td>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$order['payment']}</td>
<td>{$order['order_state']}</td>
<td align="right">{$order['nb_products']}</td>
<td align="right">{$order['total_paid_real']}</td>
<td align="center">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
{if $count_ko}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Payment: '}</th>
<th>{l s='State'}</th>
<th>{l s='Products'}</th>
<th>{l s='Total spent'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $orders_ko AS $key => $order}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{$order['id_order']}</td>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$order['payment']}</td>
<td>{$order['order_state']}</td>
<td align="right">{$order['nb_products']}</td>
<td align="right">{$order['total_paid_real']}</td>
<td align="center">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
{else}
{l s='%1$s %2$s has not placed any orders yet' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-shopping-cart"></i> {l s='Carts'} <span class="badge">{count($carts)}</span>
</div>
{if $carts AND count($carts)}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Carrier'}</th>
<th>{l s='Total'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $carts AS $key => $cart}
<tr onclick="document.location = '?tab=AdminCarts&id_cart={$cart['id_cart']}&viewcart&token={getAdminToken tab='AdminCarts'}'">
<td>{$cart['id_cart']}</td>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$cart['name']}</td>
<td align="right">{$cart['total_price']}</td>
<td align="center">
<a class="btn btn-default" href="index.php?tab=AdminCarts&id_cart={$cart['id_cart']}&viewcart&token={getAdminToken tab='AdminCarts'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{else}
{l s='No cart is available'}.
{/if}
</div>
{if $products AND count($products)}
<div class="panel">
<div class="panel-heading">
<i class="icon-archive"></i> {l s='Products:'} <span class="badge">{count($products)}</span>
</div>
<table class="table">
<thead>
<tr>
<th class="center">{l s='Date'}</th>
<th class="center">{l s='Name'}</th>
<th class="center">{l s='Quantity'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $products AS $key => $product}
<tr onclick="document.location = '?tab=AdminOrders&id_order={$product['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$product['product_name']}</td>
<td align="right">{$product['product_quantity']}</td>
<td align="center">
<a class="btn btn-default" href="?tab=AdminOrders&id_order={$product['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
</div>
<div class="clear"></div>
<div class="separation"></div>
<div>
<h2>
<img src="../img/admin/cms.gif" /> {l s='Add a private note'}
</h2>
<p>{l s='This note will be displayed to all employees but not to customers.'}</p>
<form action="ajax.php" method="post" onsubmit="saveCustomerNote();return false;" id="customer_note">
<textarea name="note" id="noteContent" style="width:600px;height:100px" onkeydown="$('#submitCustomerNote').removeAttr('disabled');">{$customer_note}</textarea><br />
<input type="submit" id="submitCustomerNote" class="button" value="{l s='Save '}" style="float:left;margin-top:5px" disabled="disabled" />
<span id="note_feedback" style="position:relative; top:10px; left:10px;"></span>
</form>
</div>
{*right*}
<div class="col-lg-6">
<div class="panel">
<div class="panel-heading">
<i class="icon-eye-close"></i> {l s='Add a private note'}
</div>
<div class="alert alert-info">{l s='This note will be displayed to all employees but not to customers.'}</div>
<form id="customer_note" class="form-horizontal" action="ajax.php" method="post" onsubmit="saveCustomerNote();return false;" >
<div class="row">
<div class="col-lg-12">
<textarea name="note" id="noteContent" onkeydown="$('#submitCustomerNote').removeAttr('disabled');">{$customer_note}</textarea>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<button type="submit" id="submitCustomerNote" class="btn btn-primary pull-right" disabled="disabled" /><i class="icon-save"></i> {l s='Save'}</button>
</div>
</div>
<span id="note_feedback"></span>
</form>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-envelope"></i> {l s='Messages'} <span class="badge">{count($messages)}</span>
</div>
{if count($messages)}
<table class="table">
<thead>
<th>{l s='Status'}</th>
<th>{l s='Message'}</th>
<th>{l s='Sent on'}</th>
</thead>
{foreach $messages AS $message}
<tr>
<td>{$message['status']}</td>
<td>
<a href="index.php?tab=AdminCustomerThreads&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread&token={getAdminToken tab='AdminCustomerThreads'}">
{$message['message']}...
</a>
</td>
<td>{$message['date_add']}</td>
</tr>
{/foreach}
</table>
{else}
{l s='%1$s %2$s has never contacted you' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-ticket"></i> {l s='Vouchers'} <span class="badge">{count($discounts)}</span>
</div>
<div class="clear"></div>
<div class="separation"></div>
<div style="width:50%;float:left;">
<h2>{l s='Messages'} ({count($messages)})</h2>
{if count($messages)}
<table cellspacing="0" cellpadding="0" class="table" style="width:100%;">
<tr>
<th class="left">{l s='Status'}</th>
<th class="left">{l s='Message'}</th>
<th class="left">{l s='Sent on'}</th>
</tr>
{foreach $messages AS $message}
<tr>
<td class="left">{$message['status']}</td>
<td class="left">
<a href="index.php?tab=AdminCustomerThreads&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread&token={getAdminToken tab='AdminCustomerThreads'}">
{$message['message']}...
</a>
</td>
<td class="left">{$message['date_add']}</td>
</tr>
{/foreach}
</table>
<div class="clear">&nbsp;</div>
{else}
{l s='%1$s %2$s has never contacted you' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div style="width:50%;float:left;">
<div style="margin-left:15px;">
<h2>{l s='Vouchers'} ({count($discounts)})</h2>
{if count($discounts)}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Code'}</th>
<th>{l s='Name'}</th>
<th>{l s='Status'}</th>
<th>{l s='Actions'}</th>
<tr/>
</thead>
<tbody>
<table cellspacing="0" cellpadding="0" class="table">
<tr>
<th>{l s='ID'}</th>
<th>{l s='Code'}</th>
<th>{l s='Name'}</th>
<th>{l s='Status'}</th>
<th>{l s='Actions'}</th>
</tr>
{foreach $discounts AS $key => $discount}
<tr>
<td align="center">{$discount['id_cart_rule']}</td>
<td>{$discount['code']}</td>
<td>{$discount['name']}</td>
<td align="center">
<img src="../img/admin/{if $discount['active']}enabled.gif{else}disabled.gif{/if}" alt="{l s='Status'}" title="{l s='Status'}" />
</td>
<td align="center">
<a href="?tab=AdminCartRules&id_cart_rule={$discount['id_cart_rule']}&addcart_rule&token={getAdminToken tab='AdminCartRules'}">
<img src="../img/admin/edit.gif" />
</a>
<a href="?tab=AdminCartRules&id_cart_rule={$discount['id_cart_rule']}&deletecart_rule&token={getAdminToken tab='AdminCartRules'}">
<img src="../img/admin/delete.gif" />
</a>
</td>
</tr>
</tbody>
<tr {if $key %2}class="alt_row"{/if}>
<td align="center">{$discount['id_cart_rule']}</td>
<td>{$discount['code']}</td>
<td>{$discount['name']}</td>
<td align="center"><img src="../img/admin/{if $discount['active']}enabled.gif{else}disabled.gif{/if}" alt="{l s='Status'}" title="{l s='Status'}" /></td>
<td align="center">
<a href="?tab=AdminCartRules&id_cart_rule={$discount['id_cart_rule']}&addcart_rule&token={getAdminToken tab='AdminCartRules'}"><img src="../img/admin/edit.gif" /></a>
<a href="?tab=AdminCartRules&id_cart_rule={$discount['id_cart_rule']}&deletecart_rule&token={getAdminToken tab='AdminCartRules'}"><img src="../img/admin/delete.gif" /></a>
</td>
</tr>
{/foreach}
</table>
{else}
{l s='%1$s %2$s has no discount vouchers' sprintf=[$customer->firstname, $customer->lastname]}.
{/if}
</div>
{if count($connections)}
<div class="panel">
<div class="panel-heading">
<i class="icon-time"></i> {l s='Last connections'}
</div>
<table class="table">
<thead>
<tr>
<th>{l s='Date'}</th>
<th>{l s='Pages viewed'}</th>
<th>{l s='Total time'}</th>
<th>{l s='Origin'}</th>
<th>{l s='IP Address'}</th>
</tr>
</thead>
<tbody>
{foreach $connections as $connection}
</div>
{* display hook specified to this page : AdminCustomers *}
<div>{hook h="displayAdminCustomers" id_customer=$customer->id}</div>
<div class="clear">&nbsp;</div>
<div style="width:50%;float:left;">
<h2>{l s='Orders'} ({count($orders)})</h2>
{if $orders AND count($orders)}
{assign var=count_ok value=count($orders_ok)}
{if $count_ok}
<div>
<h3 style="color:green;font-weight:700;clear:both;">
{l s='Valid orders:'} {$count_ok} {l s='for'} {$total_ok}
</h3>
<table cellspacing="0" cellpadding="0" class="table" style="width:100%; text-align:left;">
<colgroup>
<col width="10px">
<col width="100px">
<col width="100px">
<col width="">
<col width="50px">
<col width="80px">
<col width="70px">
</colgroup>
<tr>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$connection['pages']}</td>
<td>{$connection['time']}</td>
<td>{$connection['http_referer']}</td>
<td>{$connection['ipaddress']}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
<div class="panel">
<div class="panel-heading">
<i class="icon-group"></i> {l s='Groups'} <span class="badge">{count($groups)}</span>
</div>
{if $groups AND count($groups)}
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Name'}</th>
<th height="39px" class="center">{l s='ID'}</th>
<th class="left">{l s='Date'}</th>
<th class="left">{l s='Payment: '}</th>
<th class="left">{l s='State'}</th>
<th class="right">{l s='Products'}</th>
<th class="right">{l s='Total spent'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $groups AS $key => $group}
<tr onclick="document.location = '?tab=AdminGroups&id_group={$group['id_group']}&viewgroup&token={getAdminToken tab='AdminGroups'}'">
<td>{$group['id_group']}</td>
<td>{$group['name']}</td>
<td class="center">
<a class="btn btn-default" href="?tab=AdminGroups&id_group={$group['id_group']}&viewgroup&token={getAdminToken tab='AdminGroups'}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{foreach $orders_ok AS $key => $order}
<tr {if $key %2}class="alt_row"{/if} style="cursor: pointer" onclick="document.location = '?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td class="left">{$order['id_order']}</td>
<td class="left">{$order['date_add']}</td>
<td class="left">{$order['payment']}</td>
<td class="left">{$order['order_state']}</td>
<td align="right">{$order['nb_products']}</td>
<td align="right">{$order['total_paid_real']}</td>
<td align="center"><a href="?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}"><img src="../img/admin/details.gif" /></a></td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
<a class="btn btn-default" href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
</div>
</div>
{*todo add next elements*}
{if count($interested)}
<div class="panel">
<div class="panel-heading">
<i class="icon-archive"></i> {l s='Products:'} <span class="badge">{count($interested)}</span>
</div>
<table class="table">
<thead>
<tr>
<th>{l s='ID'}</th>
<th>{l s='Name'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
</thead>
<tbody>
{foreach $interested as $key => $p}
<tr onclick="document.location = '{$p['url']}'">
<td>{$p['id']}</td>
<td>{$p['name']}</td>
<td align="center">
<a class="btn btn-default" href="{$p['url']}">
<i class='icon-eye-open'></i> {l s='View'}
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
{if count($referrers)}
<div class="panel">
<div class="panel-heading">
<i class="icon-share-alt"></i> {l s='Referrers'}
</div>
<table class="table">
<thead>
<tr>
<th>{l s='Date'}</th>
<th>{l s='Name'}</th>
{if $shop_is_feature_active}<th>{l s='Shop'}</th>{/if}
</tr>
</thead>
<tbody>
{foreach $referrers as $referrer}
<tr>
<td>{dateFormat date=$order['date_add'] full=0}</td>
<td>{$referrer['name']}</td>
{if $shop_is_feature_active}<td>{$referrer['shop_name']}</td>{/if}
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
{* display hook specified to this page : AdminCustomers *}
{hook h="displayAdminCustomers" id_customer=$customer->id}
<div class="col-lg-12">
<div class="panel">
<div class="panel-heading">
<i class="icon-map-marker"></i> {l s='Addresses'} <span class="badge">{count($addresses)}</span>
</table>
</div>
{if count($addresses)}
<table class="table">
<thead>
<tr>
<th>{l s='Company'}</th>
<th>{l s='Name'}</th>
<th>{l s='Address'}</th>
<th>{l s='Country'}</th>
<th>{l s='Phone number(s)'}</th>
<th class="center">{l s='Actions'}</th>
{/if}
{assign var=count_ko value=count($orders_ko)}
{if $count_ko}
<div>
<table cellspacing="0" cellpadding="0" class="table" style="width:100%;">
<colgroup>
<col width="10px">
<col width="100px">
<col width="">
<col width="">
<col width="100px">
<col width="100px">
<col width="52px">
</colgroup>
<tr>
<th height="39px" class="left">{l s='ID'}</th>
<th class="left">{l s='Date'}</th>
<th class="left">{l s='Payment: '}</th>
<th class="left">{l s='State'}</th>
<th class="right">{l s='Products'}</th>
<th class="right">{l s='Total spent'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
{foreach $orders_ko AS $key => $order}
<tr {if $key %2}class="alt_row"{/if} style="cursor: pointer" onclick="document.location = '?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td class="left">{$order['id_order']}</td>
<td class="left">{$order['date_add']}</td>
<td class="left">{$order['payment']}</td>
<td class="left">{$order['order_state']}</td>
<td align="right">{$order['nb_products']}</td>
<td align="right">{$order['total_paid_real']}</td>
<td align="center"><a href="?tab=AdminOrders&id_order={$order['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}"><img src="../img/admin/details.gif" /></a></td>
</tr>
</thead>
<tbody>
{foreach $addresses AS $key => $address}
<tr>
<td>{if $address['company']}{$address['company']}{else}--{/if}</td>
<td>{$address['firstname']} {$address['lastname']}</td>
<td>{$address['address1']} {if $address['address2']}{$address['address2']}{/if} {$address['postcode']} {$address['city']}</td>
<td>{$address['country']}</td>
<td>
{if $address['phone']}
{$address['phone']}
{if $address['phone_mobile']}<br />{$address['phone_mobile']}{/if}
{else}
{if $address['phone_mobile']}<br />{$address['phone_mobile']}{else}--{/if}
{/if}
</td>
<td>
<div class="btn-group">
<a class="btn btn-default" data-toggle="dropdown" href="?tab=AdminAddresses&id_address={$address['id_address']}&addaddress&token={getAdminToken tab='AdminAddresses'}">
<i class="icon-edit"></i> {l s='Edit'}
</a>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="?tab=AdminAddresses&id_address={$address['id_address']}&deleteaddress&token={getAdminToken tab='AdminAddresses'}">
<i class="icon-trash"></i> {l s='Delete'}
</a></li>
</ul>
</div>
</td>
{/foreach}
</table>
<h3 style="color:red;font-weight:normal;">{l s='Invalid orders:'} {$count_ko}</h3>
</div>
{/if}
{else}
{l s='%1$s %2$s has not placed any orders yet' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div style="float:left;width:50%">
<div style="margin-left:15px;">
<h2>{l s='Carts'} ({count($carts)})</h2>
{if $carts AND count($carts)}
<table cellspacing="0" cellpadding="0" class="table" style="width:100%">
<colgroup>
<col width="50px">
<col width="150px">
<col width="">
<col width="70px">
<col width="50px">
</colgroup>
<tr>
<th height="39px" class="left">{l s='ID'}</th>
<th class="left">{l s='Date'}</th>
<th class="left">{l s='Carrier'}</th>
<th class="right">{l s='Total'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
{foreach $carts AS $key => $cart}
<tr {if $key %2}class="alt_row"{/if} style="cursor: pointer" onclick="document.location = '?tab=AdminCarts&id_cart={$cart['id_cart']}&viewcart&token={getAdminToken tab='AdminCarts'}'">
<td class="left">{$cart['id_cart']}</td>
<td class="left">{$cart['date_add']}</td>
<td class="left">{$cart['name']}</td>
<td align="right">{$cart['total_price']}</td>
<td align="center"><a href="index.php?tab=AdminCarts&id_cart={$cart['id_cart']}&viewcart&token={getAdminToken tab='AdminCarts'}"><img src="../img/admin/details.gif" /></a></td>
</tr>
{/foreach}
</tbody>
{/foreach}
</table>
{else}
{l s='%1$s %2$s has not registered any addresses yet' sprintf=[$customer->firstname, $customer->lastname]}
{l s='No cart is available'}.
{/if}
</div>
</div>
</div>
{/block}
<div class="clear">&nbsp;</div>
{if $products AND count($products)}
<div class="clear">&nbsp;</div>
<h2>{l s='Products:'} ({count($products)})</h2>
<table cellspacing="0" cellpadding="0" class="table" style="width:100%;">
<colgroup>
<col width="50px">
<col width="">
<col width="60px">
<col width="70px">
</colgroup>
<tr>
<th height="39px" class="center">{l s='Date'}</th>
<th class="center">{l s='Name'}</th>
<th class="center">{l s='Quantity'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
{foreach $products AS $key => $product}
<tr {if $key %2}class="alt_row"{/if} style="cursor: pointer" onclick="document.location = '?tab=AdminOrders&id_order={$product['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}'">
<td>{$product['date_add']}</td>
<td>{$product['product_name']}</td>
<td align="right">{$product['product_quantity']}</td>
<td align="center"><a href="?tab=AdminOrders&id_order={$product['id_order']}&vieworder&token={getAdminToken tab='AdminOrders'}"><img src="../img/admin/details.gif" /></a></td>
</tr>
{/foreach}
</table>
{/if}
<div class="clear">&nbsp;</div>
<div style="float:left;width:50%">
<h2>{l s='Addresses'} ({count($addresses)})</h2>
{if count($addresses)}
<table cellspacing="0" cellpadding="0" class="table" style="width:100%;">
<colgroup>
<col width="120px">
<col width="120px">
<col width="">
<col width="100px">
<col width="170px">
<col width="70px">
</colgroup>
<tr>
<th class="left" height="39px">{l s='Company'}</th>
<th class="left">{l s='Name'}</th>
<th class="left">{l s='Address'}</th>
<th class="left">{l s='Country'}</th>
<th class="right">{l s='Phone number(s)'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
{foreach $addresses AS $key => $address}
<tr {if $key %2}class="alt_row"{/if}>
<td class="left">{if $address['company']}{$address['company']}{else}--{/if}</td>
<td class="left">{$address['firstname']} {$address['lastname']}</td>
<td class="left">{$address['address1']} {if $address['address2']}{$address['address2']}{/if} {$address['postcode']} {$address['city']}</td>
<td class="left">{$address['country']}</td>
<td class="right">
{if $address['phone']}
{$address['phone']}
{if $address['phone_mobile']}<br />{$address['phone_mobile']}{/if}
{else}
{if $address['phone_mobile']}<br />{$address['phone_mobile']}{else}--{/if}
{/if}
</td>
<td class="center">
<a href="?tab=AdminAddresses&id_address={$address['id_address']}&addaddress&token={getAdminToken tab='AdminAddresses'}"><img src="../img/admin/edit.gif" /></a>
<a href="?tab=AdminAddresses&id_address={$address['id_address']}&deleteaddress&token={getAdminToken tab='AdminAddresses'}"><img src="../img/admin/delete.gif" /></a>
</td>
</tr>
{/foreach}
</table>
{else}
{l s='%1$s %2$s has not registered any addresses yet' sprintf=[$customer->firstname, $customer->lastname]}
{/if}
</div>
<div style="float:left;width:50%">
<div style="margin-left:15px">
<h2>
{l s='Groups'} ({count($groups)})
<a href="{$current}&updatecustomer&id_customer={$customer->id}&token={$token}">
<img src="../img/admin/edit.gif" />
</a>
</h2>
{if $groups AND count($groups)}
<table cellspacing="0" cellpadding="0" class="table" style="width:100%;">
<colgroup>
<col width="10px">
<col width="">
<col width="70px">
</colgroup>
<tr>
<th height="39px" class="left">{l s='ID'}</th>
<th class="left">{l s='Name'}</th>
<th class="center">{l s='Actions'}</th>
</tr>
{foreach $groups AS $key => $group}
<tr {if $key %2}class="alt_row"{/if} style="cursor: pointer" onclick="document.location = '?tab=AdminGroups&id_group={$group['id_group']}&viewgroup&token={getAdminToken tab='AdminGroups'}'">
<td class="left">{$group['id_group']}</td>
<td class="left">{$group['name']}</td>
<td class="center"><a href="?tab=AdminGroups&id_group={$group['id_group']}&viewgroup&token={getAdminToken tab='AdminGroups'}"><img src="../img/admin/details.gif" /></a></td>
</tr>
{/foreach}
</table>
{/if}
</div>
</div>
<div class="clear">&nbsp;</div>
{if count($interested)}
<div>
<h2>{l s='Products:'} ({count($interested)})</h2>
<table cellspacing="0" cellpadding="0" class="table" style="width:100%;">
<colgroup>
<col width="10px">
<col width="">
<col width="50px">
</colgroup>
{foreach $interested as $key => $p}
<tr {if $key %2}class="alt_row"{/if} style="cursor: pointer" onclick="document.location = '{$p['url']}'">
<td>{$p['id']}</td>
<td>{$p['name']}</td>
<td align="center"><a href="{$p['url']}"><img src="../img/admin/details.gif" /></a></td>
</tr>
{/foreach}
</table>
</div>
{/if}
<div class="clear">&nbsp;</div>
<div style="float:left;width:50%">
{* Last connections *}
{if count($connections)}
<h2>{l s='Last connections'}</h2>
<table cellspacing="0" cellpadding="0" class="table" style="width:100%;">
<colgroup>
<col width="150px">
<col width="100px">
<col width="100px">
<col width="">
<col width="150px">
</colgroup>
<tr>
<th class="left" height="39px;">{l s='Date'}</th>
<th class="left">{l s='Pages viewed'}</th>
<th class="left">{l s='Total time'}</th>
<th class="left">{l s='Origin'}</th>
<th class="left">{l s='IP Address'}</th>
</tr>
{foreach $connections as $connection}
<tr>
<td class="left">{$connection['date_add']}</td>
<td class="left">{$connection['pages']}</td>
<td class="left">{$connection['time']}</td>
<td class="left">{$connection['http_referer']}</td>
<td class="left">{$connection['ipaddress']}</td>
</tr>
{/foreach}
</table>
<div class="clear">&nbsp;</div>
{/if}
</div>
<div style="float:left;width:50%">
<div style="margin-left:15px">
{if count($referrers)}
<h2>{l s='Referrers'}</h2>
<table cellspacing="0" cellpadding="0" class="table" style="width:100%">
<tr>
<th class="left">{l s='Date'}</th>
<th class="left">{l s='Name'}</th>
{if $shop_is_feature_active}<th class="left">{l s='Shop'}</th>{/if}
</tr>
{foreach $referrers as $referrer}
<tr>
<td class="left">{$referrer['date_add']}</td>
<td class="left">{$referrer['name']}</td>
{if $shop_is_feature_active}<td class="left">{$referrer['shop_name']}</td>{/if}
</tr>
{/foreach}
</table>
{/if}
</div>
</div>
{/block}
</div>
<div class="clear">&nbsp;</div>

View File

@@ -1,417 +0,0 @@
<div class="page-head">
<h2 class="page-title">
{l s='Dashboard'}
</h2>
</div>
<div id="dashboard">
<div class="row">
<div class="col-lg-3">
<div id="dash_activity" class="panel">
<div class="panel-heading">
<i class="icon-time"></i> {l s='Recent Activity'}
<span class="panel-heading-action">
<a class="list-tooolbar-btn" href="javascript:void(0);" title="configure">
<i class="process-icon-configure"></i>
</a>
<a class="list-tooolbar-btn" href="javascript:location.reload();" title="refresh">
<i class="process-icon-refresh"></i>
</a>
</span>
</div>
<section id="dash_orders">
<ul class="data_list_large">
<li>
<span class="data_label size_l">
{l s='Orders'}<br/>
<small class="text-muted">{l s='Within the last seven days'}</small>
</span>
<span class="data_value size_xxl">
365<br/>
<small class="dash_trend dash_trend_up"><i class="icon-circle-arrow-up"></i> 0.66%</small>
</span>
</li>
</ul>
</section>
<section id="dash_pending">
<header><i class="icon-time"></i> {l s='Pending'}</header>
<ul class="data_list">
<li>
<span class="data_label">{l s='Pending Orders'}</span>
<span class="data_value size_l">120</span>
</li>
<li>
<span class="data_label">{l s='Return/Exchanges'}</span>
<span class="data_value size_l">35</span>
</li>
<li>
<span class="data_label">{l s='Abandonned Carts'}</span>
<span class="data_value size_l">12</span>
</li>
<li>
<span class="data_label">{l s='Products Out of Stock'}</span>
<span class="data_value size_l">4</span>
</li>
</ul>
</section>
<section id="dash_notifications">
<header><i class="icon-exclamation-sign"></i> {l s='Notification'}</header>
<ul class="data_list_vertical">
<li>
<span class="data_label">{l s='New Messages'}</span>
<span class="data_value size_l">42</span>
</li>
<li>
<span class="data_label">{l s='Order Inquires'}</span>
<span class="data_value size_l">13</span>
</li>
<li>
<span class="data_label">{l s='Product Reviews'}</span>
<span class="data_value size_l">56</span>
</li>
</ul>
</section>
<section id="dash_customers">
<header><i class="icon-user"></i> {l s='Customers'}</header>
<ul class="data_list">
<li>
<span class="data_label">{l s='New Customers'}</span>
<span class="data_value size_md">42</span>
</li>
<li>
<span class="data_label">{l s='Online Visitor'}</span>
<span class="data_value size_md">200</span>
</li>
<li>
<span class="data_label">
{l s='Active Shopping Carts'}
<small class="text-muted"><br/>
{l s='In the last 30 minutes'}
</small>
</span>
<span class="data_value size_md">36</span>
</li>
</ul>
</section>
<section id="dash_newsletter">
<header><i class="icon-envelope"></i> {l s='Newsletter'}</header>
<ul class="data_list">
<li>
<span class="data_label">{l s='New Registrations'}</span>
<span class="data_value size_md">125</span>
</li>
<li>
<span class="data_label">{l s='Total Subscribers'}</span>
<span class="data_value size_md">13,500</span>
</li>
</ul>
</section>
<section id="dash_traffic">
<header><i class="icon-globe"></i> {l s='Traffic'}</header>
<ul class="data_list">
<li>
<span class="data_label">{l s='Visits'}</span>
<span class="data_value size_md">10,000</span>
</li>
<li>
<span class="data_label">{l s='Unique Visitors'}</span>
<span class="data_value size_md">3,500</span>
</li>
<li>
<span class="data_label">{l s='Traffic Sources'}</span>
<ul class="data_list_small">
<li>
<span class="data_label">{l s='Direct Link'}</span>
<span class="data_value size_s">120</span>
</li>
<li>
<span class="data_label">google.com</span>
<span class="data_value size_s">75</span>
</li>
<li>
<span class="data_label">facebook.com</span>
<span class="data_value size_s">32</span>
</li>
</ul>
<div id="dash_traffic_chart2" class='chart with-transitions'>
<svg></svg>
</div>
</li>
</ul>
</section>
</div>
</div>
<div class="col-lg-7">
<section id="dash_trends" class="panel">
<header class="panel-heading">
<i class="icon-bar-chart"></i> {l s='Score Trends'}
<span class="panel-heading-action">
<a class="list-tooolbar-btn" href="javascript:void(0);" title="configure">
<i class="process-icon-configure"></i>
</a>
<a class="list-tooolbar-btn" href="javascript:location.reload();" title="refresh">
<i class="process-icon-refresh"></i>
</a>
</span>
</header>
<div id="dash_trends_toolbar" class="row">
<dl class="col-xs-4 col-lg-2 active">
<dt>{l s='Sales'}</dt>
<dd class="size_l">$150,365</dd>
<dd class="dash_trend dash_trend_up"><i class="icon-circle-arrow-up"></i> 0.66%</dd>
</dl>
<dl class="col-xs-4 col-lg-2">
<dt>{l s='Orders'}</dt>
<dd class="size_l">20,432</dd>
<dd class="dash_trend dash_trend_down"><i class="icon-circle-arrow-down"></i> 0.66%</dd>
</dl>
<dl class="col-xs-4 col-lg-2">
<dt>{l s='Cart Value'}</dt>
<dd class="size_l">$125</dd>
<dd class="dash_trend dash_trend_up"><i class="icon-circle-arrow-up"></i> 0.66%</dd>
</dl>
<dl class="col-xs-4 col-lg-2">
<dt>{l s='Visits'}</dt>
<dd class="size_l">1,200</dd>
<dd class="dash_trend dash_trend_down"><i class="icon-circle-arrow-down"></i> 0.66%</dd>
</dl>
<dl class="col-xs-4 col-lg-2">
<dt>{l s='Converstion Rate'}</dt>
<dd class="size_l">23%</dd>
<dd class="dash_trend dash_trend_up"><i class="icon-circle-arrow-up"></i> 0.66%</dd>
</dl>
<dl class="col-xs-4 col-lg-2">
<dt>{l s='Net Profits'}</dt>
<dd class="size_l">$23,568</dd>
<dd class="dash_trend dash_trend_up"><i class="icon-circle-arrow-up"></i> 0.66%</dd>
</dl>
</div>
<div id="dash_trends_chart1" class='chart with-transitions'>
<svg></svg>
</div>
</section>
<section id="dash_products" class="panel">
<header class="panel-heading">
<i class="icon-bar-chart"></i> {l s='Product and Sales'}
<span class="panel-heading-action">
<a class="list-tooolbar-btn" href="javascript:void(0);" title="configure">
<i class="process-icon-configure"></i>
</a>
<a class="list-tooolbar-btn" href="javascript:location.reload();" title="refresh">
<i class="process-icon-refresh"></i>
</a>
</span>
</header>
<nav>
<ul class="nav">
<li><a href="#dash_recent_orders" data-toggle="tab">
<i class="icon-fire"></i> {l s='Recent Orders'}</a>
</li>
<li><a href="#dash_best_sellers" data-toggle="tab">
<i class="icon-trophy"></i> {l s='Best Sellers'}</a></li>
<li><a href="#dash_most_viewed" data-toggle="tab">
<i class="icon-eye-open"></i> {l s='Most Viewed'}</a></li>
<li><a href="#dash_top_search" data-toggle="tab">
<i class="icon-search"></i> {l s='Top Search'}</a></li>
<li><a href="#dash_best_sales" data-toggle="tab">
<i class="icon-thumbs-up"></i> {l s='Best Sales'}</a></li>
</ul>
</nav>
<h4 >Last 10 orders: Overall | Pending</h4>
<table class="table">
<thead>
<tr>
<th>Customer</th>
<th class="text-center">Products</th>
<th class="text-center">Total</th>
<th>Date</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td class=""><a href="javascript:void(0);">John Smith</a></td>
<td class="text-center"><strong>10</strong></td>
<td class="text-center"><span class="label label-success">$1200</span></td>
<td>July 8th, 2013 // 10:42 am</td>
<td><i class="icon-time"></i> Today</td>
</tr>
<tr>
<td class=""><a href="javascript:void(0);">John Smith</a></td>
<td class="text-center"><strong>10</strong></td>
<td class="text-center"><span class="label label-success">$1200</span></td>
<td>July 8th, 2013 // 10:42 am</td>
<td><i class="icon-time"></i> Today</td>
</tr>
<tr>
<td class=""><a href="javascript:void(0);">John Smith</a></td>
<td class="text-center"><strong>10</strong></td>
<td class="text-center"><span class="label label-success">$1200</span></td>
<td>July 8th, 2013 // 10:42 am</td>
<td><i class="icon-time"></i> Today</td>
</tr>
<tr>
<td class=""><a href="javascript:void(0);">John Smith</a></td>
<td class="text-center"><strong>10</strong></td>
<td class="text-center"><span class="label label-success">$1200</span></td>
<td>July 8th, 2013 // 10:42 am</td>
<td><i class="icon-time"></i> Today</td>
</tr>
<tr>
<td class=""><a href="javascript:void(0);">John Smith</a></td>
<td class="text-center"><strong>10</strong></td>
<td class="text-center"><span class="label label-success">$1200</span></td>
<td>July 8th, 2013 // 10:42 am</td>
<td><i class="icon-time"></i> Today</td>
</tr>
<tr>
<td class=""><a href="javascript:void(0);">John Smith</a></td>
<td class="text-center"><strong>10</strong></td>
<td class="text-center"><span class="label label-success">$1200</span></td>
<td>July 8th, 2013 // 10:42 am</td>
<td><i class="icon-time"></i> Today</td>
</tr>
<tr>
<td class=""><a href="javascript:void(0);">John Smith</a></td>
<td class="text-center"><strong>10</strong></td>
<td class="text-center"><span class="label label-success">$1200</span></td>
<td>July 8th, 2013 // 10:42 am</td>
<td><i class="icon-time"></i> Today</td>
</tr>
<tr>
<td class=""><a href="javascript:void(0);">John Smith</a></td>
<td class="text-center"><strong>10</strong></td>
<td class="text-center"><span class="label label-success">$1200</span></td>
<td>July 8th, 2013 // 10:42 am</td>
<td><i class="icon-time"></i> Today</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="col-lg-2">
<section class="dash_news panel">
<h4><i class="icon-rss"></i> PrestaShop News</h4>
<article>
<strong>Important it is to focus marketing efforts.</strong><br/>
Lets go over how to use newsletters to increase traffic to your online store and well review the benefits, what to include and how to get subscribers.
</article>
<br/>
<article>
<strong>Important it is to focus marketing efforts.</strong><br/>
Lets go over how to use newsletters to increase traffic to your online store and well review the benefits, what to include and how to get subscribers.
</article>
<br/>
<article>
<strong>Important it is to focus marketing efforts.</strong><br/>
Lets go over how to use newsletters to increase traffic to your online store and well review the benefits, what to include and how to get subscribers.
</article>
</section>
<section class="dash_links panel">
<h4><i class="icon-link"></i> Useful Links</h4>
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</section>
</div>
</div>
</div>
<script type="text/javascript">
nv.addGraph(function() {
var chart = nv.models.lineChart()
.useInteractiveGuideline(true)
.x(function(d) { return d[0] })
.y(function(d) { return d[1]/100 })
.color(d3.scale.category10().range());
chart.xAxis
.tickFormat(function(d) {
return d3.time.format('%m/%d/%y')(new Date(d))
});
chart.yAxis
.tickFormat(d3.format(',.1%'));
d3.select('#dash_trends_chart1 svg')
.datum(cumulativeTestData())
.call(chart);
//TODO: Figure out a good way to do this automatically
nv.utils.windowResize(chart.update);
chart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });
return chart;
});
function cumulativeTestData() {
return [
{
key: "Sales",
values: [ [ 1083297600000 , -2.974623048543] , [ 1085976000000 , -1.7740300785979] , [ 1088568000000 , 4.4681318138177] , [ 1091246400000 , 7.0242541001353] , [ 1093924800000 , 7.5709603667586] , [ 1096516800000 , 20.612245065736] , [ 1099195200000 , 21.698065237316] , [ 1101790800000 , 40.501189458018] , [ 1104469200000 , 50.464679413194] , [ 1107147600000 , 48.917421973355] , [ 1109566800000 , 63.750936549160] , [ 1112245200000 , 59.072499126460] , [ 1114833600000 , 43.373158880492] , [ 1117512000000 , 54.490918947556] , [ 1120104000000 , 56.661178852079] , [ 1122782400000 , 73.450103545496] , [ 1125460800000 , 71.714526354907] , [ 1128052800000 , 85.221664349607] , [ 1130734800000 , 77.769261392481] , [ 1133326800000 , 95.966528716500] , [ 1136005200000 , 107.59132116397] , [ 1138683600000 , 127.25740096723] , [ 1141102800000 , 122.13917498830] , [ 1143781200000 , 126.53657279774] , [ 1146369600000 , 132.39300992970] , [ 1149048000000 , 120.11238242904] , [ 1151640000000 , 118.41408917750] , [ 1154318400000 , 107.92918924621] , [ 1156996800000 , 110.28057249569] , [ 1159588800000 , 117.20485334692] , [ 1162270800000 , 141.33556756948] , [ 1164862800000 , 159.59452727893] , [ 1167541200000 , 167.09801853304] , [ 1170219600000 , 185.46849659215] , [ 1172638800000 , 184.82474099990] , [ 1175313600000 , 195.63155213887] , [ 1177905600000 , 207.40597044171] , [ 1180584000000 , 230.55966698196] , [ 1183176000000 , 239.55649035292] , [ 1185854400000 , 241.35915085208] , [ 1188532800000 , 239.89428956243] , [ 1191124800000 , 260.47781917715] , [ 1193803200000 , 276.39457482225] , [ 1196398800000 , 258.66530682672] , [ 1199077200000 , 250.98846121893] , [ 1201755600000 , 226.89902618127] , [ 1204261200000 , 227.29009273807] , [ 1206936000000 , 218.66476654350] , [ 1209528000000 , 232.46605902918] , [ 1212206400000 , 253.25667081117] , [ 1214798400000 , 235.82505363925] , [ 1217476800000 , 229.70112774254] , [ 1220155200000 , 225.18472705952] , [ 1222747200000 , 189.13661746552] , [ 1225425600000 , 149.46533007301] , [ 1228021200000 , 131.00340772114] , [ 1230699600000 , 135.18341728866] , [ 1233378000000 , 109.15296887173] , [ 1235797200000 , 84.614772549760] , [ 1238472000000 , 100.60810015326] , [ 1241064000000 , 141.50134895610] , [ 1243742400000 , 142.50405083675] , [ 1246334400000 , 139.81192372672] , [ 1249012800000 , 177.78205544583] , [ 1251691200000 , 194.73691933074] , [ 1254283200000 , 209.00838460225] , [ 1256961600000 , 198.19855877420] , [ 1259557200000 , 222.37102417812] , [ 1262235600000 , 234.24581081250] , [ 1264914000000 , 228.26087689346] , [ 1267333200000 , 248.81895126250] , [ 1270008000000 , 270.57301075186] , [ 1272600000000 , 292.64604322550] , [ 1275278400000 , 265.94088520518] , [ 1277870400000 , 237.82887467569] , [ 1280548800000 , 265.55973314204] , [ 1283227200000 , 248.30877330928] , [ 1285819200000 , 278.14870066912] , [ 1288497600000 , 292.69260960288] , [ 1291093200000 , 300.84263809599] , [ 1293771600000 , 326.17253914628] , [ 1296450000000 , 337.69335966505] , [ 1298869200000 , 339.73260965121] , [ 1301544000000 , 346.87865120765] , [ 1304136000000 , 347.92991526628] , [ 1306814400000 , 342.04627502669] , [ 1309406400000 , 333.45386231233] , [ 1312084800000 , 323.15034181243] , [ 1314763200000 , 295.66126882331] , [ 1317355200000 , 251.48014579253] , [ 1320033600000 , 295.15424257905] , [ 1322629200000 , 294.54766764397] , [ 1325307600000 , 295.72906119051] , [ 1327986000000 , 325.73351347613] , [ 1330491600000 , 340.16106061186] , [ 1333166400000 , 345.15514071490] , [ 1335758400000 , 337.10259395679] , [ 1338436800000 , 318.68216333837] , [ 1341028800000 , 317.03683945246] , [ 1343707200000 , 318.53549659997] , [ 1346385600000 , 332.85381464104] , [ 1348977600000 , 337.36534373477] , [ 1351656000000 , 350.27872156161] , [ 1354251600000 , 349.45128876100]]
,
mean: 250
},
{
key: "Orders",
values: [ [ 1083297600000 , -0.77078283705125] , [ 1085976000000 , -1.8356366650335] , [ 1088568000000 , -5.3121322073127] , [ 1091246400000 , -4.9320975829662] , [ 1093924800000 , -3.9835408823225] , [ 1096516800000 , -6.8694685316805] , [ 1099195200000 , -8.4854877428545] , [ 1101790800000 , -15.933627197384] , [ 1104469200000 , -15.920980069544] , [ 1107147600000 , -12.478685045651] , [ 1109566800000 , -17.297761889305] , [ 1112245200000 , -15.247129891020] , [ 1114833600000 , -11.336459046839] , [ 1117512000000 , -13.298990907415] , [ 1120104000000 , -16.360027000056] , [ 1122782400000 , -18.527929522030] , [ 1125460800000 , -22.176516738685] , [ 1128052800000 , -23.309665368330] , [ 1130734800000 , -21.629973409748] , [ 1133326800000 , -24.186429093486] , [ 1136005200000 , -29.116707312531] , [ 1138683600000 , -37.188037874864] , [ 1141102800000 , -34.689264821198] , [ 1143781200000 , -39.505932105359] , [ 1146369600000 , -45.339572492759] , [ 1149048000000 , -43.849353192764] , [ 1151640000000 , -45.418353922571] , [ 1154318400000 , -44.579281059919] , [ 1156996800000 , -44.027098363370] , [ 1159588800000 , -41.261306759439] , [ 1162270800000 , -47.446018534027] , [ 1164862800000 , -53.413782948909] , [ 1167541200000 , -50.700723647419] , [ 1170219600000 , -56.374090913296] , [ 1172638800000 , -61.754245220322] , [ 1175313600000 , -66.246241587629] , [ 1177905600000 , -75.351650899999] , [ 1180584000000 , -81.699058262032] , [ 1183176000000 , -82.487023368081] , [ 1185854400000 , -86.230055113277] , [ 1188532800000 , -84.746914818507] , [ 1191124800000 , -100.77134971977] , [ 1193803200000 , -109.95435565947] , [ 1196398800000 , -99.605672965057] , [ 1199077200000 , -99.607249394382] , [ 1201755600000 , -94.874614950188] , [ 1204261200000 , -105.35899063105] , [ 1206936000000 , -106.01931193802] , [ 1209528000000 , -110.28883571771] , [ 1212206400000 , -119.60256203030] , [ 1214798400000 , -115.62201315802] , [ 1217476800000 , -106.63824185202] , [ 1220155200000 , -99.848746318951] , [ 1222747200000 , -85.631219602987] , [ 1225425600000 , -63.547909262067] , [ 1228021200000 , -59.753275364457] , [ 1230699600000 , -63.874977883542] , [ 1233378000000 , -56.865697387488] , [ 1235797200000 , -54.285579501988] , [ 1238472000000 , -56.474659581885] , [ 1241064000000 , -63.847137745644] , [ 1243742400000 , -68.754247867325] , [ 1246334400000 , -69.474257009155] , [ 1249012800000 , -75.084828197067] , [ 1251691200000 , -77.101028237237] , [ 1254283200000 , -80.454866854387] , [ 1256961600000 , -78.984349952220] , [ 1259557200000 , -83.041230807854] , [ 1262235600000 , -84.529748348935] , [ 1264914000000 , -83.837470195508] , [ 1267333200000 , -87.174487671969] , [ 1270008000000 , -90.342293007487] , [ 1272600000000 , -93.550928464991] , [ 1275278400000 , -85.833102140765] , [ 1277870400000 , -79.326501831592] , [ 1280548800000 , -87.986196903537] , [ 1283227200000 , -85.397862121771] , [ 1285819200000 , -94.738167050020] , [ 1288497600000 , -98.661952897151] , [ 1291093200000 , -99.609665952708] , [ 1293771600000 , -103.57099836183] , [ 1296450000000 , -104.04353411322] , [ 1298869200000 , -108.21382792587] , [ 1301544000000 , -108.74006900920] , [ 1304136000000 , -112.07766650960] , [ 1306814400000 , -109.63328199118] , [ 1309406400000 , -106.53578966772] , [ 1312084800000 , -103.16480871469] , [ 1314763200000 , -95.945078001828] , [ 1317355200000 , -81.226687340874] , [ 1320033600000 , -90.782206596168] , [ 1322629200000 , -89.484445370113] , [ 1325307600000 , -88.514723135326] , [ 1327986000000 , -93.381292724320] , [ 1330491600000 , -97.529705609172] , [ 1333166400000 , -99.520481439189] , [ 1335758400000 , -99.430184898669] , [ 1338436800000 , -93.349934521973] , [ 1341028800000 , -95.858475286491] , [ 1343707200000 , -95.522755836605] , [ 1346385600000 , -98.503848862036] , [ 1348977600000 , -101.49415251896] , [ 1351656000000 , -101.50099325672] , [ 1354251600000 , -99.487094927489]]
,
mean: -60
},
{
key: "Cart Value",
mean: 125,
values: [ [ 1083297600000 , -3.7454058855943] , [ 1085976000000 , -3.6096667436314] , [ 1088568000000 , -0.8440003934950] , [ 1091246400000 , 2.0921565171691] , [ 1093924800000 , 3.5874194844361] , [ 1096516800000 , 13.742776534056] , [ 1099195200000 , 13.212577494462] , [ 1101790800000 , 24.567562260634] , [ 1104469200000 , 34.543699343650] , [ 1107147600000 , 36.438736927704] , [ 1109566800000 , 46.453174659855] , [ 1112245200000 , 43.825369235440] , [ 1114833600000 , 32.036699833653] , [ 1117512000000 , 41.191928040141] , [ 1120104000000 , 40.301151852023] , [ 1122782400000 , 54.922174023466] , [ 1125460800000 , 49.538009616222] , [ 1128052800000 , 61.911998981277] , [ 1130734800000 , 56.139287982733] , [ 1133326800000 , 71.780099623014] , [ 1136005200000 , 78.474613851439] , [ 1138683600000 , 90.069363092366] , [ 1141102800000 , 87.449910167102] , [ 1143781200000 , 87.030640692381] , [ 1146369600000 , 87.053437436941] , [ 1149048000000 , 76.263029236276] , [ 1151640000000 , 72.995735254929] , [ 1154318400000 , 63.349908186291] , [ 1156996800000 , 66.253474132320] , [ 1159588800000 , 75.943546587481] , [ 1162270800000 , 93.889549035453] , [ 1164862800000 , 106.18074433002] , [ 1167541200000 , 116.39729488562] , [ 1170219600000 , 129.09440567885] , [ 1172638800000 , 123.07049577958] , [ 1175313600000 , 129.38531055124] , [ 1177905600000 , 132.05431954171] , [ 1180584000000 , 148.86060871993] , [ 1183176000000 , 157.06946698484] , [ 1185854400000 , 155.12909573880] , [ 1188532800000 , 155.14737474392] , [ 1191124800000 , 159.70646945738] , [ 1193803200000 , 166.44021916278] , [ 1196398800000 , 159.05963386166] , [ 1199077200000 , 151.38121182455] , [ 1201755600000 , 132.02441123108] , [ 1204261200000 , 121.93110210702] , [ 1206936000000 , 112.64545460548] , [ 1209528000000 , 122.17722331147] , [ 1212206400000 , 133.65410878087] , [ 1214798400000 , 120.20304048123] , [ 1217476800000 , 123.06288589052] , [ 1220155200000 , 125.33598074057] , [ 1222747200000 , 103.50539786253] , [ 1225425600000 , 85.917420810943] , [ 1228021200000 , 71.250132356683] , [ 1230699600000 , 71.308439405118] , [ 1233378000000 , 52.287271484242] , [ 1235797200000 , 30.329193047772] , [ 1238472000000 , 44.133440571375] , [ 1241064000000 , 77.654211210456] , [ 1243742400000 , 73.749802969425] , [ 1246334400000 , 70.337666717565] , [ 1249012800000 , 102.69722724876] , [ 1251691200000 , 117.63589109350] , [ 1254283200000 , 128.55351774786] , [ 1256961600000 , 119.21420882198] , [ 1259557200000 , 139.32979337027] , [ 1262235600000 , 149.71606246357] , [ 1264914000000 , 144.42340669795] , [ 1267333200000 , 161.64446359053] , [ 1270008000000 , 180.23071774437] , [ 1272600000000 , 199.09511476051] , [ 1275278400000 , 180.10778306442] , [ 1277870400000 , 158.50237284410] , [ 1280548800000 , 177.57353623850] , [ 1283227200000 , 162.91091118751] , [ 1285819200000 , 183.41053361910] , [ 1288497600000 , 194.03065670573] , [ 1291093200000 , 201.23297214328] , [ 1293771600000 , 222.60154078445] , [ 1296450000000 , 233.35556801977] , [ 1298869200000 , 231.22452435045] , [ 1301544000000 , 237.84432503045] , [ 1304136000000 , 235.55799131184] , [ 1306814400000 , 232.11873570751] , [ 1309406400000 , 226.62381538123] , [ 1312084800000 , 219.34811113539] , [ 1314763200000 , 198.69242285581] , [ 1317355200000 , 168.90235629066] , [ 1320033600000 , 202.64725756733] , [ 1322629200000 , 203.05389378105] , [ 1325307600000 , 204.85986680865] , [ 1327986000000 , 229.77085616585] , [ 1330491600000 , 239.65202435959] , [ 1333166400000 , 242.33012622734] , [ 1335758400000 , 234.11773262149] , [ 1338436800000 , 221.47846307887] , [ 1341028800000 , 216.98308827912] , [ 1343707200000 , 218.37781386755] , [ 1346385600000 , 229.39368622736] , [ 1348977600000 , 230.54656412916] , [ 1351656000000 , 243.06087025523] , [ 1354251600000 , 244.24733578385]]
},
{
key: "Visits",
values: [ [ 1083297600000 , -1.7798428181819] , [ 1085976000000 , -0.36883324836999] , [ 1088568000000 , 1.7312581046040] , [ 1091246400000 , -1.8356125950460] , [ 1093924800000 , -1.5396564170877] , [ 1096516800000 , -0.16867791409247] , [ 1099195200000 , 1.3754263993413] , [ 1101790800000 , 5.8171640898041] , [ 1104469200000 , 9.4350145241608] , [ 1107147600000 , 6.7649081510160] , [ 1109566800000 , 9.1568499314776] , [ 1112245200000 , 7.2485090994419] , [ 1114833600000 , 4.8762222306595] , [ 1117512000000 , 8.5992339354652] , [ 1120104000000 , 9.0896517982086] , [ 1122782400000 , 13.394644048577] , [ 1125460800000 , 12.311842010760] , [ 1128052800000 , 13.221003650717] , [ 1130734800000 , 11.218481009206] , [ 1133326800000 , 15.565352598445] , [ 1136005200000 , 15.623703865926] , [ 1138683600000 , 19.275255326383] , [ 1141102800000 , 19.432433717836] , [ 1143781200000 , 21.232881244655] , [ 1146369600000 , 22.798299192958] , [ 1149048000000 , 19.006125095476] , [ 1151640000000 , 19.151889158536] , [ 1154318400000 , 19.340022855452] , [ 1156996800000 , 22.027934841859] , [ 1159588800000 , 24.903300681329] , [ 1162270800000 , 29.146492833877] , [ 1164862800000 , 31.781626082589] , [ 1167541200000 , 33.358770738428] , [ 1170219600000 , 35.622684613497] , [ 1172638800000 , 33.332821711366] , [ 1175313600000 , 34.878748635832] , [ 1177905600000 , 40.582332613844] , [ 1180584000000 , 45.719535502920] , [ 1183176000000 , 43.239344722386] , [ 1185854400000 , 38.550955100342] , [ 1188532800000 , 40.585368816283] , [ 1191124800000 , 45.601374057981] , [ 1193803200000 , 48.051404337892] , [ 1196398800000 , 41.582581696032] , [ 1199077200000 , 40.650580792748] , [ 1201755600000 , 32.252222066493] , [ 1204261200000 , 28.106390258553] , [ 1206936000000 , 27.532698196687] , [ 1209528000000 , 33.986390463852] , [ 1212206400000 , 36.302660526438] , [ 1214798400000 , 25.015574480172] , [ 1217476800000 , 23.989494069029] , [ 1220155200000 , 25.934351445531] , [ 1222747200000 , 14.627592011699] , [ 1225425600000 , -5.2249403809749] , [ 1228021200000 , -12.330933408050] , [ 1230699600000 , -11.000291508188] , [ 1233378000000 , -18.563864948088] , [ 1235797200000 , -27.213097001687] , [ 1238472000000 , -20.834133840523] , [ 1241064000000 , -12.717886701719] , [ 1243742400000 , -8.1644613083526] , [ 1246334400000 , -7.9108408918201] , [ 1249012800000 , -0.77002391591209] , [ 1251691200000 , 2.8243816569672] , [ 1254283200000 , 6.8761411421070] , [ 1256961600000 , 4.5060912230294] , [ 1259557200000 , 10.487179794349] , [ 1262235600000 , 13.251375597594] , [ 1264914000000 , 9.2207594803415] , [ 1267333200000 , 12.836276936538] , [ 1270008000000 , 19.816793904978] , [ 1272600000000 , 22.156787167211] , [ 1275278400000 , 12.518039090576] , [ 1277870400000 , 6.4253587440854] , [ 1280548800000 , 13.847372028409] , [ 1283227200000 , 8.5454736090364] , [ 1285819200000 , 18.542801953304] , [ 1288497600000 , 23.037064683183] , [ 1291093200000 , 23.517422401888] , [ 1293771600000 , 31.804723416068] , [ 1296450000000 , 34.778247386072] , [ 1298869200000 , 39.584883855230] , [ 1301544000000 , 40.080647664875] , [ 1304136000000 , 44.180050667889] , [ 1306814400000 , 42.533535927221] , [ 1309406400000 , 40.105374449011] , [ 1312084800000 , 37.014659267156] , [ 1314763200000 , 29.263745084262] , [ 1317355200000 , 19.637463417584] , [ 1320033600000 , 33.157645345770] , [ 1322629200000 , 32.895053150988] , [ 1325307600000 , 34.111544824647] , [ 1327986000000 , 40.453985817473] , [ 1330491600000 , 46.435700783313] , [ 1333166400000 , 51.062385488671] , [ 1335758400000 , 50.130448220658] , [ 1338436800000 , 41.035476682018] , [ 1341028800000 , 46.591932296457] , [ 1343707200000 , 48.349391180634] , [ 1346385600000 , 51.913011286919] , [ 1348977600000 , 55.747238313752] , [ 1351656000000 , 52.991824077209] , [ 1354251600000 , 49.556311883284]]
}]}
</script>
<script>
var testdata = [
{
key: "Direct Link",
y: 5
},
{
key: "Google.com",
y: 2
},
{
key: "Facebook.com",
y: 9
}
];
nv.addGraph(function() {
var chart = nv.models.pieChart()
.x(function(d) { return d.key })
.y(function(d) { return d.y })
.color(d3.scale.category10().range())
.donut(true)
.showLabels(false)
.showLegend(false);
d3.select("#dash_traffic_chart2 svg")
.datum(testdata)
.transition().duration(1200)
.call(chart);
nv.utils.windowResize(chart.update);
chart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });
return chart;
});
</script>

View File

@@ -28,14 +28,16 @@
{block name="label"}
{if $input['type'] == 'modules'}
<div style="{if !$form_id}display:none{/if}">
<label class="control-label col-lg-3">{l s='Module restrictions:'}</label>
<div class="separation"></div>
<label>{l s='Module restrictions:'}</label>
</div>
{elseif $input['type'] == 'group_discount_category'}
<div style="{if !$form_id}display:none{/if}">
{$smarty.block.parent}
<div class="separation"></div>
<label>{$input.label} </label>
</div>
{else}
{$smarty.block.parent}
<label>{$input.label} </label>
{/if}
{/block}
@@ -46,11 +48,11 @@
<script type="text/javascript">
$(document).ready(function() {
$("#group_discount_category").fancybox({
onStart: function () {
beforeLoad: function () {
$('#group_discount_category_fancybox').show();
initFancyBox();
},
onClosed: function () {
beforeClose: function () {
$('#group_discount_category_fancybox').hide();
}
});
@@ -136,7 +138,7 @@
}
else
{
$('#group_discount_category_table').append('<tr class="alt_row" id="'+jsonData.id_category+'"><td>'+jsonData.catPath+'</td><td>{l s='Discount:'}'+jsonData.discount+'{l s='%'}</td><td><a href="#" onclick="deleteCategoryReduction('+jsonData.id_category+');"><img src="../img/admin/delete.gif"></a></td></tr>');
$('#group_discount_category_table').append('<tr class="alt_row" id="'+jsonData.id_category+'"><td>'+jsonData.catPath+'</td><td>{l s='Discount:'}' + ' ' + jsonData.discount+'{l s='%'}</td><td><a href="#" onclick="deleteCategoryReduction('+jsonData.id_category+');"><img src="../img/admin/delete.gif"></a></td></tr>');
var input_hidden = document.createElement("input");
input_hidden.setAttribute('type', 'hidden');
@@ -160,18 +162,15 @@
$('#category_reduction_fancybox').val('0.00');
}
</script>
<div class="col-lg-9">
<a class="btn btn-default" href="#group_discount_category_fancybox" id="group_discount_category">{l s='Add a category discount'}</a>
<table class="table" id="group_discount_category_table">
<div class="margin-form">
<a class="button" href="#group_discount_category_fancybox" id="group_discount_category">{l s='Add a category discount'}</a>
<table cellspacing="0" cellpadding="0" class="table" style="margin-top:10px" id="group_discount_category_table">
{foreach $input['values'] key=key item=category }
<tr class="alt_row" id="{$category.id_category}">
<td>{$category.path}</td>
<td>{l s='Discount: %d%%' sprintf=$category.reduction}</td>
<td>{l s='Discount: %.2f%%' sprintf=$category.reduction}</td>
<td>
<a href="#" onclick="deleteCategoryReduction({$category.id_category});">
<img src="../img/admin/delete.gif">
</a>
<a href="#" onclick="deleteCategoryReduction({$category.id_category});"><img src="../img/admin/delete.gif"></a>
<input type="hidden" class="category_reduction" name="category_reduction[{$category.id_category}]" value="{$category.reduction}">
</td>
</tr>
@@ -179,18 +178,17 @@
</table>
<div style="display:none" id="group_discount_category_fancybox">
<fieldset>
<h3><i class="icon-group"></i>{l s='New group category discount'}</h3>
<div class="hintGroup">
<fieldset style="text-align:left"><legend><img src="../img/admin/tab-groups.gif" />{l s='New group category discount'}</legend>
<div class="hintGroup" style="font-size: 13px;">
{l s='Caution: The discount applied to a category does not stack with the overall reduction but instead replaces it.'}
</div>
{$categoryTreeView}
<div class="alert alert-warning">{l s='Only products that have this category as the default category will be affected.'}</div>
<div class="warn">{l s='Only products that have this category as the default category will be affected.'}</div>
<div class="clear">&nbsp;</div>
<label>{l s='Discount (%):'}</label>
<input type="text" name="category_reduction_fancybox" id="category_reduction_fancybox" value="0.00">
<button onclick="addCategoryReduction();" class="btn btn-primary">{l s='add'}</button>
<input type="text" name="category_reduction_fancybox" id="category_reduction_fancybox" value="0.00" size="33">
<div class="clear">&nbsp;</div>
<button onclick="addCategoryReduction();" class="button">{l s='add'}</button>
</fieldset>
</div>
</div>
@@ -211,43 +209,61 @@
}).disableSelection();
});
</script>
<div class="col-lg-9">
<div class="row">
<div class="col-lg-6">
<label>{$input['label']['auth_modules']}</label>
<ul id="sortable_module_authorize_list" class="connectedSortable list-unstyled">
{foreach $input['values']['auth_modules'] key=key item=module }
<li class="module_list" id="module_{$module->id}">
<input type="checkbox" style="margin-right:5px">
<img src="../modules/{$module->name}/logo.gif">
{$module->displayName}
<input type="hidden" name="modulesBoxAuth[]" value="{$module->id}">
</li>
{/foreach}
</ul>
<button id="authorize_list" onclick="toogleCheck(this);return false;" class="btn btn-default">{l s='Select all'}</button>
<button onclick="authorizeChecked();return false;" class="btn btn-default">{l s='Unauthorize >>'}</button>
</div>
<div class="col-lg-6">
<label>{$input['label']['unauth_modules']}</label>
<ul id="sortable_module_unauthorize_list" class="connectedSortable list-unstyled">
{foreach $input['values']['unauth_modules'] key=key item=module }
<li class="module_list" id="module_{$module->id}">
<input type="checkbox" style="margin-right:5px">
<img src="../modules/{$module->name}/logo.gif">
{$module->displayName}
<input type="hidden" name="modulesBoxUnauth[]" value="{$module->id}">
</li>
{/foreach}
</ul>
<button id="unauthorize_list" onclick="toogleCheck(this);return false;" class="btn btn-default">{l s='Select all'}</button>
<button onclick="unauthorizeChecked();return false;" class="btn btn-default">{l s='<< Authorize'}</button>
</div>
</div>
</div>
<table cellspacing="0" cellpadding="0" class="table" style="width:600px">
<thead>
<tr>
<th style="padding-left:10px;">
{$input['label']['auth_modules']}
</th>
<th style="padding-left:10px;">
{$input['label']['unauth_modules']}
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="width:300px">
<ul id="sortable_module_authorize_list" class="connectedSortable" style="height:300px;overflow:auto">
<li></li>
{foreach $input['values']['auth_modules'] key=key item=module }
<li class="module_list" id="module_{$module->id}">
<input type="checkbox" style="margin-right:5px">
<img src="../modules/{$module->name}/logo.gif">
{$module->displayName}
<input type="hidden" name="modulesBoxAuth[]" value="{$module->id}">
</li>
{/foreach}
</ul>
</td>
<td style="width:300px">
<ul id="sortable_module_unauthorize_list" class="connectedSortable" style="height:300px;overflow:auto">
<li></li>
{foreach $input['values']['unauth_modules'] key=key item=module }
<li class="module_list" id="module_{$module->id}">
<input type="checkbox" style="margin-right:5px">
<img src="../modules/{$module->name}/logo.gif">
{$module->displayName}
<input type="hidden" name="modulesBoxUnauth[]" value="{$module->id}">
</li>
{/foreach}
</ul>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td style="text-align:center">
<button style="width:100%;margin-top:5px" id="authorize_list" onclick="toogleCheck(this);return false;" class="button">{l s='Select all'}</button>
<button style="width:100%;margin-top:5px;margin-bottom:5px" onclick="authorizeChecked();return false;" class="button">{l s='Unauthorize >>'}</button>
</td>
<td style="text-align:center">
<button style="width:100%;margin-top:5px"id="unauthorize_list" onclick="toogleCheck(this);return false;" class="button">{l s='Select all'}</button>
<button style="width:100%;margin-top:5px;margin-bottom:5px" onclick="unauthorizeChecked();return false;" class="button">{l s='<< Authorize'}</button>
</td>
</tr>
</tfoot>
</table>
</div>
{else}
{$smarty.block.parent}

View File

@@ -29,36 +29,36 @@
<fieldset>
<ul>
<li><span >{l s='Name:'}</span> {$group->name[$language->id]}</li>
<li><span >{l s='Discount: %d%%' sprintf=$group->reduction}</span></li>
<li><span >{l s='Current category discount:'}</span>
<li><span style="font-weight: bold; font-size: 13px; color:#000;">{l s='Name:'}</span> {$group->name[$language->id]}</li>
<li><span style="font-weight: bold; font-size: 13px; color:#000;">{l s='Discount: %.2f%%' sprintf=$group->reduction}</span></li>
<li><span style="font-weight: bold; font-size: 13px; color:#000;">{l s='Current category discount:'}</span>
{if !$categorieReductions}
{l s='None'}
{else}
<table class="table">
<table cellspacing="0" cellpadding="0" class="table" style="margin-top:10px">
{foreach $categorieReductions key=key item=category }
<tr class="alt_row">
<td>{$category.path}</td>
<td>{l s='Discount: %d%%' sprintf=$category.reduction}</td>
<td>{l s='Discount: %.2f%%' sprintf=$category.reduction}</td>
</tr>
{/foreach}
</table>
{/if}
</li>
<li><span>{l s='Price display method:'}</span>
<li><span style="font-weight: bold; font-size: 13px; color:#000;">{l s='Price display method:'}</span>
{if $group->price_display_method}
{l s='Tax excluded'}
{else}
{l s='Tax included'}
{/if}
</li>
<li><span>{l s='Show prices:'}</span> {if $group->show_prices}{l s='Yes'}{else}{l s='No'}{/if}
<li><span style="font-weight: bold; font-size: 13px; color:#000;">{l s='Show prices:'}</span> {if $group->show_prices}{l s='Yes'}{else}{l s='No'}{/if}
</li>
</ul>
</fieldset>
<h2>{l s='Members of this customer group'}</h2>
<p>{l s='Limited to the first 100 customers.'} {l s='Please use filters to narrow your search.'}</p>
{$customerList}
{/block}
{/block}

View File

@@ -110,14 +110,14 @@ $(document).ready(function() {
</ul>
<div id="partner_preactivation">
<p class="center"><img src="../img/loader.gif" alt="" /></p>
<p class="center"><img src="../img/loader.gif" alt="" /> {l s='Loading...'}</p>
</div>
<div class="separation"></div>
{$tips_optimization}
<div id="discover_prestashop"><p class="center"><img src="../img/loader.gif" alt="" />{l s='Loading...'}</p></div>
<div id="discover_prestashop"><p class="center"><img src="../img/loader.gif" alt="" /> {l s='Loading...'}</p></div>
{hook h="displayAdminHomeInfos"}
{hook h="displayBackOfficeHome"} {*old name of the hook*}
@@ -212,7 +212,7 @@ $(document).ready(function() {
{
// don't show/hide screencast if it's deactivated
{if $employee->bo_show_screencast}
$('#adminpresentation').fadeOut('slow');
$('#adminpresentation').fadeOut('slow');
{/if}
$('#partner_preactivation').fadeOut('slow');
$('#discover_prestashop').fadeOut('slow');
@@ -223,7 +223,7 @@ $(document).ready(function() {
$.fancybox(
this.href,
{
'width' : 660,
'width' : 920,
'height' : 384,
'transitionIn' : 'none',
'transitionOut' : 'none',

View File

@@ -26,36 +26,30 @@
{$content}
{if isset($display_regenerate)}
<form class="form-horizontal" action="{$current}&token={$token}" method="post">
<fieldset>
<h3>
<i class="icon-picture"></i>
{l s='Regenerate thumbnails'}
</h3>
<div class="alert alert-info">
{l s='Regenerates thumbnails for all existing images'}<br />
{l s='Please be patient. This can take several minutes.'}<br />
{l s='Be careful! Manually uploaded thumbnails will be erased and replaced by automatically generated thumbnails.'}
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Select an image'}</label>
<div class="col-lg-9">
<select name="type" onchange="changeFormat(this)">
<option value="all">{l s='All'}</option>
{foreach $types AS $k => $type}
<option value="{$k}">{$type}</option>
{/foreach}
</select>
</div>
<h2 class="space">{l s='Regenerate thumbnails'}</h2>
{l s='Regenerates thumbnails for all existing images'}<br /><br />
<div class="width4">
<div class="warn">
{l s='Please be patient. This can take several minutes.'}<br />
{l s='Be careful! Manually uploaded thumbnails will be erased and replaced by automatically generated thumbnails.'}
</div>
</div>
<form action="{$current}&token={$token}" method="post">
<fieldset class="width4">
<legend><img src="../img/admin/picture.gif" /> {l s='Regenerate thumbnails'}</legend><br />
<label>{l s='Select an image'}</label>
<div class="margin-form">
<select name="type" onchange="changeFormat(this)">
<option value="all">{l s='All'}</option>
{foreach $types AS $k => $type}
<option value="{$k}">{$type}</option>
{/foreach}
</select>
</div>
<div class="row">
{foreach $types AS $k => $type}
<label class="control-label col-lg-3 second-select format_{$k}" style="display:none;">{l s='Select a format'}</label>
<div class="col-lg-9 second-select margin-form format_{$k}" style="display:none;">
<label class="second-select format_{$k}" style="display:none;">{l s='Select a format'}</label>
<div class="second-select margin-form format_{$k}" style="display:none;">
<select class="second-select format_{$k}" name="format_{$k}">
<option value="all">{l s='All'}</option>
{foreach $formats[$k] AS $format}
@@ -64,8 +58,6 @@
</select>
</div>
{/foreach}
</div>
<script>
function changeFormat(elt)
{ldelim}
@@ -73,54 +65,37 @@
$('.format_' + $(elt).val()).show();
{rdelim}
</script>
<div class="row">
<label class="control-label col-lg-3">
{l s='Erase previous images'}
</label>
<div class="col-lg-9">
<div class="radio">
<label>
<input name="erase" type="checkbox" value="1" checked="checked" />
{l s='Deselect this checkbox only if your server timed out and you need to resume the regeneration.'}
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-9 col-push-3">
<input type="Submit" name="submitRegenerate{$table}" value="{l s='Regenerate thumbnails'}" class="btn btn-primary" onclick="return confirm('{l s='Are you sure?'}');" />
</div>
<label>{l s='Erase previous images'}</label>
<div class="margin-form">
<input name="erase" type="checkbox" value="1" checked="checked" />
<p>{l s='Deselect this checkbox only if your server timed out and you need to resume the regeneration.'}</p>
</div>
<div class="clear"></div>
<center><input type="Submit" name="submitRegenerate{$table}" value="{l s='Regenerate thumbnails'}" class="button space" onclick="return confirm('{l s='Are you sure?'}');" /></center>
</fieldset>
</form>
{/if}
{if isset($display_move) && $display_move}
<br /><h2 class="space">{l s='Move images'}</h2>
{l s='PrestaShop now uses a new storage system for product images. It offers better performance if your shop has a large number of products.'}<br />
<br />
{if $safe_mode}
<div class="alert alert-warning">
<p>{l s='PrestaShop has detected that your server configuration is not compatible with the new storage system (directive "safe_mode" is activated). You should therefore continue to use the existing system.'}</p>
</div>
{else}
<form action="{$current}&token={$token}" method="post" class="form-horizontal">
<fieldset>
<h3>
<i class="icon-picture"></i>
{l s='Move images'}
</h3>
<div class="alert alert-warning">
<p>{l s='You can choose to keep your images stored in the previous system. There\'s nothing wrong with that.'}</p>
<p>{l s='You can also decide to move your images to the new storage system. In this case, click on the "Move images" button below. Please be patient. This can take several minutes.'}</p>
</div>
<div class="alert alert-info">&nbsp;
{l s='After moving all of your product images, set the "Use the legacy image filesystem" option above to "No" for best performance.'}
</div>
<div class="row">
<div class="col-lg-12 pull-right">
<input type="Submit" name="submitMoveImages{$table}" value="{l s='Move images'}" class="btn btn-primary" onclick="return confirm('{l s='Are you sure?'}');" />
</div>
</div>
</fieldset>
</form>
{/if}
<div class="warn">
{l s='PrestaShop has detected that your server configuration is not compatible with the new storage system (directive "safe_mode" is activated). You should therefore continue to use the existing system.'}
</div>
{else}
<form action="{$current}&token={$token}" method="post">
<fieldset class="width4">
<legend><img src="../img/admin/picture.gif" /> {l s='Move images'}</legend><br />
{l s='You can choose to keep your images stored in the previous system. There\'s nothing wrong with that.'}<br />
{l s='You can also decide to move your images to the new storage system. In this case, click on the "Move images" button below. Please be patient. This can take several minutes.'}
<br /><br />
<div class="hint clear" style="display: block;">&nbsp;
{l s='After moving all of your product images, set the "Use the legacy image filesystem" option above to "No" for best performance.'}
</div>
<center><input type="Submit" name="submitMoveImages{$table}" value="{l s='Move images'}" class="button space" onclick="return confirm('{l s='Are you sure?'}');" /></center>
</fieldset>
</form>
{/if}
{/if}

View File

@@ -1,8 +1,8 @@
{*
* 2007-2013 PrestaShop
*
**
* NOTICE OF LICENSE
*
**
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
@@ -10,72 +10,25 @@
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
**
* DISCLAIMER
*
**
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
**
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
<div class="leadin">{block name="leadin"}{/block}</div>
{if $module_confirmation}
<div class="module_confirmation conf confirm">
{l s='Your .CSV file has been sucessfully imported into your shop.'}
{l s='Your .CSV file has been sucessfully imported into your shop. Don\'t forget to Re-build the products search index.'}
</div>
{/if}
<script type="text/javascript">
var truncateAuthorized = {$truncateAuthorized|intval};
$(document).ready(function(){
activeClueTip();
$("a#upload_file_import_link").fancybox({
'titleShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
$('#preview_import').submit(function(e) {
if ($('#truncate').get(0).checked)
{
console.log(truncateAuthorized);
if (truncateAuthorized)
{
if (!confirm('{l s='Are you sure that you would like to delete this' js=1}' + ' ' + $.trim($('#entity > option:selected').text().toLowerCase()) + '?'))
{
e.preventDefault();
}
}
else
{
jAlert('{l s='You do not have permission to delete here. When the multistore is enabled, only a SuperAdmin can delete all items before an import.' js=1}');
return false;
}
}
});
});
function activeClueTip()
{
$('.info_import').cluetip({
splitTitle: '|',
showTitle: false
});
};
</script>
{**
* Upload fancybox
*}
<div style="display: none">
<div id="upload_file_import" style="padding-left: 10px; background-color: #EBEDF4; border: 1px solid #CCCED7">
<div class="clear">&nbsp;</div>
@@ -97,237 +50,220 @@
</form>
</div>
</div>
{**
* Import fieldset
*}
<form id="preview_import" action="{$current}&token={$token}" method="post" enctype="multipart/form-data" class="form-horizontal">
<fieldset>
<h3>
<i class="icon-download"></i>
{l s='Import'}
</h3>
<div class="row">
<label class="control-label col-lg-3">{if count($files_to_import) > 1}{l s='Your CSV file (%d files):' sprintf=count($files_to_import)}{else}{l s='Your CSV file (%d file):' sprintf=count($files_to_import)}{/if}</label>
<div class="col-lg-6">
<div class="clear">&nbsp;</div>
<form id="preview_import" action="{$current}&token={$token}" method="post" style="display:inline" enctype="multipart/form-data" class="clear">
<fieldset style="float: left; margin: 0pt 20px 0pt 0pt; width: 70%;">
<legend><img src="../img/admin/import.gif" />{l s='Import '}</legend>
<label class="clear">{if count($files_to_import) > 1}{l s='Your CSV file (%d files):' sprintf=count($files_to_import)}{else}{l s='Your CSV file (%d file):' sprintf=count($files_to_import)}{/if}</label>
<div class="margin-form">
{if count($files_to_import)}
<select name="csv">
{foreach $files_to_import AS $filename}
<option value="{$filename}">{$filename}</option>
<option value="{$filename}"{if $csv_selected == $filename} selected="selected"{/if}>{$filename|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
{/if}
&nbsp;
<a href="#upload_file_import" id="upload_file_import_link" class="btn btn-primary">
<i class="icon-plus-sign-alt"></i>
{l s='Upload'}
</a>
<a href="#upload_file_import" id="upload_file_import_link" class="button"><img src="../img/admin/add.gif" alt="Uplaod" title="Upload" />{l s='Upload'}</a>
</div>
</div>
<div class="row">
<p class="alert alert-info col-lg-offset-3">
<a href="#" onclick="$('#sample_files_import').slideToggle(); return false;">
{l s='Click to view our sample import csv files.'}
</a>
</p>
<div id="sample_files_import" style="display:none" class="list-group">
<a class="list-group-item" href="../docs/csv_import/categories_import.csv">{l s='Sample Categories file'}</a>
<a class="list-group-item" href="../docs/csv_import/products_import.csv">{l s='Sample Products file'}</a>
<a class="list-group-item" href="../docs/csv_import/combinations_import.csv">{l s='Sample Combinations file'}</a>
<a class="list-group-item" href="../docs/csv_import/customers_import.csv">{l s='Sample Customers file'}</a>
<a class="list-group-item" href="../docs/csv_import/addresses_import.csv">{l s='Sample Addresses file'}</a>
<a class="list-group-item" href="../docs/csv_import/manufacturers_import.csv">{l s='Sample Manufacturers file'}</a>
<a class="list-group-item" href="../docs/csv_import/suppliers_import.csv">{l s='Sample Suppliers file'}</a>
{if $PS_ADVANCED_STOCK_MANAGEMENT}
<a class="list-group-item" href="../docs/csv_import/supply_orders_import.csv">{l s='Supply Orders sample file'}</a>
<a class="list-group-item" href="../docs/csv_import/supply_orders_details_import.csv">{l s='Supply Orders Details sample file'}</a>
{/if}
<div style="width:50%; margin: 0 auto;">
<div style="width:50%; display: inline-block; float :left;">
<a href="#" onclick="$('#sample_files_import').slideToggle(); return false;">{l s='Click to view our sample import csv files.'}</a>
<ul id="sample_files_import" style="display:none;">
<li><a class="_blank" href="../docs/csv_import/categories_import.csv">{l s='Sample Categories file'}</a></li>
<li><a class="_blank" href="../docs/csv_import/products_import.csv">{l s='Sample Products file'}</a></li>
<li><a class="_blank" href="../docs/csv_import/combinations_import.csv">{l s='Sample Combinations file'}</a></li>
<li><a class="_blank" href="../docs/csv_import/customers_import.csv">{l s='Sample Customers file'}</a></li>
<li><a class="_blank" href="../docs/csv_import/addresses_import.csv">{l s='Sample Addresses file'}</a></li>
<li><a class="_blank" href="../docs/csv_import/manufacturers_import.csv">{l s='Sample Manufacturers file'}</a></li>
<li><a class="_blank" href="../docs/csv_import/suppliers_import.csv">{l s='Sample Suppliers file'}</a></li>
<li><a class="_blank" href="../docs/csv_import/alias_import.csv">{l s='Sample Alias file'}</a></li>
{if $PS_ADVANCED_STOCK_MANAGEMENT}
<li><a class="_blank" href="../docs/csv_import/supply_orders_import.csv">{l s='Supply Orders sample file'}</a></li>
<li><a class="_blank" href="../docs/csv_import/supply_orders_details_import.csv">{l s='Supply Orders Details sample file'}</a></li>
{/if}
</ul>
</div>
<div style="width:50%; float:left;">
<a href="#" onclick="$('#csv_files_import').slideToggle(); return false;">{l s='Click to view your csv files.'}</a>
<ul id="csv_files_import" style="display:none;">
{foreach $files_to_import AS $filename}
<li><a href="{$current}&token={$token}&csvfilename={$filename|@base64_encode}">{$filename}</a>&nbsp;&nbsp;
<a href="{$current}&token={$token}&csvfilename={$filename|@base64_encode}&delete=1"><img src="../img/admin/delete.gif" /></a></li>
{/foreach}
</ul>
</div>
<div class="clear">&nbsp;</div>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='What kind of entity would you like to import?'} </label>
<div class="col-lg-6">
<label class="clear">{l s='What kind of entity would you like to import?'} </label>
<div class="margin-form">
<select name="entity" id="entity">
{foreach $entities AS $entity => $i}
<option value="{$i}" {if $entity == $i}selected="selected"{/if}>
<option value="{$i}"{if $entity_selected == $i} selected="selected"{/if}>
{$entity}
</option>
{/foreach}
</select>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='The locale must be installed'}">
{l s='Language of the file'}
</span>
</label>
<div class="col-lg-6">
<label class="clear">{l s='Language of the file'}</label>
<div class="margin-form">
<select name="iso_lang">
{foreach $languages AS $lang}
<option value="{$lang.iso_code}" {if $lang.id_lang == $id_language} selected="selected"{/if}>{$lang.name}</option>
{/foreach}
</select>
{l s='The locale must be installed'}
</div>
</div>
<div class="row">
<label for="convert" class="control-label col-lg-3">{l s='ISO-8859-1 encoded file?'} </label>
<div class="col-lg-6">
<p class="checkbox">
<input name="convert" id="convert" type="checkbox" />
</p>
<label for="convert" class="clear">{l s='ISO-8859-1 encoded file?'} </label>
<div class="margin-form">
<input name="convert" id="convert" type="checkbox" style="margin-top: 6px;"/>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Field separator'} </label>
<div class="col-lg-6 input-group">
<input type="text" size="2" value=";" name="separator"/>
<span class="input-group-addon">{l s='e.g. '}"1; Ipod; 129.90; 5"</span>
<label class="clear">{l s='Field separator'} </label>
<div class="margin-form">
<input type="text" size="2" value="{if isset($separator_selected)}{$separator_selected|escape:'htmlall':'UTF-8'}{else};{/if}" name="separator"/>
{l s='e.g. '}"1<span class="bold" style="color: red">;</span>Ipod<span class="bold" style="color: red">;</span>129.90<span class="bold" style="color: red">;</span>5"
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Multiple value separator'} </label>
<div class="col-lg-6 input-group">
<input type="text" size="2" value="," name="multiple_value_separator"/>
<span class="input-group-addon">{l s='e.g. '}"Ipod; red.jpg, blue.jpg, green.jpg; 129.90"</span>
<label class="clear">{l s='Multiple value separator'} </label>
<div class="margin-form">
<input type="text" size="2" value="{if isset($multiple_value_separator_selected)}{$multiple_value_separator_selected|escape:'htmlall':'UTF-8'}{else},{/if}" name="multiple_value_separator"/>
{l s='e.g. '}"Ipod;red.jpg<span class="bold" style="color: red">,</span>blue.jpg<span class="bold" style="color: red">,</span>green.jpg;129.90"
</div>
</div>
<div class="row">
<label for="truncate" class="control-label col-lg-3">{l s='Delete all'} <span id="entitie">{l s='categories'}</span> {l s='before import?'} </label>
<div class="col-lg-6">
<p class="checkbox">
<input name="truncate" id="truncate" type="checkbox"/>
</p>
<label for="truncate" class="clear">{l s='Delete all'} <span id="entitie">{l s='categories'}</span> {l s='before import?'} </label>
<div class="margin-form">
<input name="truncate" id="truncate" type="checkbox"/>
</div>
</div>
<div class="row">
<label for="match_ref" class="control-label col-lg-3" style="display: none">{l s='Use product reference as key?'}</label>
<div class="col-lg-6">
<p class="checkbox">
<input name="match_ref" id="match_ref" type="checkbox" style="display:none"/>
</p>
<label for="regenerate" class="clear">{l s='No thumbnails regeneration'}</label>
<div class="margin-form">
<input name="regenerate" id="regenerate" type="checkbox" />
</div>
</div>
<div class="row">
<label for="forceIDs" class="control-label col-lg-3">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='If you don\'t use this option, all ID\'s will be auto-incremented.'}">
{l s='Force all ID\'s during import?'}
</span>
</label>
<div class="col-lg-6">
<p class="checkbox">
<input name="forceIDs" id="forceIDs" type="checkbox"/>
</p>
<label for="forceIDs" class="clear">{l s='Force all ID\'s during import?'} </label>
<div class="margin-form">
<input name="forceIDs" id="forceIDs" type="checkbox"/> {l s='If you don\'t use this option, all ID\'s will be auto-incremented.'}
</div>
</div>
<div class="row">
<div class="col-lg-offset-3">
<input type="submit" name="submitImportFile" value="{l s='Next step'}" class="btn btn-primary" {if empty($files_to_import)}disabled{/if}/>
<label for="match_ref" class="clear" style="display: none">{l s='Use product reference as key?'}</label>
<div class="margin-form">
<input name="match_ref" id="match_ref" type="checkbox" style="margin-top: 6px; display:none"/>
</div>
{if empty($files_to_import)}
<div class="col-lg-12">
<p class="amert alert-info">{l s='You must upload a file in order to proceed to the next step'}</p>
</div>
{/if}
</div>
<div class="alert alert-warning import_products_categories">
<div class="space margin-form">
<input type="submit" name="submitImportFile" value="{l s='Next step'}" class="button" {if empty($files_to_import)}disabled{/if}/>
{if empty($files_to_import)}<span style="color:red;">{l s='You must upload a file in order to proceed to the next step'}</span>{/if}
</div>
<div class="warn import_products_categories" style="margin-top: 20px;">
<p>{l s='Note that the category import does not support categories of the same name.'}</p>
<p>{l s='Note that you can have several products with the same reference.'}</p>
</div>
<div class="alert alert-warning import_supply_orders_details">
<div class="warn import_supply_orders_details" style="margin-top: 20px; display:none">
<p>{l s='Importing Supply Order Details will reset products ordered, if there are any.'}</p>
</div>
{if !count($files_to_import)}
<div class="alert alert-warning">
<div class="warn" style="margin-top: 20px;">
<p>{l s='There is no CSV file available. Please upload one using the \'Upload\' button above.'}</p>
<ul class="nav">
<li>{l s='You can read information on CSV import at:'} <a href="http://doc.prestashop.com/display/PS14/Troubleshooting#Troubleshooting-HowtocorrectlyimportaccentuatedcontentusingaCSVfile%3F" target="_blank">http://doc.prestashop.com/display/PS14/Troubleshooting</a>
<li>{l s='Read more about CSV format at:'} <a href="http://en.wikipedia.org/wiki/Comma-separated_values" target="_blank">http://en.wikipedia.org/wiki/Comma-separated_values</a>
<ul>
<li>{l s='You can read information on CSV import at:'} <a href="http://doc.prestashop.com/display/PS14/Troubleshooting#Troubleshooting-HowtocorrectlyimportaccentuatedcontentusingaCSVfile%3F" target="_blank">http://doc.prestashop.com/display/PS14/Troubleshooting</a></li>
<li>{l s='Read more about CSV format at:'} <a href="http://en.wikipedia.org/wiki/Comma-separated_values" target="_blank">http://en.wikipedia.org/wiki/Comma-separated_values</a></li>
</ul>
</div>
{/if}
</fieldset>
</form>
<fieldset>
<h3>
<i class="icon-download"></i>
{l s='Available fields'}
</h3>
<div id="availableFields" class="alert alert-warning">
<fieldset style="display:block;">
<legend>
<img src="../img/admin/import.gif" />{l s='Available fields'}
</legend>
<div id="availableFields">
{$available_fields}
</div>
<p>{l s='* Required field'}</p>
<div class="clear">
<br /><br />{l s='* Required field'}
</div>
</fieldset>
<div class="clear">&nbsp;</div>
<script type="text/javascript">
$("select#entity").change( function() {
if ($("#entity > option:selected").val() == 7 || $("#entity > option:selected").val() == 8)
{
$("label[for=truncate],#truncate").hide();
}
else
$("label[for=truncate],#truncate").show();
if ($("#entity > option:selected").val() == 8)
{
$(".import_supply_orders_details").show();
$('input[name=multiple_value_separator]').val('|');
}
else
{
$(".import_supply_orders_details").hide();
$('input[name=multiple_value_separator]').val(',');
}
if ($("#entity > option:selected").val() == 1)
{
$("label[for=match_ref],#match_ref").show();
}
else
$("label[for=match_ref],#match_ref").hide();
if ($("#entity > option:selected").val() == 1 || $("#entity > option:selected").val() == 0)
{
$(".import_products_categories").show();
}
else
$(".import_products_categories").hide();
if ($("#entity > option:selected").val() == 0 || $("#entity > option:selected").val() == 1 || $("#entity > option:selected").val() == 3 || $("#entity > option:selected").val() == 5 || $("#entity > option:selected").val() == 6)
$("label[for=forceIDs],#forceIDs").show();
else
$("label[for=forceIDs],#forceIDs").hide();
$("#entitie").html($("#entity > option:selected").text().toLowerCase());
$.ajax({
url: 'ajax.php',
data: {
getAvailableFields:1,
entity: $("#entity").val()
},
dataType: 'json',
success: function(j) {
var fields = "";
$("#availableFields").empty();
for (var i = 0; i < j.length; i++)
fields += j[i].field;
$("#availableFields").html(fields);
activeClueTip();
},
error: function(j) {
}
$(document).ready(function(){
var truncateAuthorized = {$truncateAuthorized|intval};
activeClueTip();
$("a#upload_file_import_link").fancybox({
'titleShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
$('#preview_import').submit(function(e){
if ($('#truncate').get(0).checked)
if (truncateAuthorized)
{
if (!confirm('{l s='Are you sure that you would like to delete this' js=1}' + ' ' + $.trim($('#entity > option:selected').text().toLowerCase()) + '?'))
e.preventDefault();
}
else
{
jAlert('{l s='You do not have permission to delete here. When the multistore is enabled, only a SuperAdmin can delete all items before an import.' js=1}');
return false;
}
});
$("select#entity").change(function(){
if ($("#entity > option:selected").val() == 8 || $("#entity > option:selected").val() == 9)
$("label[for=truncate],#truncate").hide();
else
$("label[for=truncate],#truncate").show();
if ($("#entity > option:selected").val() == 9)
$(".import_supply_orders_details").show();
else
{
$(".import_supply_orders_details").hide();
$('input[name=multiple_value_separator]').val('{if isset($multiple_value_separator_selected)}{$multiple_value_separator_selected}{else},{/if}');
}
if ($("#entity > option:selected").val() == 1)
$("label[for=match_ref], #match_ref").show();
else
$("label[for=match_ref], #match_ref").hide();
if ($("#entity > option:selected").val() == 1 || $("#entity > option:selected").val() == 0)
$(".import_products_categories").show();
else
$(".import_products_categories").hide();
if ($("#entity > option:selected").val() == 0 || $("#entity > option:selected").val() == 1 ||
$("#entity > option:selected").val() == 5 || $("#entity > option:selected").val() == 6)
$("label[for=regenerate], #regenerate").show()
else
$("label[for=regenerate], #regenerate").hide();
if ($("#entity > option:selected").val() == 0 || $("#entity > option:selected").val() == 1 || $("#entity > option:selected").val() == 3 || $("#entity > option:selected").val() == 5 || $("#entity > option:selected").val() == 6 || $("#entity > option:selected").val() == 7)
$("label[for=forceIDs], #forceIDs").show();
else
$("label[for=forceIDs], #forceIDs").hide();
$("#entitie").html($("#entity > option:selected").text().toLowerCase());
$.ajax({
url: 'ajax.php',
data: {
getAvailableFields:1,
entity: $("#entity").val()
},
dataType: 'json',
success: function(j){
var fields = "";
$("#availableFields").empty();
for (var i = 0; i < j.length; i++)
fields += j[i].field;
$("#availableFields").html(fields);
activeClueTip();
},
error: function(j){}
});
});
$("select#entity").trigger('change');
function activeClueTip()
{
$('.info_import').cluetip({
splitTitle: '|',
showTitle: false
});
};
});
</script>

View File

@@ -22,20 +22,52 @@
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{extends file="helpers/view/view.tpl"}
{block name="override_tpl"}
<script type="text/javascript">
var errorEmpty = "{l s='Please name your matching configuration to save.'}"
var errorEmpty = '{l s='Please name your matching configuration to save.' js=1}';
var token = '{$token}';
var current = 0;
function showTable(nb)
{
$('#btn_left').disabled = null;
$('#btn_right').disabled = null;
if (nb <= 0)
{
nb = 0;
$('#btn_left').disabled = 'true';
}
if (nb >= {$nb_table} - 1)
{
nb = {$nb_table} - 1;
$('#btn_right').disabled = 'true';
}
$('#table' + current).hide();
current = nb;
$('#table' + current).show();
}
$(document).ready(function(){
var btn_save_import = $('span[class~="process-icon-save-import"]').parent();
var btn_submit_import = $('#import');
if (btn_save_import.length > 0 && btn_submit_import.length > 0)
{
btn_submit_import.hide();
btn_save_import.find('span').removeClass('process-icon-save-import');
btn_save_import.find('span').addClass('process-icon-save');
btn_save_import.click(function(){
btn_submit_import.before('<input type="hidden" name="' + btn_submit_import.attr("name") + '" value="1" />');
$('#import_form').submit();
});
}
showTable(current);
});
</script>
<div id="container-customer">
<h2>{l s='View your data'}</h2>
<div>
<b>{l s='Save and load your configuration for importing files'} : </b><br><br>
<input type="text" name="newImportMatchs" id="newImportMatchs">
<a id="saveImportMatchs" class="button" href="#">{l s='Save'}</a><br><br>
<b>{l s='Save and load your configuration for importing files'} : </b><br/><br/>
<input type="text" name="newImportMatchs" id="newImportMatchs" />
<a id="saveImportMatchs" class="button" href="#">{l s='Save'}</a><br /><br />
<div id="selectDivImportMatchs" {if !$import_matchs}style="display:none"{/if}>
<select id="valueImportMatchs">
{foreach $import_matchs as $match}
@@ -46,21 +78,18 @@
<a class="button" id="deleteImportMatchs" href="#">{l s='Delete'}</a>
</div>
</div>
<h3>{l s='Please set the value type of each column'}</h3>
<div id="error_duplicate_type" class="warning warn" style="display:none;">
<h3>{l s='Columns cannot have the same value type'}</h3>
</div>
<div id="required_column" class="warning warn" style="display:none;">
<h3>{l s='Column'} <span id="missing_column">&nbsp;</span> {l s='must be set'}</h3>
</div>
<form action="{$current}&token={$token}" method="post" id="import_form" name="import_form">
{l s='Skip'} <input type="text" size="2" name="skip" value="1" /> {l s='lines'}
<input type="hidden" name="csv" value="{$fields_value.csv}" />
<input type="hidden" name="convert" value="{$fields_value.convert}" />
<input type="hidden" name="regenerate" value="{$fields_value.regenerate}" />
<input type="hidden" name="entity" value="{$fields_value.entity}" />
<input type="hidden" name="iso_lang" value="{$fields_value.iso_lang}" />
{if $fields_value.truncate}
@@ -72,49 +101,8 @@
{if $fields_value.match_ref}
<input type="hidden" name="match_ref" value="1" />
{/if}
<input type="hidden" name="separator" value="{$fields_value.separator}">
<input type="hidden" name="multiple_value_separator" value="{$fields_value.multiple_value_separator}">
<script type="text/javascript">
var current = 0;
function showTable(nb)
{
getE('btn_left').disabled = null;
getE('btn_right').disabled = null;
if (nb <= 0)
{
nb = 0;
getE('btn_left').disabled = 'true';
}
if (nb >= {$nb_table} - 1)
{
nb = {$nb_table} - 1;
getE('btn_right').disabled = 'true';
}
toggle(getE('table'+current), false);
current = nb;
toggle(getE('table'+current), true);
}
$(function() {
var btn_save_import = $('span[class~="process-icon-save-import"]').parent();
var btn_submit_import = $('#import');
if (btn_save_import.length > 0 && btn_submit_import.length > 0)
{
btn_submit_import.hide();
btn_save_import.find('span').removeClass('process-icon-save-import');
btn_save_import.find('span').addClass('process-icon-save');
btn_save_import.click(function() {
btn_submit_import.before('<input type="hidden" name="'+btn_submit_import.attr("name")+'" value="1" />');
$('#import_form').submit();
});
}
});
</script>
<input type="hidden" name="separator" value="{$fields_value.separator}" />
<input type="hidden" name="multiple_value_separator" value="{$fields_value.multiple_value_separator}" />
<table>
<tr>
<td colspan="3" align="center">
@@ -123,7 +111,7 @@
</tr>
<tr>
<td valign="top" align="center">
<input id="btn_left" value="{l s='<<'}" type="button" class="button" onclick="showTable(current - 1)" />
<input id="btn_left" value="{l s='<<'}" type="button" class="button" onclick="showTable(current - 1);" />
</td>
<td align="left">
{section name=nb_i start=0 loop=$nb_table step=1}
@@ -132,12 +120,10 @@
{/section}
</td>
<td valign="top" align="center">
<input id="btn_right" value="{l s='>>'}" type="button" class="button" onclick="showTable(current + 1)" />
<input id="btn_right" value="{l s='>>'}" type="button" class="button" onclick="showTable(current + 1);" />
</td>
</tr>
</table>
<script type="text/javascript">showTable(current);</script>
</form>
</div>
{/block}

View File

@@ -46,9 +46,9 @@
};
if (json.missing.length || json.updated.length)
$('#changedFiles').html('<div class="alert alert-warning">{l s='Changed/missing files have been detected.'}</div>');
$('#changedFiles').html('<div class="warn">{l s='Changed/missing files have been detected.'}</div>');
else
$('#changedFiles').html('<div class="alert">{l s='No change has been detected in your files'}</div>');
$('#changedFiles').html('<div class="conf">{l s='No change has been detected in your files'}</div>');
$.each(tab, function(key, lang)
{
@@ -69,176 +69,142 @@
});
</script>
<div class="row">
<div class="col-lg-6">
<div class="panel">
<h3>
<i class="icon-info"></i>
{l s='Configuration information'}
</h3>
<p>{l s='This information must be provided when you report an issue on our bug tracker or forum.'}</p>
</div>
<div class="panel">
<h3>
<i class="icon-info"></i>
{l s='Server information'}
</h3>
{if count($uname)}
<p>
<strong>{l s='Server information'}:</strong> {$uname|escape:'htmlall':'UTF-8'}
</p>
{/if}
<p>
<strong>{l s='Server software version'}:</strong> {$version.server|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='PHP version'}:</strong> {$version.php|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='Memory limit'}:</strong> {$version.memory_limit|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='Max execution time'}:</strong> {$version.max_execution_time|escape:'htmlall':'UTF-8'}
</p>
{if $apache_instaweb}
<p>{l s='PageSpeed module for Apache installed (mod_instaweb)'}</p>
{/if}
</div>
<div class="panel">
<h3>
<i class="icon-info"></i>
{l s='Database information'}
</h3>
<p>
<strong>{l s='MySQL version'}:</strong> {$database.version|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='MySQL engine'}:</strong> {$database.engine|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='Tables prefix'}:</strong> {$database.prefix|escape:'htmlall':'UTF-8'}
</p>
</div>
</div>
<div class="col-lg-6">
<div class="panel">
<h3>
<i class="icon-info"></i>
{l s='Store information'}
</h3>
<p>
<strong>{l s='PrestaShop version'}:</strong> {$shop.ps|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='Shop URL'}:</strong> {$shop.url|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='Current theme in use'}:</strong> {$shop.theme|escape:'htmlall':'UTF-8'}
</p>
</div>
<div class="panel">
<h3>
<i class="icon-info"></i>
{l s='Mail configuration'}
</h3>
<p>
<strong>{l s='Mail method'}:</strong>
{if $mail}
{l s='You are using the PHP mail function.'}</p>
{else}
{l s='You are using your own SMTP parameters.'}</p>
<p>
<strong>{l s='SMTP server'}:</strong> {$smtp.server|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='SMTP user'}:</strong>
{if $smtp.user neq ''}
{l s='Defined'}
{else}
<span style="color:red;">{l s='Not defined'}</span>
{/if}
</p>
<p>
<strong>{l s='SMTP password'}:</strong>
{if $smtp.password neq ''}
{l s='Defined'}
{else}
<span style="color:red;">{l s='Not defined'}</span>
{/if}
</p>
<p>
<strong>{l s='Encryption'}:</strong> {$smtp.encryption|escape:'htmlall':'UTF-8'}
</p>
<p>
<strong>{l s='Port'}:</strong> {$smtp.port|escape:'htmlall':'UTF-8'}
</p>
<fieldset>
<legend><img src="../img/t/AdminInformation.gif" alt="" />{l s='Configuration information'}</legend>
<p>{l s='This information must be provided when you report an issue on our bug tracker or forum.'}</p>
</fieldset>
<br />
<fieldset>
<legend><img src="../img/t/AdminInformation.gif" alt="" /> {l s='Information about your configuration.'}</legend>
<h3>{l s='Server information'}</h3>
{if count($uname)}
<p>
<b>{l s='Server information'}:</b> {$uname|escape:'htmlall':'UTF-8'}
</p>
{/if}
<p>
<b>{l s='Server software version'}:</b> {$version.server|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='PHP version'}:</b> {$version.php|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='Memory limit'}:</b> {$version.memory_limit|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='Max execution time'}:</b> {$version.max_execution_time|escape:'htmlall':'UTF-8'}
</p>
{if $apache_instaweb}
<p style="color:red;font-weight:700">{l s='PageSpeed module for Apache installed (mod_instaweb)'}</p>
{/if}
</div>
<div class="panel">
<h3>
<i class="icon-info"></i>
{l s='Your information'}
</h3>
<p>
<strong>{l s='Your web browser'}:</strong> {$user_agent|escape:'htmlall':'UTF-8'}
<hr />
<h3>{l s='Database information'}</h3>
<p>
<b>{l s='MySQL version'}:</b> {$database.version|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='MySQL engine'}:</b> {$database.engine|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='Tables prefix'}:</b> {$database.prefix|escape:'htmlall':'UTF-8'}
</p>
<hr />
<h3>{l s='Store information'}</h3>
<p>
<b>{l s='PrestaShop version'}:</b> {$shop.ps|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='Shop URL'}:</b> {$shop.url|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='Current theme in use'}:</b> {$shop.theme|escape:'htmlall':'UTF-8'}
</p>
<hr />
<h3>{l s='Mail configuration'}</h3>
<p>
<b>{l s='Mail method'}:</b>
{if $mail}
{l s='You are using the PHP mail function.'}</p>
{else}
{l s='You are using your own SMTP parameters.'}</p>
<p>
<b>{l s='SMTP server'}:</b> {$smtp.server|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='SMTP user'}:</b>
{if $smtp.user neq ''}
{l s='Defined'}
{else}
<span style="color:red;">{l s='Not defined'}</span>
{/if}
</p>
<p>
<b>{l s='SMTP password'}:</b>
{if $smtp.password neq ''}
{l s='Defined'}
{else}
<span style="color:red;">{l s='Not defined'}</span>
{/if}
</p>
<p>
<b>{l s='Encryption'}:</b> {$smtp.encryption|escape:'htmlall':'UTF-8'}
</p>
<p>
<b>{l s='Port'}:</b> {$smtp.port|escape:'htmlall':'UTF-8'}
</p>
{/if}
<hr />
<h3>{l s='Your information'}</h3>
<p>
<b>{l s='Your web browser'}:</b> {$user_agent|escape:'htmlall':'UTF-8'}
</p>
</fieldset>
<br />
<fieldset id="checkConfiguration">
<legend><img src="../img/t/AdminInformation.gif" alt="" /> {l s='Check your configuration'}</legend>
<p>
<b>{l s='Required parameters'}:</b>
{if !$failRequired}
<span style="color:green;font-weight:bold;">OK</span>
</p>
{else}
<span style="color:red">{l s='Please fix the following error(s)'}</span>
</p>
</div>
<div class="panel" id="checkConfiguration">
<h3>
<i class="icon-info"></i>
{l s='Check your configuration'}
</h3>
<ul>
{foreach from=$testsRequired item='value' key='key'}
{if $value eq 'fail'}
<li>{$testsErrors[$key]}</li>
{/if}
{/foreach}
</ul>
{/if}
<p>
<strong>{l s='Required parameters'}:</strong>
{if !$failRequired}
<span class="text-success">OK</span>
</p>
{else}
<span class="text-danger">{l s='Please fix the following error(s)'}</span>
</p>
<ul class="nav">
{foreach from=$testsRequired item='value' key='key'}
{if $value eq 'fail'}
<li>{$testsErrors[$key]}</li>
{/if}
{/foreach}
</ul>
{/if}
<p>
<strong>{l s='Optional parameters'}:</strong>
{if !$failOptional}
<span>OK</span>
</p>
{else}
<span class="text-success">{l s='Please fix the following error(s)'}</span>
</p>
<ul class="nav">
{foreach from=$testsOptional item='value' key='key'}
{if $value eq 'fail'}
<li>{$key}</li>
{/if}
{/foreach}
</ul>
{/if}
</div>
</div>
</div>
<b>{l s='Optional parameters'}:</b>
{if !$failOptional}
<span style="color:green;font-weight:bold;">OK</span>
</p>
{else}
<span style="color:red">{l s='Please fix the following error(s)'}</span>
</p>
<ul>
{foreach from=$testsOptional item='value' key='key'}
{if $value eq 'fail'}
<li>{$key}</li>
{/if}
{/foreach}
</ul>
{/if}
</fieldset>
<div class="panel">
<h3>
<i class="icon-info"></i>
{l s='List of changed files'}
</h3>
<div id="changedFiles"><img src="../img/admin/ajax-loader.gif" /> {l s='Checking files...'}</div>
</div>
<br />
<fieldset>
<legend><img src="../img/t/AdminInformation.gif" alt="" /> {l s='List of changed files'}</legend>
<div id="changedFiles"><img src="../img/admin/ajax-loader.gif" /> {l s='Checking files...'}</div>
</fieldset>
{/block}

View File

@@ -25,9 +25,11 @@
{extends file="helpers/form/form.tpl"}
{block name=script}
$(document).ready(function() {
var btn_save_date = $('span[class~="process-icon-save-date"]').parent();
var btn_submit_date = $('#submitPrint');
if (btn_save_date.length > 0 && btn_submit_date.length > 0)
{
btn_submit_date.hide();
@@ -39,8 +41,10 @@
$('#invoice_date_form').submit();
});
}
var btn_save_status = $('span[class~="process-icon-save-status"]').parent();
var btn_submit_status = $('#submitPrint2');
if (btn_save_status.length > 0 && btn_submit_status.length > 0)
{
btn_submit_status.hide();
@@ -48,42 +52,34 @@
btn_save_status.find('span').addClass('process-icon-save');
btn_save_status.click(function() {
btn_submit_status.before('<input type="hidden" name="'+btn_submit_status.attr("name")+'" value="1" />');
$('#invoice_status_form').submit();
});
}
});
{/block}
{block name="input"}
{if $input.type == 'checkboxStatuses'}
{foreach $input.values.query as $value}
{assign var=id_checkbox value=$input.name|cat:'_'|cat:intval($value[$input.values.id])}
<p class="checkbox">
<label for="{$id_checkbox}" class="control-label">
<input type="checkbox" name="{$input.name}[]" id="{$id_checkbox}" value="{$value[$input.values.id]|intval}" {if isset($fields_value[$id_checkbox]) && $fields_value[$id_checkbox]}checked="checked"{/if} />
{if $value['invoice']}
{$value[$input.values.name]}
<span class="badge-success">
{if isset($statusStats[$value['id_order_state']]) && $statusStats[$value['id_order_state']]}
{$statusStats[$value['id_order_state']]}
{else}
0
{/if}
</span>
{else}
{$value[$input.values.name]}
<span class="badge-error">
{if isset($statusStats[$value['id_order_state']]) && $statusStats[$value['id_order_state']]}
{$statusStats[$value['id_order_state']]}
{else}
0
{/if}
</span>
{/if}
</label>
</p>
<input type="checkbox"
name="{$input.name}[]"
id="{$id_checkbox}"
value="{$value[$input.values.id]|intval}"
{if isset($fields_value[$id_checkbox]) && $fields_value[$id_checkbox]}checked="checked"{/if} />
<label for="{$id_checkbox}"
style="float:none;{if !(isset($statusStats[$value['id_order_state']]) && $statusStats[$value['id_order_state']])}font-weight:normal;{/if}padding:0;text-align:left;width:100%;color:#000">
<img src="../img/admin/charged_{if $value['invoice']}ok{else}ko{/if}.gif" alt="" />
{$value[$input.values.name]}
({if isset($statusStats[$value['id_order_state']]) && $statusStats[$value['id_order_state']]}{$statusStats[$value['id_order_state']]}{else}0{/if})
</label><br />
{/foreach}
{else}
{$smarty.block.parent}
{/if}
{/block}
{block name="after"}<div style="clear:both">&nbsp;</div>{/block}

View File

@@ -23,7 +23,10 @@
* International Registered Trademark & Property of PrestaShop SA
*}
{$localization_form}
{$localization_options}
<div class="width4">
{if isset($localization_form)}{$localization_form}{/if}
</div>
<br />
<div class="width4">
{if isset($localization_options)}{$localization_options}{/if}
</div>

View File

@@ -41,7 +41,7 @@
</div>
<br />
{if isset($warningSslMessage)}
<div class="alert alert-warning">{$warningSslMessage}</div>
<div class="warn">{$warningSslMessage}</div>
{/if}
<div id="login">
<h1>{$shop_name}</h1>

View File

@@ -28,17 +28,14 @@
{block name="override_header"}
<fieldset>
<h3>
<i class="icon-level-up"></i>
{l s='Severity levels'}
</h3>
<legend>{l s='Severity levels'}</legend>
<p>{l s='Meaning of severity levels:'}</p>
<ol>
<li class="text-success">{l s='Informative only'}</li>
<li class="text-warning">{l s='Warning'}</li>
<li class="text-warning">{l s='Error'}</li>
<li class="text-danger">{l s='Major issue (crash)!'}</li>
<ol style="margin-left: 30px; list-style-type: decimal;">
<li style="color: green;">{l s='Informative only'}</li>
<li style="color: orange;">{l s='Warning'}</li>
<li style="color: orange;">{l s='Error'}</li>
<li style="color: red;">{l s='Major issue (crash)!'}</li>
</ol>
</fieldset>
</fieldset><br />
{/block}

View File

@@ -27,102 +27,80 @@
{block name="override_tpl"}
<legend>{$manufacturer->name}</legend>
<h2>{$manufacturer->name}</h2>
<span>{l s='Total addresses'} {count($addresses)}</span>
<h3>{l s='Total addresses'} {count($addresses)}</h3>
<hr />
{if !count($addresses)}
{l s='No address has been found for this manufacturer.'}
{else}
{foreach $addresses AS $addresse}
<table class="table">
<thead>
<tr>
<th>{$addresse.firstname} {$addresse.lastname}
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
{$addresse.address1}<br />
{if $addresse.address2}{$addresse.address2}<br />{/if}
{$addresse.postcode} {$addresse.city}<br />
{if $addresse.state}{$addresse.state}<br />{/if}
<b>{$addresse.country}</b><br />
{if $addresse.phone}{$addresse.phone}<br />{/if}
{if $addresse.phone_mobile}{$addresse.phone_mobile}<br />{/if}
{if $addresse.other}<div ><br />
<i>{$addresse.other}</i></div>
{/if}
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td><a class="btn btn-default pull-right" href="{$link->getAdminLink('AdminManufacturers')}&id_address={$addresse.id_address}&editaddresses=1">
<i class="icon-edit"></i> {l s='Edit'}</a></td>
</tr>
</tfoot>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="table" style="width: 600px;">
<tr>
<th><strong>{$addresse.firstname} {$addresse.lastname} <a href="{$link->getAdminLink('AdminManufacturers')}&id_address={$addresse.id_address}&editaddresses=1"><img src="../img/admin/edit.gif"></a></strong></th>
</tr>
<tr>
<td>
<div style="padding:5px; float:left; width:350px;">
{$addresse.address1}<br />
{if $addresse.address2}{$addresse.address2}<br />{/if}
{$addresse.postcode} {$addresse.city}<br />
{if $addresse.state}{$addresse.state}<br />{/if}
<b>{$addresse.country}</b><br />
</div>
<div style="padding:5px; float:left;">
{if $addresse.phone}{$addresse.phone}<br />{/if}
{if $addresse.phone_mobile}{$addresse.phone_mobile}<br />{/if}
</div>
{if $addresse.other}<div style="padding:5px; clear:both;"><br /><i>{$addresse.other}</i></div>{/if}
</td>
</tr>
</table><br />
{/foreach}
{/if}
<span>{l s='Total products'} {count($products)}</span>
<h3>{l s='Total products'} {count($products)}</h3>
{foreach $products AS $product}
<hr />
{if !$product->hasAttributes()}
<div>
<a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}" class="btn btn-default"><i class="icon-edit"></i> {l s='Edit'}</a>
<a href="?tab=AdminProducts&id_product={$product->id}&deleteproduct&token={getAdminToken tab='AdminProducts'}" class="btn btn-default" onclick="return confirm('{l s='Delete item #'}{$product->id} ?');"><i class="icon-trash"></i> {l s='Delete'}</a>
<div style="float:right;">
<a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}" class="button">{l s='Edit'}</a>
<a href="?tab=AdminProducts&id_product={$product->id}&deleteproduct&token={getAdminToken tab='AdminProducts'}" class="button" onclick="return confirm('{l s='Delete item #'}{$product->id} ?');">{l s='Delete'}</a>
</div>
<table class="table">
<thead>
<tr>
<th >{$product->name}</th>
{if !empty($product->reference)}<th>{l s='Ref:'} {$product->reference}</th>{/if}
{if !empty($product->ean13)}<th>{l s='EAN13:'} {$product->ean13}</th>{/if}
{if !empty($product->upc)}<th>{l s='UPC:'} {$product->upc}</th>{/if}
{if $stock_management}<th>{l s='Qty:'} {$product->quantity}</th>{/if}
</tr>
</thead>
<br/><br/>
<table border="0" cellpadding="0" cellspacing="0" class="table" style="width:100%;">
<tr>
<th height="39">{$product->name}</th>
{if !empty($product->reference)}<th width="150">{l s='Ref:'} {$product->reference}</th>{/if}
{if !empty($product->ean13)}<th width="120">{l s='EAN13:'} {$product->ean13}</th>{/if}
{if !empty($product->upc)}<th width="120">{l s='UPC:'} {$product->upc}</th>{/if}
{if $stock_management}<th class="right" width="50">{l s='Qty:'} {$product->quantity}</th>{/if}
</tr>
</table>
{else}
<div>
<a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}" class="btn btn-default"><i class="icon-edit"></i> {l s='Edit'}</a>
<a href="?tab=AdminProducts&id_product={$product->id}&deleteproduct&token={getAdminToken tab='AdminProducts'}" class="btn btn-default" onclick="return confirm('{l s='Delete item #'}{$product->id} ?');"><i class="icon-trash"></i> {l s='Delete'}</a>
<div style="float:right;">
<a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}" class="button">{l s='Edit'}</a>
<a href="?tab=AdminProducts&id_product={$product->id}&deleteproduct&token={getAdminToken tab='AdminProducts'}" class="button" onclick="return confirm('{l s='Delete item #'}{$product->id} ?');">{l s='Delete'}</a>
</div>
<span><a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}">{$product->name}</a></span>
<table class="table">
<thead>
<tr>
<th>{l s='Attribute name'}</th>
<th>{l s='Reference'}</th>
<th>{l s='EAN13'}</th>
<th>{l s='UPC'}</th>
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}
<th>{l s='Available Quantity'}</th>
{/if}
</tr>
</thead>
<tbody>
<h3><a href="?tab=AdminProducts&id_product={$product->id}&updateproduct&token={getAdminToken tab='AdminProducts'}">{$product->name}</a></h3>
<table border="0" cellpadding="0" cellspacing="0" class="table" style="width:100%;">
<tr>
<th height="39">{l s='Attribute name'}</th>
<th width="80">{l s='Reference'}</th>
<th width="80">{l s='EAN13'}</th>
<th width="80">{l s='UPC'}</th>
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}<th class="right" width="150">{l s='Available Quantity'}</th>{/if}
</tr>
{foreach $product->combination AS $id_product_attribute => $product_attribute}
<tr {if $id_product_attribute %2}class="alt_row"{/if} >
<td>{$product_attribute.attributes}</td>
<td>{$product_attribute.reference}</td>
<td>{$product_attribute.ean13}</td>
<td>{$product_attribute.upc}</td>
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}
<td class="right">{$product_attribute.quantity}</td>
{/if}
{if $stock_management && $shopContext != Shop::CONTEXT_ALL}<td class="right">{$product_attribute.quantity}</td>{/if}
</tr>
{/foreach}
</tbody>
</table>
{/if}
{/foreach}

View File

@@ -1,23 +0,0 @@
<div class="page-head">
<h2 class="page-title">
{l s='Configure'} : {$module_name}
</h2>
<div class="page-bar toolbarBox">
<div class="btn-toolbar">
<ul class="cc_button nav nav-pills pull-right">
<li>
<a id="desc-module-hook" class="toolbar_btn" href="{$module_hooklink}" title="{l s='Manage hooks'}">
<i class="process-icon-anchor"></i>
<div>{l s='Manage hooks'}</div>
</a>
</li>
<li>
<a id="desc-module-back" class="toolbar_btn" href="{$backlink}" title="{l s='Back'}">
<i class="process-icon-back" ></i>
<div>{l s='Back'}</div>
</a>
</li>
</ul>
</div>
</div>
</div>

View File

@@ -24,7 +24,6 @@
*}
{if isset($module_content)}
{$module_content}
{else}
{if !isset($smarty.get.configure)}

View File

@@ -1,97 +1,82 @@
<div id="productBox">
{include file='controllers/modules/header.tpl'}
<div class="panel">
<div class="panel-heading">
<i class="icon-list-ul"></i>
{l s='Modules list'}
</div>
<div class="row">
<div class="col-lg-12">
<div class="btn-group pull-right">
<a class="btn btn-default {if !isset($smarty.get.select)} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}">
<i class="icon-list"></i>
{l s='Normal view'}
</a>
<a class="btn btn-default {if $smarty.get.select == 'favorites'} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}&select=favorites">
<i class="icon-star"></i>
{l s='Favorites view'}
</a>
</div>
<ul class="view-modules">
<li class="button normal-view"><a href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}"><img src="themes/default/img/modules_view_layout_sidebar.png" alt="{l s='Normal view'}" border="0" /><span>{l s='Normal view'}</span></a></li>
<li class="button favorites-view-disabled"><img src="themes/default/img/modules_view_table_select_row.png" alt="{l s='Favorites view'}" border="0" /><span>{l s='Favorites view'}</span></li>
</ul>
<div id="container">
<div id="moduleContainer" style="padding:0px;margin:0px;padding-top:15px">
<table cellspacing="0" cellpadding="0" style="width: 100%; margin-bottom:10px;" class="table" id="">
<col width="30px">
<col width="240px">
<col width="">
<col width="140px">
<col width="250px">
<col width="180px">
<col width="70px">
<col width="70px">
<col width="130px">
</colgroup>
<thead>
<tr class="nodrag nodrop">
<th class="center">{l s='Logo'}</th>
<th>{l s='Module Name'}</th>
<th>{l s='Description'}</th>
<th>{l s='Status'}</th>
<th>{l s='Tab'}</th>
<th>{l s='Categories'}</th>
<th>{l s='Interest'}</th>
<th>{l s='Favorite'}</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$modules key=km item=module}
<tr height="32" {if $km % 2 eq 0} class="alt_row"{/if}>
<td><img src="{if isset($module->image)}{$module->image}{else}../modules/{$module->name}/{$module->logo}{/if}" width="16" height="16" /></td>
<td><span class="moduleName">{$module->displayName}</span></td>
<td><span class="moduleFavDesc">{$module->description|truncate:80:'...'}</span></td>
<td>{if isset($module->id) && $module->id gt 0}<span class="setup">{l s='Installed'}</span>{else}<span class="setup non-install">{l s='Not Installed'}</span>{/if}</td>
<td>
{assign var="module_name" value=$module->name}
<select class="chosen moduleTabPreferencesChoise" name="t_{$module->name}" multiple="multiple">
{foreach $tabs AS $t}
{if $t.active}
<option {if isset($tab_modules_preferences.$module_name) && in_array($t.id_tab, $tab_modules_preferences.$module_name)} selected="selected" {/if} class="group" value="{$t.id_tab}">{if $t.name eq ''}{$t.class_name}{else}{$t.name}{/if}</option>
{foreach from=$t.sub_tabs item=t2}
{if $t2.active}
{assign var="id_tab" value=$t.id_tab}
<option {if isset($tab_modules_preferences.$module_name) && in_array($t2.id_tab, $tab_modules_preferences.$module_name)} selected="selected" {/if} value="{$t2.id_tab}">&nbsp;&nbsp;&nbsp;{if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'htmlall':'UTF-8'}{/if}</option>
{/if}
{/foreach}
{/if}
{/foreach}
</select>
</td>
<td>{$module->categoryName}</td>
<td>
<select name="i_{$module->name}" class="moduleFavorite" style="width:50px">
<option value="" selected="selected">-</option>
<option value="1" {if isset($module->preferences.interest) && $module->preferences.interest eq '1'}selected="selected"{/if}>{l s='Yes'}</option>
<option value="0" {if isset($module->preferences.interest) && $module->preferences.interest eq '0'}selected="selected"{/if}>{l s='No'}</option>
</select>
</td>
<td>
<select name="f_{$module->name}" class="moduleFavorite" style="width:50px">
<option value="" selected="selected">-</option>
<option value="1" {if isset($module->preferences.favorite) && $module->preferences.favorite eq '1'}selected="selected"{/if}>{l s='Yes'}</option>
<option value="0" {if isset($module->preferences.favorite) && $module->preferences.favorite eq '0'}selected="selected"{/if}>{l s='No'}</option>
</select>
</td>
<td id="r_{$module->name}">&nbsp;</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
<div class="row">
<div id="container" class="col-lg-12">
<div id="moduleContainer">
<table class="table">
<thead>
<tr class="nodrag nodrop">
<th></th>
<th>{l s='Module'}</th>
<th>{l s='Status'}</th>
<th>{l s='Tab'}</th>
<th>{l s='Categories'}</th>
<th>{l s='Interest'}</th>
<th>{l s='Favorite'}</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$modules key=km item=module}
<tr>
<td>
<img src="{if isset($module->image)}{$module->image}{else}../modules/{$module->name}/{$module->logo}{/if}" width="32" height="32" />
</td>
<td class="moduleName">
<h4>{$module->displayName}</h4>
<span class="moduleFavDesc text-muted">{$module->description|truncate:80:'...'}</span>
</td>
<td class="setup">
{if isset($module->id) && $module->id gt 0}
<span class="label label-success">{l s='Installed'}</span>
{else}
<span class="label label-warning">{l s='Not Installed'}</span>
{/if}
</td>
<td>
{assign var="module_name" value=$module->name}
<select name="t_{$module->name}" multiple="multiple">
{foreach $tabs AS $t}
{if $t.active}
<option {if isset($tab_modules_preferences.$module_name) && in_array($t.id_tab, $tab_modules_preferences.$module_name)} selected="selected" {/if} class="group" value="{$t.id_tab}">{if $t.name eq ''}{$t.class_name}{else}{$t.name}{/if}</option>
{foreach from=$t.sub_tabs item=t2}
{if $t2.active}
{assign var="id_tab" value=$t.id_tab}
<option {if isset($tab_modules_preferences.$module_name) && in_array($t2.id_tab, $tab_modules_preferences.$module_name)} selected="selected" {/if} value="{$t2.id_tab}">&nbsp;&nbsp;&nbsp;{if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'htmlall':'UTF-8'}{/if}</option>
{/if}
{/foreach}
{/if}
{/foreach}
</select>
</td>
<td>
<span>{$module->categoryName}</span>
</td>
<td>
<select name="i_{$module->name}" class="moduleFavorite">
<option value="" selected="selected">---</option>
<option value="1" {if isset($module->preferences.interest) && $module->preferences.interest eq '1'}selected="selected"{/if}>{l s='Yes'}</option>
<option value="0" {if isset($module->preferences.interest) && $module->preferences.interest eq '0'}selected="selected"{/if}>{l s='No'}</option>
</select>
</td>
<td>
<select name="f_{$module->name}" class="moduleFavorite">
<option value="" selected="selected">---</option>
<option value="1" {if isset($module->preferences.favorite) && $module->preferences.favorite eq '1'}selected="selected"{/if}>{l s='Yes'}</option>
<option value="0" {if isset($module->preferences.favorite) && $module->preferences.favorite eq '0'}selected="selected"{/if}>{l s='No'}</option>
</select>
</td>
<td id="r_{$module->name}">
<span>&nbsp;</span>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>

View File

@@ -22,54 +22,86 @@
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<script type="text/javascript" src="../js/jquery/plugins/jquery.uitablefilter.js"></script>
{if $add_permission eq '1'}
{if isset($logged_on_addons)}
<!--start addons login-->
<div class="filter-module" id="addons_login_div">
<p>{l s='You are logged into PrestaShop Addons.'}</p>
<div style="float:right">
<label><img src="themes/default/img/module-profile.png" /> {l s='Welcome'} {$username_addons}</label>
<label>|</label>
<label><a href="#" id="addons_logout_button"><img src="themes/default/img/module-logout.png" /> {l s='Log out from PrestaShop Addons.'}</a></label>
</div>
</div>
<!--end addons login-->
{else}
{if $check_url_fopen eq 'ko' OR $check_openssl eq 'ko'}
<div class="warn">
<b>{l s='If you want to be able to fully use the AdminModules panel and have free modules available, you should enable the following configuration on your server:'}</b><br />
{if $check_url_fopen eq 'ko'}- {l s='Enable allow_url_fopen'}<br />{/if}
{if $check_openssl eq 'ko'}- {l s='Enable php openSSL extension'}<br />{/if}
</div>
{else}
<!--start addons login-->
<div class="filter-module" id="addons_login_div">
<p>{l s='Do you have a %s account?' sprintf='<a href="http://addons.prestashop.com/">PrestaShop Addons</a>'}</p>
<form id="addons_login_form" method="post">
<label>{l s='Addons Login'} :</label> <input type="text" value="" id="username_addons" autocomplete="off" class="ac_input">
<label>{l s= 'Password Addons'} :</label> <input type="password" value="" id="password_addons" autocomplete="off" class="ac_input">
<input type="submit" class="button" id="addons_login_button" value="{l s='Log in'}">
<br /><span id="addons_loading" style="color:red"></span>
</form>
</div>
<!--end addons login-->
{/if}
{/if}
<div class="clear">&nbsp;</div>
{/if}
<!--start filter module-->
<form method="post" class="form-inline pull-right">
<!-- <span>
<select class="filter fixed-width-L" name="module_type" id="module_type_filter" {if $showTypeModules ne 'allModules' && $showTypeModules ne ''}style="background-color:#49B2FF;color:white;"{/if}>
<option value="allModules" {if $showTypeModules eq 'allModules'}selected="selected"{/if}>{l s='All Modules'}</option>
<option value="nativeModules" {if $showTypeModules eq 'nativeModules'}selected="selected"{/if}>{l s='Free Modules'}</option>
<option value="partnerModules" {if $showTypeModules eq 'partnerModules'}selected="selected"{/if}>{l s='Partner Modules (Free)'}</option>
<option value="mustHaveModules" {if $showTypeModules eq 'mustHaveModules'}selected="selected"{/if}>{l s='Must Have'}</option>
{if isset($logged_on_addons)}<option value="addonsModules" {if $showTypeModules eq 'addonsModules'}selected="selected"{/if}>{l s='Modules purchased on Addons'}</option>{/if}
<optgroup label="{l s='Authors'}">
{foreach from=$list_modules_authors key=module_author item=status}
<option value="authorModules[{$module_author}]" {if $status eq "selected"}selected{/if}>{$module_author|truncate:20:'...'}</option>
{/foreach}
</optgroup>
<option value="otherModules" {if $showTypeModules eq 'otherModules'}selected="selected"{/if}>{l s='Other Modules'}</option>
</select>
</span> -->
<label>{l s='Sort by'}</label>
<div class="form-group">
<select name="module_install" id="module_install_filter" class="form-control" {if $showInstalledModules ne 'installedUninstalled' && $showInstalledModules ne ''}style="background-color:#49B2FF;color:white;"{/if}>
<option value="installedUninstalled" {if $showInstalledModules eq 'installedUninstalled'}selected="selected"{/if}>{l s='Installed & Not Installed'}</option>
<option value="installed" {if $showInstalledModules eq 'installed'}selected="selected"{/if}>{l s='Installed Modules'}</option>
<option value="uninstalled" {if $showInstalledModules eq 'uninstalled'}selected="selected"{/if}>{l s='Modules Not Installed '}</option>
</select>
</div>
<div class="form-group">
<select name="module_status" id="module_status_filter" class="form-control" {if $showEnabledModules ne 'enabledDisabled' && $showEnabledModules ne ''}style="background-color:#49B2FF;color:white;"{/if}>
<option value="enabledDisabled" {if $showEnabledModules eq 'enabledDisabled'}selected="selected"{/if}>{l s='Enabled & Disabled'}</option>
<option value="enabled" {if $showEnabledModules eq 'enabled'}selected="selected"{/if}>{l s='Enabled Modules'}</option>
<option value="disabled" {if $showEnabledModules eq 'disabled'}selected="selected"{/if}>{l s='Disabled Modules'}</option>
</select>
</div>
<!-- <span>
<select class="filter fixed-width-XL" name="country_module_value" id="country_module_value_filter" {if $showCountryModules eq 1}style="background-color:#49B2FF;color:white;"{/if}>
<option value="0" >{l s='All countries'}</option>
<option value="1" {if $showCountryModules eq 1}selected="selected"{/if}>{l s='Current country:'} {$nameCountryDefault}</option>
</select>
</span> -->
<!-- <span class="pull-right">
<button class="btn btn-default btn-small" type="submit" name="resetFilterModules">
<i class="icon-eraser"></i>
{l s='Reset'}
</button>
<button class="btn btn-default btn-small" name="filterModules" id="filterModulesButton" type="submit">
<i class="icon-filter"></i>
{l s='Filter'}
</button>
</span> -->
</form>
<!--end filter module-->
<style>.ac_results { border:1px solid #C2C4D9; }</style>
<div class="filter-module">
<input style="float: left; margin-right: 15px" placeholder="{l s='Search'}" type="text" value="" name="quicksearch" autocomplete="off" onkeyup="$.uiTableFilter($('#moduleContainer').find('table'), this.value);">
<form method="post">
<div class="select-filter">
<label class="search-filter">{l s='Sort by'}:</label>
<select name="module_type" id="module_type_filter" {if $showTypeModules ne 'allModules' && $showTypeModules ne ''}style="background-color:#49B2FF;color:white;"{/if}>
<option value="allModules" {if $showTypeModules eq 'allModules'}selected="selected"{/if}>{l s='All Modules'}</option>
<option value="nativeModules" {if $showTypeModules eq 'nativeModules'}selected="selected"{/if}>{l s='Free Modules'}</option>
<option value="partnerModules" {if $showTypeModules eq 'partnerModules'}selected="selected"{/if}>{l s='Partner Modules (Free)'}</option>
<option value="mustHaveModules" {if $showTypeModules eq 'mustHaveModules'}selected="selected"{/if}>{l s='Must Have'}</option>
{if isset($logged_on_addons)}<option value="addonsModules" {if $showTypeModules eq 'addonsModules'}selected="selected"{/if}>{l s='Modules purchased on Addons'}</option>{/if}
<optgroup label="{l s='Authors'}">
{foreach from=$list_modules_authors key=module_author item=status}
<option value="authorModules[{$module_author}]" {if $status eq "selected"}selected{/if}>{$module_author|truncate:20:'...'}</option>
{/foreach}
</optgroup>
<option value="otherModules" {if $showTypeModules eq 'otherModules'}selected="selected"{/if}>{l s='Other Modules'}</option>
</select>
&nbsp;
<select name="module_install" id="module_install_filter" {if $showInstalledModules ne 'installedUninstalled' && $showInstalledModules ne ''}style="background-color:#49B2FF;color:white;"{/if}>
<option value="installedUninstalled" {if $showInstalledModules eq 'installedUninstalled'}selected="selected"{/if}>{l s='Installed & Not Installed'}</option>
<option value="installed" {if $showInstalledModules eq 'installed'}selected="selected"{/if}>{l s='Installed Modules'}</option>
<option value="uninstalled" {if $showInstalledModules eq 'uninstalled'}selected="selected"{/if}>{l s='Modules Not Installed '}</option>
</select>
&nbsp;
<select name="module_status" id="module_status_filter" {if $showEnabledModules ne 'enabledDisabled' && $showEnabledModules ne ''}style="background-color:#49B2FF;color:white;"{/if}>
<option value="enabledDisabled" {if $showEnabledModules eq 'enabledDisabled'}selected="selected"{/if}>{l s='Enabled & Disabled'}</option>
<option value="enabled" {if $showEnabledModules eq 'enabled'}selected="selected"{/if}>{l s='Enabled Modules'}</option>
<option value="disabled" {if $showEnabledModules eq 'disabled'}selected="selected"{/if}>{l s='Disabled Modules'}</option>
</select>
&nbsp;
<select name="country_module_value" id="country_module_value_filter" {if $showCountryModules eq 1}style="background-color:#49B2FF;color:white;"{/if}>
<option value="0" >{l s='All countries'}</option>
<option value="1" {if $showCountryModules eq 1}selected="selected"{/if}>{l s='Current country:'} {$nameCountryDefault}</option>
</select>
</div>
<div class="button-filter">
<input type="submit" value="{l s='Reset'}" name="resetFilterModules" class="button" />
<input type="submit" value="{l s='Filter'}" id="filterModulesButton" name="filterModules" class="button" />
</div>
</form>
</div>
<!--end filter module-->

View File

@@ -23,53 +23,43 @@
* International Registered Trademark & Property of PrestaShop SA
*}
<div class="page-head">
<h2 class="page-title">
{l s='List of modules'}
</h2>
<div class="page-bar toolbarBox">
<div class="btn-toolbar">
<ul class="cc_button nav nav-pills pull-right">
{if $add_permission eq '1'}
<li>
<a id="desc-module-new" class="toolbar_btn" href="#top_container" onclick="$('#module_install').slideToggle();" title="{l s='Add a new module'}">
<i class="process-icon-new-module" ></i>
<div>{l s='Add a new module'}</div>
</a>
</li>
{/if}
</ul>
<div class="toolbar-placeholder">
<div class="toolbarBox toolbarHead">
<ul class="cc_button">
{if $add_permission eq '1'}
<li>
<a id="desc-module-new" class="toolbar_btn" href="#top_container" onclick="$('#module_install').slideToggle();" title="{l s='Add a new module'}">
<span class="process-icon-new-module" ></span>
<div>{l s='Add a new module'}</div>
</a>
</li>
{/if}
</ul>
<div class="pageTitle">
<h3><span id="current_obj" style="font-weight: normal;"><span class="breadcrumb item-0">Module</span> : <span class="breadcrumb item-1">{l s='List of modules'}</span></span></h3>
</div>
</div>
</div>
{if $add_permission eq '1'}
<div id="module_install" class="row" style="{if !isset($smarty.post.downloadflag)}display: none;{/if}">
<div class="panel col-lg-12">
<form action="{$currentIndex}&token={$token}" method="post" enctype="multipart/form-data" class="form-horizontal">
<h3>{l s='Add a new module'}</h3>
<p class="alert alert-info">{l s='The module must either be a zip file or a tarball.'}</p>
<div class="form-group">
<label for="file" class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip" title="{l s='Upload a module from your computer.'}">
{l s='Module file'}
</span>
</label>
<div class="col-lg-3">
<input type="file" name="file" class="form-control" />
<div id="module_install" style="width:500px;margin-top:5px;{if !isset($smarty.post.downloadflag)}display: none;{/if}">
<fieldset>
<legend><img src="../img/admin/add.gif" alt="{l s='Add a new module'}" class="middle" /> {l s='Add a new module'}</legend>
<p>{l s='The module must either be a zip file or a tarball.'}</p>
<div style="float:left;margin-right:50px">
<form action="{$currentIndex}&token={$token}" method="post" enctype="multipart/form-data">
<label style="width: 100px">{l s='Module file'}</label>
<div class="margin-form" style="padding-left: 140px">
<input type="file" name="file" />
<p>{l s='Upload a module from your computer.'}</p>
</div>
</div>
<div class="form-group">
<div class="col-lg-9 col-lg-push-3">
<button class="btn btn-default" type="submit" name="download">
<i class="icon-upload-alt" ></i>
{l s='Upload this module'}
</button>
<div class="margin-form" style="padding-left: 140px">
<input type="submit" name="download" value="{l s='Upload this module'}" class="button" />
</div>
</div>
</form>
</div>
</form>
</div>
</fieldset>
<br />
</div>
{/if}

View File

@@ -87,7 +87,7 @@
});
// Method to check / uncheck all modules checkbox
$('#checkme').click(function()
$('#moduleContainer').on("click", "#checkme", function()
{
if ($(this).attr("rel") == 'false')
{
@@ -321,8 +321,8 @@
catch(e){}
return false;
});
$('.toggle_favorite').live('click', function(event)
$('#moduleContainer').on("click", ".toggle_favorite", function()
{
var el = $(this);
var value_pref = el.data('value');

View File

@@ -23,31 +23,17 @@
* International Registered Trademark & Property of PrestaShop SA
*}
<table id="module-list" class="table">
<thead>
<tr>
<th width="1%">
<!-- <input type="checkbox" rel="false" class="noborder" id="checkme"> -->
</th>
<th colspan="3">
<div class="pull-left">
{include file='controllers/modules/filters.tpl'}
</div>
<div class="btn-group pull-right">
<a class="btn btn-default {if !isset($smarty.get.select)} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}">
<i class="icon-list"></i>
{l s='Normal view'}
</a>
<a class="btn btn-default {if isset($smarty.get.select) && $smarty.get.select == 'favorites'} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}&select=favorites">
<i class="icon-star"></i>
{l s='Favorites view'}
</a>
</div>
</th>
</tr>
</thead>
{if count($modules)}
<table cellspacing="0" cellpadding="0" style="width: 100%; margin-bottom:10px;" class="table" id="">
<thead>
<tr class="nodrag nodrop">
<th class="center">
<input type="checkbox" rel="false" class="noborder" id="checkme"><br>
</th>
<th class="center"></th>
<th>{l s='Module name'}</th>
<th></th>
</tr>
<tbody>
{foreach from=$modules item=module}
<tr>
@@ -58,155 +44,83 @@
class="noborder">
{/if}
</td>
<td><img class="imgm" alt="" src="{if isset($module->image)}{$module->image}{else}../modules/{$module->name}/{$module->logo}{/if}"></td>
<td>
<img width="57" alt="" src="{if isset($module->image)}{$module->image}{else}../modules/{$module->name}/{$module->logo}{/if}" />
</td>
<td>
<div id="anchor{$module->name|ucfirst}">
<h3 class="module-title">
{$module->displayName}
<div class="moduleDesc" id="anchor{$module->name|ucfirst}" title="{$module->name}">
<h3>{$module->displayName}<span style="display:none">{$module->name}</span>
{if isset($module->type) && $module->type == 'addonsMustHave'}
<span class="label label-info">{l s='Must Have'}</span>
{elseif isset($module->id) && $module->id gt 0}
{if isset($module->version_addons) && $module->version_addons}
<span class="label label-warning">{l s='Need update'}</span>
{elseif $module->active == 1}
<span class="label label-info">{l s='Active'}</span>
{elseif $module->active == 0}
<span class="label label-warning">{l s='Inactive'}</span>
<span class="setup must-have">{l s='Must Have'}</span>
{else}
{if isset($module->id) && $module->id gt 0}
<span class="setup{if isset($module->active) && $module->active eq 0} off{/if}">{l s='Installed'}</span>
{else}
<span class="setup non-install">{l s='Not installed'}</span>
{/if}
{else}
<span class="label label-warning">{l s='Not installed'}</span>
{/if}
<!-- {if isset($module->id) && $module->id gt 0}
<span class="label label-success{if isset($module->active) && $module->active eq 0} off{/if}">{l s='Installed'}</span>
{else}
<span class="label label-warning">{l s='Not installed'}</span>
{/if} -->
</h3>
<div class="row">
<p class="module-infos">
<strong>{$module->categoryName}</strong> -
{if isset($module->author) && !empty($module->author)}
{l s='Developed by'} {$module->author|truncate:20:'...'}
{/if}
&nbsp;- {l s='Version'} : {$module->version}
{if isset($module->version_addons)}
({l s='Update'} {$module->version_addons} {l s='Available on PrestaShop Addons'})
{/if}
</p>
<p class="module-description">
{if isset($module->description) && $module->description ne ''}
{$module->description}
{/if}
</p>
</div>
{if isset($module->message) && (!isset($module->type) || ($module->type != 'addonsMustHave' || $module->type !== 'addonsNative'))}<div class="alert alert-success">{$module->message}</div>{/if}
</div>
</td>
<td>
<div class="btn-group list-action-button">
{if isset($module->type) && $module->type == 'addonsMustHave'}
<a class="btn btn-default" href="{$module->addons_buy_url}" target="_blank">
<i class="icon-shopping-cart"></i> &nbsp;{if isset($module->id_currency) && isset($module->price)}{displayPrice price=$module->price currency=$module->id_currency}{/if}
</a>
{else}
{if isset($module->id) && $module->id gt 0}
{if isset($module->version_addons) && $module->version_addons}
<a class="btn btn-warning" href="{$module->options.update_url}">
<i class="icon-refresh"></i> {l s='Update it!'}
</a>
{elseif !isset($module->not_on_disk)}
{if $module->optionsHtml|count > 0}
{assign var=option value=$module->optionsHtml[0]}
{$option}
{/if}
{else}
<a class="btn btn-danger" {if !empty($module->options.uninstall_onclick)}onclick="{$module->options.uninstall_onclick}"{/if} href="{$module->options.uninstall_url}">
<i class="icon-minus-sign-alt"></i>&nbsp;{l s='Uninstall'}
</a>
{/if}
{else}
<a class="btn btn-success" href="{$module->options.install_url}">
<i class="icon-plus-sign-alt"></i>&nbsp;{l s='Install'}
</a>
<div class="metadata">
{if isset($module->author) && !empty($module->author)}
<dl class="">
<dt>{l s='Developed by'} :</dt>
<dd>{$module->author|truncate:20:'...'}</dd>|
</dl>
{/if}
<dl class="">
<dt>{l s='Version'} :</dt>
<dd>{$module->version}
{if isset($module->version_addons)}({l s='Update'} {$module->version_addons} {l s='Available on PrestaShop Addons'}){/if}
</dd>|
</dl>
<dl class="">
<dt>{l s='Category'} :</dt>
<dd>{$module->categoryName}</dd>
</dl>
</div>
<p class="desc">{if isset($module->description) && $module->description ne ''}{l s='Description'} : {$module->description}{else}&nbsp;{/if}</p>
{if isset($module->message) && (empty($module->name) === false) && (!isset($module->type) || ($module->type != 'addonsMustHave' || $module->type !== 'addonsNative'))}<div class="conf">{$module->message}</div>{/if}
<div class="row-actions-module">
{if !isset($module->not_on_disk)}
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
<span class="caret">&nbsp;</span>
</button>
<ul class="dropdown-menu">
{foreach $module->optionsHtml key=key item=option}
{if $key != 0}
<li>{$option}</li>
{/if}
{/foreach}
{if isset($module->preferences) && isset($module->preferences['favorite']) && $module->preferences['favorite'] == 1}
<li>
<a class="action_module action_unfavorite toggle_favorite" data-module="{$module->name}" data-value="0" href="#">
<i class="icon-star"></i> {l s='Remove from Favorites'}
</a>
</li>
<li>
<a class="action_module action_favorite toggle_favorite" data-module="{$module->name}" data-value="1" href="#" style="display: none;">
<i class="icon-star"></i> {l s='Mark as Favorite'}
</a>
</li>
{$module->optionsHtml}
{if isset($module->preferences) && $module->preferences['favorite'] == 1}
<a class="action_module action_unfavorite toggle_favorite" data-module="{$module->name}" data-value="0" href="#">{l s='Remove from Favorites'}</a>
<a class="action_module action_favorite toggle_favorite" data-module="{$module->name}" data-value="1" href="#" style="display: none;">{l s='Mark as Favorite'}</a>
{else}
<li>
<a class="action_module action_unfavorite toggle_favorite" data-module="{$module->name}" data-value="0" href="#" style="display: none;">
<i class="icon-star"></i> {l s='Remove from Favorites'}
</a>
</li>
<li>
<a class="action_module action_favorite toggle_favorite" data-module="{$module->name}" data-value="1" href="#">
<i class="icon-star"></i> {l s='Mark as Favorite'}
</a>
</li>
<a class="action_module action_unfavorite toggle_favorite" data-module="{$module->name}" data-value="0" href="#" style="display: none;">{l s='Remove from Favorites'}</a>
<a class="action_module action_favorite toggle_favorite" data-module="{$module->name}" data-value="1" href="#">{l s='Mark as Favorite'}</a>
{/if}
</ul>
{else}
&nbsp;
{/if}
{/if}
</div>
</div>
</td>
<td>
<ul id="list-action-button">
{if isset($module->type) && $module->type == 'addonsMustHave'}
<li>
<a href="{$module->addons_buy_url}" target="_blank" class="button updated"><span><img src="../img/admin/cart_addons.png">&nbsp;&nbsp;{if isset($module->id_currency) && isset($module->price)}{displayPrice price=$module->price currency=$module->id_currency}{/if}</span></a>
</li>
{else}
{if isset($module->version_addons) && $module->version_addons}
<li><a href="{$module->options.update_url}" class="button updated"><span>{l s='Update it!'}</span></a></li>
{/if}
<li>
<a {if isset($module->id) && $module->id gt 0 && !empty($module->options.uninstall_onclick)}onclick="{$module->options.uninstall_onclick}"{/if} href="{if isset($module->id) && $module->id gt 0}{$module->options.uninstall_url}{else}{$module->options.install_url}{/if}" class="button installed">
<span>{if isset($module->id) && $module->id gt 0}{l s='Uninstall'}{else}{l s='Install'}{/if}</span>
</a>
</li>
{/if}
</ul>
</td>
</tr>
{/foreach}
</tbody>
<tfoot>
<tr>
<td colspan="4">
<div class="btn-group pull-left">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
{l s='bulk actions'}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#" onclick="modules_management('install')">
<i class="icon-plus-sign-alt"></i>&nbsp;
{l s='Install the selection'}
</a>
</li>
<li>
<a href="#" onclick="modules_management('uninstall')">
<i class="icon-minus-sign-alt"></i>&nbsp;
{l s='Uninstall the selection'}
</a>
</li>
</ul>
</div>
</td>
</tr>
</tfoot>
</table>
<div style="margin-top: 12px;">
<input type="button" class="button big" value="{l s='Install the selection'}" onclick="modules_management('install')"/>
<input type="button" class="button big" value="{l s='Uninstall the selection'}" onclick="modules_management('uninstall')" />
</div>
{else}
<tbody>
<tr>
<td colspan="4" class="text-center"><i class="icon-warning-sign"></i> {l s='No modules available in this section.'}</td>
</tr>
</tbody>
</table>
<div style="margin-top: 12px;color: #585A69;font-size: 16px;"><p align="center">{l s='No modules available in this section.'}</p></div>
{/if}

View File

@@ -1,81 +0,0 @@
{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{if $add_permission eq '1'}
<div class="panel">
{if isset($logged_on_addons)}
<!--start addons login-->
<div class="panel-heading">
<i class="icon-user"></i>
{l s='You are logged into %s' sprintf='<a target="_blank" href="http://addons.prestashop.com/">PrestaShop Addons</a>'}
</div>
<div id="addons_login_div">
<p>{l s='Welcome'} {$username_addons}</p>
<a class="btn btn-default" href="#" id="addons_logout_button">
<i class="icon-signout"></i> {l s='Log out from PrestaShop Addons.'}
</a>
</div>
<!--end addons login-->
{else}
{if $check_url_fopen eq 'ko' OR $check_openssl eq 'ko'}
<div class="alert alert-warning">
{l s='If you want to be able to fully use the AdminModules panel and have free modules available, you should enable the following configuration on your server:'}
<br />
{if $check_url_fopen eq 'ko'}- {l s='Enable allow_url_fopen'}<br />{/if}
{if $check_openssl eq 'ko'}- {l s='Enable php openSSL extension'}<br />{/if}
</div>
{else}
<!--start addons login-->
<div class="panel-heading">
<i class="icon-user"></i>
<a target="_blank" href="http://addons.prestashop.com/">PrestaShop Addons</a>
</div>
<form id="addons_login_form" method="post" >
<div class="form-group">
<label for="username_addons">{l s='Addons Login'} :</label>
<div class="input-group">
<span class="input-group-addon"><i class="icon-user"></i></span>
<input id="username_addons" class="form-control" name="username_addons" type="text" value="" autocomplete="off" class="form-control ac_input">
</div>
</div>
<div class="form-group">
<label for="password_addons">{l s= 'Password Addons'} :</label>
<div class="input-group">
<span class="input-group-addon"><i class="icon-key"></i></span>
<input id="password_addons" class="form-control" name="password_addons" type="password" value="" autocomplete="off" class="form-control ac_input">
</div>
</div>
<div class="form-group">
<button id="addons_login_button" class="btn btn-default" type="submit">
<i class="icon-unlock"></i> {l s='Log in'}
</button>
</div>
<div id="addons_loading" class="help-block"></div>
</form>
<!--end addons login-->
{/if}
{/if}
</div>
{/if}

View File

@@ -23,55 +23,50 @@
* International Registered Trademark & Property of PrestaShop SA
*}
<div id="productBox">
{include file='controllers/modules/header.tpl'}
{include file='controllers/modules/filters.tpl'}
{if $upgrade_available|@count}
<div class="alert alert-info">
{l s='An upgrade is available for some of your modules!'}
<ul>
{foreach from=$upgrade_available item='module'}
<li> &raquo; <a href="{$currentIndex|escape:htmlall}&token={$token|escape:htmlall}&anchor=anchor{$module.anchor|escape:htmlall}"><b>{$module.name|escape:htmlall}</b></a></li>
{/foreach}
</ul>
</div>
<div class="hint" style="display:block;">
{l s='An upgrade is available for some of your modules!'}
<ul>
{foreach from=$upgrade_available item='module'}
<li> &raquo; <a href="{$currentIndex|escape:htmlall}&token={$token|escape:htmlall}&anchor=anchor{$module.anchor|escape:htmlall}"><b>{$module.name|escape:htmlall}</b></a></li>
{/foreach}
</ul>
</div>
{/if}
<div class="panel">
<div class="panel-heading">
<i class="icon-list-ul"></i>
{l s='Modules list'}
</div>
<!--start sidebar module-->
<div class="row">
<div class="categorieTitle col-lg-3">
<div class="list-group">
<form id="filternameForm" method="post" class="list-group-item form-horizontal">
<div class="input-group col-lg-12">
<input type="text" value="" name="filtername" autocomplete="off" class="ac_input">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="icon-search"></i> {l s='Search'}
</button>
</span>
</div>
</form>
<a class="list-group-item {if isset($categoryFiltered.favorites)}active{/if}" href="{$currentIndex}&token={$token}&filterCategory=favorites">
{l s='Favorites'} <span class="badge pull-right">{$nb_modules_favorites}</span>
</a>
<a class="list-group-item {if count($categoryFiltered) lte 0}active{/if}" href="{$currentIndex}&token={$token}&unfilterCategory=yes">
{l s='All'} <span class="badge pull-right">{$nb_modules}</span>
</a>
{foreach from=$list_modules_categories item=module_category key=module_category_key}
<a class="list-group-item {if isset($categoryFiltered[$module_category_key])}active{/if}" href="{$currentIndex}&token={$token}&{if isset($categoryFiltered[$module_category_key])}un{/if}filterCategory={$module_category_key}">
{$module_category.name} <span class="badge pull-right">{$module_category.nb}</span>
</a>
{/foreach}
</div>
{include file='controllers/modules/login_addons.tpl'}
</div>
<div id="moduleContainer" class="col-lg-9">
{include file='controllers/modules/list.tpl'}
</div>
<ul class="view-modules">
<li class="button normal-view-disabled"><img src="themes/default/img/modules_view_layout_sidebar.png" alt="{l s='Normal view'}" border="0" /><span>{l s='Normal view'}</span></li>
<li class="button favorites-view"><a href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}&select=favorites"><img src="themes/default/img/modules_view_table_select_row.png" alt="{l s='Favorites view'}" border="0" /><span>{l s='Favorites view'}</span></a></li>
</ul>
<div id="container">
<!--start sidebar module-->
<div class="sidebar">
<div class="categorieTitle">
<h3>{l s='Categories'}</h3>
<div class="subHeadline">&nbsp;</div>
<ul class="categorieList">
<li {if isset($categoryFiltered.favorites)}style="background-color:#EBEDF4"{/if} class="categoryModuleFilterLink">
<div class="categorieWidth"><a href="{$currentIndex}&token={$token}&filterCategory=favorites"><span><b>{l s='Favorites'}</b></span></a></div>
<div class="count"><b>{$nb_modules_favorites}</b></div>
</li>
<li {if count($categoryFiltered) lte 0}style="background-color:#EBEDF4"{/if} class="categoryModuleFilterLink">
<div class="categorieWidth"><a href="{$currentIndex}&token={$token}&unfilterCategory=yes"><span><b>{l s='Total'}</b></span></a></div>
<div class="count"><b>{$nb_modules}</b></div>
</li>
{foreach from=$list_modules_categories item=module_category key=module_category_key}
<li {if isset($categoryFiltered[$module_category_key])}style="background-color:#EBEDF4"{/if} class="categoryModuleFilterLink">
<div class="categorieWidth"><a href="{$currentIndex}&token={$token}&filterCategory={$module_category_key}"><span>{$module_category.name}</span></a></div>
<div class="count">{$module_category.nb}</div>
</li>
{/foreach}
</ul>
</div>
</div>
</div>
<div id="moduleContainer">
{include file='controllers/modules/list.tpl'}
</div>
</div>
</div>

View File

@@ -24,78 +24,55 @@
* International Registered Trademark & Property of PrestaShop SA
*}
<tr>
<td class="center">
<img width="32" alt="" src="{if isset($module->image)}{$module->image}{else}../modules/{$module->name}/{$module->logo}{/if}">
</td>
<tr class="{$class_row}">
<td>
<div id="anchor{$module->name|ucfirst}">
<span>
{$module->displayName|truncate:40:'…'} {$module->version}
{if isset($module->id) && $module->id gt 0 }
{if $module->active}
<span class="label label-success">{l s='Enabled'}</span>
{else}
<span class="label label-warning">{l s='Disabled'}</span>
{/if}
{else}
<table border="0" cellpadding="0" cellspacing="5">
<tr>
<td valign="top" width="32" align="center">
<img class="imgm" alt="" src="{if isset($module->image)}{$module->image}{else}../modules/{$module->name}/{$module->logo}{/if}">
</td>
<td valign="top">
<div class="moduleDesc" id="anchor{$module->name|ucfirst}">
<h3>
<span style="display:none">{$module->name}</span>
{$module->displayName|truncate:36:'…'} {$module->version}
{if isset($module->id) && $module->id gt 0 }
{if $module->active}
<span class="setup">{l s='Enabled'}</span>
{else}
<span class="setup off">{l s='Disabled'}</span>
{/if}
{else}
{if isset($module->type) && $module->type == 'addonsMustHave'}
<span class="setup must-have">{l s='Must Have'}</span>
{else}
<span class="setup off">{l s='Not installed'}</span>
{/if}
{/if}
</h3>
<p class="desc">
{if isset($module->description) && $module->description ne ''}
{$module->description|truncate:86:'…'}
{else}
&nbsp;
{/if}
</p>
</div>
</td>
<td border="0" valign="middle" align="right">
{if isset($module->type) && $module->type == 'addonsMustHave'}
<span class="label label-danger">{l s='Must Have'}</span>
<a href="{$module->addons_buy_url}" target="_blank" class="button updated">
<span><img src="../img/admin/cart_addons.png">&nbsp;&nbsp;{displayPrice price=$module->price currency=$module->id_currency}</span></a>
{else if !isset($module->not_on_disk)}
{$module->optionsHtml}
<div class="clear">&nbsp;</div>
<a href="#" class="button action_tab_module" data-option="select_{$module->name}" class="button">{l s='Submit'}</a>
{else}
<span class="label label-warning">{l s='Not installed'}</span>
<a href="{$module->options.install_url}" class="button">{l s='Install'}</a>
{/if}
{/if}
</span>
{if isset($module->description) && $module->description ne ''}
<p class="text-muted">
{$module->description|truncate:100:'…'}
</p>
{/if}
</div>
</td>
</tr>
</table>
</td>
{if isset($module->type) && $module->type == 'addonsMustHave'}
<td>&nbsp;</td>
<td align="right">
<p>
<a href="{$module->addons_buy_url}" target="_blank" class="button updated">
<span class="btn btn-default">
<i class="icon-shopping-cart"></i> &nbsp;&nbsp;{displayPrice price=$module->price currency=$module->id_currency}
</span>
</a>
</p>
</td>
{else if !isset($module->not_on_disk)}
<td>&nbsp;</td>
<td align="right">
{if $module->optionsHtml|count > 0}
<div id="list-action-button" class="btn-group">
{assign var=option value=$module->optionsHtml[0]}
{$option}
{if $module->optionsHtml|count > 1}
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
<span class="caret">&nbsp;</span>
</button>
<ul class="dropdown-menu">
{foreach $module->optionsHtml key=key item=option}
{if $key != 0}
<li>{$option}</li>
{/if}
{/foreach}
</ul>
{/if}
</div>
{/if}
</td>
{else}
<td>&nbsp;</td>
<td align="right">
<p>
<a href="{$module->options.install_url}" class="btn btn-default">
<i class="icon-plus-sign-alt"></i>
{l s='Install'}
</a>
</p>
</td>
{/if}
</tr>

View File

@@ -25,47 +25,62 @@
*}
{if isset($tab_modules_list) && !empty($tab_modules_list)}
<div class="row">
<div class="col-lg-12">
<ul class="nav nav-tabs">
{if count($tab_modules_list.installed)}
<li class="active">
<a href="#tab_modules_list_installed" data-toggle="tab">
{l s='Installed'}
</a>
</li>
{/if}
{if count($tab_modules_list.not_installed)}
<li{if count($tab_modules_list.installed) == 0} class="active"{/if}>
<a href="#tab_modules_list_not_installed" data-toggle="tab">
{l s='Not Installed'}
</a>
</li>
{/if}
</ul>
</div>
</div>
<div id="modules_list_container_content" class="tab-content">
<div class="tab-pane{if count($tab_modules_list.installed)} active{/if}" id="tab_modules_list_installed">
{if count($tab_modules_list.installed)}
<table id="tab_modules_list_installed" class="table">
{foreach from=$tab_modules_list.installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
</table>
{/if}
</div>
<div class="tab-pane{if count($tab_modules_list.installed) == 0} active{/if}" id="tab_modules_list_not_installed">
{if count($tab_modules_list.not_installed)}
<table id="tab_modules_list_not_installed" class="table">
{foreach from=$tab_modules_list.not_installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
</table>
{/if}
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#nav_tabs_modules_installed').click(function () { showInstalledModules() });
$('#nav_tabs_modules_not_installed').click(function () { showNotInstalledModules() });
{if count($tab_modules_list.installed)}
showInstalledModules();
{else}
showNotInstalledModules();
{/if}
bindTabModuleListAction();
});
function showInstalledModules(element)
{
$('#tab_modules_list_not_installed').hide();
$('#tab_modules_list_installed').show();
$('#nav_tabs_modules_installed').parent('li').addClass('active');
$('#nav_tabs_modules_not_installed').parent('li').removeClass('active');
return false;
}
function showNotInstalledModules(element)
{
$('#tab_modules_list_installed').hide();
$('#tab_modules_list_not_installed').show();
$(element).parent('li').addClass('active');
$('#nav_tabs_modules_not_installed').parent('li').removeClass('active');
return false;
}
</script>
<ul class="nav-tabs-modules">
{if count($tab_modules_list.installed)}
<li><a id="nav_tabs_modules_installed" href="#" onclick="">{l s='Installed'}</a></li>
{/if}
{if count($tab_modules_list.not_installed)}
<li><a href="#" id="nav_tabs_modules_not_installed" >{l s='Not Installed'}</a></li>
{/if}
</ul>
<div id="modules_list_container_content" style="clear:both">
{if count($tab_modules_list.installed)}
<table id="tab_modules_list_installed" style="clear:both">
{foreach from=$tab_modules_list.installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
</table>
{/if}
{if count($tab_modules_list.not_installed)}
<table id="tab_modules_list_not_installed" style="display:none;clear:both">
{foreach from=$tab_modules_list.not_installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
</table>
{/if}
</div>
{/if}
<div class="alert alert-warning">
<a href="{$admin_module_favorites_view}">{l s='More options'}</a>
</div>
<p style="text-align:right;text-decoration:underline;padding-right:10px"><a href="{$admin_module_favorites_view}" style="color:#666">{l s='More options'}</a></p>

View File

@@ -26,64 +26,50 @@
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
<div class="leadin">{block name="leadin"}{/block}</div>
<form action="{$url_submit}" id="{$table}_form" method="post" class="form-horizontal">
<form action="{$url_submit}" id="{$table}_form" method="post">
{if $display_key}
<input type="hidden" name="show_modules" value="{$display_key}" />
{/if}
<fieldset>
<h3>
<i class="icon-paste"></i>
{l s='Transplant a module'}
</h3>
<div class="row">
<label class="control-label col-lg-3 required"> {l s='Module:'}</label>
<div class="col-lg-6">
<select name="id_module" {if $edit_graft} disabled="disabled"{/if}>
{foreach $modules as $module}
<option value="{$module->id}" {if $id_module == $module->id || (!$id_module && $show_modules == $module->id)}selected="selected"{/if}>{$module->displayName|stripslashes}</option>
{/foreach}
</select>
</div>
<legend><img src="../img/t/AdminModulesPositions.gif" />{l s='Transplant a module'}</legend>
<label>{l s='Module'} :</label>
<div class="margin-form">
<select name="id_module" {if $edit_graft} disabled="disabled"{/if}>
{foreach $modules as $module}
<option value="{$module->id}" {if $id_module == $module->id || (!$id_module && $show_modules == $module->id)}selected="selected"{/if}>{$module->displayName|stripslashes}</option>
{/foreach}
</select><sup> *</sup>
</div>
<div class="row">
<label class="control-label col-lg-3 required"> {l s='Hook into'} :</label>
<div class="col-lg-6">
<select name="id_hook" {if $edit_graft} disabled="disabled"{/if}>
{foreach $hooks as $hook}
<option value="{$hook['id_hook']}" {if $id_hook == $hook['id_hook']} selected="selected"{/if}>{$hook['name']}{if $hook['name'] != $hook['title']} ({$hook['title']}){/if}</option>
{/foreach}
</select>
</div>
<label>{l s='Hook into'} :</label>
<div class="margin-form">
<select name="id_hook" {if $edit_graft} disabled="disabled"{/if}>
{foreach $hooks as $hook}
<option value="{$hook['id_hook']}" {if $id_hook == $hook['id_hook']} selected="selected"{/if}>{$hook['name']}{if $hook['name'] != $hook['title']} ({$hook['title']}){/if}</option>
{/foreach}
</select><sup> *</sup>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Exceptions'} :</label>
<div class="col-lg-6">
<div class="alert alert-warning">
<p>
{l s='Please specify the files for which you do not want the module to be displayed.'}<br />
{l s='Please input each filename, separated by a comma.'}<br />
{if !$except_diff}
{$exception_list}
{else}
{foreach $exception_list_diff as $value}
{$value}
{/foreach}
{/if}
</p>
</div>
</div>
<label>{l s='Exceptions'} :</label>
<div class="margin-form">
{l s='Please specify the files for which you do not want the module to be displayed.'}<br />
{l s='Please input each filename, separated by a comma.'}<br />
{if !$except_diff}
{$exception_list}
{else}
{foreach $exception_list_diff as $value}
{$value}
{/foreach}
{/if}
</div>
<div class="row">
<div class="col-lg-12">
{if $edit_graft}
<input type="hidden" name="id_module" value="{$id_module}" />
<input type="hidden" name="id_hook" value="{$id_hook}" />
{/if}
<input type="submit" value="{l s='Save'}" name="{if $edit_graft}submitEditGraft{else}submitAddToHook{/if}" id="{$table}_form_submit_btn" class="btn btn-primary" />
</div>
<div class="margin-form">
{if $edit_graft}
<input type="hidden" name="id_module" value="{$id_module}" />
<input type="hidden" name="id_hook" value="{$id_hook}" />
{/if}
<input type="submit" value="{l s='Save'}" name="{if $edit_graft}submitEditGraft{else}submitAddToHook{/if}" id="{$table}_form_submit_btn" class="button" />
</div>
<div class="small"><sup>*</sup> {l s='Required field'}</div>
</fieldset>
</form>
<script type="text/javascript">
@@ -121,4 +107,4 @@
});
});
//]]>
</script>
</script>

View File

@@ -30,145 +30,103 @@
<script type="text/javascript" src="../js/admin-dnd.js"></script>
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
<div>{block name="leadin"}{/block}</div>
<div class="leadin">{block name="leadin"}{/block}</div>
<div class="row">
<div class="col-lg-9">
<div class="panel">
<form class="form-inline well">
<label>{l s='Show'} :</label>
<span>
<select id="show_modules" onChange="autoUrl('show_modules', '{$url_show_modules}')" class="filter fixed-width-XL">
<option value="all">{l s='All modules'}&nbsp;</option>
<option>---------------</option>
{foreach $modules as $module}
<option value="{$module->id|intval}" {if $display_key == $module->id}selected="selected"{/if}>{$module->displayName}</option>
{/foreach}
</select>
</span>
<p class="checkbox">
<label class="control-label" for="hook_position">
<input type="checkbox" id="hook_position" onclick="autoUrlNoList('hook_position', '{$url_show_invisible}')" {if $hook_position}checked="checked"{/if} />
{l s='Display non-positionable hooks'}
</label>
</p>
</form>
<div class="filter-module">
<form>
{l s='Show'} :
<select id="show_modules" onChange="autoUrl('show_modules', '{$url_show_modules}')">
<option value="all">{l s='All modules'}&nbsp;</option>
<option>-</option>
<div id="modulePosition">
<form method="post" action="{$url_submit}" >
{foreach $modules as $module}
<option value="{$module->id|intval}" {if $display_key == $module->id}selected="selected"{/if}>{$module->displayName}</option>
{/foreach}
</select>
<br /><br />
<input type="checkbox" id="hook_position" onclick="autoUrlNoList('hook_position', '{$url_show_invisible}')" {if $hook_position}checked="checked"{/if} />&nbsp;
<label class="t" for="hook_position">{l s='Display non-positionable hooks'}</label>
</form>
</div>
<br/>
<div>
<div id="modulePosition">
<div class="blocLiveEdit"><h2>{l s='LiveEdit'}</h2>
{if $live_edit}
<p>{l s='You have to select a shop to use LiveEdit'}</p>
{else}
<p>{l s='Click here to be redirected to the Front Office of your shop where you can move and delete modules directly.'}</p>
<a href="{$url_live_edit}" target="_blank" class="button">{l s='Run LiveEdit'}</a>
{/if}
</div>
<form method="post" action="{$url_submit}">
<div id="unhook_button_position_top">
<input class="button floatr" type="submit" name="unhookform" value="{l s='Unhook the selection'}"/></div>
{if !$can_move}
<span class="alert">
{l s='If you want to order/move the following data, please select a shop from the shop list.'}
</span>
<br /><div><b>{l s='If you want to order/move the following data, please select a shop from the shop list.'}</b></div>
{/if}
{foreach $hooks as $hook}
<section class="hook_panel">
<a name="{$hook['name']}"></a>
<header class="hook_panel_header">
<span class="hook_name">{$hook['name']}</span>
<span class="hook_title">{$hook['title']}</span>
<a name="{$hook['name']}"/>
<table cellpadding="0" cellspacing="0" class="table widthfull space {if $hook['module_count'] >= 2} tableDnD{/if}" id="{$hook['id_hook']}">
<colgroup>
<col width="10">
<col width="30">
<col width="40">
<col width="">
<col width="50">
</colgroup>
<tr class="nodrag nodrop"><th colspan="5"> {if $hook['module_count'] && $can_move}
<input type="checkbox" id="Ghook{$hook['id_hook']}" style="margin-right: 2px;" onclick="hookCheckboxes({$hook['id_hook']}, 0, this)"/>
{/if}{$hook['title']} - <span style="color: red">{$hook['module_count']}</span> {if $hook['module_count'] > 1}{l s='Modules'}{else}{l s='Module'}{/if}
<span class="badge pull-right">
{if $hook['module_count'] && $can_move}
<input type="checkbox" id="Ghook{$hook['id_hook']}" onclick="hookCheckboxes({$hook['id_hook']}, 0, this)"/>
{/if}
{$hook['module_count']} {if $hook['module_count'] > 1}{l s='Modules'}{else}{l s='Module'}{/if}
</span>
{if !empty($hook['description'])}
<div class="hook_description">{$hook['description']}</div>
&nbsp;<span style="font-size:0.8em; font-weight: normal">[{$hook['description']}]</span>
{/if}
</header>
<span style="color:grey;">({l s='Technical name: '}{$hook['name']})</span></th></tr>
{if $hook['module_count']}
<section class="module_list">
{foreach $hook['modules'] as $position => $module}
{if isset($module['instance'])}
<div id="{$hook['id_hook']}_{$module['instance']->id}" class="module_list_item">
<div class="module_col_select">
<input type="checkbox" id="mod{$hook['id_hook']}_{$module['instance']->id}" class="hook{$hook['id_hook']}" onclick="hookCheckboxes({$hook['id_hook']}, 1, this)" name="unhooks[]" value="{$hook['id_hook']}_{$module['instance']->id}"/>
</div>
{if !$display_key}
<div class="module_col_position" {if $can_move && $hook['module_count'] >= 2}class="dragHandle"{/if} id="td_{$hook['id_hook']}_{$module['instance']->id}">
<span class="positions">{$module@iteration}</span>
<tr id="{$hook['id_hook']}_{$module['instance']->id}" {cycle values='class="alt_row",'} style="height: 42px;">
<td align=center ><input type="checkbox" id="mod{$hook['id_hook']}_{$module['instance']->id}" class="hook{$hook['id_hook']}" onclick="hookCheckboxes({$hook['id_hook']}, 1, this)" name="unhooks[]" value="{$hook['id_hook']}_{$module['instance']->id}"/></td>
{if !$display_key}
<td align=center class="positions">{$module@iteration}</td>
<td {if $can_move && $hook['module_count'] >= 2} align=center class="dragHandle"{/if} id="td_{$hook['id_hook']}_{$module['instance']->id}">
{if $can_move}
<div class="btn-group-vertical">
<a class="btn btn-default btn-xs" {if {$module@iteration} == 1} disabled{/if} href="{$current}&id_module={$module['instance']->id}&id_hook={$hook['id_hook']}&direction=0&token={$token}&changePosition#{$hook['name']}">
<i class="icon-chevron-up"></i>
</a>
<a class="btn btn-default btn-xs" {if {$module@iteration} == count($hook['modules'])}disabled{/if} href="{$current}&id_module={$module['instance']->id}&id_hook={$hook['id_hook']}&direction=1&token={$token}&changePosition#{$hook['name']}">
<i class="icon-chevron-down"></i>
</a>
</div>
<a {if {$module@iteration} == 1} style="display: none;"{/if} href="{$current}&id_module={$module['instance']->id}&id_hook={$hook['id_hook']}&direction=0&token={$token}&changePosition#{$hook['name']}">
<img src="../img/admin/up.gif" alt="{l s='Up'}" title="{l s='Up'}" />
</a><br />
<a {if {$module@iteration} == count($hook['modules'])} style="display: none;"{/if} href="{$current}&id_module={$module['instance']->id}&id_hook={$hook['id_hook']}&direction=1&token={$token}&changePosition#{$hook['name']}">
<img src="../img/admin/down.gif" alt="{l s='Down'}" title="{l s='Down'}" />
</a>
{/if}
</div>
{/if}
<div class="module_col_icon">
<img src="../modules/{$module['instance']->name}/logo.png" alt="{$module['instance']->name|stripslashes}" />
</div>
<div class="module_col_infos"><span class="module_name">
{$module['instance']->displayName|stripslashes} {if $module['instance']->version}
<small class="text-muted">&nbsp;-&nbsp;v{if $module['instance']->version|intval == $module['instance']->version}{sprintf('%.1f', $module['instance']->version)}{else}{$module['instance']->version|floatval}{/if}</small>{/if}
</span>
<div class="module_description">{$module['instance']->description}</div></div>
<div class="module_col_actions">
<!-- <div class="lab_modules_positions" for="mod{$hook['id_hook']}_{$module['instance']->id}"></div> -->
<div class="btn-group">
<a class="btn btn-default" href="{$current}&id_module={$module['instance']->id}&id_hook={$hook['id_hook']}&editGraft{if $display_key}&show_modules={$display_key}{/if}&token={$token}">
<i class="icon-pencil"></i>
{l s='Edit'}
</a>
<a class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>&nbsp;
</a>
<ul class="dropdown-menu">
<li>
<a href="{$current}&id_module={$module['instance']->id}&id_hook={$hook['id_hook']}&deleteGraft{if $display_key}&show_modules={$display_key}{/if}&token={$token}">
<i class="icon-minus-sign-alt"></i>
{l s='Unhook'}
</a>
</li>
</ul>
</div>
</div>
</div>
</td>
<td><div class="lab_modules_positions" for="mod{$hook['id_hook']}_{$module['instance']->id}">
{else}
<td colspan="3"><div class="lab_modules_positions" for="mod{$hook['id_hook']}_{$module['instance']->id}">
{/if}
<img src="../modules/{$module['instance']->name}/logo.png" alt="{$module['instance']->name|stripslashes}" /> <h3>{$module['instance']->displayName|stripslashes}</h3>
<span>{if $module['instance']->version}v{if $module['instance']->version|intval == $module['instance']->version}{sprintf('%.1f', $module['instance']->version)}{else}{$module['instance']->version|floatval}{/if}{/if}</span><p>{$module['instance']->description}</p>
</div></td>
<td>
<a href="{$current}&id_module={$module['instance']->id}&id_hook={$hook['id_hook']}&editGraft{if $display_key}&show_modules={$display_key}{/if}&token={$token}">
<img src="../img/admin/edit.gif" border="0" alt="{l s='Edit'}" title="{l s='Edit'}" />
</a>
<a href="{$current}&id_module={$module['instance']->id}&id_hook={$hook['id_hook']}&deleteGraft{if $display_key}&show_modules={$display_key}{/if}&token={$token}">
<img src="../img/admin/delete.gif" border="0" alt="{l s='Delete'}" title="{l s='Delete'}" />
</a>
</td>
</tr>
{/if}
{/foreach}
</section>
{else}
<!-- <p>{l s='No module was found for this hook.'}</p> -->
<tr><td colspan="5">{l s='No module was found for this hook.'}</td></tr>
{/if}
</section>
</table>
{/foreach}
<div id="unhook_button_position_bottom">
<button type="submit" class="btn btn-default" name="unhookform">
<i class="icon-minus-sign-alt"></i>
{l s='Unhook the selection'}
</button>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-3">
<div class="panel">
<h3><i class="icon-eye-open"></i> {l s='LiveEdit'}</h3>
{if $live_edit}
<p>{l s='You have to select a shop to use LiveEdit'}</p>
{else}
<p>{l s='Click here to be redirected to the Front Office of your shop where you can move and delete modules directly.'}</p>
<a class="btn btn-default" href="{$url_live_edit}" target="_blank">
<i class="icon-edit"></i>
{l s='Run LiveEdit'}
</a>
{/if}
</div>
</div>
<div id="unhook_button_position_bottom"><input class="button floatr" type="submit" name="unhookform" value="{l s='Unhook the selection'}"/></div>
</div>
</div>
</form>

View File

@@ -23,134 +23,128 @@
* International Registered Trademark & Property of PrestaShop SA
*}
{if $product['customizedDatas']}
<tr class="customized customized-{$product['id_order_detail']|intval}">
<td align="center">
<tr class="customized customized-{$product['id_order_detail']|intval}">
<td align="center">
<input type="hidden" class="edit_product_id_order_detail" value="{$product['id_order_detail']|intval}" />
{if isset($product['image']) && $product['image']->id|intval}{$product['image_tag']}{else}--{/if}</td>
<td>
<a href="index.php?controller=adminproducts&id_product={$product['product_id']|intval}&updateproduct&token={getAdminToken tab='AdminProducts'}">
<span class="productName">{$product['product_name']} - {l s='Customized'}</span><br />
{if ($product['product_reference'])}{l s='Ref:'} {$product['product_reference']}<br />{/if}
{if ($product['product_supplier_reference'])}{l s='Ref Supplier:'} {$product['product_supplier_reference']}{/if}
</a>
</td>
<td align="center">
<span class="product_price_show">{displayPrice price=$product['product_price_wt'] currency=$currency->id|intval}</span>
{if $can_edit}
<span class="product_price_edit" style="display:none;">
<input type="hidden" name="product_id_order_detail" class="edit_product_id_order_detail" value="{$product['id_order_detail']|intval}" />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="product_price_tax_excl" class="edit_product_price_tax_excl edit_product_price" value="{Tools::ps_round($product['unit_price_tax_excl'], 2)}" size="5" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax excl.'}<br />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="product_price_tax_incl" class="edit_product_price_tax_incl edit_product_price" value="{Tools::ps_round($product['unit_price_tax_incl'], 2)}" size="5" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax incl.'}
</span>
{/if}
</td>
<td align="center" class="productQuantity">{$product['customizationQuantityTotal']}</td>
{if $display_warehouse}<td style="" align="center">&nbsp;</td>{/if}
{if ($order->hasBeenPaid())}<td align="center" class="productQuantity">{$product['customizationQuantityRefunded']}</td>{/if}
{if ($order->hasBeenDelivered() || $order->hasProductReturned())}<td align="center" class="productQuantity">{$product['customizationQuantityReturned']}</td>{/if}
{if $stock_management}<td align="center" class=""> - </td>{/if}
<td align="center" class="total_product">
{if ($order->getTaxCalculationMethod() == $smarty.const.PS_TAX_EXC)}
{displayPrice price=Tools::ps_round($product['product_price'] * $product['customizationQuantityTotal'], 2) currency=$currency->id|intval}
{else}
{displayPrice price=Tools::ps_round($product['product_price_wt'] * $product['customizationQuantityTotal'], 2) currency=$currency->id|intval}
{/if}
</td>
<td class="cancelQuantity standard_refund_fields current-edit" style="display:none" colspan="2">
&nbsp;
</td>
<td class="edit_product_fields" colspan="2" style="display:none">&nbsp;</td>
<td class="partial_refund_fields current-edit" style="text-align:left;display:none"></td>
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="product_action" style="text-align:right">
<a href="#" class="edit_product_change_link"><img src="../img/admin/edit.gif" alt="{l s='Edit'}" /></a>
<input type="submit" class="button" name="submitProductChange" value="{l s='Update'}" style="display: none;" />
<a href="#" class="cancel_product_change_link" style="display: none;"><img src="../img/admin/disabled.gif" alt="{l s='Cancel'}" /></a>
<a href="#" class="delete_product_line"><img src="../img/admin/delete.gif" alt="{l s='Delete'}" /></a>
</td>
{/if}
</tr>
{foreach $product['customizedDatas'] as $customizationPerAddress}
{foreach $customizationPerAddress as $customizationId => $customization}
<tr class="customized customized-{$product['id_order_detail']|intval}">
<td colspan="2">
<input type="hidden" class="edit_product_id_order_detail" value="{$product['id_order_detail']|intval}" />
{if isset($product['image']) && $product['image']->id|intval}{$product['image_tag']}{else}--{/if}</td>
<td>
<a href="index.php?controller=adminproducts&id_product={$product['product_id']|intval}&updateproduct&token={getAdminToken tab='AdminProducts'}">
<span class="productName">{$product['product_name']} - {l s='Customized'}</span><br />
{if ($product['product_reference'])}{l s='Ref:'} {$product['product_reference']}<br />{/if}
{if ($product['product_supplier_reference'])}{l s='Ref Supplier:'} {$product['product_supplier_reference']}{/if}
</a>
</td>
<td align="center">
<span class="product_price_show">{displayPrice price=$product['product_price_wt'] currency=$currency->id|intval}</span>
{if $can_edit}
<span class="product_price_edit" style="display:none;">
<input type="hidden" name="product_id_order_detail" class="edit_product_id_order_detail" value="{$product['id_order_detail']|intval}" />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="product_price_tax_excl" class="edit_product_price_tax_excl edit_product_price" value="{Tools::ps_round($product['unit_price_tax_excl'], 2)}" size="5" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax excl.'}<br />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="product_price_tax_incl" class="edit_product_price_tax_incl edit_product_price" value="{Tools::ps_round($product['unit_price_tax_incl'], 2)}" size="5" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax incl.'}
</span>
{foreach $customization.datas as $type => $datas}
{if ($type == Product::CUSTOMIZE_FILE)}
<ul style="margin: 4px 0px 4px 0px; padding: 0px; list-style-type: none;">
{foreach from=$datas item=data}
<li style="margin: 2px;">
<span>{if $data['name']}{$data['name']}{else}{l s='Picture #'}{$data@iteration}{/if}{l s=':'}</span>&nbsp;
<a href="displayImage.php?img={$data['value']}&name={$order->id|intval}-file{$data@iteration}" target="_blank"><img src="{$smarty.const._THEME_PROD_PIC_DIR_}{$data['value']}_small" alt="" /></a>
</li>
{/foreach}
</ul>
{elseif ($type == Product::CUSTOMIZE_TEXTFIELD)}
<ul style="margin: 0px 0px 4px 0px; padding: 0px 0px 0px 6px; list-style-type: none;">
{foreach from=$datas item=data}
<li>{if $data['name']}{l s='%s:' sprintf=$data['name']}{else}{l s='Text #%s:' sprintf=$data@iteration}{/if} {$data['value']}</li>
{/foreach}
</ul>
{/if}
</td>
<td align="center" class="productQuantity">{$product['customizationQuantityTotal']}</td>
{if ($order->hasBeenPaid())}<td align="center" class="productQuantity">{$product['customizationQuantityRefunded']}</td>{/if}
{if ($order->hasBeenDelivered() || $order->hasProductReturned())}<td align="center" class="productQuantity">{$product['customizationQuantityReturned']}</td>{/if}
{if $stock_management}<td align="center" class=""> - </td>{/if}
<td class="total_product text-right">
{if ($order->getTaxCalculationMethod() == $smarty.const.PS_TAX_EXC)}
{displayPrice price=Tools::ps_round($product['product_price'] * $product['customizationQuantityTotal'], 2) currency=$currency->id|intval}
{else}
{displayPrice price=Tools::ps_round($product['product_price_wt'] * $product['customizationQuantityTotal'], 2) currency=$currency->id|intval}
{/if}
</td>
<td class="cancelQuantity standard_refund_fields current-edit" style="display:none" colspan="2">
&nbsp;
</td>
<td class="edit_product_fields" colspan="2" style="display:none">&nbsp;</td>
<td class="partial_refund_fields current-edit" style="text-align:left;display:none"></td>
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="product_action" style="text-align:right">
<a href="#" class="edit_product_change_link"><img src="../img/admin/edit.gif" alt="{l s='Edit'}" /></a>
<input type="submit" class="button" name="submitProductChange" value="{l s='Update'}" style="display: none;" />
<a href="#" class="cancel_product_change_link" style="display: none;"><img src="../img/admin/disabled.gif" alt="{l s='Cancel'}" /></a>
<a href="#" class="delete_product_line"><img src="../img/admin/delete.gif" alt="{l s='Delete'}" /></a>
</td>
{/if}
</tr>
{foreach $product['customizedDatas'] as $customizationPerAddress}
{foreach $customizationPerAddress as $customizationId => $customization}
<tr class="customized customized-{$product['id_order_detail']|intval}">
<td colspan="2">
<input type="hidden" class="edit_product_id_order_detail" value="{$product['id_order_detail']|intval}" />
{foreach $customization.datas as $type => $datas}
{if ($type == Product::CUSTOMIZE_FILE)}
<ul style="margin: 4px 0px 4px 0px; padding: 0px; list-style-type: none;">
{foreach from=$datas item=data}
<li style="margin: 2px;">
<span>{if $data['name']}{$data['name']}{else}{l s='Picture #'}{$data@iteration}{/if}{l s=':'}</span>&nbsp;
<a href="displayImage.php?img={$data['value']}&name={$order->id|intval}-file{$data@iteration}" target="_blank"><img src="{$smarty.const._THEME_PROD_PIC_DIR_}{$data['value']}_small" alt="" /></a>
</li>
{/foreach}
</ul>
{elseif ($type == Product::CUSTOMIZE_TEXTFIELD)}
<ul style="margin: 0px 0px 4px 0px; padding: 0px 0px 0px 6px; list-style-type: none;">
{foreach from=$datas item=data}
<li>{if $data['name']}{l s='%s:' sprintf=$data['name']}{else}{l s='Text #%s:' sprintf=$data@iteration}{/if} {$data['value']}</li>
{/foreach}
</ul>
{/if}
{/foreach}
</td>
<td align="center">-
</td>
<td align="center" class="productQuantity">
<span class="product_quantity_show{if (int)$customization['quantity'] > 1} red bold{/if}">{$customization['quantity']}</span>
{if $can_edit}
<span class="product_quantity_edit" style="display:none;">
<input type="text" name="product_quantity[{$customizationId|intval}]" class="edit_product_quantity" value="{$customization['quantity']|htmlentities}" size="2" />
</span>
{/if}
</td>
{if ($order->hasBeenPaid())}<td align="center">{$customization['quantity_refunded']}</td>{/if}
{if ($order->hasBeenDelivered())}<td align="center">{$customization['quantity_returned']}</td>{/if}
<td align="center">
-
</td>
<td class="total_product text-right">
{if ($order->getTaxCalculationMethod() == $smarty.const.PS_TAX_EXC)}
{displayPrice price=Tools::ps_round($product['product_price'] * $customization['quantity'], 2) currency=$currency->id|intval}
{else}
{displayPrice price=Tools::ps_round($product['product_price_wt'] * $customization['quantity'], 2) currency=$currency->id|intval}
{/if}
</td>
<td align="center" class="cancelCheck standard_refund_fields current-edit" style="display:none">
<input type="hidden" name="totalQtyReturn" id="totalQtyReturn" value="{$customization['quantity_returned']|intval}" />
<input type="hidden" name="totalQty" id="totalQty" value="{$customization['quantity']|intval}" />
<input type="hidden" name="productName" id="productName" value="{$product['product_name']}" />
{if ((!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN')) AND (int)($customization['quantity_returned']) < (int)($customization['quantity']))}
<input type="checkbox" name="id_customization[{$customizationId|intval}]" id="id_customization[{$customizationId|intval}]" value="{$product['id_order_detail']|intval}" onchange="setCancelQuantity(this, {$customizationId|intval}, {$customization['quantity'] - $product['customizationQuantityTotal'] - $product['product_quantity_reinjected']})" {if ($product['product_quantity_return'] + $product['product_quantity_refunded'] >= $product['product_quantity'])}disabled="disabled" {/if}/>
{else}
--
{/if}
</td>
<td class="cancelQuantity standard_refund_fields current-edit" style="display:none">
{if ($customization['quantity_returned'] + $customization['quantity_refunded'] >= $customization['quantity'])}
<input type="hidden" name="cancelCustomizationQuantity[{$customizationId|intval}]" value="0" />
{elseif (!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN'))}
<input type="text" id="cancelQuantity_{$customizationId|intval}" name="cancelCustomizationQuantity[{$customizationId|intval}]" size="2" onclick="selectCheckbox(this);" value="" />0/{$customization['quantity']-$customization['quantity_refunded']}
{/if}
</td>
<td class="partial_refund_fields current-edit" style="display:none">
<label class="text-center">
{l s='Quantity:'}
<input type="text" size="3" name="partialRefundProductQuantity[{$product['id_order_detail']|intval}]" value="0" />
0/{$customization['quantity']-$customization['quantity_refunded']}
</label>
<label class="text-center">
{l s='Amount:'}
{$currency->prefix}
<input type="text" size="3" name="partialRefundProduct[{$product['id_order_detail']|intval}]" />{$currency->suffix}
</label>
</td>
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="edit_product_fields" colspan="2" style="display:none"></td>
<td class="product_action" class="text-right"></td>
{/if}
</tr>
{/foreach}
</td>
<td align="center">-
</td>
<td align="center" class="productQuantity">
<span class="product_quantity_show{if (int)$customization['quantity'] > 1} red bold{/if}">{$customization['quantity']}</span>
{if $can_edit}
<span class="product_quantity_edit" style="display:none;">
<input type="text" name="product_quantity[{$customizationId|intval}]" class="edit_product_quantity" value="{$customization['quantity']|htmlentities}" size="2" />
</span>
{/if}
</td>
{if $display_warehouse}<td style="" align="center">&nbsp;</td>{/if}
{if ($order->hasBeenPaid())}<td align="center">{$customization['quantity_refunded']}</td>{/if}
{if ($order->hasBeenDelivered())}<td align="center">{$customization['quantity_returned']}</td>{/if}
<td align="center">
-
</td>
<td align="center" class="total_product">
{if ($order->getTaxCalculationMethod() == $smarty.const.PS_TAX_EXC)}
{displayPrice price=Tools::ps_round($product['product_price'] * $customization['quantity'], 2) currency=$currency->id|intval}
{else}
{displayPrice price=Tools::ps_round($product['product_price_wt'] * $customization['quantity'], 2) currency=$currency->id|intval}
{/if}
</td>
<td align="center" class="cancelCheck standard_refund_fields current-edit" style="display:none">
<input type="hidden" name="totalQtyReturn" id="totalQtyReturn" value="{$customization['quantity_returned']|intval}" />
<input type="hidden" name="totalQty" id="totalQty" value="{$customization['quantity']|intval}" />
<input type="hidden" name="productName" id="productName" value="{$product['product_name']}" />
{if ((!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN')) AND (int)($customization['quantity_returned']) < (int)($customization['quantity']))}
<input type="checkbox" name="id_customization[{$customizationId|intval}]" id="id_customization[{$customizationId|intval}]" value="{$product['id_order_detail']|intval}" onchange="setCancelQuantity(this, {$customizationId|intval}, {$customization['quantity'] - $product['customizationQuantityTotal'] - $product['product_quantity_reinjected']})" {if ($product['product_quantity_return'] + $product['product_quantity_refunded'] >= $product['product_quantity'])}disabled="disabled" {/if}/>
{else}
--
{/if}
</td>
<td class="cancelQuantity standard_refund_fields current-edit" style="display:none">
{if ($customization['quantity_returned'] + $customization['quantity_refunded'] >= $customization['quantity'])}
<input type="hidden" name="cancelCustomizationQuantity[{$customizationId|intval}]" value="0" />
{elseif (!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN'))}
<input type="text" id="cancelQuantity_{$customizationId|intval}" name="cancelCustomizationQuantity[{$customizationId|intval}]" size="2" onclick="selectCheckbox(this);" value="" />0/{$customization['quantity']-$customization['quantity_refunded']}
{/if}
</td>
<td class="partial_refund_fields current-edit" style="text-align:left;display:none">
<div style="width:40%;margin-top:5px;float:left">{l s='Quantity:'}</div> <div style="width:60%;margin-top:2px;float:left"><input type="text" size="3" name="partialRefundProductQuantity[{$product['id_order_detail']|intval}]" value="0" />
0/{$customization['quantity']-$customization['quantity_refunded']}
</div>
<div style="width:40%;margin-top:5px;float:left">{l s='Amount:'}</div> <div style="width:60%;margin-top:2px;float:left">{$currency->prefix}<input type="text" size="3" name="partialRefundProduct[{$product['id_order_detail']|intval}]" />{$currency->suffix}</div>
</td>
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="edit_product_fields" colspan="2" style="display:none"></td>
<td class="product_action" style="text-align:right"></td>
{/if}
</tr>
{/foreach}
{/foreach}
{/if}

View File

@@ -23,66 +23,54 @@
* International Registered Trademark & Property of PrestaShop SA
*}
<div class="row">
<label class="control-label col-lg-3">
{l s='Name'}
<label>{l s='Name'}</label>
<div class="margin-form">
<input type="text" name="discount_name" value="" />
</label>
</div>
<label class="control-label col-lg-3">
{l s='Type'}
<label>{l s='Type'}</label>
<div class="margin-form">
<select name="discount_type" id="discount_type">
<option value="1">{l s='Percent'}</option>
<option value="2">{l s='Amount'}</option>
<option value="3">{l s='Free shipping'}</option>
</select>
</label>
</div>
<div id="discount_value_field">
<label class="control-label col-lg-3">
{l s='Value'}
<label>{l s='Value'}</label>
<div class="margin-form">
{if ($currency->format % 2)}
<span id="discount_currency_sign" style="display: none;">{$currency->sign}</span>
{else}
<span id="discount_percent_symbol">%</span>
{/if}
{if !($currency->format % 2)}
<span id="discount_currency_sign" style="display: none;">{$currency->sign}</span>
{/if}
<input type="text" name="discount_value" size="3" />
<p class="text-muted" id="discount_value_help" style="display: none;">
{if !($currency->format % 2)}
<span id="discount_currency_sign" style="display: none;">{$currency->sign}</span>
{/if}
<span id="discount_percent_symbol">%</span>
<p class="preference_description" id="discount_value_help" style="width: 95%;display: none;">
{l s='This value must include taxes.'}
</p>
</label>
</div>
</div>
{if $order->hasInvoice()}
<label class="control-label col-lg-3">
{l s='Invoice'}
<label>{l s='Invoice'}</label>
<div class="margin-form">
<select name="discount_invoice">
{foreach from=$invoices_collection item=invoice}
<option value="{$invoice->id}" selected="selected">{$invoice->getInvoiceNumberFormatted($current_id_lang)} - {displayPrice price=$invoice->total_paid_tax_incl currency=$order->id_currency}</option>
{/foreach}
</select>
<p class="checkbox">
<label class="control-label" for="discount_all_invoices">
<input type="checkbox" name="discount_all_invoices" id="discount_all_invoices" value="1" />
{l s='Apply on all invoices'}
</label>
</p>
<p class="text-muted">
</select><br />
<input type="checkbox" name="discount_all_invoices" id="discount_all_invoices" value="1" /> <label class="t" for="discount_all_invoices">{l s='Apply on all invoices'}</label>
<p class="preference_description" style="width: 95%">
{l s='If you chooses to create this discount for all invoices, only one discount will be created per order invoice.'}
</p>
</label>
</div>
{/if}
<p class="col-lg-12 text-right">
<input class="btn btn-default" type="submit" name="submitNewVoucher" value="{l s='Add'}" />
<a href="#" id="cancel_add_voucher" class="btn btn-default">
<i class="icon-remove"></i>
{l s='Cancel'}
</a>
<p class="center">
<input class="button" type="submit" name="submitNewVoucher" value="{l s='Add'}" />&nbsp;
<a href="#" id="cancel_add_voucher">{l s='Cancel'}</a>
</p>
</div>

View File

@@ -22,152 +22,118 @@
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<table class="table" id="documents_table">
<table class="table" width="100%;" cellspacing="0" cellpadding="0" id="documents_table">
<thead>
<tr>
<th width="10%">
<span class="title_box ">{l s='Date'}</span>
</th>
<th>
<span class="title_box ">{l s='Document'}</span>
</th>
<th width="20%">
<span class="title_box ">{l s='Number'}</span>
</th>
<th width="20%">
<span class="title_box ">{l s='Amount'}</span>
</th>
<th width="1%"></th>
</tr>
<tr>
<th style="width:10%">{l s='Date'}</th>
<th style="">{l s='Document'}</th>
<th style="width:20%">{l s='Number'}</th>
<th style="width:10%">{l s='Amount'}</th>
<th style="width:1%"></th>
</tr>
</thead>
<tbody>
{foreach from=$order->getDocuments() item=document}
{foreach from=$order->getDocuments() item=document}
{if get_class($document) eq 'OrderInvoice'}
{if isset($document->is_delivery)}
<tr class="invoice_line" id="delivery_{$document->id}">
{else}
<tr class="invoice_line" id="invoice_{$document->id}">
{/if}
{elseif get_class($document) eq 'OrderSlip'}
<tr class="invoice_line" id="orderslip_{$document->id}">
{/if}
<td class="document_date">{dateFormat date=$document->date_add}</td>
<td class="document_type">
{if get_class($document) eq 'OrderInvoice'}
{if isset($document->is_delivery)}
<tr id="delivery_{$document->id}">
{l s='Delivery slip'}
{else}
<tr id="invoice_{$document->id}">
{l s='Invoice'}
{/if}
{elseif get_class($document) eq 'OrderSlip'}
<tr id="orderslip_{$document->id}">
{/if}
<td>{dateFormat date=$document->date_add}</td>
<td>
{if get_class($document) eq 'OrderInvoice'}
{if isset($document->is_delivery)}
{l s='Delivery slip'}
{else}
{l s='Invoice'}
{/if}
{elseif get_class($document) eq 'OrderSlip'}
{l s='Credit Slip'}
{/if}
</td>
<td>
{if get_class($document) eq 'OrderInvoice'}
{if isset($document->is_delivery)}
<a target="_blank" href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateDeliverySlipPDF&id_order_invoice={$document->id}">
{else}
<a target="_blank" href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateInvoicePDF&id_order_invoice={$document->id}">
{/if}
{elseif get_class($document) eq 'OrderSlip'}
<a target="_blank" href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateOrderSlipPDF&id_order_slip={$document->id}">
{/if}
{if get_class($document) eq 'OrderInvoice'}
{if isset($document->is_delivery)}
#{Configuration::get('PS_DELIVERY_PREFIX', $current_id_lang, null, $order->id_shop)}{'%06d'|sprintf:$document->delivery_number}
{else}
{$document->getInvoiceNumberFormatted($current_id_lang, $order->id_shop)}
{/if}
{elseif get_class($document) eq 'OrderSlip'}
#{Configuration::get('PS_CREDIT_SLIP_PREFIX', $current_id_lang)}{'%06d'|sprintf:$document->id}
{/if} <span class="btn btn-default btn-small">
<i class="icon-search"></i>
{l s='See the document'}
</span>
</a>
</td>
<td>
{if get_class($document) eq 'OrderInvoice'}
{if isset($document->is_delivery)}
--
{else}
{displayPrice price=$document->total_paid_tax_incl currency=$currency->id}&nbsp;
{if $document->getTotalPaid()}
<span>
{if $document->getRestPaid() > 0}
({displayPrice price=$document->getRestPaid() currency=$currency->id} {l s='not paid'})
{else if $document->getRestPaid() < 0}
({displayPrice price=-$document->getRestPaid() currency=$currency->id} {l s='overpaid'})
{/if}
</span>
{/if}
{/if}
{elseif get_class($document) eq 'OrderSlip'}
{displayPrice price=$document->amount currency=$currency->id}
{/if}
</td>
<td class="text-right document_action">
{if get_class($document) eq 'OrderInvoice'}
{if !isset($document->is_delivery)}
{if $document->getRestPaid()}
<a href="#" class="js-set-payment btn btn-default btn-small" data-amount="{$document->getRestPaid()}" data-id-invoice="{$document->id}" title="{l s='Set payment form'}">
<i class="icon-pencil"></i>
{l s='Set payment form'}
</a>
{/if}
<a href="#" class="btn btn-default btn-small" onclick="$('#invoiceNote{$document->id}').show(); return false;" title="{if $document->note eq ''}{l s='Add note'}{else}{l s='Edit note'}{/if}">
{if $document->note eq ''}
<i class="icon-plus-sign-alt"></i>
{l s='Add note'}
{else}
<i class="icon-pencil"></i>
{l s='Edit note'}
{/if}
</a>
{/if}
{/if}
</td>
</tr>
{l s='Credit Slip'}
{/if}</td>
<td class="document_number">
{if get_class($document) eq 'OrderInvoice'}
{if !isset($document->is_delivery)}
<tr id="invoiceNote{$document->id}" style="display:none">
<td colspan="5">
<form action="{$current_index}&viewOrder&id_order={$order->id}{if isset($smarty.get.token)}&token={$smarty.get.token|escape:'htmlall':'UTF-8'}{/if}" method="post">
<p>
<label for="editNote{$document->id}" class="t">{l s='Note'}</label>
<input type="hidden" name="id_order_invoice" value="{$document->id}" />
<textarea name="note" rows="10" cols="10" id="editNote{$document->id}" class="edit-note">{$document->note|escape:'htmlall':'UTF-8'}</textarea>
</p>
<p>
<button type="submit" name="submitEditNote" class="btn btn-default">
<i class="icon-save"></i>
{l s='Save'}
</button>
<a class="btn btn-default" href="#" id="cancelNote" onclick="$('#invoiceNote{$document->id}').hide();return false;">
<i class="icon-remove"></i>
{l s='Cancel'}
</a>
</p>
</form>
</td>
</tr>
{if isset($document->is_delivery)}
<a target="_blank" href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateDeliverySlipPDF&id_order_invoice={$document->id}">
{else}
<a target="_blank" href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateInvoicePDF&id_order_invoice={$document->id}">
{/if}
{elseif get_class($document) eq 'OrderSlip'}
<a target="_blank" href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateOrderSlipPDF&id_order_slip={$document->id}">
{/if}
{if get_class($document) eq 'OrderInvoice'}
{if isset($document->is_delivery)}
#{Configuration::get('PS_DELIVERY_PREFIX', $current_id_lang, null, $order->id_shop)}{'%06d'|sprintf:$document->delivery_number}
{else}
{$document->getInvoiceNumberFormatted($current_id_lang, $order->id_shop)}
{/if}
{elseif get_class($document) eq 'OrderSlip'}
#{Configuration::get('PS_CREDIT_SLIP_PREFIX', $current_id_lang)}{'%06d'|sprintf:$document->id}
{/if} <img src="../img/admin/details.gif" alt="{l s='See the document'}" /></a></td>
<td class="document_amount">
{if get_class($document) eq 'OrderInvoice'}
{if isset($document->is_delivery)}
--
{else}
{displayPrice price=$document->total_paid_tax_incl currency=$currency->id}&nbsp;
{if $document->getTotalPaid()}
<span style="color:red;font-weight:bold;">
{if $document->getRestPaid() > 0}
({displayPrice price=$document->getRestPaid() currency=$currency->id} {l s='not paid'})
{else if $document->getRestPaid() < 0}
({displayPrice price=-$document->getRestPaid() currency=$currency->id} {l s='overpaid'})
{/if}
</span>
{/if}
{/if}
{foreachelse}
<tr>
<td colspan="5" class="text-center">
<h4>{l s='No documents are available'}</h4>
{if isset($invoice_management_active) && $invoice_management_active}
<a class="btn btn-default" href="{$current_index}&viewOrder&submitGenerateInvoice&id_order={$order->id}{if isset($smarty.get.token)}&token={$smarty.get.token|escape:'htmlall':'UTF-8'}{/if}">
<i class="icon-repeat"></i>
{l s='Generate invoice'}
</a>
{/if}
</td>
</tr>
{/foreach}
{elseif get_class($document) eq 'OrderSlip'}
{displayPrice price=$document->amount currency=$currency->id}
{/if}
</td>
<td class="right document_action">
{if get_class($document) eq 'OrderInvoice'}
{if !isset($document->is_delivery)}
{if $document->getRestPaid()}
<a href="#" class="js-set-payment" data-amount="{$document->getRestPaid()}" data-id-invoice="{$document->id}" title="{l s='Set payment form'}"><img src="../img/admin/money_add.png" alt="{l s='Set payment form'}" /></a>
{/if}
<a href="#" onclick="$('#invoiceNote{$document->id}').show(); return false;" title="{if $document->note eq ''}{l s='Add note'}{else}{l s='Edit note'}{/if}"><img src="../img/admin/note.png" alt="{if $document->note eq ''}{l s='Add note'}{else}{l s='Edit note'}{/if}"{if $document->note eq ''} class="js-disabled-action"{/if} /></a>
{/if}
{/if}
</td>
</tr>
{if get_class($document) eq 'OrderInvoice'}
{if !isset($document->is_delivery)}
<tr id="invoiceNote{$document->id}" style="display:none" class="current-edit">
<td colspan="5">
<form action="{$current_index}&viewOrder&id_order={$order->id}{if isset($smarty.get.token)}&token={$smarty.get.token|escape:'htmlall':'UTF-8'}{/if}" method="post">
<p>
<label for="editNote{$document->id}" class="t">{l s='Note'}</label>
<input type="hidden" name="id_order_invoice" value="{$document->id}" />
<textarea name="note" rows="10" cols="10" id="editNote{$document->id}" class="edit-note">{$document->note|escape:'htmlall':'UTF-8'}</textarea>
</p>
<p class="right">
<input type="submit" name="submitEditNote" value="{l s='Save'}" class="button" />&nbsp;
<a href="#" id="cancelNote" onclick="$('#invoiceNote{$document->id}').hide();return false;">{l s='Cancel'}</a>
</p>
</form>
</td>
</tr>
{/if}
{/if}
{foreachelse}
<tr>
<td colspan="5" class="center">
<h3>{l s='No documents are available'}</h3>
{if isset($invoice_management_active) && $invoice_management_active}
<p><a class="button" href="{$current_index}&viewOrder&submitGenerateInvoice&id_order={$order->id}{if isset($smarty.get.token)}&token={$smarty.get.token|escape:'htmlall':'UTF-8'}{/if}">{l s='Generate invoice'}</a></p>
{/if}
</td>
</tr>
{/foreach}
</tbody>
</table>
</table>

View File

@@ -22,75 +22,57 @@
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<tr id="new_product" style="display:none;">
<td colspan="2">
<input type="hidden" id="add_product_product_id" name="add_product[product_id]" value="0" />
<label class="control-label col-lg-8">
{l s='Product:'}
<input type="text" id="add_product_product_name" value="" />
</label>
<div id="add_product_product_attribute_area" style="display:none;">
<label class="control-label col-lg-8">
{l s='Combinations'}
<select name="add_product[product_attribute_id]" id="add_product_product_attribute_id"></select>
</label>
</div>
<div id="add_product_product_warehouse_area" style="display:none;">
<label class="control-label col-lg-8">
{l s='Warehouse'}
<select id="add_product_warehouse" name="add_product_warehouse"></select>
</label>
</div>
</td>
<td>
{if $currency->sign % 2}<span class="col-lg-2">{$currency->sign}</span>{/if}
<input class="col-lg-5" type="text" name="add_product[product_price_tax_excl]" id="add_product_product_price_tax_excl" value="" size="4" disabled="disabled" />
{if !($currency->sign % 2)}<span class="col-lg-2">{$currency->sign}</span>{/if}
<span>{l s='tax excl.'}</span>
<span class="col-lg-12"></span>
{if $currency->sign % 2}<span class="col-lg-2">{$currency->sign}</span>{/if}
<input class="col-lg-5" type="text" name="add_product[product_price_tax_incl]" id="add_product_product_price_tax_incl" value="" size="4" disabled="disabled" />
{if !($currency->sign % 2)}<span class="col-lg-2">{$currency->sign}</span>{/if}
<span>{l s='tax incl.'}</span>
</td>
<td class="text-center" class="productQuantity">
<input type="text" name="add_product[product_quantity]" id="add_product_product_quantity" value="1" size="3" disabled="disabled" />
</td>
{if ($order->hasBeenPaid())}<td align="center" class="productQuantity">&nbsp;</td>{/if}
{if ($order->hasBeenDelivered())}<td align="center" class="productQuantity">&nbsp;</td>{/if}
<td class="text-center" class="productQuantity" id="add_product_product_stock">0</td>
<td class="text-right" id="add_product_product_total">{displayPrice price=0 currency=$currency->id}</td>
<td class="text-center" colspan="2">
{if sizeof($invoices_collection)}
<select name="add_product[invoice]" id="add_product_product_invoice" disabled="disabled">
<optgroup class="existing" label="{l s='Existing'}">
{foreach from=$invoices_collection item=invoice}
<option value="{$invoice->id}">{$invoice->getInvoiceNumberFormatted($current_id_lang)}</option>
{/foreach}
</optgroup>
<optgroup label="{l s='New'}">
<option value="0">{l s='Create a new invoice'}</option>
</optgroup>
<tr id="new_product" height="52" style="display:none;background-color:#e9f1f6">
<td style="display:none;" colspan="2">
<input type="hidden" id="add_product_product_id" name="add_product[product_id]" value="0" />
{l s='Product:'} <input type="text" id="add_product_product_name" value="" size="42" />
<div id="add_product_product_attribute_area" style="margin-top: 5px;display: none;">
{l s='Combinations'} <select name="add_product[product_attribute_id]" id="add_product_product_attribute_id"></select>
</div>
<div id="add_product_product_warehouse_area" style="margin-top: 5px; display: none;">
{l s='Warehouse'} <select id="add_product_warehouse" name="add_product_warehouse">
</select>
{/if}
</td>
<td>
<input type="button" class="btn btn-default" id="submitAddProduct" value="{l s='Add product'}" disabled="disabled" />
</td>
</tr>
<tr id="new_invoice" style="display:none;background-color:#e9f1f6;">
<td colspan="10">
<h3>{l s='New invoice information'}</h3>
<label>{l s='Carrier'}</label>
<div class="margin-form">
{$carrier->name}
</div>
<div class="margin-form">
<input type="checkbox" name="add_invoice[free_shipping]" value="1" />
<label class="t">{l s='Free shipping'}</label>
<p>{l s='If you don\'t select "Free shipping," the normal shipping cost will be applied.'}</p>
</div>
</td>
</tr>
</div>
</td>
<td style="display:none;">
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="add_product[product_price_tax_excl]" id="add_product_product_price_tax_excl" value="" size="4" disabled="disabled" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax excl.'}<br />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="add_product[product_price_tax_incl]" id="add_product_product_price_tax_incl" value="" size="4" disabled="disabled" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax incl.'}<br />
</td>
<td style="display:none;" align="center" class="productQuantity"><input type="text" name="add_product[product_quantity]" id="add_product_product_quantity" value="1" size="3" disabled="disabled" /></td>
{if ($order->hasBeenPaid())}<td style="display:none;" align="center" class="productQuantity">&nbsp;</td>{/if}
{if $display_warehouse}<td style="" align="center">&nbsp;</td>{/if}
{if ($order->hasBeenDelivered())}<td style="display:none;" align="center" class="productQuantity">&nbsp;</td>{/if}
<td style="display:none;" align="center" class="productQuantity" id="add_product_product_stock">0</td>
<td style="display:none;" align="center" id="add_product_product_total">{displayPrice price=0 currency=$currency->id}</td>
<td style="display:none;" align="center" colspan="2">
{if sizeof($invoices_collection)}
<select name="add_product[invoice]" id="add_product_product_invoice" disabled="disabled">
<optgroup class="existing" label="{l s='Existing'}">
{foreach from=$invoices_collection item=invoice}
<option value="{$invoice->id}">{$invoice->getInvoiceNumberFormatted($current_id_lang)}</option>
{/foreach}
</optgroup>
<optgroup label="{l s='New'}">
<option value="0">{l s='Create a new invoice'}</option>
</optgroup>
</select>
{/if}
</td>
<td style="display:none;">
<input type="button" class="button" id="submitAddProduct" value="{l s='Add product'}" disabled="disabled" />
</td>
</tr>
<tr id="new_invoice" style="display:none;background-color:#e9f1f6;">
<td colspan="10">
<h3>{l s='New invoice information'}</h3>
<label>{l s='Carrier'}</label>
<div class="margin-form">
{$carrier->name}
</div>
<div class="margin-form">
<input type="checkbox" name="add_invoice[free_shipping]" value="1" />
<label class="t">{l s='Free shipping'}</label>
<p>{l s='If you don\'t select "Free shipping," the normal shipping cost will be applied.'}</p>
</div>
</td>
</tr>

View File

@@ -26,7 +26,7 @@
{* Generate HTML code for printing Invoice Icon with link *}
<span style="width:20px; margin-right:5px;">
{if ($order_state->invoice || $order->invoice_number)}
<a target="_blank" href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateInvoicePDF&id_order={$order->id}"><img src="../img/admin/tab-invoice.gif" alt="invoice" /></a>
<a href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateInvoicePDF&id_order={$order->id}"><img src="../img/admin/tab-invoice.gif" alt="invoice" /></a>
{else}
-
{/if}
@@ -35,7 +35,7 @@
{* Generate HTML code for printing Delivery Icon with link *}
<span style="width:20px;">
{if ($order_state->delivery || $order->delivery_number)}
<a target="_blank" href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateDeliverySlipPDF&id_order={$order->id}"><img src="../img/admin/delivery.gif" alt="delivery" /></a>
<a href="{$link->getAdminLink('AdminPdf')|escape:'htmlall':'UTF-8'}&submitAction=generateDeliverySlipPDF&id_order={$order->id}"><img src="../img/admin/delivery.gif" alt="delivery" /></a>
{else}
-
{/if}

View File

@@ -31,157 +31,124 @@
{/if}
{if ($product['product_quantity'] > $product['customizationQuantityTotal'])}
<tr{if isset($product.image) && $product.image->id && isset($product.image_size)} height="{$product['image_size'][1] + 7}"{/if}>
<td align="center">{if isset($product.image) && $product.image->id}{$product.image_tag}{/if}</td>
<td>
<a href="index.php?controller=adminproducts&id_product={$product['product_id']}&updateproduct&token={getAdminToken tab='AdminProducts'}">
<span class="productName">{$product['product_name']}</span><br />
{if $product.product_reference}{l s='Ref:'} {$product.product_reference}<br />{/if}
{if $product.product_supplier_reference}{l s='Ref Supplier:'} {$product.product_supplier_reference}{/if}
</a>
</td>
<td>
<span class="product_price_show">{displayPrice price=$product_price currency=$currency->id}</span>
{if $can_edit}
<span class="product_price_edit" style="display:none;">
<input type="hidden" name="product_id_order_detail" class="edit_product_id_order_detail" value="{$product['id_order_detail']}" />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="product_price_tax_excl" class="edit_product_price_tax_excl edit_product_price" value="{Tools::ps_round($product['unit_price_tax_excl'], 2)}" size="5" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax excl.'}<br />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="product_price_tax_incl" class="edit_product_price_tax_incl edit_product_price" value="{Tools::ps_round($product['unit_price_tax_incl'], 2)}" size="5" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax incl.'}
<tr{if isset($product.image) && $product.image->id && isset($product.image_size)} height="{$product['image_size'][1] + 7}"{/if}>
<td align="center">{if isset($product.image) && $product.image->id}{$product.image_tag}{/if}</td>
<td><a href="index.php?controller=adminproducts&id_product={$product['product_id']}&updateproduct&token={getAdminToken tab='AdminProducts'}">
<span class="productName">{$product['product_name']}</span><br />
{if $product.product_reference}{l s='Ref:'} {$product.product_reference}<br />{/if}
{if $product.product_supplier_reference}{l s='Ref Supplier:'} {$product.product_supplier_reference}{/if}
</a></td>
<td align="center">
<span class="product_price_show">{displayPrice price=$product_price currency=$currency->id}</span>
{if $can_edit}
<span class="product_price_edit" style="display:none;">
<input type="hidden" name="product_id_order_detail" class="edit_product_id_order_detail" value="{$product['id_order_detail']}" />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="product_price_tax_excl" class="edit_product_price_tax_excl edit_product_price" value="{Tools::ps_round($product['unit_price_tax_excl'], 2)}" size="5" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax excl.'}<br />
{if $currency->sign % 2}{$currency->sign}{/if}<input type="text" name="product_price_tax_incl" class="edit_product_price_tax_incl edit_product_price" value="{Tools::ps_round($product['unit_price_tax_incl'], 2)}" size="5" /> {if !($currency->sign % 2)}{$currency->sign}{/if} {l s='tax incl.'}
</span>
{/if}
</td>
<td align="center" class="productQuantity">
<span class="product_quantity_show{if (int)$product['product_quantity'] > 1} red bold{/if}">{$product['product_quantity']}</span>
{if $can_edit}
<span class="product_quantity_edit" style="display:none;">
<input type="text" name="product_quantity" class="edit_product_quantity" value="{$product['product_quantity']|htmlentities}" size="2" />
</span>
{/if}
</td>
{if $display_warehouse}<td align="center">{$product.warehouse_name|escape:'htmlall':'UTF-8'}</td>{/if}
{if ($order->hasBeenPaid())}
<td align="center" class="productQuantity">
{$product['product_quantity_refunded']}
{if count($product['refund_history'])}
<span class="tooltip">
<span class="tooltip_label tooltip_button">+</span>
<div class="tooltip_content">
<span class="title">{l s='Refund history'}</span>
{foreach $product['refund_history'] as $refund}
{l s='%1s - %2s' sprintf=[{dateFormat date=$refund.date_add}, {displayPrice price=$refund.amount_tax_incl}]}<br />
{/foreach}
</div>
</span>
{/if}
</td>
<td class="text-center" class="productQuantity">
<span class="product_quantity_show{if (int)$product['product_quantity'] > 1} red bold{/if}">{$product['product_quantity']}</span>
{if $can_edit}
<span class="product_quantity_edit" style="display:none;">
<input type="text" name="product_quantity" class="edit_product_quantity" value="{$product['product_quantity']|htmlentities}" size="2" />
</span>
{/if}
{if $order->hasBeenDelivered() || $order->hasProductReturned()}
<td align="center" class="productQuantity">
{$product['product_quantity_return']}
{if count($product['return_history'])}
<span class="tooltip">
<span class="tooltip_label tooltip_button">+</span>
<div class="tooltip_content">
<span class="title">{l s='Return history'}</span>
{foreach $product['return_history'] as $return}
{l s='%1s - %2s - %3s' sprintf=[{dateFormat date=$return.date_add}, $return.product_quantity, $return.state]}<br />
{/foreach}
</div>
</span>
{/if}
</td>
{if ($order->hasBeenPaid())}
<td class="text-center" class="productQuantity">
{$product['product_quantity_refunded']}
{if count($product['refund_history'])}
<label class="control-label">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='Refund history:'} {foreach $product['refund_history'] as $refund}{l s='%1s - %2s' sprintf=[{dateFormat date=$refund.date_add}, {displayPrice price=$refund.amount_tax_incl}]}{/foreach}">
+
</span>
</label>
{/if}
</td>
{/if}
{if $order->hasBeenDelivered() || $order->hasProductReturned()}
<td class="text-center" class="productQuantity">
{$product['product_quantity_return']}
{if count($product['return_history'])}
<span class="tooltip">
<span class="tooltip_label tooltip_button">+</span>
<div class="tooltip_content">
<span class="title">{l s='Return history'}</span>
{foreach $product['return_history'] as $return}
{l s='%1s - %2s - %3s' sprintf=[{dateFormat date=$return.date_add}, $return.product_quantity, $return.state]}<br />
{/foreach}
</div>
</span>
{/if}
</td>
{/if}
{if $stock_management}<td class="text-center" class="productQuantity product_stock">{$product['current_stock']}</td>{/if}
<td class="total_product text-right">
{displayPrice price=(Tools::ps_round($product_price, 2) * ($product['product_quantity'] - $product['customizationQuantityTotal'])) currency=$currency->id}
</td>
<td colspan="2" style="display: none;" class="add_product_fields">&nbsp;</td>
<td class="text-center" class="cancelCheck standard_refund_fields current-edit" style="display:none">
<input type="hidden" name="totalQtyReturn" id="totalQtyReturn" value="{$product['product_quantity_return']}" />
<input type="hidden" name="totalQty" id="totalQty" value="{$product['product_quantity']}" />
<input type="hidden" name="productName" id="productName" value="{$product['product_name']}" />
{if ((!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN')) AND (int)($product['product_quantity_return']) < (int)($product['product_quantity']))}
<input type="checkbox" name="id_order_detail[{$product['id_order_detail']}]" id="id_order_detail[{$product['id_order_detail']}]" value="{$product['id_order_detail']}" onchange="setCancelQuantity(this, {$product['id_order_detail']}, {$product['product_quantity'] - $product['customizationQuantityTotal'] - $product['product_quantity_return']})" {if ($product['product_quantity_return'] + $product['product_quantity_refunded'] >= $product['product_quantity'])}disabled="disabled" {/if}/>
{else}
--
{/if}
</td>
<td class="cancelQuantity standard_refund_fields current-edit" style="display:none">
{if ($product['product_quantity_return'] + $product['product_quantity_refunded'] >= $product['product_quantity'])}
<input type="hidden" name="cancelQuantity[{$product['id_order_detail']}]" value="0" />
{elseif (!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN'))}
<input type="text" id="cancelQuantity_{$product['id_order_detail']}" name="cancelQuantity[{$product['id_order_detail']}]" size="2" onclick="selectCheckbox(this);" value="" />
{/if}
{/if}
{if $stock_management}<td align="center" class="productQuantity product_stock">{$product['current_stock']}</td>{/if}
<td align="center" class="total_product">
{displayPrice price=(Tools::ps_round($product_price, 2) * ($product['product_quantity'] - $product['customizationQuantityTotal'])) currency=$currency->id}
</td>
<td colspan="2" style="display: none;" class="add_product_fields">&nbsp;</td>
<td align="center" class="cancelCheck standard_refund_fields current-edit" style="display:none">
<input type="hidden" name="totalQtyReturn" id="totalQtyReturn" value="{$product['product_quantity_return']}" />
<input type="hidden" name="totalQty" id="totalQty" value="{$product['product_quantity']}" />
<input type="hidden" name="productName" id="productName" value="{$product['product_name']}" />
{if ((!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN')) AND (int)($product['product_quantity_return']) < (int)($product['product_quantity']))}
<input type="checkbox" name="id_order_detail[{$product['id_order_detail']}]" id="id_order_detail[{$product['id_order_detail']}]" value="{$product['id_order_detail']}" onchange="setCancelQuantity(this, {$product['id_order_detail']}, {$product['product_quantity'] - $product['customizationQuantityTotal'] - $product['product_quantity_return']})" {if ($product['product_quantity_return'] + $product['product_quantity_refunded'] >= $product['product_quantity'])}disabled="disabled" {/if}/>
{else}
--
{/if}
</td>
<td class="cancelQuantity standard_refund_fields current-edit" style="display:none">
{if ($product['product_quantity_return'] + $product['product_quantity_refunded'] >= $product['product_quantity'])}
<input type="hidden" name="cancelQuantity[{$product['id_order_detail']}]" value="0" />
{elseif (!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN'))}
<input type="text" id="cancelQuantity_{$product['id_order_detail']}" name="cancelQuantity[{$product['id_order_detail']}]" size="2" onclick="selectCheckbox(this);" value="" />
{/if}
{if $product['customizationQuantityTotal']}
{assign var=productQuantity value=($product['product_quantity']-$product['customizationQuantityTotal'])}
{else}
{assign var=productQuantity value=$product['product_quantity']}
{/if}
{if $product['customizationQuantityTotal']}
{assign var=productQuantity value=($product['product_quantity']-$product['customizationQuantityTotal'])}
{else}
{assign var=productQuantity value=$product['product_quantity']}
{/if}
{if ($order->hasBeenDelivered())}
{$product['product_quantity_refunded']}/{$productQuantity-$product['product_quantity_refunded']}
{elseif ($order->hasBeenPaid())}
{$product['product_quantity_return']}/{$productQuantity}
{if ($order->hasBeenDelivered())}
{$product['product_quantity_refunded']}/{$productQuantity-$product['product_quantity_refunded']}
{elseif ($order->hasBeenPaid())}
{$product['product_quantity_return']}/{$productQuantity}
{else}
0/{$productQuantity}
{/if}
</td>
<td class="partial_refund_fields current-edit" style="text-align:left;display:none">
<div style="width:40%;margin-top:5px;float:left">{l s='Quantity:'}</div> <div style="width:60%;margin-top:2px;float:left"><input onchange="checkPartialRefundProductQuantity(this)" type="text" size="3" name="partialRefundProductQuantity[{{$product['id_order_detail']}}]" value="0" /> 0/{$productQuantity-$product['product_quantity_refunded']}</div>
<div style="width:40%;margin-top:5px;float:left">{l s='Amount:'}</div> <div style="width:60%;margin-top:2px;float:left">{$currency->prefix}<input onchange="checkPartialRefundProductAmount(this)" type="text" size="3" name="partialRefundProduct[{$product['id_order_detail']}]" /> {$currency->suffix}</div> {if !empty($product['amount_refund']) && $product['amount_refund'] > 0}({l s='%s refund' sprintf=$product['amount_refund']}){/if}
<input type="hidden" value="{$product['quantity_refundable']}" class="partialRefundProductQuantity" />
<input type="hidden" value="{$product['amount_refundable']}" class="partialRefundProductAmount" />
</td>
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="product_invoice" colspan="2" style="display: none;text-align:center;">
{if sizeof($invoices_collection)}
<select name="product_invoice" class="edit_product_invoice">
{foreach from=$invoices_collection item=invoice}
<option value="{$invoice->id}" {if $invoice->id == $product['id_order_invoice']}selected="selected"{/if}>#{Configuration::get('PS_INVOICE_PREFIX', $current_id_lang, null, $order->id_shop)}{'%06d'|sprintf:$invoice->number}</option>
{/foreach}
</select>
{else}
0/{$productQuantity}
&nbsp;
{/if}
</td>
<td class="partial_refund_fields current-edit" style="display:none">
<label class="text-center">
{l s='Quantity:'}
<input onchange="checkPartialRefundProductQuantity(this)" type="text" size="3" name="partialRefundProductQuantity[{{$product['id_order_detail']}}]" value="0" />
0/{$productQuantity-$product['product_quantity_refunded']}
</label>
<label class="text-center">
{l s='Amount:'}
{$currency->prefix}<input onchange="checkPartialRefundProductAmount(this)" type="text" size="3" name="partialRefundProduct[{$product['id_order_detail']}]" />
{$currency->suffix}
{if !empty($product['amount_refund']) && $product['amount_refund'] > 0}({l s='%s refund' sprintf=$product['amount_refund']}){/if}
<input type="hidden" value="{$product['quantity_refundable']}" class="partialRefundProductQuantity" />
<input type="hidden" value="{$product['amount_refundable']}" class="partialRefundProductAmount" />
</label>
</td>
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="product_invoice" colspan="2" style="display: none;text-align:center;">
{if sizeof($invoices_collection)}
<select name="product_invoice" class="edit_product_invoice">
{foreach from=$invoices_collection item=invoice}
<option value="{$invoice->id}" {if $invoice->id == $product['id_order_invoice']}selected="selected"{/if}>#{Configuration::get('PS_INVOICE_PREFIX', $current_id_lang, null, $order->id_shop)}{'%06d'|sprintf:$invoice->number}</option>
{/foreach}
</select>
{else}
&nbsp;
{/if}
</td>
<td class="product_action">
<div class="btn-group btn-group-action">
<span class="btn btn-default btn-small">{l s='Choose an action'}</span>
<button class="btn btn-default btn-small dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>&nbsp;
</button>
<ul class="dropdown-menu">
<li>
<a href="#" class="edit_product_change_link">
<i class="icon-pencil"></i>
{l s='Edit'}
</a>
</li>
<li>
<input type="submit" class="btn btn-default" name="submitProductChange" value="{l s='Update'}" style="display: none;" />
</li>
<li>
<a href="#" class="cancel_product_change_link" style="display: none;">
<i class="icon-remove"></i>
{l s='Cancel'}
</a>
</li>
<li>
<a href="#" class="delete_product_line">
<i class="icon-trash"></i>
{l s='Delete'}
</a>
</li>
</ul>
</div>
</td>
{/if}
</tr>
</td>
<td class="product_action" style="text-align:right">
<a href="#" class="edit_product_change_link"><img src="../img/admin/edit.gif" alt="{l s='Edit'}" /></a>
<input type="submit" class="button" name="submitProductChange" value="{l s='Update'}" style="display: none;" />
<a href="#" class="cancel_product_change_link" style="display: none;"><img src="../img/admin/disabled.gif" alt="{l s='Cancel'}" /></a>
<a href="#" class="delete_product_line"><img src="../img/admin/delete.gif" alt="{l s='Delete'}" /></a>
</td>
{/if}
</tr>
{/if}

View File

@@ -22,64 +22,53 @@
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<table class="table" id="shipping_table">
<table class="table" width="100%" cellspacing="0" cellpadding="0" id="shipping_table">
<colgroup>
<col width="15%"/>
<col width="15%"/>
<col width=""/>
<col width="10%"/>
<col width="20%"/>
</colgroup>
<thead>
<tr>
<th>
<span class="title_box ">{l s='Date'}</span>
</th>
<th>
<span class="title_box ">{l s='Type'}</span>
</th>
<th>
<span class="title_box ">{l s='Carrier'}</span>
</th>
<th>
<span class="title_box ">{l s='Weight'}</span>
</th>
<th>
<span class="title_box ">{l s='Shipping cost'}</span>
</th>
<th>
<span class="title_box ">{l s='Tracking number'}</span>
</th>
</tr>
<tr>
<th>{l s='Date'}</th>
<th>{l s='Type'}</th>
<th>{l s='Carrier'}</th>
<th>{l s='Weight'}</th>
<th>{l s='Shipping cost'}</th>
<th>{l s='Tracking number'}</th>
</tr>
</thead>
<tbody>
{foreach from=$order->getShipping() item=line}
<tr>
<td>{dateFormat date=$line.date_add full=true}</td>
<td>{$line.type}</td>
<td>{$line.carrier_name}</td>
<td class="weight">{$line.weight|string_format:"%.3f"} {Configuration::get('PS_WEIGHT_UNIT')}</td>
<td class="center">
{if $order->getTaxCalculationMethod() == $smarty.const.PS_TAX_INC}
{displayPrice price=$line.shipping_cost_tax_incl currency=$currency->id}
{else}
{displayPrice price=$line.shipping_cost_tax_excl currency=$currency->id}
{/if}
</td>
<td class="right">
<span id="shipping_number_show">{if $line.url && $line.tracking_number}<a target="_blank" href="{$line.url|replace:'@':$line.tracking_number}">{$line.tracking_number}</a>{else}{$line.tracking_number}{/if}</span>
{if $line.can_edit}
<form method="post" action="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&vieworder&id_order={$order->id|escape:'htmlall':'UTF-8'}">
<span class="shipping_number_edit" style="display:none;">
<input type="hidden" name="id_order_carrier" value="{$line.id_order_carrier|htmlentities}" />
<input type="text" name="tracking_number" value="{$line.tracking_number|htmlentities}" />
<input type="submit" class="btn btn-default" name="submitShippingNumber" value="{l s='Update'}" />
</span>
<a href="#" class="edit_shipping_number_link btn btn-default">
<i class="icon-search"></i>
{l s='Edit'}
</a>
<a href="#" class="cancel_shipping_number_link btn btn-default" style="display: none;">
<i class="icon-remove"></i>
{l s='Cancel'}
</a>
</form>
{/if}
</td>
</tr>
{/foreach}
{foreach from=$order->getShipping() item=line}
<tr>
<td>{dateFormat date=$line.date_add full=true}</td>
<td>{$line.type}</td>
<td>{$line.carrier_name}</td>
<td class="weight">{$line.weight|string_format:"%.3f"} {Configuration::get('PS_WEIGHT_UNIT')}</td>
<td>
{if $order->getTaxCalculationMethod() == $smarty.const.PS_TAX_INC}
{displayPrice price=$line.shipping_cost_tax_incl currency=$currency->id}
{else}
{displayPrice price=$line.shipping_cost_tax_excl currency=$currency->id}
{/if}
</td>
<td>
<span id="shipping_number_show">{if $line.url && $line.tracking_number}<a target="_blank" href="{$line.url|replace:'@':$line.tracking_number}">{$line.tracking_number}</a>{else}{$line.tracking_number}{/if}</span>
{if $line.can_edit}
<form style="display: inline;" method="post" action="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&vieworder&id_order={$order->id|escape:'htmlall':'UTF-8'}">
<span class="shipping_number_edit" style="display:none;">
<input type="hidden" name="id_order_carrier" value="{$line.id_order_carrier|htmlentities}" />
<input type="text" name="tracking_number" value="{$line.tracking_number|htmlentities}" />
<input type="submit" class="button" name="submitShippingNumber" value="{l s='Update'}" />
</span>
<a href="#" class="edit_shipping_number_link"><img src="../img/admin/edit.gif" alt="{l s='Edit'}" /></a>
<a href="#" class="cancel_shipping_number_link" style="display: none;"><img src="../img/admin/disabled.gif" alt="{l s='Cancel'}" /></a>
</form>
{/if}
</td>
</tr>
{/foreach}
</tbody>
</table>
</table>

View File

@@ -38,6 +38,11 @@
var defaults_order_state = new Array();
var customization_errors = false;
var pic_dir = '{$pic_dir}';
var currency_format = 5;
var currency_sign = '';
var currency_blank = false;
var priceDisplayPrecision = 2;
{foreach from=$defaults_order_state key='module' item='id_order_state'}
defaults_order_state['{$module}'] = '{$id_order_state}';
{/foreach}
@@ -117,7 +122,7 @@
$('#vouchers_err').hide();
var mytab = new Array();
for (var i = 0; i < data.vouchers.length; i++)
mytab[mytab.length] = { data: data.vouchers[i], value: data.vouchers[i].name+' - '+data.vouchers[i].description };
mytab[mytab.length] = { data: data.vouchers[i], value: data.vouchers[i].name + (data.vouchers[i].code.length > 0 ? ' - ' + data.vouchers[i].code : '')};
return mytab;
},
extraParams: {
@@ -439,16 +444,16 @@
{
if(res.found)
{
var html = '<ul class="nav">';
var html = '<ul>';
$.each(res.customers, function() {
html += '<li class="customerCard"><div class="customerName"><a class="fancybox" href="{$link->getAdminLink('AdminCustomers')}&id_customer='+this.id_customer+'&viewcustomer&liteDisplaying=1">'+this.firstname+' '+this.lastname+'</a><span class="customerBirthday"> '+((this.birthday != '0000-00-00') ? this.birthday : '')+'</span></div>';
html += '<div class="customerEmail"><a href="mailto:'+this.email+'">'+this.email+'</div>';
html += '<div class="col-lg-3"><a onclick="setupCustomer('+ this.id_customer+');return false;" href="#" class="id_customer btn btn-default">{l s='Choose'}</a></div></li>';
html += '<a onclick="setupCustomer('+ this.id_customer+');return false;" href="#" class="id_customer button">{l s='Choose'}</a></li>';
});
html += '</ul>';
}
else
html = '<div class="alert alert-warning">{l s='No customers found'}</div>';
html = '<div class="warn">{l s='No customers found'}</div>';
$('#customers').html(html);
resetBind();
}
@@ -505,7 +510,6 @@
}
displaySummary(res);
resetBind();
updateCurrencySign();
}
});
}
@@ -560,8 +564,8 @@
else
customization_errors = false;
$('#products_found').show();
products_found += '<label class="control-label col-lg-3">{l s='Product:'}</label><div class="col-lg-6"><select id="id_product" onclick="display_product_attributes();display_product_customizations();"></div>';
attributes_html += '<label class="control-label col-lg-3">{l s='Combination'}</label><div class="col-lg-6">';
products_found += '<label>{l s='Product:'}</label><select id="id_product" onclick="display_product_attributes();display_product_customizations();">';
attributes_html += '<label>{l s='Combination'}</label>';
$.each(res.products, function() {
products_found += '<option '+(this.combinations.length > 0 ? 'rel="'+this.qty_in_stock+'"' : '')+' value="'+this.id_product+'">'+this.name+(this.combinations.length == 0 ? ' - '+this.formatted_price : '')+'</option>';
attributes_html += '<select class="id_product_attribute" id="ipa_'+this.id_product+'" style="display:none;">';
@@ -569,7 +573,7 @@
stock[id_product] = new Array();
if (this.customizable == '1')
{
customization_html += '<fieldset class="width3"><h3>{l s='Customization'}</h3><form id="customization_'+id_product+'" class="id_customization" method="post" enctype="multipart/form-data" action="'+admin_cart_link+'" style="display:none;">';
customization_html += '<fieldset class="width3"><legend>{l s='Customization'}</legend><form id="customization_'+id_product+'" class="id_customization" method="post" enctype="multipart/form-data" action="'+admin_cart_link+'" style="display:none;">';
customization_html += '<input type="hidden" name="id_product" value="'+id_product+'" />';
customization_html += '<input type="hidden" name="id_cart" value="'+id_cart+'" />';
customization_html += '<input type="hidden" name="action" value="updateCustomizationFields" />';
@@ -597,7 +601,7 @@
stock[this.id_product][0] = this.stock[0];
attributes_html += '</select>';
});
products_found += '</select></div>';
products_found += '</select>';
$('#products_found #product_list').html(products_found);
$('#products_found #attributes_list').html(attributes_html);
$('link[rel="stylesheet"]').each(function (i, element) {
@@ -652,11 +656,12 @@
var id_product = Number(this.id_product);
var id_product_attribute = Number(this.id_product_attribute);
cart_quantity[Number(this.id_product)+'_'+Number(this.id_product_attribute)+'_'+Number(this.id_customization)] = this.cart_quantity;
cart_content += '<tr><td><img src="'+this.image_link+'" title="'+this.name+'" /></td><td>'+this.name+'<br />'+this.attributes_small+'</td><td>'+this.reference+'</td><td><input type="text" size="7" rel="'+this.id_product+'_'+this.id_product_attribute+'" class="product_unit_price" value="'+this.price+'" />&nbsp;<span class="currency_sign"></span></td><td>';
cart_content += '<tr><td><img src="'+this.image_link+'" title="'+this.name+'" /></td><td>'+this.name+'<br />'+this.attributes_small+'</td><td>'+this.reference+'</td><td><input type="text" size="7" rel="'+this.id_product+'_'+this.id_product_attribute+'" class="product_unit_price" value="'+this.numeric_price+'" /></td><td>';
cart_content += (!this.id_customization ? '<div style="float:left;"><a href="#" class="increaseqty_product" rel="'+this.id_product+'_'+this.id_product_attribute+'_'+(this.id_customization ? this.id_customization : 0)+'" ><img src="../img/admin/up.gif" /></a><br /><a href="#" class="decreaseqty_product" rel="'+this.id_product+'_'+this.id_product_attribute+'_'+(this.id_customization ? this.id_customization : 0)+'"><img src="../img/admin/down.gif" /></a></div>' : '');
cart_content += (!this.id_customization ? '<div style="float:left;"><input type="text" rel="'+this.id_product+'_'+this.id_product_attribute+'_'+(this.id_customization ? this.id_customization : 0)+'" class="cart_quantity" size="2" value="'+this.cart_quantity+'" />' : '');
cart_content += (!this.id_customization ? '<a href="#" class="delete_product" rel="delete_'+this.id_product+'_'+this.id_product_attribute+'_'+(this.id_customization ? this.id_customization : 0)+'" ><img src="../img/admin/delete.gif" /></a></div>' : '');
cart_content += '</td><td>'+this.total+'&nbsp;<span class="currency_sign"></span></td></tr>';
cart_content += '</td><td>' + formatCurrency(this.numeric_total, currency_format, currency_sign, currency_blank) + '</td></tr>';
if (this.id_customization && this.id_customization != 0)
{
$.each(this.customized_datas[this.id_product][this.id_product_attribute][id_address_delivery], function() {
@@ -694,17 +699,15 @@
function updateCartVouchers(vouchers)
{
var vouchers_html = '';
if (vouchers.length > 0)
{
$.each(vouchers, function() {
if (typeof(vouchers) == 'object')
$.each(vouchers, function(){
vouchers_html += '<tr><td>'+this.name+'</td><td>'+this.description+'</td><td>'+this.value_real+'</td><td><a href="#" class="delete_discount" rel="'+this.id_discount+'"><img src="../img/admin/delete.gif" /></a></td></tr>';
});
$('#voucher_list').show();
}
else
$('#voucher_list tbody').html($.trim(vouchers_html));
if ($('#voucher_list tbody').html().length == 0)
$('#voucher_list').hide();
$('#voucher_list tbody').html(vouchers_html);
else
$('#voucher_list').show();
}
function updateCartPaymentList(payment_list)
@@ -712,8 +715,23 @@
$('#payment_list').html(payment_list);
}
function fixPriceFormat(price)
{
if(price.indexOf(',') > 0 && price.indexOf('.') > 0) // if contains , and .
if(price.indexOf(',') < price.indexOf('.')) // if , is before .
price = price.replace(',',''); // remove ,
price = price.replace(' ',''); // remove any spaces
price = price.replace(',','.'); // remove , if price did not cotain both , and .
return price;
}
function displaySummary(jsonSummary)
{
currency_format = jsonSummary.currency.format;
currency_sign = jsonSummary.currency.sign;
currency_blank = jsonSummary.currency.blank;
priceDisplayPrecision = jsonSummary.currency.decimals ? 2 : 0;
updateCartProducts(jsonSummary.summary.products, jsonSummary.summary.gift_products, jsonSummary.cart.id_address_delivery);
updateCartVouchers(jsonSummary.summary.discounts);
updateAddressesList(jsonSummary.addresses, jsonSummary.cart.id_address_delivery, jsonSummary.cart.id_address_invoice);
@@ -739,20 +757,19 @@
$('#free_shipping').removeAttr('checked');
$('#gift_message').html(jsonSummary.cart.gift_message);
if(!changed_shipping_price)
$('#shipping_price').html('<b>'+jsonSummary.summary.total_shipping+'</b>');
if (!changed_shipping_price)
$('#shipping_price').html('<b>' + formatCurrency(parseFloat(jsonSummary.summary.total_shipping), currency_format, currency_sign, currency_blank) + '</b>');
shipping_price_selected_carrier = jsonSummary.summary.total_shipping;
$('#total_vouchers').html(jsonSummary.summary.total_discounts_tax_exc);
$('#total_shipping').html(jsonSummary.summary.total_shipping_tax_exc);
$('#total_taxes').html(jsonSummary.summary.total_tax);
$('#total_without_taxes').html(jsonSummary.summary.total_price_without_tax);
$('#total_with_taxes').html(jsonSummary.summary.total_price);
$('#total_products').html(jsonSummary.summary.total_products);
$('#total_vouchers').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_discounts_tax_exc)), currency_format, currency_sign, currency_blank));
$('#total_shipping').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_shipping_tax_exc)), currency_format, currency_sign, currency_blank));
$('#total_taxes').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_tax)), currency_format, currency_sign, currency_blank));
$('#total_without_taxes').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_price_without_tax)), currency_format, currency_sign, currency_blank));
$('#total_with_taxes').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_price)), currency_format, currency_sign, currency_blank));
$('#total_products').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_products)), currency_format, currency_sign, currency_blank));
id_currency = jsonSummary.cart.id_currency;
$('#id_currency option').removeAttr('selected');
$('#id_currency option[value="'+id_currency+'"]').attr('selected', true);
updateCurrencySign();
id_lang = jsonSummary.cart.id_lang;
$('#id_lang option').removeAttr('selected');
$('#id_lang option[value="'+id_lang+'"]').attr('selected', true);
@@ -780,21 +797,21 @@
qty: qty,
id_customer: id_customer,
id_cart: id_cart,
},
},
success : function(res)
{
displaySummary(res);
var errors = '';
if(res.errors.length)
{
$.each(res.errors, function() {
errors += this+'<br />';
});
$('#products_err').show();
}
else
$('#products_err').hide();
$('#products_err').html(errors);
displaySummary(res);
var errors = '';
if (res.errors.length)
{
$.each(res.errors, function() {
errors += this + '<br />';
});
$('#products_err').show();
}
else
$('#products_err').hide();
$('#products_err').html(errors);
}
});
}
@@ -890,11 +907,6 @@
});
}
function updateCurrencySign()
{
$('.currency_sign').html(currencies[id_currency]);
}
function sendMailToCustomer()
{
$.ajax({
@@ -927,11 +939,33 @@
var addresses_invoice_options = '';
var address_invoice_detail = '';
var address_delivery_detail = '';
var delivery_address_edit_link = '';
var invoice_address_edit_link = '';
$.each(addresses, function() {
if (this.id_address == id_address_invoice)
address_invoice_detail = this.company+' '+this.firstname+' '+this.lastname+'<br />'+this.address1+'<br />'+this.address2+'<br />'+this.postcode+' '+this.city+' '+this.country;
{
address_invoice_detail = this.company+' '+this.firstname+' '+this.lastname+'<br />'+this.address1+'<br />'+this.address2+'<br />'+this.postcode+' '+this.city;
if (this.state != null)
address_invoice_detail += ' '+this.state;
address_invoice_detail += '</br>'+this.country;
invoice_address_edit_link = "{$link->getAdminLink('AdminAddresses')}&id_address="+this.id_address+"&updateaddress&realedit=1&liteDisplaying=1&submitFormAjax=1#";
}
if(this.id_address == id_address_delivery)
address_delivery_detail = this.company+' '+this.firstname+' '+this.lastname+'<br />'+this.address1+'<br />'+this.address2+'<br />'+this.postcode+' '+this.city+' '+this.country;
{
address_delivery_detail = this.company+' '+this.firstname+' '+this.lastname+'<br />'+this.address1+'<br />'+this.address2+'<br />'+this.postcode+' '+this.city;
if (this.state != null)
address_delivery_detail += ' '+this.state;
address_delivery_detail += '</br>'+this.country;
delivery_address_edit_link = "{$link->getAdminLink('AdminAddresses')}&id_address="+this.id_address+"&updateaddress&realedit=1&liteDisplaying=1&submitFormAjax=1#";
}
addresses_delivery_options += '<option value="'+this.id_address+'" '+(this.id_address == id_address_delivery ? 'selected="selected"' : '')+'>'+this.alias+'</option>';
addresses_invoice_options += '<option value="'+this.id_address+'" '+(this.id_address == id_address_invoice ? 'selected="selected"' : '')+'>'+this.alias+'</option>';
@@ -951,6 +985,8 @@
$('#id_address_invoice').html(addresses_invoice_options);
$('#address_delivery_detail').html(address_delivery_detail);
$('#address_invoice_detail').html(address_invoice_detail);
$('#edit_delivery_address').attr('href', delivery_address_edit_link);
$('#edit_invoice_address').attr('href', invoice_address_edit_link);
}
function updateAddresses()
@@ -981,400 +1017,275 @@
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
<div class="leadin">{block name="leadin"}{/block}</div>
<form action="" method="" class="form-horizontal">
<fieldset id="customer_part">
<h3>
<i class="icon-user"></i>
{l s='Customer'}
</h3>
<div class="row">
<div class="col-lg-12">
<a class="fancybox btn btn-default" href="{$link->getAdminLink('AdminCustomers')|escape:'htmlall':'UTF-8'}&addcustomer&liteDisplaying=1&submitFormAjax=1#">
<i class="icon-plus-sign-alt"></i>
{l s='Add new customer'}
</a>
<fieldset id="customer_part">
<legend><img src="../img/admin/tab-customers.gif" />{l s='Customer'}</legend>
<label>{l s='Search customers'}</label>
<div class="margin-form">
<input type="text" id="customer" value="" />
<p>{l s='Search a customer by typing the first letters of his/her name'}</p>
<a class="fancybox button" href="{$link->getAdminLink('AdminCustomers')|escape:'htmlall':'UTF-8'}&addcustomer&liteDisplaying=1&submitFormAjax=1#">
<img src="../img/admin/add.gif" title="new"/><span>{l s='Add new customer'}</span>
</a>
</div>
<div id="customers">
</div>
</fieldset><br />
<form action="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&submitAdd{$table}=1" method="post" autocomplete="off">
<fieldset id="products_part" style="display:none;"><legend><img src="../img/t/AdminCatalog.gif" />{l s='Cart'}</legend>
<div>
<label>{l s='Search for a product'} </label>
<div class="margin-form">
<input type="hidden" value="" id="id_cart" name="id_cart" />
<input type="text" id="product" value="" />
<p>{l s='Search a product by typing the first letters of his/her name.'}</p>
</div>
<div id="products_found">
<div id="product_list">
</div>
<label class="control-label col-lg-3">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='Search a customer by tapping the first letters of his/her name'}">
{l s='Search customers'}
</span>
</label>
<div class="col-lg-6">
<input type="text" id="customer" value="" />
<div id="attributes_list">
</div>
<iframe id="customization_list" style="border:0px;overflow:hidden;width:100%">
<html>
<head>
{if isset($css_files_orders)}
{foreach from=$css_files_orders key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
</head>
<body>
</body>
</html>
</iframe>
<p><label for="qty">{l s='Quantity:'}</label><input type="text" name="qty" id="qty" value="1" />&nbsp;<b>{l s='In stock'}</b>&nbsp;<span id="qty_in_stock"></span></p>
<div class="margin-form">
<p><input type="submit" onclick="addProduct();return false;" class="button" id="submitAddProduct" value="{l s='Add to cart'}"/></p>
</div>
</div>
<div class="row">
<div id="customers" class="col-lg-9 pull-right"></div>
</div>
</fieldset>
</form>
<form class="form-horizontal" action="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&submitAdd{$table}=1" method="post" autocomplete="off">
<fieldset id="products_part" style="display:none;">
<h3>
<i class="icon-folder-close"></i>
{l s='Cart'}
</h3>
<div class="row">
<label class="control-label col-lg-3">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='Search a product by tapping the first letters of his/her name.'}">
{l s='Search for a product'}
</span>
</label>
<div class="col-lg-6">
<input type="hidden" value="" id="id_cart" name="id_cart" />
<input type="text" id="product" value="" />
</div>
</div>
<div class="row">
<div id="products_found" class="col-lg-12">
<div class="row">
<div id="product_list" class="col-lg-12"></div>
</div>
<div class="row">
<div id="attributes_list" class="col-lg-12"></div>
</div>
<iframe id="customization_list" style="border:0px;overflow:hidden;width:100%">
<html>
<head>
{if isset($css_files_orders)}
{foreach from=$css_files_orders key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
</head>
<body>
</body>
</html>
</iframe>
<div class="row">
<div class="col-lg-12">
<label class="control-label col-lg-3" for="qty">
{l s='Quantity:'}
</label>
<div class="col-lg-6">
<input type="text" name="qty" id="qty" value="1" />
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<label class="control-label col-lg-3">
{l s='In stock:'}
<span id="qty_in_stock"></span>
</label>
</div>
</div>
<input type="submit" onclick="addProduct();return false;" class="btn btn-default" id="submitAddProduct" value="{l s='Add to cart'}"/></p>
</div>
</div>
<div id="products_err" class="alert alert-warning" style="display:none;"></div>
<div class="row">
<div class="col-lg-12">
<table class="table" id="customer_cart">
</div>
<div id="products_err" class="warn" style="display:none;"></div>
<div>
<table cellspacing="0" cellpadding="0" class="table width5" id="customer_cart">
<colgroup>
<col width="50px">
<col width="">
<col width="90px">
<col width="100px">
<col width="50px">
<col width="50px">
</colgroup>
<thead>
<tr>
<th height="39px">{l s='Product'}</th>
<th>{l s='Description'}</th>
<th>{l s='Ref'}</th>
<th>{l s='Unit price'}</th>
<th style="width: 80px;">{l s='Qty'}</th>
<th style="width: 80px;">{l s='Price'}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<p><b>{l s='The prices are without taxes.'}</b></p>
</div>
<div>
<p><label for="id_currency">{l s='Currency'}</label>
<script type="text/javascript">
{foreach from=$currencies item='currency'}
currencies['{$currency.id_currency}'] = '{$currency.sign}';
{/foreach}
</script>
<select id="id_currency" name="id_currency">
{foreach from=$currencies item='currency'}
<option rel="{$currency.iso_code}" value="{$currency.id_currency}">{$currency.name}</option>
{/foreach}
</select>
</p>
<p>
<label for="id_lang">{l s='Language'}</label>
<select id="id_lang" name="id_lang">
{foreach from=$langs item='lang'}
<option value="{$lang.id_lang}">{$lang.name}</option>
{/foreach}
</select>
</p>
</div>
<div class="separation"></div>
<div id="carts">
<p><a href="#" id="show_old_carts" class="button"></a></p>
<div id="old_carts_orders">
<div id="nonOrderedCarts">
<h3>{l s='Carts'}</h3>
<table cellspacing="0" cellpadding="0" class="table width5">
<colgroup>
<col width="50">
<col width="10px">
<col width="">
<col width="90">
<col width="100">
<col width="50">
<col width="50">
<col width="70px">
<col width="50px">
</colgroup>
<thead>
<tr>
<th height="39px" class="left">{l s='ID'}</th>
<th class="left">{l s='Date'}</th>
<th class="left">{l s='Total'}</th>
<th class="left">{l s='Action'}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div id="lastOrders">
<h3>{l s='Orders'}</h3>
<table cellspacing="0" cellpadding="0" class="table width5">
<colgroup>
<col width="10px">
<col width="50px">
<col width="">
<col width="90px">
<col width="100px">
<col width="250px">
<col width="50px">
</colgroup>
<thead>
<tr>
<th height="39">{l s='Product'}</th>
<th>{l s='Description'}</th>
<th>{l s='Ref'}</th>
<th>{l s='Unit price'}</th>
<th width="80">{l s='Qty'}</th>
<th width="80">{l s='Price'}</th>
<th height=39px" class="left">{l s='ID'}</th>
<th class="left">{l s='Date'}</th>
<th class="left">{l s='Products:'}</th>
<th class="left">{l s='Total paid'}</th>
<th class="left">{l s='Payment: '}</th>
<th class="left">{l s='Status'}</th>
<th class="left">{l s='Action'}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<p class="alert alert-warning">{l s='The prices are without taxes.'}</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<label class="control-label col-lg-3" for="id_currency">
{l s='Currency'}
</label>
<script type="text/javascript">
{foreach from=$currencies item='currency'}
currencies['{$currency.id_currency}'] = '{$currency.sign}';
{/foreach}
</script>
<div class="col-lg-6">
<select id="id_currency" name="id_currency">
{foreach from=$currencies item='currency'}
<option rel="{$currency.iso_code}" value="{$currency.id_currency}">{$currency.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="col-lg-12">
<label class="control-label col-lg-3" for="id_lang">
{l s='Language'}
</label>
<div class="col-lg-6">
<select id="id_lang" name="id_lang">
{foreach from=$langs item='lang'}
<option value="{$lang.id_lang}">{$lang.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
</fieldset>
<br />
<fieldset id="vouchers_part" style="display:none;">
<legend><img src="../img/t/AdminCartRules.gif" />{l s='Vouchers'}</legend>
<p>
<label>{l s='Search for a voucher:'} </label>
<input type="text" id="voucher" value="" />
<a class="fancybox button" href="{$link->getAdminLink('AdminCartRules')|escape:'htmlall':'UTF-8'}&addcart_rule&liteDisplaying=1&submitFormAjax=1#"><img src="../img/admin/add.gif" title="new"/>{l s='Add new voucher'}</a>
</p>
<div class="margin-form">
<table cellspacing="0" cellpadding="0" class="table" id="voucher_list">
<thead>
<tr>
<th class="left">{l s='Name'}</th>
<th class="left">{l s='Description'}</th>
<th class="left">{l s='Value'}</th>
<th class="left">{l s='Action'}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div id="vouchers_err" class="warn"></div>
</fieldset>
<br />
<fieldset id="address_part" style="display:none;">
<legend><img src="../img/t/AdminAddresses.gif" />{l s='Addresses'}</legend>
<div id="addresses_err" class="warn" style="display:none;"></div>
<div id="address_delivery">
<h3>{l s='Delivery'}</h3>
<select id="id_address_delivery" name="id_address_delivery">
</select>&nbsp;<a class="fancybox" id="edit_delivery_address" href="#"><img src="../img/admin/edit.gif" /></a>
<div id="address_delivery_detail">
</div>
<div class="row">
<div id="carts" class="col-lg-12">
<a href="#" id="show_old_carts" class="btn btn-default"></a>
<div id="old_carts_orders">
<div id="nonOrderedCarts" class="col-lg-6">
<h4>
<i class="icon-folder-close"></i>
{l s='Carts'}
</h4>
<table cellspacing="0" cellpadding="0" class="table width5">
<colgroup>
<col width="10">
<col width="200">
<col width="70">
<col width="50">
</colgroup>
<thead>
<tr>
<th height="39">{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Total'}</th>
<th>{l s='Action'}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div id="lastOrders" class="col-lg-6">
<h4>
<i class="icon-align-justify"></i>
{l s='Orders'}
</h4>
<table class="table">
<colgroup>
<col width="10">
<col width="200">
<col width="">
<col width="100">
<col width="100">
<col width="200">
<col width="50">
</colgroup>
<thead>
<tr>
<th height="39">{l s='ID'}</th>
<th>{l s='Date'}</th>
<th>{l s='Products:'}</th>
<th>{l s='Total paid'}</th>
<th>{l s='Payment: '}</th>
<th>{l s='Status'}</th>
<th>{l s='Action'}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div id="address_invoice">
<h3>{l s='Invoice'}</h3>
<select id="id_address_invoice" name="id_address_invoice">
</select>&nbsp;<a class="fancybox" id="edit_invoice_address" href="#"><img src="../img/admin/edit.gif" /></a>
<div id="address_invoice_detail">
</div>
</fieldset>
<fieldset id="vouchers_part" style="display:none;">
<h3>
<i class="icon-table"></i>
{l s='Vouchers'}
</h3>
<div class="row">
<div class="col-lg-12">
<a class="fancybox btn btn-default" href="{$link->getAdminLink('AdminCartRules')|escape:'htmlall':'UTF-8'}&addcart_rule&liteDisplaying=1&submitFormAjax=1#">
<i class="icon-plus-sign-alt"></i>
{l s='Add new voucher'}
</a>
</div>
<label class="control-label col-lg-3">
{l s='Search for a voucher:'}
</label>
<div class="col-lg-6">
<input type="text" id="voucher" value="" />
</div>
</div>
<a class="fancybox button" id="new_address" href="{$link->getAdminLink('AdminAddresses')|escape:'htmlall':'UTF-8'}&addaddress&id_customer=42&liteDisplaying=1&submitFormAjax=1#"><img src="../img/admin/add.gif" title="new"/>{l s='Add a new address'}</a>
</fieldset>
<br />
<fieldset id="carriers_part" style="display:none;">
<legend><img src="../img/t/AdminCarriers.gif" />{l s='Shipping'}</legend>
<div id="carriers_err" style="display:none;" class="warn"></div>
<div id="carrier_form">
<div>
<p>
<label>{l s='Delivery option'} </label>
<select name="delivery_option" id="delivery_option">
</select>
</p>
<p>
<label for="shipping_price">{l s='Shipping price'}</label> <span id="shipping_price" name="shipping_price"></span>
</p>
<p>
<label for="free_shipping">{l s='Free shipping'}</label>
<input type="checkbox" id="free_shipping" name="free_shipping" value="1" />
</p>
</div>
<div id="float:left;">
{if $recyclable_pack}
<p><input type="checkbox" name="carrier_recycled_package" value="1" id="carrier_recycled_package" /> <label for="carrier_recycled_package">{l s='Recycled package'}</label></p>
{/if}
{if $gift_wrapping}
<p><input type="checkbox" name="order_gift" id="order_gift" value="1" /> <label for="order_gift">{l s='Gift'}</label></p>
<p><label for="gift_message">{l s='Gift message'}</label><textarea id="gift_message" cols="40" rows="4"></textarea></p>
{/if}
</div>
</div>
</fieldset>
<br />
<fieldset id="summary_part" style="display:none;">
<legend><img src="../img/t/AdminPayment.gif" />{l s='Summary'}</legend>
<div id="send_email_feedback"></div>
<div id="cart_summary" style="clear:both;float:left;">
<ul>
<li><span class="total_cart">{l s='Total products'}</span><span id="total_products"></span></li>
<li><span class="total_cart">{l s='Total vouchers'}</span><span id="total_vouchers"></span></li>
<li><span class="total_cart">{l s='Total shipping'}</span><span id="total_shipping"></span></li>
<li><span class="total_cart">{l s='Total taxes'}</span><span id="total_taxes"></span></li>
<li><span class="total_cart">{l s='Total without taxes'}</span><span id="total_without_taxes"></span></li>
<li><span class="total_cart">{l s='Total with taxes'}</span><span id="total_with_taxes"></span></li>
</ul>
</div>
<div class="order_message_right">
<label for="order_message">{l s='Order message'}</label>
<div class="margin-form">
<table cellspacing="0" cellpadding="0" class="table" id="voucher_list">
<thead>
<tr>
<th class="left">{l s='Name'}</th>
<th class="left">{l s='Description'}</th>
<th class="left">{l s='Value'}</th>
<th class="left">{l s='Action'}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<textarea name="order_message" id="order_message" rows="3" cols="45"></textarea>
</div>
<div id="vouchers_err" class="alert alert-warning" style="display:none;"></div>
</fieldset>
<fieldset id="address_part" style="display:none;">
<h3>
<i class="icon-envelope"></i>
{l s='Addresses'}
</h3>
<div id="addresses_err" class="alert alert-warning" style="display:none;"></div>
<div class="row">
<div class="col-lg-12">
<a class="fancybox btn btn-default" id="new_address" href="{$link->getAdminLink('AdminAddresses')|escape:'htmlall':'UTF-8'}&addaddress&id_customer=42&liteDisplaying=1&submitFormAjax=1#">
<i class="icon-plus-sign-alt"></i>
{l s='Add a new address'}
</a>
</div>
<div id="address_delivery" class="col-lg-6">
<h4>
<i class="icon-truck"></i>
{l s='Delivery'}
</h4>
<select id="id_address_delivery" name="id_address_delivery">
</select>
<div id="address_delivery_detail">
</div>
</div>
<div id="address_invoice" class="col-lg-6">
<h4>
<i class="icon-file-text"></i>
{l s='Invoice'}
</h4>
<select id="id_address_invoice" name="id_address_invoice">
</select>
<div id="address_invoice_detail">
</div>
</div>
<div class="margin-form">
<a href="#" id="send_email_to_customer" class="button">{l s='Send an email to the customer with the link to process the payment.'}</a>
</div>
</fieldset>
<fieldset id="carriers_part" style="display:none;">
<h3>
<i class="icon-truck"></i>
{l s='Shipping'}
</h3>
<div id="carriers_err" style="display:none;" class="alert alert-warning"></div>
<div id="carrier_form">
<div class="row">
<label class="control-label col-lg-3">
{l s='Delivery option'}
</label>
<div class="col-lg-6">
<select name="delivery_option" id="delivery_option">
</select>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3" for="shipping_price">
{l s='Shipping price:'}
</label>
<div class="col-lg-6">
<span id="shipping_price" name="shipping_price"></span>&nbsp;<span class="currency_sign"></span>&nbsp;
</div>
</div>
<div class="row">
<label class="control-label col-lg-3" for="free_shipping">
{l s='Free shipping'}
</label>
<div class="col-lg-6">
<input type="checkbox" id="free_shipping" name="free_shipping" value="1" />
</div>
</div>
<div id="float:left;">
{if $recyclable_pack}
<p><input type="checkbox" name="carrier_recycled_package" value="1" id="carrier_recycled_package" /> <label for="carrier_recycled_package">{l s='Recycled package'}</label></p>
{/if}
{if $gift_wrapping}
<p><input type="checkbox" name="order_gift" id="order_gift" value="1" /> <label for="order_gift">{l s='Gift'}</label></p>
<p><label for="gift_message">{l s='Gift message'}</label><textarea id="gift_message" cols="40" rows="4"></textarea></p>
{/if}
</div>
<div class="margin-form">
<a target="_blank" id="go_order_process" href="" class="button">{l s='Go on payment page to process the payment.'}</a>
</div>
</fieldset>
<fieldset id="summary_part" style="display:none;">
<h3>
<i class="icon-align-justify"></i>
{l s='Summary'}
</h3>
<div class="row">
<div id="send_email_feedback" class="col-lg-12"></div>
<label>{l s='Payment'}</label>
<div class="margin-form">
<select name="payment_module_name" id="payment_module_name">
{foreach from=$payment_modules item='module'}
<option value="{$module->name}" {if isset($smarty.post.payment_module_name) && $module->name == $smarty.post.payment_module_name}selected="selected"{/if}>{$module->displayName}</option>
{/foreach}
</select>
</div>
<div class="row">
<div id="cart_summary" class="col-lg-12">
<ul class="nav navbar-nav">
<li><span>{l s='Total products:'}</span>&nbsp;<span id="total_products"></span><span class="currency_sign"></span> |</li>
<li><span>{l s='Total vouchers:'}</span>&nbsp;<span id="total_vouchers"></span><span class="currency_sign"></span> |</li>
<li><span>{l s='Total shipping:'}</span>&nbsp;<span id="total_shipping"></span><span class="currency_sign"></span> |</li>
<li><span>{l s='Total taxes:'}</span>&nbsp;<span id="total_taxes"></span><span class="currency_sign"></span> |</li>
<li><span>{l s='Total without taxes:'}</span>&nbsp;<span id="total_without_taxes"></span><span class="currency_sign"></span> |</li>
<li><span>{l s='Total with taxes'}</span>&nbsp;<span id="total_with_taxes"></span><span class="currency_sign"></span></li>
</ul>
</div>
<label>{l s='Order status'}</label>
<div class="margin-form">
<select name="id_order_state" id="id_order_state">
{foreach from=$order_states item='order_state'}
<option value="{$order_state.id_order_state}" {if isset($smarty.post.id_order_state) && $order_state.id_order_state == $smarty.post.id_order_state}selected="selected"{/if}>{$order_state.name}</option>
{/foreach}
</select>
</div>
<div class="row">
<div class="order_message_right col-lg-12">
<div class="row">
<label class="control-label col-lg-3" for="order_message">{l s='Order message'}</label>
<div class="col-lg-6">
<textarea name="order_message" id="order_message" rows="3" cols="45"></textarea>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<p>
<a href="#" id="send_email_to_customer" class="btn btn-default">
<i class="icon-envelope"></i>
{l s='Send an email to the customer with the link to process the payment.'}
</a>
</p>
<p>
<a target="_blank" id="go_order_process" href="" class="btn btn-default">
<i class="icon-external-link-sign"></i>
{l s='Go on payment page to process the payment.'}
</a>
</p>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Payment'}</label>
<div class="col-lg-6">
<select name="payment_module_name" id="payment_module_name">
{foreach from=$payment_modules item='module'}
<option value="{$module->name}" {if isset($smarty.post.payment_module_name) && $module->name == $smarty.post.payment_module_name}selected="selected"{/if}>{$module->displayName}</option>
{/foreach}
</select>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Order status'}</label>
<div class="col-lg-6">
<select name="id_order_state" id="id_order_state">
{foreach from=$order_states item='order_state'}
<option value="{$order_state.id_order_state}" {if isset($smarty.post.id_order_state) && $order_state.id_order_state == $smarty.post.id_order_state}selected="selected"{/if}>{$order_state.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="row">
<div class="col-lg-12 pull-right">
<input type="submit" name="submitAddOrder" class="btn btn-default" value="{l s='Create the order'}" />
</div>
</div>
</div>
<div class="margin-form">
<input type="submit" name="submitAddOrder" class="button" value="{l s='Create the order'}" />
</div>
</fieldset>
</div>
</fieldset>
</form>
<div id="loader_container">
<div id="loader">

Some files were not shown because too many files have changed in this diff Show More