Esempio n. 1
0
 /**
  * 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);
     }
 }
Esempio n. 2
0
 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));
 }
Esempio n. 4
0
 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);
         }
     }
 }
Esempio n. 7
0
 /**
  * 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;
     }
 }
Esempio n. 8
0
<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;
     }
 }
Esempio n. 10
0
 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');
     }
 }
Esempio n. 11
0
 /**
  * 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;
 }