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) { $pass = $adapter->str(FORM_PARAM_REG_PASS); $passConfirm = $adapter->str(FORM_PARAM_REG_PASS_CONF); $error = UserInputValidator::validatePass($pass, $passConfirm); if ($error) { return array(FORM_PARAM_REG_PASS => $error); } $error = UserInputValidator::validatePassConfirm($pass, $passConfirm); if ($error) { return array(FORM_PARAM_REG_PASS_CONF => $error); } /* * Код */ $code = $adapter->str(REMIND_CODE_PARAM); if (!$code) { return 'Не передан код восстановления'; } $user = PassRecoverManager::changePassWithCode($code, $pass); if ($user instanceof PsUser) { $authed = AuthManager::loginUser($user->getEmail(), $pass); if ($authed) { return new AjaxSuccess(); } else { return 'Не удалось авторизоваться после смены пароля'; } } else { //Описание - почему код не может быть использован return $user; } }
protected function processImpl(PostArrayAdapter $adapter, $button) { $entity = Handlers::getInstance()->getFoldedEntityByUnique($adapter->str('fentity')); $tpl = $entity->getFolding()->getInfoTpl($entity->getIdent(), $adapter->str('ftpl')); $content = $adapter->str('tpl'); $tpl->getDirItem()->writeLineToFile($content, true); return new AjaxSuccess(); }
protected function processImpl(PostArrayAdapter $adapter, $button) { $FEEDBACK = FeedbackManager::inst(); /* * Тема */ $theme = $adapter->str(FORM_PARAM_THEME); $error = UserInputValidator::validateShortText($theme); if ($error) { return array(FORM_PARAM_THEME => $error); } $theme = UserInputTools::safeShortText($theme); /* * Комментарий */ $text = $adapter->str(FORM_PARAM_COMMENT); $error = UserInputValidator::validateLongText($text); if ($error) { return array(FORM_PARAM_COMMENT => $error); } $text = UserInputTools::safeLongText($text); /* * АВТОРИЗОВАН - пользуемся стандартным механизмом добавления сообщения в тред. * Кодом треда, при этом, является сам пользователь. */ if (AuthManager::isAuthorized()) { $msg = $FEEDBACK->saveMessage(PsUser::inst()->getId(), null, $text, $theme, PsUser::inst()); return new AjaxSuccess($FEEDBACK->buildLeaf($msg)); } /* * НЕ АВТОРИЗОВАН - сохраняем сообщение в таблицу анонимных пользователей. */ if (!AuthManager::isAuthorized()) { /* * Имя пользователя */ $name = $adapter->str(FORM_PARAM_NAME); $error = UserInputValidator::validateShortText($name); if ($error) { return array(FORM_PARAM_NAME => $error); } $name = UserInputTools::safeShortText($name); /* * Контакты */ $contacts = $adapter->str(FORM_PARAM_REG_CONTACTS); if ($contacts) { $error = UserInputValidator::validateShortText($contacts, false); if ($error) { return array(FORM_PARAM_REG_CONTACTS => $error); } $contacts = UserInputTools::safeShortText($contacts); } $FEEDBACK->saveAnonimousFeedback($name, $contacts, $theme, $text); return new AjaxSuccess(); } }
public function processImpl(PostArrayAdapter $paa, $button) { $login = $paa->str(FORM_PARAM_LOGIN); if (!$login) { return 'Укажите e-mail'; } if (!PsCheck::isEmail($login)) { return 'E-mail должен быть корректным'; } $password = $paa->str(FORM_PARAM_PASS); if (!$password) { return 'Нужно указать пароль'; } return new AdminLoginFormData($login, $password); }
protected function processImpl(PostArrayAdapter $adapter, $button) { $data = new RegFormData(); /* * Имя пользователя */ $name = $adapter->str(FORM_PARAM_REG_NAME); $error = UserInputValidator::validateShortText($name); if ($error) { return array(FORM_PARAM_REG_NAME => $error); } $name = UserInputTools::safeShortText($name); $data->setUserName($name); /* * e-mail */ $mail = $adapter->str(FORM_PARAM_REG_MAIL); $error = UserInputValidator::validateEmail($mail); if ($error) { return array(FORM_PARAM_REG_MAIL => $error); } $data->setUserMail($mail); /* * Пол */ $sex = $adapter->int(FORM_PARAM_REG_SEX); $error = UserInputValidator::validateSex($sex); if ($error) { return array(FORM_PARAM_REG_SEX => $error); } $data->setSex($sex); /* * Пароль */ $pass = $adapter->str(FORM_PARAM_REG_PASS); $passConfirm = $adapter->str(FORM_PARAM_REG_PASS_CONF); $error = UserInputValidator::validatePass($pass, $passConfirm); if ($error) { return array(FORM_PARAM_REG_PASS => $error); } $error = UserInputValidator::validatePassConfirm($pass, $passConfirm); if ($error) { return array(FORM_PARAM_REG_PASS_CONF => $error); } $data->setPassword($pass); AuthManager::createUser($data); return new AjaxSuccess(); }
protected function processImpl(PostArrayAdapter $adapter, $button) { $login = $adapter->str(FORM_PARAM_LOGIN); if (!$login) { return array(FORM_PARAM_LOGIN, 'required'); } if (!PsCheck::isEmail($login)) { return array(FORM_PARAM_LOGIN, 'email'); } $password = $adapter->str(FORM_PARAM_PASS); if (!$password) { return array(FORM_PARAM_PASS, 'required'); } $loggedIn = AuthManager::loginUser($login, $password); return $loggedIn ? new AjaxSuccess() : 'В доступе отказано'; }
protected function processImpl(PostArrayAdapter $adapter, $button) { $text = $adapter->str('text'); if (!$text) { return array('text', 'required'); } return new AjaxSuccess(); }
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); }
protected function processImpl(PostArrayAdapter $aa, $button) { $action = $this->getFormAction(); $table = TableExporter::inst()->getTable($aa->str('table')); $rec = $table->fetchRowFromForm($aa->getData(), $action); if (!is_array($rec)) { return $rec; } return new RecEditFormData($table, $action, $this->isSubmittedByButton(array(self::BUTTON_CREATEF, self::BUTTON_EDITF, self::BUTTON_DELETEF)), $rec); }
protected function processImpl(PostArrayAdapter $adapter, $button) { $oldPass = $adapter->str(FORM_PARAM_REG_OLD_PASS); $newPass = $adapter->str(FORM_PARAM_REG_PASS); $newPassConfirm = $adapter->str(FORM_PARAM_REG_PASS_CONF); $error = UserInputValidator::validateOldPass($oldPass); if ($error) { return array(FORM_PARAM_REG_OLD_PASS => $error); } $error = UserInputValidator::validatePass($newPass, $newPassConfirm); if ($error) { return array(FORM_PARAM_REG_PASS => $error); } $error = UserInputValidator::validatePassConfirm($newPass, $newPassConfirm); if ($error) { return array(FORM_PARAM_REG_PASS_CONF => $error); } PsUser::inst()->changePassword($oldPass, $newPass); return new AjaxSuccess(); }
protected function processImpl(PostArrayAdapter $adapter, $button) { PsDefines::assertProductionOff(__CLASS__); $text = $adapter->str('text'); if (!$text) { return array('text', 'required'); } $mtime = $adapter->int('mtime'); ToDoFile::inst()->save($text, $mtime); return new AjaxSuccess(); }
protected function processStock(BaseStock $stock, PostArrayAdapter $adapter, $button) { //ОБРАБОТАЕМ КОММЕНТАРИЙ $comment = $adapter->str(FORM_PARAM_COMMENT); $error = UserInputValidator::validateShortText($comment, true, MOSAIC_ANS_MAX_LEN); if ($error) { return array(FORM_PARAM_COMMENT => $error); } $comment = UserInputTools::safeShortText($comment); //ВЫЗОВЕМ ДЕЙСТВИЕ ДЛЯ АКЦИИ return $stock->formSaveAnswer($comment); }
protected function processImpl(PostArrayAdapter $adapter, $button) { $tzName = $adapter->str(FORM_PARAM_TIMEZONE); if (!$tzName) { return array(FORM_PARAM_TIMEZONE => 'required'); } if (!PsTimeZone::inst()->isTimeZoneExists($tzName)) { return array(FORM_PARAM_TIMEZONE => "Временная зона [{$tzName}] не существует"); } PsUser::inst()->updateTimezone($tzName); return new AjaxSuccess(); }
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) { /* * e-mail */ $mail = $adapter->str(FORM_PARAM_REG_MAIL); $error = UserInputValidator::validateEmail($mail, true); if ($error) { return array(FORM_PARAM_REG_MAIL => $error); } PassRecoverManager::sendRecoverCode($mail); return new AjaxSuccess(); }
protected function processImpl(PostArrayAdapter $adapter, $button) { $data = new RegFormData(); /* * Имя пользователя */ $name = $adapter->str(FORM_PARAM_REG_NAME); $error = UserInputValidator::validateShortText($name); if ($error) { return array(FORM_PARAM_REG_NAME => $error); } $name = UserInputTools::safeShortText($name); $data->setUserName($name); /* * Пол */ $sex = $adapter->int(FORM_PARAM_REG_SEX); $error = UserInputValidator::validateSex($sex); if ($error) { return array(FORM_PARAM_REG_SEX => $error); } $data->setSex($sex); /* * Обо мне */ $about = $adapter->str(FORM_PARAM_REG_ABOUT); if ($about) { $error = UserInputValidator::validateLongText($about, false); if ($error) { return array(FORM_PARAM_REG_ABOUT => $error); } $data->setAboutSrc($about); $data->setAbout(UserInputTools::safeLongText($about)); } /* * Контакты */ $contacts = $adapter->str(FORM_PARAM_REG_CONTACTS); if ($contacts) { $error = UserInputValidator::validateLongText($contacts, false); if ($error) { return array(FORM_PARAM_REG_CONTACTS => $error); } $data->setContactsSrc($contacts); $data->setContacts(UserInputTools::safeLongText($contacts)); } /* * Цитата */ $msg = $adapter->str(FORM_PARAM_REG_MSG); if ($msg) { $error = UserInputValidator::validateLongText($msg, false); if ($error) { return array(FORM_PARAM_REG_MSG => $error); } $data->setMsgSrc($msg); $data->setMsg(UserInputTools::safeLongText($msg)); } PsUser::inst()->updateInfo($data); return new AjaxSuccess(); }