예제 #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
 function indexAction()
 {
     $fc = FrontController::getInstance();
     $model = new FrontModel();
     $articleModel = new ArticleTableModel();
     $articleModel->setTable('article');
     $articleModel->readAllRecords();
     $articles = $articleModel->getAllRecords();
     $userModel = new UserTableModel();
     $userModel->setTable('user');
     foreach ($articles as $key => $a) {
         $userModel->setId([$a['author']]);
         $articles[$key]['author_name'] = $userModel->readRecordsById('id', 'id, username')[0]['username'];
     }
     $model->setData(['articles' => $articles]);
     $output = $model->render('../views/blog/blog.php', 'withoutSlider');
     $fc->setPage($output);
 }
예제 #4
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);
 }