コード例 #1
0
 public static function footerWidget()
 {
     $model = new ArticleTableModel();
     $model->setTable('article');
     $model->readAllRecords('id, title, main_image, created_time', 'ORDER BY created_time LIMIT 4');
     return $model->getAllRecords();
 }
コード例 #2
0
 public function getAllArticlesWidget($fields = '*', $condition = '')
 {
     $model = new ArticleTableModel();
     $model->setTable('article');
     $model->readAllRecords($fields, $condition);
     $records = $model->getAllRecords();
     $userModel = new UserTableModel();
     foreach ($records as $key => $record) {
         $userModel->setId($record['author']);
         $userModel->setTable('user');
         $records[$key]['author_name'] = $userModel->readRecordsById('id', 'username')[0]['username'];
     }
     return $records;
 }
コード例 #3
0
 public function viewAction()
 {
     $fc = FrontController::getInstance();
     $model = new FrontModel();
     $articleModel = new ArticleTableModel();
     $userModel = new UserTableModel();
     $id = filter_var($fc->getParams()['id'], FILTER_SANITIZE_NUMBER_INT);
     if (!$id) {
         header('Location: /admin/notFound');
         exit;
     }
     $articleModel->setId($id);
     $articleModel->setTable('article');
     $article = $articleModel->readRecordsById();
     $userModel->setId($article[0]['author']);
     $userModel->setTable('user');
     $model->setData(['article' => $article, 'author' => $userModel->readRecordsById('id', 'id, username')]);
     $output = $model->render('../views/blog/view.php', 'withoutSlider');
     $fc->setPage($output);
 }
コード例 #4
0
 public function deleteArticleAction()
 {
     header('Content-type: text/plain; charset=utf-8');
     header('Cache-Control: no-store, no-cache');
     header('Expires: ' . date('r'));
     if (filter_has_var(INPUT_POST, 'id')) {
         $id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);
     }
     $model = new ArticleTableModel();
     $model->setId($id);
     $model->setTable('article');
     echo $model->deleteRecord();
 }
コード例 #5
0
 public function blogAction()
 {
     $fc = FrontController::getInstance();
     $model = new AdminModel('Блог', 'просмотр всех записей');
     $articleModel = new ArticleTableModel();
     $page = $fc->getParams()['page'] ? filter_var($fc->getParams()['page'], FILTER_SANITIZE_NUMBER_INT) : 1;
     $limit = $fc->getParams()['limit'] ? filter_var($fc->getParams()['limit'], FILTER_SANITIZE_NUMBER_INT) : 10;
     $orderBy = $fc->getParams()['orderBy'] ? filter_var($fc->getParams()['orderBy'], FILTER_SANITIZE_STRING) : 'id';
     $direction = $fc->getParams()['direction'] ? filter_var($fc->getParams()['direction'], FILTER_SANITIZE_STRING) : 'asc';
     $offset = $limit * $page - $limit;
     $articleModel->setTable('article AS a');
     $articleModel->readAllRecords('a.id, a.title, a.description, a.main_image, a.author, a.created_time, a.updated_time, u.id as user_id, u.username', "INNER JOIN user AS u GROUP BY a.id ORDER BY a.{$orderBy} " . strtoupper($direction) . " LIMIT {$limit} OFFSET {$offset}");
     $model->setData(['articles' => $articleModel->getAllRecords(), 'limit' => $limit, 'orderBy' => $orderBy, 'direction' => $direction, 'page' => $page, 'num' => (new AdminWidgets())->getNum('article'), 'offset' => $offset]);
     $output = $model->render('../views/admin/blog/blog.php', 'admin');
     $fc->setPage($output);
 }