public function anyResult() { $quiz = (new Quiz())->setQuizId(self::CurrentQuizId)->setUserId(self::CurrentUserId)->find(); $data = (int) Arr::get($this->getPostData(), 'quiz'); if (isset($data)) { $quiz->addResponse($data); } $content = View::make('test/quiz/result')->with('quiz', $quiz); echo $content; }
/** * Главная страница сайта */ public function anyQuizResponse() { $this->layout = null; $quiz = (new Quiz())->setQuizId(1)->setUserId(1)->find(); $data = (int) Arr::get($this->getPostData(), 'quiz'); if (isset($data)) { if (\UserModel::whereIp(\App::instance()->http()->getIpAddress())->first()) { echo 'nok'; } else { $quiz->addResponse($data); echo 'ok'; } } }
/** * Редактирование материалов */ public function anyEdit() { $id = (int) $this->getRequestParam('id') ?: null; $article = ArticleModel::find($id); if (empty($article)) { throw new HttpException(404, json_encode(['errorMessage' => 'Incorrect Article'])); } if (Arr::get($this->getPostData(), 'submit') !== null) { $data = Arr::extract($this->getPostData(), ['slug', 'parentId', 'status', 'content']); $parent = ArticleModel::find($data['parentId']); // Транзакция для Записание данных в базу try { Event::fire('Admin.beforeArticleUpdate', $article); Capsule::connection()->transaction(function () use($data, $article, $parent) { if ($parent) { $article->makeChildOf($parent); } else { $article->makeRoot(); } // Заодно обновляет и пункты меню привязанные к slug-у (new \MenuItemModel())->whereSlug($article->slug)->update(['slug' => $data['slug']]); $article->update(['slug' => $data['slug'], 'status' => $data['status']]); foreach ($data['content'] as $iso => $item) { $lang_id = Lang::instance()->getLang($iso)['id']; if ((int) $item['id'] != 0) { $content = ContentModel::find($item['id']); $content->update(['title' => $item['title'], 'crumb' => $item['crumb'], 'desc' => $item['desc'], 'meta_title' => $item['metaTitle'], 'meta_desc' => $item['metaDesc'], 'meta_keys' => $item['metaKeys'], 'lang_id' => $lang_id]); } else { //todo: надо по тестить почему без ID каждий раз создаётся все записи а не обновляются $content = ContentModel::create(['article_id' => $data['content']['ru']['id'], 'title' => $item['title'], 'crumb' => $item['crumb'], 'desc' => $item['desc'], 'meta_title' => $item['metaTitle'], 'meta_desc' => $item['metaDesc'], 'meta_keys' => $item['metaKeys'], 'lang_id' => $lang_id]); $article->contents()->attach($content); } // $article->contents()->attach($content); } }); Event::fire('Admin.articleUpdate', $article); } catch (QueryException $e) { Message::instance()->warning('Article was don\'t edited'); } } // Загрузка контента для каждово языка $contents = []; foreach (Lang::instance()->getLangs() as $iso => $lang) { $contents[$iso] = $article->contents()->where('lang_id', '=', $lang['id'])->first(); } $this->layout->content = View::make('back/articles/edit')->with('node', $article::getNode())->with('article', $article)->with('contents', $contents); }
/** * Редактирование */ public function anyEdit() { //die; $id = (int) $this->getRequestParam('id') ?: null; $item = \SettingsModel::find($id); if (null !== Arr::get($this->getPostData(), 'submit')) { $data = Arr::get($this->getPostData(), 'value'); $item->value = $data; try { //изменения елемента по id $item->save(); Event::fire('Admin.settingsUpdate'); } catch (QueryException $e) { // Message::instance()->warning('Setting was don\'t edited'); //echo '<pre>'; //print_r($e->getMessage());die; } } $this->layout->content = View::make('back/setting/edit')->with('id', $id)->with('item', $item); }
public function anySaveSorting() { $this->layout = false; $data = Arr::get($this->getPostData(), 'data'); //В качестве ответа выводим окно логина $response = 'Unfaithful Categories Sorting'; if (!empty($data)) { $data = json_decode($data, true); $article = new ArticleModel(); if (!empty($data)) { Capsule::connection()->transaction(function () use($data, $article, &$response) { foreach ($data as $item) { $article::find($item['id'])->update(['parent_id' => $item['parent_id'], 'lvl' => $item['depth'], 'lft' => $item['left'], 'rgt' => $item['right']]); } $response = 'Categories Sorting has successfully saved'; }); } } Message::instance()->info($response); echo Message::instance()->flash_all(); }
/** * Fetch an item from the SERVER array * * @param string The index key * @param mixed The default value * @return string|array */ public static function server($index = null, $default = null) { return func_num_args() === 0 ? $_SERVER : Arr::get($_SERVER, strtoupper($index), $default); }
/** * Удаление картинки флага */ public function postImageDelete() { $this->layout = null; $id = (int) Arr::get($this->getPostData(), 'key'); $item = Capsule::table('langs')->find($id); if (empty($item)) { Message::instance()->warning('Image was not delete'); } else { try { // Удаление картинки из сервера @unlink(ltrim(UploadFile::getImagePath($item['flag']), '/')); Capsule::table('langs')->whereId($id)->update(['flag' => null]); Message::instance()->success('Image was successfully deleted'); } catch (Exception $e) { Message::instance()->warning('Image was not delete'); } } echo json_encode(['errorMessage' => Message::instance()->flash_all()]); }
/** * Редактирование */ public function anyEdit() { $id = (int) $this->getRequestParam('id') ?: null; $model = PlayerModel::find($id); $firstNameModel = $model->firstNameModel()->first(); $lastNameModel = $model->lastNameModel()->first(); if (empty($model)) { throw new HttpException(404, json_encode(['errorMessage' => 'Incorrect Player'])); } if (Arr::get($this->getPostData(), 'submit') !== null) { $data = Arr::extract($this->getPostData(), ['slug', 'image', 'country', 'position', 'status', 'number', 'team', 'first_name', 'last_name', 'content']); // Транзакция для Записание данных в базу try { Capsule::connection()->transaction(function () use($data, $model, $firstNameModel, $lastNameModel) { // Загрузка картинки $file = new UploadFile('image', new FileSystem('uploads/images')); // Optionally you can rename the file on upload $file->setName(uniqid()); // // Validate file upload // $file->addValidations(array( // // Ensure file is of type image // new UploadMimeType(['image/png','image/jpg','image/gif']), // // // Ensure file is no larger than 5M (use "B", "K", M", or "G") // new UploadSize('50M') // )); // Try to upload file try { // Success! $file->upload(); $image = '/' . static::IMAGE_PATH . '/' . $file->getNameWithExtension(); } catch (UploadException $e) { // Fail! $image = null; Message::instance()->warning($file->getErrors()); } catch (Exception $e) { // Fail! $image = null; Message::instance()->warning($file->getErrors()); } $firstNameModel->updateOrCreate(['id' => $firstNameModel->id], ['text' => $data['first_name']]); $lastNameModel->updateOrCreate(['id' => $lastNameModel->id], ['text' => $data['last_name']]); foreach ($data['content'] as $iso => $d) { $lang_id = Lang::instance()->getLang($iso)['id']; EntityTranslationModel::updateOrCreate(['id' => $d['first_name_id']], ['text' => $d['first_name'], 'lang_id' => $lang_id, 'entity_id' => $firstNameModel->id]); EntityTranslationModel::updateOrCreate(['id' => $d['last_name_id']], ['text' => $d['last_name'], 'lang_id' => $lang_id, 'entity_id' => $lastNameModel->id]); } Event::fire('Admin.entitiesUpdate'); // если нету нового изображения оставить прежний if ($image) { $imageId = PhotoModel::create(['path' => $image, 'is_bound' => 1])->id; $model->update(['image_id' => $imageId]); } $model->update(['team_id' => $data['team'], 'slug' => $data['slug'], 'number' => $data['number'], 'status' => $data['status'], 'country_id' => $data['country'], 'position_id' => $data['position'], 'first_name_id' => $firstNameModel->id, 'last_name_id' => $lastNameModel->id]); }); Message::instance()->success('Player was successfully saved'); } catch (Exception $e) { Message::instance()->warning('Player was don\'t saved'); } } $model = PlayerModel::find($id); $firstNameModel = $model->firstNameModel()->first(); $lastNameModel = $model->lastNameModel()->first(); // Загрузка контента для каждово языка $contents = []; foreach (Lang::instance()->getLangsExcept(Lang::DEFAULT_LANGUAGE) as $iso => $lang) { $contents[$iso]['firstName'] = $firstNameModel->translations()->whereLang_id($lang['id'])->first(); $contents[$iso]['lastName'] = $lastNameModel->translations()->whereLang_id($lang['id'])->first(); } //echo "<pre>"; //print_r($contents); //die; $this->layout->content = View::make('back/players/edit')->with('item', $model)->with('contents', $contents); }