protected function processImpl(PostArrayAdapter $adapter, $button)
 {
     if (!$adapter->hasAllNoEmpty('folding', self::PARAM_NEW_FOLDING_IDENT)) {
         return 'Не переданы все необходимые параметры.';
     }
     $funique = $adapter->str('folding');
     $fident = check_condition($adapter->str(self::PARAM_NEW_FOLDING_IDENT), 'Пустой идентификатор фолдинга');
     $folding = Handlers::getInstance()->getFoldingByUnique($funique);
     $folding->assertNotExistsEntity($fident);
     switch ($button) {
         case self::BUTTON_SAVE_DB:
             $action = PS_ACTION_CREATE;
             $table = TableExporter::inst()->getTable($folding);
             //Проставим руками идентификатор фолдинга для колонки из базы
             $adapter->set($folding->getTableColumnIdent(), $fident);
             $rec = $table->fetchRowFromForm($adapter->getData(), $action);
             if (!is_array($rec)) {
                 //Данные для создания записи в БД не прошли валидацию
                 return $rec;
             }
             $table->saveRec($rec, $action);
             //createFoldingDbRec($folding, $ident);
         //createFoldingDbRec($folding, $ident);
         case self::BUTTON_SAVE:
             $folding->createEntity($fident);
             break;
     }
     return new AjaxSuccess(array('url' => AP_APFoldingEdit::urlFoldingEdit($folding->getFoldedEntity($fident))));
 }
 protected function processImpl(PostArrayAdapter $adapter, $button)
 {
     $clear = $adapter->bool(FORM_PARAM_YES_NO);
     $folding = Handlers::getInstance()->getFoldingByUnique($adapter->str('folding'));
     $uploadedZip = SimpleUploader::inst()->saveUploadedFile();
     try {
         $fentity = $folding->imporFromZip($uploadedZip, $clear);
     } catch (Exception $ex) {
         $uploadedZip->remove();
         throw $ex;
     }
     return new AjaxSuccess(array('url' => AP_APFoldingEdit::url($fentity)));
 }
 protected function processImpl(PostArrayAdapter $adapter, $button)
 {
     //return print_r($adapter->data, true);
     if (!$adapter->hasAllNoEmpty(array('ftype', 'fident'))) {
         return 'Не переданы все необходимые параметры.';
     }
     $ftype = $adapter->str('ftype');
     $fsubtype = $adapter->str('fsubtype');
     $ident = $adapter->str('fident');
     $folding = FoldedStorageInsts::byTypeStype($ftype, $fsubtype);
     $fEntity = $folding->getFoldedEntity($ident, true);
     $result = 'OK';
     switch ($button) {
         case self::BUTTON_SAVE:
             /*
              * На всякий случай убедимся, что нам передали все данные с формы
              */
             check_condition($adapter->hasAll($folding->getAllowedResourceTypes()), 'Переданы не все типы данных для фолдинга');
             //Основим обложку, если фолдинг с ней работает
             if ($folding->isImagesFactoryEnabled()) {
                 $cover = SimpleUploader::inst()->saveUploadedFile(false);
                 if ($cover) {
                     $folding->updateEntityCover($ident, $cover);
                     $cover->remove();
                 }
             }
             //Обновим остальные параемтры
             $folding->editEntity($ident, $adapter);
             break;
         case self::BUTTON_DELETE_ALL:
             //Удаляем строку из базы
             //TODO - выкинуто
             //TableExporter::inst()->getTable($folding->getTableName())->deleteFoldingDbRec($folding, $ident);
         //Удаляем строку из базы
         //TODO - выкинуто
         //TableExporter::inst()->getTable($folding->getTableName())->deleteFoldingDbRec($folding, $ident);
         case self::BUTTON_DELETE:
             $folding->deleteEntity($ident);
             $result = AP_APFoldingEdit::urlFoldingEntitys($folding);
             break;
     }
     return new AjaxSuccess($result);
 }
Beispiel #4
0
 public function buildContent()
 {
     $navigation = AdminPageNavigation::inst();
     $ftype = LibResources::LIB_FOLDING_TYPE;
     $fsubtype = RequestArrayAdapter::inst()->str('fsubtype');
     $fident = RequestArrayAdapter::inst()->str('fident');
     $mode = !$fsubtype ? self::MODE_FOLDINGS_LIST : self::MODE_FOLDING_CONTENT;
     $PARAMS['error'] = null;
     switch ($mode) {
         case self::MODE_FOLDINGS_LIST:
             $PARAMS['foldings'] = array();
             /* @var $manager FoldedResources */
             foreach (Handlers::getInstance()->getLibManagers() as $manager) {
                 $PARAMS['foldings'][] = array('name' => $manager->getEntityName() . ' (' . $manager->getUnique() . ')', 'url' => $this->url(array('fsubtype' => $manager->getFoldingSubType())));
             }
             $navigation->setCurrent('Список библиотек');
             break;
         case self::MODE_FOLDING_CONTENT:
             $manager = Handlers::getInstance()->getTimeLineFolding($fsubtype);
             $PARAMS['tlbfe'] = $manager->getTLBuilderFoldedEntity();
             $PARAMS['folding']['name'] = $manager->getEntityName();
             $PARAMS['folding']['fsubtype'] = $manager->getFoldingSubType();
             //TODO - вынести
             $items = AdminLibBean::inst()->getAllNoFetch($fsubtype);
             $PARAMS['folding']['data'] = array();
             /* @var $item LibItemDb */
             foreach ($items as $item) {
                 $item['editurl'] = AP_APFoldingEdit::urlFoldingEdit(FoldedResources::unique($ftype, $fsubtype, $item['ident']));
                 $PARAMS['folding']['data'][] = $item;
             }
             $navigation->addPath($this->url(), 'Список библиотек');
             $navigation->setCurrent($manager->getEntityName());
             break;
     }
     $PARAMS['mode'] = $mode;
     echo $this->getFoldedEntity()->fetchTpl($PARAMS);
 }