* @copyright PrestaShop
* @license http://www.opensource.org/licenses/osl-3.0.php Open-source licence 3.0
* @version 1.3
*
*/
include_once(PS_ADMIN_DIR.'/../classes/AdminTab.php');
class AdminPayment extends AdminTab
{
public $paymentModules = array();
public function __construct()
{
/* Get all modules then select only payment ones*/
$modules = Module::getModulesOnDisk();
foreach ($modules AS $module)
if ($module->tab == 'Payment')
{
if($module->id)
{
$module->country = array();
$countries = DB::getInstance()->ExecuteS('SELECT id_country FROM '._DB_PREFIX_.'module_country WHERE id_module = '.intval($module->id));
foreach ($countries as $country)
$module->country[] = $country['id_country'];
$module->currency = array();
$currencies = DB::getInstance()->ExecuteS('SELECT id_currency FROM '._DB_PREFIX_.'module_currency WHERE id_module = '.intval($module->id));
foreach ($currencies as $currency)
$module->currency[] = $currency['id_currency'];
$module->group = array();
$groups = DB::getInstance()->ExecuteS('SELECT id_group FROM '._DB_PREFIX_.'module_group WHERE id_module = '.intval($module->id));
foreach ($groups as $group)
$module->group[] = $group['id_group'];
}
else
{
$module->country = NULL;
$module->currency = NULL;
$module->group = NULL;
}
$this->paymentModules[] = $module;
}
parent::__construct();
}
public function postProcess()
{
if (Tools::isSubmit('submitModulecountry'))
$this->saveRestrictions('country');
elseif (Tools::isSubmit('submitModulecurrency'))
$this->saveRestrictions('currency');
elseif (Tools::isSubmit('submitModulegroup'))
$this->saveRestrictions('group');
}
private function saveRestrictions($type)
{
global $currentIndex;
Db::getInstance()->Execute('TRUNCATE '._DB_PREFIX_.'module_'.$type.'');
foreach ($this->paymentModules as $module)
if ($module->active AND isset($_POST[$module->name.'_'.$type.'']))
foreach ($_POST[$module->name.'_'.$type.''] as $selected)
$values[] = '('.intval($module->id).', '.intval($selected).')';
Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'module_'.$type.' (`id_module`, `id_'.$type.'`) VALUES '.implode(',', $values));
Tools::redirectAdmin($currentIndex.'&conf=4'.'&token='.$this->token);
}
public function display()
{
global $cookie;
foreach ($this->paymentModules AS $module)
if ($module->active AND $module->warning)
$this->displayWarning($module->displayName.' - '.stripslashes(pSQL($module->warning)));
$currencies = Currency::getCurrencies();
$countries = Country::getCountries(intval($cookie->id_lang));
$groups = Group::getGroups(intval($cookie->id_lang));
$this->displayModules();
echo '
| '.sizeof($this->paymentModules).' '.((sizeof($this->paymentModules) > 1) ? $this->l('payment modules') : $this->l('payment module')).' | |||
|---|---|---|---|
'.stripslashes($module->displayName).''.($module->version ? ' v'.$module->version.(strpos($module->version, '.') !== false ? '' : '.0') : '').''.$module->description.' |
'.(($module->active AND method_exists($module, 'getContent')) ? ''.$this->l('>> Configure').'' : '').' | '; if ($module->id) echo ''; echo $img; if ($module->id) ''; echo ' | '.((!$module->id) ? '' : '').' |