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); }
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); }