public function addAction() { $request = $this->getRequest(); $this->view->defaultModule = $this->_defaultModule; $sourceId = $request->getParam('source_id'); $sourceCategory = null == $sourceId ? null : Modules_Category_Services_Category::getById($sourceId); $this->view->sourceCategory = $sourceCategory; $this->view->lang = $request->getParam('lang'); $conn = Gio_Db_Connection::getConnection(); $categoryDao = new Modules_Category_Models_Mysql_Category(); $categoryDao->setConnection($conn); $this->view->categoryDao = $categoryDao; if ($request->isPost()) { $user = Gio_Core_Session::getUser(); $categoryData = $request->getPost('category'); $categoryData = Modules_Category_Services_Category::validate($categoryData); if (isset($categoryData['messages_error']) && $categoryData['messages_error']) { $this->view->errorMessages = $categoryData['messages']; $this->view->categoryData = $categoryData; return; } $parentCategory = null; if ($categoryData['parent_id']) { $parentCategory = Modules_Category_Services_Category::getById($categoryData['parent_id']); } $path = $parentCategory && $parentCategory['category_path'] ? $parentCategory['category_path'] . '/' . $categoryData['slug'] : $categoryData['slug']; $category = array('name' => $this->view->STRING->escape($categoryData['name']), 'slug' => $this->view->STRING->escape($categoryData['slug']), 'category_path' => $this->view->STRING->escape($path), 'meta' => $this->view->STRING->escape($categoryData['meta']), 'status' => $this->view->STRING->escape($categoryData['status']), 'module_id' => $this->view->STRING->escape($categoryData['module_id']), 'parent_id' => $this->view->STRING->escape($categoryData['parent_id']), 'language' => $this->view->STRING->escape($categoryData['language']), 'status' => $this->view->STRING->escape($categoryData['status']), 'created_date' => date('Y-m-d H:i:s'), 'modified_date' => date('Y-m-d H:i:s'), 'user_id' => $user['user_id']); $sourceItem = isset($categoryData['source_item']) ? $categoryData['source_item'] : null; $categoryId = Modules_Category_Services_Category::add($category, $sourceItem); Gio_Core_Messenger::getInstance()->addMessage($this->view->TRANSLATOR->translator('category_actions_add_success')); $this->redirect($this->view->url('category_category_add')); } }
public function __construct($blocks = array()) { $this->setBlocks($blocks); $configs = Gio_Core_Config_Xml::getConfig(); /** * Not installed GioCMS */ if (!Gio_Core_Application::_initInstallChecker()) { $request = Gio_Core_Request::getInstance(); $configs->server->static = $request->getBaseUrl(); $configs->server->resource = $request->getBaseUrl(); $configs->web->url = $request->getBaseUrl(); } $this->APP_STATIC_SERVER = (string) $configs->server->static; $this->APP_RESOURCE_SERVER = (string) $configs->server->resource; $this->APP_WEB_URL = (string) $configs->web->url; $this->APP_WEB_NAME = (string) $configs->web->name; $this->APP_TEMPLATE = (string) $configs->web->template; $this->APP_SKIN = (string) $configs->web->skin; $this->APP_META_KEYWORD = (string) $configs->web->meta->keyword; $this->APP_META_DESCRIPTION = (string) $configs->web->meta->description; $defaultLanguage = (string) $configs->web->language; //$lang = Gio_Core_Request::getInstance()->getParam('lang'); //$this->APP_LANG = ($lang && $defaultLanguage != $lang) ? $lang : $defaultLanguage; $this->APP_LANG = $defaultLanguage; $routes = Gio_Core_Route::getInstance(); $this->routes = $routes; $string = Gio_Core_String::getInstance(); $this->STRING = $string; $translator = new Gio_Core_Translator(); $this->TRANSLATOR = $translator; if (Gio_Core_Application::_initInstallChecker() == true) { $acl = Gio_Core_Acl::getIntance(); $this->ACL = $acl; } $messenger = Gio_Core_Messenger::getInstance(); $this->MESSENGER = $messenger; if (Gio_Core_Application::_initInstallChecker()) { $user = Gio_Core_Session::getUser(); $this->USER = $user; } /** * JSON */ $json = new Services_JSON(); $this->JSON = $json; $this->CONFIG = $configs; }
/** * List mail templates * * @return void */ public function listAction() { $request = $this->getRequest(); $pageIndex = $request->getParam('pageIndex', 1); $perPage = 20; $offset = ($pageIndex - 1) * $perPage; $user = Gio_Core_Session::getUser(); $templates = Modules_Mail_Services_Template::getTemplates($user, $offset, $perPage); $numTemplates = Modules_Mail_Services_Template::count($user); $this->view->templates = $templates; $this->view->numTemplates = $numTemplates; // Pager require_once LIB_DIR . DS . 'PEAR' . DS . 'Pager' . DS . 'Sliding.php'; $pagerPath = $this->view->url('mail_template_list'); $pagerOptions = array('mode' => 'Sliding', 'append' => false, 'perPage' => $perPage, 'delta' => 5, 'urlVar' => 'page', 'path' => $pagerPath, 'fileName' => 'pag-/%d', 'separator' => '', 'nextImg' => '<small class="icon arrow_right"></small>', 'prevImg' => '<small class="icon arrow_left"></small>', 'altNext' => '', 'altPrev' => '', 'altPage' => '', 'totalItems' => $numTemplates, 'currentPage' => $pageIndex, 'urlSeparator' => '/', 'spacesBeforeSeparator' => 0, 'spacesAfterSeparator' => 0, 'curPageSpanPre' => '<a href="javascript: void();" class="current">', 'curPageSpanPost' => '</a>'); $pager = new Pager_Sliding($pagerOptions); $this->view->pager = $pager; }
public function editAction() { $request = $this->getRequest(); $this->view->lang = $request->getParam('lang'); $menuId = $request->getParam('menu_id'); $menu = Modules_Menu_Services_Menu::getById($menuId); if (null == $menu) { Modules_Core_Services_Exception::error('DATA_NOT_FOUND'); } $menuData = $menu; /** * Get menu items */ $items = Modules_Menu_Services_Item::getTree($menuId); $menuData['items'] = $items; $this->view->menuData = $menuData; /** * Get source item */ $sourceMenu = Modules_Menu_Services_Menu::getSource($menu); $this->view->sourceMenu = $sourceMenu; if ($request->isPost()) { $user = Gio_Core_Session::getUser(); $menuData = $request->getPost('menu'); $json = new Services_JSON(); $items = $menuData['items'] ? (array) $json->decode($menuData['items']) : array(); $menuData = Modules_Menu_Services_Menu::validate($menuData); if (isset($menuData['messages_error']) && $menuData['messages_error']) { $this->view->errorMessages = $menuData['messages']; $menuData['items'] = $items; $this->view->menuData = $menuData; return; } $menu = array('menu_id' => $menuId, 'name' => $this->view->STRING->escape($menuData['name']), 'description' => $this->view->STRING->escape($menuData['description']), 'language' => $this->view->STRING->escape($menuData['language'])); $sourceItem = isset($menuData['source_item']) ? $menuData['source_item'] : null; $id = Modules_Menu_Services_Menu::update($menu, $items, $sourceItem); Gio_Core_Messenger::getInstance()->addMessage($this->view->TRANSLATOR->translator('menu_edit_success')); $this->redirect($this->view->url('menu_menu_edit', $menu)); } }
/** * Add new page * * @return void */ public function addAction() { $request = $this->getRequest(); $sourceId = $request->getParam('source_id'); $sourcePage = null == $sourceId ? null : Modules_Page_Services_Page::getById($sourceId); $configs = Gio_Core_Config_Xml::getConfig('web'); $this->view->frontendTemplate = $configs->template; $this->view->frontendSkin = $configs->skin; $this->view->sourcePage = $sourcePage; $this->view->lang = $request->getParam('lang'); if ($request->isPost()) { $user = Gio_Core_Session::getUser(); $pageData = $request->getPost('page'); $pageData = Modules_Page_Services_Page::validate($pageData); if (isset($pageData['messages_error']) && $pageData['messages_error']) { $this->view->errorMessages = $pageData['messages']; $this->view->pageData = $pageData; return; } /** * Check page slug exist */ if (Modules_Page_Services_Page::getBySlug($pageData['slug'])) { $pageData['messages']['slug'] = 'page_slug_exist'; $this->view->errorMessages = $pageData['messages']; $this->view->pageData = $pageData; return; } $page = array('name' => $this->view->STRING->escape($pageData['name']), 'slug' => $this->view->STRING->escape($pageData['slug']), 'description' => $pageData['description'], 'content' => $pageData['content'], 'parent_id' => $pageData['parent_id'], 'num_views' => 0, 'created_date' => date('Y-m-d H:i:s'), 'modified_date' => date('Y-m-d H:i:s'), 'user_id' => $user['user_id'], 'language' => $pageData['language'], 'status' => $pageData['status']); $sourceItem = isset($pageData['source_item']) ? $pageData['source_item'] : null; Modules_Page_Services_Page::add($page, $sourceItem); Gio_Core_Messenger::getInstance()->addMessage($this->view->TRANSLATOR->translator('page_actions_add_success')); $this->redirect($this->view->url('page_page_add')); } }
/** * List news articles */ public function listAction() { $request = $this->getRequest(); $lang = $request->getParam('lang'); $this->view->lang = $lang; $paramLang = $lang ? '/' . $lang : null; $perPage = 20; $pageIndex = (int) $request->getParam('page_index'); if (null == $pageIndex || '' == $pageIndex || $pageIndex < 0) { $pageIndex = 1; } $start = ($pageIndex - 1) * $perPage; $this->view->pageIndex = $pageIndex; $this->view->articleDao = new Modules_News_Models_Mysql_Article(); $user = Gio_Core_Session::getUser(); $condition = array('status' => 'active', 'created_date_from' => date('Y-m-d 00:00:00'), 'created_date_to' => date('Y-m-d H:i:s'), 'search_form' => false, 'user_id' => $user['user_id'], 'search_my_articles' => true); $json = new Services_JSON(); if ($request->isPost()) { $condition = $request->getPost('condition'); $createdDateFrom = $request->getPost('created_date_from'); $fromHour = isset($createdDateFrom['hour']) && $createdDateFrom['hour'] ? $createdDateFrom['hour'] : date('H'); $fromMinute = isset($createdDateFrom['minute']) && $createdDateFrom['minute'] ? $createdDateFrom['minute'] : date('i'); $fromSecond = isset($createdDateFrom['second']) && $createdDateFrom['second'] ? $createdDateFrom['second'] : date('s'); $fromDay = isset($createdDateFrom['day']) && $createdDateFrom['day'] ? $createdDateFrom['day'] : date('d'); $fromMonth = isset($createdDateFrom['month']) && $createdDateFrom['month'] ? $createdDateFrom['month'] : date('m'); $fromYear = isset($createdDateFrom['year']) && $createdDateFrom['year'] ? $createdDateFrom['year'] : date('Y'); $condition['created_date_from'] = date('Y-m-d H:i:s', strtotime("{$fromYear}-{$fromMonth}-{$fromDay} {$fromHour}:{$fromMinute}:{$fromSecond}")); $createdDateTo = $request->getPost('created_date_to'); $toHour = isset($createdDateTo['hour']) && $createdDateTo['hour'] ? $createdDateTo['hour'] : date('H'); $toMinute = isset($createdDateTo['minute']) && $createdDateTo['minute'] ? $createdDateTo['minute'] : date('i'); $toSecond = isset($createdDateTo['second']) && $createdDateTo['second'] ? $createdDateTo['second'] : date('s'); $toDay = isset($createdDateTo['day']) && $createdDateTo['day'] ? $createdDateTo['day'] : date('d'); $toMonth = isset($createdDateTo['month']) && $createdDateTo['month'] ? $createdDateTo['month'] : date('m'); $toYear = isset($createdDateTo['year']) && $createdDateTo['year'] ? $createdDateTo['year'] : date('Y'); $condition['created_date_to'] = date('Y-m-d H:i:s', strtotime("{$toYear}-{$toMonth}-{$toDay} {$toHour}:{$toMinute}:{$toSecond}")); $condition['search_form'] = true; /** * Search in my articles */ $searchMyArticles = isset($condition['search_my_articles']) && $condition['search_my_articles'] == 1 ? true : false; $condition['user_id'] = $searchMyArticles ? $user['user_id'] : null; $params = rawurlencode(base64_encode($json->encodeUnsafe($condition))); } else { $params = $request->getParam('q'); $params != null ? $condition = (array) $json->decode(rawurldecode(base64_decode($params))) : ($params = rawurlencode(base64_encode($json->encodeUnsafe($condition)))); } $params = empty($condition) ? null : $params; $this->view->condition = $condition; $articles = Modules_News_Services_Article::find($start, $perPage, $condition); $numArticles = Modules_News_Services_Article::count($condition); $this->view->articles = $articles; // Pager require_once LIB_DIR . DS . 'PEAR' . DS . 'Pager' . DS . 'Sliding.php'; $pagerPath = $this->view->url('news_article_list'); $pagerOptions = array('mode' => 'Sliding', 'append' => false, 'perPage' => $perPage, 'delta' => 3, 'urlVar' => 'page', 'path' => $pagerPath, 'fileName' => null == $params ? 'page-%d' . $paramLang : 'page-%d' . $paramLang . '/?q=' . $params, 'separator' => '', 'nextImg' => '<small class="icon arrow_right"></small>', 'prevImg' => '<small class="icon arrow_left"></small>', 'altNext' => '', 'altPrev' => '', 'altPage' => '', 'totalItems' => $numArticles, 'currentPage' => $pageIndex, 'urlSeparator' => '/', 'spacesBeforeSeparator' => 0, 'spacesAfterSeparator' => 0, 'curPageSpanPre' => '<a href="javascript: void();" class="current">', 'curPageSpanPost' => '</a>'); $pager = new Pager_Sliding($pagerOptions); $this->view->pager = $pager; }
/** * Set captcha word * * @param string $word * @return Zend_Captcha_Word */ protected function _setWord($word) { $session = Gio_Core_Session::getUser(); $session['word'] = $word; $this->_word = $word; return $this; }