diff --git a/admin-dev/themes/default/admin.css b/admin-dev/themes/default/admin.css index 413c24758..91a21510d 100644 --- a/admin-dev/themes/default/admin.css +++ b/admin-dev/themes/default/admin.css @@ -244,8 +244,17 @@ form#product_form h4 { font-size:18px; font-weight:normal;} /*STATCONTAINER*/ #statsContainer {margin-left:220px; padding:0 0 0 20px;} -#statsContainer #calendar { background-color: #EBEDF4;border: 1px solid #C2C4D9; display: block; margin: 10px 0;min-height: 25px; padding: 10px;} -#statsContainer #calendar input, #statsContainer #calendar p { float:left; margin-right:5px;} +#statsContainer #calendar { background-color: #EEEEEE;border-top: 1px solid #CCCCCC; display: block; margin: 10px 0;min-height: 25px; padding: 5px;} +#statsContainer #calendar form { float:right;} +#statsContainer #calendar input, #statsContainer #calendar p { float:left;} +#statsContainer #calendar input.submitDateDay { border-top-right-radius: 0px; border-bottom-right-radius:0px; border-right:none;} +#statsContainer #calendar input.submitDateMonth { border-radius:0px;} +#statsContainer #calendar input.submitDateYear { border-top-left-radius: 0px; border-bottom-left-radius:0px; border-left:none; margin-right:10px;} +#statsContainer #calendar input.submitDateDayPrev { border-top-right-radius: 0px; border-bottom-right-radius:0px; border-right:none;} +#statsContainer #calendar input.submitDateMonthPrev { border-radius:0px;} +#statsContainer #calendar input.submitDateYearPrev { border-top-left-radius: 0px; border-bottom-left-radius:0px; border-left:none; margin-right:10px;} +#statsContainer #calendar p { margin:2px;} +#statsContainer #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;} #statsContainer .blocStats form { position:absolute; top:10px; right:5px;} diff --git a/admin-dev/themes/template/products/quantities.tpl b/admin-dev/themes/template/products/quantities.tpl index 86dd0bb6c..13bd1f9f7 100644 --- a/admin-dev/themes/template/products/quantities.tpl +++ b/admin-dev/themes/template/products/quantities.tpl @@ -1,14 +1,15 @@ - +

{l s='Available quantities for sale'}

+

{l s='This interface allows you to manage the available quantities for sale of the current product and its combinations on the current shop.'}

{l s='You can manually specify the quantities for the product / each product combinations, or choose to automatically determine these quantities based on your stock.'}

{l s='In this case, the quantities correspond to the quantitites of the real stock in the warehouses associated to the current shop or current group of shops.'}


-

{l s='Available quantities for sale'}

+ {if $show_quantities == true} diff --git a/admin-dev/themes/template/products/suppliers.tpl b/admin-dev/themes/template/products/suppliers.tpl index 03759af78..c8e69be3f 100644 --- a/admin-dev/themes/template/products/suppliers.tpl +++ b/admin-dev/themes/template/products/suppliers.tpl @@ -1,10 +1,9 @@ +

{l s='Suppliers of the current product'}

+

{l s='This interface allows you to specify the suppliers of the current product and eventually its combinations.'}

{l s='It is also possible to specify for each product/product combinations the supplier reference according to previously associated suppliers.'}

-
-

{l s='Suppliers of the current product'}

-

{l s='Please choose the suppliers associated to this product, and the default one.'}

{assign var=confirm value="Are you sure you want to delete entered product information?"} diff --git a/admin-dev/themes/template/products/warehouses.tpl b/admin-dev/themes/template/products/warehouses.tpl index 6ce0d232e..344d7cf9a 100644 --- a/admin-dev/themes/template/products/warehouses.tpl +++ b/admin-dev/themes/template/products/warehouses.tpl @@ -1,10 +1,9 @@ -
+

{l s='Product location in warehouses'}

+
+

{l s='This interface allows you to specify in which warehouses the product is stocked.'}

{l s='It is also possible to specify for each product/product combinations its location in each warehouse.'}

-
-

{l s='Product location in warehouses'}

-

{l s='Please choose the warehouses associated to this product, and the default one.'}

{assign var=confirm value="Are you sure you want to delete entered product information?"} diff --git a/admin-dev/themes/template/stats/calendar.tpl b/admin-dev/themes/template/stats/calendar.tpl index 94ed0ca2f..b2aee6adf 100644 --- a/admin-dev/themes/template/stats/calendar.tpl +++ b/admin-dev/themes/template/stats/calendar.tpl @@ -27,16 +27,16 @@
- - - - - - -

{if isset($translations.From)}{$translations.From}{else}{l s='From:'}{/if} + + + + + + +

{if isset($translations.From)}{$translations.From}{else}{l s='From:'}{/if}

-

{if isset($translations.To)}{$translations.To}{else}{l s='From:'}{/if} +

{if isset($translations.To)}{$translations.To}{else}{l s='From:'}{/if}

diff --git a/cache/class_index.php b/cache/class_index.php index 86cfc8277..a8aa183ec 100644 --- a/cache/class_index.php +++ b/cache/class_index.php @@ -40,6 +40,8 @@ 'Category' => 'override/classes/Category.php', 'ChartCore' => 'classes/Chart.php', 'Chart' => 'override/classes/Chart.php', + 'CollectionCore' => 'classes/Collection.php', + 'Collection' => '', 'CombinationCore' => 'classes/Combination.php', 'Combination' => 'override/classes/Combination.php', 'CompareProductCore' => 'classes/CompareProduct.php', @@ -230,6 +232,8 @@ 'CacheMemcache' => 'override/classes/cache/CacheMemcache.php', 'CacheXcacheCore' => 'classes/cache/CacheXcache.php', 'CacheXcache' => 'override/classes/cache/CacheXcache.php', + 'CSVCore' => 'classes/csv/CSV.php', + 'CSV' => 'override/classes/CSV.php', 'DbCore' => 'classes/db/Db.php', 'Db' => 'override/classes/db/Db.php', 'DbMySQLiCore' => 'classes/db/DbMySQLi.php', @@ -258,8 +262,12 @@ 'OrderDiscount' => 'override/classes/OrderDiscount.php', 'OrderHistoryCore' => 'classes/order/OrderHistory.php', 'OrderHistory' => 'override/classes/OrderHistory.php', + 'OrderInvoiceCore' => 'classes/order/OrderInvoice.php', + 'OrderInvoice' => '', 'OrderMessageCore' => 'classes/order/OrderMessage.php', 'OrderMessage' => 'override/classes/OrderMessage.php', + 'OrderPaymentCore' => 'classes/order/OrderPayment.php', + 'OrderPayment' => '', 'OrderReturnCore' => 'classes/order/OrderReturn.php', 'OrderReturn' => 'override/classes/OrderReturn.php', 'OrderReturnStateCore' => 'classes/order/OrderReturnState.php', @@ -278,6 +286,7 @@ 'HTMLTemplateOrderReturn' => '', 'HTMLTemplateOrderSlipCore' => 'classes/pdf/HTMLTemplateOrderSlip.php', 'HTMLTemplateOrderSlip' => '', + 'HTMLTemplateSupplyOrderForm' => 'classes/pdf/HTMLTemplateSupplyOrderForm.php', 'PDFGeneratorCore' => 'classes/pdf/PDFGenerator.php', 'PDFGenerator' => '', 'GroupShopCore' => 'classes/shop/GroupShop.php', @@ -312,6 +321,8 @@ 'SupplyOrderState' => '', 'WarehouseCore' => 'classes/stock/Warehouse.php', 'Warehouse' => '', + 'WarehouseProductLocationCore' => 'classes/stock/WarehouseProductLocation.php', + 'WarehouseProductLocation' => '', 'TaxCore' => 'classes/tax/Tax.php', 'Tax' => 'override/classes/tax/Tax.php', 'TaxCalculatorCore' => 'classes/tax/TaxCalculator.php', @@ -421,6 +432,7 @@ 'AdminLanguagesController' => '', 'AdminLocalizationControllerCore' => 'controllers/admin/AdminLocalizationController.php', 'AdminLocalizationController' => '', + 'AdminLoginController' => 'controllers/admin/AdminLoginController.php', 'AdminLogsControllerCore' => 'controllers/admin/AdminLogsController.php', 'AdminLogsController' => '', 'AdminManufacturersControllerCore' => 'controllers/admin/AdminManufacturersController.php', @@ -486,6 +498,7 @@ 'AdminStatsTabController' => '', 'AdminStatusesControllerCore' => 'controllers/admin/AdminStatusesController.php', 'AdminStatusesController' => '', + 'AdminStockConfigurationController' => 'controllers/admin/AdminStockConfigurationController.php', 'AdminStockCoverControllerCore' => 'controllers/admin/AdminStockCoverController.php', 'AdminStockCoverController' => '', 'AdminStockInstantStateControllerCore' => 'controllers/admin/AdminStockInstantStateController.php', diff --git a/config/modules_list.xml b/config/modules_list.xml index bc2c06b73..4d89dd462 100755 --- a/config/modules_list.xml +++ b/config/modules_list.xml @@ -3,6 +3,7 @@ + @@ -96,7 +97,7 @@ - + diff --git a/modules/pagesnotfound/pagesnotfound.php b/modules/pagesnotfound/pagesnotfound.php index 1652107c5..6d010d9b8 100644 --- a/modules/pagesnotfound/pagesnotfound.php +++ b/modules/pagesnotfound/pagesnotfound.php @@ -107,7 +107,7 @@ class Pagesnotfound extends Module $this->_html .= '
'.$this->l('Pages not found have been deleted.').'
'; } - $this->_html .= '
'.$this->displayName.''; + $this->_html .= '

'.$this->displayName.'

'; if (!file_exists(dirname(__FILE__).'/../../.htaccess')) $this->_html .= '
'.$this->l('You must use a .htaccess file to redirect 404 errors to the page "404.php"').'
'; @@ -136,17 +136,17 @@ class Pagesnotfound extends Module else $this->_html .= '
'.$this->l('No pages registered').'
'; - $this->_html .= '
'; + $this->_html .= '
'; if (count($pages)) $this->_html .= '
 
-
'.$this->l('Empty database').' +

'.$this->l('Empty database').'

-
'; +
'; $this->_html .= '
-
'.$this->l('Guide').' +

'.$this->l('Guide').'

'.$this->l('404 errors').'

'.$this->l('A 404 error is an HTTP error code which means that the file requested by the user cannot be found. In your case it means that one of your visitors entered a wrong URL in the address bar or that you or another website has a dead link. @@ -157,7 +157,7 @@ class Pagesnotfound extends Module ErrorDocument 404 '.__PS_BASE_URI__.'404.php. '. $this->l('A user requesting a page which doesn\'t exist will be redirected to the page.').' '.__PS_BASE_URI__.'404.php. '. $this->l('This module logs the accesses to this page: the page requested, the referrer and the number of times that it occurred.').'


-
'; +
'; return $this->_html; } diff --git a/modules/sekeywords/sekeywords.php b/modules/sekeywords/sekeywords.php index a701d774e..3e29162de 100644 --- a/modules/sekeywords/sekeywords.php +++ b/modules/sekeywords/sekeywords.php @@ -105,8 +105,8 @@ class SEKeywords extends ModuleGraph $this->csvExport(array('type' => 'pie')); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($this->_query.ModuleGraph::getDateBetween().$this->_query2); $total = count($result); - $this->html = '
'.$this->displayName.' - '.$total.' '.($total == 1 ? $this->l('keyword matches your query.') : $this->l('keywords match your query.')).'
 
'; + $this->html = '

'.$this->displayName.'

+ '.$total.' '.($total == 1 ? $this->l('keyword matches your query.') : $this->l('keywords match your query.')).''; if ($result && $total) { $table = ' @@ -124,20 +124,20 @@ class SEKeywords extends ModuleGraph } $table .= '
'; $this->html .= '
'.$this->engine(array('type' => 'pie')).'
-
-

'.$this->l('CSV Export').'


+
+

'.$this->l('CSV Export').'


'.$this->l('Filter by keyword').' '.$this->l('and min occurrences').'
-
'.$table; +
'.$table; } else $this->html .= '

'.$this->l('No keywords').'

'; - $this->html .= '

-
'.$this->l('Guide').' + $this->html .= '
+

'.$this->l('Guide').'

'.$this->l('Identify external search engines\' keywords').'

'.$this->l('One of the most common ways of finding a website through a search engine. Identifying the most popular keywords entered by your new visitors allows you to see which products you should put in front if you want to attract more visitors and potential customers.').' @@ -146,7 +146,7 @@ class SEKeywords extends ModuleGraph

'.$this->l('When a visitor comes to your website, the server notes their previous location. This module parses the URL and finds the keywords in it. Currently, it manages the following search engines:').' Google, AOL, Yandex, Ask, NHL, Yahoo, Baidu, Lycos, Exalead, Live, Voila '.$this->l('and').' Altavista. '. $this->l('Soon it will be possible to dynamically add new search engines and contribute to this module.').'


-
'; + '; return $this->html; } diff --git a/modules/statsbestcategories/statsbestcategories.php b/modules/statsbestcategories/statsbestcategories.php index 8b95662fc..d9de276f0 100644 --- a/modules/statsbestcategories/statsbestcategories.php +++ b/modules/statsbestcategories/statsbestcategories.php @@ -109,10 +109,10 @@ class StatsBestCategories extends ModuleGrid $this->csvExport($engineParams); $this->_html = ' -
'.$this->displayName.' +

'.$this->displayName.'

'.$this->engine($engineParams).'
'.$this->l('CSV Export').' -
'; + '; return $this->_html; } diff --git a/modules/statsbestcustomers/statsbestcustomers.php b/modules/statsbestcustomers/statsbestcustomers.php index 99d8be6ee..44c099e54 100644 --- a/modules/statsbestcustomers/statsbestcustomers.php +++ b/modules/statsbestcustomers/statsbestcustomers.php @@ -109,11 +109,11 @@ class StatsBestCustomers extends ModuleGrid if (Tools::getValue('export')) $this->csvExport($engineParams); $this->_html = ' -
'.$this->displayName.' +

'.$this->displayName.'

'.$this->engine($engineParams).'

'.$this->l('CSV Export').'

-

-
'.$this->l('Guide').' +
+

'.$this->l('Guide').'

'.$this->l('Develop clients\' loyalty').'

'.$this->l('Keeping a client is more profitable than gaining a new one. Thus, it is necessary to develop their loyalty, in other words to make them want to come back to your webshop.').'
@@ -127,7 +127,7 @@ class StatsBestCustomers extends ModuleGrid '.$this->l('These operations encourage clients to buy products and visit your webshop regularly.').'


-
'; + '; return $this->_html; } diff --git a/modules/statsbestproducts/statsbestproducts.php b/modules/statsbestproducts/statsbestproducts.php index 5db4e40fb..d2e204878 100644 --- a/modules/statsbestproducts/statsbestproducts.php +++ b/modules/statsbestproducts/statsbestproducts.php @@ -137,7 +137,7 @@ class StatsBestProducts extends ModuleGrid $this->csvExport($engineParams); $this->_html = ' -
'.$this->displayName.' +

'.$this->displayName.'

'.$this->engine($engineParams).'

'.$this->l('CSV Export').'

'; diff --git a/modules/statsbestsuppliers/statsbestsuppliers.php b/modules/statsbestsuppliers/statsbestsuppliers.php index 08288d7c5..f972d3bfd 100644 --- a/modules/statsbestsuppliers/statsbestsuppliers.php +++ b/modules/statsbestsuppliers/statsbestsuppliers.php @@ -101,10 +101,10 @@ class StatsBestSuppliers extends ModuleGrid if (Tools::getValue('export') == 1) $this->csvExport($engineParams); $this->_html = ' -
'.$this->displayName.' +

'.$this->displayName.'

'.$this->engine($engineParams).'

'.$this->l('CSV Export').'

-
'; + '; return $this->_html; } diff --git a/modules/statsbestvouchers/statsbestvouchers.php b/modules/statsbestvouchers/statsbestvouchers.php index 8eccbecd9..0dfdecf48 100644 --- a/modules/statsbestvouchers/statsbestvouchers.php +++ b/modules/statsbestvouchers/statsbestvouchers.php @@ -102,10 +102,10 @@ class StatsBestVouchers extends ModuleGrid $this->csvExport($engineParams); $this->_html = ' -
'.$this->displayName.' +

'.$this->displayName.'

'.$this->engine($engineParams).'
'.$this->l('CSV Export').' -
'; + '; return $this->_html; } diff --git a/modules/statscarrier/statscarrier.php b/modules/statscarrier/statscarrier.php index 9e186d973..bf8f15c28 100644 --- a/modules/statscarrier/statscarrier.php +++ b/modules/statscarrier/statscarrier.php @@ -67,7 +67,7 @@ class StatsCarrier extends ModuleGraph if (Tools::getValue('export')) $this->csvExport(array('type' => 'pie', 'option' => Tools::getValue('id_order_state'))); $this->_html = ' -
'.$this->displayName.' +

'.$this->displayName.'

'; foreach ($categories as $category) @@ -185,7 +185,6 @@ class StatsCatalog extends Module
-
'.$this->returnLine($this->l('Products available:'), (int)$total).' '.$this->returnLine($this->l('Average price (base price):'), Tools::displayPrice($averagePrice, $this->context->currency)).' @@ -203,12 +202,12 @@ class StatsCatalog extends Module * '.$this->l('Average conversion rate for the product page. It is possible to purchase a product without viewing the product page, so this rate can be greater than 1.').' - '; + '; if (count($productsNB) && count($productsNB) < 50) { $html .= '
-
'.$this->l('Products never purchased').' +

'.$this->l('Products never purchased').'

'; foreach ($productsNB as $product) @@ -223,7 +222,7 @@ class StatsCatalog extends Module '; $html .= '
'.$this->l('ID').''.$this->l('Name').''.$this->l('Edit / View').'
-
'; + '; } return $html; } diff --git a/modules/statsequipment/statsequipment.php b/modules/statsequipment/statsequipment.php index f3715375b..df25d9b87 100644 --- a/modules/statsequipment/statsequipment.php +++ b/modules/statsequipment/statsequipment.php @@ -122,7 +122,7 @@ class StatsEquipment extends ModuleGraph $equipment = $this->getEquipment(); $this->html = ' -
'.$this->displayName.' +

'.$this->displayName.'

'.$this->l('Determine the percentage of web browsers used by your customers.').'

'.$this->engine(array('type' => 'pie', 'option' => 'wb')).'

'.$this->l('CSV Export').'

@@ -139,9 +139,9 @@ class StatsEquipment extends ModuleGraph $this->html .= ''; } $this->html .= ' -
+
-
'.$this->l('Guide').' +

'.$this->l('Guide').'

'.$this->l('Ensure that your website is accessible to all.').'

'.$this->l('When managing Websites, it is important to keep track of software used by visitors in order to be sure that the site displays the same way for everyone. @@ -150,7 +150,7 @@ class StatsEquipment extends ModuleGraph That is why it is a good idea to keep tabs on the percentage of users for each type of software before adding or changing something that only a limited number of users will be able to access.').'


-
'; + '; return $this->html; } diff --git a/modules/statsforecast/statsforecast.php b/modules/statsforecast/statsforecast.php index 7b6a67d2c..37f83f5ab 100644 --- a/modules/statsforecast/statsforecast.php +++ b/modules/statsforecast/statsforecast.php @@ -128,7 +128,7 @@ class StatsForecast extends Module $dataTable[$row['fix_date']] = $row; $this->_html .= '
-

'.$this->displayName.'

+

'.$this->displayName.'

'.$this->l('All amounts are without taxes.').'

@@ -304,7 +304,7 @@ class StatsForecast extends Module $orders = Db::getInstance()->getValue($sql); $this->_html .= '
-

'.$this->l('Conversion').'

+

'.$this->l('Conversion').'

'.$this->l('Visitors').'
'.$visitors.'

'.round(100 * $customers / max(1, $visitors)).' %
@@ -346,7 +346,7 @@ class StatsForecast extends Module $this->_html .= '
'; - $this->_html .= '

'.$this->l('Payment distibution').'

+ $this->_html .= '

'.$this->l('Payment distibution').'

'.$this->l('Zone:').' '.$this->l('Zone:').' '.$this->l('Zone:').'
-
- '.$this->l('Click on a product to access its statistics.').' -
+ '.$this->l('Click on a product to access its statistics.').'

'.$this->l('Products available').'

-
+
@@ -278,8 +276,8 @@ class StatsProduct extends ModuleGraph '.$this->l('CSV Export').'
'; } - $this->html .= '
-
'.$this->l('Guide').' + $this->html .= '
+

'.$this->l('Guide').'

'.$this->l('Number of purchases compared to number of viewings').'

'.$this->l('After choosing a category and selecting a product, informational graphs will appear. Then, you will be able to analyze them.').' @@ -290,7 +288,7 @@ class StatsProduct extends ModuleGraph

-
'; + '; return $this->html; } diff --git a/modules/statsregistrations/statsregistrations.php b/modules/statsregistrations/statsregistrations.php index 1f5713b6a..76e4dfa6b 100644 --- a/modules/statsregistrations/statsregistrations.php +++ b/modules/statsregistrations/statsregistrations.php @@ -109,7 +109,7 @@ class StatsRegistrations extends ModuleGraph if (Tools::getValue('export')) $this->csvExport(array('layers' => 0, 'type' => 'line')); $this->_html = ' -
'.$this->displayName.' +

'.$this->displayName.'

'.$this->l('Visitors who have stopped at the registering step:').' '.(int)($totalBlocked).($totalRegistrations ? ' ('.number_format(100*$totalBlocked/($totalRegistrations+$totalBlocked), 2).'%)' : '').'
'.$this->l('Visitors who have placed an order directly after registration:').' '.(int)($totalBuyers).($totalRegistrations ? ' ('.number_format(100*$totalBuyers/($totalRegistrations), 2).'%)' : '').' @@ -117,8 +117,8 @@ class StatsRegistrations extends ModuleGraph

'.$this->l('Total customer accounts:').' '.$totalRegistrations.'

'.$this->engine(array('type' => 'line')).'

'.$this->l('CSV Export').'

-

-
'.$this->l('Guide').' +
+

'.$this->l('Guide').'

'.$this->l('Number of customer accounts created').'

'.$this->l('The total number of accounts created is not in itself important information. However, it is beneficial to analyze the number created over time. This will indicate whether or not things are on the right track.').'


'.$this->l('How to act on the registrations\' evolution?').'

@@ -132,7 +132,7 @@ class StatsRegistrations extends ModuleGraph
  • '.$this->l('Design and user-friendliness are more important than ever: an ill-chosen or hard-to-follow graphical theme can turn off visitors. You should strike the right balance between an innovative design and letting visitors move around easily. Proper spelling and clarity also inspire more customer confidence in your shop.').'

  • -
    '; + '; return $this->_html; } diff --git a/modules/statssales/statssales.php b/modules/statssales/statssales.php index da50613ff..64a31830f 100644 --- a/modules/statssales/statssales.php +++ b/modules/statssales/statssales.php @@ -67,7 +67,7 @@ class StatsSales extends ModuleGraph $this->csvExport(array('type' => 'pie', 'option' => '3-'.(int)Tools::getValue('id_country'))); $this->_html = ' -
    '.$this->displayName.' +

    '.$this->displayName.'

    @@ -125,8 +125,8 @@ class StatsSearch extends ModuleGraph

    '.$this->l('CSV Export').'


    '.$table; else - $this->_html .= '

    '.$this->l('No keywords searched more than once found.').'

    '; - $this->_html .= ''; + $this->_html .= '

    '.$this->l('No keywords searched more than once found.').'

    '; + $this->_html .= ''; return $this->_html; } diff --git a/modules/statsstock/statsstock.php b/modules/statsstock/statsstock.php index 592985b6e..6cebe9e8e 100644 --- a/modules/statsstock/statsstock.php +++ b/modules/statsstock/statsstock.php @@ -84,7 +84,7 @@ class StatsStock extends Module $this->html .= ' -
    '.$this->l('Stock value').' +

    '.$this->l('Stock value').'

    '.$this->l('Category').' :
    '.Tools::displayPrice($rollup['stockvalue'], $currency).'
    -

    * '.$this->l('Average price when the product has attributes.').'

    '; +

    * '.$this->l('Average price when the product has attributes.').'

    '; return $this->html; } diff --git a/modules/statsvisits/statsvisits.php b/modules/statsvisits/statsvisits.php index 20afabda4..45631036f 100644 --- a/modules/statsvisits/statsvisits.php +++ b/modules/statsvisits/statsvisits.php @@ -85,7 +85,7 @@ class StatsVisits extends ModuleGraph if (Tools::getValue('export')) $this->csvExport(array('layers' => 2, 'type' => 'line', 'option' => 3)); $this->html = ' -
    '.$this->displayName.' +

    '.$this->displayName.'

    '.$this->l('A visit corresponds to an internet user coming to your shop. Until the end of their session, only one visit is counted.').' '.$this->l('A visitor is an unknown person, who has not registered or logged on, surfing on your shop. A visitor can come and visit your shop many times.').' @@ -94,9 +94,9 @@ class StatsVisits extends ModuleGraph

    '.$this->l('Total visits:').' '.$totalVisits.'

    '.$this->l('Total visitors:').' '.$totalGuests.'

    '.($totalVisits ? $this->engine($graphParams).'

    '.$this->l('CSV Export').'

    ' : '').' -
    +

    -
    '.$this->l('Guide').' +

    '.$this->l('Guide').'

    '.$this->l('Determine the interest of a visit').'

    '.$this->l('The visitors\' evolution graph strongly resembles the visits\' graph, but provides additional information:').'
      @@ -104,7 +104,7 @@ class StatsVisits extends ModuleGraph
    • '.$this->l('Otherwise, the conclusion is not so simple. The problem can be aesthetic or ergonomic, or else the offer is not sufficient. It is also possible that these visitors mistakenly came here without particular interest for your shop; this phenomenon often happens with the search engines.').'
    '.$this->l('This information is mostly qualitative: you have to determine the interest of a disjointed visit.').'
    -
    '; +
    '; return $this->html; }