/** * Create the page. * @return {int} ID of the new page. */ function createPage() { if (!isset($_POST['page-title'], $_POST['page-permalink'], $_POST['page-content'], $_POST['page-publish-month'], $_POST['page-publish-day'], $_POST['page-publish-year'], $_POST['page-publish-hour'], $_POST['page-publish-minute'], $_POST['submit'])) { header('Location: ../admin.php?error=missing_data_for_page'); exit; } $datetime = sprintf('%04d-%02d-%02d %02d:%02d:00', $_POST['page-publish-year'], $_POST['page-publish-month'], $_POST['page-publish-day'], $_POST['page-publish-hour'], $_POST['page-publish-minute']); $permalink = trim($_POST['page-permalink']); $status = $_POST['submit'] == 'draft' ? ae_PageModel::STATUS_DRAFT : ae_PageModel::STATUS_PUBLISHED; $page = new ae_PageModel(); if (isset($_POST['edit-id'])) { $page->setId($_POST['edit-id']); } $page->setTitle($_POST['page-title']); if ($permalink != '') { $page->setPermalink($permalink); } $page->setContent($_POST['page-content']); $page->setDatetime(isset($_POST['page-schedule']) ? $datetime : date('Y-m-d H:i:s')); $page->setCommentsStatus($_POST['page-comments-status']); $page->setStatus($status); $page->setUserId(ae_Security::getCurrentUserId()); $page->save(); return $page->getId(); }
/** * Load the page model to the permalink. * @return {ae_PageModel} The loaded page model. */ public static function getPageModel() { if (!self::isPage()) { $msg = sprintf('[%s] Permalink does not represent a page.', get_class()); throw new Exception($msg); } $model = new ae_PageModel(); if (isset($_GET[PERMALINK_GET_PAGE]) && ae_Validate::id($_GET[PERMALINK_GET_PAGE])) { if (!$model->load($_GET[PERMALINK_GET_PAGE])) { return FALSE; } } else { $permalink = mb_substr(self::$url, 1); $permalink = preg_replace(';^' . PERMALINK_BASE_PAGE . ';i', '', $permalink); if (!$model->loadFromPermalink($permalink)) { return FALSE; } } return $model; }
/** * Delete the loaded post and its relations with categories. * @return {boolean} FALSE, if deletion failed, * TRUE otherwise (including the case that the model doesn't exist). */ public function delete() { if (!parent::delete()) { return FALSE; } $stmt = ' DELETE FROM `' . AE_TABLE_POSTS2CATEGORIES . '` WHERE pc_post = :id '; $params = array(':id' => $this->getId()); return ae_Database::query($stmt, $params) !== FALSE; }
$status = isset($_GET['status']) ? $_GET['status'] : FALSE; $filter = array(); $filter['LIMIT'] = sprintf('%d, %d', $pageOffset * $itemsPerPage, $itemsPerPage); // categories if (isset($_GET['category'])) { $area = 'category'; $areaName = 'Categories'; if (ae_CategoryModel::isValidStatus($status)) { $filter['WHERE'] = 'ca_status = "' . $status . '"'; } $list = new ae_CategoryList($filter); } else { if (isset($_GET['page'])) { $area = 'page'; $areaName = 'Pages'; if (ae_PageModel::isValidStatus($status)) { $filter['WHERE'] = 'pa_status = "' . $status . '"'; } else { $filter['WHERE'] = 'pa_status != "trash"'; } $list = new ae_PageList($filter); } else { if (isset($_GET['post'])) { $area = 'post'; $areaName = 'Posts'; if (ae_PostModel::isValidStatus($status)) { $filter['WHERE'] = 'po_status = "' . $status . '"'; } else { $filter['WHERE'] = 'po_status != "trash"'; } $list = new ae_PostList($filter);
$modelName = 'ae_CommentfilterModel'; $preDelete = ae_CommentfilterModel::STATUS_INACTIVE; break; case 'comment': $isValidStatus = $status == 'delete' ? TRUE : ae_CommentModel::isValidStatus($status); $modelName = 'ae_CommentModel'; $preDelete = ae_CommentModel::STATUS_TRASH; break; case 'media': $isValidStatus = $status == 'delete' ? TRUE : ae_MediaModel::isValidStatus($status); $mainArea = 'media'; $modelName = 'ae_MediaModel'; $preDelete = ae_MediaModel::STATUS_TRASH; break; case 'page': $isValidStatus = $status == 'delete' ? TRUE : ae_PageModel::isValidStatus($status); $modelName = 'ae_PageModel'; $preDelete = ae_PageModel::STATUS_TRASH; break; case 'post': $isValidStatus = $status == 'delete' ? TRUE : ae_PostModel::isValidStatus($status); $modelName = 'ae_PostModel'; $preDelete = ae_PostModel::STATUS_TRASH; break; case 'user': $isValidStatus = $status == 'delete' ? TRUE : ae_UserModel::isValidStatus($status); $modelName = 'ae_UserModel'; $preDelete = ae_UserModel::STATUS_SUSPENDED; break; default: $isValidStatus = FALSE;
<?php if ($area == 'category') { $statuses = ae_CategoryModel::listStatuses(); } else { if ($area == 'cofilter') { $statuses = ae_CommentfilterModel::listStatuses(); } else { if ($area == 'comment') { $statuses = ae_CommentModel::listStatuses(); } else { if ($area == 'media') { $statuses = ae_MediaModel::listStatuses(); } else { if ($area == 'page') { $statuses = ae_PageModel::listStatuses(); } else { if ($area == 'post') { $statuses = ae_PostModel::listStatuses(); } else { if ($area == 'user') { $statuses = ae_UserModel::listStatuses(); } } } } } } } $select = ae_Forms::selectStatus('bulk-status-change', $statuses); if (isset($_GET['status']) && $_GET['status'] == 'trash') {
public function testSetUserId() { $p = new ae_PageModel(); $p->setUserId(4); $this->assertTrue($p->getUserId() === 4); $this->setExpectedException('Exception'); $p->setUserId(-1); }
if (isset($_GET['comment']) && ae_Validate::id($_GET['comment'])) { $editArea = 'Comment'; $areaId = 'comment'; $model = new ae_CommentModel(); $model->load($_GET['comment']); } else { if (isset($_GET['media']) && ae_Validate::id($_GET['media'])) { $editArea = 'Media'; $areaId = 'media'; $model = new ae_MediaModel(); $model->load($_GET['media']); } else { if (isset($_GET['page']) && ae_Validate::id($_GET['page'])) { $editArea = 'Page'; $areaId = 'page'; $model = new ae_PageModel(); $model->load($_GET['page']); } else { if (isset($_GET['post']) && ae_Validate::id($_GET['post'])) { $editArea = 'Post'; $areaId = 'post'; $model = new ae_PostModel(); $model->load($_GET['post']); $model->loadCategoryIds(); } else { if (isset($_GET['user']) && ae_Validate::id($_GET['user'])) { $editArea = 'User'; $areaId = 'user'; $model = new ae_UserModel(); $model->load($_GET['user']); } else {