/** * Save the items to the cache * * @param $cacheId * @param $items */ protected function itemsToCache($cacheId, $items) { if ($cacheId !== null) { Yii::app()->embCache->set($cacheId, $items, MenubuilderModule::getInstance()->cacheDuration); } }
public function afterFind() { parent::afterFind(); $dataAdapter = MenubuilderModule::getInstance()->getDataAdapter(); $titles = $dataAdapter->getLanguageAttributes('menu', $this->menuid, EMBConst::DB_LANGUAGETYPE_MENUTITLE); if (!empty($titles)) { $this->titles = $titles; } $descriptions = $dataAdapter->getLanguageAttributes('menu', $this->menuid, EMBConst::DB_LANGUAGETYPE_MENUDESCRIPTION); if (!empty($descriptions)) { $this->descriptions = $descriptions; } }
public function render($view = 'blueprint', $controller = null) { $this->initMenuData(); if (strpos($view->view, '.') === false) { $view = 'menubuilder.views.' . MenubuilderModule::getInstance()->theme . '.pagebehavior.' . $view; } $this->setController($controller); $this->getController()->renderPartial($view, array('pageBehavior' => $this)); }
protected function afterDelete() { parent::afterDelete(); MenubuilderModule::getInstance()->getDataAdapter()->deleteMenuItemsByMenuId($this->menuid); }
/** * Userroles validation * * @param $attribute */ public function validateUserRoles($attribute) { $allowedItems = array_keys(MenubuilderModule::getInstance()->getSupportedUserRoles()); $this->asa('attributesBehavior')->validateArrayAttribute($attribute, $allowedItems); }
/** * Validate the menuid of a menu model. * Check if it is unique * * @param $attribute */ public function validateMenuId($attribute) { $owner = $this->getOwner(); $value = $owner->{$attribute}; if ($owner->getIsNewRecord()) { if (MenubuilderModule::getInstance()->getDataAdapter()->menuidExists($value)) { $owner->addError($attribute, Yii::t('MenubuilderModule.messages', 'Menuid already exists') . ': ' . $value); } } }
/** * Import from a zip archive * * @param $zip * @return bool|int */ public function importFromZip($zip, &$error = '') { if ($zip->locateName('exp_dbmenus.php', ZIPARCHIVE::FL_NODIR) !== false && $zip->locateName('exp_dbmenuitems.php', ZIPARCHIVE::FL_NODIR) !== false) { $result = $zip->extractTo(MenubuilderModule::getInstance()->getDataPath()); if ($result) { $menuBuilder = MenubuilderModule::getInstance(); $this->emptyTableMenu(); $file = $menuBuilder->getDataPath() . DIRECTORY_SEPARATOR . 'exp_dbmenus.php'; $items = $menuBuilder->itemsFromFile($file); $this->appendFromArray($items, $this->menuClass, $error); if (empty($error)) { $this->emptyTableMenuItem(); $file = $menuBuilder->getDataPath() . DIRECTORY_SEPARATOR . 'exp_dbmenuitems.php'; $items = $menuBuilder->itemsFromFile($file); $this->appendFromArray($items, $this->menuItemClass, $error); return empty($error); } else { return false; } } else { return $result; } } else { return false; } }
<fieldset class="emb-pagebehavior"> <legend><?php echo Yii::t('MenubuilderModule.messages', 'Menu item'); ?> </legend> <?php $menuItem = $pageBehavior->getMenuItem(); if (empty($menuItem)) { $menuItem = $pageBehavior->createMenuItem(); } $pageBehavior->renderHiddenFields(); ?> <?php $curLanguage = Yii::app()->language; $labelText = Yii::t('MenubuilderModule.messages', 'Label'); foreach (MenubuilderModule::getInstance()->getLanguages() as $language) { $label = $language != $curLanguage ? $labelText . " [{$language}]" : $labelText; $langAttributes = $menuItem->labels; $value = isset($langAttributes[$language]) ? $langAttributes[$language] : ''; ?> <div class="row"> <?php echo CHtml::label($label, ''); ?> <?php echo CHtml::textField($pageBehavior->getFieldName('labels') . "[{$language}]", $value, array('size' => 40, 'maxlength' => 80)); ?> </div> <?php } ?>
/** * Import from a zip archive * * @param $zip * @return bool|int */ public function importFromZip($zip, &$error = '') { if ($zip->locateName('exp_menus.php', ZIPARCHIVE::FL_NODIR) !== false && $zip->locateName('exp_menuitems.php', ZIPARCHIVE::FL_NODIR) !== false) { return $zip->extractTo(MenubuilderModule::getInstance()->getDataPath()); } else { return false; } }
public function afterFind() { parent::afterFind(); $dataAdapter = MenubuilderModule::getInstance()->getDataAdapter(); $labels = $dataAdapter->getLanguageAttributes('menuitem', $this->itemid, EMBConst::DB_LANGUAGETYPE_MENUITEMLABEL); if (!empty($labels)) { $this->labels = $labels; } else { $this->initLanguageAttribute('labels'); } $descriptions = $dataAdapter->getLanguageAttributes('menuitem', $this->itemid, EMBConst::DB_LANGUAGETYPE_MENUITEMDESCRIPTION); if (!empty($descriptions)) { $this->descriptions = $descriptions; } else { $this->initLanguageAttribute('descriptions'); } }
/** * Create a zip backup file used on export * * @param string $name * @return bool|string */ public function zipbackup($name = 'emb_backup') { $name = $name . date('_Ymd_Hi_s') . '.zip'; $zipFile = MenubuilderModule::getInstance()->getDataPath() . DIRECTORY_SEPARATOR . $name; $zip = new ZipArchive(); if ($zip->open($zipFile, ZipArchive::CREATE) === true) { $this->exportToZip($zip); return is_file($zipFile) ? $zipFile : false; } return false; }