public static function top_news() { $orderby = array('news_id' => self::ORDER_DESC); $filter = array('importance' => self::TYPE_TOP, 'defunct' => Model_News::DEFUNCT_NO); $news_list = Model_News::find($filter, 1, 10, $orderby); return $news_list; }
public function action_index() { $page = $this->get_query('page', 1); $limit = $this->get_query('limit', 50); $orderby = array('news_id' => 'DESC'); $news_list = Model_News::find(array(), $page, $limit, $orderby); $this->template_data['title'] = __('admin.news.index.news_list'); $this->template_data['news_list'] = $news_list; }
public function action_delete($id = null) { if ($news = Model_News::find($id)) { $news->delete(); Session::set_flash('success', 'Deleted news #' . $id); } else { Session::set_flash('error', 'Could not delete news #' . $id); } Response::redirect('news'); }
public function action_index() { if ($this->user->birthday == "0000-00-00") { Response::redirect("teachers/setting/new"); } $data["reservations"] = Model_Lessontime::find("all", ["where" => [["deleted_at", 0], ["teacher_id", $this->user->id], ["status", 1], ["freetime_at", ">=", time()]], "order_by" => [["id", "desc"]]]); $data["feedbacks"] = Model_Lessontime::find("all", ["where" => [["deleted_at", 0], ["teacher_id", $this->user->id], ["status", "<>", 0], ["status", "<>", 3], ["feedback", ""], ["freetime_at", "<=", time()]], "order_by" => [["id", "desc"]]]); $data["news"] = Model_News::find("all", ["where" => [["deleted_at", 0], ["for_teachers", 1]], "order_by" => [["id", "desc"]], "limit" => 5]); $data["user"] = $this->user; $view = View::forge("teachers/top", $data); $this->template->content = $view; }
public function get_search_items() { /************ Start generating query ***********/ $items = Model_News::find(function ($query) { // Get search filters foreach (\Input::get() as $key => $value) { if (!empty($value) || $value == '0') { switch ($key) { case 'title': $query->where($key, 'like', "%{$value}%"); break; case 'featured': if (is_numeric($value)) { $query->where($key, $value); } break; case 'status': if (is_numeric($value)) { $query->where($key, $value); } break; case 'active_from': $date = strtotime($value); if ($date) { $query->where($key, '>=', $date); } break; case 'active_to': $date = strtotime($value); if ($date) { $query->where($key, '<=', $date); } break; } } } // Order query $query->order_by('sort', 'asc'); $query->order_by('id', 'asc'); }); /************ End generating query ***********/ // Reset to empty array if there are no result found by query if (is_null($items)) { $items = array(); } // Initiate pagination $pagination = \Hybrid\Pagination::make(array('total_items' => count($items), 'per_page' => \Input::get('per_page', 10), 'uri_segment' => null)); // Remove unwanted items, and show only required ones $items = array_slice($items, $pagination->offset, $pagination->per_page); $status = array('false' => 'Select', '1' => 'Active', '0' => 'Inactive', '2' => 'Active in period'); return array('items' => $items, 'pagination' => $pagination, 'status' => $status); }
public function action_delete($id = null) { if (!Auth::has_access('news.delete')) { Session::set_flash('warning', 'You don\'t have the right to delete a news'); Response::redirect('admin'); } if ($news = Model_News::find($id)) { $news->delete(); Session::set_flash('success', 'Deleted news #' . $id); } else { Session::set_flash('error', 'Could not delete news #' . $id); } Response::redirect('news'); }
public function action_index() { if ($this->user->birthday == "0000-00-00") { Response::redirect("students/setting/new"); } $data["reservations"] = Model_Lessontime::find("all", ["where" => [["deleted_at", 0], ["student_id", $this->user->id], ["status", 1], ["freetime_at", ">=", time()]], "order_by" => [["id", "desc"]]]); $data["lastClass"] = Model_Lessontime::find("last", ["where" => [["student_id", $this->user->id], ["status", 2], ["language", Input::get("course", 0)], ["deleted_at", 0]]]); $data["lesson"] = Model_Lessontime::find("first", ["where" => [["deleted_at", 0], ["student_id", $this->user->id], ["status", 1], ["freetime_at", "<=", time() + 1800], ["freetime_at", ">=", time() - 1800]]]); $data["news"] = Model_News::find("all", ["where" => [["deleted_at", 0], ["for_students", 1]], "order_by" => [["id", "desc"]], "limit" => 5]); $data["pasts"] = Model_Lessontime::find("all", ["where" => [["student_id", $this->user->id], ["status", 2], ["language", Input::get("course", 0)], ["deleted_at", 0]]]); $data["donetrial"] = Model_Lessontime::find("all", ["where" => [["student_id", $this->user->id], ["status", 2], ["language", Input::get("course", -1)], ["deleted_at", 0]]]); $data["user"] = $this->user; $view = View::forge("students/top", $data); $this->template->content = $view; }
public function action_detail($id) { $data["news"] = Model_News::find($id, ["where" => [["deleted_at", 0], ["for_teachers", 1]]]); if ($data["news"] == null) { Response::redirect("teachers/news"); } $is_read = Model_Readnews::find("first", ["where" => [["user_id" => $this->user->id], ["news_id" => $id]]]); if ($is_read == null) { $is_read = Model_Readnews::forge(); $is_read->user_id = $this->user->id; $is_read->news_id = $id; $is_read->save(); } $data["user"] = $this->user; $view = View::forge("teachers/news/detail", $data); $this->template->content = $view; }
public function post_delnews() { $code = 0; $message = "ok"; if ($this->auth_status) { $news = Model_News::find(Input::post("id", 0)); if ($news != null) { $news->deleted_at = time(); $news->save(); } else { $code = 404; $message = "Content not found."; } } else { $code = 500; $message = "Auth error."; } $this->response(array('code' => $code, 'message' => $message)); }
public function action_detail($id) { $data["news"] = Model_News::find($id, ["where" => [["deleted_at", 0], ["for_students", 1]]]); $data['pasts'] = Model_Lessontime::find("all", ["where" => [["student_id", $this->user->id], ["status", 2], ["language", Input::get("course", 0)], ["deleted_at", 0]]]); $data["donetrial"] = Model_Lessontime::find("all", ["where" => [["student_id", $this->user->id], ["status", 2], ["language", Input::get("course", -1)], ["deleted_at", 0]]]); if ($data["news"] == null) { Response::redirect("students/news"); } $is_read = Model_Readnews::find("first", ["where" => [["user_id" => $this->user->id], ["news_id" => $id]]]); if ($is_read == null) { $is_read = Model_Readnews::forge(); $is_read->user_id = $this->user->id; $is_read->news_id = $id; $is_read->save(); } $data["user"] = $this->user; $view = View::forge("students/news/detail", $data); $this->template->content = $view; }
/** * Get additional content data selected * * @param $result = Query result */ public static function post_find($result) { if ($result !== null) { if (is_array($result)) { foreach ($result as $item) { // It will first check if we already have result in temporary result, // and only execute query if we dont. That way we dont have duplicate queries // Get content images $item->get_images = static::lazy_load(function () use($item) { return Model_Image::find(array('where' => array('content_id' => $item->id), 'order_by' => array('sort' => 'asc'))); }, $item->id, 'images'); // Get content files $item->get_files = static::lazy_load(function () use($item) { return Model_File::find(array('where' => array('content_id' => $item->id), 'order_by' => array('sort' => 'asc'))); }, $item->id, 'files'); // Get content videos $item->get_videos = static::lazy_load(function () use($item) { return Model_Video::find(array('where' => array('content_id' => $item->id), 'order_by' => array('sort' => 'asc'))); }, $item->id, 'videos'); // Get content children $item->get_children = static::lazy_load(function () use($item) { return Model_News::find(array('where' => array('parent_id' => $item->id), 'order_by' => array('sort' => 'asc'))); }, $item->id, 'children'); // Get content accordions $item->get_accordions = static::lazy_load(function () use($item) { return Model_Accordion::find(array('where' => array('parent_id' => $item->id), 'order_by' => array('sort' => 'asc'))); }, $item->id, 'accordions'); // Get content children $item->get_seo = static::lazy_load(function () use($item) { return Model_Seo::find_one_by_content_id($item->id); }, $item->id, 'seo', 'object'); } } } // return the result return $result; }
public function action_edit($id = 0) { if (Input::post('action') == 'confirm') { foreach ($this->fields as $field) { Session::set_flash($field, Input::post($field)); } $data = array(); foreach ($this->fields as $field) { $data[$field] = Session::get_flash($field); Session::keep_flash($field); } $this->template->content = View::forge('admin/news/confirm', $data); } else { $data["news"] = Model_News::find($id); if ($data["news"] == null) { $data["news"] = Model_News::forge(); } // add if (Session::get_flash('title') != null and Security::check_token()) { // save $news = $data["news"]; $news->for_teachers = Session::get_flash("for_teachers", 0); $news->for_students = Session::get_flash("for_students", 0); $news->title = Session::get_flash("title"); $news->body = Session::get_flash("body"); if ($news->for_students == null) { $news->for_students = 0; } if ($news->for_teachers == null) { $news->for_teachers = 0; } $news->save(); $body = View::forge("email/news"); $body->set("title", $news->title); $body->set("body", $news->body); if ($news->for_teachers == 1) { $teachers = Model_User::find("all", ["where" => [["group_id", 10], ["deleted_at", 0]], "order_by" => [["id", "desc"]]]); foreach ($teachers as $teacher) { $sendmail = Email::forge("JIS"); $sendmail->from(Config::get("statics.info_email"), Config::get("statics.info_name")); $sendmail->to($teacher->email); $sendmail->subject("{$news->title} / Game-bootcamp"); $sendmail->html_body("Dear {$teacher->firstname},<br><br>" . htmlspecialchars_decode($body) . "If you are no longer interested, you can " . "<a href=" . Uri::base() . "?" . md5('id') . "={$teacher->id}/unsubscribe=" . md5($teacher->email) . ">Unsubscribe.</a>"); $sendmail->send(); } } if ($news->for_students == 1) { $students = Model_User::find("all", ["where" => [["group_id", 1], ["deleted_at", 0]], "order_by" => [["id", "desc"]]]); foreach ($students as $student) { $sendmail = Email::forge("JIS"); $sendmail->from(Config::get("statics.info_email"), Config::get("statics.info_name")); $sendmail->to($student->email); $sendmail->subject("{$news->title} / Game-bootcamp"); $sendmail->html_body("Dear {$student->firstname},<br><br>" . htmlspecialchars_decode($body) . "If you are no longer interested, you can " . "<a href=" . Uri::base() . "?" . md5('id') . "={$student->id}/unsubscribe=" . md5($student->email) . ">Unsubscribe.</a>"); $sendmail->send(); } } Response::redirect("/admin/news/"); } $view = View::forge("admin/news/edit", $data); $this->template->content = $view; } }