Beispiel #1
0
 private function adminInstall()
 {
     // 1.5+ only
     if (preg_match("/^1.(3|4).*/", _PS_VERSION_)) {
         return;
     }
     // Parent tab requires 2 levels menu in Prestashop 1.5
     $parent = new Tab();
     $parent->class_name = preg_match("/^1.5.*/", _PS_VERSION_) ? 'AdminFacebookShopMain' : 'AdminFacebookShop';
     $parent->id_parent = 0;
     // Home tab
     $parent->module = $this->name;
     $languages = Language::getLanguages(false);
     foreach ($languages as $lang) {
         $parent->name[$lang['id_lang']] = $this->l('Facebook Store');
     }
     $parent->save();
     /* Prestashop 1.6 does not require a second level tab */
     if (preg_match("/^1.5.*/", _PS_VERSION_)) {
         // Child Tab
         $tab = new Tab();
         $tab->class_name = 'AdminFacebookShop';
         $tab->id_parent = $parent->id;
         $tab->module = $this->name;
         foreach ($languages as $lang) {
             $tab->name[$lang['id_lang']] = $this->l('Manage');
         }
         $tab->save();
     }
 }
 /**
  * Installation du module
  */
 public function install()
 {
     if (!parent::install() || !$this->registerHook('actionCustomerAccountAdd')) {
         return false;
     }
     //Création d'une tab prestashop
     $tab = new Tab();
     $tab->class_name = 'Rules';
     $tab->module = $this->name;
     $tab->id_parent = Tab::getIdFromClassName('AdminParentCustomer');
     $languages = Language::getLanguages();
     foreach ($languages as $lang) {
         $tab->name[$lang['id_lang']] = 'Customer Auto Groups';
     }
     try {
         $tab->save();
     } catch (Exception $e) {
         echo $e->getMessage();
         return false;
     }
     if (!$this->_installSql()) {
         return false;
     }
     return true;
 }
 public function install()
 {
     /* Before creating a new tab "AdminSelfUpgrade" we need to remove any existing "AdminUpgrade" tab (present in v1.4.4.0 and v1.4.4.1) */
     if ($id_tab = Tab::getIdFromClassName('AdminUpgrade')) {
         $tab = new Tab((int) $id_tab);
         if (!$tab->delete()) {
             $this->_errors[] = sprintf($this->l('Unable to delete outdated AdminUpgrade tab %d'), (int) $id_tab);
         }
     }
     /* If the "AdminSelfUpgrade" tab does not exist yet, create it */
     if (!($id_tab = Tab::getIdFromClassName('AdminSelfUpgrade'))) {
         $tab = new Tab();
         $tab->class_name = 'AdminSelfUpgrade';
         $tab->module = 'autoupgrade';
         $tab->id_parent = (int) Tab::getIdFromClassName('AdminTools');
         foreach (Language::getLanguages(false) as $lang) {
             $tab->name[(int) $lang['id_lang']] = '1-Click Upgrade';
         }
         if (!$tab->save()) {
             return $this->_abortInstall($this->l('Unable to create the "AdminSelfUpgrade" tab'));
         }
         if (!@copy(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'logo.gif', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'img' . DIRECTORY_SEPARATOR . 't' . DIRECTORY_SEPARATOR . 'AdminSelfUpgrade.gif')) {
             return $this->_abortInstall(sprintf($this->l('Unable to copy logo.gif in %s'), _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'img' . DIRECTORY_SEPARATOR . 't' . DIRECTORY_SEPARATOR));
         }
     } else {
         $tab = new Tab((int) $id_tab);
     }
     /* Update the "AdminSelfUpgrade" tab id in database or exit */
     if (Validate::isLoadedObject($tab)) {
         Configuration::updateValue('PS_AUTOUPDATE_MODULE_IDTAB', (int) $tab->id);
     } else {
         return $this->_abortInstall($this->l('Unable to load the "AdminSelfUpgrade" tab'));
     }
     /* Check that the 1-click upgrade working directory is existing or create it */
     $autoupgrade_dir = _PS_ADMIN_DIR_ . DIRECTORY_SEPARATOR . 'autoupgrade';
     if (!file_exists($autoupgrade_dir) && !@mkdir($autoupgrade_dir, 0755)) {
         return $this->_abortInstall(sprintf($this->l('Unable to create the directory "%s"'), $autoupgrade_dir));
     }
     /* Make sure that the 1-click upgrade working directory is writeable */
     if (!is_writable($autoupgrade_dir)) {
         return $this->_abortInstall(sprintf($this->l('Unable to write in the directory "%s"'), $autoupgrade_dir));
     }
     /* If a previous version of ajax-upgradetab.php exists, delete it */
     if (file_exists($autoupgrade_dir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php')) {
         @unlink($autoupgrade_dir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php');
     }
     /* Then, try to copy the newest version from the module's directory */
     if (!@copy(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php', $autoupgrade_dir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php')) {
         return $this->_abortInstall(sprintf($this->l('Unable to copy ajax-upgradetab.php in %s'), $autoupgrade_dir));
     }
     /* Make sure that the XML config directory exists */
     if (!file_exists(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml') && !@mkdir(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml', 0755)) {
         return $this->_abortInstall(sprintf($this->l('Unable to create the directory "%s"'), _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml'));
     }
     /* Create a dummy index.php file in the XML config directory to avoid directory listing */
     if (!file_exists(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'index.php') && (file_exists(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'index.php') && !@copy(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'index.php', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'index.php'))) {
         return $this->_abortInstall(sprintf($this->l('Unable to create the directory "%s"'), _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml'));
     }
     return parent::install();
 }
Beispiel #4
0
 protected function addTab()
 {
     $tab = new Tab();
     $tab->class_name = 'AdminSampleDataInstall';
     $tab->id_parent = 0;
     $tab->module = $this->name;
     $tab->position = 100;
     $languages = Language::getLanguages(false);
     foreach ($languages as $lang) {
         $tab->name[$lang['id_lang']] = 'Sample Data Install';
     }
     if (!$tab->save()) {
         return false;
     }
     $tab_id = $tab->id;
     require_once dirname(__FILE__) . '/install/install_tab.php';
     foreach ($tabvalue as $tab) {
         $newtab = new Tab();
         $newtab->class_name = $tab['class_name'];
         $newtab->id_parent = $tab_id;
         $newtab->module = $tab['module'];
         foreach ($languages as $l) {
             $newtab->name[$l['id_lang']] = $this->l($tab['name']);
         }
         if (!$newtab->save()) {
             return false;
         }
     }
     return true;
 }
 public function install()
 {
     if (!parent::install() || !Configuration::updateValue('eicmslinks_admin_path', 0)) {
         return false;
     }
     //Copie des dossier de l'editeur tinyMce
     $this->copyDir(dirname(__FILE__) . '/tiny_mce/', dirname(__FILE__) . '/../../js/tiny_mce/plugins/');
     //Copie de l'override du formulaire cms de l'admin (Normalement devrait fonctionner via prestashop)
     $this->copyDir(dirname(__FILE__) . '/override/controllers/admin/templates/', dirname(__FILE__) . '/../../override/controllers/admin/templates/');
     //Création d'une tab prestashop ( nécessaire pour le controller back office )
     $tab = new Tab();
     $tab->class_name = 'wysiwyg';
     //On va la ranger dans "Préférences comme les pages cms y sont insérée
     $id_parent = Tab::getIdFromClassName('AdminParentPreferences');
     $tab->id_parent = $id_parent;
     $tab->module = $this->name;
     $languages = Language::getLanguages();
     foreach ($languages as $lang) {
         $tab->name[$lang['id_lang']] = 'EiCmsLinks';
     }
     try {
         $tab->save();
     } catch (Exception $e) {
         echo $e->getMessage();
         return false;
     }
     //Spécifique 1.5 ( on renomme le fichier de surcharge avec le bon nom car ils ne sont pas compatibles entre les versions )
     if (_PS_VERSION_ < '1.6') {
         rename(dirname(__FILE__) . '/../../override/controllers/admin/templates/cms/helpers/form/form.tpl', dirname(__FILE__) . '/../../override/controllers/admin/templates/cms/helpers/form/form16.tpl');
         rename(dirname(__FILE__) . '/../../override/controllers/admin/templates/cms/helpers/form/form15.tpl', dirname(__FILE__) . '/../../override/controllers/admin/templates/cms/helpers/form/form.tpl');
     }
     return true;
 }
 public function install()
 {
     if (!parent::install() || !$this->registerHook('displayHeader') || !$this->registerHook('displayBackOfficeHeader') || !$this->installDB()) {
         return false;
     }
     if (!$this->backupAllModulesHook('hook_module', 'ovic_backup_hook_module')) {
         return false;
     }
     $result = true;
     foreach (self::$OptionHookAssign as $hookname) {
         if (!$this->registerHook($hookname)) {
             $result &= false;
             break;
         }
     }
     if (!$result || !$this->registerHook('actionModuleRegisterHookAfter') || !$this->installSampleData()) {
         return false;
     }
     //$defaultfont  = htmlentities("<link href='http://fonts.googleapis.com/css?family=Cuprum' rel='stylesheet' type='text/css'>");
     //        if (is_string($defaultfont) === true)
     //        	$defaultfont = urldecode(preg_replace('/((\%5C0+)|(\%00+))/i', '', urlencode($defaultfont)));
     //        $defaultfont = !is_string($defaultfont)? $defaultfont : stripslashes($defaultfont);
     //        Configuration::updateValue('OVIC_FONT_LINK', $defaultfont);
     //        Configuration::updateValue('OVIC_MAIN_COLOR','#fe983d');
     //        Configuration::updateValue('OVIC_BTN_COLOR','#333');
     //        Configuration::updateValue('OVIC_BTN_HOVER_COLOR','#000');
     //        Configuration::updateValue('OVIC_BTN_TEXT_COLOR','#fff');
     //        Configuration::updateValue('OVIC_BTN_TEXT_HOVER_COLOR','#fff');
     $langs = Language::getLanguages();
     $tab = new Tab();
     $tab->class_name = "AdminThemeConfig";
     foreach ($langs as $l) {
         $tab->name[$l['id_lang']] = $this->l('Ovic Theme config');
     }
     $tab->module = '';
     $tab->id_parent = 0;
     //Root tab
     $tab->save();
     $tab_id = $tab->id;
     $newtab = new Tab();
     $newtab->class_name = "AdminLayoutSetting";
     foreach ($langs as $l) {
         $newtab->name[$l['id_lang']] = $this->l('Layout Control');
     }
     $newtab->module = $this->name;
     $newtab->id_parent = $tab_id;
     $newtab->add();
     $newtab = new Tab();
     $newtab->class_name = "AdminLayoutBuilder";
     foreach ($langs as $l) {
         $newtab->name[$l['id_lang']] = $this->l('Layout Builder');
     }
     $newtab->module = $this->name;
     $newtab->id_parent = $tab_id;
     $newtab->add();
     return true;
 }
Beispiel #7
0
 public function actionAdd()
 {
     if (empty($_POST)) {
         $viewData = array();
         $this->render('edit', $viewData);
         exit;
     }
     $res = array('statusCode' => 200, 'message' => '添加成功!');
     try {
         $m = new Tab();
         $m->name = $_REQUEST['name'];
         //谱子名称
         $m->class = $_REQUEST['class'];
         //歌曲名称
         $m->scover = $_REQUEST['scover'];
         //专辑id
         $m->mcover = $_REQUEST['mcover'];
         $m->bcover = $_REQUEST['bcover'];
         $m->content = $_REQUEST['content'];
         $m->poptab = $_REQUEST['poptab'];
         $m->solotab = $_REQUEST['solotab'];
         $m->views = $_REQUEST['views'];
         //自建分类
         $m->downs = $_REQUEST['downs'];
         $m->replys = $_REQUEST['replys'];
         $m->date = $_REQUEST['date'];
         $m->editor = $_REQUEST['editor'];
         $m->intro = $_REQUEST['intro'];
         $m->link1 = $_REQUEST['link1'];
         $m->link2 = $_REQUEST['link2'];
         $m->link3 = $_REQUEST['link3'];
         $m->link4 = $_REQUEST['link4'];
         $m->veditor = $_REQUEST['veditor'];
         $m->peditor = $_REQUEST['peditor'];
         $m->team = $_REQUEST['team'];
         $m->taobaolink = $_REQUEST['taobaolink'];
         $m->bbslink = $_REQUEST['bbslink'];
         $m->qita = $_REQUEST['qita'];
         $m->market_price = $_REQUEST['market_price'];
         $m->cost_price = $_REQUEST['cost_price'];
         $m->sell_price = $_REQUEST['sell_price'];
         $m->quantity = $_REQUEST['quantity'];
         $m->virtual_price = $_REQUEST['virtual_price'];
         $flag = $m->save();
         if (!$flag) {
             throw new exception('添加失败');
         }
     } catch (Exception $e) {
         $res['statusCode'] = 300;
         $res['message'] = '失败【' . $e->getMessage() . '】';
     }
     $res['navTabId'] = 'zineList';
     $res['callbackType'] = 'closeCurrent';
     $res['forwardUrl'] = '/manage/zine/index';
     $this->ajaxDwzReturn($res);
 }
Beispiel #8
0
 public function install()
 {
     if (!parent::install() || !$this->installDB()) {
         return false;
     }
     if (!$this->registerHook('displayHeader') || !$this->registerHook('displayBackOfficeHeader') || !$this->registerHook('displayProductListReviews')) {
         return false;
     }
     if (!$this->backupAllModulesHook('hook_module', 'ovic_backup_hook_module')) {
         return false;
     }
     $result = true;
     foreach (self::$OptionHookAssign as $hookname) {
         if (!$this->registerHook($hookname)) {
             $result &= false;
             break;
         }
     }
     if (!$result || !$this->registerHook('actionModuleRegisterHookAfter')) {
         return false;
     }
     if (!$this->installSampleData()) {
         return false;
     }
     $langs = Language::getLanguages();
     $tab = new Tab();
     $tab->class_name = "AdminThemeConfig";
     foreach ($langs as $l) {
         $tab->name[$l['id_lang']] = $this->l('Ovic Theme config');
     }
     $tab->module = '';
     $tab->id_parent = 0;
     //Root tab
     $tab->save();
     $tab_id = $tab->id;
     $newtab = new Tab();
     $newtab->class_name = "AdminLayoutSetting";
     foreach ($langs as $l) {
         $newtab->name[$l['id_lang']] = $this->l('Layout Control');
     }
     $newtab->module = $this->name;
     $newtab->id_parent = $tab_id;
     $newtab->add();
     $newtab = new Tab();
     $newtab->class_name = "AdminLayoutBuilder";
     foreach ($langs as $l) {
         $newtab->name[$l['id_lang']] = $this->l('Layout Builder');
     }
     $newtab->module = $this->name;
     $newtab->id_parent = $tab_id;
     $newtab->add();
     //Theme::getThemeInfo($this->context->shop->id_theme)
     return true;
 }
Beispiel #9
0
 /**
  * Istallation fcn of admin tables (ps_tab, ps_tab_advice, ps_tab_lang, ps_access)
  * @param unknown $tabClass
  * @param unknown $tabName
  * @param unknown $idTabParent
  * @return boolean
  */
 private function installModuleTab($tabClass, $tabName, $idTabParent)
 {
     $tab = new Tab();
     $tab->name = $tabName;
     $tab->class_name = $tabClass;
     $tab->module = $this->name;
     $tab->id_parent = $idTabParent;
     if (!$tab->save()) {
         return false;
     }
     return true;
 }
 private function installController($controllerName, $name)
 {
     $tab_admin_order_id = Tab::getIdFromClassName('AdminTools');
     $tab = new Tab();
     $tab->class_name = $controllerName;
     $tab->id_parent = $tab_admin_order_id;
     $tab->module = $this->name;
     $languages = Language::getLanguages(false);
     foreach ($languages as $lang) {
         $tab->name[$lang['id_lang']] = $name;
     }
     $tab->save();
 }
Beispiel #11
0
 private function installModuleTab($tab_class, $tab_name, $id_tab_name)
 {
     copy(_PS_MODULE_DIR_ . $this->name . '/img/logo.png', _PS_IMG_DIR_ . 't/' . $tab_class . '.gif');
     copy(_PS_MODULE_DIR_ . $this->name . '/img/webform.png', _PS_IMG_DIR_ . 't/Getresponse_webform.gif');
     $tab = new Tab();
     $tab->name = $tab_name;
     $tab->class_name = $tab_class;
     $tab->id_parent = $id_tab_name;
     if (!$tab->save()) {
         return false;
     }
     return true;
 }
Beispiel #12
0
 private function installModuleTab($tabClass, $tabName, $idTabParent)
 {
     @copy(_PS_MODULE_DIR_ . $this->name . '/logo.gif', _PS_IMG_DIR_ . 't/' . $tabClass . '.gif');
     $tab = new Tab();
     $tab->name = $tabName;
     $tab->class_name = $tabClass;
     $tab->module = $this->name;
     $tab->id_parent = $idTabParent;
     if (!$tab->save()) {
         return false;
     }
     return true;
 }
Beispiel #13
0
 private function createAdminTabs()
 {
     $langs = Language::getLanguages();
     $id_lang = (int) Configuration::get('PS_LANG_DEFAULT');
     /*         * ** create tab publications *** */
     $tab0 = new Tab();
     $tab0->class_name = "AdminVideos";
     $tab0->module = "myvideo";
     $tab0->id_parent = 0;
     foreach ($langs as $l) {
         $tab0->name[$l['id_lang']] = $this->l('Videos');
     }
     $tab0->save();
     $blog_tab_id = $tab0->id;
     $tab1 = new Tab();
     $tab1->class_name = "AdminVideoCategory";
     $tab1->module = "myvideo";
     $tab1->id_parent = $blog_tab_id;
     foreach ($langs as $l) {
         $tab1->name[$l['id_lang']] = $this->l('Video Categories');
     }
     $tab1->save();
     /*         * ** create tab categories *** */
     $tab2 = new Tab();
     $tab2->class_name = "AdminVideo";
     $tab2->module = "myvideo";
     $tab2->id_parent = $blog_tab_id;
     foreach ($langs as $l) {
         $tab2->name[$l['id_lang']] = $this->l('Video');
     }
     $tab2->save();
     /*         * * RIGHTS MANAGEMENT ** */
     Db::getInstance()->Execute('DELETE FROM ' . _DB_PREFIX_ . 'access 
                                     WHERE `id_tab` = ' . (int) $tab0->id . ' 
                                         OR `id_tab` = ' . (int) $tab1->id . ' 
                                         OR `id_tab` = ' . (int) $tab2->id);
     Db::getInstance()->Execute('DELETE FROM ' . _DB_PREFIX_ . 'module_access WHERE `id_module` = ' . (int) $this->id);
     $profiles = Profile::getProfiles($id_lang);
     if (count($profiles)) {
         foreach ($profiles as $p) {
             Db::getInstance()->Execute('INSERT IGNORE INTO `' . _DB_PREFIX_ . 'access`(`id_profile`,`id_tab`,`view`,`add`,`edit`,`delete`) 
                                              VALUES (' . $p['id_profile'] . ', ' . (int) $tab0->id . ',1,1,1,1)');
             Db::getInstance()->Execute('INSERT IGNORE INTO `' . _DB_PREFIX_ . 'access`(`id_profile`,`id_tab`,`view`,`add`,`edit`,`delete`) 
                                              VALUES (' . $p['id_profile'] . ', ' . (int) $tab1->id . ',1,1,1,1)');
             Db::getInstance()->Execute('INSERT IGNORE INTO `' . _DB_PREFIX_ . 'access`(`id_profile`,`id_tab`,`view`,`add`,`edit`,`delete`) 
                                              VALUES (' . $p['id_profile'] . ', ' . (int) $tab2->id . ',1,1,1,1)');
             Db::getInstance()->execute('INSERT INTO ' . _DB_PREFIX_ . 'module_access(`id_profile`, `id_module`, `configure`, `view`)
                                             VALUES (' . $p['id_profile'] . ',' . (int) $this->id . ',1,1)');
         }
     }
 }
Beispiel #14
0
    private function installModuleTab($class, $name)
    {
        $sql = '
	SELECT `id_tab` FROM `' . _DB_PREFIX_ . 'tab` WHERE `class_name` = "AdminCatalog"';
        $tabParent = (int) Db::getInstance()->getValue($sql);
        if (!is_array($name)) {
            $name = self::getMultilangField($name);
        }
        $tab = new Tab();
        $tab->name = $name;
        $tab->class_name = $class;
        $tab->module = $this->name;
        $tab->id_parent = $tabParent;
        return $tab->save();
    }
Beispiel #15
0
function upgrade_module_2_1_4($object)
{
    $id_tab = (int) Tab::getIdFromClassName('AdminSmartBlogAjax');
    if ($id_tab) {
        $tab = new Tab($id_tab);
        $tab->active = 1;
        $tab->class_name = 'AdminSmartBlogAjax';
        $tab->name = array();
        foreach (Language::getLanguages(true) as $lang) {
            $tab->name[$lang['id_lang']] = 'SmartBlogAjax';
        }
        $tab->id_parent = -1;
        $tab->module = $object->name;
        $tab->save();
    }
    return true;
}
Beispiel #16
0
 function install()
 {
     $res = true;
     // before adding AdminSelfUpgrade, we should remove AdminUpgrade
     $idTab = Tab::getIdFromClassName('AdminUpgrade');
     if ($idTab) {
         $tab = new Tab($idTab);
         $res &= $tab->delete();
     }
     $idTab = Tab::getIdFromClassName('AdminSelfUpgrade');
     // Then we add AdminSelfUpgrade only if not exists
     if (!$idTab) {
         $tab = new Tab();
         $tab->class_name = 'AdminSelfUpgrade';
         $tab->module = 'autoupgrade';
         $tab->id_parent = 9;
         $languages = Language::getLanguages(false);
         foreach ($languages as $lang) {
             $tab->name[$lang['id_lang']] = 'Upgrade';
         }
         $res &= $tab->save();
     } else {
         $tab = new Tab($idTab);
     }
     Configuration::updateValue('PS_AUTOUPDATE_MODULE_IDTAB', $tab->id);
     $autoupgradeDir = _PS_ADMIN_DIR_ . DIRECTORY_SEPARATOR . 'autoupgrade';
     if (!file_exists($autoupgradeDir)) {
         $res &= @mkdir($autoupgradeDir);
     }
     if (file_exists($autoupgradeDir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php')) {
         $res &= unlink($autoupgradeDir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php');
     }
     if (!defined('_PS_MODULE_DIR_')) {
         define('_PS_MODULE_DIR_', _PS_ROOT_DIR_ . '/modules/');
     }
     $res &= copy(_PS_MODULE_DIR_ . 'autoupgrade/ajax-upgradetab.php', $autoupgradeDir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php');
     $res &= copy(_PS_MODULE_DIR_ . 'autoupgrade/logo.gif', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'img/t/AdminSelfUpgrade.gif');
     if (!$res or !Tab::getIdFromClassName('AdminSelfUpgrade') or !parent::install()) {
         return false;
     }
     return true;
 }
Beispiel #17
0
 public function addAdminTab()
 {
     $id_parent = Tab::getIdFromClassName('AdminParentOrders');
     $adminTab = new Tab();
     $languages = Language::getLanguages(true);
     $adminTab->name = array();
     foreach ($languages as $lang) {
         $adminTab->name[$lang['id_lang']] = 'fr' == $lang['iso_code'] ? 'Carte des commandes' : 'Order map';
     }
     $adminTab->class_name = 'AdminMappa';
     $adminTab->module = $this->name;
     $adminTab->id_parent = $id_parent;
     $adminTab->active = true;
     $adminTab->position = Tab::getNbTabs($id_parent);
     if (!$adminTab->save()) {
         return false;
     }
     Configuration::updateValue('ADMIN_TAB_MODULE_MAPPA', $adminTab->id);
     return true;
 }
    private function installModuleTab($class, $name)
    {
        $sql = '
		SELECT `id_tab` FROM `' . _DB_PREFIX_ . 'tab` WHERE `class_name` = "AdminCatalog"';
        $tabParent = (int) Db::getInstance()->getValue($sql);
        if (!is_array($name)) {
            $name = self::getMultilangField($name);
        }
        if (self::fileExistsInModulesDir('logo.gif') && is_writeable(_PS_IMG_DIR_ . 't/')) {
            $this->copyLogo($class);
        }
        $tab = new Tab();
        $tab->name = $name;
        $tab->class_name = $class;
        $tab->module = $this->name;
        $tab->id_parent = $tabParent;
        return $tab->save();
    }
Beispiel #19
0
 static function createTab($id_parent, $module, $name, $class_name)
 {
     $Tab = new Tab();
     $Tab->module = $module;
     foreach (Language::getLanguages(true) as $languages) {
         $Tab->name[$languages["id_lang"]] = $name;
     }
     $Tab->id_parent = $id_parent;
     $Tab->class_name = $class_name;
     $r = $Tab->save();
     if ($r == false) {
         return false;
     }
     return $Tab->id;
 }
Beispiel #20
0
 private function CreateSmartBlogTabs()
 {
     $langs = Language::getLanguages();
     $id_lang = (int) Configuration::get('PS_LANG_DEFAULT');
     $smarttab = new Tab();
     $smarttab->class_name = "AdminSmartBlog";
     $smarttab->module = "";
     $smarttab->id_parent = 0;
     foreach ($langs as $l) {
         $smarttab->name[$l['id_lang']] = $this->l('Blog');
     }
     $smarttab->save();
     $tab_id = $smarttab->id;
     @copy(dirname(__FILE__) . "/AdminSmartBlog.gif", _PS_ROOT_DIR_ . "/img/t/AdminSmartBlog.gif");
     require_once dirname(__FILE__) . '/sql/install_tab.php';
     foreach ($tabvalue as $tab) {
         $newtab = new Tab();
         $newtab->class_name = $tab['class_name'];
         $newtab->id_parent = $tab_id;
         $newtab->module = $tab['module'];
         foreach ($langs as $l) {
             $newtab->name[$l['id_lang']] = $this->l($tab['name']);
         }
         $newtab->save();
     }
     return true;
 }
Beispiel #21
0
 public function installAdminTab($tab_class, $tab_active, $tab_name, $tab_class_parent)
 {
     if (!Tab::getIdFromClassName((string) $tab_class)) {
         // Get tab parent id
         // -----------------
         if (in_array((string) $tab_class_parent, $this->ids_tabs)) {
             $id_tab_parent = $this->ids_tabs[(string) $tab_class_parent];
         } else {
             $id_tab_parent = Tab::getIdFromClassName((string) $tab_class_parent);
         }
         // Add the new tab
         // ---------------
         $tab = new Tab();
         $tab->name = array();
         foreach (Language::getLanguages() as $language) {
             $tab->name[$language['id_lang']] = Translate::getAdminTranslation((string) $tab_name, 'expressmailing', false, false);
         }
         $tab->class_name = (string) $tab_class;
         $tab->module = $this->name;
         $tab->id_parent = (int) $id_tab_parent;
         $tab->active = (bool) $tab_active ? 1 : 0;
         if (!$tab->save()) {
             return false;
         }
         $this->ids_tabs[(string) $tab_class] = $tab->id;
     }
     // Else, Tab already installed
     // ---------------------------
     return true;
 }
 public function install()
 {
     $carrier_config = array(0 => array('name' => 'Courier service', 'type' => 'carrier', 'id_tax_rules_group' => 0, 'active' => true, 'deleted' => false, 'shipping_handling' => false, 'range_behavior' => false, 'shipping_external' => true, 'need_range' => true, 'delay' => array('lv' => 'Saņemiet sūtījumu tieši rokās.', 'lt' => 'Gaukite savo siuntą tiesiai į rankas.', Language::getIsoById(Configuration::get('PS_LANG_DEFAULT')) => 'Receive your shipment right in your hands.'), 'id_zone' => 1, 'is_module' => true, 'external_module_name' => self::$module_name, 'is_free' => false, 'grade' => false, 'ranges' => array(array('delimiter1' => 0.0, 'delimiter2' => BalticodeDpdCarrierCourier::$maxWeight, 'price' => 7.99)), 'max_weight' => BalticodeDpdCarrierCourier::$maxWeight, 'max_width' => BalticodeDpdCarrierCourier::$maxLength, 'max_height' => BalticodeDpdCarrierCourier::$maxLength, 'max_depth' => BalticodeDpdCarrierCourier::$maxLength), 1 => array('name' => 'Pickup and delivery points', 'type' => 'pickup', 'id_tax_rules_group' => 0, 'active' => true, 'deleted' => false, 'shipping_handling' => false, 'range_behavior' => false, 'shipping_external' => true, 'need_range' => true, 'delay' => array('lv' => 'Jūs varat izbaudīt sūtījuma saņemšanas tepat aiz stūra ērtību.', 'lt' => 'Jūs galite naudotis patogiu pirkinių atsiėmimu Jums patogioje vietoje.', Language::getIsoById(Configuration::get('PS_LANG_DEFAULT')) => 'You can enjoy the convenience of picking up a parcel just around the corner.'), 'id_zone' => 1, 'is_module' => true, 'external_module_name' => self::$module_name, 'is_free' => false, 'grade' => false, 'ranges' => array(array('delimiter1' => 0.0, 'delimiter2' => BalticodeDpdCarrierPickUp::$maxWeight, 'price' => 2.8)), 'max_weight' => BalticodeDpdCarrierPickUp::$maxWeight, 'max_width' => BalticodeDpdCarrierPickUp::$maxLength, 'max_height' => BalticodeDpdCarrierPickUp::$maxLength, 'max_depth' => BalticodeDpdCarrierPickUp::$maxLength));
     if (!DpdCarrierOptions::installDb()) {
         return false;
     }
     $id_carrier1 = $this->installExternalCarrier($carrier_config[0]);
     $id_carrier2 = $this->installExternalCarrier($carrier_config[1]);
     Configuration::updateValue('COURIERSERVICE_CARRIER_ID', (int) $id_carrier1);
     Configuration::updateValue('DELIVERYPOINTS_CARRIER_ID', (int) $id_carrier2);
     if (!parent::install() || !Configuration::updateValue('COURIERSERVICE_OVERCOST', '') || !Configuration::updateValue('DELIVERYPOINTS_OVERCOST', '') || !$this->registerHook('updateCarrier') || !$this->registerHook('displayCarrierList') || !$this->registerHook('displayBackOfficeHeader') || !$this->registerHook('displayOrderConfirmation') || !DpdDeliveryPoints::installDb() || !DpdOrderOptions::installDb() || !DpdDeliveryPrice::installDb()) {
         //          || !$this->addBulkActionButtons() //Bulk Action buttons
         //            //Using this only if Overwrite using already other model!
         return false;
     }
     $tab = new Tab();
     $tab->class_name = 'AdminCallcarrier';
     $tab->module = self::$module_name;
     $tab->name[(int) Configuration::get('PS_LANG_DEFAULT')] = $this->l('AdminCallcarrier');
     $tab->id_parent = -1;
     $tab->position = 1;
     $tab->save();
     return true;
 }
 private function CreateTabs()
 {
     $langs = Language::getLanguages();
     $id_lang = (int) Configuration::get('PS_LANG_DEFAULT');
     $smarttab = new Tab();
     $smarttab->class_name = "AdminSuperAbandonedCart";
     $smarttab->module = "superabandonedcart";
     $smarttab->id_parent = 0;
     foreach ($langs as $l) {
         $smarttab->name[$l['id_lang']] = $this->l('Super Abandoned Cart');
     }
     $smarttab->save();
     $tab_id = $smarttab->id;
     return true;
 }
 /**
  * @description install admin tab.
  * @param $admin_module_class
  * @param $parent_class string
  *     AdminCatalog  AdminParentOrders AdminParentCustomer AdminPriceRule AdminParentShipping AdminParentLocalization
  *     AdminParentModules AdminParentPreferences AdminTools AdminAdmin AdminParentStats AdminStock
  * @param $tabTitle string need to $this->l implemented in module
  * @return bool
  */
 protected function installTab($admin_module_class, $tabTitle = false, $parent_class = 'PstTools')
 {
     if ($tabTitle === false || empty($tabTitle)) {
         $tabTitle = array();
         foreach (Language::getLanguages(false) as $lang) {
             $tabTitle[(int) $lang['id_lang']] = $this->l($this->displayName);
         }
     }
     if (!($id_tab = Tab::getIdFromClassName($admin_module_class))) {
         $tab = new Tab();
         $tab->class_name = $admin_module_class;
     } else {
         $tab = new Tab((int) $id_tab);
         $tab->class_name = $admin_module_class;
     }
     if (is_string($tabTitle)) {
         foreach (Language::getLanguages(false) as $lang) {
             $tab->name[(int) $lang['id_lang']] = $this->l($tabTitle);
         }
     } elseif (is_array($tabTitle)) {
         $tab->name = $tabTitle;
     } else {
         var_dump($tabTitle);
         die;
     }
     $tab->active = true;
     $tab->module = $this->name;
     $tab->id_parent = $this->getTabIdParent($parent_class);
     @copy(_PS_MODULE_DIR_ . $this->name . DIRECTORY_SEPARATOR . 'logo.gif', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'img' . DIRECTORY_SEPARATOR . 't' . DIRECTORY_SEPARATOR . $admin_module_class . '.gif');
     @copy(_PS_MODULE_DIR_ . $this->name . DIRECTORY_SEPARATOR . 'logo.png', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'img' . DIRECTORY_SEPARATOR . 't' . DIRECTORY_SEPARATOR . $admin_module_class . '.gif');
     if (!$tab->save()) {
         return $this->_abortInstall($this->l('Unable to create the "' . $admin_module_class . '" tab'));
     }
     if (!Validate::isLoadedObject($tab)) {
         return $this->_abortInstall($this->l('Unable to load the "' . $admin_module_class . '" tab'));
     }
     return true;
 }
 public function install()
 {
     // ID нашей несчастной почты в системе
     $idCarrier = $this->installCarrier();
     $res = false;
     // Не удалось создать, то и все остальное не уперлось
     // Хорошо бы Exceptions употреблять. Потом, с ними
     // еще разбираться надо
     if (!$idCarrier) {
         return false;
     }
     //Создание перевозчика с наложенным платежом
     $idCarrierCOD = $this->installCarrier(1);
     if (!$idCarrierCOD) {
         return false;
     }
     if (!$this->RussianPost->createTable()) {
         $this->uninstallCarrier($idCarrier);
         $this->uninstallCarrier($idCarrierCOD);
     }
     // Здесь мы создаем пункт вехнего подменю.
     // Сначала проверим, есть-ли оно уже
     $idTab = Tab::getIdFromClassName('AdminRussianPost');
     // Если нет, создадим
     // TODO: поработать с этим куском
     if (!$idTab) {
         $tab = new Tab();
         $tab->class_name = 'AdminRussianPost';
         $tab->module = 'russianpostcarrier';
         $tab->id_parent = (int) Tab::getIdFromClassName('AdminParentShipping');
         $languages = Language::getLanguages(false);
         foreach ($languages as $lang) {
             $tab->name[(int) $lang['id_lang']] = 'Russian Post';
         }
         if (!$tab->save()) {
             // Если что-то пошло не так, удалим перевозчика и закруглимся
             $this->uninstallCarrier($idCarrier);
             $this->uninstallCarrier($idCarrierCOD);
             return $this->_abortInstall($this->l('Unable to create the "Russian Post" tab'));
         }
     } else {
         $tab = new Tab((int) $idTab);
     }
     //Обновляем в БД tab id вкладки "Russian Post" или завершаем с ошибкой
     if (Validate::isLoadedObject($tab)) {
         Configuration::updateValue('SR_RUSSIAN_POST_TAB_ID', $tab->id);
     } else {
         return $this->_abortInstall($this->l('Unable to load the "Russian Post" tab'));
     }
     // Если родительский метод не срабатывает, то все удаляем,
     // и самоустраняемся
     if (!parent::install() or !$this->registerHook('ActionCarrierUpdate')) {
         parent::uninstall();
         $this->uninstallTab($tab->id);
         $this->uninstallCarrier($idCarrier);
         $this->uninstallCarrier($idCarrierCOD);
         $this->RussianPost->dropTable();
         return $this->_abortInstall($this->l('Unable to invoke parent method install or registerHook "ActionCarrierUpdate" failed'));
     }
     // Нам будут полезны ID пункта меню и перевозчика
     // TODO: Некисло и результат этой операции проверять, конечно
     Configuration::updateValue('SR_RUSSIAN_POST_CARRIER_ID', $idCarrier);
     Configuration::updateValue('SR_RUSSIAN_POST_CARRIER_COD_ID', $idCarrierCOD);
     return true;
 }
Beispiel #26
0
 public function installModuleTabs()
 {
     $this->setAdminControllers();
     if (!empty($this->aAdminControllers)) {
         foreach ($this->aAdminControllers as $controller_name => $params) {
             @copy(_PS_MODULE_DIR_ . $this->name . '/logo.gif', _PS_IMG_DIR_ . 't/' . $controller_name . '.gif');
             // Check if the AdminController isset or not
             if (!Tab::getIdFromClassName($controller_name)) {
                 $tab = new Tab();
                 $tab->name[(int) $this->context->language->id] = pSQL($params['name']);
                 $tab->class_name = pSQL($controller_name);
                 $tab->module = pSQL($this->name);
                 $tab->id_parent = (int) Tab::getIdFromClassName($params['parent']);
                 $tab->save();
             }
         }
     }
     return true;
 }
 public function installModuleTabs()
 {
     // get controllers list
     $erp_features = ErpFeature::getFeatures($this->context->language->iso_code);
     if (!empty($erp_features)) {
         foreach ($erp_features as $feature) {
             @copy(_PS_MODULE_DIR_ . $this->name . '/logo.gif', _PS_IMG_DIR_ . 't/' . $feature['controller'] . '.gif');
             $tab = new Tab();
             foreach (Language::getLanguages(false) as $language) {
                 $tab->name[$language['id_lang']] = $feature['name'];
             }
             $tab->class_name = $feature['controller'];
             $tab->module = $this->name;
             $tab->id_parent = -1;
             // -1 to not display the tab in BO
             if (!$tab->save()) {
                 $this->_errors[] = $this->l('Error while installing module tabs !');
                 return false;
             }
             // configuration name is limited to 32 caracteres
             $controller_status_name = self::getControllerStatusName($feature['controller']);
             // save feature statut
             if (!Configuration::updateValue($controller_status_name, $feature['status'])) {
                 return false;
             }
         }
     }
     return true;
 }
Beispiel #28
0
 private function installModuleTab($tab_class, $tab_name, $tab_parent)
 {
     if (!($id_tab_parent = Tab::getIdFromClassName($tab_parent))) {
         return false;
     }
     $tab = new Tab();
     $languages = Language::getLanguages(true);
     foreach ($languages as $language) {
         if (!isset($tab_name[$language['iso_code']])) {
             $tab->name[$language['id_lang']] = $tab_name['default'];
         } else {
             $tab->name[(int) $language['id_lang']] = $tab_name[$language['iso_code']];
         }
     }
     $tab->class_name = $tab_class;
     $tab->module = $this->name;
     $tab->id_parent = $id_tab_parent;
     $tab->active = 1;
     if (!$tab->save()) {
         return false;
     }
     return true;
 }
Beispiel #29
0
 private function CreateSmartBlogTabs()
 {
     $langs = Language::getLanguages();
     $smarttab = new Tab();
     $smarttab->class_name = "AdminSmartBlog";
     $smarttab->module = "";
     $smarttab->id_parent = 0;
     foreach ($langs as $l) {
         $smarttab->name[$l['id_lang']] = $this->l('Blog');
     }
     $smarttab->save();
     $tab_id = $smarttab->id;
     @copy(dirname(__FILE__) . "/views/img/AdminSmartBlog.gif", _PS_ROOT_DIR_ . "/img/t/AdminSmartBlog.gif");
     $tabvalue = array();
     // assign tab value from include file
     require_once dirname(__FILE__) . '/sql/install_tab.php';
     foreach ($tabvalue as $tab) {
         $newtab = new Tab();
         $newtab->class_name = $tab['class_name'];
         if ($tab['id_parent'] == -1) {
             $newtab->id_parent = $tab['id_parent'];
         } else {
             $newtab->id_parent = $tab_id;
         }
         $newtab->module = $tab['module'];
         foreach ($langs as $l) {
             $newtab->name[$l['id_lang']] = $this->l($tab['name']);
         }
         $newtab->save();
     }
     return true;
 }
Beispiel #30
0
 private function _installTab()
 {
     @copy(_PS_MODULE_DIR_ . $this->name . '/logo.gif', _PS_IMG_DIR_ . 't/' . $this->_tabClass . '.gif');
     $tab = new Tab();
     foreach (Language::getLanguages() as $language) {
         $tab->name[$language['id_lang']] = 'Menu';
     }
     $tab->class_name = $this->_tabClass;
     $tab->module = $this->name;
     $tab->id_parent = 7;
     $tab->save();
     $fields = array('id_profile' => 1, 'id_tab' => (int) $tab->id, 'view' => 1, 'add' => 1, 'edit' => 1, 'delete' => 1);
     Db::getInstance()->autoExecute(_DB_PREFIX_ . 'access', $fields, 'INSERT');
     return true;
 }