toutpratique/modules/gls/ajaxFront.php
ToutPratique 1d1a2def5f push prod
2016-05-17 15:54:37 +02:00

94 lines
2.7 KiB
PHP

<?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);