push prod
3
.gitignore
vendored
@ -79,4 +79,5 @@ maj.php
|
||||
1_index_sitemap.xml
|
||||
adm/export/*
|
||||
adm/import/*
|
||||
themes/toutpratique/cache/*
|
||||
themes/toutpratique/cache/*
|
||||
modules/blocknewsletter/*.csv
|
1
google4923b609d4e89885.html
Normal file
@ -0,0 +1 @@
|
||||
google-site-verification: google4923b609d4e89885.html
|
44
modules/atos/certif.fr.039956369100050
Normal file
@ -0,0 +1,44 @@
|
||||
b30MJgmq7yax9WBJfmoyYqmULRtauX1bJriHYgSbCeDP6SOIBfPIIg0CD1vtdwSQPe
|
||||
OIVl0BGqbt1aEvBZuWKwj67ObfcsKuB9Rkctfv9F73ngOjWUrguYRBJVZijcOStHoQ
|
||||
UwUIdt8OzxIYPTlk0yJih2zVtUeiweQYOKbkb22m0OiNveHPP6LlnqpzXSiUikHNlU
|
||||
nZdAUOZuoGUQeaJWJ9zUsUCdmbUGU40gZPFTEvlkMwU3G6ZaZ84Omq7GLIvPtAdx1U
|
||||
DTGgO6ngDP8Si47NT0zedwssyMZYafqDvc2POFpXiq25q1kydSw7WaGBW9CZcWPF4m
|
||||
6r28c7M63Tg3mb1lrAKhkl3pwVC4qx5djhrLcDp3oobdDrjey0pZx5bpoOSfl7N5xR
|
||||
uFB0oDKEABFkuJKgjAeBEXfXYbvZlkyS7jNCOhsks9JmEJ1to8lkb1SUZLsnkagZMd
|
||||
gyyMIzZBOJM21BUg5ytjFKq2WZjVXoXh79RWMTXzL51ytHEbmhRHFnLDxYfUv3wDHx
|
||||
CBErWTYJB1bXoL18JopV3s6C62XO0kbFcjBY2CZs5wuGU21648JrZcBRKQAzDqojEk
|
||||
eT7VDAHIwSTn3VE7rfIVeLvQBqeJ6GmvaiORk9hs1SBWpt9G5JYv4t1EWI7SzqrTJw
|
||||
7o7iw4sC9Bm5Ff7CPcfPZ3yWa5LEaSQOPUGcZVdqAlRTAbenCimkOreXx6aEjEoEzf
|
||||
Wk02Hd24xkqhiuuG6EagZP1Of0BlGCnSXbXUROBbUhcjNOJoQjQumBA56qYY780VKc
|
||||
dXFEyydNIYo8F2wXD2BdcKefMsDc7Zb5D5NnuWxYuinwLyYcAzMPfjIzSPYVnAuaQK
|
||||
0X9nUVm3UErfpb4pTOGzBXttdKW5K5f2qXu1Or7egCZO79HkTpqpu55Vk7a4b4eYOF
|
||||
ORymq6wrP3hFymKTSD8dwNVInmiQDhDnAJfaNSxMFIrulVu8bRQTsixtlNDW5b024G
|
||||
KwARP8bECbggsUplObcEKGPVcLgqnyVil1rXhjCybGKVTfekATWyJKIrtYcuPAcNvp
|
||||
Lyc5dMqpJMehh4aI2ZCBx7JlDvkw0TIqIxfZvTGzxSY2lrz0yJmBEE7XQVL6HaMGlK
|
||||
tDuYFgPFgOZbvpCNLdtiq06XNNIiHdruPHgqfOmsD3cOqhEE0cj1BSssAN5xDlL7da
|
||||
qJYgwhTZ2jZfOJhbmofqBkoWAGshBGu4Oi7IncEV9B7K2wsVw6DI4YTHhbaEJZqLd8
|
||||
T4PwkShegr4HwxPue8EMwQxmmauFf5gcqK6sURirdszEMAK4R1yih4VPurXxT39dUr
|
||||
rMkMqyk86ouJK9AwbPfI1lm0bkkjOwvU97J3FeNPwK8knUv4ewbVjcZSxzOtTY0oFY
|
||||
1gULoac8gq5NLo6ZOZXNzQsXQghFUlYIRf2oiUtriCQnznPTLrAWXd9IBSlyUPmDug
|
||||
QlUeCbXBCKbhgYzDWxHqlbG702g1nBg6tDI0vMZvaiS7Ins1292ljny1Z5vnN9TO5q
|
||||
z0WhSplzhm1yw4j7n5pl0YuTyzKxzsfS3D3I74G496wdAmpLpvYJtYerY1aFdWNioR
|
||||
rvonaTEJoe4MPvv2YwdgCMCa7833frbYYjoWucAz6av1dTyNABlUsx10gsGFRS5Gz0
|
||||
1282280B4B18B4C33FB82341D1D0F69D920299F1CCEA73D8D7148F8A217F0B7241
|
||||
F20F53592906B75D6279E1AD680F5614C275EA2D65C2AD47CAF0B236E329DEB18C
|
||||
YhZYW3QiL6OW9eXqQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
112F26EAF22B941D68296122852EE412A24D0C95E1DF3B8E8C2E7C169D1BDB5041
|
||||
718B1F38845381DE26A6D7299C7E7F68EF0659C29A0F2C8D91eFcB1ZxNnOK4rRiC
|
||||
YhZYW3QiL6OW9eXqQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
1282280B4B18B4C33FB82341D1D0F69D920299F1CCEA73D8D7148F8A217F0B7241
|
||||
F20F53592906B75D6279E1AD680F5614C275EA2D65C2AD47CAF0B236E329DEB18C
|
||||
YhZYW3QiL6OW9eXqQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
1123D43D4C4E67A6ECC25D50435673612FCD517E79E35AAE9BF0BA809CB73BECB9
|
||||
89C2045BB2189707D639BC1BE7CEFBF4D1AFA1485FD19FB881eFcB1ZxNnOK4rRiC
|
||||
YhZYW3QiL6OW9eXqQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
SIPSATIS_TOUTPRATIQUE,20/01/2016,V4,SOGENACTIF,PROD+++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++END
|
2
modules/atos/parmcom.039956369100050
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
ADVERT!logo.jpg!
|
@ -2,4 +2,4 @@ DEBUG!NO!
|
||||
D_LOGO!/modules/atos/img/logos/!
|
||||
F_CERTIFICATE!/home/www/toutpratique.com/www/modules/atos/certif!
|
||||
F_PARAM!/home/www/toutpratique.com/www/modules/atos/parmcom!
|
||||
F_DEFAULT!/home/www/toutpratique.com/www/modules/atos/parmcom.elysnet!
|
||||
F_DEFAULT!/home/www/toutpratique.com/www/modules/atos/parmcom.sogenactif!
|
BIN
modules/gls/AdminGls.gif
Normal file
After Width: | Height: | Size: 800 B |
133
modules/gls/AdminGls.php
Normal file
@ -0,0 +1,133 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__).'/gls.php');
|
||||
|
||||
class AdminGls extends AdminTab
|
||||
{
|
||||
private $gls = NULL;
|
||||
|
||||
public $post_errors = array();
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->gls = new Gls();
|
||||
|
||||
parent::__construct();
|
||||
$this->context = Context::getContext();
|
||||
}
|
||||
|
||||
private function displayOrdersTable()
|
||||
{
|
||||
$order_state = new OrderState((int)(Configuration::get('GLS_ORDER_STATE')), $this->context->language->id);
|
||||
$orders = Gls::getOrders(array(), Gls::NO_FILTER); //, $this->gls->account_shop['GLS_WEIGHT_COEFFICIENT']);
|
||||
|
||||
foreach($orders as &$order)
|
||||
{
|
||||
$order['display_total_price'] = Tools::displayPrice($order['total'], new Currency($order['id_currency']));
|
||||
$order['display_shipping_price'] = Tools::displayPrice($order['shipping'], new Currency($order['id_currency']));
|
||||
$order['display_date'] = Tools::displayDate($order['date'], $order['id_lang']);
|
||||
$order['weight'] = (!empty($order['gls_weight']) && $order['gls_weight'] > 0) ? $order['gls_weight'] : $order['order_weight'];
|
||||
}
|
||||
|
||||
$controller = (_PS_VERSION_ < '1.5') ? 'AdminContact' : 'AdminStores';
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'GLS_token_admin_module' => Tools::getAdminToken('AdminModules'.(int)(Tab::getIdFromClassName('AdminModules')).(int)$this->context->employee->id),
|
||||
'GLS_token_admin_contact' => array(
|
||||
'controller_name' => $controller,
|
||||
'token' => Tools::getAdminToken($controller.(int)(Tab::getIdFromClassName($controller)).(int)$this->context->employee->id)),
|
||||
'GLS_token_admin_orders' => Tools::getAdminToken('AdminOrders'.(int)(Tab::getIdFromClassName('AdminOrders')).(int)$this->context->employee->id),
|
||||
'GLS_order_state_name' => $order_state->name,
|
||||
'GLS_orders' => $orders,
|
||||
'GLS_PS_IMG_DIR_' => _PS_IMG_DIR_,
|
||||
//'GLS_errors_type' => $GLSCreateTicket->checkPreValidation()
|
||||
)
|
||||
);
|
||||
|
||||
unset($order_state);
|
||||
echo $this->gls->fetchTemplate('/tpl/admintab/', 'export_orders');
|
||||
}
|
||||
|
||||
public function displaySettings($post_action)
|
||||
{
|
||||
$curr_order_state = new OrderState((int)$this->gls->account_shop['GLS_ORDER_STATE']);
|
||||
$order_state = array(
|
||||
'id_order_state' => $this->gls->account_shop['GLS_ORDER_STATE'],
|
||||
'name' => $curr_order_state->name[$this->context->language->id]
|
||||
);
|
||||
|
||||
$order_state_import = array(
|
||||
'id_order_state' => $this->gls->account_shop['GLS_ORDER_STATE_IMPORT'],
|
||||
'name' => $curr_order_state->name[$this->context->language->id]
|
||||
);
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'GLS_token_admin_gls' => Tools::getAdminToken('AdminGls'.(int)(Tab::getIdFromClassName('AdminGls')).(int)$this->context->employee->id),
|
||||
'GLS_account_set' => Gls::isAccountSet(),
|
||||
'GLS_order_state' => $order_state,
|
||||
'GLS_order_state_import' => Configuration::get('GLS_ORDER_STATE_IMPORT'),
|
||||
'GLS_orders_states_list' => OrderState::getOrderStates($this->context->language->id),
|
||||
'GLS_form_action' => $post_action,
|
||||
'GLS_error_list' => $this->post_errors
|
||||
));
|
||||
|
||||
echo $this->gls->fetchTemplate('/tpl/admintab/', 'settings');
|
||||
}
|
||||
|
||||
public function postProcess()
|
||||
{
|
||||
$post_action = array(
|
||||
'type' => Tools::getValue('GLS_action_name'),
|
||||
'message_success' => $this->l('Action Succeed'),
|
||||
'had_errors' => false
|
||||
);
|
||||
|
||||
parent::postProcess();
|
||||
|
||||
if (Tools::isSubmit('submit_order_state'))
|
||||
if (($order_state = (int)Tools::getValue('id_order_state')))
|
||||
{
|
||||
$this->gls->account_shop['GLS_ORDER_STATE'] = $order_state;
|
||||
|
||||
if ($this->gls->updateAccountShop())
|
||||
$post_action['message_success'] = $this->l('Order State has been updated');
|
||||
else
|
||||
$this->post_errors[] = $this->l('Cannot Update the account shop');
|
||||
}
|
||||
|
||||
if (count($this->post_errors))
|
||||
$post_action['had_errors'] = true;
|
||||
|
||||
return $post_action;
|
||||
}
|
||||
|
||||
public function display()
|
||||
{
|
||||
|
||||
$post_action = count($_POST) ? $this->postProcess() : NULL;
|
||||
|
||||
$this->displaySettings($post_action);
|
||||
|
||||
if (Gls::isAccountSet() && (int)$this->gls->account_shop['GLS_ORDER_STATE'])
|
||||
{
|
||||
$this->displayOrdersTable();
|
||||
}
|
||||
}
|
||||
}
|
137
modules/gls/ajax.php
Normal file
@ -0,0 +1,137 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* File called by ajax. It's like a controller, you have to send the
|
||||
* method name of the webservice and implement it.
|
||||
* Each Name method allow to instanciate an object containing
|
||||
* methods to manage correctly the data and name fields
|
||||
*/
|
||||
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
|
||||
// Clean displayed content for Admin ajax query
|
||||
if (ob_get_contents()) ob_clean();
|
||||
|
||||
// Front Ajax query, need the front cookie and GLS class
|
||||
// When it's back query, the PS core made the work
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
{
|
||||
require_once(realpath(dirname(__FILE__).'/../../config/config.inc.php'));
|
||||
require_once(realpath(dirname(__FILE__).'/../../init.php'));
|
||||
require_once(dirname(__FILE__).'/gls.php');
|
||||
}
|
||||
|
||||
$gls = new Gls();
|
||||
|
||||
require_once(dirname(__FILE__).'/classes/GLSManagement.php');
|
||||
|
||||
// Can't use Tools at this time... Need to know if _PS_ADMIN_DIR_ has to be defined
|
||||
$method = Tools::getValue('method');
|
||||
$token = Tools::getValue('glstoken');
|
||||
// Access page List liable to the generated token
|
||||
$accessPageList = array(
|
||||
Gls::getToken('front') => array(
|
||||
'GLSGetRelayPoint',
|
||||
'addSelectedCarrierToDB'
|
||||
),
|
||||
Gls::getToken('back') => array(
|
||||
'GLSexportToWinExpe',
|
||||
'GLSImportFromWinExpe',
|
||||
'GLSCreateTickets',
|
||||
'GLSDeleteHistory',
|
||||
'uninstallDetail',
|
||||
'DeleteHistory'
|
||||
)
|
||||
);
|
||||
|
||||
$params = array();
|
||||
$result = array();
|
||||
|
||||
// If the method name associated to the token received doesn't match with
|
||||
// the list, then we kill the request
|
||||
if (!isset($accessPageList[$token]) || !in_array($method, $accessPageList[$token]))
|
||||
exit();
|
||||
|
||||
// Method name allow to instanciate his object to properly call the
|
||||
// implemented interface method and do his job
|
||||
switch($method)
|
||||
{
|
||||
case 'GLSexportToWinExpe':
|
||||
$params['orderIdList'] = Tools::getValue('order_id_list');
|
||||
$params['totalOrder'] = Tools::getValue('numSelected');
|
||||
$params['weightList'] = Tools::getValue('weight_list');
|
||||
break;
|
||||
case 'GLSImportFromWinExpe':
|
||||
$params['orderStateImport'] = Tools::getValue('id_order_state');
|
||||
break;
|
||||
case 'GLSGetTickets':
|
||||
$params['detailedExpeditionList'] = Tools::getValue('detailedExpeditionList');
|
||||
break;
|
||||
case 'uninstallDetail':
|
||||
$params['action'] = Tools::getValue('action');
|
||||
break;
|
||||
case 'GLSGetRelayPoint':
|
||||
$params['id_carrier'] = Tools::getValue('id_carrier');
|
||||
$params['weight'] = Context::getContext()->cart->getTotalWeight();
|
||||
$params['id_address_delivery'] = Context::getContext()->cart->id_address_delivery;
|
||||
break;
|
||||
case 'addSelectedCarrierToDB':
|
||||
$params['id_carrier'] = Tools::getValue('id_carrier');
|
||||
$params['id_cart'] = Context::getContext()->cart->id;
|
||||
$params['id_customer'] = Context::getContext()->customer->id;
|
||||
$params['id_gls_method'] = Tools::getValue('id_gls_method');
|
||||
$params['relayPointInfo'] = Tools::getValue('relayPointInfo');
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
// Try to instanciate the method object name and call the necessaries method
|
||||
try
|
||||
{
|
||||
if (class_exists($method, false))
|
||||
{
|
||||
// $this is the current mondialrelay object loaded when use in BO. Use for perf
|
||||
$obj = new $method($params, $mondialrelay);
|
||||
|
||||
// Verify that the class implement correctly the interface
|
||||
// Else use a Management class to do some ajax stuff
|
||||
if (($obj instanceof IMondialRelayWSMethod))
|
||||
{
|
||||
$obj->init();
|
||||
$obj->send();
|
||||
$result = $obj->getResult();
|
||||
}
|
||||
unset($obj);
|
||||
}
|
||||
else if (($management = new GlsManagement($params)) &&
|
||||
method_exists($management, $method))
|
||||
$result = $management->{$method}();
|
||||
else
|
||||
throw new Exception('Method Class : '.$method.' can\'t be found');
|
||||
unset($management);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
echo GLSTools::jsonEncode(array('other' => array('error' => array($e->getMessage()))));
|
||||
exit(-1);
|
||||
}
|
||||
echo GLSTools::jsonEncode($result);
|
||||
exit(0);
|
93
modules/gls/ajaxFront.php
Normal file
@ -0,0 +1,93 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* File called by ajax. It's like a controller, you have to send the
|
||||
* method name of the webservice and implement it.
|
||||
* Each Name method allow to instanciate an object containing
|
||||
* methods to manage correctly the data and name fields
|
||||
*/
|
||||
|
||||
// Clean displayed content for Admin ajax query
|
||||
if (ob_get_contents()) ob_clean();
|
||||
|
||||
// Front Ajax query, need the front cookie and GLS class
|
||||
// When it's back query, the PS core made the work
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
{
|
||||
require_once(realpath(dirname(__FILE__).'/../../config/config.inc.php'));
|
||||
require_once(realpath(dirname(__FILE__).'/../../init.php'));
|
||||
require_once(dirname(__FILE__).'/gls.php');
|
||||
}
|
||||
|
||||
$gls = new Gls();
|
||||
|
||||
// Can't use Tools at this time... Need to know if _PS_ADMIN_DIR_ has to be defined
|
||||
$method = Tools::getValue('method');
|
||||
|
||||
$params = array();
|
||||
$result = array();
|
||||
|
||||
// Method name allow to instanciate his object to properly call the
|
||||
// implemented interface method and do his job
|
||||
switch($method)
|
||||
{
|
||||
case 'getGLSRelayCarrierId':
|
||||
break;
|
||||
case 'getGLSRelayPointsForZipCode':
|
||||
$params['zipcode'] = Tools::getValue('zipcode');
|
||||
$params['street'] = Tools::getValue('street');
|
||||
$params['city'] = Tools::getValue('city');
|
||||
break;
|
||||
case 'getDefaultZipCode':
|
||||
break;
|
||||
case 'saveDeliveryDetails':
|
||||
$params['name'] = Tools::getValue('name');
|
||||
$params['address'] = Tools::getValue('address');
|
||||
$params['city'] = Tools::getValue('city');
|
||||
$params['zipcode'] = Tools::getValue('zipcode');
|
||||
$params['relayId'] = Tools::getValue('relayId');
|
||||
$params['phone'] = Tools::getValue('phone');
|
||||
$params['warnbyphone'] = Tools::getValue('warnbyphone');
|
||||
break;
|
||||
case 'getChoosenRelay':
|
||||
break;
|
||||
case 'resetDeliveryDetails':
|
||||
break;
|
||||
default:
|
||||
exit;
|
||||
}
|
||||
|
||||
// Try to instanciate the method object name and call the necessaries method
|
||||
try
|
||||
{
|
||||
if (method_exists($gls,$method))
|
||||
{
|
||||
$result = call_user_func(array($gls,$method),$params);
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
echo GLSTools::jsonEncode(array('other' => array('error' => array($e->getMessage()))));
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
echo GLSTools::jsonEncode($result);
|
||||
exit(0);
|
89
modules/gls/changelog.txt
Normal file
@ -0,0 +1,89 @@
|
||||
version 1.1.2
|
||||
14/07/2015 : - Ajout du test d'existence de la table avant l'import des agences
|
||||
- Correction de l'affichage d'erreurs avec ajout pour les points relais
|
||||
|
||||
version 1.1.1
|
||||
29/05/2015 : - Mise en place du contact lors de l'export des commandes livrées en Express
|
||||
|
||||
27/05/2015 : - Ajout du mode de transport Express
|
||||
- Corrections de standards prestashop
|
||||
|
||||
01/04/2015 : - Gestion de la creation de la table d'export, pour les mises à jour par écrasement de dossier
|
||||
- Gestion de l'export lors d'installation prestashop en sous dossier
|
||||
|
||||
version 1.1.0
|
||||
04/03/2015 : - Suppression de jQuery tools au profit de popupoverlay
|
||||
|
||||
version 1.0.16
|
||||
30/12/2014 : - Ajout des messages d'erreurs du webservices
|
||||
|
||||
version 1.0.15
|
||||
19/11/2014 : - Ajout du champ « société » dans l'export vers WINEXPE6
|
||||
- Mise en place de l'automatisation par cron
|
||||
- Ajout du service « Livraison à domicile premium »
|
||||
|
||||
version 1.0.14
|
||||
27/10/2014 : Utilisation de la version 3 de la google map
|
||||
|
||||
version 1.0.13
|
||||
09/09/2014 : Correction de compatibilité avec la commande rapide
|
||||
15/09/2014 : Envoi d'email de suivi lors de la mise à jour des commandes par import
|
||||
16/09/2014 : prise en compte des chagement de poids de commande avant l'export
|
||||
17/09/2014 : changement de l'unité de poids des commande exportées
|
||||
|
||||
version 1.0.12
|
||||
23/07/2014 : Correction de compatibilité avec le module Mondial Relay + changement javascript des fonction live en on.
|
||||
|
||||
version 1.0.11
|
||||
23/07/2014 : bug javascript, lorsqu'on est pas connecté en mode one page checkout
|
||||
|
||||
version 1.0.10
|
||||
09/07/2014 : message de warning
|
||||
09/07/2014 : template de configuration pour suppression d'une notice
|
||||
|
||||
version 1.0.9
|
||||
12/06/2014 : poids sur les exports de commande ayant plusieurs fois le même produit
|
||||
|
||||
version 1.0.8
|
||||
09/06/2014 : nom du module
|
||||
09/06/2014 : Obligation de mettre un numéro de téléphone pourla livraison en point relais
|
||||
|
||||
version 1.0.7
|
||||
02/06/2014 : Gestion de la répartition des caractères de l'adresse sur plusieurs ligne de 35 caractères
|
||||
|
||||
version 1.0.6
|
||||
21/05/2014 : Rajout de sécurités sur le chargement de la carte Google
|
||||
20/05/2014 : Correction d'un bug aléatoire sur la carte sous FF
|
||||
16/05/2014 : Adaptation pour la compatibilité avec le module de point de fidélité
|
||||
13/05/2014 : Placement de la société dans le champs street 1
|
||||
|
||||
version 1.0.5
|
||||
28/04/2014 : Correction de l'export des commandes à la racine du module
|
||||
28/04/2014 : Correction du non blocage du tunnel lors de la non sélection d'un relais GLS
|
||||
|
||||
version 1.0.4
|
||||
24/04/2014 : Mise à jour de la documentation
|
||||
22/04/2014 : Mise en place de la case à cocher pour la configuration des zones ou non à l'installation
|
||||
|
||||
version 1.0.3
|
||||
11/04/2014 : Mise à jour pour la compatibilité prestashop 1.6 dans le BO
|
||||
11/04/2014 : Suppression d'informations persistantes à la désinstallation du module
|
||||
07/04/2014 : Correction d'un dysfontionnement de l'affichage du relais choisi
|
||||
|
||||
version 1.0.2
|
||||
07/04/2014 : Correction d'un problème de structure de table GLS
|
||||
01/04/2014 : Limitation du poids des relais XL
|
||||
|
||||
version 1.0.1
|
||||
24/03/2014 : Correction du non ajout des transporteurs à la première installation
|
||||
24/03/2014 : Correction de l'affichage du overlay GLS sur prestashop 1.6
|
||||
24/03/2014 : Gestion de la version 1.6 de prestashop dans le javascript du module GLS
|
||||
20/03/2014 : Affichage du prix de la commande même non payé dans le module GLS
|
||||
|
||||
version 1.0.0
|
||||
19/03/2014 : Mise en place du changement de status pour l'import des commandes
|
||||
18/03/2014 : Enregistrement de plusieurs numéro de tracking pour la même commande
|
||||
04/03/2014 : Suppression du Product number lorsde l'export des commande livré à domicile
|
||||
04/03/2014 : Etre prévenu par SMS coché par défaut, et récupération du numéro de téléphone mobile de l'adresse de facturation
|
||||
14/02/2014 : Implémentation de l'import des commandes
|
||||
13/02/2014 : Implémentation de l'export des commandes
|
489
modules/gls/classes/GLSManagement.php
Normal file
@ -0,0 +1,489 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__) . '/../gls.php');
|
||||
|
||||
class GlsManagement extends Gls {
|
||||
|
||||
private $_params = array();
|
||||
private $_filename = '';
|
||||
private $_resultList = array(
|
||||
'error' => array(),
|
||||
'success' => array());
|
||||
private $_aProductnoCorrespondance = array(
|
||||
'BP' => '02',
|
||||
'BP_international' => '01',
|
||||
'ADO' => '18',
|
||||
'ADO_international' => '19',
|
||||
'SHD' => '17',
|
||||
'EXP' => '16'
|
||||
);
|
||||
|
||||
public function __construct($params) {
|
||||
$this->_params = $params;
|
||||
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function __destruct() {
|
||||
|
||||
}
|
||||
|
||||
public function uninstallDetail() {
|
||||
$html = '';
|
||||
|
||||
switch ($this->_params['action']) {
|
||||
case 'showFancy':
|
||||
$html .= '
|
||||
<div id="PS_GLSAskBackupContent">
|
||||
<h2>' . $this->l('Uninstalling Gls') . '</h2>
|
||||
<div>
|
||||
' . $this->l('You\'re about to uninstall the module, do you want to remove the database') . ' ?
|
||||
<p id="PS_GLSUninstallListSelection">
|
||||
<input type="button" id="PS_GLS_BackupAction" href="javascript:void(0)" value="' . $this->l('Keep it and uninstall') . '"/>
|
||||
<br />
|
||||
<input type="button" id="PS_GLS_UninstallAction" href="javascript:void(0)" value="' . $this->l('Remove and uninstall') . '" />
|
||||
<br />
|
||||
<input type="button" id="PS_GLS_StopUninstall" href="javascript:void(0)" value="' . $this->l('Cancel') . '" />
|
||||
<br />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
$this->_resultList['html'] = $html;
|
||||
break;
|
||||
case 'backupAndUninstall':
|
||||
|
||||
break;
|
||||
default:
|
||||
}
|
||||
return $this->_resultList;
|
||||
}
|
||||
|
||||
public function GLSexportToWinExpe() {
|
||||
|
||||
/*
|
||||
* Csv export configuration
|
||||
*/
|
||||
$delimiter = ';';
|
||||
$encloser = '"';
|
||||
$this->_filename = 'GlsCmd_' . $this->udate('YmdHisu') . '.csv';
|
||||
|
||||
/*
|
||||
* Get the export Folder
|
||||
*/
|
||||
$glsConfiguration = Gls::getAccountDetail();
|
||||
($glsConfiguration['GLS_EXPORT_FOLDER']) ? $exportFolder = _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . $glsConfiguration['GLS_EXPORT_FOLDER'] : $exportFolder = dirname(__FILE__) . '/../export/';
|
||||
|
||||
(is_array($this->_params["orderIdList"])) ? $orderIdLists = implode(',', $this->_params["orderIdList"]) : $orderIdLists = '';
|
||||
|
||||
$aWeightList = array();
|
||||
if (is_array($this->_params["weightList"]) && count($this->_params["weightList"]) > 0) {
|
||||
foreach ($this->_params["weightList"] as $weight) {
|
||||
$aTemp = explode('-', $weight);
|
||||
$aWeightList[$aTemp[1]] = $aTemp[0];
|
||||
}
|
||||
}
|
||||
|
||||
if ($orderIdLists && $orderIdLists != '') {
|
||||
|
||||
$query = '
|
||||
SELECT o.id_order,daddress.lastname, daddress.firstname,daddress.address1,daddress.address2,daddress.postcode,daddress.city,daddress.phone,carrier.external_module_name,SUM(od.product_weight*od.product_quantity) as order_weight,customer.id_customer,customer.email,gls.relay_warnbyphone,gls.relay_phone,country.iso_code,gls.relay_id,daddress.company,daddress.phone_mobile
|
||||
FROM `' . _DB_PREFIX_ . 'orders` o
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'address` daddress ON (o.id_address_delivery = daddress.id_address)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'order_detail` od ON (o.id_order = od.id_order)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'carrier` carrier ON (o.id_carrier = carrier.id_carrier)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'customer` customer ON (o.id_customer = customer.id_customer)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'GLS_delivery_info` gls ON (o.id_customer = gls.id_customer AND o.id_cart = gls.id_cart)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'country` country ON (daddress.id_country = country.id_country)
|
||||
WHERE o.id_order in(' . $orderIdLists . ')
|
||||
GROUP BY o.id_order
|
||||
;';
|
||||
} else {
|
||||
$query = '
|
||||
SELECT o.id_order,daddress.lastname, daddress.firstname,daddress.address1,daddress.address2,daddress.postcode,daddress.city,daddress.phone,carrier.external_module_name,SUM(od.product_weight*od.product_quantity) as order_weight,customer.id_customer,customer.email,gls.relay_warnbyphone,gls.relay_phone,country.iso_code,gls.relay_id,daddress.company,daddress.phone_mobile
|
||||
FROM `' . _DB_PREFIX_ . 'orders` o
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'address` daddress ON (o.id_address_delivery = daddress.id_address)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'order_detail` od ON (o.id_order = od.id_order)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'carrier` carrier ON (o.id_carrier = carrier.id_carrier)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'customer` customer ON (o.id_customer = customer.id_customer)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'GLS_delivery_info` gls ON (o.id_customer = gls.id_customer AND o.id_cart = gls.id_cart)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'GLS_orders_import_export` gls_ie ON (o.id_order = gls_ie.id_order)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'country` country ON (daddress.id_country = country.id_country)
|
||||
WHERE gls_ie.exported IS NULL
|
||||
GROUP BY o.id_order
|
||||
;';
|
||||
}
|
||||
|
||||
//On teste la requete afin de créer la table si elle n'existe pas
|
||||
$aOrdersToExport = Db::getInstance()->executeS($query);
|
||||
|
||||
if (!$aOrdersToExport) {
|
||||
//Test de la présence de la table
|
||||
if ($this->tableExists(_DB_PREFIX_ . 'GLS_orders_import_export')) {
|
||||
return false;
|
||||
} else {
|
||||
$sql = 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'GLS_orders_import_export` (
|
||||
`id_order` int(10) NOT NULL,
|
||||
`imported` tinyint(1) NULL,
|
||||
`exported` tinyint(1) NULL,
|
||||
PRIMARY KEY (`id_order`)
|
||||
) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8;';
|
||||
Db::getInstance()->execute($sql);
|
||||
|
||||
$aOrdersToExport = Db::getInstance()->executeS($query);
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_array($aOrdersToExport))
|
||||
$aOrdersToExport = array();
|
||||
|
||||
if (count($aOrdersToExport) <= 0) {
|
||||
return $this->l('Error : No order to export');
|
||||
}
|
||||
|
||||
$aOrdersExported = array();
|
||||
|
||||
// HEADERS of the file
|
||||
$aheaders = array('ORDERID', 'ORDERNAME', 'PRODUCTNO', 'ORDERWEIGHTTOT', 'CONSID', 'CONTACT', 'CONTACTMAIL', 'CONTACTMOBILE', 'CONTACTPHONE', 'STREET1', 'STREET2', 'STREET3', 'COUNTRYCODE', 'CITY', 'ZIPCODE', 'REFPR');
|
||||
$aOrdersExported[] = $aheaders;
|
||||
|
||||
// Parsing of the orders
|
||||
foreach ($aOrdersToExport as $order) {
|
||||
$aRow = array();
|
||||
|
||||
// ORDERID
|
||||
$aRow[] = $order['id_order'];
|
||||
|
||||
//Test s'il y a un nom de société
|
||||
if ($order['company']) {
|
||||
$aRow[] = $order['company'];
|
||||
} else {
|
||||
$aRow[] = mb_strtoupper($order['firstname'] . ' ' . $order['lastname'], 'UTF-8');
|
||||
}
|
||||
|
||||
// PRODUCTNO
|
||||
if ($order['external_module_name'] == 'gls') {
|
||||
$shippingMethod = 'EXP';
|
||||
} else {
|
||||
$shippingMethod = mb_strtoupper(Tools::substr($order['external_module_name'], 4, 3), 'UTF-8');
|
||||
}
|
||||
|
||||
if (mb_strtoupper($order['iso_code'], 'UTF-8') != 'FR') {
|
||||
$aRow[] = $this->_aProductnoCorrespondance[$shippingMethod . '_international'];
|
||||
} else {
|
||||
$aRow[] = $this->_aProductnoCorrespondance[$shippingMethod];
|
||||
}
|
||||
|
||||
// ORDERWEIGHTTOT
|
||||
if ($order['order_weight'] != $aWeightList[$order['id_order']]) {
|
||||
$aRow[] = str_pad(number_format($aWeightList[$order['id_order']] / 1000, 2, '.', ''), 5, "0", STR_PAD_LEFT);
|
||||
} else {
|
||||
$aRow[] = str_pad(number_format($order['order_weight'], 2, '.', ''), 5, "0", STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
// CONSID
|
||||
$aRow[] = $order['id_customer'];
|
||||
|
||||
// CONTACT
|
||||
if ($order['company']) {
|
||||
$aRow[] = mb_strtoupper($order['firstname'] . ' ' . $order['lastname'], 'UTF-8');
|
||||
} else {
|
||||
if ($shippingMethod == 'EXP') {
|
||||
/* If Shipping method is express, CONTACT field is always FIRSTNAME - LASTNAME */
|
||||
$aRow[] = mb_strtoupper($order['firstname'] . ' ' . $order['lastname'], 'UTF-8');
|
||||
} else {
|
||||
$aRow[] = '';
|
||||
}
|
||||
}
|
||||
|
||||
// CONTACTMAIL
|
||||
$aRow[] = $order['email'];
|
||||
|
||||
// CONTACTMOBILE
|
||||
if ($shippingMethod != 'SHD') {
|
||||
$aRow[] = $order['phone_mobile'];
|
||||
} else {
|
||||
$aRow[] = $order['relay_warnbyphone'] ? $order['relay_phone'] : '';
|
||||
}
|
||||
|
||||
// CONTACTPHONE
|
||||
if (!$order['phone']) {
|
||||
$aRow[] = $order['phone_mobile'];
|
||||
} else {
|
||||
$aRow[] = $order['phone'];
|
||||
}
|
||||
|
||||
if ($order['address1'] > 35 || Tools::strlen($order['address2']) > 35) {
|
||||
$street = $order['address1'] . ' ' . $order['address2'];
|
||||
$street = wordwrap($street, 35, ';', true);
|
||||
$aStreet = explode(';', $street);
|
||||
|
||||
// STREET1
|
||||
$aRow[] = mb_strtoupper(isset($aStreet[0]) ? $aStreet[0] : null, 'UTF-8');
|
||||
// STREET2
|
||||
$aRow[] = mb_strtoupper(isset($aStreet[1]) ? $aStreet[1] : null, 'UTF-8');
|
||||
} else {
|
||||
// STREET1
|
||||
$aRow[] = mb_strtoupper($order['address1'], 'UTF-8');
|
||||
|
||||
// STREET2
|
||||
$aRow[] = mb_strtoupper($order['address2'], 'UTF-8');
|
||||
}
|
||||
|
||||
// STREET3
|
||||
$aRow[] = '';
|
||||
|
||||
// COUNTRYCODE
|
||||
$aRow[] = mb_strtoupper($order['iso_code'], 'UTF-8');
|
||||
|
||||
// CITY
|
||||
$aRow[] = mb_strtoupper($this->stripAccents($order['city']), 'UTF-8');
|
||||
|
||||
// ZIPCODE
|
||||
$aRow[] = mb_strtoupper($order['postcode'], 'UTF-8');
|
||||
|
||||
// REFPR (identifiant du point relais)
|
||||
$aRow[] = $order['relay_id'];
|
||||
|
||||
// Adding the order to the export array
|
||||
$aOrdersExported[] = $aRow;
|
||||
|
||||
if (!$orderIdLists == '') {
|
||||
|
||||
$query = 'DELETE FROM `' . _DB_PREFIX_ . 'GLS_orders_import_export` WHERE `id_order` = ' . $order['id_order'] . ';';
|
||||
if (!Db::getInstance()->execute($query)) {
|
||||
if (!$this->tableExists(_DB_PREFIX_ . 'GLS_orders_import_export')) {
|
||||
$sql = 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'GLS_orders_import_export` (
|
||||
`id_order` int(10) NOT NULL,
|
||||
`imported` tinyint(1) NULL,
|
||||
`exported` tinyint(1) NULL,
|
||||
PRIMARY KEY (`id_order`)
|
||||
) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8;';
|
||||
Db::getInstance()->execute($sql);
|
||||
|
||||
$query = 'DELETE FROM `' . _DB_PREFIX_ . 'GLS_orders_import_export` WHERE `id_order` = ' . $order['id_order'] . ';';
|
||||
Db::getInstance()->execute($query);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$query = 'INSERT INTO `' . _DB_PREFIX_ . 'GLS_orders_import_export` (`id_order`,
|
||||
`imported`,
|
||||
`exported`)
|
||||
VALUES
|
||||
(' . $order['id_order'] . ',
|
||||
0,
|
||||
1);';
|
||||
|
||||
if (!Db::getInstance()->execute($query))
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Save the file
|
||||
*/
|
||||
$writeCsv = $this->array2csv($aOrdersExported, $this->_filename, $delimiter, $encloser, $exportFolder);
|
||||
($writeCsv) ? $return = $writeCsv : $return = count($aOrdersExported) - 1 . ' ' . $this->l('orders exported');
|
||||
|
||||
return _PS_BASE_URL_ . __PS_BASE_URI__ . DIRECTORY_SEPARATOR . $glsConfiguration['GLS_EXPORT_FOLDER'] . DIRECTORY_SEPARATOR . $this->_filename;
|
||||
}
|
||||
|
||||
private function udate($format = 'u', $utimestamp = null) {
|
||||
if (is_null($utimestamp))
|
||||
$utimestamp = microtime(true);
|
||||
|
||||
$timestamp = floor($utimestamp);
|
||||
$milliseconds = round(($utimestamp - $timestamp) * 1000000);
|
||||
$milliseconds = Tools::substr($milliseconds, 0, 2);
|
||||
return date(preg_replace('`(?<!\\\\)u`', $milliseconds, $format), $timestamp);
|
||||
}
|
||||
|
||||
private function array2csv(array &$array, $filename, $delimiter = ';', $encloser = '"', $folder = 'modules/gls/export/') {
|
||||
if (count($array) == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!file_exists($folder) and ! is_dir($folder)) {
|
||||
if (!@mkdir($folder, '777', true)) {
|
||||
$error = error_get_last();
|
||||
return $folder . ' ' . $error['message'];
|
||||
}
|
||||
}
|
||||
|
||||
ob_start();
|
||||
try {
|
||||
$df = fopen($folder . DIRECTORY_SEPARATOR . $filename, 'w+');
|
||||
} catch (Exception $e) {
|
||||
return ($e->message());
|
||||
}
|
||||
foreach ($array as $row) {
|
||||
//WINEXPE attends de l'ISO-8859-1
|
||||
foreach (array_keys($row) as $key) {
|
||||
$row[$key] = iconv('UTF-8', 'ISO-8859-9', $row[$key]);
|
||||
}
|
||||
|
||||
fputcsv($df, $row, $delimiter, $encloser);
|
||||
}
|
||||
fclose($df);
|
||||
return ob_get_clean();
|
||||
}
|
||||
|
||||
public function GLSImportFromWinExpe() {
|
||||
|
||||
|
||||
Configuration::updateValue('GLS_ORDER_STATE_IMPORT', $this->_params["orderStateImport"]);
|
||||
|
||||
/*
|
||||
* Get the import Folder
|
||||
*/
|
||||
$glsConfiguration = Gls::getAccountDetail();
|
||||
($glsConfiguration['GLS_IMPORT_FOLDER']) ? $importFolder = _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . $glsConfiguration['GLS_IMPORT_FOLDER'] : $importFolder = dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'import' . DIRECTORY_SEPARATOR;
|
||||
|
||||
if (!file_exists($importFolder) and ! is_dir($importFolder)) {
|
||||
return $importFolder . ' ' . $this->l('does not exist');
|
||||
}
|
||||
|
||||
$dir = opendir($importFolder);
|
||||
$count = 0;
|
||||
|
||||
//Parcour du dossier
|
||||
while ($file = readdir($dir)) {
|
||||
if ($file != '.' && $file != '..' && !is_dir($importFolder . $file) && strpos($file, 'GlsWinExpe6_') !== FALSE) {
|
||||
$aOrdersUpdated = array();
|
||||
// Parcour du fichier
|
||||
if (($handle = fopen($importFolder . DIRECTORY_SEPARATOR . $file, "r")) !== FALSE) {
|
||||
$row = 0;
|
||||
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
|
||||
$num = count($data);
|
||||
$row++;
|
||||
if ($row > 1 && isset($data[4]) && $data[4]) {
|
||||
// On récupère le champ 5 qui contient le numéro de la commande
|
||||
// chargement de la commande
|
||||
$order = new Order($data[4]);
|
||||
|
||||
$id_order_carrier = Db::getInstance()->getValue('SELECT `id_order_carrier` FROM `' . _DB_PREFIX_ . 'order_carrier` WHERE `id_order` = ' . (int) $data[4]);
|
||||
|
||||
//Si la commande n'existe pas
|
||||
if (!$id_order_carrier)
|
||||
continue;
|
||||
|
||||
$order_carrier = new OrderCarrier($id_order_carrier);
|
||||
|
||||
if (strpos($order_carrier->tracking_number, $data[17]) === false) {
|
||||
if ($order_carrier->tracking_number) {
|
||||
$order_carrier->tracking_number = $order_carrier->tracking_number . ',' . pSQL($data[17]);
|
||||
} else {
|
||||
$order_carrier->tracking_number = pSQL($data[17]);
|
||||
}
|
||||
$order_carrier->update();
|
||||
}
|
||||
|
||||
// On met à jour le trackid avec le champ 18
|
||||
try {
|
||||
if (strpos($order->shipping_number, $data[17]) === false) {
|
||||
if ($order->shipping_number) {
|
||||
$order->shipping_number .= ',' . $data[17];
|
||||
} else {
|
||||
$order->shipping_number = $data[17];
|
||||
}
|
||||
|
||||
$order->update();
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return $this->l('Order ') . $data[4] . ' ' . $this->l('has no shipping number in the import file ');
|
||||
}
|
||||
|
||||
try {
|
||||
// Changement du status de la commande
|
||||
$new_order_state = new OrderState($this->_params["orderStateImport"]);
|
||||
$current_order_state = $order->getCurrentOrderState();
|
||||
if ($current_order_state->id != $new_order_state->id) {
|
||||
// Create new OrderHistory
|
||||
$history = new OrderHistory();
|
||||
$history->id_order = $order->id;
|
||||
$history->id_order_state = $new_order_state->id;
|
||||
|
||||
//Sauvegarde dans la base de donnée de l'import
|
||||
$query = 'UPDATE `' . _DB_PREFIX_ . 'GLS_orders_import_export` set imported = 1 WHERE `id_order` = ' . $data[4] . ';';
|
||||
if (!Db::getInstance()->execute($query)) {
|
||||
if (!$this->tableExists(_DB_PREFIX_ . 'GLS_orders_import_export')) {
|
||||
$sql = 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'GLS_orders_import_export` (
|
||||
`id_order` int(10) NOT NULL,
|
||||
`imported` tinyint(1) NULL,
|
||||
`exported` tinyint(1) NULL,
|
||||
PRIMARY KEY (`id_order`)
|
||||
) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8;';
|
||||
Db::getInstance()->execute($sql);
|
||||
|
||||
$query = 'DELETE FROM `' . _DB_PREFIX_ . 'GLS_orders_import_export` WHERE `id_order` = ' . $order['id_order'] . ';';
|
||||
Db::getInstance()->execute($query);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$use_existings_payment = false;
|
||||
if (!$order->hasInvoice())
|
||||
$use_existings_payment = true;
|
||||
$history->changeIdOrderState((int) $new_order_state->id, $order, $use_existings_payment);
|
||||
$history->addWithemail(true);
|
||||
$history->save();
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
Logger::addLog($e->getMessage());
|
||||
return $this->l('Order ') . $data[4] . ' ' . $this->l('No change of status ');
|
||||
}
|
||||
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
fclose($handle);
|
||||
|
||||
try {
|
||||
unlink($importFolder . DIRECTORY_SEPARATOR . $file);
|
||||
} catch (Exception $e) {
|
||||
return ("Import : unable to delete file : " . $importFolder . $file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
closedir($dir);
|
||||
return $count . ' ' . $this->l('orders imported');
|
||||
}
|
||||
|
||||
public function stripAccents($string) {
|
||||
return strtr($string, 'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ', 'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
|
||||
}
|
||||
|
||||
public function tableExists($tableName) {
|
||||
$tables = Db::getInstance()->executeS('SHOW TABLES');
|
||||
foreach ($tables as $key => $table) {
|
||||
if ($table == $tableName) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
261
modules/gls/classes/GLSTools.php
Normal file
@ -0,0 +1,261 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
/*
|
||||
** Some tools using used in the module
|
||||
*/
|
||||
class GLSTools
|
||||
{
|
||||
const REGEX_CLEAN_ADDR = '/[^a-zA-Z0-9-\s\'\!\,\|\(\)\.\*\&\#\/\:]/';
|
||||
|
||||
const REGEX_CLEAN_PHONE = '/[^0-9+\(\)]*/';
|
||||
|
||||
/**
|
||||
* Check if a string could be UTF8 one
|
||||
*
|
||||
* @static
|
||||
* @param $str
|
||||
* @return bool
|
||||
*/
|
||||
public static function seemsUTF8($str)
|
||||
{
|
||||
$length = Tools::strlen($str);
|
||||
|
||||
for($i = 0; $i < $length; $i++)
|
||||
{
|
||||
$c = ord($str[$i]);
|
||||
if ($c < 0x80)
|
||||
$n = 0; # 0bbbbbbb
|
||||
else if (($c & 0xE0) == 0xC0)
|
||||
$n = 1; # 110bbbbb
|
||||
else if (($c & 0xF0) == 0xE0)
|
||||
$n=2; # 1110bbbb
|
||||
else if (($c & 0xF8) == 0xF0)
|
||||
$n = 3; # 11110bbb
|
||||
else if (($c & 0xFC) == 0xF8)
|
||||
$n = 4; # 111110bb
|
||||
else if (($c & 0xFE) == 0xFC)
|
||||
$n=5; # 1111110b
|
||||
else
|
||||
return false; # Does not match any model
|
||||
for ($j = 0; $j < $n; $j++)
|
||||
{
|
||||
# n bytes matching 10bbbbbb follow ?
|
||||
if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts all accent characters to ASCII characters.
|
||||
*
|
||||
* If there are no accent characters, then the string given is just returned.
|
||||
*
|
||||
* @param string $string Text that might have accent characters
|
||||
* @return string Filtered string with replaced "nice" characters.
|
||||
*/
|
||||
public static function removeAccents($string)
|
||||
{
|
||||
if (!preg_match('/[\x80-\xff]/', $string))
|
||||
return $string;
|
||||
|
||||
if (GLSTools::seemsUTF8($string))
|
||||
{
|
||||
$chars = array(
|
||||
// Decompositions for Latin-1 Supplement
|
||||
chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
|
||||
chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
|
||||
chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
|
||||
chr(195).chr(135) => 'C', chr(195).chr(136) => 'E',
|
||||
chr(195).chr(137) => 'E', chr(195).chr(138) => 'E',
|
||||
chr(195).chr(139) => 'E', chr(195).chr(140) => 'I',
|
||||
chr(195).chr(141) => 'I', chr(195).chr(142) => 'I',
|
||||
chr(195).chr(143) => 'I', chr(195).chr(145) => 'N',
|
||||
chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
|
||||
chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
|
||||
chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
|
||||
chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
|
||||
chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
|
||||
chr(195).chr(159) => 's', chr(195).chr(160) => 'a',
|
||||
chr(195).chr(161) => 'a', chr(195).chr(162) => 'a',
|
||||
chr(195).chr(163) => 'a', chr(195).chr(164) => 'a',
|
||||
chr(195).chr(165) => 'a', chr(195).chr(167) => 'c',
|
||||
chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
|
||||
chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
|
||||
chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
|
||||
chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
|
||||
chr(195).chr(177) => 'n', chr(195).chr(178) => 'o',
|
||||
chr(195).chr(179) => 'o', chr(195).chr(180) => 'o',
|
||||
chr(195).chr(181) => 'o', chr(195).chr(182) => 'o',
|
||||
chr(195).chr(182) => 'o', chr(195).chr(185) => 'u',
|
||||
chr(195).chr(186) => 'u', chr(195).chr(187) => 'u',
|
||||
chr(195).chr(188) => 'u', chr(195).chr(189) => 'y',
|
||||
chr(195).chr(191) => 'y',
|
||||
// Decompositions for Latin Extended-A
|
||||
chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
|
||||
chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
|
||||
chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
|
||||
chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
|
||||
chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
|
||||
chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
|
||||
chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
|
||||
chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
|
||||
chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
|
||||
chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
|
||||
chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
|
||||
chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
|
||||
chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
|
||||
chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
|
||||
chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
|
||||
chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
|
||||
chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
|
||||
chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
|
||||
chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
|
||||
chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
|
||||
chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
|
||||
chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
|
||||
chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
|
||||
chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
|
||||
chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
|
||||
chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
|
||||
chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
|
||||
chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
|
||||
chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
|
||||
chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
|
||||
chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
|
||||
chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
|
||||
chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
|
||||
chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
|
||||
chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
|
||||
chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
|
||||
chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
|
||||
chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
|
||||
chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
|
||||
chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
|
||||
chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
|
||||
chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
|
||||
chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
|
||||
chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
|
||||
chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
|
||||
chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
|
||||
chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
|
||||
chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
|
||||
chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
|
||||
chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
|
||||
chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
|
||||
chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
|
||||
chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
|
||||
chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
|
||||
chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
|
||||
chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
|
||||
chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
|
||||
chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
|
||||
chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
|
||||
chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
|
||||
chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
|
||||
chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
|
||||
chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
|
||||
chr(197).chr(190) => 'z', chr(197).chr(191) => 's',
|
||||
// Euro Sign
|
||||
chr(226).chr(130).chr(172) => 'E',
|
||||
// GBP (Pound) Sign
|
||||
chr(194).chr(163) => '');
|
||||
|
||||
$string = strtr($string, $chars);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Assume ISO-8859-1 if not UTF-8
|
||||
$chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
|
||||
.chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
|
||||
.chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
|
||||
.chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
|
||||
.chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
|
||||
.chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
|
||||
.chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
|
||||
.chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
|
||||
.chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
|
||||
.chr(252).chr(253).chr(255);
|
||||
|
||||
$chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
|
||||
|
||||
$double_chars = Array();
|
||||
$string = strtr($string, $chars['in'], $chars['out']);
|
||||
$double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
|
||||
$double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
|
||||
$string = str_replace($double_chars['in'], $double_chars['out'], $string);
|
||||
}
|
||||
return $string;
|
||||
}
|
||||
|
||||
// Add for 1.3 compatibility and avoid duplicate code
|
||||
public static function jsonEncode($result)
|
||||
{
|
||||
return Tools::jsonEncode($result);
|
||||
}
|
||||
|
||||
/*
|
||||
** Fix security and compatibility for PS < 1.4.5
|
||||
*/
|
||||
public static function bqSQL($string)
|
||||
{
|
||||
return str_replace('`', '\`', pSQL($string));
|
||||
}
|
||||
|
||||
/*
|
||||
** Check zip code by country
|
||||
*/
|
||||
static public function checkZipcodeByCountry($zipcode, $params)
|
||||
{
|
||||
$id_country = $params['id_country'];
|
||||
|
||||
$zipcodeFormat = Db::getInstance()->getValue('
|
||||
SELECT `zip_code_format`
|
||||
FROM `'._DB_PREFIX_.'country`
|
||||
WHERE `id_country` = '.(int)$id_country);
|
||||
|
||||
// -1 to warn user that no layout exist
|
||||
if (!$zipcodeFormat)
|
||||
return -1;
|
||||
|
||||
$regxMask = str_replace(
|
||||
array('N', 'C', 'L'),
|
||||
array(
|
||||
'[0-9]',
|
||||
Country::getIsoById((int)$id_country),
|
||||
'[a-zA-Z]'),
|
||||
$zipcodeFormat);
|
||||
if (preg_match('/'.$regxMask.'/', $zipcode))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static public function getFormatedPhone($phone_number)
|
||||
{
|
||||
$begin = Tools::substr($phone_number, 0, 3);
|
||||
$pad_number = (strpos($begin, '+3') !== false) ? 12 :
|
||||
(strpos($begin, '00') ? 13 : 10);
|
||||
|
||||
return str_pad(Tools::substr(preg_replace(GLSTools::REGEX_CLEAN_PHONE, '', $phone_number), 0, $pad_number), $pad_number, '0');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
28
modules/gls/classes/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
12
modules/gls/config.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>gls</name>
|
||||
<displayName><![CDATA[GLS]]></displayName>
|
||||
<version><![CDATA[1.1.2]]></version>
|
||||
<description><![CDATA[Deliver in Relay points]]></description>
|
||||
<author><![CDATA[Jetpulp]]></author>
|
||||
<tab><![CDATA[shipping_logistics]]></tab>
|
||||
<is_configurable>1</is_configurable>
|
||||
<need_instance>1</need_instance>
|
||||
<limited_countries></limited_countries>
|
||||
</module>
|
12
modules/gls/config_fr.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>gls</name>
|
||||
<displayName><![CDATA[GLS]]></displayName>
|
||||
<version><![CDATA[1.1.2]]></version>
|
||||
<description><![CDATA[Livrer dans un Point Relais GLS]]></description>
|
||||
<author><![CDATA[Jetpulp]]></author>
|
||||
<tab><![CDATA[shipping_logistics]]></tab>
|
||||
<is_configurable>1</is_configurable>
|
||||
<need_instance>1</need_instance>
|
||||
<limited_countries></limited_countries>
|
||||
</module>
|
14
modules/gls/cron.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
include_once('../../config/config.inc.php');
|
||||
include_once('gls.php');
|
||||
include_once('classes/GLSManagement.php');
|
||||
|
||||
if (Tools::getValue('secure_key') != Configuration::get('GLS_SECURE_KEY')) {
|
||||
echo ' - BAD KEY - ';
|
||||
exit;
|
||||
}
|
||||
|
||||
$oGlsManagement = new GlsManagement();
|
||||
$oGlsManagement->GLSexportToWinExpe();
|
||||
$oGlsManagement->GLSImportFromWinExpe();
|
28
modules/gls/docs/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
BIN
modules/gls/docs/install.pdf
Normal file
1338
modules/gls/gls.php
Normal file
2
modules/gls/import/GlsWinExpe6_2016051117380679.csv
Normal file
@ -0,0 +1,2 @@
|
||||
IDENTIFIANT;DATE;COLIS;CODE PRODUIT;REFERENCE 1;REF DESTINATAIRE;NOM ou RAISON SOCIALE;NOM DU CONTACT;ADRESSE 1;ADRESSE 2;ADRESSE 3;ZIPCODE;VILLE;CODE PAYS;REFERENCE 2;CHARGEUR;CHARGEUR SECONDAIRE;TRACKID
|
||||
1;11/05/2016;1000001;FDBP;;TEST;TEST;;TEST;;;93100;TEST;FR;;2504846601;0;009H2388
|
|
28
modules/gls/import/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
28
modules/gls/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
BIN
modules/gls/logo.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
70
modules/gls/tpl/admintab/export_orders.tpl
Normal file
@ -0,0 +1,70 @@
|
||||
<p>
|
||||
{l s='All orders which have the state' mod='gls'} "<b>{$GLS_order_state.name}</b>" {l s='will be available for creation of labels' mod='gls'}
|
||||
</p>
|
||||
<div class="PS_GLSErrorList error" id="otherErrors">
|
||||
<span></span>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<legend>{l s='Export orders' mod='gls'}</legend>
|
||||
<form method="post" action="{$smarty.server.REQUEST_URI}" class="GLS_form_admintab">
|
||||
<table class="table" id='orders'>
|
||||
<tr>
|
||||
<th><input type="checkbox" id="toggleStatusOrderList" /></th>
|
||||
<th>{l s='Order ID' mod='gls'}</th>
|
||||
<th>{l s='Customer' mod='gls'}</th>
|
||||
<th>{l s='Total price' mod='gls'}</th>
|
||||
<th>{l s='Total shipping costs' mod='gls'}</th>
|
||||
<th>{l s='Date' mod='gls'}</th>
|
||||
<th>{l s='Insert weight (grams)' mod='gls'}</th>
|
||||
<th>{l s='GLS Relay Id' mod='gls'}</th>
|
||||
<th>{l s='Detail' mod='gls'}</th>
|
||||
</tr>
|
||||
{foreach from=$GLS_orders key=case_num item=order}
|
||||
<tr id="PS_GLSLineOrderInformation-{$order.id_order}">
|
||||
<td><input type="checkbox" class="order_id_list" name="order_id_list[]" id="order_id_list" value="{$order.id_order}" /></td>
|
||||
<td>{$order.id_order}</td>
|
||||
<td>{$order.customer}</td>
|
||||
<td>{$order.display_total_price}</td>
|
||||
<td>{$order.display_shipping_price}</td>
|
||||
<td>{$order.display_date}</td>
|
||||
<td>
|
||||
<input type="text" name="weight_{$order.id_order}" id="weight_{$order.id_order}" size="7" value="{$order.weight}" />
|
||||
</td>
|
||||
<td>{$order.GLS_Selected_Num}</td>
|
||||
|
||||
<td class="center">
|
||||
<a href="index.php?tab=AdminOrders&id_order={$order.id_order}&vieworder&token={$GLS_token_admin_orders}">
|
||||
<img border="0" title="{l s='View' mod='gls'}" alt="{l s='View' mod='gls'}" src="{$new_gls_base_dir}views/img/details.gif"/>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="PS_GLSErrorList error" id="errorCreatingTicket_{$order.id_order}" style="display:none;">
|
||||
<td colspan="11" style="background:url({$GLS_PS_IMG_DIR_}admin/error2.png) 10px 10px no-repeat;">
|
||||
<span></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="PS_GLSSuccessList" id="successCreatingTicket_{$order.id_order}" style="display:none;">
|
||||
<td>{$order.id_order}</td>
|
||||
<td colspan="10" style="background:url({$GLS_PS_IMG_DIR_}admin/ok2.png) 10px 5px no-repeat #DFFAD3;">
|
||||
{l s='Operation successful' mod='gls'}
|
||||
<span></span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</table>
|
||||
{if !$GLS_orders|count}
|
||||
<h3 style="color:red;">{l s='No orders with this state.' mod='gls'}</h3>
|
||||
{else}
|
||||
<div class="submit_button">
|
||||
<div class="PS_GLSSubmitButton" id="PS_GLSSubmitButtonGenerateTicket">
|
||||
<input type="button" name="generate" id="generate" value="{l s='Generate' mod='gls'}" class="button" />
|
||||
<input type="button" name="generate-local" id="generate-local" value="{l s='Generate locally' mod='gls'}" class="button" />
|
||||
</div>
|
||||
<div class="PS_GLSLoader" id="PS_GLSSubmitGenerateLoader" style="display:none;"><img src="{$new_gls_base_dir}views/img/getTickets.gif"/></div>
|
||||
</div>
|
||||
{/if}
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<br />
|
28
modules/gls/tpl/admintab/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
54
modules/gls/tpl/admintab/settings.tpl
Normal file
@ -0,0 +1,54 @@
|
||||
{include file="$GLS_local_path/views/templates/admin/post_action.tpl"}
|
||||
<div>
|
||||
<fieldset>
|
||||
<legend><img src="../modules/gls/views/img/logo.png" />{l s='Import' mod='gls'}</legend>
|
||||
<label for="id_order_state">{l s='Order state' mod='gls'}</label>
|
||||
<div class="margin-form">
|
||||
<select id="id_order_state_import" name="id_order_state" style="width:250px">
|
||||
{foreach from=$GLS_orders_states_list key=num_state item=order_state}
|
||||
{assign var='selected_option' value=''}
|
||||
{if $order_state.id_order_state == $GLS_order_state_import}
|
||||
{assign var='selected_option' value='selected="selected"'}
|
||||
{/if}
|
||||
<option value="{$order_state.id_order_state}" style="background-color:{$order_state.color};" {$selected_option}>{$order_state.name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
<p>
|
||||
{l s='Choose the order state after the import.' mod='gls'}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="submit_button">
|
||||
<button name="importOrders" id="importOrders" value="{l s='Save' mod='gls'}" class="button">{l s='Import orders' mod='gls'}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<form action="{$smarty.server.REQUEST_URI}" method="post" class="form">
|
||||
<fieldset>
|
||||
<legend><img src="../modules/gls/views/img/logo.png" />{l s='Export Filter' mod='gls'}</legend>
|
||||
<label for="id_order_state">{l s='Order state' mod='gls'}</label>
|
||||
<div class="margin-form">
|
||||
<select id="id_order_state" name="id_order_state" style="width:250px">
|
||||
{foreach from=$GLS_orders_states_list key=num_state item=order_state}
|
||||
{assign var='selected_option' value=''}
|
||||
{if $order_state.id_order_state == $GLS_order_state.id_order_state}
|
||||
{assign var='selected_option' value='selected="selected"'}
|
||||
{/if}
|
||||
<option value="{$order_state.id_order_state}" style="background-color:{$order_state.color};" {$selected_option}>{$order_state.name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
<p>
|
||||
{l s='Choose the order state for export.' mod='gls'}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="clear"></div>
|
||||
<div class="margin-form">
|
||||
<input type="submit" name="submit_order_state" value="{l s='Filter' mod='gls'}" class="button" />
|
||||
</div>
|
||||
</fieldset>
|
||||
<input type="hidden" name="GLS_action_name" value="{l s='Settings'}" />
|
||||
</form>
|
||||
</div>
|
28
modules/gls/tpl/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
6
modules/gls/translations/en.php
Normal file
@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
|
||||
?>
|
103
modules/gls/translations/fr.php
Normal file
@ -0,0 +1,103 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{gls}prestashop>admingls_e82faee1422140edd04b2f94c5051500'] = 'Opération effectuée';
|
||||
$_MODULE['<{gls}prestashop>admingls_3b2d373418745276ae6e207421245cdc'] = 'Le status de commande a été mis à jour';
|
||||
$_MODULE['<{gls}prestashop>admingls_b4ac3d3f15bc0984d0906aff1202e701'] = 'Impossible de mettre à jour le compte';
|
||||
$_MODULE['<{gls}prestashop>gls_07351bfe713bfebc506f0660ff44b7bf'] = 'GLS';
|
||||
$_MODULE['<{gls}prestashop>gls_ed4a3b96dc1f38c160775cac1f7bcd6d'] = 'Livrer dans un Point Relais GLS';
|
||||
$_MODULE['<{gls}prestashop>gls_1889ea20d1343f376f5d52b6b8dc7a3f'] = 'Vous devez choisir un Point Relais GLS avant de continuer.';
|
||||
$_MODULE['<{gls}prestashop>gls_29616e349017da1ff1b5423ed2ec4fe6'] = 'Login invalide';
|
||||
$_MODULE['<{gls}prestashop>gls_626295ee4555407394df3e9998e1fc19'] = 'Mot de passe invalide';
|
||||
$_MODULE['<{gls}prestashop>gls_4eb287cc225ba0e1bcfe9cc1b8315def'] = 'Coefficient de poids invalide';
|
||||
$_MODULE['<{gls}prestashop>gls_979c6094728c14aac1b66d544dc5cebd'] = 'Statut commande invalide';
|
||||
$_MODULE['<{gls}prestashop>gls_e82faee1422140edd04b2f94c5051500'] = 'Opération effectuée';
|
||||
$_MODULE['<{gls}prestashop>gls_672facd73d4aee44c116cfd95298db87'] = 'Les détails du compte ont été mis à jour';
|
||||
$_MODULE['<{gls}prestashop>gls_6f8522e0610541f1ef215a22ffa66ff6'] = 'Lundi';
|
||||
$_MODULE['<{gls}prestashop>gls_5792315f09a5d54fb7e3d066672b507f'] = 'Mardi';
|
||||
$_MODULE['<{gls}prestashop>gls_796c163589f295373e171842f37265d5'] = 'Mercredi';
|
||||
$_MODULE['<{gls}prestashop>gls_78ae6f0cd191d25147e252dc54768238'] = 'Jeudi';
|
||||
$_MODULE['<{gls}prestashop>gls_c33b138a163847cdb6caeeb7c9a126b4'] = 'Vendredi';
|
||||
$_MODULE['<{gls}prestashop>gls_8b7051187b9191cdcdae6ed5a10e5adc'] = 'Samedi';
|
||||
$_MODULE['<{gls}prestashop>gls_9d1a0949c39e66a0cd65240bc0ac9177'] = 'Dimanche';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_aae091010a465c8c8659aa968fa7470c'] = 'Désinstallation de GLS';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_a4691c957e81a6f0b6f0ed44f8f2dfe8'] = 'Vous êtes sur le point de désinstaller le module, voulez vous aussi supprimer les tables de la base de donnée';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_09c081633d484a62a2f6940c12a0de36'] = 'Désinstaller et garder';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_0b7f47fce1d82d53244771c64b1535c0'] = 'Désinstaller et supprimer';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_ea4788705e6873b424c65e91c2846b19'] = 'Annuler';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_cd27b6954c4fd7b1c515e6547a2593cc'] = 'Erreur : Aucune commande selectionnée';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_cd32007c09c15196f0ce210dc5b87fd5'] = 'Erreur : Aucune commande a exporter';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_f443ce35e79c75866f0e71b04918c6d6'] = 'commandes exportées';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_9416a531e05cf18f1c26b97263e3c96b'] = 'n\'existe pas';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_733154f7eeee6cd45162e766e22e47ee'] = 'La commande';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_0468a03fb862f0749fe5878a5c7c379a'] = 'n\'a pas de numéro de tracking dans le ficheir d\'import';
|
||||
$_MODULE['<{gls}prestashop>glsmanagement_5c7ef4234158a462e419f8ca5dff9ed9'] = 'commandes importées';
|
||||
$_MODULE['<{gls}prestashop>checkout_process_c23f39998a23292635cd98171fe5dc10'] = 'Aucun Point Relay GLS trouvé à cause d\'une erreur prestashop';
|
||||
$_MODULE['<{gls}prestashop>checkout_process_ba3c1e324bf9ba3e57b0dd9596455766'] = 'Sélectionnez votre Point Relais Mondial Relay';
|
||||
$_MODULE['<{gls}prestashop>checkout_process_46044ec3d69fc76832e4a905add3dfcb'] = 'Votre code postal';
|
||||
$_MODULE['<{gls}prestashop>checkout_process_181fdb8722fab09d30fa4adf37f40447'] = 'Votre adresse';
|
||||
$_MODULE['<{gls}prestashop>checkout_process_e02be3ef47965445137775a22d380f09'] = 'Votre ville';
|
||||
$_MODULE['<{gls}prestashop>checkout_process_13348442cc6a27032d2b4aa28b75a5d3'] = 'Rechercher';
|
||||
$_MODULE['<{gls}prestashop>checkout_process_c6b8e0184324765c9bb40aa07fa5a7ac'] = 'Être averti de ma livraison par SMS';
|
||||
$_MODULE['<{gls}prestashop>checkout_process_errors_c23f39998a23292635cd98171fe5dc10'] = 'Aucun Point Relay GLS trouvé à cause d\'une erreur prestashop';
|
||||
$_MODULE['<{gls}prestashop>configuration_041208f2c0a4b75a8e609028a46f7ca6'] = 'Configuration GLS';
|
||||
$_MODULE['<{gls}prestashop>configuration_8bc212f48680748479bbd322d4d73d3f'] = 'Détails du compte';
|
||||
$_MODULE['<{gls}prestashop>configuration_16ef6a19ec519dd2b75d69c899e789cf'] = 'Veuillez saisir vos identifiants GLS';
|
||||
$_MODULE['<{gls}prestashop>configuration_5a2355a42ba3ab265701183c914467f2'] = 'Essayer de désactiver le cache et de forcer la compilation';
|
||||
$_MODULE['<{gls}prestashop>configuration_3de769f9a81eed916583d5b35c58dbdd'] = 'Si vous avez des problèmes après l\'installation du module';
|
||||
$_MODULE['<{gls}prestashop>configuration_629af0fa024406b13acc1866406cea0a'] = 'Veuillez consulter la documentation ci-jointe pour configurer le module GLS';
|
||||
$_MODULE['<{gls}prestashop>configuration_78a04c7effa3fad263cfbcaed2c41386'] = 'Pour créer un Transporter';
|
||||
$_MODULE['<{gls}prestashop>configuration_002d34780fabbef5bc6f4fc81779e6a7'] = 'Saisissez et validez vos identifiants GLS';
|
||||
$_MODULE['<{gls}prestashop>configuration_2511254b702ea7f18356870188f09297'] = 'Allez dans Expédition > Transporteurs et activez les transporteurs GLS créés par le module ';
|
||||
$_MODULE['<{gls}prestashop>configuration_8e04f3582757aca7016f30dc71284978'] = 'Gérez vos tranches de prix, tranches de poids et prix comme pour n\'importe quel transporteur Prestashop';
|
||||
$_MODULE['<{gls}prestashop>configuration_ca4047654a1e199977f8be3af20b2a76'] = 'Paramètres Compte GLS';
|
||||
$_MODULE['<{gls}prestashop>configuration_d7c8f854948258ef294cba421b615682'] = 'Ces informations vous sont fournies par GLS lors de votre inscription à leurs services';
|
||||
$_MODULE['<{gls}prestashop>configuration_ee0b97b8efd6a60f55e968e825a88f53'] = 'Login du webservice';
|
||||
$_MODULE['<{gls}prestashop>configuration_19406da4aeee621d8c9a475775ddd373'] = 'Mot de passe du webservice';
|
||||
$_MODULE['<{gls}prestashop>configuration_482720eb614b6ed888d79e8438754d7b'] = 'Uniquement les Point Relais XL';
|
||||
$_MODULE['<{gls}prestashop>configuration_a26329cba9723551cb8654deba32872b'] = 'Coefficient de poids';
|
||||
$_MODULE['<{gls}prestashop>configuration_de67367c06b155bdcb03ef5eeed7d7c8'] = 'Répertoire d\'export';
|
||||
$_MODULE['<{gls}prestashop>configuration_0bd19e2249444d89f74bb993548fbc68'] = 'Répertoire d\'import';
|
||||
$_MODULE['<{gls}prestashop>configuration_bd0c0b64d8cfc71bc9b1d63c05ec0925'] = 'Création de la zone de livraison';
|
||||
$_MODULE['<{gls}prestashop>configuration_b4fc8333f7df92e2fadbe30674a28cd3'] = 'En cochant cette case, le module va créer une zone France contenant uniquement le pays France afin de permettre la configuration des transporteurs GLS. Pour plus d\'information veuillez vous reporter à la documentation du module.';
|
||||
$_MODULE['<{gls}prestashop>configuration_61cbc2d26b4157292673c772ddd6c0f7'] = 'Mettre à jour';
|
||||
$_MODULE['<{gls}prestashop>configuration_70397c4b252a5168c5ec003931cea215'] = 'Champs requis';
|
||||
$_MODULE['<{gls}prestashop>header-mobile_1889ea20d1343f376f5d52b6b8dc7a3f'] = 'Vous devez choisir un Point Relais GLS avant de continuer.';
|
||||
$_MODULE['<{gls}prestashop>header-mobile_e0626222614bdee31951d84c64e5e9ff'] = 'Choisissez';
|
||||
$_MODULE['<{gls}prestashop>header-mobile_91b442d385b54e1418d81adc34871053'] = 'Choisi';
|
||||
$_MODULE['<{gls}prestashop>header-mobile_ef2a1f426c2c289ed5986c7636a5d696'] = 'Choisissez un Point Relais GLS';
|
||||
$_MODULE['<{gls}prestashop>header-mobile_80a0c205cd57b22fca7f174253870300'] = 'Voir les horaires';
|
||||
$_MODULE['<{gls}prestashop>header-mobile_2b56b60f878922093facd42284848a0c'] = 'Plus d\'informations';
|
||||
$_MODULE['<{gls}prestashop>header_1889ea20d1343f376f5d52b6b8dc7a3f'] = 'Vous devez choisir un Point Relais GLS avant de continuer.';
|
||||
$_MODULE['<{gls}prestashop>header_e0626222614bdee31951d84c64e5e9ff'] = 'Choisissez';
|
||||
$_MODULE['<{gls}prestashop>header_91b442d385b54e1418d81adc34871053'] = 'Choisi';
|
||||
$_MODULE['<{gls}prestashop>header_ef2a1f426c2c289ed5986c7636a5d696'] = 'Choisissez un Point Relais GLS';
|
||||
$_MODULE['<{gls}prestashop>header_80a0c205cd57b22fca7f174253870300'] = 'Voir les horaires';
|
||||
$_MODULE['<{gls}prestashop>header_2b56b60f878922093facd42284848a0c'] = 'Plus d\'informations';
|
||||
$_MODULE['<{gls}prestashop>listrelais_80a0c205cd57b22fca7f174253870300'] = 'Voir les horaires';
|
||||
$_MODULE['<{gls}prestashop>listrelais_2a6ec44c8ab2477c32eb8b2a74d707dc'] = 'Choisir ce lieu';
|
||||
$_MODULE['<{gls}prestashop>post_action_466ec9f29b485204ef53818459da48af'] = 'Erreur(s)';
|
||||
$_MODULE['<{gls}prestashop>export_orders_de21dc13e1ea638777fbfad49f88b332'] = 'Toutes les commandes qui ont le statut';
|
||||
$_MODULE['<{gls}prestashop>export_orders_378116486b5a90bb50fd4f1557698d96'] = 'seront disponibles pour l\'export';
|
||||
$_MODULE['<{gls}prestashop>export_orders_da8cbc8f80b433d3d2b6d13eea457873'] = 'Export des commandes';
|
||||
$_MODULE['<{gls}prestashop>export_orders_ce26601dac0dea138b7295f02b7620a7'] = 'Client';
|
||||
$_MODULE['<{gls}prestashop>export_orders_0eede552438475bdfe820c13f24c9399'] = 'Total';
|
||||
$_MODULE['<{gls}prestashop>export_orders_c28e0582276cb6747e37d948e1727929'] = 'Frais de ports';
|
||||
$_MODULE['<{gls}prestashop>export_orders_52150799c57e873360cca13c080a91b4'] = 'Poids (grammes)';
|
||||
$_MODULE['<{gls}prestashop>export_orders_059b186a7c30053792c99cc7e967eebe'] = 'Identifiant Relais GLS';
|
||||
$_MODULE['<{gls}prestashop>export_orders_a254c25adc7d10d7e9c4889484f875a5'] = 'Détail';
|
||||
$_MODULE['<{gls}prestashop>export_orders_4351cfebe4b61d8aa5efa1d020710005'] = 'Vue';
|
||||
$_MODULE['<{gls}prestashop>export_orders_2e01172e31495f41fcebcf3f831cc82c'] = 'Opération réussie';
|
||||
$_MODULE['<{gls}prestashop>export_orders_37c85a61df6352af7285c307022c4413'] = 'Aucune commandes avec ce statut';
|
||||
$_MODULE['<{gls}prestashop>export_orders_32b919d18cfaca89383f6000dcc9c031'] = 'Exporter';
|
||||
$_MODULE['<{gls}prestashop>export_orders_37b7d4154dd83425f82d211ae99c8c0e'] = 'Exporter localement';
|
||||
$_MODULE['<{gls}prestashop>settings_72d6d7a1885885bb55a565fd1070581a'] = 'Importer';
|
||||
$_MODULE['<{gls}prestashop>settings_d02bbc3cb147c272b0445ac5ca7d1a36'] = 'Statuts des commandes';
|
||||
$_MODULE['<{gls}prestashop>settings_4e446c09aaeb9b2dd36e6ff44c5b9093'] = 'Choisissez le status après import';
|
||||
$_MODULE['<{gls}prestashop>settings_c9cc8cce247e49bae79f15173ce97354'] = 'Sauvegarder';
|
||||
$_MODULE['<{gls}prestashop>settings_4ed2cbb99dd730ccef9d12a72a075984'] = 'Importer les commandes';
|
||||
$_MODULE['<{gls}prestashop>settings_9dd7fcad7dffd9b96b3ffee10299b56a'] = 'Filtre Export';
|
||||
$_MODULE['<{gls}prestashop>settings_7c00c3134810759bf0769f94b8093398'] = 'Choisissez le statut pour l\'export';
|
||||
$_MODULE['<{gls}prestashop>settings_d7778d0c64b6ba21494c97f77a66885a'] = 'Filtrer';
|
||||
$_MODULE['<{gls}prestashop>settings_f4f70727dc34561dfde1a3c529b6205c'] = 'Réglages';
|
28
modules/gls/translations/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
5
modules/gls/translations/translate_en.js
Normal file
@ -0,0 +1,5 @@
|
||||
change_parcelshop = "Change the relay point";
|
||||
choose_this_parcel_shop = "Choose this location";
|
||||
orders_exported = "orders exported";
|
||||
error_label = "Error : ";
|
||||
shipping_method_unavailable = "Shipping method unavailable";
|
5
modules/gls/translations/translate_fr.js
Normal file
@ -0,0 +1,5 @@
|
||||
change_parcelshop = "Modifier mon Point Relais";
|
||||
choose_this_parcel_shop = "Choisir ce lieu";
|
||||
orders_exported = "commandes exportées";
|
||||
error_label = "Erreur : ";
|
||||
shipping_method_unavailable = "Mode de livraison non disponible";
|
277
modules/gls/views/css/gls-mobile.css
Normal file
@ -0,0 +1,277 @@
|
||||
.gm-style {
|
||||
font-family: Helvetica, Arial, sans-serif !important;
|
||||
}
|
||||
.delivery_option_logo img[alt^="GLS"] {
|
||||
max-width: 150px;
|
||||
}
|
||||
#layer_gls,
|
||||
#layer_gls_body {
|
||||
position: fixed !important;
|
||||
display: none;
|
||||
top: 0 !important;
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
background: #fff;
|
||||
z-index: 1000;
|
||||
text-align: left;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
}
|
||||
#layer_gls .close,
|
||||
#layer_gls_body .close {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: 10px;
|
||||
cursor: pointer;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
background: url(../img/btn_fermer.png);
|
||||
}
|
||||
#layer_gls h3,
|
||||
#layer_gls_body h3 {
|
||||
background: url(../img/title-repeat.png);
|
||||
line-height: normal;
|
||||
padding: 14px 75px 0 110px;
|
||||
margin: 0;
|
||||
height: 44px;
|
||||
font-size: 15px;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
}
|
||||
#layer_gls h3:before,
|
||||
#layer_gls_body h3:before {
|
||||
content: "";
|
||||
width: 85px;
|
||||
height: 43px;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 10px;
|
||||
background: url(../img/picto_shd.png);
|
||||
}
|
||||
#layer_gls #gls_headers,
|
||||
#layer_gls_body #gls_headers {
|
||||
background: #ededed;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
#layer_gls #gls_headers .left,
|
||||
#layer_gls_body #gls_headers .left {
|
||||
padding: 5px 10px;
|
||||
background-color: #d9d9d9;
|
||||
background-image: -webkit-linear-gradient(bottom, #d2d2d2, #ffffff);
|
||||
background-image: -moz-linear-gradient(bottom, #d2d2d2, #ffffff);
|
||||
background-image: -o-linear-gradient(bottom, #d2d2d2, #ffffff);
|
||||
background-image: linear-gradient(to top, #d2d2d2, #ffffff);
|
||||
}
|
||||
#layer_gls #gls_headers .left span,
|
||||
#layer_gls_body #gls_headers .left span {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: #06187c;
|
||||
margin-right: 16px;
|
||||
vertical-align: middle;
|
||||
display: block;
|
||||
}
|
||||
#layer_gls #gls_headers .left input,
|
||||
#layer_gls_body #gls_headers .left input {
|
||||
text-align: center;
|
||||
padding: 0 10px;
|
||||
width: 70px;
|
||||
height: 23px;
|
||||
font-size: 14px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
-webkit-box-shadow: inset 0 3px 3px rgba(214, 214, 214, 0.75);
|
||||
-moz-box-shadow: inset 0 3px 3px rgba(214, 214, 214, 0.75);
|
||||
box-shadow: inset 0 3px 3px rgba(214, 214, 214, 0.75);
|
||||
border: solid 1px #d2d2d2;
|
||||
vertical-align: middle;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#layer_gls #gls_headers .left input#cp_street,
|
||||
#layer_gls_body #gls_headers .left input#cp_street {
|
||||
width: 100%;
|
||||
}
|
||||
#layer_gls #gls_headers .left button,
|
||||
#layer_gls_body #gls_headers .left button {
|
||||
background: none;
|
||||
border: none;
|
||||
margin: 0 0 0 -10px;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
text-shadow: 0 -1px #112282;
|
||||
color: #fff;
|
||||
width: 92px;
|
||||
height: 23px;
|
||||
-webkit-border-radius: 0 8px 8px 0;
|
||||
-moz-border-radius: 0 8px 8px 0;
|
||||
border-radius: 0 8px 8px 0;
|
||||
background-color: #06187c;
|
||||
background-image: -webkit-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: -moz-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: -o-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: linear-gradient(to top, #06187c, #8b94c2);
|
||||
vertical-align: middle;
|
||||
}
|
||||
#layer_gls #gls_headers .right,
|
||||
#layer_gls_body #gls_headers .right {
|
||||
padding: 5px 10px;
|
||||
overflow: hidden;
|
||||
border-top: 1px solid #aeb2be;
|
||||
}
|
||||
#layer_gls #gls_headers .right label,
|
||||
#layer_gls_body #gls_headers .right label {
|
||||
font-size: 12px;
|
||||
color: #76798d;
|
||||
vertical-align: middle;
|
||||
width: 115px;
|
||||
float: left;
|
||||
line-height: 12px;
|
||||
padding: 0 0 0 25px;
|
||||
position: relative;
|
||||
}
|
||||
#layer_gls #gls_headers .right label input,
|
||||
#layer_gls_body #gls_headers .right label input {
|
||||
vertical-align: middle;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
#layer_gls #gls_headers .right #num_telephone,
|
||||
#layer_gls_body #gls_headers .right #num_telephone {
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
vertical-align: middle;
|
||||
padding: 0 10px;
|
||||
width: 156px;
|
||||
height: 23px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
-webkit-box-shadow: inset 0 3px 3px rgba(214, 214, 214, 0.75);
|
||||
-moz-box-shadow: inset 0 3px 3px rgba(214, 214, 214, 0.75);
|
||||
box-shadow: inset 0 3px 3px rgba(214, 214, 214, 0.75);
|
||||
border: solid 1px #d2d2d2;
|
||||
float: right;
|
||||
}
|
||||
#layer_gls #col_gauche_gls,
|
||||
#layer_gls_body #col_gauche_gls {
|
||||
position: absolute;
|
||||
top: 126px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
#layer_gls #col_gauche_gls #map_gls,
|
||||
#layer_gls_body #col_gauche_gls #map_gls {
|
||||
height: 100%;
|
||||
}
|
||||
#layer_gls #col_gauche_gls #map_gls .info-window,
|
||||
#layer_gls_body #col_gauche_gls #map_gls .info-window {
|
||||
line-height: 1.35;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
width: 260px;
|
||||
}
|
||||
#layer_gls #col_gauche_gls #map_gls .info-window .store-name,
|
||||
#layer_gls_body #col_gauche_gls #map_gls .info-window .store-name {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
color: #06187c;
|
||||
display: block;
|
||||
}
|
||||
#layer_gls #col_gauche_gls #map_gls .info-window table,
|
||||
#layer_gls_body #col_gauche_gls #map_gls .info-window table {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
}
|
||||
#layer_gls #col_gauche_gls #map_gls .info-window table .day,
|
||||
#layer_gls_body #col_gauche_gls #map_gls .info-window table .day {
|
||||
width: 80px;
|
||||
}
|
||||
#layer_gls #col_gauche_gls #map_gls .info-window .button-wrapper,
|
||||
#layer_gls_body #col_gauche_gls #map_gls .info-window .button-wrapper {
|
||||
text-align: center;
|
||||
padding: 10px 0;
|
||||
margin-right: -20px;
|
||||
}
|
||||
#layer_gls #col_gauche_gls #map_gls .info-window .choose-relay-point,
|
||||
#layer_gls_body #col_gauche_gls #map_gls .info-window .choose-relay-point {
|
||||
padding: 0 15px 0 25px;
|
||||
height: 26px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
background-color: #06187c;
|
||||
background-image: -webkit-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: -moz-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: -o-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: linear-gradient(to top, #e8b402, #fcd83b);
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
text-shadow: 0 1px #f7e38b;
|
||||
text-decoration: none;
|
||||
line-height: 26px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
#layer_gls #col_gauche_gls #map_gls .info-window .choose-relay-point:before,
|
||||
#layer_gls_body #col_gauche_gls #map_gls .info-window .choose-relay-point:before {
|
||||
content: "";
|
||||
width: 7px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
left: 12px;
|
||||
background: url(../img/picto-arrow.png);
|
||||
}
|
||||
#layer_gls #col_droite_gls,
|
||||
#layer_gls_body #col_droite_gls {
|
||||
display: none;
|
||||
}
|
||||
#layer_gls .loader-wrapper,
|
||||
#layer_gls_body .loader-wrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 999;
|
||||
}
|
||||
#layer_gls .loader,
|
||||
#layer_gls_body .loader {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1000;
|
||||
background: #000;
|
||||
opacity: 0.2;
|
||||
}
|
||||
#layer_gls .loader-wheel,
|
||||
#layer_gls_body .loader-wheel {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin: -50px 0 0 -16px;
|
||||
width: 100px;
|
||||
background: #fff;
|
||||
border: 1px solid 000;
|
||||
border-radius: 3px;
|
||||
text-align: center;
|
||||
z-index: 1001;
|
||||
color: #878787;
|
||||
font-style: italic;
|
||||
}
|
||||
#layer_gls .loader-wheel img,
|
||||
#layer_gls_body .loader-wheel img {
|
||||
display: block;
|
||||
margin: auto;
|
||||
}
|
286
modules/gls/views/css/gls-mobile.less
Normal file
@ -0,0 +1,286 @@
|
||||
.gm-style {
|
||||
font-family: Helvetica,Arial,sans-serif !important;
|
||||
}
|
||||
|
||||
.delivery_option_logo img[alt^="GLS"] {
|
||||
max-width:150px;
|
||||
}
|
||||
|
||||
#layer_gls,#layer_gls_body {
|
||||
position: fixed !important;
|
||||
display: none;
|
||||
top: 0 !important;
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
background: #fff;
|
||||
z-index: 1000;
|
||||
text-align: left;
|
||||
font-family: Helvetica,Arial,sans-serif;
|
||||
|
||||
.close {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: 10px;
|
||||
cursor: pointer;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
background: url(../images/btn_fermer.png);
|
||||
}
|
||||
|
||||
h3 {
|
||||
background: url(../images/title-repeat.png);
|
||||
line-height: normal;
|
||||
padding: 14px 75px 0 110px;
|
||||
margin: 0;
|
||||
height: 44px;
|
||||
font-size: 15px;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
width: 85px;
|
||||
height: 43px;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 10px;
|
||||
background: url(../images/picto_shd.png);
|
||||
}
|
||||
}
|
||||
|
||||
#gls_headers {
|
||||
background: #ededed;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.45);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0,0,0,.45);
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,.45);
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
|
||||
.left {
|
||||
padding: 5px 10px;
|
||||
background-color: #d9d9d9;
|
||||
background-image: -webkit-linear-gradient(bottom, #d2d2d2, #fff);
|
||||
background-image: -moz-linear-gradient(bottom, #d2d2d2, #fff);
|
||||
background-image: -o-linear-gradient(bottom, #d2d2d2, #fff);
|
||||
background-image: linear-gradient(to top, #d2d2d2, #fff);
|
||||
|
||||
span {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: #06187c;
|
||||
margin-right: 16px;
|
||||
vertical-align: middle;
|
||||
display: block;
|
||||
}
|
||||
input {
|
||||
text-align: center;
|
||||
padding: 0 10px;
|
||||
width: 70px;
|
||||
height: 23px;
|
||||
font-size: 14px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
-webkit-box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
-moz-box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
border: solid 1px #d2d2d2;
|
||||
vertical-align: middle;
|
||||
box-sizing: border-box;
|
||||
|
||||
&#cp_street {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
button {
|
||||
background: none;
|
||||
border: none;
|
||||
margin: 0 0 0 -10px;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
text-shadow: 0 -1px #112282;
|
||||
color: #fff;
|
||||
width: 92px;
|
||||
height: 23px;
|
||||
-webkit-border-radius: 0 8px 8px 0;
|
||||
-moz-border-radius: 0 8px 8px 0;
|
||||
border-radius: 0 8px 8px 0;
|
||||
background-color: #06187c;
|
||||
background-image: -webkit-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: -moz-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: -o-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: linear-gradient(to top, #06187c, #8b94c2);
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
padding: 5px 10px;
|
||||
overflow: hidden;
|
||||
border-top: 1px solid #aeb2be;
|
||||
|
||||
label {
|
||||
font-size: 12px;
|
||||
color: #76798d;
|
||||
vertical-align: middle;
|
||||
width: 115px;
|
||||
float: left;
|
||||
line-height: 12px;
|
||||
padding: 0 0 0 25px;
|
||||
position: relative;
|
||||
input {
|
||||
vertical-align: middle;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
#num_telephone {
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
vertical-align: middle;
|
||||
padding: 0 10px;
|
||||
width: 156px;
|
||||
height: 23px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
-webkit-box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
-moz-box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
border: solid 1px #d2d2d2;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#col_gauche_gls{
|
||||
position: absolute;
|
||||
top: 126px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 1;
|
||||
|
||||
#map_gls {
|
||||
height: 100%;
|
||||
|
||||
.info-window {
|
||||
line-height:1.35;
|
||||
overflow:hidden;
|
||||
white-space:nowrap;
|
||||
width: 260px;
|
||||
|
||||
.store-name {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
color: #06187c;
|
||||
display: block;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
|
||||
.day {
|
||||
width: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
.button-wrapper {
|
||||
text-align: center;
|
||||
padding: 10px 0;
|
||||
margin-right: -20px;
|
||||
}
|
||||
|
||||
.choose-relay-point {
|
||||
padding: 0 15px 0 25px;
|
||||
height: 26px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
background-color: #06187c;
|
||||
background-image: -webkit-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: -moz-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: -o-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: linear-gradient(to top, #e8b402, #fcd83b);
|
||||
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
text-shadow: 0 1px #f7e38b;
|
||||
text-decoration: none;
|
||||
line-height: 26px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
width: 7px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
left: 12px;
|
||||
background: url(../views/img/picto-arrow.png);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#col_droite_gls{ display: none; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
.layer > div > div {
|
||||
|
||||
}
|
||||
|
||||
#layer_gls > div > div {
|
||||
|
||||
}
|
||||
|
||||
#layer_gls .loader-wrapper,#layer_gls_body .loader-wrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
#layer_gls .loader,#layer_gls_body .loader {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1000;
|
||||
background: #000;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#layer_gls .loader-wheel,#layer_gls_body .loader-wheel {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin: -50px 0 0 -16px;
|
||||
width: 100px;
|
||||
background: #fff;
|
||||
border: 1px solid 000;
|
||||
border-radius: 3px;
|
||||
text-align: center;
|
||||
z-index: 1001;
|
||||
color: #878787;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
#layer_gls .loader-wheel img,#layer_gls_body .loader-wheel img {
|
||||
display: block;
|
||||
margin: auto;
|
||||
}
|
1
modules/gls/views/css/gls.css
Normal file
406
modules/gls/views/css/gls.less
Normal file
@ -0,0 +1,406 @@
|
||||
.gm-style {
|
||||
font-family: Helvetica,Arial,sans-serif !important;
|
||||
}
|
||||
|
||||
.delivery_option_logo img[alt^="GLS"] {
|
||||
height:40px;
|
||||
}
|
||||
|
||||
#layer_gls,#layer_gls_body {
|
||||
position: relative;
|
||||
display: none;
|
||||
width: 950px;
|
||||
background: #fff;
|
||||
z-index: 1000;
|
||||
text-align: left;
|
||||
border-radius: 10px;
|
||||
|
||||
|
||||
.close {
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
cursor: pointer;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
background: url(../images/btn_fermer.png);
|
||||
}
|
||||
|
||||
h3 {
|
||||
background: url(../images/title-repeat.png);
|
||||
line-height: 58px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-radius: 10px 10px 0 0;
|
||||
font-size: 24px;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
padding-left: 110px;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
width: 85px;
|
||||
height: 43px;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 15px;
|
||||
background: url(../images/picto_shd.png);
|
||||
}
|
||||
}
|
||||
|
||||
#gls_headers {
|
||||
background: url(../images/search-repeat.png) repeat-x 0 100%;
|
||||
margin: 0 -15px 15px;
|
||||
padding: 0 15px 0 15px;
|
||||
height: 75px;
|
||||
|
||||
.left {
|
||||
margin-top: 0px;
|
||||
float: left;
|
||||
|
||||
span {
|
||||
padding: 0 5px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: #06187c;
|
||||
margin-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
input {
|
||||
padding: 0 10px;
|
||||
width: 40px;
|
||||
height: 23px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
-webkit-box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
-moz-box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
border: solid 1px #d2d2d2;
|
||||
vertical-align: middle;
|
||||
box-sizing:content-box;
|
||||
}
|
||||
button {
|
||||
background: none;
|
||||
border: none;
|
||||
margin: 0 0 0 -10px;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
text-shadow: 0 -1px #112282;
|
||||
color: #fff;
|
||||
width: 92px;
|
||||
height: 25px;
|
||||
-webkit-border-radius: 0 8px 8px 0;
|
||||
-moz-border-radius: 0 8px 8px 0;
|
||||
border-radius: 0 8px 8px 0;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#8b94c2', EndColorStr='#06187c');
|
||||
background-image: -webkit-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: -moz-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: -o-linear-gradient(bottom, #06187c, #8b94c2);
|
||||
background-image: linear-gradient(to top, #06187c, #8b94c2);
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
margin-top: 15px;
|
||||
float: right;
|
||||
|
||||
label {
|
||||
font-size: 14px;
|
||||
color: #06187c;
|
||||
margin-right: 10px;
|
||||
vertical-align: middle;
|
||||
input {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
#num_telephone {
|
||||
vertical-align: middle;
|
||||
padding: 0 10px;
|
||||
width: 130px;
|
||||
height: 23px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
-webkit-box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
-moz-box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
box-shadow: inset 0 3px 3px rgba(214,214,214,.75);
|
||||
border: solid 1px #d2d2d2;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#col_gauche_gls{
|
||||
width: 646px;
|
||||
height: 353px;
|
||||
float: left;
|
||||
border: 1px solid #d6d8e9;
|
||||
|
||||
#map_gls {
|
||||
height: 100%;
|
||||
|
||||
.info-window {
|
||||
width: 440px;
|
||||
line-height:1.35;
|
||||
overflow:hidden;
|
||||
white-space:nowrap;
|
||||
|
||||
.store-name {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
color: #06187c;
|
||||
display: block;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 255px;
|
||||
margin-top: 10px;
|
||||
|
||||
.day {
|
||||
width: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
.choose-relay-point {
|
||||
padding: 0 15px 0 25px;
|
||||
height: 26px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcd83b', EndColorStr='#e8b402');
|
||||
background-image: -webkit-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: -moz-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: -o-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: linear-gradient(to top, #e8b402, #fcd83b);
|
||||
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
text-shadow: 0 1px #f7e38b;
|
||||
text-decoration: none;
|
||||
line-height: 26px;
|
||||
|
||||
position: absolute;
|
||||
top: 68px;
|
||||
right: 0;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
width: 7px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
left: 12px;
|
||||
background: url(../images/picto-arrow.png);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.gls_ws_error{
|
||||
position: absolute;
|
||||
top: 50px;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding-left: 20px;
|
||||
padding-top:70px;
|
||||
z-index: 9;
|
||||
color: red;
|
||||
text-align: left;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#col_droite_gls{
|
||||
width: 268px;
|
||||
height: 353px;
|
||||
float:right;
|
||||
border: 1px solid #d6d8e9;
|
||||
border-left: none;
|
||||
overflow: hidden;
|
||||
overflow-y: scroll;
|
||||
position: relative;
|
||||
|
||||
.gls_point_relay {
|
||||
padding: 15px 15px 0 15px;
|
||||
border-bottom: 1px solid #d6d8e9;
|
||||
line-height: normal;
|
||||
|
||||
&.current {
|
||||
background: #eeeff7;
|
||||
}
|
||||
|
||||
.GLS_relay_name {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
color: #06187c;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.GLS_relay_address, .GLS_relay_zipcode,.GLS_relay_city {
|
||||
color: #6a6a6a;
|
||||
}
|
||||
|
||||
.GLS_relay_address {
|
||||
display: block;
|
||||
}
|
||||
|
||||
div {
|
||||
margin-top: 5px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.GLS_relay_horaires {
|
||||
float: left;
|
||||
color: #06187c;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.choose-relay-point {
|
||||
border: none;
|
||||
background: none;
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
|
||||
|
||||
padding: 0 15px 0 25px;
|
||||
margin: 0 0 15px 0;
|
||||
height: 26px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcd83b', EndColorStr='#e8b402');
|
||||
background-image: -webkit-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: -moz-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: -o-linear-gradient(bottom, #e8b402, #fcd83b);
|
||||
background-image: linear-gradient(to top, #e8b402, #fcd83b);
|
||||
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
text-shadow: 0 1px #f7e38b;
|
||||
text-decoration: none;
|
||||
line-height: 26px;
|
||||
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
width: 7px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
left: 12px;
|
||||
background: url(../images/picto-arrow.png);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.GLS_relay_latitude,
|
||||
.GLS_relay_longitude,
|
||||
.GLS_relay_hours,
|
||||
.GLS_relay_id,
|
||||
.GLS_relay_index {
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
.layer > div > div {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#layer_gls > div > div,#layer_gls_body > div > div {
|
||||
padding: 15px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#layer_gls .loader-wrapper,#layer_gls_body .loader-wrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
#layer_gls .loader,#layer_gls_body .loader {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1000;
|
||||
background: #000;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#layer_gls .loader-wheel,#layer_gls_body .loader-wheel {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin: -50px 0 0 -16px;
|
||||
width: 100px;
|
||||
background: #fff;
|
||||
border: 1px solid 000;
|
||||
border-radius: 3px;
|
||||
text-align: center;
|
||||
z-index: 1001;
|
||||
color: #878787;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
#layer_gls .loader-wheel img,#layer_gls_body .loader-wheel img {
|
||||
display: block;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#gls_relais_choisi {
|
||||
position: relative;
|
||||
|
||||
.modifier_relay {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0;
|
||||
font-size: 11px;
|
||||
color: #999;
|
||||
font-style: italic;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
color: #000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#sms_checkbox{
|
||||
margin-right:5px;
|
||||
}
|
||||
#uniform-sms_checkbox{
|
||||
display:inline;
|
||||
}
|
||||
|
||||
#cp_street{
|
||||
width:270px !important;
|
||||
}
|
||||
#cp_city{
|
||||
width:100px !important;
|
||||
}
|
||||
#cp_recherche{
|
||||
box-sizing:content-box;
|
||||
}
|
28
modules/gls/views/css/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
307
modules/gls/views/css/prepros.cfg
Normal file
@ -0,0 +1,307 @@
|
||||
[
|
||||
{
|
||||
"About This File": "This is Prepros config file, https://prepros.io . Please do not edit this file, doing so can crash Prepros."
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"id": "",
|
||||
"cfgVersion": 2,
|
||||
"name": "CSS GLS prestashop 1611",
|
||||
"path": "",
|
||||
"files": {
|
||||
"d57c4315": {
|
||||
"id": "d57c4315",
|
||||
"path": "gls-mobile.css",
|
||||
"output": "gls-mobile-dist.css",
|
||||
"name": "gls-mobile.css",
|
||||
"category": "CSS",
|
||||
"autoCompile": false,
|
||||
"sourceMaps": false,
|
||||
"compress": true,
|
||||
"cssnext": false,
|
||||
"autoprefixer": false,
|
||||
"customOutput": false,
|
||||
"imported": false,
|
||||
"parents": [],
|
||||
"type": "css"
|
||||
},
|
||||
"cfcd6a6a": {
|
||||
"id": "cfcd6a6a",
|
||||
"path": "gls-mobile.less",
|
||||
"output": "gls-mobile.css",
|
||||
"name": "gls-mobile.less",
|
||||
"category": "CSS",
|
||||
"autoCompile": true,
|
||||
"autoprefixer": false,
|
||||
"compress": false,
|
||||
"sourceMaps": false,
|
||||
"strictMath": false,
|
||||
"strictUnits": false,
|
||||
"customOutput": false,
|
||||
"imported": false,
|
||||
"parents": [],
|
||||
"type": "less"
|
||||
},
|
||||
"c1177281": {
|
||||
"id": "c1177281",
|
||||
"path": "gls.css",
|
||||
"output": "gls-dist.css",
|
||||
"name": "gls.css",
|
||||
"category": "CSS",
|
||||
"autoCompile": false,
|
||||
"sourceMaps": false,
|
||||
"compress": true,
|
||||
"cssnext": false,
|
||||
"autoprefixer": false,
|
||||
"customOutput": false,
|
||||
"imported": false,
|
||||
"parents": [],
|
||||
"type": "css"
|
||||
},
|
||||
"c68ca203": {
|
||||
"id": "c68ca203",
|
||||
"path": "gls.less",
|
||||
"output": "gls.css",
|
||||
"name": "gls.less",
|
||||
"category": "CSS",
|
||||
"autoCompile": true,
|
||||
"autoprefixer": true,
|
||||
"compress": true,
|
||||
"sourceMaps": false,
|
||||
"strictMath": false,
|
||||
"strictUnits": false,
|
||||
"customOutput": false,
|
||||
"imported": false,
|
||||
"parents": [],
|
||||
"type": "less"
|
||||
},
|
||||
"b8f3bc1b": {
|
||||
"id": "b8f3bc1b",
|
||||
"path": "index.php",
|
||||
"output": "index.php",
|
||||
"name": "index.php",
|
||||
"category": "JUST_WATCH",
|
||||
"customOutput": false,
|
||||
"imported": false,
|
||||
"parents": [],
|
||||
"type": "php"
|
||||
},
|
||||
"aa810382": {
|
||||
"id": "aa810382",
|
||||
"path": "style.css",
|
||||
"output": "style-dist.css",
|
||||
"name": "style.css",
|
||||
"category": "CSS",
|
||||
"autoCompile": false,
|
||||
"sourceMaps": false,
|
||||
"compress": true,
|
||||
"cssnext": false,
|
||||
"autoprefixer": false,
|
||||
"customOutput": false,
|
||||
"imported": false,
|
||||
"parents": [],
|
||||
"type": "css"
|
||||
}
|
||||
},
|
||||
"deploymentHistory": {},
|
||||
"config": {
|
||||
"watch": "",
|
||||
"liveRefresh": true,
|
||||
"useCustomServer": false,
|
||||
"port": 0,
|
||||
"useCustomPort": false,
|
||||
"customServerUrl": "",
|
||||
"watchedFileExtensions": "less, sass, scss, styl, md, markdown, coffee, js, jade, haml, slim, ls, html,htm, css, rb, php, asp, aspx, cfm, chm, cms, do, erb, jsp, mhtml, mspx, pl, py, shtml, cshtml, cs,vb, vbs, tpl, ctp, kit, png, jpg, jpeg",
|
||||
"excludePatterns": "Prepros Build, node_modules, .git, .idea, .sass-cache, .hg, .svn, .cache, config.rb, prepros.cfg, .DS_Store, bower_components",
|
||||
"autoprefixerBrowsers": "last 4 versions",
|
||||
"liveRefreshDelay": 0,
|
||||
"disableImportAutoCompile": true,
|
||||
"browserFlow": {
|
||||
"mouseSync": true,
|
||||
"scrollSync": true,
|
||||
"keyboardSync": true,
|
||||
"animateCss": true
|
||||
},
|
||||
"deployment": {
|
||||
"ftpHost": "",
|
||||
"ftpPort": "21",
|
||||
"ftpUsePrivateKey": false,
|
||||
"ftpPrivateKey": "",
|
||||
"ftpRemotePath": "",
|
||||
"ftpUserName": "",
|
||||
"ftpPassword": "",
|
||||
"ftpType": "FTP",
|
||||
"ftpSecure": false,
|
||||
"ftpUploadOnModify": false,
|
||||
"ftpRefreshAfterUpload": false,
|
||||
"ignorePreprocessableFiles": true,
|
||||
"copyPath": "Prepros Build",
|
||||
"excludePatterns": ".map, Prepros Build, config.rb, prepros.cfg, node_modules, .git, .idea, .sass-cache, .hg, .svn, .cache, .DS_Store, bower_components"
|
||||
},
|
||||
"css": {
|
||||
"path": "css/",
|
||||
"outputType": "REPLACE_SEGMENT",
|
||||
"segmentToReplace": "less, sass, stylus, scss, styl",
|
||||
"segmentToReplaceWith": "css",
|
||||
"preprocessableFilesDirs": "less/\nsass/\nstylus/\nscss/\nstyl/\n"
|
||||
},
|
||||
"minCss": {
|
||||
"path": "",
|
||||
"outputType": "RELATIVE_FILEDIR",
|
||||
"segmentToReplace": "",
|
||||
"segmentToReplaceWith": "",
|
||||
"types": "",
|
||||
"preprocessableFilesDirs": "",
|
||||
"filePrefix": "-dist"
|
||||
},
|
||||
"html": {
|
||||
"segmentToReplace": "jade, haml, slim, markdown, md, kit",
|
||||
"segmentToReplaceWith": "html",
|
||||
"path": "html/",
|
||||
"extension": ".html",
|
||||
"outputType": "REPLACE_SEGMENT",
|
||||
"preprocessableFilesDirs": "jade/\nhaml/\nslim/\nmarkdown/\nmd/\nkit"
|
||||
},
|
||||
"js": {
|
||||
"segmentToReplace": "coffee, coffeescript, coffeescripts, ls, livescript, livescripts",
|
||||
"segmentToReplaceWith": "html",
|
||||
"extension": ".html",
|
||||
"outputType": "REPLACE_SEGMENT",
|
||||
"preprocessableFilesDirs": "coffee/\ncoffeescript/\ncoffeescripts/\nls/\nlivescript/\nlivescripts",
|
||||
"path": "js/"
|
||||
},
|
||||
"minJs": {
|
||||
"path": "",
|
||||
"outputType": "RELATIVE_FILEDIR",
|
||||
"segmentToReplace": "",
|
||||
"segmentToReplaceWith": "",
|
||||
"types": "",
|
||||
"preprocessableFilesDirs": "",
|
||||
"filePrefix": "-dist"
|
||||
},
|
||||
"compilers": {
|
||||
"less": {
|
||||
"autoCompile": true,
|
||||
"autoprefixer": false,
|
||||
"compress": false,
|
||||
"sourceMaps": false,
|
||||
"strictMath": false,
|
||||
"strictUnits": false
|
||||
},
|
||||
"sass": {
|
||||
"autoCompile": true,
|
||||
"autoprefixer": false,
|
||||
"sourceMaps": false,
|
||||
"libSass": true,
|
||||
"nodeSassCompress": true,
|
||||
"compass": false,
|
||||
"fullCompass": false,
|
||||
"outputStyle": "expanded"
|
||||
},
|
||||
"stylus": {
|
||||
"autoCompile": true,
|
||||
"sourceMaps": false,
|
||||
"autoprefixer": false,
|
||||
"nib": false,
|
||||
"compress": false
|
||||
},
|
||||
"markdown": {
|
||||
"autoCompile": true,
|
||||
"sanitize": false,
|
||||
"gfm": true,
|
||||
"wrapWithHtml": false
|
||||
},
|
||||
"coffee": {
|
||||
"autoCompile": true,
|
||||
"bare": false,
|
||||
"uglify": false,
|
||||
"mangle": true,
|
||||
"iced": false,
|
||||
"sourceMaps": false
|
||||
},
|
||||
"livescript": {
|
||||
"autoCompile": true,
|
||||
"bare": false,
|
||||
"uglify": false,
|
||||
"mangle": true
|
||||
},
|
||||
"javascript": {
|
||||
"autoCompile": false,
|
||||
"uglify": true,
|
||||
"mangle": true,
|
||||
"sourceMaps": false
|
||||
},
|
||||
"jade": {
|
||||
"autoCompile": true,
|
||||
"pretty": true
|
||||
},
|
||||
"haml": {
|
||||
"autoCompile": true,
|
||||
"pretty": true,
|
||||
"doubleQuotes": false
|
||||
},
|
||||
"kit": {
|
||||
"autoCompile": true
|
||||
},
|
||||
"slim": {
|
||||
"autoCompile": true,
|
||||
"pretty": true,
|
||||
"indent": "default"
|
||||
},
|
||||
"css": {
|
||||
"autoCompile": false,
|
||||
"sourceMaps": false,
|
||||
"compress": true,
|
||||
"cssnext": false,
|
||||
"autoprefixer": false
|
||||
},
|
||||
"uglify": {
|
||||
"compress": {
|
||||
"sequences": true,
|
||||
"properties": true,
|
||||
"dead_code": true,
|
||||
"drop_debugger": true,
|
||||
"unsafe": false,
|
||||
"unsafe_comps": false,
|
||||
"conditionals": true,
|
||||
"comparisons": true,
|
||||
"evaluate": true,
|
||||
"booleans": true,
|
||||
"loops": true,
|
||||
"unused": true,
|
||||
"hoist_funs": true,
|
||||
"keep_fargs": false,
|
||||
"hoist_vars": false,
|
||||
"if_return": true,
|
||||
"join_vars": true,
|
||||
"cascade": true,
|
||||
"side_effects": true,
|
||||
"pure_getters": false,
|
||||
"negate_iife": true,
|
||||
"screw_ie8": false,
|
||||
"drop_console": false,
|
||||
"angular": false,
|
||||
"warnings": true,
|
||||
"pure_funcs": null,
|
||||
"global_defs": null
|
||||
},
|
||||
"output": {
|
||||
"quote_keys": false,
|
||||
"space_colon": true,
|
||||
"ascii_only": false,
|
||||
"unescape_regexps": false,
|
||||
"inline_script": false,
|
||||
"beautify": false,
|
||||
"bracketize": false,
|
||||
"semicolons": true,
|
||||
"comments": false,
|
||||
"preserve_line": false,
|
||||
"screw_ie8": false,
|
||||
"preamble": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
559
modules/gls/views/css/style.css
Normal file
@ -0,0 +1,559 @@
|
||||
div.PS_GLSFormType
|
||||
{
|
||||
width:100%;
|
||||
margin-top:20px;
|
||||
}
|
||||
|
||||
div.PS_GLSFormType fieldset > ul
|
||||
{
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
div.PS_GLSFormType fieldset > ul > li
|
||||
{
|
||||
margin-top:10px;
|
||||
}
|
||||
|
||||
div.PS_GLSFormType fieldset > ul > li > span.indication
|
||||
{
|
||||
font-style:italic;
|
||||
font-size:11px;
|
||||
margin-left:5px;
|
||||
}
|
||||
|
||||
div.PS_GLSFormType fieldset > ul > li.PS_GLSSubmit
|
||||
{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
div.PS_GLSSubmitButton
|
||||
{
|
||||
text-align:center;
|
||||
margin-top:20px;
|
||||
}
|
||||
|
||||
.PS_GLSRequireFields
|
||||
{
|
||||
display:inline;
|
||||
padding:2px 10px;
|
||||
}
|
||||
|
||||
tr.PS_GLSErrorList td
|
||||
{
|
||||
border: 1px solid #EC9B9B;
|
||||
background-color: #FFE2E3;
|
||||
color: #383838;
|
||||
font-weight: 700;
|
||||
line-height: 18px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
tr.PS_GLSSuccessList td
|
||||
{
|
||||
border: 1px solid #72CB67;
|
||||
background-color: #DFFAD3;
|
||||
color: #383838;
|
||||
font-weight: 700;
|
||||
line-height: 18px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
table#PS_GLSHistoriqueTableList
|
||||
{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
table#PS_GLSHistoriqueTableList tr > td > img
|
||||
{
|
||||
margin-bottom:5px;
|
||||
}
|
||||
|
||||
table#PS_GLSHistoriqueTableList
|
||||
{
|
||||
width:100%;
|
||||
}
|
||||
|
||||
table#PS_GLSHistoriqueTableList tr
|
||||
{
|
||||
height:30px;
|
||||
}
|
||||
|
||||
div#otherErrors
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
|
||||
div#otherErrors span
|
||||
{
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
div#PS_GLSUnRemovedItem
|
||||
{
|
||||
display:none;
|
||||
color:#FF0000;
|
||||
}
|
||||
|
||||
.shippingList {
|
||||
|
||||
}
|
||||
.shippingList li {
|
||||
margin: 5px;
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
.shipLabel {
|
||||
width: 230px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
.selectShipping {
|
||||
width: 100px;
|
||||
}
|
||||
.settingsList {
|
||||
width: 400px;
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.settingsList li {
|
||||
display: block;
|
||||
padding: 5px;
|
||||
clear: both;
|
||||
}
|
||||
.upsLabel {
|
||||
width: 170px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
.upsInput {
|
||||
float: left;
|
||||
}
|
||||
.upsSubmit {
|
||||
text-align: center;
|
||||
}
|
||||
.addMethodForm {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
table#orders
|
||||
{
|
||||
width:100%;
|
||||
}
|
||||
|
||||
table#orders td
|
||||
{
|
||||
text-align:center;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
table#orders th
|
||||
{
|
||||
text-align:center;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
table#orders th.fixed
|
||||
{
|
||||
width:70px;
|
||||
}
|
||||
|
||||
table#orders tr
|
||||
{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
div.submit_button
|
||||
{
|
||||
margin-top:10px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
div.PS_GLSLoader
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.GLS_form_admintab h3
|
||||
{
|
||||
margin: 10px;
|
||||
margin-bottom: .5em;
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
div#PS_GLSAskBackupContent
|
||||
{
|
||||
border:1px solid #000;
|
||||
background: url(../logo_hd.png) no-repeat 10px 50px #BEBEBE;
|
||||
line-height:18px;
|
||||
font-size:14px;
|
||||
height:190px;
|
||||
}
|
||||
|
||||
div#PS_GLSAskBackupContent div
|
||||
{
|
||||
width:290px;
|
||||
float:right;
|
||||
margin-right:20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#PS_GLSAskBackupContent div > p
|
||||
{
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
div#PS_GLSAskBackupContent h2
|
||||
{
|
||||
padding-top:10px;
|
||||
}
|
||||
|
||||
tr.PS_GLSSelectedCarrier > td
|
||||
{
|
||||
text-align: center;
|
||||
border-bottom: 1px black;
|
||||
}
|
||||
|
||||
.PS_GLSWarn
|
||||
{
|
||||
border: 1px solid #D3C200;
|
||||
background-color: #FFFAC6;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.PS_GLSRelayPointInfo
|
||||
{
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
margin: 10px 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.PS_GLSRelayPointInfo:hover
|
||||
{
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
|
||||
.PS_GLSRelayPointInfo img
|
||||
{
|
||||
height: 40px;
|
||||
float:left;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.PS_GLSRelayPointInfo p
|
||||
{
|
||||
float:left;
|
||||
width:360px;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.PS_GLSFloatRelayPointSelecteIt
|
||||
{
|
||||
display:block;
|
||||
}
|
||||
|
||||
.PS_GLSRelayPointInfo:hover .PS_GLSFloatRelayPointSelecteIt
|
||||
{
|
||||
display:block;
|
||||
}
|
||||
|
||||
.PS_GLSRelayPointInfo .PS_GLSFloatRelayPointSelected
|
||||
{
|
||||
color:#333333;
|
||||
background:url(../images/selectRelayPoint.png) no-repeat 0px -25px;
|
||||
}
|
||||
|
||||
.PS_GLSFloatRelayPointSelected
|
||||
{
|
||||
display:block;
|
||||
}
|
||||
|
||||
.PS_GLSFloatRelayPointSelecteIt a.PS_GLSSelectRelayPointButton
|
||||
{
|
||||
float:right;
|
||||
display: block;
|
||||
width: 60px;
|
||||
height: 20px;
|
||||
padding: 5px 20px 0px 25px;
|
||||
color:#666666;
|
||||
text-decoration: none;
|
||||
margin-top: 8px;
|
||||
background:url(../images/selectRelayPoint.png) no-repeat 0px 0px;
|
||||
}
|
||||
|
||||
.PS_GLSFloatRelayPointSelected a.PS_GLSSelectRelayPointButton
|
||||
{
|
||||
font-size: 10px;
|
||||
float:right;
|
||||
display: block;
|
||||
width: 60px;
|
||||
height: 20px;
|
||||
padding: 7px 20px 0px 25px;
|
||||
text-decoration: none;
|
||||
margin-top: 8px;
|
||||
color:#333333;
|
||||
background:url(../images/selectRelayPoint.png) no-repeat 0px -25px;
|
||||
}
|
||||
|
||||
a.PS_GLSSelectRelayPointButton:hover
|
||||
{
|
||||
color:#333333;
|
||||
background:url(../images/selectRelayPoint.png) no-repeat 0px -25px;
|
||||
}
|
||||
|
||||
.PS_GLSGmapDefaultPosition
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
|
||||
div.PS_GLSGmapStyle
|
||||
{
|
||||
width: 550px;
|
||||
height:250px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#PS_GLSPersonalizedFields
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.clearfix:before,
|
||||
.clearfix:after
|
||||
{
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
overflow: hidden
|
||||
}
|
||||
.clearfix:after {clear: both}
|
||||
.clearfix {zoom: 1}
|
||||
|
||||
.PS_GLSGmapBulbe
|
||||
{
|
||||
width:405px;
|
||||
height:66px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.GLS_date {width:450px;position:relative;float:right; line-height: 9px;}
|
||||
.GLS_date span.titre {margin-left:50px;font-weight:bold;}
|
||||
.GLS_date span.vacances {margin-left:5px;color:Red; }
|
||||
.GLS_date table {border-spacing:3px;font-size:11pt; border: solid 1px #eee;}
|
||||
.GLS_date tr.p {background-color:#e9e9e9; height:9px;}
|
||||
.GLS_date td.g {font-weight:bold;}
|
||||
.GLS_date td.d {}
|
||||
|
||||
/* 1.3 compatibility*/
|
||||
.GLS_warn
|
||||
{
|
||||
border: 1px solid #D3C200;
|
||||
background-color: #FFFAC6;
|
||||
color: #383838;
|
||||
font-weight: 700;
|
||||
margin: 0 0 10px 0;
|
||||
line-height: 20px;
|
||||
padding: 10px 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* 1.3 compatibility*/
|
||||
.GLS_error
|
||||
{
|
||||
border: 1px solid #EC9B9B;
|
||||
background-color: #FAE2E3;
|
||||
color: #383838;
|
||||
font-weight: 700;
|
||||
margin: 0 0 10px 0;
|
||||
line-height: 20px;
|
||||
padding: 10px 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.GLS_error ul > li, .GLS_warn ul > li
|
||||
{
|
||||
list-style: none;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* 1.3 - 1.4 compatibility*/
|
||||
.GLS_hint
|
||||
{
|
||||
margin-top: 4px;
|
||||
margin-bottom: 2px;
|
||||
border: 1px solid #268CCD;
|
||||
padding: 8px 6px 8px 34px;
|
||||
color: #383838;
|
||||
background: #F1F9FF;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#GLS_config_menu
|
||||
{
|
||||
background-color: #F8F8F8;
|
||||
border: 1px solid #CCC;
|
||||
margin-bottom: 10px;
|
||||
padding: 10px 0;
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-image: initial;
|
||||
height: 110px;
|
||||
}
|
||||
|
||||
#GLS_config_menu ul
|
||||
{
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
#GLS_config_menu ul > li
|
||||
{
|
||||
color: #666;
|
||||
float: left;
|
||||
list-style: none outside none;
|
||||
padding: 10px 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#GLS_config_menu ul > li.selected
|
||||
{
|
||||
color: #383838;
|
||||
font-weight: bolder;
|
||||
border: 1px solid #CCC;
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
background-color: #EBEDF4;
|
||||
}
|
||||
|
||||
#GLS_config_menu ul > li.selected > a
|
||||
{
|
||||
color: #383838;
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
#GLS_error_account
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.send_disable_carrier_form {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nobootstrap .alert.alert-danger, .nobootstrap #carrier_wizard .wizard_error {
|
||||
padding-left: 50px;
|
||||
position: relative;
|
||||
border: none;
|
||||
border-left: solid 3px #e17875;
|
||||
}
|
||||
|
||||
.nobootstrap .alert-danger, .nobootstrap #carrier_wizard .wizard_error {
|
||||
background-color: #f2dede;
|
||||
border-color: #ebccd1;
|
||||
color: #a94442;
|
||||
}
|
||||
|
||||
.nobootstrap .alert, .nobootstrap #carrier_wizard .wizard_error {
|
||||
padding: 15px;
|
||||
margin-bottom: 17px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.nobootstrap .alert.alert-danger:before, .nobootstrap #carrier_wizard .wizard_error:before {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: 7px;
|
||||
display: block;
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
color: #e17875;
|
||||
}
|
||||
|
||||
.icon-warning:before, .icon-exclamation-triangle:before, .icon-warning-sign:before, .nobootstrap .alert.alert-danger:before, .nobootstrap #carrier_wizard .wizard_error:before {
|
||||
content: "\f071";
|
||||
}
|
||||
|
||||
.icon-3x, .nobootstrap .alert.alert-warning:before, .nobootstrap .alert.alert-danger:before, .nobootstrap #carrier_wizard .wizard_error:before, .nobootstrap .alert.alert-success:before, .nobootstrap .alert.alert-info:before, .nobootstrap .alert.alert-addons:before, .nobootstrap .alert.alert-message:before {
|
||||
font-size: 3em;
|
||||
}
|
||||
|
||||
.icon, .page-sidebar-closed:not(.nav-topbar):not(.mobile-nav) .searchtab:before, [class^="icon-"], [class^="process-icon-"], .nobootstrap .alert.alert-warning:before, .nobootstrap .alert.alert-danger:before, .nobootstrap #carrier_wizard .wizard_error:before, .nobootstrap .alert.alert-success:before, .nobootstrap .alert.alert-info:before, .nobootstrap .alert.alert-addons:before, .nobootstrap .alert.alert-message:before, .nobootstrap .table td.dragHandle .dragGroup:before, .nobootstrap #dashboard .loading .data_value:before, .nobootstrap #employee-thumbnail:before, .mce-ico, .chosen-container-single .chosen-single div b, .chosen-container-single .chosen-search:before {
|
||||
display: inline-block;
|
||||
font-family: FontAwesome;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.nobootstrap *:before, .nobootstrap *:after {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.nobootstrap .alert.alert-success, .nobootstrap #carrier_wizard .alert-success.wizard_error {
|
||||
padding-left: 50px;
|
||||
position: relative;
|
||||
border: none;
|
||||
border-left: solid 3px #7cc67c;
|
||||
}
|
||||
|
||||
.nobootstrap .alert-success {
|
||||
background-color: #dff0d8;
|
||||
border-color: #d6e9c6;
|
||||
color: #3c763d;
|
||||
}
|
||||
|
||||
.nobootstrap .alert, .nobootstrap #carrier_wizard .wizard_error {
|
||||
padding: 15px;
|
||||
margin-bottom: 17px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.nobootstrap .alert.alert-success:before, .nobootstrap #carrier_wizard .alert-success.wizard_error:before {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: 7px;
|
||||
display: block;
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
color: #7cc67c;
|
||||
}
|
||||
|
||||
.icon-check-circle:before, .icon-ok-sign:before, .nobootstrap .alert.alert-success:before, .nobootstrap #carrier_wizard .alert-success.wizard_error:before {
|
||||
content: "\f058";
|
||||
}
|
||||
|
||||
.icon-3x, .nobootstrap .alert.alert-warning:before, .nobootstrap .alert.alert-danger:before, .nobootstrap #carrier_wizard .wizard_error:before, .nobootstrap .alert.alert-success:before, .nobootstrap .alert.alert-info:before, .nobootstrap .alert.alert-addons:before, .nobootstrap .alert.alert-message:before {
|
||||
font-size: 3em;
|
||||
}
|
||||
|
||||
.icon, .page-sidebar-closed:not(.nav-topbar):not(.mobile-nav) .searchtab:before, [class^="icon-"], [class^="process-icon-"], .nobootstrap .alert.alert-warning:before, .nobootstrap .alert.alert-danger:before, .nobootstrap #carrier_wizard .wizard_error:before, .nobootstrap .alert.alert-success:before, .nobootstrap .alert.alert-info:before, .nobootstrap .alert.alert-addons:before, .nobootstrap .alert.alert-message:before, .nobootstrap .table td.dragHandle .dragGroup:before, .nobootstrap #dashboard .loading .data_value:before, .nobootstrap #employee-thumbnail:before, .mce-ico, .chosen-container-single .chosen-single div b, .chosen-container-single .chosen-search:before {
|
||||
display: inline-block;
|
||||
font-family: FontAwesome;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.nobootstrap *:before, .nobootstrap *:after {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.gls_legend{
|
||||
width: 500px;
|
||||
margin-left: 46px;
|
||||
font-style: italic;
|
||||
text-align: justify;
|
||||
}
|
BIN
modules/gls/views/img/btn_fermer.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
modules/gls/views/img/details.gif
Normal file
After Width: | Height: | Size: 954 B |
BIN
modules/gls/views/img/getTickets.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
modules/gls/views/img/icones/account_detail.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
28
modules/gls/views/img/icones/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
BIN
modules/gls/views/img/icones/info.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
modules/gls/views/img/icones/settings.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
modules/gls/views/img/icones/supplier.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
28
modules/gls/views/img/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
BIN
modules/gls/views/img/logo.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
modules/gls/views/img/marker.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
modules/gls/views/img/marker_current.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
modules/gls/views/img/pdf_icon.jpg
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
modules/gls/views/img/picto-arrow.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
modules/gls/views/img/picto_ado.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
modules/gls/views/img/picto_bp.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
modules/gls/views/img/picto_mid.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
modules/gls/views/img/picto_shd.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
modules/gls/views/img/search-repeat.png
Normal file
After Width: | Height: | Size: 1012 B |
BIN
modules/gls/views/img/title-repeat.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
28
modules/gls/views/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
1164
modules/gls/views/js/gls.js
Normal file
608
modules/gls/views/js/glsFront.js
Normal file
@ -0,0 +1,608 @@
|
||||
/*
|
||||
* Cette fonction n'est pas définie dans le cas du thème mobile
|
||||
* et provoque une erreur au clic sur un transporteur
|
||||
* @see themes/default/js/cartt-summary.js
|
||||
*/
|
||||
if (typeof updateExtraCarrier != "function") {
|
||||
function updateExtraCarrier(id_delivery_option, id_address)
|
||||
{
|
||||
/*
|
||||
* Si l'on met ici le code de la fonction
|
||||
* le layer gls est dupliqué au clic sur le transporteur
|
||||
* => on laisse vide
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction startWith sur l'objet String de javascript
|
||||
*/
|
||||
String.prototype.startWith = function(t, i) {
|
||||
if (i == false) {
|
||||
return
|
||||
(t == this.substring(0, t.length));
|
||||
} else {
|
||||
return (t.toLowerCase()
|
||||
== this.substring(0, t.length).toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Variables globales
|
||||
*/
|
||||
|
||||
var glsMyPosition;
|
||||
var glsListRelais = new Array();
|
||||
var glsRelayMap;
|
||||
var glsOpenedInfowindow;
|
||||
var glsRelaisChoisi;
|
||||
var glsCarrierRelayId = false;
|
||||
var defaultZipCode = '75001';
|
||||
var prestashop1_6 = false;
|
||||
|
||||
/* Liste des markers */
|
||||
var glsMarkersArray = [];
|
||||
|
||||
/*
|
||||
* Suppression des markers
|
||||
*/
|
||||
function clearMarkers() {
|
||||
for (var i = 0; i < glsMarkersArray.length; i++) {
|
||||
glsMarkersArray[i].setMap(null);
|
||||
}
|
||||
glsMarkersArray.length = 0;
|
||||
glsMarkersArray = [];
|
||||
jQuery('.gls_point_relay').remove();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation au chargement de la page
|
||||
*/
|
||||
jQuery(function($) {
|
||||
|
||||
//Récupération en ajax de l'identifiant du transporteur relais GLS
|
||||
$.ajax(
|
||||
{
|
||||
type: 'POST',
|
||||
url: baseDir + 'modules/gls/ajaxFront.php',
|
||||
data: {'method': 'getGLSRelayCarrierId'},
|
||||
dataType: 'json',
|
||||
success: function(json)
|
||||
{
|
||||
//Ajout de l'identifiant à la page
|
||||
$('#gls_carrier_id').remove();
|
||||
$(".order_carrier_content").append("<div id='gls_carrier_id' data-carrier_id='" + json.id_carrier + "' style='display:none;'></div>");
|
||||
glsCarrierRelayId = json.id_carrier;
|
||||
getPreviouslyChoosenRelay();
|
||||
}
|
||||
});
|
||||
|
||||
//Récupération en ajax du code postal de facturation
|
||||
//Fonction déplacée pour faire fonctionner sur la version mobile, car les champs ne sont pas chargé au début du tunnel de commande
|
||||
/* $.ajax(
|
||||
{
|
||||
type : 'POST',
|
||||
url : baseDir+'modules/gls/ajaxFront.php',
|
||||
data : {'method' : 'getDefaultZipCode'},
|
||||
dataType: 'json',
|
||||
success: function(json)
|
||||
{
|
||||
if(json){
|
||||
defaultZipCode = json.postcode;
|
||||
$("#cp_street").val(json.street);
|
||||
$("#cp_city").val(json.city);
|
||||
if(json.phone_mobile){
|
||||
$('#num_telephone').val(json.phone_mobile);
|
||||
}else{
|
||||
$('#num_telephone').val(json.phone_number);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
*/
|
||||
|
||||
/**
|
||||
* Sur l'événement change des radios boutons de choix de mode de livraison
|
||||
*/
|
||||
if ($("body").hasClass("ui-mobile-viewport")) {
|
||||
$(document).on("change", "input.delivery_option_radio", function() {
|
||||
shippingGLSRadioCheck(this);
|
||||
});
|
||||
} else {
|
||||
$(document).on("click", "input.delivery_option_radio", function() {
|
||||
shippingGLSRadioCheck(this);
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* Bouton fermer la popup
|
||||
*/
|
||||
jQuery(document).on("click", "#layer_gls_body .close", function() {
|
||||
jQuery("#layer_gls_body").popup('hide');
|
||||
});
|
||||
|
||||
/*
|
||||
* Sur l'évènement de choix de relay
|
||||
*/
|
||||
$('.choose-relay-point').live("click", function(e) {
|
||||
e.preventDefault();
|
||||
choisirRelaisGLS($(this).data('relayindex'));
|
||||
});
|
||||
/*
|
||||
* Sur la validation du transporteur
|
||||
*/
|
||||
$('button[name="processCarrier"]').click(function() {
|
||||
if ($('#gls_relais_choisi').size() < 1 && $('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').attr('checked')) {
|
||||
if ($('.cart_navigation').length > 0) {
|
||||
if ($('.GLSWarning').length == 0) {
|
||||
$('.cart_navigation').prepend('<div class="GLSWarning" style="font-weight:bold; color:#cc0000; text-align:center;">' + PS_GLSWarningNoRelay + '</div>');
|
||||
}
|
||||
} else {
|
||||
alert(PS_GLSWarningNoRelay);
|
||||
}
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
$('input[name="processCarrier"]').click(function() {
|
||||
if (!$('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').attr('checked') && $('#gls_relais_choisi').size() > 0) {
|
||||
resetPointRelay();
|
||||
}
|
||||
|
||||
if ($('#gls_relais_choisi').size() < 1 && $('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').attr('checked')) {
|
||||
alert(PS_GLSWarningNoRelay);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
/* Seules les saisies numériques sont autorisées dans les champs textes */
|
||||
$("#layer_gls_wrapper #cp_recherche").keypress(function(e) {
|
||||
var charCode = (e.which) ? e.which : e.keyCode;
|
||||
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
jQuery(document).on('click', '.modifier_relay', function(e) {
|
||||
jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').click();
|
||||
if (jQuery.uniform) {
|
||||
jQuery.uniform.update();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* Initialsation des popup
|
||||
*/
|
||||
if ($('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').next().find('.delivery_option_title').size() > 0) {
|
||||
prestashop1_6 = false;
|
||||
} else {
|
||||
prestashop1_6 = true;
|
||||
}
|
||||
|
||||
if (prestashop1_6) {
|
||||
|
||||
//Initialisation du plugin
|
||||
jQuery("#layer_gls_body").popup({
|
||||
beforeopen: function() {
|
||||
glsRelayMap = new google.maps.Map(document.getElementById('map_gls'), mapOptions);
|
||||
},
|
||||
onclose: function() {
|
||||
resetGLSShippingMethod();
|
||||
},
|
||||
transition: 'all 0.3s',
|
||||
});
|
||||
} else {
|
||||
jQuery("#layer_gls_body").popup({
|
||||
transition: 'all 0.3s',
|
||||
beforeopen: function() {
|
||||
glsRelayMap = new google.maps.Map(document.getElementById('map_gls'), mapOptions);
|
||||
},
|
||||
onclose: function() {
|
||||
resetGLSShippingMethod();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function shippingGLSRadioCheck(element) {
|
||||
var idCarrierSelected = $(element).val().slice(0, -1);
|
||||
console.log('enter shippingGLSRadioCheck : ' + glsCarrierRelayId);
|
||||
|
||||
if (idCarrierSelected == glsCarrierRelayId) {
|
||||
geocoder = new google.maps.Geocoder();
|
||||
|
||||
console.log('TRY cp_street');
|
||||
if (!$("#cp_street").val()) {
|
||||
console.log('TRY ajaxFront');
|
||||
//Récupération en ajax du code postal de facturation
|
||||
$.ajax(
|
||||
{
|
||||
type: 'POST',
|
||||
url: baseDir + 'modules/gls/ajaxFront.php',
|
||||
data: {'method': 'getDefaultZipCode'},
|
||||
dataType: 'json',
|
||||
success: function(json)
|
||||
{
|
||||
console.log('SUCCESS ajaxFront');
|
||||
if (json) {
|
||||
defaultZipCode = json.postcode;
|
||||
$("#cp_street").val(json.street);
|
||||
$("#cp_city").val(json.city);
|
||||
if (json.phone_mobile) {
|
||||
$('#num_telephone').val(json.phone_mobile);
|
||||
} else {
|
||||
$('#num_telephone').val(json.phone_number);
|
||||
}
|
||||
}
|
||||
|
||||
geocodeGLSAdresse();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
geocodeGLSAdresse();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function resetGLSShippingMethod() {
|
||||
if (jQuery('#gls_relais_choisi').size() == 0) {
|
||||
console.log('TEST 1');
|
||||
jQuery("input[class='delivery_option_radio']:checked").prop("checked", "");
|
||||
console.log('TEST 2');
|
||||
jQuery("input[name='shipping_method']:checked").prop("checked", "");
|
||||
console.log('TEST 3');
|
||||
if (jQuery.uniform) {
|
||||
console.log('TEST 3.1');
|
||||
jQuery.uniform.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function geocodeGLSAdresse() {
|
||||
|
||||
var searchAdress = jQuery('#cp_recherche').val();
|
||||
if (searchAdress == '' || !searchAdress) {
|
||||
jQuery('#cp_recherche').val(defaultZipCode);
|
||||
searchAdress = defaultZipCode;
|
||||
}
|
||||
|
||||
if ((typeof google) != "undefined") {
|
||||
var geocoder = new google.maps.Geocoder();
|
||||
geocoder.geocode({'address': searchAdress}, function(results, status) {
|
||||
if (status == google.maps.GeocoderStatus.OK) {
|
||||
glsMyPosition = results[0].geometry.location;
|
||||
//on met à jour la carte avec cette position
|
||||
loadMap();
|
||||
loadListePointRelais();
|
||||
} else {
|
||||
alert('Adresse invalide : ' + searchAdress);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
alert("Géolocalisation de l'adresse impossible, vérifiez votre connexion internet (Google inaccessible).");
|
||||
}
|
||||
}
|
||||
|
||||
function changeMap() {
|
||||
if (glsMyPosition != undefined) {
|
||||
loadListePointRelais();
|
||||
}
|
||||
}
|
||||
|
||||
function loadListePointRelais() {
|
||||
var searchAdress = jQuery('#cp_recherche').val();
|
||||
if (searchAdress == '' || !searchAdress) {
|
||||
jQuery('#cp_recherche').val(defaultZipCode);
|
||||
searchAdress = defaultZipCode;
|
||||
}
|
||||
|
||||
if (searchAdress) {
|
||||
$.ajax(
|
||||
{
|
||||
type: 'POST',
|
||||
url: baseDir + 'modules/gls/ajaxFront.php',
|
||||
data: {'method': 'getGLSRelayPointsForZipCode', 'zipcode': jQuery("#cp_recherche").val(), 'street': jQuery("#cp_street").val(), 'city': jQuery("#cp_city").val()},
|
||||
dataType: 'json',
|
||||
success: function(json)
|
||||
{
|
||||
if (!json) {
|
||||
alert(shipping_method_unavailable);
|
||||
} else {
|
||||
if (json.indexOf("gls_ws_error") <= 0) {
|
||||
clearMarkers();
|
||||
jQuery("#col_droite_gls").html(json);
|
||||
showGLSMap();
|
||||
} else {
|
||||
jQuery("#layer_gls_body .contenu").append(json);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function loadMap() {
|
||||
|
||||
mapOptions = {
|
||||
zoom: 10,
|
||||
center: glsMyPosition,
|
||||
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
||||
disableDefaultUI: true,
|
||||
zoomControlOptions: {
|
||||
position: google.maps.ControlPosition.RIGHT_TOP
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
jQuery('#layer_gls').appendTo('body').attr("id", "layer_gls_body");
|
||||
if (jQuery('#layer_gls').size()) {
|
||||
jQuery('#layer_gls').remove();
|
||||
}
|
||||
|
||||
//if( jQuery("#layer_gls_body").data("overlay") == null ) {
|
||||
|
||||
// if(prestashop1_6){
|
||||
// jQuery('#layer_gls_body').css('left','25%');
|
||||
// }
|
||||
if (jQuery('html').attr('class')) {
|
||||
if (jQuery('html').attr('class').indexOf("mobile")) {
|
||||
jQuery('#layer_gls_body').css('left', '0');
|
||||
}
|
||||
}
|
||||
//}
|
||||
//Ouverture de la popup
|
||||
jQuery("#layer_gls_body").popup('show');
|
||||
console.log('SHOWING');
|
||||
jQuery("#shipping-method-please-wait").hide();
|
||||
|
||||
}
|
||||
|
||||
function showGLSMap() {
|
||||
if ((typeof google) != "undefined") {
|
||||
var init = false;
|
||||
//google.maps.event.addListener(glsRelayMap, 'tilesloaded', function () {
|
||||
|
||||
// création de bornes vides...
|
||||
var bounds = new google.maps.LatLngBounds();
|
||||
|
||||
if (!init) {
|
||||
|
||||
jQuery('.gls_point_relay').each(function(index, element) {
|
||||
|
||||
var relayPosition = new google.maps.LatLng(jQuery(this).find('.GLS_relay_latitude').text(), jQuery(this).find('.GLS_relay_longitude').text());
|
||||
markerGLS = new google.maps.Marker({
|
||||
map: glsRelayMap,
|
||||
position: relayPosition,
|
||||
title: jQuery(this).find('.GLS_relay_name').text(),
|
||||
icon: (glsRelaisChoisi == jQuery(this).find('.GLS_relay_id').text()) ? baseDir + 'modules/gls/views/img/marker_current.png' : baseDir + 'modules/gls/views/img/marker.png'
|
||||
});
|
||||
infowindowGLS = infoGLSBulleGenerator(jQuery(this));
|
||||
|
||||
if (glsRelaisChoisi == jQuery(this).find('.GLS_relay_id').text()) {
|
||||
jQuery("#layer_gls_body .gls_point_relay").removeClass("current").eq(index).addClass("current");
|
||||
jQuery("#col_droite_gls").scrollTop(0).scrollTop(jQuery(".gls_point_relay").eq(index).position().top);
|
||||
}
|
||||
|
||||
// Ajout à la liste des markers
|
||||
glsMarkersArray.push(markerGLS);
|
||||
|
||||
attachGLSClick(markerGLS, infowindowGLS, index);
|
||||
|
||||
// ...étendues à chaque point...
|
||||
bounds.extend(relayPosition);
|
||||
|
||||
});
|
||||
|
||||
// ...pour voir tous les points
|
||||
if (glsRelayMap) {
|
||||
if (bounds) {
|
||||
glsRelayMap.fitBounds(bounds);
|
||||
}
|
||||
} else {
|
||||
unlockMapLoading();
|
||||
}
|
||||
}
|
||||
init = true;
|
||||
//});
|
||||
}
|
||||
|
||||
if (jQuery('#layer_gls_body').find('#map_gls').children().size() <= 0) {
|
||||
unlockMapLoading();
|
||||
}
|
||||
}
|
||||
|
||||
//générateur d'infobulle
|
||||
function infoGLSBulleGenerator(relay) {
|
||||
|
||||
contentString = '<div class="info-window">'
|
||||
|
||||
contentString += '<span class="store-name">' + relay.find('.GLS_relay_name').text() + '</span>';
|
||||
|
||||
contentString += '' +
|
||||
relay.find('.GLS_relay_address').text() + '<br/>' +
|
||||
relay.find('.GLS_relay_zipcode').text() + ' ' + relay.find('.GLS_relay_city').text();
|
||||
|
||||
contentString += relay.find('.GLS_relay_hours').html();
|
||||
|
||||
contentString += "<div class='button-wrapper'><a href='#' class='choose-relay-point' data-relayindex=" + relay.find('.GLS_relay_index').text() + " data-relayid=" + relay.find('.GLS_relay_id').text() + ">" + choose_this_parcel_shop + "</a></div>";
|
||||
|
||||
contentString += "</div>";
|
||||
|
||||
infowindow = new google.maps.InfoWindow({
|
||||
content: contentString
|
||||
});
|
||||
|
||||
return infowindow;
|
||||
}
|
||||
|
||||
|
||||
function attachGLSClick(markerGLS, infowindowGLS, index) {
|
||||
//Clic sur le relais dans la colonne de gauche
|
||||
jQuery("#gls_point_relay_" + index).on("click", function() {
|
||||
clickHandler(markerGLS, infowindowGLS, index);
|
||||
});
|
||||
|
||||
//Clic sur le marqueur du relais dans la carte
|
||||
google.maps.event.addListener(markerGLS, 'click', function() {
|
||||
clickHandler(markerGLS, infowindowGLS, index);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function clickHandler(markerGLS, infowindowGLS, index) {
|
||||
//fermer la derniere infobulle ouverte
|
||||
if (glsOpenedInfowindow) {
|
||||
glsOpenedInfowindow.close();
|
||||
jQuery("#layer_gls_body .gls_point_relay").removeClass("current");
|
||||
}
|
||||
//ouvrir l'infobulle
|
||||
infowindowGLS.open(glsRelayMap, markerGLS);
|
||||
glsOpenedInfowindow = infowindowGLS;
|
||||
|
||||
// Mise en évidence du relais dans la liste
|
||||
jQuery("#layer_gls_body .gls_point_relay").removeClass("current").eq(index).addClass("current");
|
||||
jQuery("#col_droite_gls").scrollTop(0).scrollTop(jQuery(".gls_point_relay").eq(index).position().top);
|
||||
|
||||
}
|
||||
|
||||
function choisirRelaisGLS(index) {
|
||||
|
||||
//resetShippingMethod();
|
||||
jQuery("select[name='shipping_address_id']").prop('selectedIndex', 0);
|
||||
jQuery("select[name='shipping_address_id'] option[value='']").prop('selectedIndex', 0);
|
||||
|
||||
if (jQuery("#sms_checkbox").is(":checked")) {
|
||||
v = document.getElementById("num_telephone").value;
|
||||
//if (!(/^0(6|7)\d{8}$/.test(v)) || (/^0(6|7)(0{8}|1{8}|2{8}|3{8}|4{8}|5{8}|6{8}|7{8}|8{8}|9{8}|12345678)$/.test(v)) ) {
|
||||
if (!v) {
|
||||
alert("Veuillez saisir un numéro de téléphone valide (portable de préférence).");
|
||||
return;
|
||||
}
|
||||
}
|
||||
var contenu_html = "<div id='gls_relais_choisi'><span>" + jQuery('#gls_point_relay_' + index).find('.GLS_relay_name').text() + "</span>" + " <span class='modifier_relay'>" + change_parcelshop + "</span>" + "<br/>" + jQuery('#gls_point_relay_' + index).find('.GLS_relay_address').text() + "<br/>" + jQuery('#gls_point_relay_' + index).find('.GLS_relay_zipcode').text() + " " + jQuery('#gls_point_relay_' + index).find('.GLS_relay_city').text() + "</div>";
|
||||
jQuery('#gls_relais_choisi').remove();
|
||||
|
||||
if (prestashop1_6) {
|
||||
if (jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').parent().parent().parent().next().next().size() < 1) {
|
||||
jQuery('body').find('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').parent().parent().find('.delivery_option_title').append(contenu_html);
|
||||
} else {
|
||||
jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').parent().parent().parent().next().next().append(contenu_html);
|
||||
}
|
||||
} else {
|
||||
if (jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').next().size()) {
|
||||
jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').next().find('.delivery_option_title').parent().append(contenu_html);
|
||||
} else {
|
||||
jQuery('body').find('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').parent().parent().find('.delivery_option_title').append(contenu_html);
|
||||
}
|
||||
}
|
||||
/* On stock en session les informations du relais */
|
||||
|
||||
if (jQuery("#sms_checkbox").is(":checked") && jQuery("#num_telephone").val() != "") {
|
||||
var warnbyphone = 1;
|
||||
} else {
|
||||
var warnbyphone = 0;
|
||||
}
|
||||
|
||||
glsRelaisChoisi = jQuery('#gls_point_relay_' + index).find('.GLS_relay_id').text();
|
||||
|
||||
// On fait la sauvegarde de la méthode de livraison
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: baseDir + 'modules/gls/ajaxFront.php',
|
||||
data: {
|
||||
'method': 'saveDeliveryDetails', // <-- just pass an object
|
||||
name: jQuery('#gls_point_relay_' + index).find('.GLS_relay_name').text(),
|
||||
address: jQuery('#gls_point_relay_' + index).find('.GLS_relay_address').text(),
|
||||
city: jQuery('#gls_point_relay_' + index).find('.GLS_relay_city').text(),
|
||||
zipcode: jQuery('#gls_point_relay_' + index).find('.GLS_relay_zipcode').text(),
|
||||
relayId: jQuery('#gls_point_relay_' + index).find('.GLS_relay_id').text(),
|
||||
phone: jQuery("#num_telephone").val(),
|
||||
warnbyphone: warnbyphone,
|
||||
},
|
||||
dataType: 'json',
|
||||
success: function() {
|
||||
// On cache le layer
|
||||
jQuery("#layer_gls_body").popup('hide');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function resetPointRelay() {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: baseDir + 'modules/gls/ajaxFront.php',
|
||||
data: {
|
||||
'method': 'resetDeliveryDetails'
|
||||
},
|
||||
dataType: 'json',
|
||||
success: function() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//Récupération du relais eventuellement déjà choisi
|
||||
function getPreviouslyChoosenRelay() {
|
||||
|
||||
if ($('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').next().find('.delivery_option_title').size() > 0) {
|
||||
prestashop1_6 = false;
|
||||
} else {
|
||||
prestashop1_6 = true;
|
||||
}
|
||||
|
||||
$.ajax(
|
||||
{
|
||||
type: 'POST',
|
||||
url: baseDir + 'modules/gls/ajaxFront.php',
|
||||
data: {'method': 'getChoosenRelay'},
|
||||
dataType: 'json',
|
||||
success: function(json)
|
||||
{
|
||||
if (json.relay_name != 'undefined' && json.relay_name != undefined && json.relay_name != "undefined ") {
|
||||
var contenu_html = "<div id='gls_relais_choisi'><span>" + json.relay_name + "</span>" + " <span class='modifier_relay'>" + change_parcelshop + "</span>" + "<br/>" + json.relay_address + "<br/>" + json.relay_zipcode + " " + json.relay_town + "</div>";
|
||||
jQuery('#gls_relais_choisi').remove();
|
||||
if (prestashop1_6) {
|
||||
if (jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').parent().parent().parent().next().next().size() < 1) {
|
||||
jQuery('body').find('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').parent().parent().find('.delivery_option_title').append(contenu_html);
|
||||
} else {
|
||||
jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').parent().parent().parent().next().next().append(contenu_html);
|
||||
}
|
||||
} else {
|
||||
if (jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').next().size()) {
|
||||
jQuery('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').next().find('.delivery_option_title').parent().append(contenu_html);
|
||||
} else {
|
||||
jQuery('body').find('.delivery_option_radio[value="' + glsCarrierRelayId + ',"]').parent().parent().find('.delivery_option_title').append(contenu_html);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
jQuery('#gls_relais_choisi').remove();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function unlockMapLoading() {
|
||||
|
||||
mapOptions = {
|
||||
zoom: 10,
|
||||
center: glsMyPosition,
|
||||
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
||||
disableDefaultUI: true,
|
||||
zoomControlOptions: {
|
||||
position: google.maps.ControlPosition.RIGHT_TOP
|
||||
}
|
||||
}
|
||||
|
||||
glsRelayMap = new google.maps.Map(document.getElementById('map_gls'), mapOptions);
|
||||
geocodeGLSAdresse();
|
||||
}
|
||||
|
||||
|
||||
|
28
modules/gls/views/js/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
786
modules/gls/views/js/jquery.popupoverlay.js
Normal file
@ -0,0 +1,786 @@
|
||||
/*!
|
||||
* jQuery Popup Overlay
|
||||
*
|
||||
* @version 1.7.6
|
||||
* @requires jQuery v1.7.1+
|
||||
* @link http://vast-engineering.github.com/jquery-popup-overlay/
|
||||
*/
|
||||
;(function ($) {
|
||||
|
||||
var $window = $(window);
|
||||
var options = {};
|
||||
var zindexvalues = [];
|
||||
var lastclicked = [];
|
||||
var scrollbarwidth;
|
||||
var bodymarginright = null;
|
||||
var opensuffix = '_open';
|
||||
var closesuffix = '_close';
|
||||
var stack = [];
|
||||
var transitionsupport = null;
|
||||
var opentimer;
|
||||
var iOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent);
|
||||
|
||||
var methods = {
|
||||
|
||||
_init: function (el) {
|
||||
var $el = $(el);
|
||||
var options = $el.data('popupoptions');
|
||||
lastclicked[el.id] = false;
|
||||
zindexvalues[el.id] = 0;
|
||||
|
||||
if (!$el.data('popup-initialized')) {
|
||||
$el.attr('data-popup-initialized', 'true');
|
||||
methods._initonce(el);
|
||||
}
|
||||
|
||||
if (options.autoopen) {
|
||||
setTimeout(function() {
|
||||
methods.show(el, 0);
|
||||
}, 0);
|
||||
}
|
||||
},
|
||||
|
||||
_initonce: function (el) {
|
||||
var $el = $(el);
|
||||
var $body = $('body');
|
||||
var $wrapper;
|
||||
var options = $el.data('popupoptions');
|
||||
var css;
|
||||
|
||||
bodymarginright = parseInt($body.css('margin-right'), 10);
|
||||
transitionsupport = document.body.style.webkitTransition !== undefined ||
|
||||
document.body.style.MozTransition !== undefined ||
|
||||
document.body.style.msTransition !== undefined ||
|
||||
document.body.style.OTransition !== undefined ||
|
||||
document.body.style.transition !== undefined;
|
||||
|
||||
if (options.type == 'tooltip') {
|
||||
options.background = false;
|
||||
options.scrolllock = false;
|
||||
}
|
||||
|
||||
if (options.backgroundactive) {
|
||||
options.background = false;
|
||||
options.blur = false;
|
||||
options.scrolllock = false;
|
||||
}
|
||||
|
||||
if (options.scrolllock) {
|
||||
// Calculate the browser's scrollbar width dynamically
|
||||
var parent;
|
||||
var child;
|
||||
if (typeof scrollbarwidth === 'undefined') {
|
||||
parent = $('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body');
|
||||
child = parent.children();
|
||||
scrollbarwidth = child.innerWidth() - child.height(99).innerWidth();
|
||||
parent.remove();
|
||||
}
|
||||
}
|
||||
|
||||
if (!$el.attr('id')) {
|
||||
$el.attr('id', 'j-popup-' + parseInt((Math.random() * 100000000), 10));
|
||||
}
|
||||
|
||||
$el.addClass('popup_content');
|
||||
|
||||
$body.prepend(el);
|
||||
|
||||
$el.wrap('<div id="' + el.id + '_wrapper" class="popup_wrapper" />');
|
||||
|
||||
$wrapper = $('#' + el.id + '_wrapper');
|
||||
|
||||
$wrapper.css({
|
||||
opacity: 0,
|
||||
visibility: 'hidden',
|
||||
position: 'absolute'
|
||||
});
|
||||
|
||||
// Make div clickable in iOS
|
||||
if (iOS) {
|
||||
$wrapper.css('cursor', 'pointer');
|
||||
}
|
||||
|
||||
if (options.type == 'overlay') {
|
||||
$wrapper.css('overflow','auto');
|
||||
}
|
||||
|
||||
$el.css({
|
||||
opacity: 0,
|
||||
visibility: 'hidden',
|
||||
display: 'inline-block'
|
||||
});
|
||||
|
||||
if (options.setzindex && !options.autozindex) {
|
||||
$wrapper.css('z-index', '100001');
|
||||
}
|
||||
|
||||
if (!options.outline) {
|
||||
$el.css('outline', 'none');
|
||||
}
|
||||
|
||||
if (options.transition) {
|
||||
$el.css('transition', options.transition);
|
||||
$wrapper.css('transition', options.transition);
|
||||
}
|
||||
|
||||
// Hide popup content from screen readers initially
|
||||
$el.attr('aria-hidden', true);
|
||||
|
||||
if ((options.background) && (!$('#' + el.id + '_background').length)) {
|
||||
|
||||
$body.prepend('<div id="' + el.id + '_background" class="popup_background"></div>');
|
||||
|
||||
var $background = $('#' + el.id + '_background');
|
||||
|
||||
$background.css({
|
||||
opacity: 0,
|
||||
visibility: 'hidden',
|
||||
backgroundColor: options.color,
|
||||
position: 'fixed',
|
||||
top: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
left: 0
|
||||
});
|
||||
|
||||
if (options.setzindex && !options.autozindex) {
|
||||
$background.css('z-index', '100000');
|
||||
}
|
||||
|
||||
if (options.transition) {
|
||||
$background.css('transition', options.transition);
|
||||
}
|
||||
}
|
||||
|
||||
if (options.type == 'overlay') {
|
||||
$el.css({
|
||||
textAlign: 'left',
|
||||
position: 'relative',
|
||||
verticalAlign: 'middle'
|
||||
});
|
||||
|
||||
css = {
|
||||
position: 'fixed',
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
top: 0,
|
||||
left: 0,
|
||||
textAlign: 'center'
|
||||
};
|
||||
|
||||
if(options.backgroundactive){
|
||||
css.position = 'relative';
|
||||
css.height = '0';
|
||||
css.overflow = 'visible';
|
||||
}
|
||||
|
||||
$wrapper.css(css);
|
||||
|
||||
// CSS vertical align helper
|
||||
$wrapper.append('<div class="popup_align" />');
|
||||
|
||||
$('.popup_align').css({
|
||||
display: 'inline-block',
|
||||
verticalAlign: 'middle',
|
||||
height: '100%'
|
||||
});
|
||||
}
|
||||
|
||||
// Add WAI ARIA role to announce dialog to screen readers
|
||||
$el.attr('role', 'dialog');
|
||||
|
||||
var openelement = (options.openelement) ? options.openelement : ('.' + el.id + opensuffix);
|
||||
|
||||
$(openelement).each(function (i, item) {
|
||||
$(item).attr('data-popup-ordinal', i);
|
||||
|
||||
if (!item.id) {
|
||||
$(item).attr('id', 'open_' + parseInt((Math.random() * 100000000), 10));
|
||||
}
|
||||
});
|
||||
|
||||
// Set aria-labelledby (if aria-label or aria-labelledby is not set in html)
|
||||
if (!($el.attr('aria-labelledby') || $el.attr('aria-label'))) {
|
||||
$el.attr('aria-labelledby', $(openelement).attr('id'));
|
||||
}
|
||||
|
||||
// Show and hide tooltips on hover
|
||||
if(options.action == 'hover'){
|
||||
options.keepfocus = false;
|
||||
|
||||
// Handler: mouseenter, focusin
|
||||
$(openelement).on('mouseenter', function (event) {
|
||||
methods.show(el, $(this).data('popup-ordinal'));
|
||||
});
|
||||
|
||||
// Handler: mouseleave, focusout
|
||||
$(openelement).on('mouseleave', function (event) {
|
||||
methods.hide(el);
|
||||
});
|
||||
|
||||
} else {
|
||||
|
||||
// Handler: Show popup when clicked on `open` element
|
||||
$(document).on('click', openelement, function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var ord = $(this).data('popup-ordinal');
|
||||
setTimeout(function() { // setTimeout is to allow `close` method to finish (for issues with multiple tooltips)
|
||||
methods.show(el, ord);
|
||||
}, 0);
|
||||
});
|
||||
}
|
||||
|
||||
if (options.closebutton) {
|
||||
methods.addclosebutton(el);
|
||||
}
|
||||
|
||||
if (options.detach) {
|
||||
$el.hide().detach();
|
||||
} else {
|
||||
$wrapper.hide();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Show method
|
||||
*
|
||||
* @param {object} el - popup instance DOM node
|
||||
* @param {number} ordinal - order number of an `open` element
|
||||
*/
|
||||
show: function (el, ordinal) {
|
||||
var $el = $(el);
|
||||
|
||||
if ($el.data('popup-visible')) return;
|
||||
|
||||
// Initialize if not initialized. Required for: $('#popup').popup('show')
|
||||
if (!$el.data('popup-initialized')) {
|
||||
methods._init(el);
|
||||
}
|
||||
$el.attr('data-popup-initialized', 'true');
|
||||
|
||||
var $body = $('body');
|
||||
var options = $el.data('popupoptions');
|
||||
var $wrapper = $('#' + el.id + '_wrapper');
|
||||
var $background = $('#' + el.id + '_background');
|
||||
|
||||
// `beforeopen` callback event
|
||||
callback(el, ordinal, options.beforeopen);
|
||||
|
||||
// Remember last clicked place
|
||||
lastclicked[el.id] = ordinal;
|
||||
|
||||
// Add popup id to popup stack
|
||||
setTimeout(function() {
|
||||
stack.push(el.id);
|
||||
}, 0);
|
||||
|
||||
// Calculating maximum z-index
|
||||
if (options.autozindex) {
|
||||
|
||||
var elements = document.getElementsByTagName('*');
|
||||
var len = elements.length;
|
||||
var maxzindex = 0;
|
||||
|
||||
for(var i=0; i<len; i++){
|
||||
|
||||
var elementzindex = $(elements[i]).css('z-index');
|
||||
|
||||
if(elementzindex !== 'auto'){
|
||||
|
||||
elementzindex = parseInt(elementzindex, 10);
|
||||
|
||||
if(maxzindex < elementzindex){
|
||||
maxzindex = elementzindex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
zindexvalues[el.id] = maxzindex;
|
||||
|
||||
// Add z-index to the background
|
||||
if (options.background) {
|
||||
if (zindexvalues[el.id] > 0) {
|
||||
$('#' + el.id + '_background').css({
|
||||
zIndex: (zindexvalues[el.id] + 1)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Add z-index to the wrapper
|
||||
if (zindexvalues[el.id] > 0) {
|
||||
$wrapper.css({
|
||||
zIndex: (zindexvalues[el.id] + 2)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (options.detach) {
|
||||
$wrapper.prepend(el);
|
||||
$el.show();
|
||||
} else {
|
||||
$wrapper.show();
|
||||
}
|
||||
|
||||
opentimer = setTimeout(function() {
|
||||
$wrapper.css({
|
||||
visibility: 'visible',
|
||||
opacity: 1
|
||||
});
|
||||
|
||||
$('html').addClass('popup_visible').addClass('popup_visible_' + el.id);
|
||||
$wrapper.addClass('popup_wrapper_visible');
|
||||
}, 20); // 20ms required for opening animation to occur in FF
|
||||
|
||||
// Disable background layer scrolling when popup is opened
|
||||
if (options.scrolllock) {
|
||||
$body.css('overflow', 'hidden');
|
||||
if ($body.height() > $window.height()) {
|
||||
$body.css('margin-right', bodymarginright + scrollbarwidth);
|
||||
}
|
||||
}
|
||||
|
||||
if(options.backgroundactive){
|
||||
//calculates the vertical align
|
||||
$el.css({
|
||||
top:(
|
||||
$window.height() - (
|
||||
$el.get(0).offsetHeight +
|
||||
parseInt($el.css('margin-top'), 10) +
|
||||
parseInt($el.css('margin-bottom'), 10)
|
||||
)
|
||||
)/2 +'px'
|
||||
});
|
||||
}
|
||||
|
||||
$el.css({
|
||||
'visibility': 'visible',
|
||||
'opacity': 1
|
||||
});
|
||||
|
||||
// Show background
|
||||
if (options.background) {
|
||||
$background.css({
|
||||
'visibility': 'visible',
|
||||
'opacity': options.opacity
|
||||
});
|
||||
|
||||
// Fix IE8 issue with background not appearing
|
||||
setTimeout(function() {
|
||||
$background.css({
|
||||
'opacity': options.opacity
|
||||
});
|
||||
}, 0);
|
||||
}
|
||||
|
||||
$el.data('popup-visible', true);
|
||||
|
||||
// Position popup
|
||||
methods.reposition(el, ordinal);
|
||||
|
||||
// Remember which element had focus before opening a popup
|
||||
$el.data('focusedelementbeforepopup', document.activeElement);
|
||||
|
||||
// Handler: Keep focus inside dialog box
|
||||
if (options.keepfocus) {
|
||||
// Make holder div focusable
|
||||
$el.attr('tabindex', -1);
|
||||
|
||||
// Focus popup or user specified element.
|
||||
// Initial timeout of 50ms is set to give some time to popup to show after clicking on
|
||||
// `open` element, and after animation is complete to prevent background scrolling.
|
||||
setTimeout(function() {
|
||||
if (options.focuselement === 'closebutton') {
|
||||
$('#' + el.id + ' .' + el.id + closesuffix + ':first').focus();
|
||||
} else if (options.focuselement) {
|
||||
$(options.focuselement).focus();
|
||||
} else {
|
||||
$el.focus();
|
||||
}
|
||||
}, options.focusdelay);
|
||||
|
||||
}
|
||||
|
||||
// Hide main content from screen readers
|
||||
$(options.pagecontainer).attr('aria-hidden', true);
|
||||
|
||||
// Reveal popup content to screen readers
|
||||
$el.attr('aria-hidden', false);
|
||||
|
||||
callback(el, ordinal, options.onopen);
|
||||
|
||||
if (transitionsupport) {
|
||||
$wrapper.one('transitionend', function() {
|
||||
callback(el, ordinal, options.opentransitionend);
|
||||
});
|
||||
} else {
|
||||
callback(el, ordinal, options.opentransitionend);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Hide method
|
||||
*
|
||||
* @param {object} el - popup instance DOM node
|
||||
*/
|
||||
hide: function (el) {
|
||||
if(opentimer) clearTimeout(opentimer);
|
||||
|
||||
var $body = $('body');
|
||||
var $el = $(el);
|
||||
var options = $el.data('popupoptions');
|
||||
var $wrapper = $('#' + el.id + '_wrapper');
|
||||
var $background = $('#' + el.id + '_background');
|
||||
|
||||
$el.data('popup-visible', false);
|
||||
|
||||
|
||||
if (stack.length === 1) {
|
||||
$('html').removeClass('popup_visible').removeClass('popup_visible_' + el.id);
|
||||
} else {
|
||||
if($('html').hasClass('popup_visible_' + el.id)) {
|
||||
$('html').removeClass('popup_visible_' + el.id);
|
||||
}
|
||||
}
|
||||
|
||||
// Remove last opened popup from the stack
|
||||
stack.pop();
|
||||
|
||||
if($wrapper.hasClass('popup_wrapper_visible')) {
|
||||
$wrapper.removeClass('popup_wrapper_visible');
|
||||
}
|
||||
|
||||
if (options.keepfocus) {
|
||||
// Focus back on saved element
|
||||
setTimeout(function() {
|
||||
if ($($el.data('focusedelementbeforepopup')).is(':visible')) {
|
||||
$el.data('focusedelementbeforepopup').focus();
|
||||
}
|
||||
}, 0);
|
||||
}
|
||||
|
||||
// Hide popup
|
||||
$wrapper.css({
|
||||
'visibility': 'hidden',
|
||||
'opacity': 0
|
||||
});
|
||||
$el.css({
|
||||
'visibility': 'hidden',
|
||||
'opacity': 0
|
||||
});
|
||||
|
||||
// Hide background
|
||||
if (options.background) {
|
||||
$background.css({
|
||||
'visibility': 'hidden',
|
||||
'opacity': 0
|
||||
});
|
||||
}
|
||||
|
||||
// Reveal main content to screen readers
|
||||
$(options.pagecontainer).attr('aria-hidden', false);
|
||||
|
||||
// Hide popup content from screen readers
|
||||
$el.attr('aria-hidden', true);
|
||||
|
||||
// `onclose` callback event
|
||||
callback(el, lastclicked[el.id], options.onclose);
|
||||
|
||||
if (transitionsupport && $el.css('transition-duration') !== '0s') {
|
||||
$el.one('transitionend', function(e) {
|
||||
|
||||
if (!($el.data('popup-visible'))) {
|
||||
if (options.detach) {
|
||||
$el.hide().detach();
|
||||
} else {
|
||||
$wrapper.hide();
|
||||
}
|
||||
}
|
||||
|
||||
// Re-enable scrolling of background layer
|
||||
if (options.scrolllock) {
|
||||
setTimeout(function() {
|
||||
$body.css({
|
||||
overflow: 'visible',
|
||||
'margin-right': bodymarginright
|
||||
});
|
||||
}, 10); // 10ms added for CSS transition in Firefox which doesn't like overflow:auto
|
||||
}
|
||||
|
||||
callback(el, lastclicked[el.id], options.closetransitionend);
|
||||
});
|
||||
} else {
|
||||
if (options.detach) {
|
||||
$el.hide().detach();
|
||||
} else {
|
||||
$wrapper.hide();
|
||||
}
|
||||
|
||||
// Re-enable scrolling of background layer
|
||||
if (options.scrolllock) {
|
||||
setTimeout(function() {
|
||||
$body.css({
|
||||
overflow: 'visible',
|
||||
'margin-right': bodymarginright
|
||||
});
|
||||
}, 10); // 10ms added for CSS transition in Firefox which doesn't like overflow:auto
|
||||
}
|
||||
|
||||
callback(el, lastclicked[el.id], options.closetransitionend);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Toggle method
|
||||
*
|
||||
* @param {object} el - popup instance DOM node
|
||||
* @param {number} ordinal - order number of an `open` element
|
||||
*/
|
||||
toggle: function (el, ordinal) {
|
||||
if ($(el).data('popup-visible')) {
|
||||
methods.hide(el);
|
||||
} else {
|
||||
setTimeout(function() {
|
||||
methods.show(el, ordinal);
|
||||
}, 0);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Reposition method
|
||||
*
|
||||
* @param {object} el - popup instance DOM node
|
||||
* @param {number} ordinal - order number of an `open` element
|
||||
*/
|
||||
reposition: function (el, ordinal) {
|
||||
var $el = $(el);
|
||||
var options = $el.data('popupoptions');
|
||||
var $wrapper = $('#' + el.id + '_wrapper');
|
||||
var $background = $('#' + el.id + '_background');
|
||||
|
||||
ordinal = ordinal || 0;
|
||||
|
||||
// Tooltip type
|
||||
if (options.type == 'tooltip') {
|
||||
$wrapper.css({
|
||||
'position': 'absolute'
|
||||
});
|
||||
|
||||
var $tooltipanchor;
|
||||
if (options.tooltipanchor) {
|
||||
$tooltipanchor = $(options.tooltipanchor);
|
||||
} else if (options.openelement) {
|
||||
$tooltipanchor = $(options.openelement).filter('[data-popup-ordinal="' + ordinal + '"]');
|
||||
} else {
|
||||
$tooltipanchor = $('.' + el.id + opensuffix + '[data-popup-ordinal="' + ordinal + '"]');
|
||||
}
|
||||
|
||||
var linkOffset = $tooltipanchor.offset();
|
||||
|
||||
// Horizontal position for tooltip
|
||||
if (options.horizontal == 'right') {
|
||||
$wrapper.css('left', linkOffset.left + $tooltipanchor.outerWidth() + options.offsetleft);
|
||||
} else if (options.horizontal == 'leftedge') {
|
||||
$wrapper.css('left', linkOffset.left + $tooltipanchor.outerWidth() - $tooltipanchor.outerWidth() + options.offsetleft);
|
||||
} else if (options.horizontal == 'left') {
|
||||
$wrapper.css('right', $window.width() - linkOffset.left - options.offsetleft);
|
||||
} else if (options.horizontal == 'rightedge') {
|
||||
$wrapper.css('right', $window.width() - linkOffset.left - $tooltipanchor.outerWidth() - options.offsetleft);
|
||||
} else {
|
||||
$wrapper.css('left', linkOffset.left + ($tooltipanchor.outerWidth() / 2) - ($el.outerWidth() / 2) - parseFloat($el.css('marginLeft')) + options.offsetleft);
|
||||
}
|
||||
|
||||
// Vertical position for tooltip
|
||||
if (options.vertical == 'bottom') {
|
||||
$wrapper.css('top', linkOffset.top + $tooltipanchor.outerHeight() + options.offsettop);
|
||||
} else if (options.vertical == 'bottomedge') {
|
||||
$wrapper.css('top', linkOffset.top + $tooltipanchor.outerHeight() - $el.outerHeight() + options.offsettop);
|
||||
} else if (options.vertical == 'top') {
|
||||
$wrapper.css('bottom', $window.height() - linkOffset.top - options.offsettop);
|
||||
} else if (options.vertical == 'topedge') {
|
||||
$wrapper.css('bottom', $window.height() - linkOffset.top - $el.outerHeight() - options.offsettop);
|
||||
} else {
|
||||
$wrapper.css('top', linkOffset.top + ($tooltipanchor.outerHeight() / 2) - ($el.outerHeight() / 2) - parseFloat($el.css('marginTop')) + options.offsettop);
|
||||
}
|
||||
|
||||
// Overlay type
|
||||
} else if (options.type == 'overlay') {
|
||||
|
||||
// Horizontal position for overlay
|
||||
if (options.horizontal) {
|
||||
$wrapper.css('text-align', options.horizontal);
|
||||
} else {
|
||||
$wrapper.css('text-align', 'center');
|
||||
}
|
||||
|
||||
// Vertical position for overlay
|
||||
if (options.vertical) {
|
||||
$el.css('vertical-align', options.vertical);
|
||||
} else {
|
||||
$el.css('vertical-align', 'middle');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Add-close-button method
|
||||
*
|
||||
* @param {object} el - popup instance DOM node
|
||||
*/
|
||||
addclosebutton: function (el) {
|
||||
var genericCloseButton;
|
||||
|
||||
if ($(el).data('popupoptions').closebuttonmarkup) {
|
||||
genericCloseButton = $(options.closebuttonmarkup).addClass(el.id + '_close');
|
||||
} else {
|
||||
genericCloseButton = '<button class="popup_close ' + el.id + '_close" title="Close" aria-label="Close"><span aria-hidden="true">×</span></button>';
|
||||
}
|
||||
|
||||
if ($el.data('popup-initialized')){
|
||||
$el.append(genericCloseButton);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Callback event calls
|
||||
*
|
||||
* @param {object} el - popup instance DOM node
|
||||
* @param {number} ordinal - order number of an `open` element
|
||||
* @param {function} func - callback function
|
||||
*/
|
||||
var callback = function (el, ordinal, func) {
|
||||
var options = $(el).data('popupoptions');
|
||||
var openelement = (options.openelement) ? options.openelement : ('.' + el.id + opensuffix);
|
||||
var elementclicked = $(openelement + '[data-popup-ordinal="' + ordinal + '"]');
|
||||
if (typeof func == 'function') {
|
||||
func.call($(el), el, elementclicked);
|
||||
}
|
||||
};
|
||||
|
||||
// Hide popup if ESC key is pressed
|
||||
$(document).on('keydown', function (event) {
|
||||
if(stack.length) {
|
||||
var elementId = stack[stack.length - 1];
|
||||
var el = document.getElementById(elementId);
|
||||
|
||||
if ($(el).data('popupoptions').escape && event.keyCode == 27) {
|
||||
methods.hide(el);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Hide popup on click
|
||||
$(document).on('click', function (event) {
|
||||
if(stack.length) {
|
||||
var elementId = stack[stack.length - 1];
|
||||
var el = document.getElementById(elementId);
|
||||
var closeButton = ($(el).data('popupoptions').closeelement) ? $(el).data('popupoptions').closeelement : ('.' + el.id + closesuffix);
|
||||
|
||||
// Click on Close button
|
||||
if ($(event.target).closest(closeButton).length) {
|
||||
event.preventDefault();
|
||||
methods.hide(el);
|
||||
}
|
||||
|
||||
// Click outside of popup
|
||||
if ($(el).data('popupoptions').blur && !$(event.target).closest('#' + elementId).length && event.which !== 2 && $(event.target).is(':visible')) {
|
||||
methods.hide(el);
|
||||
|
||||
if ($(el).data('popupoptions').type === 'overlay') {
|
||||
event.preventDefault(); // iOS will trigger click on the links below the overlay when clicked on the overlay if we don't prevent default action
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Keep keyboard focus inside of popup
|
||||
$(document).on('focusin', function(event) {
|
||||
if(stack.length) {
|
||||
var elementId = stack[stack.length - 1];
|
||||
var el = document.getElementById(elementId);
|
||||
|
||||
if ($(el).data('popupoptions').keepfocus) {
|
||||
if (!el.contains(event.target)) {
|
||||
event.stopPropagation();
|
||||
el.focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Plugin API
|
||||
*/
|
||||
$.fn.popup = function (customoptions) {
|
||||
return this.each(function () {
|
||||
|
||||
$el = $(this);
|
||||
|
||||
if (typeof customoptions === 'object') { // e.g. $('#popup').popup({'color':'blue'})
|
||||
var opt = $.extend({}, $.fn.popup.defaults, customoptions);
|
||||
$el.data('popupoptions', opt);
|
||||
options = $el.data('popupoptions');
|
||||
|
||||
methods._init(this);
|
||||
|
||||
} else if (typeof customoptions === 'string') { // e.g. $('#popup').popup('hide')
|
||||
if (!($el.data('popupoptions'))) {
|
||||
$el.data('popupoptions', $.fn.popup.defaults);
|
||||
options = $el.data('popupoptions');
|
||||
}
|
||||
|
||||
methods[customoptions].call(this, this);
|
||||
|
||||
} else { // e.g. $('#popup').popup()
|
||||
if (!($el.data('popupoptions'))) {
|
||||
$el.data('popupoptions', $.fn.popup.defaults);
|
||||
options = $el.data('popupoptions');
|
||||
}
|
||||
|
||||
methods._init(this);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.popup.defaults = {
|
||||
type: 'overlay',
|
||||
autoopen: false,
|
||||
background: true,
|
||||
backgroundactive: false,
|
||||
color: 'black',
|
||||
opacity: '0.5',
|
||||
horizontal: 'center',
|
||||
vertical: 'middle',
|
||||
offsettop: 0,
|
||||
offsetleft: 0,
|
||||
escape: true,
|
||||
blur: true,
|
||||
setzindex: true,
|
||||
autozindex: false,
|
||||
scrolllock: false,
|
||||
closebutton: false,
|
||||
closebuttonmarkup: null,
|
||||
keepfocus: true,
|
||||
focuselement: null,
|
||||
focusdelay: 50,
|
||||
outline: false,
|
||||
pagecontainer: null,
|
||||
detach: false,
|
||||
openelement: null,
|
||||
closeelement: null,
|
||||
transition: null,
|
||||
tooltipanchor: null,
|
||||
beforeopen: null,
|
||||
onclose: null,
|
||||
onopen: null,
|
||||
opentransitionend: null,
|
||||
closetransitionend: null
|
||||
};
|
||||
|
||||
})(jQuery);
|
33
modules/gls/views/templates/admin/post_action.tpl
Normal file
@ -0,0 +1,33 @@
|
||||
{*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
{if $GLS_error_list|count}
|
||||
<div class="alert error">
|
||||
{$GLS_error_list|count} {l s='error(s)' mod='gls'}
|
||||
<ul>
|
||||
{foreach from=$GLS_error_list key=error_num item=error_message}
|
||||
<li>{$error_message}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{elseif $GLS_form_action.type|strlen != 0}
|
||||
<div class="conf confirm alert alert-success">
|
||||
{$GLS_form_action.message_success}
|
||||
</div>
|
||||
{/if}
|
38
modules/gls/views/templates/hook/bo-header.tpl
Normal file
@ -0,0 +1,38 @@
|
||||
{*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
|
||||
{if isset($ps_version) && $ps_version == '1.5'}
|
||||
<link rel='stylesheet' href='{$new_gls_base_dir}views/css/style.css' type='text/css' media='all' />
|
||||
|
||||
{* If jQuery is not already loaded. We include it. *}
|
||||
<script type="text/javascript">
|
||||
if (typeof jQuery == 'undefined') {
|
||||
document.write('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></' + 'script>');
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type='text/javascript' src='{$new_gls_base_dir}views/js/gls.js'></script>
|
||||
{/if}
|
||||
|
||||
<script type="text/javascript">
|
||||
var PS_GLS_ACCOUNT_SET = {if $GLS_account_set}true{else}false{/if};
|
||||
var _PS_GLS_MODULE_DIR_ = "{$new_gls_base_dir}";
|
||||
var glstoken = "{$GLS_token}";
|
||||
</script>
|
57
modules/gls/views/templates/hook/checkout_process.tpl
Normal file
@ -0,0 +1,57 @@
|
||||
{*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
// Global JS Value
|
||||
var PS_GLSData = {$GLS_Data|@json_encode};
|
||||
|
||||
</script>
|
||||
{*if $GLS_Data.PS_VERSION >= '1.5' && !isset($GLS_Data.carrier)}
|
||||
{l s='GLS relay can\'t fetch any replay point due to prestashop error' mod='gls'}
|
||||
{/if*}
|
||||
|
||||
<div id="shipping-method-please-wait" style="display:none"></div>
|
||||
|
||||
<div id="layer_gls">
|
||||
<div>
|
||||
<h3>{l s='Choose Mondial Relay ParcelShop' mod='gls'} </h3><a class="layer_gls_close layer_gls_body_close close"></a>
|
||||
<div class="contenu">
|
||||
<div id="gls_headers">
|
||||
<div class="left">
|
||||
<span>{l s='Your zipcode' mod='gls'}</span>
|
||||
<input type="text" data-role="none" id="cp_recherche" value=""/>
|
||||
<span>{l s='Your street' mod='gls'}</span>
|
||||
<input type="text" data-role="none" id="cp_street" value=""/>
|
||||
<span>{l s='Your city' mod='gls'}</span>
|
||||
<input type="text" data-role="none" id="cp_city" value=""/>
|
||||
<button data-role="none" id="cp_recherche_bouton" onclick="geocodeGLSAdresse()">{l s='Search' mod='gls'}</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
<label><input data-role="none" type="checkbox" id="sms_checkbox" checked="checked"/>{l s='To receive an sms when delivery is done' mod='gls'}</label>
|
||||
<input data-role="none" type="text" id="num_telephone" class="valid-telephone-portable"/>
|
||||
</div>
|
||||
</div>
|
||||
<div id="col_gauche_gls">
|
||||
<div id="map_gls"></div>
|
||||
</div>
|
||||
<div id="col_droite_gls"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
36
modules/gls/views/templates/hook/checkout_process_errors.tpl
Normal file
@ -0,0 +1,36 @@
|
||||
{*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
// Global JS Value
|
||||
var PS_GLSData = {$GLS_Data};
|
||||
|
||||
// literal for smarty v2 compatibility
|
||||
$(document).ready(function() {literal}{{/literal}
|
||||
PS_GLSObject.initFront();
|
||||
{literal}}{/literal});
|
||||
|
||||
</script>
|
||||
|
||||
{*if $GLS_Data.PS_VERSION >= '1.5' && !$GLS_Data.carrier}
|
||||
{l s='GLS relay can\'t fetch any replay point due to prestashop error' mod='gls'}
|
||||
{/if*}
|
||||
|
||||
<div id="shipping-method-please-wait">Les détails du compte GLS ne sont pas remplis</div>
|
144
modules/gls/views/templates/hook/configure.tpl
Normal file
@ -0,0 +1,144 @@
|
||||
{*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
<script type="text/javascript">
|
||||
var PS_GLS_SELECTED_TAB = 'account_form';
|
||||
</script>
|
||||
<h2>{l s='GLS Configuration' mod='gls'}</h2>
|
||||
|
||||
{include file="$GLS_local_path/views/templates/admin/post_action.tpl"}
|
||||
|
||||
|
||||
{if !$GLS_account_set}
|
||||
<div id="GLS_error_account" class="GLS_error">
|
||||
{l s='Please set your GLS account settings' mod='gls'}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{*
|
||||
** General information
|
||||
*}
|
||||
<div id="GLS_info_form_block" class="PS_GLSFormType">
|
||||
<div class="GLS_warn">
|
||||
<a style="color:#383838;text-decoration:underline" href="index.php?tab=AdminPerformance&token={$GLS_token_admin_performance}">
|
||||
{l s='Try to turn off the cache and put the force compilation to on' mod='gls'}
|
||||
</a>
|
||||
{l s='if you have any problems with the module after an update' mod='gls'}
|
||||
</div>
|
||||
|
||||
<div class="GLS_hint">
|
||||
{l s='Have a look to the following HOW-TO to help you to configure the GLS module' mod='gls'}
|
||||
<b>
|
||||
<a href="{$GLS_base_dir}docs/install.pdf">
|
||||
<img width="20" src="{$GLS_base_dir}views/img/pdf_icon.jpg" />
|
||||
</a>
|
||||
</b>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<img src="../modules/gls/views/img/logo.png" />{l s='To create a GLS carrier' mod='gls'}
|
||||
</legend>
|
||||
- {l s='Enter and save your GLS account settings' mod='gls'} <br />
|
||||
- {l s='Go to Shipping > Carriers and activate the GLS Carriers already created by the module' mod='gls'} <br />
|
||||
- {l s='Manage your price ranges, weight ranges and prices as any prestashop carrier' mod='gls'} <br />
|
||||
- {l s='URL Cron tache' mod='gls'} {$GLS_CRON_URL}<br />
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
{*
|
||||
** Account settings form
|
||||
*}
|
||||
|
||||
<div id="GLS_account_form_block" class="PS_GLSFormType">
|
||||
<form action="{$smarty.server.REQUEST_URI|escape:'htmlall'}" method="post" >
|
||||
<fieldset>
|
||||
<legend><img src="../modules/gls/views/img/logo.png" />{l s='GLS Account Settings' mod='gls'}</legend>
|
||||
<div>
|
||||
{l s='These parameters are provided by GLS once you subscribed to their service' mod='gls'}
|
||||
</div>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="GLS_webservice_login" class="glsLabel">{l s='Webservice Login:' mod='gls'}</label>
|
||||
<input id="GLS_webservice_login" class="glsInput" type="text" name="GLS_webservice_login" value="{$GLS_webservice_login|escape:all}" />
|
||||
<sup>*</sup>
|
||||
</li>
|
||||
<li>
|
||||
<label for="GLS_webservice_password" class="glsLabel">
|
||||
{l s='Webservice Password:' mod='gls'}
|
||||
</label>
|
||||
<input id="GLS_webservice_password" class="glsInput" type="text" name="GLS_webservice_password" value="{$GLS_webservice_password|escape:all}" />
|
||||
<sup>*</sup>
|
||||
</li>
|
||||
<li>
|
||||
<label class="conf-label">{l s='Only XL Parcel Shops' mod='gls'} :</label>
|
||||
{if $GLS_SHD_ONLYXL}
|
||||
<input type="radio" name="GLS_SHD_ONLYXL" id="active_on" value="1" checked="checked">
|
||||
{else}
|
||||
<input type="radio" name="GLS_SHD_ONLYXL" id="active_on" value="1">
|
||||
{/if}
|
||||
<label class="t" for="active_on">
|
||||
<img src="../img/admin/enabled.gif" alt="Activé" title="Activé">
|
||||
</label>
|
||||
{if $GLS_SHD_ONLYXL}
|
||||
<input type="radio" name="GLS_SHD_ONLYXL" id="active_off" value="0">
|
||||
{else}
|
||||
<input type="radio" name="GLS_SHD_ONLYXL" id="active_off" value="0" checked="checked">
|
||||
{/if}
|
||||
<label class="t" for="active_off">
|
||||
<img src="../img/admin/disabled.gif" alt="Désactivé" title="Désactivé">
|
||||
</label>
|
||||
</li>
|
||||
{*
|
||||
<li>
|
||||
<label for="GLS_weight_coefficient" class="glsLabel">{l s='Weight Coefficient:' mod='gls'}</label>
|
||||
<input class="glsInput" type="text" name="GLS_weight_coefficient" id="GLS_weight_coefficient" style="width:45px; " value="{$GLS_weight_coefficient|escape:'htmlall'}"/>
|
||||
<sup>*</sup>
|
||||
<span class="indication" style="display: inline-block; line-height: 18px; vertical-align: top">{l s='grammes = 1 ' mod='gls'}{$GLS_unit_weight_used}<br />{l s='The total package weight is evaluated from products weight with this coefficient, the default billing method will be set according to this weight.' mod='gls'}</span>
|
||||
</li>
|
||||
*}
|
||||
<li>
|
||||
<label for="GLS_export_folder" class="glsLabel">{l s='Export folder:' mod='gls'}</label>
|
||||
<input class="glsInput" type="text" name="GLS_export_folder" id="GLS_export_folder" style="width:150px; " value="{$GLS_export_folder}"/>
|
||||
</li>
|
||||
<li>
|
||||
<label for="GLS_import_folder" class="glsLabel">{l s='Import folder:' mod='gls'}</label>
|
||||
<input class="glsInput" type="text" name="GLS_import_folder" id="GLS_import_folder" style="width:150px; " value="{$GLS_import_folder}"/>
|
||||
</li>
|
||||
<li>
|
||||
<label for="GLS_zone_configuration" class="glsLabel">{l s='Create delivery zone:' mod='gls'}</label>
|
||||
<input class="glsInput" type="checkbox" name="GLS_zone_configuration" id="GLS_zone_configuration" {if $GLS_zone_configuration}checked="checked"{/if}/>
|
||||
<p class="gls_legend">{l s='create zone legend' mod='gls'}</p>
|
||||
</li>
|
||||
<li>
|
||||
<label for="GLS_express_delivery_agency" class="glsLabel">{l s='Express delivery agency:' mod='gls'}</label>
|
||||
<input class="glsInput" type="text" name="GLS_express_delivery_agency" id="GLS_express_delivery_agency" style="width:150px; " value="{$GLS_express_delivery_agency}"/>
|
||||
<p class="gls_legend">{l s='Express delivery agency' mod='gls'}</p>
|
||||
</li>
|
||||
<li class="PS_GLSSubmit">
|
||||
<input type="submit" name="submit_account_detail" value="{l s='Update Settings' mod='gls'}" class="button" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="small"><sup>*</sup>{l s='Required fields' mod='gls'}</div>
|
||||
</fieldset>
|
||||
<input type="hidden" name="GLS_tab_name" value="account_form" />
|
||||
</form>
|
||||
</div>
|
||||
|
48
modules/gls/views/templates/hook/header-mobile.tpl
Normal file
@ -0,0 +1,48 @@
|
||||
{*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
{* TODO : Delete these deprecated lines
|
||||
<link href="{$new_gls_base_dir}css/style.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link href="{$new_gls_base_dir}css/gls-mobile.css" rel="stylesheet" type="text/css" media="all" />
|
||||
*}
|
||||
<script type="text/javascript">
|
||||
// Global JS Value
|
||||
var _PS_GLS_MODULE_DIR_ = "{$new_gls_base_dir}";
|
||||
var glstoken = "{$GLSToken}";
|
||||
var PS_GLSOPC = {$one_page_checkout};
|
||||
var PS_GLSTranslationList = [];
|
||||
var PS_GLSCarrierMethodList = [];
|
||||
var PS_GLSSelectedRelayPoint = {literal}{{/literal}'carrier_id': 0, 'relayPointNum': 0{literal}}{/literal};
|
||||
var PS_GLSWarningMessage = "{$warning_message}";
|
||||
var PS_GLSWarningNoRelay = "{l s='You need to select a dropp-off point before going to the next step.' mod='gls'}";
|
||||
|
||||
PS_GLSTranslationList['Select'] = "{l s='Select' mod='gls'}";
|
||||
PS_GLSTranslationList['Selected'] = "{l s='Selected' mod='gls'}";
|
||||
PS_GLSTranslationList['errorSelection'] = "{l s='Please choose a relay point' mod='gls'}";
|
||||
PS_GLSTranslationList['openingRelay'] = "{l s='Opening hours' mod='gls'}";
|
||||
PS_GLSTranslationList['moreDetails'] = "{l s='More details' mod='gls'}";
|
||||
</script>
|
||||
|
||||
{* TODO : Delete these deprecated lines
|
||||
<script type="text/javascript" src="{$new_gls_base_dir}js/jquery.popupoverlay.js"></script>
|
||||
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&v=3"></script>
|
||||
<script type="text/javascript" src="{$new_gls_base_dir}js/glsFront.js"></script>
|
||||
<script type="text/javascript" src="{$new_gls_base_dir}translations/translate_{$lang_iso}.js"></script>
|
||||
*}
|
||||
|
38
modules/gls/views/templates/hook/header.tpl
Normal file
@ -0,0 +1,38 @@
|
||||
{*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
<script type="text/javascript">
|
||||
// Global JS Value
|
||||
var _PS_GLS_MODULE_DIR_ = "{$new_gls_base_dir}";
|
||||
var glstoken = "{$GLSToken}";
|
||||
var PS_GLSOPC = {$one_page_checkout};
|
||||
var PS_GLSTranslationList = [];
|
||||
var PS_GLSCarrierMethodList = [];
|
||||
var PS_GLSSelectedRelayPoint = {literal}{{/literal}'carrier_id': 0, 'relayPointNum': 0{literal}}{/literal};
|
||||
var PS_GLSWarningMessage = "{$warning_message}";
|
||||
var PS_GLSWarningNoRelay = "{l s='You need to select a dropp-off point before going to the next step.' mod='gls'}";
|
||||
|
||||
PS_GLSTranslationList['Select'] = "{l s='Select' mod='gls'}";
|
||||
PS_GLSTranslationList['Selected'] = "{l s='Selected' mod='gls'}";
|
||||
PS_GLSTranslationList['errorSelection'] = "{l s='Please choose a relay point' mod='gls'}";
|
||||
PS_GLSTranslationList['openingRelay'] = "{l s='Opening hours' mod='gls'}";
|
||||
PS_GLSTranslationList['moreDetails'] = "{l s='More details' mod='gls'}";
|
||||
</script>
|
||||
|
||||
|
28
modules/gls/views/templates/hook/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
47
modules/gls/views/templates/hook/listRelais.tpl
Normal file
@ -0,0 +1,47 @@
|
||||
{assign var='count' value=0}
|
||||
{if $GLS_error}
|
||||
{if $GLS_error == 502}
|
||||
<span class="gls_ws_error">Login ou mot de passe GLS invalide</span>
|
||||
{/if}
|
||||
{if $GLS_error == 999}
|
||||
<span class="gls_ws_error">Aucun Point Relais trouvé</span>
|
||||
{/if}
|
||||
{if $GLS_error == 9999}
|
||||
<span class="gls_ws_error">Les Webservices de GLS ne sont pas accessibles.<br/>Veuillez essayer plus tard ou choisir un autre mode de livraison</span>
|
||||
{/if}
|
||||
{else}
|
||||
{foreach from=$GLS_relais item=GLSrelais}
|
||||
<div class="gls_point_relay" id="gls_point_relay_{$count}">
|
||||
<span class="GLS_relay_index">{$count}</span>
|
||||
<span class="GLS_relay_id">{$GLSrelais->Parcelshop->ParcelShopId}</span>
|
||||
<span class="GLS_relay_name">{$GLSrelais->Parcelshop->Address->Name1}{$GLSrelais->Parcelshop->Address->Name2}{$GLSrelais->Parcelshop->Address->Name3}</span>
|
||||
<span class="GLS_relay_address">{$GLSrelais->Parcelshop->Address->Street1}{$GLSrelais->Parcelshop->Address->Street2}</span>
|
||||
<span class="GLS_relay_zipcode">{$GLSrelais->Parcelshop->Address->ZipCode}</span>
|
||||
<span class="GLS_relay_city">{$GLSrelais->Parcelshop->Address->City}</span>
|
||||
<span class="GLS_relay_latitude">{$GLSrelais->Parcelshop->GLSCoordinates->Latitude}</span>
|
||||
<span class="GLS_relay_longitude">{$GLSrelais->Parcelshop->GLSCoordinates->Longitude}</span>
|
||||
|
||||
<div>
|
||||
<span class="GLS_relay_horaires">{l s='Opening hours' mod='gls'}</span>
|
||||
<a href="#" class='choose-relay-point' data-relayindex={$count}>{l s='Choose this ParcelShop' mod='gls'}</a>
|
||||
</div>
|
||||
|
||||
<span class="GLS_relay_hours">
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
{foreach from=$GLSrelais->Parcelshop->GLSWorkingDay key="day" item="workingDay"}
|
||||
<tr>
|
||||
<td class="day">{l s=$aCalendarDays[$day] mod='gls'}</td>
|
||||
{assign var='hours' value=0}
|
||||
{if $workingDay->Breaks->Hours->From != ''}
|
||||
<td>{$workingDay->OpeningHours->Hours->From|substr:0:2}h{$workingDay->OpeningHours->Hours->From|substr:2:2} - {$workingDay->Breaks->Hours->From|substr:0:2}h{$workingDay->Breaks->Hours->From|substr:2:2} / {$workingDay->Breaks->Hours->To|substr:0:2}h{$workingDay->Breaks->Hours->To|substr:2:2} - {$workingDay->OpeningHours->Hours->To|substr:0:2}h{$workingDay->OpeningHours->Hours->To|substr:2:2}</td>
|
||||
{else}
|
||||
<td>{$workingDay->OpeningHours->Hours->From|substr:0:2}h{$workingDay->OpeningHours->Hours->From|substr:2:2} - {$workingDay->OpeningHours->Hours->To|substr:0:2}h{$workingDay->OpeningHours->Hours->To|substr:2:2}</td>
|
||||
{/if}
|
||||
</tr>
|
||||
{/foreach}
|
||||
</table>
|
||||
</span>
|
||||
</div>
|
||||
<span style="display:none;">{$count++}</span>
|
||||
{/foreach}
|
||||
{/if}
|
28
modules/gls/views/templates/index.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 Addonline
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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.
|
||||
*
|
||||
* @author Addonline <contact@addonline.fr>
|
||||
* @copyright 2007-2014 Addonline
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
After Width: | Height: | Size: 112 KiB |
136
modules/ordertaxprofitreport/AdminOrderTaxProfitReport.php
Normal file
@ -0,0 +1,136 @@
|
||||
<?php
|
||||
/**
|
||||
* AdminOrderTaxProfitReport.php file defines admin tab class of module
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class AdminOrderTaxProfitReport extends AdminTab
|
||||
{
|
||||
/**
|
||||
* @var int $iCurrentLang : store id of default lang
|
||||
*/
|
||||
public static $iCurrentLang = null;
|
||||
|
||||
/**
|
||||
* @var string $sBASE_URI : base of URI in prestashop
|
||||
*/
|
||||
public static $sBASE_URI = null;
|
||||
|
||||
/**
|
||||
* @var string $multishop_context_group : store context group
|
||||
*/
|
||||
public $multishop_context_group = null;
|
||||
|
||||
/**
|
||||
* @var string $multishop_context : store context
|
||||
*/
|
||||
public $multishop_context = null;
|
||||
|
||||
/**
|
||||
* Magic Method __construct assigns few information about module and instantiate parent class
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// hack for older version than 1 4 5 1
|
||||
if (version_compare(_PS_VERSION_, '1.4.5.1') == -1) {
|
||||
require_once(_PS_MODULE_DIR_ . 'ordertaxprofitreport/conf/common.conf.php');
|
||||
}
|
||||
else {
|
||||
require_once(dirname(__FILE__) . '/conf/common.conf.php');
|
||||
}
|
||||
|
||||
// use case - get link context
|
||||
if (version_compare(_PS_VERSION_, '1.5', '>')) {
|
||||
$cookie = Context::getContext()->cookie;
|
||||
}
|
||||
else {
|
||||
global $cookie;
|
||||
}
|
||||
|
||||
global $currentIndex;
|
||||
|
||||
// get default lang
|
||||
self::$iCurrentLang = $cookie->id_lang;
|
||||
|
||||
// set module name
|
||||
$this->module = _OTPR_MODULE_SET_NAME;
|
||||
|
||||
// Fix for translations before v1.4
|
||||
if (version_compare(_PS_VERSION_, '1.4.0.1') == -1) {
|
||||
global $_LANGADM, $_MODULE;
|
||||
|
||||
// set lang filename
|
||||
$sLangFile = _PS_MODULE_DIR_ . $this->module . '/' . Language::getIsoById(self::$iCurrentLang) . '.php';
|
||||
|
||||
// check lang file exists
|
||||
if (file_exists($sLangFile)) {
|
||||
// include php lang file
|
||||
require_once $sLangFile;
|
||||
|
||||
foreach ($_MODULE as $nKey => $sValue) {
|
||||
if (Tools::substr(strip_tags($nKey), 0, 5) == 'Admin') {
|
||||
$_LANGADM[str_replace('_', '', strip_tags($nKey))] = $sValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// construct
|
||||
parent::__construct();
|
||||
|
||||
self::$sBASE_URI = $currentIndex;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* display() method manages all data in Back Office of admin tab
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function display()
|
||||
{
|
||||
// include main class
|
||||
require_once(_OTPR_PATH_ROOT . 'ordertaxprofitreport.php');
|
||||
|
||||
// instantiate
|
||||
$oMainClass = new OrderTaxProfitReport();
|
||||
|
||||
// use case - display => search form / export => return HTML report or a downloadable CVS report
|
||||
$_REQUEST['sAction'] = (!Tools::getIsset('sAction') || (Tools::getIsset('sAction') && 'display' == Tools::getValue('sAction')))? 'display' : Tools::getValue('sAction');
|
||||
|
||||
$_REQUEST['sType'] = !Tools::getIsset('sType')? 'searchForm' : $_REQUEST['sType'];
|
||||
|
||||
// set URI of admin tab
|
||||
$_REQUEST['sAdminTabURI'] = self::$sBASE_URI;
|
||||
|
||||
echo (
|
||||
$oMainClass->getContent()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* addCSS() method return always true because some other modules are hooked on adminBackofficeHeader and call addCSS() method. This method doesn't exist in the Admin context tab.
|
||||
* This prevent those modules do not execute functions which do not exists
|
||||
*
|
||||
* @return bool true
|
||||
*/
|
||||
public function addCSS()
|
||||
{
|
||||
// return true
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* addJS() method return always true because some other modules are hooked on adminBackofficeHeader and call addJS() method. This method doesn't exist in the Admin context tab.
|
||||
* This prevents those modules do not execute functions which doesn't exists
|
||||
*
|
||||
* @return bool true
|
||||
*/
|
||||
public function addJS()
|
||||
{
|
||||
// return true
|
||||
return true;
|
||||
}
|
||||
}
|
227
modules/ordertaxprofitreport/changelog.txt
Normal file
@ -0,0 +1,227 @@
|
||||
Order Tax Profit Report
|
||||
http://www.businesstech.fr/en/contact-us
|
||||
|
||||
|
||||
Change history for "Order Tax Profit Report"
|
||||
---------------------------------------
|
||||
Version 2.9.1 (09/02/2016)
|
||||
- Updated API URL
|
||||
- Updated for validator
|
||||
|
||||
Version 2.9.0 (23/11/2015)
|
||||
- Update to manage the margin when a discount amount of 100% is applied
|
||||
- Bug fix for PS 1.3 with total_products_no_tax
|
||||
- Add calculation details
|
||||
|
||||
Version 2.8.4 (13/04/2015)
|
||||
- Update getOrdersDetail() and getOrderDetailIds() for shop without product attribute
|
||||
|
||||
Version 2.8.3
|
||||
- make the module compatible with some stantards of PrestaShop Addons (validator)
|
||||
- Bug fix for product_price column when a group reduction and a specific price are applied at the same time. PS calculate the product unit price tax excluded from specific price first and apply the group reduction after.
|
||||
- Bug fix for product quantity in product report, for product with more one supplier.
|
||||
|
||||
|
||||
Version 2.8.2
|
||||
- Bug fix for wholesale_price populate
|
||||
- Update getOrdersDetail() function
|
||||
|
||||
Version 2.8.1
|
||||
- Small bug fix for populate wholesale_price in module installation.
|
||||
|
||||
Version 2.8.0
|
||||
- Added better management for wholesale_price
|
||||
|
||||
|
||||
Version 2.7.1 (01/10/2014)
|
||||
- Update to respect validator
|
||||
|
||||
Version 2.7.1 (01/10/2014)
|
||||
|
||||
- Small bug fix for french translations
|
||||
- Small bug fix for "order by" missing in getOrderDetails() function. In some cases, the order by is not well-done by Mysql and order's details were truncated and mismatched the wrapping order ID.
|
||||
|
||||
Version 2.7.0 (05/06/2014)
|
||||
|
||||
- Make the module compatible PS 1.6
|
||||
- Added new layout look like PS 1.6
|
||||
- Added type of filter at the top of report with range of date or number
|
||||
|
||||
Version 2.6.3 (25/02/2014)
|
||||
|
||||
- Small bug fix for Ecotax addition to the total tax, it is included by default in price with tax and the same for Tax amount. We have removed ecotax addition to the total.
|
||||
- Small bug fix for Order slip made only on shipping amount in order to add properly by testing if key exists and not with isset() function. Because PrestaShop returns NULL as value when there is no order slip made for product tax Excl.
|
||||
|
||||
|
||||
Version 2.6.2 (18/02/2014)
|
||||
|
||||
- Small bug fix for SQL function name in module-dao class. it made an issue around MySql update during installation.
|
||||
|
||||
|
||||
Version 2.6.1 (07/01/2014)
|
||||
|
||||
- Added order date filter
|
||||
- changed the way to insert data into their own ables around Shipping and wrapping tax, loop on MySql resource in order to perform SQl INSERT
|
||||
- Changes MySql query on tax table to matching with inactive tax too.
|
||||
|
||||
Version 2.6.0 (27/11/2013)
|
||||
|
||||
- Added filter on multiple countries + display EAN and UPC code for product report
|
||||
- Small bug fix for encoded string. String was UTF-8 decode twice and display ? characters with CSV output.
|
||||
|
||||
Version 2.5.4 (25/11/2013)
|
||||
|
||||
- Added Spanish and Italian translations
|
||||
|
||||
|
||||
Version 2.5.3 (09/09/2013)
|
||||
|
||||
- small fix bug on default text when manufacturers, categories and products have been removed from the back-office. The text was displayd with HTML tags and the csv export didn't work in this case, all columns were shifted.
|
||||
|
||||
Version 2.5.2 (05/09/2013)
|
||||
|
||||
- Fix on total product tax excluded calculated with rounding on 2 digits by Prestashop in ps_orders table. Make a wrong rounding on total product tax excl. and net and gross margin.
|
||||
|
||||
Version 2.5.1 (20/08/2013)
|
||||
|
||||
- Fix on tax rate columns for when tax is disabled altogether on the shop
|
||||
|
||||
Version 2.5.0 (22/07/2013)
|
||||
|
||||
- Add credit slip feature
|
||||
- Added number formatting options in module configuration
|
||||
- change rounding behavior in entire calculation process, accurate rounding made in last calculation
|
||||
- Fix on gross profit calculation with group reductions for versions 1.3.2.3 to 1.4.11
|
||||
- allow float number formatting with a ',' or '.'
|
||||
- Fix in /templates/admin/tab/form.tpl (added {literal} otherwise it crashes on 1.2 / 1.3)
|
||||
- Fix in /lib/module-dao_class.php => getCustomerGroup: there is no id_default_group in customer table on 1.2. Just use Group::getGroups() instead. Deleted getCustomerGroup() in DAO.
|
||||
|
||||
Version 2.4.0 (22/04/2013):
|
||||
|
||||
- change all layout of the module, default PS 1.5 layout has been included
|
||||
- add preferences feature on displayed filters
|
||||
- bug fix for reduction group which is already included in sale price => subtracted twice
|
||||
- bug fix for total product tax, a subtraction of a negative value was made, we are using the absolute value now
|
||||
- bug fix for discount distribution on each product of order, only made individually, quantity of each product has not taken into account
|
||||
|
||||
Version 2.3.2 (22/04/2013):
|
||||
|
||||
- Fix on shipping amount and shipping tax on versions 1.2 / 1.3 when there is no tax assigned to carrier
|
||||
|
||||
Version 2.3.1 (28/03/2013):
|
||||
|
||||
- Fix on shipping tax for versions 1.2 / 1.3
|
||||
- Fix on ecotax for versions 1.2 / 1.3
|
||||
|
||||
|
||||
Version 2.2.6 (27/03/2013):
|
||||
|
||||
- Fix on extra space in product total quantity column in CSV mode
|
||||
|
||||
|
||||
Version 2.2.5 (26/03/2013):
|
||||
|
||||
- Fix on ecotax (forgot to multiply by product quantity)
|
||||
|
||||
|
||||
Version 2.2.4 (20/03/2013):
|
||||
|
||||
- In product reports when choosing breakdown by attribute combination, fix to correctly return reference and supplier_reference on products without combinations
|
||||
|
||||
|
||||
Version 2.2.3 (19/03/2013):
|
||||
|
||||
-Small fix on ecotax for version 1.4
|
||||
|
||||
|
||||
Version 2.2.2 (18/03/2013):
|
||||
|
||||
-Small formating fix on ecotax no tax column
|
||||
|
||||
|
||||
Version 2.2.1 (14/03/2013):
|
||||
|
||||
- Added carrier and payment method in Full report
|
||||
- Replaced ob_clean() with @ob_end_clean
|
||||
- Added 2 Ecotax columns (HT and VAT) in all reports
|
||||
- Added images option on product reports
|
||||
- Added customer / CRM reports
|
||||
- Fixed display issue where suffix (currency or %) was not appended to numbers when amount was 0
|
||||
|
||||
|
||||
Version 2.1.1 (24/01/2013):
|
||||
|
||||
- small bug fix on product unit price for Tax calculation and displaying product report
|
||||
- small change fix for displaying supplier reference when combination are displayed in product report
|
||||
|
||||
|
||||
Version 2.0.7 (22/01/2013):
|
||||
|
||||
- small bug fix on wrapping tax calculation, reverse wrapping tax excl and wrapping tax incl for populate wrapping order table from orders detail
|
||||
- small bug fix on checking module upgrade condition
|
||||
|
||||
Version 2.0.6 (10/01/2013):
|
||||
|
||||
- small bug fix on wrapping tax calculation, forgot SUM function in MySql
|
||||
|
||||
Version 2.0.5 (10/01/2013):
|
||||
|
||||
- small bug fix on discount tax calculation
|
||||
|
||||
Version 2.0.4 (09/01/2013):
|
||||
|
||||
- bug fix on orders detail for wrapping
|
||||
- bug fix on calculation of total tax
|
||||
|
||||
|
||||
Version 2.0.3 (07/01/2013):
|
||||
|
||||
- Small bug fix on version_compare for 1.5 on datepicker.css inclusion
|
||||
|
||||
|
||||
Version 2.0.2 (07/01/2013):
|
||||
|
||||
- fix supplier reference on product report, wrong copy paste
|
||||
- Consequence : display product reference twice instead of supplier reference.
|
||||
- fix supplier translation on export form with product report
|
||||
- consequence : display supplier instead of manufacturers
|
||||
|
||||
|
||||
Version 2.0.1 (17/12/2012):
|
||||
|
||||
- Updates to make the module with version 1.5 and multi-shop
|
||||
- Add tables for taking account of discount and wrapping on vouchers, it makes a more accurately report by including profit and VAT amount on it
|
||||
|
||||
Version 1.1.4 (05/10/2012):
|
||||
|
||||
- Change checking number version for under 1.3 version
|
||||
- Consequence : wrong databases fields applied for under 1.3.0.1 version as new level is 1.3.2.3
|
||||
|
||||
Version 1.1.3 (17/09/2012):
|
||||
|
||||
- Move conversion rate to calculation of gross profit with product price and not with product price - whole sale price. Made for all prestashop versions.
|
||||
- Consequence : applied on sum of product price - wholesale price as well as on product report is was only applied on product price and not on wholesale price
|
||||
- detect report's type for combination option
|
||||
- Consequence : user experience was in trouble when you display product report with combination and after you display order report. Combination was still activated and made a group by attribute id.
|
||||
|
||||
Version 1.1.2 (13/09/2012):
|
||||
|
||||
- Delete product attribute name column + join on tables with product combination and lang + delete conversion rate in total cost for order reports
|
||||
- Consequence : duplicate result's lines with product attribute name (quantity *2 for combination with multiple attributes + calculation of total cost was wrong with conversion rate
|
||||
|
||||
Version 1.1.1 (30/08/2012):
|
||||
|
||||
- Modified column order and included columns on some reports
|
||||
|
||||
Version 1.1.0 (13/08/2012):
|
||||
|
||||
- fix bug : net margin calculation + gross margin + product gross margin, add multi currencies / handle discounted sell product price , add Fancybox for HTML report, add country filter, add group by product attribute, add % of total sales and profit for brands, suppliers and categories
|
||||
|
||||
Version 1.0.2 (25/06/2012):
|
||||
|
||||
- fix bug : modify templates in search form
|
||||
|
||||
|
||||
Version 1.0.1 (10/05/2012):
|
||||
|
||||
- Original release
|
119
modules/ordertaxprofitreport/conf/admin.conf.php
Normal file
@ -0,0 +1,119 @@
|
||||
<?php
|
||||
/**
|
||||
* admin.conf.php file defines all needed constants and variables for admin context
|
||||
*/
|
||||
|
||||
/* include common conf */
|
||||
require_once('common.conf.php');
|
||||
|
||||
/* defines admin library path
|
||||
* uses => to include class files
|
||||
*/
|
||||
define('_OTPR_PATH_LIB_ADMIN', _OTPR_PATH_LIB . 'admin/');
|
||||
|
||||
/* defines admin path tpl
|
||||
* uses => to set good relative path
|
||||
*/
|
||||
define('_OTPR_TPL_ADMIN_PATH', 'admin/');
|
||||
|
||||
/* defines header tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_HEADER', 'header.tpl');
|
||||
|
||||
/* defines confirm tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_CONFIRM', 'confirm.tpl');
|
||||
|
||||
/* defines basic settings tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_SETTINGS', 'basic-settings.tpl');
|
||||
|
||||
/* defines module update tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_MODULE_UPDATE', 'module-update.tpl');
|
||||
|
||||
/* defines registered orders tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_REGISTER_ORDERS', 'register-orders.tpl');
|
||||
|
||||
/* defines multi shop config tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_MULTI_SHOP', 'multi-shop-config.tpl');
|
||||
|
||||
/* defines admin tab path tpl
|
||||
* uses => to set good relative path
|
||||
*/
|
||||
define('_OTPR_TPL_ADMIN_TAB_PATH', _OTPR_TPL_ADMIN_PATH . 'tab/');
|
||||
|
||||
/* defines form tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_FORM', _OTPR_TPL_ADMIN_TAB_PATH . 'form.tpl');
|
||||
|
||||
/* defines html report tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_REPORT_HTML', _OTPR_TPL_ADMIN_TAB_PATH . 'report-html.tpl');
|
||||
|
||||
/* defines csv report tpl
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_TPL_REPORT_CSV', _OTPR_TPL_ADMIN_TAB_PATH . 'report-csv.tpl');
|
||||
|
||||
/* defines voucher's update sql file
|
||||
* uses => only with DB update action
|
||||
*/
|
||||
define('_OTPR_UPDATE_SQL_FILE', 'update.sql');
|
||||
|
||||
/* defines constant to use or not js on submit action
|
||||
* uses => only in debug mode - test checking control on server side
|
||||
*/
|
||||
define('_OTPR_USE_JS', true);
|
||||
|
||||
/* defines constant to use temporary file
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_UPLOAD_REPORT_FILE', 'report');
|
||||
|
||||
/* defines constant for external BT API URL
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_BT_API_MAIN_URL', 'https://api.businesstech.fr:441/prestashop-modules/');
|
||||
|
||||
/* defines constant for external BT API URL
|
||||
* uses => with display admin interface
|
||||
*/
|
||||
define('_OTPR_BT_FAQ_MAIN_URL', 'http://faq.businesstech.fr/');
|
||||
|
||||
/* defines variable for translating js msg
|
||||
* uses => with admin interface - declare all displayed error messages
|
||||
*/
|
||||
$GLOBALS[_OTPR_MODULE_NAME . '_JS_MSG'] = array();
|
||||
|
||||
/* defines variable for date type used in export
|
||||
* uses => with admin interface, see translation in module-tools_class.php
|
||||
*/
|
||||
$GLOBALS[_OTPR_MODULE_NAME . '_DATE_TYPE'] = array('invoice' => '', 'delivery' => '', 'credit' => '', 'order' => '');
|
||||
|
||||
/* defines variable for export type
|
||||
* uses => with admin interface
|
||||
*/
|
||||
$GLOBALS[_OTPR_MODULE_NAME . '_EXPORT_TYPE'] = array('html', 'csv');
|
||||
|
||||
/* defines variable for sql update
|
||||
* uses => with admin
|
||||
*/
|
||||
$GLOBALS[_OTPR_MODULE_NAME . '_SQL_UPDATE'] = array(
|
||||
'table' => array(
|
||||
'wholesale_price' => _OTPR_UPDATE_SQL_FILE,
|
||||
),
|
||||
// 'field' => array(
|
||||
// 'VCHR_ID' => array('table' => 'voucher', 'file' => _GSR_VOUCHER_SQL_FILE),
|
||||
// )
|
||||
);
|
2012
modules/ordertaxprofitreport/conf/common.conf.php
Normal file
22
modules/ordertaxprofitreport/conf/hook.conf.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* hook.conf.php file defines all needed constants and variables for hook context
|
||||
*/
|
||||
|
||||
/* include common conf */
|
||||
require_once(dirname(__FILE__) . '/common.conf.php');
|
||||
|
||||
/* defines hook library path
|
||||
* uses => to include class files
|
||||
*/
|
||||
define('_OTPR_PATH_LIB_HOOK', _OTPR_PATH_LIB . 'hook/');
|
||||
|
||||
/* defines hook tpl path
|
||||
* uses => to set good absolute path
|
||||
*/
|
||||
define('_OTPR_TPL_HOOK_PATH', 'hook/');
|
||||
|
||||
/* defines order validation tpl
|
||||
* uses => to use in hook order validation
|
||||
*/
|
||||
define('_OTPR_TPL_ORDER_VALIDATION', 'order-validation.tpl');
|
35
modules/ordertaxprofitreport/conf/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2015 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-2015 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
37
modules/ordertaxprofitreport/conf/install.conf.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* install.conf.php file defines all needed constants and variables used in installation of module
|
||||
*/
|
||||
|
||||
/* include common conf */
|
||||
require_once('common.conf.php');
|
||||
|
||||
/* defines install library path
|
||||
* uses => to include class files
|
||||
*/
|
||||
define('_OTPR_PATH_LIB_INSTALL', _OTPR_PATH_LIB . 'install/');
|
||||
|
||||
/* defines installation sql file
|
||||
* uses => only with DB install action
|
||||
*/
|
||||
define('_OTPR_INSTALL_SQL_FILE', 'install.sql');
|
||||
|
||||
/* defines uninstallation sql file
|
||||
* uses => only with DB uninstall action
|
||||
*/
|
||||
define('_OTPR_UNINSTALL_SQL_FILE', 'uninstall.sql');
|
||||
|
||||
/* defines constant for plug SQL install/uninstall debug
|
||||
* uses set "true" only in debug mode - exceeds install sql execution
|
||||
*/
|
||||
define('_OTPR_LOG_JAM_SQL', false);
|
||||
|
||||
/* defines constant for plug CONFIG install/uninstall debug
|
||||
* uses set "true" only in debug mode - exceeds uninstall sql execution
|
||||
*/
|
||||
define('_OTPR_LOG_JAM_CONFIG', false);
|
||||
|
||||
/* defines constant for plug Admin Tab install/uninstall debug
|
||||
* uses set "true" only in debug mode - exceeds uninstall admin tab execution
|
||||
*/
|
||||
define('_OTPR_LOG_JAM_TAB', false);
|
13
modules/ordertaxprofitreport/config.xml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>ordertaxprofitreport</name>
|
||||
<displayName><![CDATA[Order, Tax and Profit Report]]></displayName>
|
||||
<version><![CDATA[2.9.1]]></version>
|
||||
<description><![CDATA[Configure and export your "Order, Tax and Profit Report"]]></description>
|
||||
<author><![CDATA[Business Tech]]></author>
|
||||
<tab><![CDATA[billing_invoicing]]></tab>
|
||||
<confirmUninstall>Etes-vous sûr de vouloir le supprimer? Votre rapport Commandes, TVA et Bénéfices ne fonctionnera plus</confirmUninstall>
|
||||
<is_configurable>1</is_configurable>
|
||||
<need_instance>1</need_instance>
|
||||
<limited_countries></limited_countries>
|
||||
</module>
|
6
modules/ordertaxprofitreport/en.php
Normal file
@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ea067eb37801c5aab1a1c685eb97d601'] = 'Total paid with tax';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f844c20c041eb15e94c27891be644918'] = 'Total really paid with tax';
|
235
modules/ordertaxprofitreport/es.php
Normal file
@ -0,0 +1,235 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_5baef7a978f870358032f9d757de0691'] = 'Informe Pedidos, IVA y Beneficios';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_d3a25b47e9eef1c22792ee5a65224c40'] = 'Configure y exporte su informe de Pedidos, IVA y Beneficios';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_2d97d5bf5df9e35b7cab65e1ad5b0b28'] = '¿Está seguro de querer suprimirlo? Su informe de Pedidos, IVA y beneficios dejará de funcionar';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_9c9ab624360885fcf93b7643c93b6748'] = 'creciente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_b19e9805fd7727c52ca04dfa3d24a2e5'] = 'decreciente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_c7247e0f47d955963f1dfdccca16b30d'] = 'actualización de la plantilla';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_ed73f6b46391b95e1d03c6818a73b8b9'] = 'ko';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_ea38438926bba03c7df2af1e6d75c511'] = 'registro de los hooks KO';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_a181a603769c1f98ad927e7367c7aa51'] = 'todos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-dao_class_c61ab4204f572e9b3aa84a040e0dab31'] = 'Ver productos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5370b50f5788232a579e5c3429fb18ee'] = 'Fecha de añadido del pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_b216d0c9d30c5296511580555b3058a7'] = 'Fecha de actualización del pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_409392495c695c6cfbf64783753b815a'] = 'Fecha de entrega del pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_def4a99ed5f227665c8d570d6b72890b'] = 'Fecha de facturación del pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_9127fe218b2cac7f0c8aecd7016a891d'] = 'Nombre de la tienda';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d79cf3f429596f77db95c65074663a54'] = 'ID del pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8ae4286d38bb2235def98fd68d7420d2'] = 'Número de factura';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_19f2f692c96d2aff892bad71b80521e9'] = 'Número de entrega';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_914419aa32f04011357d3b604a86d7eb'] = 'Transportista';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f0aaaae189e9c7711931a65ffcd22543'] = 'Método de pago';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d02bbc3cb147c272b0445ac5ca7d1a36'] = 'Estatus del pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ea067eb37801c5aab1a1c685eb97d601'] = 'Total pagado (impuestos incluidos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f844c20c041eb15e94c27891be644918'] = 'Total realmente pagado (impuestos incluidos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8047bd57bbed2e8ea0a7c67931a703fd'] = 'Total productos (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f147c0b57bb034a0b18d375a00caada5'] = 'Incluyendo Ecotasa Impuesto Excl.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6937770a9ed6e75bb990a566096493cf'] = 'Incluyendo cantidad de impuestos Ecotasa';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ec2c244b1ff797b2ced33cccb55d3e42'] = 'Total gastos de envío (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_22b5e30f8660c693620a131a463a7a69'] = 'IVA gastos de envío';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_65b2eb8951e9008b9594b2c7444bc9cb'] = 'Total IVA recaudado';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7d3f36bdfd25c41280b422cc90697291'] = 'Total descuentos (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bd96af035f2858f0b37d2328b3735ed5'] = 'IVA descuentos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6f43f5151eb6cb7eca1ea079d8b81340'] = 'Total embalaje (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5fbe938fb1f859affb8da34f2b175f3a'] = 'IVA embalaje';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e59097d27bdaaa2987aaaf8100fa91c2'] = 'IVA productos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3cf600f753fc673c1e57c0f3c807f4d7'] = 'Total precio de coste';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3601146c4e948c32b6424d2c0a7f0118'] = 'Precio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7f117379ebd5c7a5e478742b111ad9ee'] = 'Utilidad Bruta Antes Descuentos.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_52f838a581b8e87c094fa0765218ecfb'] = 'Beneficios netos (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_c7083f41f6132cf5132b3354d1383147'] = 'Margen Bruto Antes de Descuentos.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d786c466e41374f63f00875156696e0f'] = 'Margen neto (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_97f08a40f22a625d0cbfe03db3349108'] = 'ID Producto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_be53a0541a6d36f6ecb879fa2c584b08'] = 'Foto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_b9aefa40a54680bb258f9f9569290fae'] = 'Nombre del producto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_75ed578ac3cb02b0ba40002a25bc0403'] = 'Referencia producto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8284ae5df53e6e7ffc1f2cc67ae68765'] = 'Referencia proveedor';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5bb375030580afe70139b30663173cb8'] = 'Referencia EAN13';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_dc459b2c746f3805dee7eaa42695aa50'] = 'Referencia UPC';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_82af5acf70292f0a0e81063ef38f6724'] = 'El producto ha sido suprimido, ninguna información disponible';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_024f2ba49b4c1e30f90b7a04fc1b35a3'] = 'Total Cantidad';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_48f0cbaa50487ac274da786ae8383d36'] = 'Precio Unitario Medio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_20a34c4e30c5bbe1d3f870ac55f0d831'] = 'Tasa IVA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f6b38fb0febd3c1178071b735a3330d0'] = 'Total producto (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_347a231da3bd5e326e73e103abdd1673'] = 'IVA neto (producto - reducción)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_2bd92e2d3c1b16e032b23e040471b1b1'] = 'Beneficios brutos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_921f6830401e5cd1e59240594d2e9bec'] = 'Margen bruto (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_43d729c7b81bfa5fc10e756660d877d1'] = 'Beneficios netos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_58da2fff8dfce588a8fdd4d42c1f682f'] = 'Margen neto (sin impuestos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_60fe0c4da1f0775cbae4ed3a596febdc'] = '% del total de ventas';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6f689f49f6945238d7d81c9d1ef1b67e'] = '% del total de beneficios brutos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_fb3329a037ec126ff3eb59422b82ac72'] = '% del total de beneficios netos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bb77e12461293768706c1ced4cb2354c'] = 'Acumulativo % del total de ventas';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e805fa6e3a9108f33ce8390327b4a737'] = 'Acumulativo % del total de beneficios brutos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_c6df81ee565a2a9a5f36288167d4be47'] = 'Acumulativo % del total de beneficios netos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ad4c7beed61601926b2b2bdfd138f772'] = 'Nombre del fabricante';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_416000ae4bd8e9942103c9cfd4e985f1'] = 'El fabricante ha sido suprimido, ninguna información disponible';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a40dd44b49ccaa9c22aef96442cadd98'] = 'ID Fabricante';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bb34a159a88035cce7ef1607e7907f8f'] = 'Nombre categoría';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ec97ed38e53de96ab38a1e65c2de25f8'] = 'La categoría ha sido suprimida, ninguna información disponible';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f9edc7482d3eff492319e6c033e9cf55'] = 'ID Categoría';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6848cd52e0f00104097433f402168ad5'] = 'Nombre proveedor';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7da2f8619de74aa4fa95052ad16a3243'] = 'El proveedor ha sido suprimido, ninguna información disponible';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7fd6956c0f477599c3c963b36458cf12'] = 'ID Proveedor';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ce8ae9da5b7cd6c3df2929543a9af92d'] = 'E-mail';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_aac772216aecbeca0e86d06671fe985a'] = 'Fecha de cumpleaños';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8d3f5eff9c40ee315d452392bed5309b'] = 'Apellido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_20db0bfeecd8fe60533206a2b5e9891a'] = 'Nombre';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_4bcd49c5567bd26de52b583562de4483'] = 'Fecha de añadido del cliente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_4df4b43c0596fd33084382db7ada41a1'] = 'Fecha de actualización del cliente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_1c76cbfe21c6f44c1d1e59d54f3e4420'] = 'Empresa';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_956205f0d2c8352f3d92aa3438f1b646'] = 'Dirección 1';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_2e21e83375deefc4a3620ab667157e27'] = 'Dirección 2';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8bcdc441379cbf584638b0589a3f9adb'] = 'Código postal';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_57d056ed0984166336b7879c2af3657f'] = 'Ciudad';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bcc254b55c4a1babdf1dcb82c207506b'] = 'Teléfono';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_59716c97497eb9694541f7c3d37b1a4d'] = 'País';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_64500d3e065dad68345d63e37a182bb8'] = 'Primer pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d37c2bf1bd3143847fca087b354f920e'] = 'ID cliente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d957e2652355299cb367c4b7e07d9141'] = 'Último pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e435e1597b793d65c3300af5049c2d2f'] = 'Nº de pedidos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_76ae87f51dcdf009e6537181bb6f30d5'] = 'Nº de productos pedidos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8783eff1323cf938b395319173177925'] = 'Cesta media (impuestos incluidos)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3295a54e3830a75b4a3097420505d1e7'] = 'Productos pedidos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e7e9aee61e6618b7ab8cfff2af334196'] = 'ID Haber';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8b94d893d4e0b0eb0600b3124f36bd1a'] = 'Fecha Haber';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a52bea227179ecafe141e9b13318e74d'] = 'Total sin impuestos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e86d4d3db54715c430a156cbf82a7812'] = 'Total impuestos incluidos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8334df53274fdf53563feb74baf0d2b8'] = 'Total productos sin impuestos - Costo total';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e58e20045a852787c62ba6a685c58c25'] = 'Total productos sin impuestos - Precio total - Total de descuentos de impuestos Excl.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3fbe6a964fbe8dd864a59008e750656e'] = 'Utilidad Bruta Excluido / Total productos sin impuestos x 100';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_639f2aeed02253fdb880732a91d57a52'] = '(Sin IVA Beneficio Neto + Total envolver Impuestos Excl.) / (Total productos sin impuestos -.. Total de descuentos Excluido + envoltura total sin IVA) x 10';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_78463a384a5aa4fad5fa73e2f506ecfc'] = 'Inglés';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ad225f707802ba118c22987186dd38e8'] = 'Francés';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a240fa27925a635b08dc28c9e4f9216d'] = 'Pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_065ab3a28ca4f16f55f103adc7d0226f'] = 'Entrega';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_466eadd40b3c10580e3ab4e8061161ce'] = 'Factura';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8718093cc5771291c51e9d8d75e4e58d'] = 'El número de comienzo de pedido no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_1e9dfec8ceb4225e574fe913cae9e758'] = 'El número de final de pedido no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_60add46717e95760aac89a34a213dc0a'] = 'El número de comienzo de factura no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e23eae8ab9676935cb3f51bf589de715'] = 'El número de final de factura no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_4b400cf1a3fd5f760dd8d613ec8f2e0e'] = 'El tipo de plantilla no es válido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_8718093cc5771291c51e9d8d75e4e58d'] = 'El número de comienzo de pedido no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_a240fa27925a635b08dc28c9e4f9216d'] = 'Pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_1e9dfec8ceb4225e574fe913cae9e758'] = 'El número de final de pedido no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_60add46717e95760aac89a34a213dc0a'] = 'El número de comienzo de factura no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_e23eae8ab9676935cb3f51bf589de715'] = 'El número de final de factura no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_fc00821b8ddd74aa9e882b2c083ff3cf'] = 'El número de comienzo del haber no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_4a15d2433983408e3ba2307bcaecd7b8'] = 'El número de final del haber no es un número entero';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_f43e7643b8e9370a80a640ab5d18ddf6'] = 'Ha ocurrido un error durante la actualización del \"estatus de selección\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_65db350a5f3acd5e9cf05d610a394682'] = 'El campo de clasificación seleccionado no es válido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_b01102f5284584334270c0c37fcb92d9'] = 'La dirección de clasificación no es válida';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_eab36e1b95cf7497068aaad4661b98cc'] = 'La lista de categorías no es una tabla';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_8f461c277e4ab89b7cf566a095db3bc9'] = 'La lista de fabricantes no es una tabla';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_bea59ae2ad66b2f89114886363763244'] = 'La lista de proveedores no es una tabla';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_47948dd414948435b0b2b92ba56dfe8a'] = 'La opción de visualización de la versión no es válida';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_dd8baccde29a3f17d2d6dc4b4a333e98'] = 'La lista de País IDs no es una tabla';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_851bd9c9a17ef959f2d57421c44a7cb3'] = 'La lista de grupos de cliente no es una tabla';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_90c336f34c40ca27e9b3d6aadc449056'] = 'Ha ocurrido un error durante la actualización de las \"preferencias\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_87557f11575c0ad78e4e28abedc13b6e'] = 'Fin';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_a8c6472c3b4672f4101549a5f7fdd5c3'] = 'fecha debe ser mayor que la fecha de comienzo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_4b82e5cdd90fbd3a6b000e2b39ce3339'] = 'Ha ocurrido un error durante la actualización de la opción \"encabezamientos y totales\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_faa3a8fa4293e373893043ff3b9417ee'] = 'Ha ocurrido un error durante la actualización de la opción \"Formato de fecha\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_c38069d9e21696961ecb56b215a49d75'] = 'Ha ocurrido un error durante la actualización de la opción \"número de decimales tras la coma\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_208bfc6b716a22e707e80bff7ae21141'] = 'Ha ocurrido un error durante la actualización de la opción \"separador decimal\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_37afe90683268e034fe83342bf394f2f'] = 'Une erreur est survenue lors de la mise à jour de l\'option \"fixer une taille de cellule\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_70f666c46f0f575682dce3071b0d2748'] = 'Ha ocurrido un error durante la actualización del detalle del pedido para';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_35a82907e1c8cd3e81555f2ff13e61a1'] = 'ID del pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_179d2123ef38fe32afb6a1287ec9b50a'] = 'ID del detalle del pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_8bb66ba9e450affc5967ff7c3fe0107a'] = 'Une erreur est survenue lors de la mise à jour du prix d\'achat';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_d6638fe6f1a2d636dec54690826e6fb4'] = 'No hay ningún pedido para esta tienda';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_36d203068578209f63c0e501a6bd6a2b'] = 'Por favor, lea atentamente nuestra documentación en el / pestaña FAQ AYUDA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_83218ac34c1834c26781fe4bde918ee4'] = 'Bienvenido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2a94082b582d0620bae922fc14c36444'] = 'Ajustes básicos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_74b7ffaf50e2a3c4d050e43e1cdc6f53'] = 'Inicio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_0ff6eb37f842d564efa312bdf7c4f38b'] = 'Bienvenido y gracias por adquirir nuestro módulo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_df678e223d77378a05d89fb6d790de3e'] = 'Formulario de exportación';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_fc95f13ef64791ed6e8b9dab8f4d4d7a'] = 'Dejará esta casilla seleccionada en la mayor parte de los casos, a menos que quiera aprovechar los datos en otra aplicación';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_688a21937c346d1c62020982b5a732a9'] = 'Incluir los encabezamientos y los totales';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2ddc3e619828b2c0f07b89be00f1f532'] = 'Definir el formato de fecha a mostrar en cada línea del informe';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_534fd46732986cba0efeda8701592427'] = 'Formato de fecha';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2f554476eebba4c39ffaa873acd1b1c7'] = 'Número de decimales tras la coma';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_5da24cfbd879004aa381e435067738a5'] = 'Su separador decimal';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2aefcd49d33f0a08c0af1bf1826a5dc9'] = 'Définir une largeur de cellule';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_93cba07454f06a4a960172bbd6e2a435'] = 'Oui';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_829ac370756b1b19ddc9d20ae7fa42f2'] = 'Pour les rapports HTML seulement';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_87cb99e72eafb07be7a04a05e645b4f1'] = 'Largeur de la cellule';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_06933067aafd48425d67bcb01bba5cb6'] = 'Actualización';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_869e770c1d3c500cb96656c6239ddb5e'] = 'PREGUNTAS FRECUENTES EN LÍNEA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_af95c95ffb5ffd8d0ff2e197782fa644'] = '¿Cómo gestionar informe';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_c43b7cbb611179919912ca11e824a33d'] = 'Comment sont gérer les calculs ?';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_c0241eae411627c19ba9835b6d194b1c'] = 'CONTACTO';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>confirm_c888438d14855d7d96a2724ee9c306bd'] = 'Parámetros actualización';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>error_5f36cf760a5c474cc32a6d35d9c50d05'] = 'Código error';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_a1e0a22d72e52d41a027a4b712272ba3'] = 'Ha ocurrido un error durante la ejecución de la petición para';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_aab9e1de16f38176f86d7a92ba337a8d'] = 'tabla';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_06e3d36fa30cea095545139854ad1fb9'] = 'campo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_d49c385804594f966dcb6eedd658504a'] = 'en la tabla';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_c0ceed3d6337c651186565208b96991b'] = 'SQL fuente / mensaje';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_80c8df16f1f26e89eefffe8492540145'] = 'Por favor, recargue esta página para volver a intentar actualizar los campos y las tablas de la base de datos, o compruebe con su alojamiento web por qué obtiene un error SQL';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>multi-shop-config_b30753ed85c2d22559cdcf14d8226751'] = 'Por razones de prestación, el módulo no puede ser configurado o exportado en el contexto del grupo o de todas las tiendas. Debe configurarlo o exportar una tienda cada vez.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_be7d9ac214bd9b4f5af3a922cf844bf5'] = 'Necesitamos efectuar algunas operaciones…';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_ceb81efbca7febd4efa509ebaa575420'] = 'Con el fin de exportar los informes con un margen neto lo más preciso posible, necesitamos efectuar algunas operaciones en la base de datos y calcular nuestras propias cifras. Haga clic en el enlace situado más abajo con el fin de lanzar la actualización ahora.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_c0e6e174de6e6f3ba19d325e0b1c1334'] = 'operación de base de datos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_06933067aafd48425d67bcb01bba5cb6'] = 'Actualización';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_c3be74db97c976391b8d76bede8aec96'] = 'Operaciones de base de datos en curso…';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_81912d9bfe0426a3d7699bd246fed17e'] = 'Informe Pedidos IVA Beneficios';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c5ffaba818ee05ac13a4ac9fbf563c46'] = 'ATTENTION : Vous avez activé les stocks avancés. A cause de la structure de la base données de Prestashop, le module ne peut pas déterminer le prix d\'achat et calculer les profits, quand cette option est activée.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_bca8ab0a72428866a6f0311a3092eea3'] = 'Preferencias de exportación';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_f67f1e0a40edd04af7362c853b3efde6'] = 'Elija su formato de informe';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_7b3f4450b1ed91cbae0125d9e65a2789'] = 'Seleccione el formato de informe. Cada formato muestra una lista de datos predefinidos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_6dace83250c630bfbf38c78872cd8167'] = 'Elija su formato de informe';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_f519607d4fe7c126f9ca9acd0ee6a0fd'] = 'Definir el formato de visualización del informe';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_9b9935ad5969c28de13381a2e512b47c'] = 'NOTA:';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2be5bdb54291894d3dd380c65aef6415'] = 'Si utiliza el formato de salida \"csv\", algunos números se pueden mostrar con el formato científico, en este caso, cambie la propiedad de celda con el fin de ver el valor absoluto de un número en el software Excel por ejemplo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_d4d3bef5ebd27233b2b462dcc4825155'] = 'Codificación UTF-8';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_37035d2e98371b82b9affefb628ef4a0'] = 'Exporte en UTF-8. La aplicación Excel no genera la codificación UTF-8.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_e961855da8e75b0e48725b78378b1107'] = 'IMPORTANT A PROPOS DES PRIX D\'ACHAT ET DU CALCUL DES PROFITS';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_5063622908f5d0bfe2a520796600065e'] = 'Si vous voulez calculer votre marge et vos bénéfices de manière plus précise, merci de suivre attentivement le lien qui suis :';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2a5238c6872a48cccc1b20294e0b08ba'] = 'Comment est géré le prix d\'achat ?';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_58cb31c940f8e84899071c324d5fcc2f'] = 'Filtros de tiempo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a5056090b4bc2a134833f61a0fd636bf'] = 'Por fecha de pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_5da618e8e4b89c66fe86e32cdafde142'] = 'del';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_e12167aa0a7698e6ebc92b4ce3909b53'] = 'al';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_6fc16081479d28fc3a2300ef1877386e'] = 'Por fecha de factura';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_809f2f3c4be38374bb9e192d21779143'] = 'Desde una perspectiva contable, se utilizarán factura deberes de fecha';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_9ff3b5b8b130ebd5f699f37bccc2fe01'] = 'Por fecha de entrega';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a434b8a39675b02c717f854a8180c94a'] = 'Por número de pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_103f199ec4884712be0c51c5dbe53e65'] = 'Por número de factura';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_281bbeb63f7c7a9ac8107524f7821e93'] = 'Por fecha de haber';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_463e3fc8563b15e65878f8846cb0b028'] = 'Filtros de estatus';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_4c41e0bd957698b58100a5c687d757d9'] = 'Seleccionar todo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c8b84a4981af221d5531dfae0f655222'] = 'Filtros de país';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_10ba9dab52555111007ebed4ac1d54d4'] = 'Elija sus países';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c3dce9c2f449bfcf921bf24a39731460'] = 'Seleccione su país con el fin de extraer únicamente los datos de éste';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_06f1ac65b0a6a548339a38b348e64d79'] = 'Orden de clasificación';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_42c744ebb60a239f54b7f10df264c0bc'] = 'Seleccione su campo de clasificación';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_02674a4ef33e11c879283629996c8ff8'] = 'Sentido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_3bf568445bf0afb3ffc40c1af7226931'] = 'Filtro de producto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_16629982b0a460d8372fa8ab56a0903a'] = 'Seleccione sus categorías';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_02ff3d5eb6acadb104c97ed6b3449a5f'] = 'Seleccione sus fabricantes';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2942adbcbd0e002ff06b330ffe9e06dc'] = 'Seleccione sus distribuidores';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_498ef55c478439740495d553329b02a5'] = 'Mostrar por versión';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_7fa3b767c460b54a2be4d49030b349c7'] = 'no';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a6105c0a611b41b08f1209506350279e'] = 'sí';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_905472b73c7b16c40b5f4df354d66f2d'] = 'Mostrar fotos de productos';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_8bffd0df8a023620b5372149c01ec9c9'] = 'Sí, utilizar esta talla:';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_d3766dc1be9587c9545d9ef039ea6872'] = 'Seleccione su tasa de IVA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_70cc3d3fb8178f19eabf99d3562e85c6'] = 'Filtro de cliente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_0095a9fa74d1713e43e370a7d7846224'] = 'Exportar';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_d98a07f84921b24ee30f86fd8cd85c3c'] = 'de';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_382b0f5185773fa0f67a8ed8056c7759'] = 'N/A';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_01b6e20344b68835c5ed1ddedf20d531'] = 'al';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_edd291d1439a6c1c18fe38bee411580f'] = 'Totales';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_d82615a23e54f9456c0b0194239474df'] = 'Ningún pedido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_d98a07f84921b24ee30f86fd8cd85c3c'] = 'de';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_382b0f5185773fa0f67a8ed8056c7759'] = 'N/A';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_01b6e20344b68835c5ed1ddedf20d531'] = 'al';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_ce1526ee69447d2e7524d503b20fa5fd'] = 'Para obtener más información sobre la gestión de los cálculos, se puede colocar el ratón sobre el icono';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_3844e7fcba84200517b8db423d23b4b5'] = 'en la cabecera de la tabla de abajo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_fde47c510518d2322c606f11cb4172ab'] = 'NOTA IMPORTANTE: Los beneficios y el margen bruto pueden ser calculados de manera precisa sólo si el producto vendido no ha sido suprimido tras la emisión del pedido. Si han sido suprimidos productos vendidos, las cifras para esas columnas serán incorrectas. Si el precio de compra ha sido modificado tras la emisión del pedido, el margen bruto calculado estará basado en el precio corriente de compra del producto, y no en el precio de compra tras el pedido. Esto es debido a la propia aplicación Prestashop, y lamentablemente no podemos hacer nada a este nivel. Esto será corregido a partir de la versión 1.5 de Prestashop, en la cual el precio de compra será almacenado al nivel del detalle del pedido.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_d82615a23e54f9456c0b0194239474df'] = 'Ningún pedido';
|
235
modules/ordertaxprofitreport/fr.php
Normal file
@ -0,0 +1,235 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_5baef7a978f870358032f9d757de0691'] = 'Rapport Commandes, TVA et Bénéfices';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_d3a25b47e9eef1c22792ee5a65224c40'] = 'Configurez et exportez votre rapport Commandes, TVA et Bénéfices';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_2d97d5bf5df9e35b7cab65e1ad5b0b28'] = 'Etes-vous sûr de vouloir le supprimer? Votre rapport Commandes, TVA et Bénéfices ne fonctionnera plus';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_9c9ab624360885fcf93b7643c93b6748'] = 'croissant';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_b19e9805fd7727c52ca04dfa3d24a2e5'] = 'décroissant';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_c7247e0f47d955963f1dfdccca16b30d'] = 'mise à jour du template';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_ed73f6b46391b95e1d03c6818a73b8b9'] = 'ko';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_ea38438926bba03c7df2af1e6d75c511'] = 'enregistrement des hooks KO';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_a181a603769c1f98ad927e7367c7aa51'] = 'tous';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-dao_class_c61ab4204f572e9b3aa84a040e0dab31'] = 'Voir produits';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5370b50f5788232a579e5c3429fb18ee'] = 'Date d\'ajout de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_b216d0c9d30c5296511580555b3058a7'] = 'Date de mise à jour de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_409392495c695c6cfbf64783753b815a'] = 'Date de livraison de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_def4a99ed5f227665c8d570d6b72890b'] = 'Date de facturation de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_9127fe218b2cac7f0c8aecd7016a891d'] = 'Nom Boutique';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d79cf3f429596f77db95c65074663a54'] = 'ID de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8ae4286d38bb2235def98fd68d7420d2'] = 'Numéro de facture';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_19f2f692c96d2aff892bad71b80521e9'] = 'Numéro de livraison';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_914419aa32f04011357d3b604a86d7eb'] = 'Transporteur';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f0aaaae189e9c7711931a65ffcd22543'] = 'Méthode de paiement';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d02bbc3cb147c272b0445ac5ca7d1a36'] = 'Statut commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ea067eb37801c5aab1a1c685eb97d601'] = 'Total payé TTC';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f844c20c041eb15e94c27891be644918'] = 'Total réellement payé TTC';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8047bd57bbed2e8ea0a7c67931a703fd'] = 'Total produits HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f147c0b57bb034a0b18d375a00caada5'] = 'Dont Ecotaxe HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6937770a9ed6e75bb990a566096493cf'] = 'Dont TVA écotaxe';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ec2c244b1ff797b2ced33cccb55d3e42'] = 'Total frais de port HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_22b5e30f8660c693620a131a463a7a69'] = 'TVA frais de port';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_65b2eb8951e9008b9594b2c7444bc9cb'] = 'Total TVA collectée';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7d3f36bdfd25c41280b422cc90697291'] = 'Total réductions HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bd96af035f2858f0b37d2328b3735ed5'] = 'TVA réductions ';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6f43f5151eb6cb7eca1ea079d8b81340'] = 'Total emballage HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5fbe938fb1f859affb8da34f2b175f3a'] = 'TVA emballage';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e59097d27bdaaa2987aaaf8100fa91c2'] = 'TVA produits';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3cf600f753fc673c1e57c0f3c807f4d7'] = 'Total coût de revient';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3601146c4e948c32b6424d2c0a7f0118'] = 'Prix';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7f117379ebd5c7a5e478742b111ad9ee'] = 'Bénéfices bruts avant remises';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_52f838a581b8e87c094fa0765218ecfb'] = 'Bénéfices nets HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_c7083f41f6132cf5132b3354d1383147'] = 'Marge brut avant remises';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d786c466e41374f63f00875156696e0f'] = 'Marge nette HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_97f08a40f22a625d0cbfe03db3349108'] = 'Id Produit';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_be53a0541a6d36f6ecb879fa2c584b08'] = 'Photo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_b9aefa40a54680bb258f9f9569290fae'] = 'Nom Produit';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_75ed578ac3cb02b0ba40002a25bc0403'] = 'Référence produit';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8284ae5df53e6e7ffc1f2cc67ae68765'] = 'Référence fournisseur';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5bb375030580afe70139b30663173cb8'] = 'Référence EAN13';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_dc459b2c746f3805dee7eaa42695aa50'] = 'Référence UPC';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_82af5acf70292f0a0e81063ef38f6724'] = 'Le produit a été supprimé, aucunes infos disponibles';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_024f2ba49b4c1e30f90b7a04fc1b35a3'] = 'Total Quantité';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_48f0cbaa50487ac274da786ae8383d36'] = 'Prix Unitaire Moyen';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_20a34c4e30c5bbe1d3f870ac55f0d831'] = 'Taux TVA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f6b38fb0febd3c1178071b735a3330d0'] = 'Total produit H.T';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_347a231da3bd5e326e73e103abdd1673'] = 'TVA Nette (produit - réduction)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_2bd92e2d3c1b16e032b23e040471b1b1'] = 'Bénéfices bruts';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_921f6830401e5cd1e59240594d2e9bec'] = 'Marge brute HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_43d729c7b81bfa5fc10e756660d877d1'] = 'Bénéfices nets';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_58da2fff8dfce588a8fdd4d42c1f682f'] = 'Marge nette HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_60fe0c4da1f0775cbae4ed3a596febdc'] = '% du total ventes';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6f689f49f6945238d7d81c9d1ef1b67e'] = '% du total bénéfices bruts';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_fb3329a037ec126ff3eb59422b82ac72'] = '% du total bénéfices nets';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bb77e12461293768706c1ced4cb2354c'] = 'Cumulatif % du total ventes';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e805fa6e3a9108f33ce8390327b4a737'] = 'Cumulatif % total bénéfices bruts';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_c6df81ee565a2a9a5f36288167d4be47'] = 'Cumulatif % total bénéfices nets';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ad4c7beed61601926b2b2bdfd138f772'] = 'Nom fabricant';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_416000ae4bd8e9942103c9cfd4e985f1'] = 'Le fabricant a été supprimé, aucunes infos disponibles';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a40dd44b49ccaa9c22aef96442cadd98'] = 'Id Fabricant';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bb34a159a88035cce7ef1607e7907f8f'] = 'Nom Catégorie';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ec97ed38e53de96ab38a1e65c2de25f8'] = 'La catégorie a été supprimée, aucunes infos disponibles';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f9edc7482d3eff492319e6c033e9cf55'] = 'Id Catégorie';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6848cd52e0f00104097433f402168ad5'] = 'Nom fournisseur';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7da2f8619de74aa4fa95052ad16a3243'] = 'Le fournisseur a été supprimé, aucunes infos disponibles';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7fd6956c0f477599c3c963b36458cf12'] = 'Id Fournisseur';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ce8ae9da5b7cd6c3df2929543a9af92d'] = 'Email';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_aac772216aecbeca0e86d06671fe985a'] = 'Date d\'anniversaire';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8d3f5eff9c40ee315d452392bed5309b'] = 'Nom';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_4bcd49c5567bd26de52b583562de4483'] = 'Date d\'ajout client';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_4df4b43c0596fd33084382db7ada41a1'] = 'Date de mise à jour client';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_1c76cbfe21c6f44c1d1e59d54f3e4420'] = 'Société';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_956205f0d2c8352f3d92aa3438f1b646'] = 'Adresse 1';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_2e21e83375deefc4a3620ab667157e27'] = 'Adresse 2';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8bcdc441379cbf584638b0589a3f9adb'] = 'Code postal';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_57d056ed0984166336b7879c2af3657f'] = 'Ville';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bcc254b55c4a1babdf1dcb82c207506b'] = 'Téléphone';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_59716c97497eb9694541f7c3d37b1a4d'] = 'Pays';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_64500d3e065dad68345d63e37a182bb8'] = 'Première commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d37c2bf1bd3143847fca087b354f920e'] = 'ID client';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d957e2652355299cb367c4b7e07d9141'] = 'Dernière commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e435e1597b793d65c3300af5049c2d2f'] = '# de commandes';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_76ae87f51dcdf009e6537181bb6f30d5'] = '# de produits commandés';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8783eff1323cf938b395319173177925'] = 'Panier moyen (TTC, tout compris)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3295a54e3830a75b4a3097420505d1e7'] = 'Produits commandés';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e7e9aee61e6618b7ab8cfff2af334196'] = 'ID Avoir';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8b94d893d4e0b0eb0600b3124f36bd1a'] = 'Date Avoir';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a52bea227179ecafe141e9b13318e74d'] = 'Total H.T';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e86d4d3db54715c430a156cbf82a7812'] = 'Total T.T.C';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8334df53274fdf53563feb74baf0d2b8'] = 'Total Produits HT - Total coût de revient';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e58e20045a852787c62ba6a685c58c25'] = 'Total Produits HT - Total coût de revient - Total réductions HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3fbe6a964fbe8dd864a59008e750656e'] = 'Bénéfices bruts HT / Total Produits HT x 100';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_639f2aeed02253fdb880732a91d57a52'] = '(Bénéfices nets HT + Total emballage HT) / (Total Produits HT - Total réductions HT + Total emballage HT) x 100';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_78463a384a5aa4fad5fa73e2f506ecfc'] = 'Anglais';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ad225f707802ba118c22987186dd38e8'] = 'Français';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a240fa27925a635b08dc28c9e4f9216d'] = 'Commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_065ab3a28ca4f16f55f103adc7d0226f'] = 'Livraison';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_466eadd40b3c10580e3ab4e8061161ce'] = 'Facture';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8718093cc5771291c51e9d8d75e4e58d'] = 'Le numéro de début de commande n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_1e9dfec8ceb4225e574fe913cae9e758'] = 'Le numéro de fin de commande n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_60add46717e95760aac89a34a213dc0a'] = 'Le numéro de début de facture n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e23eae8ab9676935cb3f51bf589de715'] = 'Le numéro de fin de facture n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_4b400cf1a3fd5f760dd8d613ec8f2e0e'] = 'Le type de template n\'est pas valide';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_8718093cc5771291c51e9d8d75e4e58d'] = 'Le numéro de début de commande n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_a240fa27925a635b08dc28c9e4f9216d'] = 'Commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_1e9dfec8ceb4225e574fe913cae9e758'] = 'Le numéro de fin de commande n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_60add46717e95760aac89a34a213dc0a'] = 'Le numéro de début de facture n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_e23eae8ab9676935cb3f51bf589de715'] = 'Le numéro de fin de facture n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_fc00821b8ddd74aa9e882b2c083ff3cf'] = 'Le numéro de début de l\'avoir n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_4a15d2433983408e3ba2307bcaecd7b8'] = 'Le numéro de fin de l\'avoir n\'est pas un entier';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_f43e7643b8e9370a80a640ab5d18ddf6'] = 'Une erreur est survenue lors de la mise à jour du \"statut de sélection\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_65db350a5f3acd5e9cf05d610a394682'] = 'Le champ de tri sélectionné n\'est pas valide';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_b01102f5284584334270c0c37fcb92d9'] = 'La direction de tri n\'est pas valide';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_eab36e1b95cf7497068aaad4661b98cc'] = 'La liste des catégories n\'est pas un tableau';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_8f461c277e4ab89b7cf566a095db3bc9'] = 'La liste des fabricants n\'est pas un tableau';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_bea59ae2ad66b2f89114886363763244'] = 'La liste des fournisseurs n\'est pas un tableau';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_47948dd414948435b0b2b92ba56dfe8a'] = 'l\'option d\'affichage de la déclinaison n\'est pas valide';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_dd8baccde29a3f17d2d6dc4b4a333e98'] = 'La liste d\'IDs pays n\'est pas un tableau';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_851bd9c9a17ef959f2d57421c44a7cb3'] = 'La liste des groupes client n\'est pas un tableau';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_90c336f34c40ca27e9b3d6aadc449056'] = 'Une erreur est survenue lors de la mise à jour des \"préférences\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_87557f11575c0ad78e4e28abedc13b6e'] = 'Fin';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_a8c6472c3b4672f4101549a5f7fdd5c3'] = 'date doit être plus grande que la date de début';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_4b82e5cdd90fbd3a6b000e2b39ce3339'] = 'Une erreur est survenue lors de la mise à jour de l\'option \"en-têtes et totaux\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_faa3a8fa4293e373893043ff3b9417ee'] = 'Une erreur est survenue lors de la mise à jour de l\'option \"Format de date\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_c38069d9e21696961ecb56b215a49d75'] = 'Une erreur est survenue lors de la mise à jour de l\'option \"nombre de décimales après la virgule\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_208bfc6b716a22e707e80bff7ae21141'] = 'Une erreur est survenue lors de la mise à jour de l\'option \"séparateur décimale\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_37afe90683268e034fe83342bf394f2f'] = 'Une erreur est survenue lors de la mise à jour de l\'option \"fixer une taille de cellule\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_70f666c46f0f575682dce3071b0d2748'] = 'Une erreur est survenue lors de la mise à jour du détail de la commande pour';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_35a82907e1c8cd3e81555f2ff13e61a1'] = 'ID de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_179d2123ef38fe32afb6a1287ec9b50a'] = 'ID du détail de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_8bb66ba9e450affc5967ff7c3fe0107a'] = 'Une erreur est survenue lors de la mise à jour du prix d\'achat';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_d6638fe6f1a2d636dec54690826e6fb4'] = 'Il n\'y a aucune commande pour cette boutique';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_36d203068578209f63c0e501a6bd6a2b'] = 'Merci de lire attentivement la documentation dans l\'onglet AIDE / FAQ ';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_83218ac34c1834c26781fe4bde918ee4'] = 'Bienvenue';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2a94082b582d0620bae922fc14c36444'] = 'Paramètres de base';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_74b7ffaf50e2a3c4d050e43e1cdc6f53'] = 'Aide / F.A.Q';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_0ff6eb37f842d564efa312bdf7c4f38b'] = 'Merci et merci d\'avoir acheté notre module';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_df678e223d77378a05d89fb6d790de3e'] = 'Formulaire d\'export';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_fc95f13ef64791ed6e8b9dab8f4d4d7a'] = 'Vous laisserez cette case cochée dans la plupart des cas, à moins que vous ne vouliez exploiter les données dans une autre application';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_688a21937c346d1c62020982b5a732a9'] = 'Inclure les en-têtes et les totaux';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2ddc3e619828b2c0f07b89be00f1f532'] = 'Définir le format de date à afficher à chaque ligne du rapport';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_534fd46732986cba0efeda8701592427'] = 'Format de date';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2f554476eebba4c39ffaa873acd1b1c7'] = 'Nombre de décimales après la virgule';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_5da24cfbd879004aa381e435067738a5'] = 'Votre séparateur décimale';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2aefcd49d33f0a08c0af1bf1826a5dc9'] = 'Définir une largeur de cellule';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_93cba07454f06a4a960172bbd6e2a435'] = 'Oui';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_829ac370756b1b19ddc9d20ae7fa42f2'] = 'Pour les rapports HTML seulement';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_87cb99e72eafb07be7a04a05e645b4f1'] = 'Largeur de la cellule';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_06933067aafd48425d67bcb01bba5cb6'] = 'Mettre à jour';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_869e770c1d3c500cb96656c6239ddb5e'] = 'FAQ en ligne';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_af95c95ffb5ffd8d0ff2e197782fa644'] = 'Comment gérer un rapport';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_c43b7cbb611179919912ca11e824a33d'] = 'Comment sont gérer les calculs ?';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_c0241eae411627c19ba9835b6d194b1c'] = 'CONTACT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>confirm_c888438d14855d7d96a2724ee9c306bd'] = 'Paramètres mis à jour';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>error_5f36cf760a5c474cc32a6d35d9c50d05'] = 'Code erreur';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_a1e0a22d72e52d41a027a4b712272ba3'] = 'Une erreur est survenue lors de l\'exécution de la requête pour';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_aab9e1de16f38176f86d7a92ba337a8d'] = 'table';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_06e3d36fa30cea095545139854ad1fb9'] = 'champ';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_d49c385804594f966dcb6eedd658504a'] = 'dans la table';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_c0ceed3d6337c651186565208b96991b'] = 'SQL source / message';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_80c8df16f1f26e89eefffe8492540145'] = 'Veuillez recharger cette page afin de réessayer la mise à jour des tables et des champs SQL ou alors veuillez voir avec votre hébergeur pourquoi vous obtenez une erreur SQL';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>multi-shop-config_b30753ed85c2d22559cdcf14d8226751'] = 'Pour des raisons de performance, le module ne peut-être configuré ou ne peut exporter dans le contexte de groupe ou de toutes les boutiques. Vous devez le configurer ou exporter une boutique à la fois. ';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_be7d9ac214bd9b4f5af3a922cf844bf5'] = 'Nous avons besoin de faire quelques opérations...';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_ceb81efbca7febd4efa509ebaa575420'] = 'Afin d\'exporter les rapports avec une marge nette la plus précise possible, nous avons besoin d\'exécuter quelques opérations dans la base de données et de calculer nos propres chiffres. Veuillez cliquer sur le lien ci-dessous afin de lancer la mise à jour maintenant';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_c0e6e174de6e6f3ba19d325e0b1c1334'] = 'opérations de base de données';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_06933067aafd48425d67bcb01bba5cb6'] = 'Mettre à jour';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_c3be74db97c976391b8d76bede8aec96'] = 'Opérations de base de données en cours...';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_81912d9bfe0426a3d7699bd246fed17e'] = 'Rapport Commandes T.V.A Bénéfices';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c5ffaba818ee05ac13a4ac9fbf563c46'] = 'ATTENTION : Vous avez activé les stocks avancés. A cause de la structure de la base données de Prestashop, le module ne peut pas déterminer le prix d\'achat et calculer les profits, quand cette option est activée.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_bca8ab0a72428866a6f0311a3092eea3'] = 'Préférences d\'export';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_f67f1e0a40edd04af7362c853b3efde6'] = 'Choisissez votre format de rapport';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_7b3f4450b1ed91cbae0125d9e65a2789'] = 'Sélectionnez le format de rapport. Chaque format affiche une liste de données prédéfinies';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_6dace83250c630bfbf38c78872cd8167'] = 'Choisissez votre format d\'affichage';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_f519607d4fe7c126f9ca9acd0ee6a0fd'] = 'Définir le format d\'affichage du rapport';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_9b9935ad5969c28de13381a2e512b47c'] = 'NOTE:';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2be5bdb54291894d3dd380c65aef6415'] = 'Si vous utilisez le format de sortie \"csv\", certains nombres pourront être affichés au format scientifique, dans ce cas, changez la propriété de la cellule afin de faire voir la valeur absolue du nombre dans Excel par exemple';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_d4d3bef5ebd27233b2b462dcc4825155'] = 'Encodage UTF-8';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_37035d2e98371b82b9affefb628ef4a0'] = 'Exportez en UTF-8. L\'application excel ne gère pas l\'encodage UTF-8.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_e961855da8e75b0e48725b78378b1107'] = 'IMPORTANT A PROPOS DES PRIX D\'ACHAT ET DU CALCUL DES PROFITS';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_5063622908f5d0bfe2a520796600065e'] = 'Si vous voulez calculer votre marge et vos bénéfices de manière plus précise, merci de suivre attentivement le lien qui suis :';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2a5238c6872a48cccc1b20294e0b08ba'] = 'Comment est géré le prix d\'achat ?';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_58cb31c940f8e84899071c324d5fcc2f'] = 'Filtres de temps';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a5056090b4bc2a134833f61a0fd636bf'] = 'Par date de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_5da618e8e4b89c66fe86e32cdafde142'] = 'du';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_e12167aa0a7698e6ebc92b4ce3909b53'] = 'au';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_6fc16081479d28fc3a2300ef1877386e'] = 'Par date de facture';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_809f2f3c4be38374bb9e192d21779143'] = 'D\'un point de vue comptable, vous devriez utiliser la date de facturation';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_9ff3b5b8b130ebd5f699f37bccc2fe01'] = 'Par date de livraison';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a434b8a39675b02c717f854a8180c94a'] = 'Par numéro de commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_103f199ec4884712be0c51c5dbe53e65'] = 'Par numéro de facture';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_281bbeb63f7c7a9ac8107524f7821e93'] = 'Par date d\'avoir';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_463e3fc8563b15e65878f8846cb0b028'] = 'Filtres de statut';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_4c41e0bd957698b58100a5c687d757d9'] = 'Tout sélectionner';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c8b84a4981af221d5531dfae0f655222'] = 'Filtres de pays';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_10ba9dab52555111007ebed4ac1d54d4'] = 'Choisissez vos pays';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c3dce9c2f449bfcf921bf24a39731460'] = 'Sélectionnez votre pays afin d\'en extraire uniquement les données de celui-ci';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_06f1ac65b0a6a548339a38b348e64d79'] = 'Ordre de tri';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_42c744ebb60a239f54b7f10df264c0bc'] = 'Sélectionnez votre champ de tri';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_02674a4ef33e11c879283629996c8ff8'] = 'Sens';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_3bf568445bf0afb3ffc40c1af7226931'] = 'Filtre de produit';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_16629982b0a460d8372fa8ab56a0903a'] = 'Sélectionnez vos catégories';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_02ff3d5eb6acadb104c97ed6b3449a5f'] = 'Sélectionnez vos fabricants';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2942adbcbd0e002ff06b330ffe9e06dc'] = 'Sélectionnez vos fournisseurs';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_498ef55c478439740495d553329b02a5'] = 'Affiché par déclinaison';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_7fa3b767c460b54a2be4d49030b349c7'] = 'non';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a6105c0a611b41b08f1209506350279e'] = 'oui';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_905472b73c7b16c40b5f4df354d66f2d'] = 'Montrer photos produits';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_8bffd0df8a023620b5372149c01ec9c9'] = 'Oui, utiliser cette taille: ';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_d3766dc1be9587c9545d9ef039ea6872'] = 'Sélectionnez votre taux de T.V.A';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_70cc3d3fb8178f19eabf99d3562e85c6'] = 'Filtre de client';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_0095a9fa74d1713e43e370a7d7846224'] = 'Exporter';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_d98a07f84921b24ee30f86fd8cd85c3c'] = 'du';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_382b0f5185773fa0f67a8ed8056c7759'] = 'N/A';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_01b6e20344b68835c5ed1ddedf20d531'] = 'ai';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_edd291d1439a6c1c18fe38bee411580f'] = 'Totaux';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_d82615a23e54f9456c0b0194239474df'] = 'Aucune commande';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_d98a07f84921b24ee30f86fd8cd85c3c'] = 'du';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_382b0f5185773fa0f67a8ed8056c7759'] = 'N/A';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_01b6e20344b68835c5ed1ddedf20d531'] = 'au';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_ce1526ee69447d2e7524d503b20fa5fd'] = 'Afin de connaitre les détails des calculs vous pouvez passer votre souris sur l\'icone';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_3844e7fcba84200517b8db423d23b4b5'] = 'dans l\'entête du tableau ci dessous';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_fde47c510518d2322c606f11cb4172ab'] = 'NOTE IMPORTANTE: Les bénéfices et la marge brute peuvent être calculés précisément seulement si le produit vendu n\'a pas été supprimé depuis le passage de la commande. Si des produits vendus ont été supprimés, les chiffres pour ces colonnes seront incorrects. Si le prix d\'achat a été modifié depuis le passage de la commande, la marge brute calculée sera basée sur le prix courant d\'achat du produit, et non pas sur le prix d\'achat du produit lors de la commande. Cela est dû à l\'application Prestashop elle-même et malheureusement nous ne pouvons rien faire à ce niveau là. Cela sera corrigé à partir de la version 1.5 de Prestashop, dans laquelle le prix d\'achat sera stocké au niveau du détail de la commande.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_d82615a23e54f9456c0b0194239474df'] = 'Aucune commande';
|
35
modules/ordertaxprofitreport/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2015 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-2015 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
235
modules/ordertaxprofitreport/it.php
Normal file
@ -0,0 +1,235 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_5baef7a978f870358032f9d757de0691'] = 'Rapporto ordini, IVA e utili';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_d3a25b47e9eef1c22792ee5a65224c40'] = 'Configuri e esporti il suo rapporto ordini, IVA e utili';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_2d97d5bf5df9e35b7cab65e1ad5b0b28'] = 'Sicuro di volerlo eliminare? Il suo rapporto ordini, IVA e utili non sarà più attivo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_9c9ab624360885fcf93b7643c93b6748'] = 'crescente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_b19e9805fd7727c52ca04dfa3d24a2e5'] = 'decrescente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_c7247e0f47d955963f1dfdccca16b30d'] = 'aggiornamento del template';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_ed73f6b46391b95e1d03c6818a73b8b9'] = 'ko';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_ea38438926bba03c7df2af1e6d75c511'] = 'registrazione degli hooks KO';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>ordertaxprofitreport_a181a603769c1f98ad927e7367c7aa51'] = 'tutti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-dao_class_c61ab4204f572e9b3aa84a040e0dab31'] = 'Vedere prodotti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5370b50f5788232a579e5c3429fb18ee'] = 'Data inserimento ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_b216d0c9d30c5296511580555b3058a7'] = 'Data aggiornamento ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_409392495c695c6cfbf64783753b815a'] = 'Data spedizione ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_def4a99ed5f227665c8d570d6b72890b'] = 'Data fatturazione ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_9127fe218b2cac7f0c8aecd7016a891d'] = 'Nome Negozio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d79cf3f429596f77db95c65074663a54'] = 'ID ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8ae4286d38bb2235def98fd68d7420d2'] = 'Numero fattura';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_19f2f692c96d2aff892bad71b80521e9'] = 'Numero spedizione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_914419aa32f04011357d3b604a86d7eb'] = 'Trasportatore';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f0aaaae189e9c7711931a65ffcd22543'] = 'Metodo di pagamento';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d02bbc3cb147c272b0445ac5ca7d1a36'] = 'Stato ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ea067eb37801c5aab1a1c685eb97d601'] = 'Totale pagato TTC';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f844c20c041eb15e94c27891be644918'] = 'Totale realmente pagato TTC';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8047bd57bbed2e8ea0a7c67931a703fd'] = 'Totale prodotti HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f147c0b57bb034a0b18d375a00caada5'] = 'Compreso Ecotassa UST escl.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6937770a9ed6e75bb990a566096493cf'] = 'Compreso importo Tax Ecotassa';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ec2c244b1ff797b2ced33cccb55d3e42'] = 'Totale tasse di porto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_22b5e30f8660c693620a131a463a7a69'] = 'IVA tasse di porto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_65b2eb8951e9008b9594b2c7444bc9cb'] = 'Totale IVA raccolta';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7d3f36bdfd25c41280b422cc90697291'] = 'Totale riduzioni HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bd96af035f2858f0b37d2328b3735ed5'] = 'Riduzioni IVA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6f43f5151eb6cb7eca1ea079d8b81340'] = 'Totale imballaggio HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5fbe938fb1f859affb8da34f2b175f3a'] = 'IVA imballaggio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e59097d27bdaaa2987aaaf8100fa91c2'] = 'IVA prodotti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3cf600f753fc673c1e57c0f3c807f4d7'] = 'Totale costo beni venduti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3601146c4e948c32b6424d2c0a7f0118'] = 'Prezzo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7f117379ebd5c7a5e478742b111ad9ee'] = 'Il Profitto Lordo al lordo degli sconti.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_52f838a581b8e87c094fa0765218ecfb'] = 'Utili netti HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_c7083f41f6132cf5132b3354d1383147'] = 'Margine lordo prima degli sconti.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d786c466e41374f63f00875156696e0f'] = 'Margine netto HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_97f08a40f22a625d0cbfe03db3349108'] = 'Id Prodotto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_be53a0541a6d36f6ecb879fa2c584b08'] = 'Foto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_b9aefa40a54680bb258f9f9569290fae'] = 'Nome Prodotto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_75ed578ac3cb02b0ba40002a25bc0403'] = 'Referenza prodotto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8284ae5df53e6e7ffc1f2cc67ae68765'] = 'Referenza fornitore';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_5bb375030580afe70139b30663173cb8'] = 'Referenza EAN13';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_dc459b2c746f3805dee7eaa42695aa50'] = 'Referenza UPC';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_82af5acf70292f0a0e81063ef38f6724'] = 'Il prodotto è stato eliminato, nessuna informazione disponibile';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_024f2ba49b4c1e30f90b7a04fc1b35a3'] = 'Totale Quantità';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_48f0cbaa50487ac274da786ae8383d36'] = 'Prezzo Unitario Medio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_20a34c4e30c5bbe1d3f870ac55f0d831'] = 'Tasso IVA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f6b38fb0febd3c1178071b735a3330d0'] = 'Totale prodotto HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_347a231da3bd5e326e73e103abdd1673'] = 'IVA netta (prodotto - riduzione)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_2bd92e2d3c1b16e032b23e040471b1b1'] = 'Utili lordi';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_921f6830401e5cd1e59240594d2e9bec'] = 'Margine lordo HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_43d729c7b81bfa5fc10e756660d877d1'] = 'Utili netti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_58da2fff8dfce588a8fdd4d42c1f682f'] = 'Margine netto HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_60fe0c4da1f0775cbae4ed3a596febdc'] = '% del totale delle vendite';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6f689f49f6945238d7d81c9d1ef1b67e'] = '% del totale utili lordi';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_fb3329a037ec126ff3eb59422b82ac72'] = '% del totale utili netti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bb77e12461293768706c1ced4cb2354c'] = '% cumulativa del totale delle vendite';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e805fa6e3a9108f33ce8390327b4a737'] = '% cumulativa del totale utili lordi';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_c6df81ee565a2a9a5f36288167d4be47'] = '% cumulativa del totale utili netti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ad4c7beed61601926b2b2bdfd138f772'] = 'Nome produttore';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_416000ae4bd8e9942103c9cfd4e985f1'] = 'Il produttore è stato eliminato, nessuna informazione disponibile';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a40dd44b49ccaa9c22aef96442cadd98'] = 'ID produttore';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bb34a159a88035cce7ef1607e7907f8f'] = 'Nome Categoria';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ec97ed38e53de96ab38a1e65c2de25f8'] = 'La categoria è stata eliminata, nessuna informazione disponibile';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_f9edc7482d3eff492319e6c033e9cf55'] = 'ID categoria';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_6848cd52e0f00104097433f402168ad5'] = 'Nome fornitore';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7da2f8619de74aa4fa95052ad16a3243'] = 'Il fornitore è stato eliminato, nessuna informazione disponibile';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_7fd6956c0f477599c3c963b36458cf12'] = 'ID fornitore';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ce8ae9da5b7cd6c3df2929543a9af92d'] = 'Email';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_aac772216aecbeca0e86d06671fe985a'] = 'Data di nascita';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8d3f5eff9c40ee315d452392bed5309b'] = 'Cognome';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_20db0bfeecd8fe60533206a2b5e9891a'] = 'Nome';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_4bcd49c5567bd26de52b583562de4483'] = 'Data di inserimento cliente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_4df4b43c0596fd33084382db7ada41a1'] = 'Data di aggiornamento cliente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_1c76cbfe21c6f44c1d1e59d54f3e4420'] = 'Società';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_956205f0d2c8352f3d92aa3438f1b646'] = 'Indirizzo 1';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_2e21e83375deefc4a3620ab667157e27'] = 'Indirizzo 2';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8bcdc441379cbf584638b0589a3f9adb'] = 'Codice postale';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_57d056ed0984166336b7879c2af3657f'] = 'Città';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_bcc254b55c4a1babdf1dcb82c207506b'] = 'Telefono';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_59716c97497eb9694541f7c3d37b1a4d'] = 'Stato';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_64500d3e065dad68345d63e37a182bb8'] = 'Primo ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d37c2bf1bd3143847fca087b354f920e'] = 'ID cliente';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_d957e2652355299cb367c4b7e07d9141'] = 'Ultimo ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e435e1597b793d65c3300af5049c2d2f'] = '# ordini';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_76ae87f51dcdf009e6537181bb6f30d5'] = '# prodotti ordinati';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8783eff1323cf938b395319173177925'] = 'Carrello medio (TTC, tutto incluso)';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3295a54e3830a75b4a3097420505d1e7'] = 'Prodotti ordinati';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e7e9aee61e6618b7ab8cfff2af334196'] = 'ID Buono';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8b94d893d4e0b0eb0600b3124f36bd1a'] = 'Data Buono';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a52bea227179ecafe141e9b13318e74d'] = 'Totale HT';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e86d4d3db54715c430a156cbf82a7812'] = 'Totale TTC';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8334df53274fdf53563feb74baf0d2b8'] = 'Totale prodotti non fiscali - Costo totale';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e58e20045a852787c62ba6a685c58c25'] = 'Totale prodotti non fiscali - Costo totale - Totale sconti tasse escl.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_3fbe6a964fbe8dd864a59008e750656e'] = 'Utile lordo IVA / Totale prodotti non imposta x 100';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_639f2aeed02253fdb880732a91d57a52'] = '(Tasse Utile netto esclusa + Totale confezionamento tasse escl.) / (Totale prodotti non imposta -.. Totale sconti Iva escl + avvolgimento totale Iva escl) x 10';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_78463a384a5aa4fad5fa73e2f506ecfc'] = 'Inglese';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_ad225f707802ba118c22987186dd38e8'] = 'Francese';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_a240fa27925a635b08dc28c9e4f9216d'] = 'Ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_065ab3a28ca4f16f55f103adc7d0226f'] = 'Spedizione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_466eadd40b3c10580e3ab4e8061161ce'] = 'Fattura';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_8718093cc5771291c51e9d8d75e4e58d'] = 'Il numero di inizio ordine non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_1e9dfec8ceb4225e574fe913cae9e758'] = 'Il numero di fine ordine non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_60add46717e95760aac89a34a213dc0a'] = 'Il numero di inizio fattura non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-tools_class_e23eae8ab9676935cb3f51bf589de715'] = 'Il numero di fine fattura non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_4b400cf1a3fd5f760dd8d613ec8f2e0e'] = 'Il tipo di template non è valido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_8718093cc5771291c51e9d8d75e4e58d'] = 'Il numero di inizio ordine non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_a240fa27925a635b08dc28c9e4f9216d'] = 'Ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_1e9dfec8ceb4225e574fe913cae9e758'] = 'Il numero di fine ordine non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_60add46717e95760aac89a34a213dc0a'] = 'Il numero di inizio fattura non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_e23eae8ab9676935cb3f51bf589de715'] = 'Il numero di fine fattura non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_fc00821b8ddd74aa9e882b2c083ff3cf'] = 'Il numero di inizio buono non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_4a15d2433983408e3ba2307bcaecd7b8'] = 'Il numero di fine buono non è completo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_f43e7643b8e9370a80a640ab5d18ddf6'] = 'Si è verificato un errore durante l\'aggiornamento dello \"stato di selezione\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_65db350a5f3acd5e9cf05d610a394682'] = 'Il campo di selezione non è valido';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_b01102f5284584334270c0c37fcb92d9'] = 'La direzione di selezione non è valida';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_eab36e1b95cf7497068aaad4661b98cc'] = 'La lista delle categorie non è una tabella';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_8f461c277e4ab89b7cf566a095db3bc9'] = 'La lista dei produttori non è una tabella';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_bea59ae2ad66b2f89114886363763244'] = 'La lista dei fornitori non è una tabella';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_47948dd414948435b0b2b92ba56dfe8a'] = 'L\'opzione di visualizzazione della variante non è valida';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_dd8baccde29a3f17d2d6dc4b4a333e98'] = 'La lista dei ID paese non è una tabella';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_851bd9c9a17ef959f2d57421c44a7cb3'] = 'La lista dei gruppi cliente non è una tabella';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_90c336f34c40ca27e9b3d6aadc449056'] = 'Si è verificato un errore durante l\'aggiornamento delle \"preferenze\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_87557f11575c0ad78e4e28abedc13b6e'] = 'Fine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-export_class_a8c6472c3b4672f4101549a5f7fdd5c3'] = 'La data di fine deve essere un valore maggiore della data di inizio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_4b82e5cdd90fbd3a6b000e2b39ce3339'] = 'Si è verificato un errore durante l\'aggiornamento dell\'opzione \"intestazioni e totali\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_faa3a8fa4293e373893043ff3b9417ee'] = 'Si è verificato un errore durante l\'aggiornamento dell\'opzione \"Formato data\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_c38069d9e21696961ecb56b215a49d75'] = 'Si è verificato un errore durante l\'aggiornamento dell\'opzione \"numero di decimali dopo la virgola\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_208bfc6b716a22e707e80bff7ae21141'] = 'Si è verificato un errore durante l\'aggiornamento dell\'opzione \"separatore decimale\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_37afe90683268e034fe83342bf394f2f'] = 'Une erreur est survenue lors de la mise à jour de l\'option \"fixer une taille de cellule\"';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_70f666c46f0f575682dce3071b0d2748'] = 'Si è verificato un errore durante l\'aggiornamento dell\' ordine per';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_35a82907e1c8cd3e81555f2ff13e61a1'] = 'ID ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_179d2123ef38fe32afb6a1287ec9b50a'] = 'ID dettaglio ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_8bb66ba9e450affc5967ff7c3fe0107a'] = 'Une erreur est survenue lors de la mise à jour du prix d\'achat';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>admin-update_class_d6638fe6f1a2d636dec54690826e6fb4'] = 'Non c\'è nessun ordine per questo negozio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_36d203068578209f63c0e501a6bd6a2b'] = 'Si prega di leggere con attenzione la nostra documentazione in / scheda AIUTO FAQ';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_83218ac34c1834c26781fe4bde918ee4'] = 'Benvenuto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2a94082b582d0620bae922fc14c36444'] = 'Impostazioni di base';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_74b7ffaf50e2a3c4d050e43e1cdc6f53'] = 'Aiuto / FAQ';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_0ff6eb37f842d564efa312bdf7c4f38b'] = 'Benvenuti e grazie di aver acquistato il nostro modulo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_df678e223d77378a05d89fb6d790de3e'] = 'Modulo di esportazione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_fc95f13ef64791ed6e8b9dab8f4d4d7a'] = 'Lascerà questa casella selezionata nella maggior parte dei casi, a meno che non voglia sfruttare i dati in un\'altra applicazione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_688a21937c346d1c62020982b5a732a9'] = 'Includere le intestazioni e i totali';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2ddc3e619828b2c0f07b89be00f1f532'] = 'Definire il formato data da visualizzare a ogni linea del report';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_534fd46732986cba0efeda8701592427'] = 'Formato data';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2f554476eebba4c39ffaa873acd1b1c7'] = 'Numero di decimali dopo la virgola';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_5da24cfbd879004aa381e435067738a5'] = 'Il suo separatore decimale';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_2aefcd49d33f0a08c0af1bf1826a5dc9'] = 'Définir une largeur de cellule';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_93cba07454f06a4a960172bbd6e2a435'] = 'Oui';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_829ac370756b1b19ddc9d20ae7fa42f2'] = 'Pour les rapports HTML seulement';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_87cb99e72eafb07be7a04a05e645b4f1'] = 'Largeur de la cellule';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_06933067aafd48425d67bcb01bba5cb6'] = 'Aggiornare';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_869e770c1d3c500cb96656c6239ddb5e'] = 'FAQ IN LINEA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_af95c95ffb5ffd8d0ff2e197782fa644'] = 'Come gestire relazione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_c43b7cbb611179919912ca11e824a33d'] = 'Comment sont gérer les calculs ?';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>basic-settings_c0241eae411627c19ba9835b6d194b1c'] = 'CONTATTI';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>confirm_c888438d14855d7d96a2724ee9c306bd'] = 'Parametri di aggiornamento';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>error_5f36cf760a5c474cc32a6d35d9c50d05'] = 'Codice errore';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_a1e0a22d72e52d41a027a4b712272ba3'] = 'Si è verificato un errore durante l\'esecuzione della richiesta per';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_aab9e1de16f38176f86d7a92ba337a8d'] = 'tabella';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_06e3d36fa30cea095545139854ad1fb9'] = 'campo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_d49c385804594f966dcb6eedd658504a'] = 'nella tabella';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_c0ceed3d6337c651186565208b96991b'] = 'SQL source/ message';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>module-update_80c8df16f1f26e89eefffe8492540145'] = 'Si prega di ricaricare questa pagina per riprovare l\'aggiornamento delle tabelle e dei campo SQL o verifichi con il suo host perché si verifica un errore SQL';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>multi-shop-config_b30753ed85c2d22559cdcf14d8226751'] = 'Per ragioni di prestazioni, il modulo non può essere configurato o configurato nel contesto di gruppo o di tutti i negozi. Si prega di configurare o esportare un negozio alla volta.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_be7d9ac214bd9b4f5af3a922cf844bf5'] = 'Abbiamo bisogno di effettuare alcune operazioni';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_ceb81efbca7febd4efa509ebaa575420'] = 'Per poter esportare i report con un margine netto il più preciso possibile, abbiamo bisogno di eseguire qualche operazione al database e calcolare le nostre cifre. Si prega di cliccare sul link qua sotto per lanciare l\'aggiornamento ora';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_c0e6e174de6e6f3ba19d325e0b1c1334'] = 'Operazioni di database';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_06933067aafd48425d67bcb01bba5cb6'] = 'Aggiornare';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>register-orders_c3be74db97c976391b8d76bede8aec96'] = 'Operazioni di database in corso…';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_81912d9bfe0426a3d7699bd246fed17e'] = 'Rapporto ordini, IVA, utili';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c5ffaba818ee05ac13a4ac9fbf563c46'] = 'ATTENTION : Vous avez activé les stocks avancés. A cause de la structure de la base données de Prestashop, le module ne peut pas déterminer le prix d\'achat et calculer les profits, quand cette option est activée.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_bca8ab0a72428866a6f0311a3092eea3'] = 'Preferenze di esportazione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_f67f1e0a40edd04af7362c853b3efde6'] = 'Scelga il suo formato di report';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_7b3f4450b1ed91cbae0125d9e65a2789'] = 'Selezioni il formato di report. Ogni formato permette di visualizzare una lista di dati predefiniti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_6dace83250c630bfbf38c78872cd8167'] = 'Scelga il suo formato di visualizzazione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_f519607d4fe7c126f9ca9acd0ee6a0fd'] = 'Definire il formato di visualizzazione del report';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_9b9935ad5969c28de13381a2e512b47c'] = 'NOTA:';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2be5bdb54291894d3dd380c65aef6415'] = 'Se si utilizza il formato di output \"csv\", alcuni numeri possono essere visualizzati con il formato scientifica, in questo caso, modificare la struttura delle cellule al fine di vedere il valore assoluto del numero in software excel per esempio';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_d4d3bef5ebd27233b2b462dcc4825155'] = 'Encoding UTF-8';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_37035d2e98371b82b9affefb628ef4a0'] = 'Esporti in UTF-8. L\'applicazione excel non gestisce l\'encoding UTF-8.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_e961855da8e75b0e48725b78378b1107'] = 'IMPORTANT A PROPOS DES PRIX D\'ACHAT ET DU CALCUL DES PROFITS';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_5063622908f5d0bfe2a520796600065e'] = 'Si vous voulez calculer votre marge et vos bénéfices de manière plus précise, merci de suivre attentivement le lien qui suis :';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2a5238c6872a48cccc1b20294e0b08ba'] = 'Comment est géré le prix d\'achat ?';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_58cb31c940f8e84899071c324d5fcc2f'] = 'Filtri di data';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a5056090b4bc2a134833f61a0fd636bf'] = 'Per data de ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_5da618e8e4b89c66fe86e32cdafde142'] = 'dal';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_e12167aa0a7698e6ebc92b4ce3909b53'] = 'al';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_6fc16081479d28fc3a2300ef1877386e'] = 'Per data di fattura';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_809f2f3c4be38374bb9e192d21779143'] = 'Dal punto di vista contabile, data della fattura deve essere usato';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_9ff3b5b8b130ebd5f699f37bccc2fe01'] = 'Per data di spedizione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a434b8a39675b02c717f854a8180c94a'] = 'Per numero di ordini';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_103f199ec4884712be0c51c5dbe53e65'] = 'Per numero di fattura';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_281bbeb63f7c7a9ac8107524f7821e93'] = 'Per data di buono';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_463e3fc8563b15e65878f8846cb0b028'] = 'Filtri di stato';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_4c41e0bd957698b58100a5c687d757d9'] = 'Selezionare tutto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c8b84a4981af221d5531dfae0f655222'] = 'Filtri di paese';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_10ba9dab52555111007ebed4ac1d54d4'] = 'Scegli i tuoi paesi';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_c3dce9c2f449bfcf921bf24a39731460'] = 'Selezioni il suo paese per estrarre solamente i dati di quest\'ultimo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_06f1ac65b0a6a548339a38b348e64d79'] = 'Ordine di selezione';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_42c744ebb60a239f54b7f10df264c0bc'] = 'Selezioni il suo campo';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_02674a4ef33e11c879283629996c8ff8'] = 'Senso';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_3bf568445bf0afb3ffc40c1af7226931'] = 'Filtri di prodotto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_16629982b0a460d8372fa8ab56a0903a'] = 'Selezioni le sue categorie';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_02ff3d5eb6acadb104c97ed6b3449a5f'] = 'Selezioni i suoi produttori';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_2942adbcbd0e002ff06b330ffe9e06dc'] = 'Selezioni i suoi fornitori';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_498ef55c478439740495d553329b02a5'] = 'Visualizzazione per varianti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_7fa3b767c460b54a2be4d49030b349c7'] = 'no';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_a6105c0a611b41b08f1209506350279e'] = 'sì';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_905472b73c7b16c40b5f4df354d66f2d'] = 'Mostrare le foto prodotto';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_8bffd0df8a023620b5372149c01ec9c9'] = 'Sì, scegliere questa taglia:';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_d3766dc1be9587c9545d9ef039ea6872'] = 'Selezioni il suo tasso di IVA';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_70cc3d3fb8178f19eabf99d3562e85c6'] = 'Filtri di clienti';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>form_0095a9fa74d1713e43e370a7d7846224'] = 'Esportare';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_d98a07f84921b24ee30f86fd8cd85c3c'] = 'di';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_382b0f5185773fa0f67a8ed8056c7759'] = 'N/A';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_01b6e20344b68835c5ed1ddedf20d531'] = 'a';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_edd291d1439a6c1c18fe38bee411580f'] = 'Totali';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-csv_d82615a23e54f9456c0b0194239474df'] = 'Nessun ordine';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_d98a07f84921b24ee30f86fd8cd85c3c'] = 'di';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_382b0f5185773fa0f67a8ed8056c7759'] = 'N/A';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_01b6e20344b68835c5ed1ddedf20d531'] = 'a';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_ce1526ee69447d2e7524d503b20fa5fd'] = 'Per avere maggiori informazioni sulla gestione di calcoli, è possibile posizionare il mouse sopra l\'icona';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_3844e7fcba84200517b8db423d23b4b5'] = 'nell\'intestazione della tabella sottostante';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_fde47c510518d2322c606f11cb4172ab'] = 'NOTA IMPORTANTE: Gli utili e il margine lordo possono essere calcolati precisamente solo se il prodotto venduto non è stato eliminato dopo la conferma dell\'ordine. Se alcuni prodotti venduti sono stati eliminati i valori per queste colonne saranno sbagliati. Se il prezzo di acquisto è stato modificato dopo la conferma dell\'ordine, il margine lordo calcolato sarà basato sul prezzo corrente di acquisto del prodotto e non sul prezzo di acquisto del prodotto al momento dell\'ordine. Ciò è dovuto all\'applicazione PrestaShop stessa e purtroppo noi non possiamo fare niente a questo proposito. Tutto ciò sarà corretto a partire dalla versione 1.5 di PrestaShop, nella quale il prezzo di acquisto sarà stockato nel momento del dettaglio dell\'ordine.';
|
||||
$_MODULE['<{ordertaxprofitreport}prestashop>report-html_d82615a23e54f9456c0b0194239474df'] = 'Nessun ordine';
|
74
modules/ordertaxprofitreport/lib/admin/admin-ctrl_class.php
Normal file
@ -0,0 +1,74 @@
|
||||
<?php
|
||||
/**
|
||||
* admin-ctrl_class.php file defines controller which manage type of derived admin object of abstract type as factory pattern
|
||||
*/
|
||||
|
||||
class BT_AdminCtrl
|
||||
{
|
||||
/**
|
||||
* Magic Method __construct
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Magic Method __destruct
|
||||
*/
|
||||
public function __destruct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* run() method execute asbtract derived admin object
|
||||
* Add admin object type => declare a new class file in admin lib, define name type in main class (OTPR) and add case of 'switch' in run() method
|
||||
*
|
||||
* @param string $sAdminType : type of interface to display
|
||||
* @param array $aRequest : request
|
||||
* @return array $aDisplay : empty => false / not empty => true
|
||||
*/
|
||||
public function run($sAdminType, $aRequest)
|
||||
{
|
||||
// set
|
||||
$aDisplay = array();
|
||||
|
||||
// include interface
|
||||
require_once(_OTPR_PATH_LIB_ADMIN . 'i-admin.php');
|
||||
|
||||
switch ($sAdminType) {
|
||||
case 'display' :
|
||||
// include matched admin object
|
||||
require_once(_OTPR_PATH_LIB_ADMIN . 'admin-display_class.php');
|
||||
|
||||
$oAdminType = BT_AdminDisplay::create();
|
||||
break;
|
||||
case 'update' : // update basic settings /
|
||||
// include matched admin object
|
||||
require_once(_OTPR_PATH_LIB_ADMIN . 'admin-update_class.php');
|
||||
|
||||
$oAdminType = BT_AdminUpdate::create();
|
||||
break;
|
||||
case 'export' : // export report /
|
||||
// include matched admin object
|
||||
require_once(_OTPR_PATH_LIB_ADMIN . 'admin-export_class.php');
|
||||
|
||||
$oAdminType = BT_AdminExport::create();
|
||||
break;
|
||||
default :
|
||||
$oAdminType = false;
|
||||
break;
|
||||
}
|
||||
|
||||
// process data to use in view (tpl)
|
||||
if (!empty($oAdminType)) {
|
||||
$aDisplay = $oAdminType->run($aRequest);
|
||||
|
||||
// destruct
|
||||
unset($oAdminType);
|
||||
}
|
||||
|
||||
return $aDisplay;
|
||||
}
|
||||
}
|
223
modules/ordertaxprofitreport/lib/admin/admin-display_class.php
Normal file
@ -0,0 +1,223 @@
|
||||
<?php
|
||||
/**
|
||||
* admin-display_class.php file defines method to display content tabs of admin page and module page form
|
||||
*/
|
||||
|
||||
class BT_AdminDisplay implements BT_IAdmin
|
||||
{
|
||||
/**
|
||||
* Magic Method __construct
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Magic Method __destruct
|
||||
*/
|
||||
public function __destruct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* run() method display all configured data admin
|
||||
*
|
||||
* @param array $aParam
|
||||
* @return array
|
||||
*/
|
||||
public function run($aParam = null)
|
||||
{
|
||||
|
||||
// set variables
|
||||
$aDisplayData = array();
|
||||
|
||||
// get type
|
||||
$aParam['sType'] = empty($aParam['sType'])? 'settings' : $aParam['sType'];
|
||||
|
||||
switch ($aParam['sType']) {
|
||||
case 'settings' : // use case - display basic settings
|
||||
case 'searchForm' : // use case - display search form of admin tab
|
||||
require_once(_OTPR_PATH_LIB . 'module-dao_class.php');
|
||||
|
||||
// execute match function
|
||||
$aDisplayData = call_user_func_array(array($this, '_display' . ucfirst($aParam['sType'])), array($aParam));
|
||||
|
||||
// check if orders detail have been registered
|
||||
$aDisplayData['assign']['bRegisterOrders'] = BT_OtprModuleDao::isExistDiscountOrders();
|
||||
$aDisplayData['assign']['sOrdersTplPath'] = _OTPR_PATH_TPL . _OTPR_TPL_ADMIN_PATH . _OTPR_TPL_REGISTER_ORDERS;
|
||||
|
||||
// check if 1.5 and multishop active and if group is selected
|
||||
$bMultiShop = BT_OtprModuleTools::checkGroupMultiShop();
|
||||
|
||||
if ($bMultiShop && $aParam['sType'] != 'searchForm') {
|
||||
$aDisplayData['assign']['bMultiGroupError'] = true;
|
||||
$aDisplayData['assign']['sMultiTplPath'] = _OTPR_PATH_TPL . _OTPR_TPL_ADMIN_PATH . _OTPR_TPL_MULTI_SHOP;
|
||||
}
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
||||
return $aDisplayData;
|
||||
}
|
||||
|
||||
/**
|
||||
* _displaySettings() method displays first page with all basic settings
|
||||
*
|
||||
* @param array $aPost
|
||||
* @return array
|
||||
*/
|
||||
private function _displaySettings(array $aPost)
|
||||
{
|
||||
$aData = array();
|
||||
|
||||
// set date format translation
|
||||
BT_OtprModuleTools::setDateFormatTitle();
|
||||
|
||||
// get token
|
||||
if (version_compare(_PS_VERSION_, '1.5', '>')) {
|
||||
$sAdminUrl = $_SERVER['SCRIPT_NAME'] . '?controller=AdminOrderTaxProfitReport&token=' . Tools::getAdminTokenLite('AdminOrderTaxProfitReport');
|
||||
}
|
||||
else {
|
||||
$sAdminUrl = $_SERVER['SCRIPT_NAME'] . '?tab=AdminOrderTaxProfitReport&token=' .
|
||||
Tools::getAdminToken('AdminOrderTaxProfitReport'.(int)(Tab::getIdFromClassName('AdminOrderTaxProfitReport')).(Tools::getValue('id_employee', OrderTaxProfitReport::$oCookie->id_employee)));
|
||||
}
|
||||
|
||||
// set smarty variables
|
||||
$aData['assign'] = array(
|
||||
'bPS16' => version_compare(_PS_VERSION_, '1.6', '>'),
|
||||
'bPS1606' => version_compare(_PS_VERSION_, '1.6.0.5', '>'),
|
||||
'sURI' => BT_OtprModuleTools::truncateUri(),
|
||||
'sActionSettings' => 'update',
|
||||
'sTypeSettings' => 'settings',
|
||||
'sDateFormat' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_DATE_FORMAT'],
|
||||
'bUseHeadings' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_HEADINGS_TOTAL'],
|
||||
'iFloatNumber' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_FLOAT_NUMBER'],
|
||||
'sFloatSeparator' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_FLOAT_SEPARATOR'],
|
||||
'bFixCellSize' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_FIX_CELL_SIZE'],
|
||||
'iCellSize' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_CELL_SIZE'],
|
||||
'iDefaultLang' => intval(OrderTaxProfitReport::$iCurrentLang),
|
||||
'sHeaderTplPath' => _OTPR_PATH_TPL . _OTPR_TPL_ADMIN_PATH . _OTPR_TPL_HEADER,
|
||||
'sModuleUptTplPath' => _OTPR_PATH_TPL . _OTPR_TPL_ADMIN_PATH . _OTPR_TPL_MODULE_UPDATE,
|
||||
'aDateFormat' => $GLOBALS[_OTPR_MODULE_NAME . '_DATE_FORMAT'],
|
||||
'sAdminTabUrl' => $sAdminUrl,
|
||||
'sCurrentIso' => Language::getIsoById(OrderTaxProfitReport::$iCurrentLang),
|
||||
'sDocUri' => _MODULE_DIR_ . _OTPR_MODULE_SET_NAME . '/',
|
||||
'sDocName' => 'readme_' . ((OrderTaxProfitReport::$sCurrentLang == 'fr')? 'fr' : 'en') . '.pdf',
|
||||
'sContactUs' => 'http://www.businesstech.fr/' . ((OrderTaxProfitReport::$sCurrentLang == 'fr')? 'fr/contactez-nous' : 'en/contact-us'),
|
||||
'sTs' => time(),
|
||||
);
|
||||
|
||||
// set tpl
|
||||
$aData['tpl'] = _OTPR_TPL_ADMIN_PATH . _OTPR_TPL_SETTINGS;
|
||||
|
||||
return $aData;
|
||||
}
|
||||
|
||||
/**
|
||||
* _displaySearchForm() method displays search form of admin tab
|
||||
*
|
||||
* @param array $aPost
|
||||
* @return array
|
||||
*/
|
||||
private function _displaySearchForm(array $aPost)
|
||||
{
|
||||
$aData = array();
|
||||
|
||||
// get templates
|
||||
$aTemplates = BT_OtprModuleDao::getTemplates();
|
||||
|
||||
// set tpl title
|
||||
BT_OtprModuleTools::getTranslatedTplTitle($aTemplates);
|
||||
|
||||
// set translation of columns title
|
||||
BT_OtprModuleTools::setColTitle();
|
||||
|
||||
// get categories
|
||||
$aCategories = BT_OtprModuleDao::getCategories();
|
||||
|
||||
// get different tax
|
||||
$aTax = BT_OtprModuleDao::getTax();
|
||||
|
||||
// get different customer group
|
||||
$aGroup = Group::getGroups(OrderTaxProfitReport::$iCurrentLang);
|
||||
|
||||
$aFormatGroup = array();
|
||||
|
||||
foreach ($aGroup as $iKey => $aGroupId) {
|
||||
$aFormatGroup[$aGroupId['id_group']] = $aGroupId['name'];
|
||||
}
|
||||
unset($aGroup);
|
||||
|
||||
// add indent for each category => display combo with indentation
|
||||
if (!empty($aCategories)) {
|
||||
foreach ($aCategories as $nKey => &$aCategory) {
|
||||
$aCategory['sIndent'] = str_repeat(' ', $aCategory['iNewLevel'] * 5);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty(OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_PREFERENCES'])) {
|
||||
OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_PREFERENCES'] = unserialize(OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_PREFERENCES']);
|
||||
}
|
||||
|
||||
// get preselection
|
||||
$aSelection = !empty(OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_STATUS_SELECTION'])? unserialize(OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_STATUS_SELECTION']) : OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_STATUS_SELECTION'];
|
||||
|
||||
// get countries
|
||||
$aCountries = Country::getCountries(OrderTaxProfitReport::$iCurrentLang, true);
|
||||
|
||||
// set smarty variables
|
||||
$aData['assign'] = array(
|
||||
'sURI' => (Tools::getIsset('sAdminTabURI')? Tools::getValue('sAdminTabURI') : BT_OtprModuleTools::truncateUri()),
|
||||
'sActionExport' => 'export', /* use case - different submit in post method without XHR */
|
||||
'aTypeExport' => $GLOBALS[_OTPR_MODULE_NAME . '_EXPORT_TYPE'],
|
||||
'sDateFormat' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_DATE_FORMAT'],
|
||||
'bUseHeadings' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_HEADINGS_TOTAL'],
|
||||
'aPreferences' => OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_PREFERENCES'],
|
||||
'aSelection' => $aSelection,
|
||||
'iDefaultLang' => intval(OrderTaxProfitReport::$iCurrentLang),
|
||||
'sDefaultLang' => OrderTaxProfitReport::$sCurrentLang,
|
||||
'sHeaderTplPath' => _OTPR_PATH_TPL . _OTPR_TPL_ADMIN_PATH . _OTPR_TPL_HEADER,
|
||||
'sModuleUptTplPath' => _OTPR_PATH_TPL . _OTPR_TPL_ADMIN_PATH . _OTPR_TPL_MODULE_UPDATE,
|
||||
'aTemplates' => $aTemplates,
|
||||
'aOrderStatusTitle' => BT_OtprModuleDao::getStatusOrder(),
|
||||
'sDateFormat' => ((OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_DATE_FORMAT'] != false)? $GLOBALS[_OTPR_MODULE_NAME . '_DATE_FORMAT'][OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_DATE_FORMAT']]['format'] : $GLOBALS[_OTPR_MODULE_NAME . '_DATE_FORMAT']['en']['format']) ,
|
||||
'aSortGroupFields' => BT_OtprModuleTools::getSortFields(),
|
||||
'aGroups' => $aFormatGroup,
|
||||
'aTaxRate' => $aTax,
|
||||
'aCategories' => $aCategories,
|
||||
'aManufacturers' => Manufacturer::getManufacturers(),
|
||||
'aSuppliers' => Supplier::getSuppliers(),
|
||||
'aCountries' => ((count($aCountries) == 1)? false : $aCountries),
|
||||
'aWayType' => $GLOBALS[_OTPR_MODULE_NAME . '_WAY'],
|
||||
'bUseJqueryUI' => true,
|
||||
'bUseJqueryFancy' => true,
|
||||
'aImageSizes' => ImageType::getImagesTypes('products'),
|
||||
'bSearchForm' => true,
|
||||
'sCurrentIso' => Language::getIsoById(OrderTaxProfitReport::$iCurrentLang),
|
||||
'bStockAdvanceEnable' => Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT'),
|
||||
);
|
||||
|
||||
// set tpl
|
||||
$aData['tpl'] = _OTPR_TPL_FORM;
|
||||
|
||||
return $aData;
|
||||
}
|
||||
|
||||
/**
|
||||
* create() method manages singleton
|
||||
*
|
||||
* @return obj
|
||||
*/
|
||||
public static function create()
|
||||
{
|
||||
static $oDisplay;
|
||||
|
||||
if (null === $oDisplay) {
|
||||
$oDisplay = new BT_AdminDisplay();
|
||||
}
|
||||
return $oDisplay;
|
||||
}
|
||||
}
|
503
modules/ordertaxprofitreport/lib/admin/admin-export_class.php
Normal file
@ -0,0 +1,503 @@
|
||||
<?php
|
||||
/**
|
||||
* admin-export_class.php file defines method to export report in many format
|
||||
*/
|
||||
|
||||
class BT_AdminExport implements BT_IAdmin
|
||||
{
|
||||
/**
|
||||
* @var array $aError : array get error
|
||||
*/
|
||||
private static $_aError = array();
|
||||
|
||||
/**
|
||||
* @var array $_aPost : array of params
|
||||
*/
|
||||
private static $_aPost = array();
|
||||
|
||||
/**
|
||||
* Magic Method __construct
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Magic Method __destruct
|
||||
*/
|
||||
public function __destruct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* run() method update all tabs content of admin page
|
||||
*
|
||||
* @param array $aParam
|
||||
* @return array
|
||||
*/
|
||||
public function run($aParam = null)
|
||||
{
|
||||
// set variables
|
||||
$aDisplayData = array();
|
||||
|
||||
switch ($aParam['sType']) {
|
||||
case 'csv' : // use case - return downloadable csv report
|
||||
case 'html' : // use case - return html report
|
||||
// require
|
||||
require_once(_OTPR_PATH_LIB . 'module-dao_class.php');
|
||||
|
||||
// get params
|
||||
self::$_aPost = $aParam;
|
||||
|
||||
// execute match function
|
||||
$aDisplayData = call_user_func(array($this, '_export' . ucfirst($aParam['sType'])));
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
||||
return $aDisplayData;
|
||||
}
|
||||
|
||||
/**
|
||||
* _exportCsv() method returns downloadable csv report
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function _exportCsv()
|
||||
{
|
||||
// set
|
||||
$aUpdateData = array();
|
||||
|
||||
$aUpdateData = $this->_check();
|
||||
|
||||
// get configuration options
|
||||
BT_OtprModuleTools::getConfiguration();
|
||||
|
||||
// use case - no errors
|
||||
if (empty(self::$_aError)) {
|
||||
// set col title
|
||||
BT_OtprModuleTools::setColTitle();
|
||||
|
||||
// decode html
|
||||
$aUpdateData['bHtmlDecode'] = true;
|
||||
$aUpdateData['sOutputType'] = 'csv';
|
||||
|
||||
// get DAO report
|
||||
$aUpdateData['aOrders'] = BT_OtprModuleDao::getReport($aUpdateData);
|
||||
// assign carriage return
|
||||
$aUpdateData['sCR'] = chr(13);
|
||||
|
||||
// display
|
||||
$sContent = OrderTaxProfitReport::$oModule->displayModule(_OTPR_TPL_REPORT_CSV, $aUpdateData);
|
||||
|
||||
// flush header
|
||||
@ob_end_clean();
|
||||
|
||||
// set header
|
||||
header('Content-type: text/csv');
|
||||
header('Content-Disposition: attachment; filename="' . _OTPR_UPLOAD_REPORT_FILE . '-' . $aUpdateData['sReportName'] . '_' . date('Ymd', time()) . '.csv' . '"');
|
||||
|
||||
// read file
|
||||
echo $sContent;
|
||||
|
||||
// exit
|
||||
exit(0);
|
||||
}
|
||||
|
||||
// use case - errors while checking or writing report file
|
||||
$aUpdateData['aErrors'] = self::$_aError;
|
||||
$aUpdateData['sErrorTplPath'] = _OTPR_PATH_TPL . _OTPR_TPL_ERROR;
|
||||
$aUpdateData['bDisplayReport'] = false;
|
||||
|
||||
// require admin display class - to factorise
|
||||
require_once(_OTPR_PATH_LIB_ADMIN . 'admin-display_class.php');
|
||||
|
||||
// get run of admin display in order to display first page of admin with basic settings updated
|
||||
$aData = BT_AdminDisplay::create()->run(array('sType' => 'searchForm'));
|
||||
|
||||
// use case - empty error
|
||||
$aData['assign'] = array_merge($aData['assign'], $aUpdateData);
|
||||
|
||||
return $aData;
|
||||
}
|
||||
|
||||
/**
|
||||
* _exportHtml() method returns HTML report
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function _exportHtml()
|
||||
{
|
||||
// flush header
|
||||
@ob_end_clean();
|
||||
|
||||
// set
|
||||
$aAssign = array();
|
||||
|
||||
// check and get data
|
||||
$aAssign = $this->_check(true, true);
|
||||
|
||||
// get configuration options
|
||||
BT_OtprModuleTools::getConfiguration();
|
||||
|
||||
// use case - errors
|
||||
if (!empty(self::$_aError)) {
|
||||
$aAssign['aErrors'] = self::$_aError;
|
||||
$aAssign['sErrorTplPath'] = _OTPR_PATH_TPL . _OTPR_TPL_ERROR;
|
||||
$aAssign['bDisplayReport'] = false;
|
||||
}
|
||||
else {
|
||||
// get config
|
||||
BT_OtprModuleTools::getConfiguration();
|
||||
|
||||
// set col title
|
||||
BT_OtprModuleTools::setColTitle();
|
||||
|
||||
// set prefix
|
||||
BT_OtprModuleTools::setColsSuffix();
|
||||
|
||||
$aAssign['sOutputType'] = 'html';
|
||||
|
||||
// get DAO report
|
||||
$aAssign['aOrders'] = BT_OtprModuleDao::getReport($aAssign);
|
||||
$aAssign['bDisplayReport'] = true;
|
||||
$aAssign['bFixCellSize'] = OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_FIX_CELL_SIZE'];
|
||||
$aAssign['iCellSize'] = OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_CELL_SIZE'];
|
||||
}
|
||||
|
||||
// use case - empty error
|
||||
OrderTaxProfitReport::$sQueryMode = 'xhr';
|
||||
|
||||
return array(
|
||||
'assign' => $aAssign, 'tpl' => _OTPR_TPL_REPORT_HTML
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* _check() method checks params
|
||||
*
|
||||
* @param bool $bHeadings
|
||||
* @param bool $bUTF8
|
||||
* @return array
|
||||
*/
|
||||
private function _check($bHeadings = false, $bUTF8 = false)
|
||||
{
|
||||
// set
|
||||
$aData = array();
|
||||
|
||||
// use case - template type
|
||||
if (!Tools::getIsset(strtolower(_OTPR_MODULE_NAME) . 'Template')
|
||||
|| (Tools::getIsset(strtolower(_OTPR_MODULE_NAME) . 'Template')
|
||||
&& !array_key_exists(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Template'], $GLOBALS[_OTPR_MODULE_NAME . '_SEARCH_TEMPLATE']))
|
||||
) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Template type isn\'t valid', 'admin-export_class'), 'code' => 140);
|
||||
}
|
||||
else {
|
||||
$aData['aTemplateCols'] = $GLOBALS[_OTPR_MODULE_NAME . '_SEARCH_TEMPLATE'][self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Template']]['cols'];
|
||||
$aData['sGroupBy'] = $GLOBALS[_OTPR_MODULE_NAME . '_SEARCH_TEMPLATE'][self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Template']]['groupby'];
|
||||
$aData['sOrderBy'] = $GLOBALS[_OTPR_MODULE_NAME . '_SEARCH_TEMPLATE'][self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Template']]['orderby'];
|
||||
$aData['sGroup'] = $GLOBALS[_OTPR_MODULE_NAME . '_SEARCH_TEMPLATE'][self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Template']]['group'];
|
||||
$aData['sReportName'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Template'];
|
||||
|
||||
// Used for product reports if the user has decided to show product photos
|
||||
// If it is not equal to 0, then it is equal to the desired image size
|
||||
// If it is 0, we set the column not to be displayed
|
||||
if (Tools::getValue(strtolower(_OTPR_MODULE_NAME).'ShowPhotos') && strval(Tools::getValue(strtolower(_OTPR_MODULE_NAME).'ShowPhotos')) != '0') {
|
||||
$aData['mPhotos'] = Tools::getValue(strtolower(_OTPR_MODULE_NAME).'ShowPhotos');
|
||||
}
|
||||
else {
|
||||
$GLOBALS[_OTPR_MODULE_NAME . '_COLS']['id_image']['use'] = false;
|
||||
$GLOBALS[_OTPR_MODULE_NAME . '_COLS']['id_image']['display'] = false;
|
||||
}
|
||||
}
|
||||
|
||||
// use case - start and end order and invoice number
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderStart'])) {
|
||||
if (!is_numeric(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderStart'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Order start number isn\'t an integer', 'admin-export_class'), 'code' => 141);
|
||||
}
|
||||
else {
|
||||
$aData['iOrderStart'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderStart'];
|
||||
$aData['iStart'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderStart'];
|
||||
$aData['sRangeLabel'] = OrderTaxProfitReport::$oModule->l('Order', 'admin-export_class');
|
||||
}
|
||||
}
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderEnd'])) {
|
||||
if (!is_numeric(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderEnd'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Order end number isn\'t an integer', 'admin-export_class'), 'code' => 142);
|
||||
}
|
||||
else {
|
||||
$aData['iOrderEnd'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderEnd'];
|
||||
$aData['iEnd'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderEnd'];
|
||||
$aData['sRangeLabel'] = OrderTaxProfitReport::$oModule->l('Order', 'admin-export_class');
|
||||
}
|
||||
}
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'InvoiceStart'])) {
|
||||
if (!is_numeric(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'InvoiceStart'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Invoice start number isn\'t an integer', 'admin-export_class'), 'code' => 143);
|
||||
}
|
||||
else {
|
||||
$aData['iInvoiceStart'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'InvoiceStart'];
|
||||
$aData['iStart'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'InvoiceStart'];
|
||||
$aData['sRangeLabel'] = OrderTaxProfitReport::$oModule->l('Order', 'admin-export_class');
|
||||
}
|
||||
}
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'InvoiceEnd'])) {
|
||||
if (!is_numeric(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'InvoiceEnd'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Invoice end number isn\'t an integer', 'admin-export_class'), 'code' => 144);
|
||||
}
|
||||
else {
|
||||
$aData['iInvoiceEnd'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'InvoiceEnd'];
|
||||
$aData['iEnd'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'InvoiceEnd'];
|
||||
$aData['sRangeLabel'] = OrderTaxProfitReport::$oModule->l('Order', 'admin-export_class');
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'CreditOrderStart'])) {
|
||||
if (!is_numeric(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'CreditOrderStart'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Credit slip start number isn\'t an integer', 'admin-export_class'), 'code' => 160);
|
||||
}
|
||||
else {
|
||||
$aData['iCreditSlipStart'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'CreditOrderStart'];
|
||||
$aData['iStart'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'CreditOrderStart'];
|
||||
$aData['sRangeLabel'] = OrderTaxProfitReport::$oModule->l('Order', 'admin-export_class');
|
||||
}
|
||||
}
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'CreditOrderEnd'])) {
|
||||
if (!is_numeric(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'CreditOrderEnd'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Credit slip end number isn\'t an integer', 'admin-export_class'), 'code' => 161);
|
||||
}
|
||||
else {
|
||||
$aData['iCreditSlipEnd'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'CreditOrderEnd'];
|
||||
$aData['iEnd'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'CreditOrderEnd'];
|
||||
$aData['sRangeLabel'] = OrderTaxProfitReport::$oModule->l('Order', 'admin-export_class');
|
||||
}
|
||||
}
|
||||
|
||||
// use case - check begin and end invoice / delivery date
|
||||
// get date format
|
||||
if (OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_DATE_FORMAT'] != false) {
|
||||
$sDateFormat = OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_DATE_FORMAT'];
|
||||
}
|
||||
else {
|
||||
$sDateFormat = 'en';
|
||||
}
|
||||
|
||||
// set title
|
||||
BT_OtprModuleTools::setDateTypeTitle();
|
||||
|
||||
// loop on each date type to check begin and end date
|
||||
foreach ($GLOBALS[_OTPR_MODULE_NAME . '_DATE_TYPE'] as $sType => $sTitle) {
|
||||
$aDate = $this->_checkDate(
|
||||
self::$_aPost[strtolower(_OTPR_MODULE_NAME) . ucfirst($sType) . 'DateStart'],
|
||||
self::$_aPost[strtolower(_OTPR_MODULE_NAME) . ucfirst($sType) . 'DateEnd'],
|
||||
$sType,
|
||||
$sDateFormat,
|
||||
$sTitle
|
||||
);
|
||||
$aData = array_merge($aData, $aDate);
|
||||
}
|
||||
// use case - order status
|
||||
if (empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderStatus'])) {
|
||||
$aData['aOrderStatus'] = array_keys(BT_OtprModuleDao::getStatusOrder());
|
||||
|
||||
// update status selection
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_STATUS_SELECTION', '')) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('An error occured during the "Status selection" update', 'admin-export_class'), 'code' => 145);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// update status selection
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_STATUS_SELECTION', serialize(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderStatus']))) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('An error occured during the "Status selection" update', 'admin-export_class'), 'code' => 146);
|
||||
}
|
||||
$aData['aOrderStatus'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'OrderStatus'];
|
||||
}
|
||||
|
||||
// use case - sort fields
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'SortField']) && is_array(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'SortField'])) {
|
||||
foreach(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'SortField'] as $nKey => &$sSortfield) {
|
||||
if (empty($sSortfield)) {
|
||||
unset(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'SortField'][$nKey]);
|
||||
}
|
||||
}
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'SortField'])) {
|
||||
$sSortField = array_shift(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'SortField']);
|
||||
if (!array_key_exists($sSortField, $GLOBALS[_OTPR_MODULE_NAME . '_COLS'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Selected sort field isn\'t valid', 'admin-export_class'), 'code' => 147);
|
||||
}
|
||||
else {
|
||||
// use case - application sort
|
||||
if ($GLOBALS[_OTPR_MODULE_NAME . '_COLS'][$sSortField]['sort'] == 2) {
|
||||
$aData['sSortField'] = null;
|
||||
$aData['sSortPhpField'] = $sSortField;
|
||||
}
|
||||
// use case - MySQL sort
|
||||
else {
|
||||
$aData['sSortField'] = $GLOBALS[_OTPR_MODULE_NAME . '_COLS'][$sSortField]['realname'];
|
||||
}
|
||||
}
|
||||
unset($sSortField);
|
||||
}
|
||||
}
|
||||
|
||||
// use case - way type
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'WayType'])) {
|
||||
if (!array_key_exists(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'WayType'], $GLOBALS[_OTPR_MODULE_NAME . '_WAY'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Direction isn\'t valid', 'admin-export_class'), 'code' => 148);
|
||||
}
|
||||
else {
|
||||
$aData['sWayType'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'WayType'];
|
||||
}
|
||||
}
|
||||
// use case - categories
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Categories'])) {
|
||||
if (!is_array(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Categories'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Categories list isn\'t an array', 'admin-export_class'), 'code' => 149);
|
||||
}
|
||||
else {
|
||||
$aData['aSearchCategories'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Categories'];
|
||||
}
|
||||
}
|
||||
// use case - manufacturers
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Manufacturers'])) {
|
||||
if (!is_array(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Manufacturers'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Manufacturers list isn\'t an array', 'admin-export_class'), 'code' => 150);
|
||||
}
|
||||
else {
|
||||
$aData['aSearchManufacturers'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Manufacturers'];
|
||||
}
|
||||
}
|
||||
// use case - suppliers
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Suppliers'])) {
|
||||
if (!is_array(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Suppliers'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Suppliers list isn\'t an array', 'admin-export_class'), 'code' => 151);
|
||||
}
|
||||
else {
|
||||
$aData['aSearchSuppliers'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Suppliers'];
|
||||
}
|
||||
}
|
||||
// use case - product attribute display
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'UseAttribute'])
|
||||
&&
|
||||
!empty($GLOBALS[_OTPR_MODULE_NAME . '_SEARCH_TEMPLATE'][self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Template']]['attribute'])
|
||||
) {
|
||||
if (self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'UseAttribute'] != 'true' && self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'UseAttribute'] != 'false') {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Display attribute isn\'t valid', 'admin-export_class'), 'code' => 152);
|
||||
}
|
||||
else {
|
||||
$aData['bUseAttribute'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'UseAttribute'] == 'true' ? true : false;
|
||||
}
|
||||
}
|
||||
|
||||
// use case - display headings and total
|
||||
$aData['bHeadings'] = (OrderTaxProfitReport::$aConfiguration[_OTPR_MODULE_NAME . '_HEADINGS_TOTAL'] || $bHeadings)? true : false;
|
||||
|
||||
// use case - check charset
|
||||
$aData['bUtf8'] = (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Utf']) && self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Utf'] == 'on' || $bUTF8)? true : false;
|
||||
|
||||
// use case - selected country
|
||||
// use case - template type
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Countries'])) {
|
||||
if (!is_array(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Countries'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Country IDs list isn\'t an array', 'admin-export_class'), 'code' => 153);
|
||||
}
|
||||
else {
|
||||
$aData['aCountryIds'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Countries'];
|
||||
}
|
||||
}
|
||||
// use case - tax rate
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'TaxRate'])) {
|
||||
$aData['fTaxRate'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'TaxRate'];
|
||||
}
|
||||
// use case - customer group
|
||||
if (!empty(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Groups'])) {
|
||||
if (!is_array(self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Groups'])) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('Customer group list isn\'t an array', 'admin-export_class'), 'code' => 154);
|
||||
}
|
||||
else {
|
||||
$aData['aCustomerGroup'] = self::$_aPost[strtolower(_OTPR_MODULE_NAME) . 'Groups'];
|
||||
}
|
||||
}
|
||||
|
||||
// use case - layout preferences
|
||||
if (empty(self::$_aPost['aPreferences'])) {
|
||||
self::$_aPost['aPreferences'] = array();
|
||||
}
|
||||
// update preferences selection
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_PREFERENCES', serialize(self::$_aPost['aPreferences']))) {
|
||||
self::$_aError[] = array('msg' => OrderTaxProfitReport::$oModule->l('An error occured during "preferences" update', 'admin-export_class'), 'code' => 155);
|
||||
}
|
||||
|
||||
return $aData;
|
||||
}
|
||||
|
||||
/**
|
||||
* _checkDate() method checks begin and end date
|
||||
*
|
||||
* @param string $sStartDate
|
||||
* @param string $sEndDate
|
||||
* @param string $sType
|
||||
* @param string $sDateFormat
|
||||
* @param string $sTranslate
|
||||
* @return array
|
||||
*/
|
||||
private function _checkDate($sStartDate, $sEndDate, $sType, $sDateFormat, $sTranslate)
|
||||
{
|
||||
// set
|
||||
$aData = array();
|
||||
|
||||
// get start date
|
||||
$iStartDate = (empty($sStartDate))? false : BT_OtprModuleTools::getTimeStamp($sStartDate, $sDateFormat);
|
||||
|
||||
// get end date
|
||||
$iEndDate = (empty($sEndDate))? false : BT_OtprModuleTools::getTimeStamp($sEndDate, $sDateFormat, true);
|
||||
|
||||
if (false !== $iStartDate && false !== $iEndDate) {
|
||||
if ($iStartDate > $iEndDate) {
|
||||
self::$_aError[] = array(
|
||||
'msg' => OrderTaxProfitReport::$oModule->l('End', 'admin-export_class')
|
||||
. ' ' . $sTranslate . ' '
|
||||
. OrderTaxProfitReport::$oModule->l('date have to be greater than begin date', 'admin-export_class'),
|
||||
'code' => 147);
|
||||
}
|
||||
else {
|
||||
$aData['i' . ucfirst($sType) . 'StartDate'] = $iStartDate;
|
||||
$aData['i' . ucfirst($sType) . 'EndDate'] = $iEndDate;
|
||||
$aData['iStart'] = $sStartDate;
|
||||
$aData['iEnd'] = $sEndDate;
|
||||
$aData['sRangeLabel'] = $sTranslate;
|
||||
}
|
||||
}
|
||||
elseif (!empty($iStartDate)) {
|
||||
$aData['i' . ucfirst($sType) . 'StartDate'] = $iStartDate;
|
||||
$aData['iStart'] = $sStartDate;
|
||||
$aData['sRangeLabel'] = $sTranslate;
|
||||
}
|
||||
elseif (!empty($iEndDate)) {
|
||||
$aData['i' . ucfirst($sType) . 'EndDate'] = $iEndDate;
|
||||
$aData['iEnd'] = $sEndDate;
|
||||
$aData['sRangeLabel'] = $sTranslate;
|
||||
}
|
||||
|
||||
return $aData;
|
||||
}
|
||||
|
||||
/**
|
||||
* create() method manages singleton
|
||||
*
|
||||
* @return obj
|
||||
*/
|
||||
public static function create()
|
||||
{
|
||||
static $oExport;
|
||||
|
||||
if (null === $oExport) {
|
||||
$oExport = new BT_AdminExport();
|
||||
}
|
||||
return $oExport;
|
||||
}
|
||||
}
|
283
modules/ordertaxprofitreport/lib/admin/admin-update_class.php
Normal file
@ -0,0 +1,283 @@
|
||||
<?php
|
||||
/**
|
||||
* admin-update_class.php file defines method update content for basic settings
|
||||
* @author Business Tech (www.businesstech.fr) - Contact: http://www.businesstech.fr/en/contact-us
|
||||
* @category admin collection
|
||||
* @license Business Tech
|
||||
* @uses Please read included installation and configuration instructions (PDF format)
|
||||
* @see IInstall Interface
|
||||
*/
|
||||
|
||||
class BT_AdminUpdate implements BT_IAdmin
|
||||
{
|
||||
/**
|
||||
* Magic Method __construct
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Magic Method __destruct
|
||||
*/
|
||||
public function __destruct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* run() method update all tabs content of admin page
|
||||
*
|
||||
* @param array $aParam
|
||||
* @return array
|
||||
*/
|
||||
public function run($aParam = null)
|
||||
{
|
||||
// set variables
|
||||
$aDisplayData = array();
|
||||
|
||||
switch ($aParam['sType']) {
|
||||
case 'settings' : /* use case - update basic settings */
|
||||
case 'ordersDetail' : /* use case - update order details */
|
||||
// execute match function
|
||||
$aDisplayData = call_user_func_array(array($this, '_update' . ucfirst($aParam['sType'])), array($aParam));
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
return $aDisplayData;
|
||||
}
|
||||
|
||||
/**
|
||||
* _updateSettings() method update basic settings
|
||||
*
|
||||
* @param array $aPost
|
||||
* @return array
|
||||
*/
|
||||
private function _updateSettings(array $aPost)
|
||||
{
|
||||
// set
|
||||
$aUpdateData = array();
|
||||
|
||||
try {
|
||||
// use case - update use Headings and total
|
||||
if (Tools::getIsset(strtolower(_OTPR_MODULE_NAME) . 'Headings')) {
|
||||
if ('on' == $aPost[strtolower(_OTPR_MODULE_NAME) . 'Headings']) {
|
||||
$bUse = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$bUse = false;
|
||||
}
|
||||
|
||||
// set use Headings & total
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_HEADINGS_TOTAL', $bUse)) {
|
||||
throw new Exception(OrderTaxProfitReport::$oModule->l('An error occured during the "Headings & total" update', 'admin-update_class'), 140);
|
||||
}
|
||||
// set date format
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_DATE_FORMAT', $aPost[strtolower(_OTPR_MODULE_NAME) . 'Date'])) {
|
||||
throw new Exception(OrderTaxProfitReport::$oModule->l('An error occured during the "Date format" update', 'admin-update_class'), 141);
|
||||
}
|
||||
// set number after decimal point
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_FLOAT_NUMBER', $aPost[strtolower(_OTPR_MODULE_NAME) . 'FloatNumber'])) {
|
||||
throw new Exception(OrderTaxProfitReport::$oModule->l('An error occured during the "number after decimal point" update', 'admin-update_class'), 142);
|
||||
}
|
||||
// set float number
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_FLOAT_SEPARATOR', $aPost[strtolower(_OTPR_MODULE_NAME) . 'FloatSeparator'])) {
|
||||
throw new Exception(OrderTaxProfitReport::$oModule->l('An error occured during the "float separator" update', 'admin-update_class'), 143);
|
||||
}
|
||||
// set float bool
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_FIX_CELL_SIZE', $aPost[strtolower(_OTPR_MODULE_NAME) . 'FixCellSize'])) {
|
||||
throw new Exception(OrderTaxProfitReport::$oModule->l('An error occured during the "Fix cell size update" update', 'admin-update_class'), 144);
|
||||
}
|
||||
// set float integer
|
||||
if (!Configuration::updateValue(_OTPR_MODULE_NAME . '_CELL_SIZE', $aPost['cellSizeValue'])) {
|
||||
throw new Exception(OrderTaxProfitReport::$oModule->l('An error occured during the "Fix cell size update" update', 'admin-update_class'), 145);
|
||||
}
|
||||
}
|
||||
catch (Exception $e) {
|
||||
$aUpdateData['aError'] = array('msg' => $e->getMessage(), 'code' => $e->getCode());
|
||||
$aUpdateData['sErrorTplPath'] = _OTPR_PATH_TPL . _OTPR_TPL_ERROR;
|
||||
}
|
||||
// destruct
|
||||
unset($bUse);
|
||||
|
||||
// get configuration options
|
||||
BT_OtprModuleTools::getConfiguration();
|
||||
|
||||
// require admin configure classe - to factorise
|
||||
require_once(_OTPR_PATH_LIB_ADMIN . 'admin-display_class.php');
|
||||
|
||||
// get run of admin display in order to display first page of admin with basic settings updated
|
||||
$aData = BT_AdminDisplay::create()->run(array('sType' => 'settings'));
|
||||
|
||||
// use case - empty error
|
||||
$aData['assign'] = array_merge($aData['assign'], array(
|
||||
'bXHR' => true,
|
||||
'bUpdate' => (empty($aUpdateData['aError']) ? true : false),
|
||||
'sConfirmTplPath' => _OTPR_PATH_TPL . _OTPR_TPL_ADMIN_PATH ._OTPR_TPL_CONFIRM,
|
||||
), $aUpdateData);
|
||||
|
||||
return $aData;
|
||||
}
|
||||
|
||||
/**
|
||||
* _updateOrdersDetail() method register orders detail in table for discount and wrapping
|
||||
*
|
||||
* @param array $aPost
|
||||
* @return array
|
||||
*/
|
||||
private function _updateOrdersDetail(array $aPost)
|
||||
{
|
||||
// flush header
|
||||
@ob_end_clean();
|
||||
|
||||
// set
|
||||
$aUpdateData = array();
|
||||
|
||||
// include
|
||||
require_once(_OTPR_PATH_LIB . 'module-dao_class.php');
|
||||
|
||||
try {
|
||||
$bReturn = true;
|
||||
$aOrdersDetail = array();
|
||||
|
||||
// get order detail
|
||||
$rOrdersDetail = BT_OtprModuleDao::getOrdersDetail();
|
||||
|
||||
|
||||
// get number of records
|
||||
$iNumRows = Db::getInstance()->numRows();
|
||||
|
||||
// use case - no orders
|
||||
if ($iNumRows > 0 && $rOrdersDetail !== false) {
|
||||
|
||||
// set counter
|
||||
$iCounter = 0;
|
||||
|
||||
// set previous record
|
||||
$aPreviousRecord = array();
|
||||
|
||||
// set transaction
|
||||
Db::getInstance()->Execute('BEGIN');
|
||||
|
||||
// get tables
|
||||
$aDiscount = $GLOBALS[_OTPR_MODULE_NAME . '_SQL_TABLES']['discount'];
|
||||
$aWrapping = $GLOBALS[_OTPR_MODULE_NAME . '_SQL_TABLES']['wrapping'];
|
||||
$aWholePrice = $GLOBALS[_OTPR_MODULE_NAME . '_SQL_TABLES']['wholesale_price'];
|
||||
|
||||
// loop on each orders details
|
||||
while ($aDetail = Db::getInstance()->nextRow($rOrdersDetail)) {
|
||||
// populate orders detail discount
|
||||
if (!BT_OtprModuleTools::populateDiscountOrdersDetail($aDetail['id_order'], $aDetail['id_order_detail'], $aDetail['total_discounts'], $aDetail['total_products'], $aDetail['prod_unit_price'], $aDetail['tax_rate'], $aDetail['product_quantity'])) {
|
||||
// set error msg
|
||||
$sMsg = OrderTaxProfitReport::$oModule->l('An error occurred during inserting order detail for', 'admin-update_class') . ' ' . $aDiscount['name']
|
||||
. ' => ' . OrderTaxProfitReport::$oModule->l('Id order', 'admin-update_class') . ' : ' . $aDetail['id_order']
|
||||
. ' - ' . OrderTaxProfitReport::$oModule->l('Id order detail', 'admin-update_class') . ' : ' . $aDetail['id_order_detail']
|
||||
;
|
||||
throw new Exception($sMsg, 150);
|
||||
}
|
||||
// populate orders wrapping
|
||||
if ($iCounter == 0
|
||||
||
|
||||
(!empty($aPreviousRecord) && $aPreviousRecord['id_order'] != $aDetail['id_order'])
|
||||
) {
|
||||
$fWrappingTaxIncl = isset($aDetail['total_wrapping_tax_incl'])? $aDetail['total_wrapping_tax_incl'] : null;
|
||||
$fWrappingTaxExcl = isset($aDetail['total_wrapping_tax_excl'])? $aDetail['total_wrapping_tax_excl'] : null;
|
||||
|
||||
if (!BT_OtprModuleTools::populateWrappingOrdersDetail($aDetail['id_order'], $aDetail['total_wrapping'], $fWrappingTaxExcl, $fWrappingTaxIncl)) {
|
||||
// set error msg
|
||||
$sMsg = OrderTaxProfitReport::$oModule->l('An error occurred during inserting order detail for', 'admin-update_class') . ' ' . $aWrapping['name']
|
||||
. ' => ' . OrderTaxProfitReport::$oModule->l('Id order', 'admin-update_class') . ' : ' . $aDetail['id_order']
|
||||
. ' - ' . OrderTaxProfitReport::$oModule->l('Id order detail', 'admin-update_class') . ' : ' . $aDetail['id_order_detail']
|
||||
;
|
||||
throw new Exception($sMsg, 151);
|
||||
}
|
||||
}
|
||||
|
||||
// manage the best whole_saleprice to use
|
||||
if (!empty($aDetail['purchase_supplier_price'])
|
||||
&& $aDetail['purchase_supplier_price'] != 0.0
|
||||
) {
|
||||
$fWholeSalePrice = (float)$aDetail['purchase_supplier_price'];
|
||||
}
|
||||
elseif (!empty($aDetail['attribute_wholesale_price'])
|
||||
&& $aDetail['attribute_wholesale_price'] != 0.0
|
||||
) {
|
||||
$fWholeSalePrice = (float)$aDetail['attribute_wholesale_price'];
|
||||
}
|
||||
elseif (!empty($aDetail['product_wholesale_price'])
|
||||
&& $aDetail['product_wholesale_price'] != 0.0
|
||||
) {
|
||||
$fWholeSalePrice = (float)$aDetail['product_wholesale_price'];
|
||||
}
|
||||
else {
|
||||
$fWholeSalePrice = 0.00;
|
||||
}
|
||||
//populate wholesaleprice
|
||||
if (!BT_OtprModuleDao::populateWholeSalePrice($aDetail['id_order'], $fWholeSalePrice, $aDetail['id_order_detail'])) {
|
||||
$sMsg = OrderTaxProfitReport::$oModule->l('An error occurred during inserting wholesale price for', 'admin-update_class') . ' ' . $aWholePrice['name']
|
||||
. ' => ' . OrderTaxProfitReport::$oModule->l('Id order', 'admin-update_class') . ' : ' . $aDetail['id_order']
|
||||
. ' - ' . OrderTaxProfitReport::$oModule->l('Id order detail', 'admin-update_class') . ' : ' . $aDetail['id_order_detail'];
|
||||
throw new Exception($sMsg, 152);
|
||||
}
|
||||
|
||||
// register current record
|
||||
$aPreviousRecord = $aDetail;
|
||||
|
||||
// increase counter
|
||||
++$iCounter;
|
||||
}
|
||||
// commit register
|
||||
Db::getInstance()->Execute('COMMIT');
|
||||
}
|
||||
else {
|
||||
$sMsg = OrderTaxProfitReport::$oModule->l('There is no Orders for this shop', 'admin-update_class') ;
|
||||
throw new Exception($sMsg, 153);
|
||||
}
|
||||
}
|
||||
catch (Exception $e) {
|
||||
Db::getInstance()->Execute('ROLLBACK');
|
||||
|
||||
$aUpdateData['aErrors'][] = array('msg' => $e->getMessage(), 'code' => $e->getCode());
|
||||
$aUpdateData['sErrorTplPath'] = _OTPR_PATH_TPL . _OTPR_TPL_ERROR;
|
||||
}
|
||||
|
||||
// get configuration options
|
||||
BT_OtprModuleTools::getConfiguration();
|
||||
|
||||
// require admin configure class - to factorise
|
||||
require_once(_OTPR_PATH_LIB_ADMIN . 'admin-display_class.php');
|
||||
|
||||
// get run of admin display in order to display first page of admin with basic settings updated
|
||||
$aData = BT_AdminDisplay::create()->run(array('sType' => (strtolower(Tools::getValue('tab')) == 'adminordertaxprofitreport' || strtolower(Tools::getValue('controller')) == 'adminordertaxprofitreport'? 'searchForm' : 'settings')));
|
||||
|
||||
// use case - empty error
|
||||
$aData['assign'] = array_merge($aData['assign'], array(
|
||||
'bUpdate' => (empty($aUpdateData['aErrors']) ? true : false),
|
||||
'sConfirmTplPath' => _OTPR_PATH_TPL . _OTPR_TPL_ADMIN_PATH ._OTPR_TPL_CONFIRM,
|
||||
'bAdminTab' => (Tools::getValue('tab') == 'AdminOrderTaxProfitReport' ? true : false),
|
||||
), $aUpdateData);
|
||||
|
||||
// use case - empty error
|
||||
OrderTaxProfitReport::$sQueryMode = 'xhr';
|
||||
|
||||
return $aData;
|
||||
}
|
||||
|
||||
/**
|
||||
* create() method manages singleton
|
||||
*
|
||||
* @return obj
|
||||
*/
|
||||
public static function create()
|
||||
{
|
||||
static $oUpdate;
|
||||
|
||||
if (null === $oUpdate) {
|
||||
$oUpdate = new BT_AdminUpdate();
|
||||
}
|
||||
return $oUpdate;
|
||||
}
|
||||
}
|
15
modules/ordertaxprofitreport/lib/admin/i-admin.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* i-admin.php file defines mandatory method to manage module's admin
|
||||
*/
|
||||
|
||||
interface BT_IAdmin
|
||||
{
|
||||
/**
|
||||
* run() method process configuration or updating admin
|
||||
*
|
||||
* @param mixed $aParam => $_GET or $_POST
|
||||
* @return bool
|
||||
*/
|
||||
public function run($aParam = null);
|
||||
}
|
35
modules/ordertaxprofitreport/lib/admin/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2015 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-2015 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
222
modules/ordertaxprofitreport/lib/common/dir-reader.class.php
Normal file
@ -0,0 +1,222 @@
|
||||
<?php
|
||||
/**
|
||||
* dir-reader.class.php file defines methods to read directories recursively and get info about files and directories
|
||||
*/
|
||||
|
||||
final class BT_DirReader implements Iterator
|
||||
{
|
||||
/**
|
||||
* @var object $obj : stock obj
|
||||
*/
|
||||
public static $obj = null;
|
||||
|
||||
/**
|
||||
* @var array $_aFiles : get all match files
|
||||
*/
|
||||
private $_aFiles = array();
|
||||
|
||||
/**
|
||||
* @var array $_iPosition : set pointer position
|
||||
*/
|
||||
private $_iPosition = 0;
|
||||
|
||||
|
||||
/**
|
||||
* __construct()
|
||||
*/
|
||||
public function __construct() {}
|
||||
|
||||
/**
|
||||
* __destruct()
|
||||
*/
|
||||
public function __destruct() {}
|
||||
|
||||
|
||||
/**
|
||||
* run() method load specified directory
|
||||
*
|
||||
* @param array params
|
||||
* @return array
|
||||
*/
|
||||
public function run (array $aParams)
|
||||
{
|
||||
// test of obligatory validated path
|
||||
if (isset($aParams['path']) && is_dir($aParams['path']) && (isset($aParams['pattern']) || isset($aParams['extension']))) {
|
||||
// init object
|
||||
$oDirRecIterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($aParams['path']));
|
||||
|
||||
// case of not recursive
|
||||
if (isset($aParams['recursive']) === false || (isset($aParams['recursive']) === true && $aParams['recursive'] === false)) {
|
||||
$oDirRecIterator->setMaxDepth(1);
|
||||
}
|
||||
// clear array
|
||||
$this->_aFiles = array();
|
||||
|
||||
// rewind
|
||||
$this->rewind();
|
||||
|
||||
$iCount = 0;
|
||||
|
||||
// loop on object result
|
||||
while ($oDirRecIterator->valid()) {
|
||||
if ($oDirRecIterator->isDot() === false) {
|
||||
// get file name
|
||||
$sFileName = $oDirRecIterator->getFilename();
|
||||
|
||||
if ((isset($aParams['pattern']) && preg_match($aParams['pattern'] , $sFileName))
|
||||
||
|
||||
(isset($aParams['extension'])
|
||||
&&
|
||||
substr(strtolower($sFileName),strrpos($sFileName,'.')+1) == $aParams['extension'])
|
||||
) {
|
||||
$this->_aFiles[$iCount]['path'] = $oDirRecIterator->key();
|
||||
$this->_aFiles[$iCount]['filename'] = $sFileName;
|
||||
|
||||
// case of subpath
|
||||
if (isset($aParams['subpath']) && $aParams['subpath']) {
|
||||
$this->_aFiles[$iCount]['subpath'] = $oDirRecIterator->getSubPath();
|
||||
}
|
||||
// case of subpathname
|
||||
if (isset($aParams['subpathname']) && $aParams['subpathname']) {
|
||||
$this->_aFiles[$iCount]['subpathname'] = $oDirRecIterator->getSubPathname();
|
||||
}
|
||||
// case of size
|
||||
if (isset($aParams['size']) && $aParams['size']) {
|
||||
$this->_aFiles[$iCount]['size'] = $oDirRecIterator->getSize();
|
||||
}
|
||||
// case of type
|
||||
if (isset($aParams['type']) && $aParams['type']) {
|
||||
$this->_aFiles[$iCount]['type'] = $oDirRecIterator->getType();
|
||||
}
|
||||
// case of owner
|
||||
if (isset($aParams['owner']) && $aParams['owner']) {
|
||||
$this->_aFiles[$iCount]['owner'] = $oDirRecIterator->getOwner();
|
||||
}
|
||||
// case of group
|
||||
if (isset($aParams['group']) && $aParams['group']) {
|
||||
$this->_aFiles[$iCount]['group'] = $oDirRecIterator->getGroup();
|
||||
}
|
||||
// case of time
|
||||
if (isset($aParams['time']) && $aParams['time']) {
|
||||
$this->_aFiles[$iCount]['time'] = $oDirRecIterator->getCTime();
|
||||
}
|
||||
// case of verbose
|
||||
if (isset($aParams['verbose']) && $aParams['verbose']) {
|
||||
echo '[ ', (isset($aParams['service'])?$aParams['service']:'FILE'), ' ] ', date("d-m-Y à H:i:s"), ' => matched file : ', $sFileName, "\n";
|
||||
}
|
||||
++$iCount;
|
||||
}
|
||||
}
|
||||
$oDirRecIterator->next();
|
||||
}
|
||||
// destruct object
|
||||
unset($oDirRecIterator);
|
||||
|
||||
// return
|
||||
return $this->_aFiles;
|
||||
}
|
||||
else {
|
||||
// throw exception if specified directory is not declared
|
||||
throw new Exception('Specified path or extension or pattern are not declared or is not a valid path');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* rewind() method goes to position 0
|
||||
*
|
||||
*/
|
||||
public function rewind()
|
||||
{
|
||||
$this->_iPosition = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* current() method returns current object
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function current()
|
||||
{
|
||||
if (!isset($this->_aFiles[$this->_iPosition])) {
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return (
|
||||
$this->_aFiles[$this->_iPosition]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* key() method returns current position
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function key()
|
||||
{
|
||||
return $this->_iPosition;
|
||||
}
|
||||
|
||||
/**
|
||||
* next() method goes to next position
|
||||
*
|
||||
*/
|
||||
public function next() {
|
||||
++$this->_iPosition;
|
||||
}
|
||||
|
||||
/**
|
||||
* valid() method tests if current position exist
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function valid()
|
||||
{
|
||||
return(
|
||||
isset($this->_aFiles[$this->_iPosition])
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* mkDirRec() method create directories recursively
|
||||
*
|
||||
* @param string $sPath
|
||||
* @return mixed
|
||||
*/
|
||||
public static function mkdirRec( $sPath )
|
||||
{
|
||||
if (!empty($sPath) && !is_dir($sPath)) {
|
||||
if (self::mkdirRec(dirname($sPath))) {
|
||||
return mkdir($sPath);
|
||||
}
|
||||
}
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* create() method set singleton
|
||||
*
|
||||
* @return obj self::$obj
|
||||
*/
|
||||
public static function create()
|
||||
{
|
||||
if (self::$obj === null) {
|
||||
self::$obj = new BT_DirReader();
|
||||
}
|
||||
return self::$obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* destruct() method delete object singleton
|
||||
*
|
||||
*/
|
||||
public static function destruct()
|
||||
{
|
||||
if (self::$obj !== null) {
|
||||
unset(self::$obj);
|
||||
}
|
||||
}
|
||||
}
|
35
modules/ordertaxprofitreport/lib/common/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2015 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-2015 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
173
modules/ordertaxprofitreport/lib/common/pagination.class.php
Normal file
@ -0,0 +1,173 @@
|
||||
<?php
|
||||
/**
|
||||
* pagination.class.php file defines methods to calculate a pagination with page and group
|
||||
*/
|
||||
|
||||
class BT_Pagination
|
||||
{
|
||||
/**
|
||||
* @var array $aParams : define array
|
||||
*/
|
||||
protected $aParams = array('group' => false);
|
||||
|
||||
/**
|
||||
* @var array $aPagination : define array
|
||||
*/
|
||||
public $aPagination = array();
|
||||
|
||||
/**
|
||||
* @var int $iStart : use to determinate begin and end value in each mode - don't have a same value with 'page' mode and 'group' mode
|
||||
*/
|
||||
protected $iStart = 0;
|
||||
|
||||
/**
|
||||
* @var int $iEnd : use to determinate begin and end value in each mode - don't have a same value with 'page' mode and 'group' mode
|
||||
*/
|
||||
protected $iEnd = 1;
|
||||
|
||||
/**
|
||||
* __construct()
|
||||
*
|
||||
* @param array $aParams
|
||||
*/
|
||||
public function __construct($aParams = null)
|
||||
{
|
||||
// set param
|
||||
if (!empty($aParams)) {
|
||||
$this->set($aParams);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* set() method define init parameters of class
|
||||
* @param array $aParams
|
||||
*/
|
||||
public function set(array $aParams)
|
||||
{
|
||||
foreach ($aParams as $sParam => $mValue) {
|
||||
if (array_key_exists($sParam, $this->aParams)) {
|
||||
$this->aParams[$sParam] = $mValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* run() method process pagination
|
||||
*
|
||||
* @param array $aParams
|
||||
* @return array
|
||||
*/
|
||||
public function run(array $aParams)
|
||||
{
|
||||
if (!array_key_exists('total' , $aParams)
|
||||
|| !array_key_exists('perPage' , $aParams)
|
||||
) {
|
||||
// throw exception
|
||||
throw new Exception('There is not all valid keys : "total" & "perPage"');
|
||||
}
|
||||
else {
|
||||
// flush array if necessary
|
||||
$this->aPagination = array();
|
||||
// get pagination
|
||||
$this->_get('page' , $aParams['total'], $aParams['perPage']);
|
||||
|
||||
// use case - group
|
||||
if ($this->aParams['group'] === true) {
|
||||
if (!array_key_exists('perGroup' , $aParams)) {
|
||||
// throw exception
|
||||
throw new Exception('Param "perGroup" do not exists');
|
||||
}
|
||||
else {
|
||||
$this->iStart = 1;
|
||||
$this->iEnd = 0;
|
||||
// get pagination
|
||||
$this->_get('group' , count($this->aPagination['page']), $aParams['perGroup']);
|
||||
}
|
||||
}
|
||||
// use case - empty group
|
||||
if ($this->aParams['group'] === false
|
||||
||
|
||||
!isset($this->aPagination['group'])
|
||||
||
|
||||
(isset($this->aPagination['group'])
|
||||
&&
|
||||
empty($this->aPagination))
|
||||
) {
|
||||
// return
|
||||
return $this->aPagination['page'];
|
||||
}
|
||||
// use case - page & group
|
||||
else {
|
||||
// return
|
||||
return $this->aPagination;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* _get() process pagination
|
||||
*
|
||||
* @param string $sType
|
||||
* @param int $iTotal
|
||||
* @param int $iPerContent
|
||||
*/
|
||||
private function _get($sType , $iTotal , $iPerContent)
|
||||
{
|
||||
// case - no pagination or no group
|
||||
if ($iTotal < $iPerContent) {
|
||||
$this->aPagination[$sType][1]['begin'] = $this->iStart;
|
||||
$this->aPagination[$sType][1]['end'] = $iTotal - $this->iEnd;
|
||||
$this->aPagination[$sType][1]['nb'] = $iTotal;
|
||||
}
|
||||
// case idem
|
||||
elseif ($iTotal == $iPerContent) {
|
||||
$this->aPagination[$sType][1]['begin'] = $this->iStart;
|
||||
$this->aPagination[$sType][1]['end'] = $iPerContent - $this->iEnd;
|
||||
$this->aPagination[$sType][1]['nb'] = $iPerContent;
|
||||
}
|
||||
// case pagination
|
||||
else {
|
||||
// nb pages
|
||||
$iNbPage = floor($iTotal / $iPerContent);
|
||||
|
||||
// set param of each page
|
||||
for ($i = 1; $i <= $iNbPage; ++$i) {
|
||||
// first
|
||||
if ($i == 1) {
|
||||
$this->aPagination[$sType][$i]['begin'] = $this->iStart;
|
||||
$this->aPagination[$sType][$i]['end'] = $iPerContent - $this->iEnd;
|
||||
}
|
||||
else {
|
||||
$this->aPagination[$sType][$i]['begin'] = $this->aPagination[$sType][$i-1]['end'] + 1;
|
||||
$this->aPagination[$sType][$i]['end'] = $this->aPagination[$sType][$i]['begin'] + ($iPerContent - 1);
|
||||
}
|
||||
$this->aPagination[$sType][$i]['nb'] = $iPerContent;
|
||||
}
|
||||
// calculate last page
|
||||
$iDelta = $iTotal - ($iNbPage * $iPerContent);
|
||||
|
||||
// only if > 0
|
||||
if ($iDelta > 0) {
|
||||
$this->aPagination[$sType][$iNbPage+1]['begin'] = $this->aPagination[$sType][$iNbPage]['end'] + 1;
|
||||
$this->aPagination[$sType][$iNbPage+1]['end'] = $this->aPagination[$sType][$iNbPage+1]['begin'] + ($iDelta - 1);
|
||||
$this->aPagination[$sType][$iNbPage+1]['nb'] = $iDelta;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* create() method returns singleton
|
||||
*
|
||||
* @return obj
|
||||
*/
|
||||
public static function create()
|
||||
{
|
||||
static $oPagination;
|
||||
|
||||
if (null === $oPagination) {
|
||||
$oPagination = new BT_Pagination();
|
||||
}
|
||||
return $oPagination;
|
||||
}
|
||||
}
|
280
modules/ordertaxprofitreport/lib/common/verbose.class.php
Normal file
@ -0,0 +1,280 @@
|
||||
<?php
|
||||
/**
|
||||
* verbose.class.php file defines methods to display configurable verbose
|
||||
*/
|
||||
|
||||
class BT_Verbose
|
||||
{
|
||||
/**
|
||||
* @var array $_aOptions : array of set configuration
|
||||
*/
|
||||
private $_aOptions = array();
|
||||
|
||||
/**
|
||||
* @var string $_sDatePattern : date pattern
|
||||
*/
|
||||
private $_sDatePattern = '';
|
||||
|
||||
/**
|
||||
* @var array $_aDisplayOrder : array of displayed order
|
||||
*/
|
||||
private $_aDisplayOrder = array();
|
||||
|
||||
/**
|
||||
* @var string $_sSeparator : separator
|
||||
*/
|
||||
private $_sSeparator = '';
|
||||
|
||||
/**
|
||||
* @var string $_sStepLine : step line
|
||||
*/
|
||||
private $_sStepLine = '';
|
||||
|
||||
/**
|
||||
* @var array $_aCallBack : callback
|
||||
*/
|
||||
private $_aCallBack = null;
|
||||
|
||||
/**
|
||||
* @var array $_aTraces : array for traces
|
||||
*/
|
||||
private $_aTraces = array();
|
||||
|
||||
/**
|
||||
* __construct() save configuration options.
|
||||
*
|
||||
* @param array $aOptions : display options array
|
||||
*/
|
||||
public function __construct(array $aOptions = null)
|
||||
{
|
||||
if (isset($aOptions['callBack'])) {
|
||||
$this->_aCallBack = $aOptions['callBack'];
|
||||
}
|
||||
$this->_aOptions = array(
|
||||
'd' => '^date',
|
||||
'm' => '^memory',
|
||||
'c' => '^caller',
|
||||
'l' => '^line',
|
||||
'p' => '^process_id',
|
||||
);
|
||||
if (isset($aOptions['stepLine'])) {
|
||||
$this->_sStepLine = $aOptions['stepLine'];
|
||||
}
|
||||
else {
|
||||
$this->_sStepLine = ' ';
|
||||
}
|
||||
if (isset($aOptions['separator'])) {
|
||||
$this->_sSeparator = $aOptions['separator'];
|
||||
}
|
||||
else {
|
||||
$this->_sSeparator = ' ~ ';
|
||||
}
|
||||
if (isset($aOptions['datePattern'])) {
|
||||
$this->_sDatePattern = $aOptions['datePattern'];
|
||||
}
|
||||
else {
|
||||
$this->_sDatePattern = 'H:i:s';
|
||||
}
|
||||
if (isset($aOptions['mask'])) {
|
||||
for ($i = 0 ; $i < strlen($aOptions['mask']) ; $i++) {
|
||||
$sOptionCode = substr($aOptions['mask'], $i, 1);
|
||||
if ('^' == $sOptionCode) {
|
||||
$i++;
|
||||
$sOptionCode = substr($aOptions['mask'], $i, 1);
|
||||
if (isset($this->_aOptions[$sOptionCode])) {
|
||||
$this->_aDisplayOrder[] = $this->_aOptions[$sOptionCode];
|
||||
}
|
||||
}
|
||||
else {
|
||||
$this->_aDisplayOrder[] = $sOptionCode;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* startTrace() makes start trace point
|
||||
*
|
||||
* @param string $sTraceCode : trace 's unique code
|
||||
*/
|
||||
public function startTrace($sTraceCode)
|
||||
{
|
||||
if ($this->_aCallBack != null) {
|
||||
if (!isset($this->_aTraces[$sTraceCode])) {
|
||||
$this->_aTraces[$sTraceCode] = microtime(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* endTrace() finish trace end and execute callback with specified data of trace
|
||||
*
|
||||
* @param string $sTraceCode : trace's unique code
|
||||
* @param string $sTraceDetail : trace detail (optional)
|
||||
* @param string $sTraceError : error (optional)
|
||||
*/
|
||||
public function endTrace($sTraceCode, $sTraceDetail = '', $sTraceError = '')
|
||||
{
|
||||
if ($this->_aCallBack != null) {
|
||||
if (!isset($this->_aTraces[$sTraceCode])) {
|
||||
$this->_aTraces[$sTraceCode] = microtime(true);
|
||||
}
|
||||
$aResult = array(
|
||||
'ComponentCode' => $this->_aCallBack[0],
|
||||
'Time' => microtime(true) - $this->_aTraces[$sTraceCode],
|
||||
'Detail' => $sTraceCode . ' -> ' . $sTraceDetail
|
||||
);
|
||||
if ($sTraceError) {
|
||||
$aResult['Error'] = $sTraceError;
|
||||
}
|
||||
// call back
|
||||
call_user_func($this->_aCallBack[1],
|
||||
$aResult
|
||||
);
|
||||
// raz trace
|
||||
unset($this->_aTraces[$sTraceCode]);
|
||||
}
|
||||
} // endTrace()
|
||||
|
||||
/**
|
||||
* display() displays verbose line
|
||||
*
|
||||
* @param string $sCaller : caller (section / module / component)
|
||||
* @param string $sLine : display line
|
||||
* @param mixed $iLevel : tab of line
|
||||
*/
|
||||
public function line($sCaller, $sLine, $iLevel = 1)
|
||||
{
|
||||
$sOut = '';
|
||||
foreach($this->_aDisplayOrder as $sDisplay) {
|
||||
if ($sDisplay == '^date') {
|
||||
$sOut .= date($this->_sDatePattern);
|
||||
}
|
||||
elseif ($sDisplay == '^memory') {
|
||||
$sOut .= round(memory_get_usage()/1000);
|
||||
}
|
||||
elseif ($sDisplay == '^process_id' && function_exists('posix_getpid')) {
|
||||
$sOut .= posix_getpid();
|
||||
}
|
||||
elseif ($sDisplay == '^caller') {
|
||||
$sOut .= $sCaller;
|
||||
}
|
||||
elseif ($sDisplay == '^line') {
|
||||
$sOut .= $sLine;
|
||||
}
|
||||
else {
|
||||
$sOut .= $sDisplay;
|
||||
}
|
||||
}
|
||||
if (is_integer($iLevel) && ($iLevel > 1) && count($this->_aDisplayOrder)) {
|
||||
$sStep = '';
|
||||
for ($i = 1 ; $i < $iLevel ; $i++) {
|
||||
$sStep .= $this->_sStepLine;
|
||||
}
|
||||
$sOut = $sStep . $sOut;
|
||||
}
|
||||
if ($sOut != '') {
|
||||
echo ($sOut . "\n");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* debug() displays variable content.
|
||||
* Display next, ask to continue or stop script
|
||||
*
|
||||
* @param string $sTitle : debug title
|
||||
* @param string $sVar : displayed variable
|
||||
* @param string $sDisplayFunc : function applied on it
|
||||
*/
|
||||
public function debug($sTitle, $sVar, $sDisplayFunc = 'var_dump')
|
||||
{
|
||||
echo ("\n" . str_pad('', 80, "#") . "\n"
|
||||
. "#" . str_pad('', 78, " ") . "#\n"
|
||||
. "#" . str_pad('', 30, " ") . "DEBUG MODE" . str_pad('', 38, " ") . "#\n"
|
||||
. "#" . str_pad('', 78, " ") . "#\n"
|
||||
. str_pad('', 80, "#") . "\n\n"
|
||||
. str_pad('', 21, "#") . " " . $sTitle . " "
|
||||
. str_pad('', 57-strlen($sTitle), "#") . "\n");
|
||||
|
||||
call_user_func($sDisplayFunc, $sVar);
|
||||
echo ("***********************************************************\n"
|
||||
. "Type <enter> to continue, 'q' to stop execution\nBT>");
|
||||
$sLine = trim(fgets(STDIN));
|
||||
|
||||
if ($sLine == 'q') {
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* backTrace() allow to display a script backtrace.
|
||||
*/
|
||||
public function backTrace()
|
||||
{
|
||||
echo ("\n" . str_pad('', 80, "#") . "\n"
|
||||
. "#" . str_pad('', 78, " ") . "#\n"
|
||||
. "#" . str_pad('', 30, " ") . "BACK TRACE" . str_pad('', 38, " ") . "#\n"
|
||||
. "#" . str_pad('', 78, " ") . "#\n"
|
||||
. str_pad('', 80, "#") . "\n\n");
|
||||
// get back traces
|
||||
$aBackTrace = array_reverse(debug_backtrace());
|
||||
array_pop($aBackTrace);
|
||||
$loop = 0;
|
||||
foreach ($aBackTrace as $aTrace) {
|
||||
$loop++;
|
||||
echo (str_pad('', ceil(39-(strlen($loop)/2)), "#") . " " . $loop . " "
|
||||
. str_pad('', floor(39-(strlen($loop)/2)), "#") . "\n");
|
||||
if (isset($aTrace['file']) && isset($aTrace['line'])) {
|
||||
echo (" . " . $aTrace['file'] . " (" . $aTrace['line'] . ")\n");
|
||||
}
|
||||
|
||||
if (isset($aTrace['class'])) {
|
||||
echo (" . " . $aTrace['class'] . $aTrace['type']
|
||||
. $aTrace['function'] . "(");
|
||||
}
|
||||
else {
|
||||
echo (" . " . $aTrace['function'] . "(");
|
||||
}
|
||||
if (isset($aTrace['args'])) {
|
||||
$iLoopArg = 0;
|
||||
foreach ($aTrace['args'] as $arg) {
|
||||
$iLoopArg++;
|
||||
$argLine = var_export($arg, true);
|
||||
$argLine = explode("\n", $argLine);
|
||||
foreach ($argLine as &$tps) {
|
||||
$tps = trim($tps);
|
||||
}
|
||||
$argLine = join('', $argLine);
|
||||
echo (($iLoopArg>1 ? ",\n\t" : "\n\t") . $argLine);
|
||||
}
|
||||
echo (($iLoopArg ? "\n " : "") . ")\n");
|
||||
}
|
||||
else {
|
||||
echo (")\n");
|
||||
}
|
||||
echo ("\n");
|
||||
}
|
||||
echo ("***********************************************************\n"
|
||||
. "Type <enter> to continue, 'q' to stop execution\nBT>");
|
||||
$sLine = trim(fgets(STDIN));
|
||||
if ($sLine == 'q') {
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* create() method returns singleton
|
||||
*
|
||||
* @param array $aOptions
|
||||
* @return obj
|
||||
*/
|
||||
public static function create(array $aOptions = null)
|
||||
{
|
||||
static $oVerbose;
|
||||
|
||||
if (null === $oVerbose) {
|
||||
$oVerbose = new BT_Verbose($aOptions);
|
||||
}
|
||||
return $oVerbose;
|
||||
}
|
||||
}
|
125
modules/ordertaxprofitreport/lib/hook/hook_class.php
Normal file
@ -0,0 +1,125 @@
|
||||
<?php
|
||||
/**
|
||||
* hook_class.php file defines controller which manage hooks sequentially
|
||||
*/
|
||||
|
||||
class BT_OtprHook
|
||||
{
|
||||
/**
|
||||
* @var string $sHookType : define hook type
|
||||
*/
|
||||
protected $sHookType = null;
|
||||
|
||||
/**
|
||||
* Magic Method __construct assigns few information about hook
|
||||
* @param string
|
||||
*/
|
||||
public function __construct($sHookType)
|
||||
{
|
||||
$this->sHookType = $sHookType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Magic Method __destruct
|
||||
*/
|
||||
public function __destruct()
|
||||
{
|
||||
unset($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* run() method execute hook
|
||||
*
|
||||
* @param array $aParams
|
||||
* @return array
|
||||
*/
|
||||
public function run(array $aParams = null)
|
||||
{
|
||||
// set variables
|
||||
$aDisplayHook = array();
|
||||
|
||||
switch ($this->sHookType) {
|
||||
case 'validateOrder' :
|
||||
// execute match function
|
||||
$aDisplayHook = call_user_func_array(array($this, '_validateOrder'), array($aParams));
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
||||
return $aDisplayHook;
|
||||
}
|
||||
|
||||
/**
|
||||
* _validateOrder() method register new order's data for discount and wrapping calculation in report
|
||||
*
|
||||
* @param array $aParams
|
||||
* @return array
|
||||
*/
|
||||
private function _validateOrder(array $aParams = null)
|
||||
{
|
||||
if (!empty($aParams['order'])
|
||||
&& is_object($aParams['order'])
|
||||
&& $aParams['order']->module != OrderTaxProfitReport::$oModule->name
|
||||
&& $aParams['order']->getCurrentState() != _PS_OS_ERROR_
|
||||
) {
|
||||
// include
|
||||
require_once(_OTPR_PATH_LIB . 'module-dao_class.php');
|
||||
|
||||
$bReturn = true;
|
||||
|
||||
// get order detail IDs
|
||||
$aOrderDetailIds = BT_OtprModuleDao::getOrderDetailIds($aParams['order']->id);
|
||||
|
||||
if (!empty($aOrderDetailIds)) {
|
||||
// set transaction
|
||||
Db::getInstance()->Execute('BEGIN');
|
||||
|
||||
foreach ($aOrderDetailIds as $aId) {
|
||||
// populate orders detail discount
|
||||
if (!BT_OtprModuleTools::populateDiscountOrdersDetail($aParams['order']->id, $aId['id_order_detail'], $aParams['order']->total_discounts, $aParams['order']->total_products, $aId['prod_unit_price'], $aId['tax_rate'], $aId['product_quantity'])) {
|
||||
// set return to false
|
||||
$bReturn = false;
|
||||
}
|
||||
|
||||
// manage the best whole_saleprice to use
|
||||
if ($aId['purchase_supplier_price'] != 0.0)
|
||||
{
|
||||
$fWholeSalePrice = (float)$aId['purchase_supplier_price'];
|
||||
}
|
||||
elseif ($aId['attribute_wholesale_price'] != 0.0) {
|
||||
$fWholeSalePrice = (float)$aId['attribute_wholesale_price'];
|
||||
}
|
||||
elseif ($aId['product_wholesale_price'] != 0.0) {
|
||||
$fWholeSalePrice = $aId['product_wholesale_price'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$fWholeSalePrice = 0;
|
||||
}
|
||||
BT_OtprModuleDao::populateWholeSalePrice($aParams['order']->id,$fWholeSalePrice,$aId['id_order_detail']);
|
||||
}
|
||||
// check for Prestashop 1.5
|
||||
$fWrappingTaxIncl = isset($aParams['order']->total_wrapping_tax_incl)? $aParams['order']->total_wrapping_tax_incl : null;
|
||||
$fWrappingTaxExcl = isset($aParams['order']->total_wrapping_tax_excl)? $aParams['order']->total_wrapping_tax_excl : null;
|
||||
|
||||
// populate orders detail wrapping
|
||||
if (!BT_OtprModuleTools::populateWrappingOrdersDetail($aParams['order']->id, $aParams['order']->total_wrapping, $fWrappingTaxExcl, $fWrappingTaxIncl)) {
|
||||
// set return to false
|
||||
$bReturn = false;
|
||||
}
|
||||
|
||||
if (!empty($bReturn)) {
|
||||
Db::getInstance()->Execute('COMMIT');
|
||||
}
|
||||
else {
|
||||
Db::getInstance()->Execute('ROLLBACK');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
array('tpl' => _OTPR_TPL_HOOK_PATH . _OTPR_TPL_ORDER_VALIDATION, 'assign' => array())
|
||||
);
|
||||
}
|
||||
}
|
35
modules/ordertaxprofitreport/lib/hook/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2015 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-2015 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|