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