* @copyright 2007-2018 PrestaShop SA * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_PS_ADMIN_DIR_')) { define('_PS_ADMIN_DIR_', getcwd()); } include(_PS_ADMIN_DIR_.'/../config/config.inc.php'); /* Getting cookie or logout */ require_once(_PS_ADMIN_DIR_.'/init.php'); $context = Context::getContext(); if (Tools::isSubmit('ajaxReferrers')) { require(_PS_CONTROLLER_DIR_.'admin/AdminReferrersController.php'); } if (Tools::getValue('page') == 'prestastore' && @fsockopen('addons.prestashop.com', 80, $errno, $errst, 3)) { readfile('https://addons.prestashop.com/adminmodules.php?lang='.$context->language->iso_code); } if (Tools::isSubmit('getAvailableFields') && Tools::isSubmit('entity')) { $import = new AdminImportController(); $fields = array_map(function ($elem) { return ['field' => $elem]; }, $import->getAvailableFields(true)); die(json_encode($fields)); } if (Tools::isSubmit('ajaxProductPackItems')) { $jsonArray = array(); $products = Db::getInstance()->executeS(' SELECT p.`id_product`, pl.`name` FROM `'._DB_PREFIX_.'product` p NATURAL LEFT JOIN `'._DB_PREFIX_.'product_lang` pl WHERE pl.`id_lang` = '.(int)(Tools::getValue('id_lang')).' '.Shop::addSqlRestrictionOnLang('pl').' AND NOT EXISTS (SELECT 1 FROM `'._DB_PREFIX_.'pack` WHERE `id_product_pack` = p.`id_product`) AND p.`id_product` != '.(int)(Tools::getValue('id_product'))); foreach ($products as $packItem) { $jsonArray[] = '{"value": "'.(int)($packItem['id_product']).'-'.addslashes($packItem['name']).'", "text":"'.(int)($packItem['id_product']).' - '.addslashes($packItem['name']).'"}'; } die('['.implode(',', $jsonArray).']'); } if (Tools::isSubmit('getChildrenCategories') && Tools::isSubmit('id_category_parent')) { $children_categories = Category::getChildrenWithNbSelectedSubCat(Tools::getValue('id_category_parent'), Tools::getValue('selectedCat'), Context::getContext()->language->id, null, Tools::getValue('use_shop_context')); die(json_encode($children_categories)); } if (Tools::isSubmit('getNotifications')) { $notification = new Notification; die(json_encode($notification->getLastElements())); } if (Tools::isSubmit('updateElementEmployee') && Tools::getValue('updateElementEmployeeType')) { $notification = new Notification; die($notification->updateEmployeeLastElement(Tools::getValue('updateElementEmployeeType'))); } if (Tools::isSubmit('searchCategory')) { $q = Tools::getValue('q'); $limit = Tools::getValue('limit'); $results = Db::getInstance()->executeS('SELECT c.`id_category`, cl.`name` FROM `'._DB_PREFIX_.'category` c LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category`'.Shop::addSqlRestrictionOnLang('cl').') WHERE cl.`id_lang` = '.(int)$context->language->id.' AND c.`level_depth` <> 0 AND cl.`name` LIKE \'%'.pSQL($q).'%\' GROUP BY c.id_category ORDER BY c.`position` LIMIT '.(int)$limit ); if ($results) { foreach ($results as $result) { echo trim($result['name']).'|'.(int)$result['id_category']."\n"; } } } if (Tools::isSubmit('getParentCategoriesId') && $id_category = Tools::getValue('id_category')) { $category = new Category((int)$id_category); $results = Db::getInstance()->executeS('SELECT `id_category` FROM `'._DB_PREFIX_.'category` c WHERE c.`nleft` < '.(int)$category->nleft.' AND c.`nright` > '.(int)$category->nright.''); $output = array(); foreach ($results as $result) { $output[] = $result; } die(json_encode($output)); } if (Tools::isSubmit('getZones')) { $html = ''; $array = array('hasError' => false, 'errors' => '', 'data' => $html); die(json_encode($array)); } if (Tools::isSubmit('getEmailHTML') && $email = Tools::getValue('email')) { $email_html = AdminTranslationsController::getEmailHTML($email); die($email_html); }