protected function _indexPage(&$iaView) { $page = isset($this->_iaCore->requestPath[0]) && in_array($this->_iaCore->requestPath[0], $this->_actions) ? $this->_iaCore->requestPath[0] : $this->_actions[0]; $this->_checkActions($page, $iaView); switch ($page) { default: $pageCaption = iaLanguage::get('sql_management'); $this->_queryPage($iaView); break; case 'export': $pageCaption = iaLanguage::get('export'); $this->_exportPage($iaView); break; case 'import': $pageCaption = iaLanguage::get('import'); $this->_importPage($iaView); break; case 'consistency': $pageCaption = iaLanguage::get('consistency'); $this->_consistencyPage($iaView); break; case 'reset': $pageCaption = iaLanguage::get('reset'); $this->_resetPage($iaView); } if ($this->getMessages()) { $iaView->setMessages($this->getMessages(), $this->_error ? iaView::ERROR : iaView::SUCCESS); } $iaView->assign('action', $page); iaBreadcrumb::toEnd($pageCaption, IA_SELF); $iaView->title($pageCaption); $iaView->display($this->getName()); }
private function _viewPage(&$iaView, $id) { $item = $this->getById($id); if (!$item) { return iaView::errorPage(iaView::ERROR_NOT_FOUND); } $iaUsers = $this->_iaCore->factory('users'); $iaView->assign('item', $item); $iaView->assign('initiator', $iaUsers->getInfo($item['member_id'])); iaBreadcrumb::toEnd(iaLanguage::get('claim_details')); $iaView->title(iaLanguage::get('claim_details')); $iaView->display('view'); }
if (isset($iaCore->requestPath[0])) { $id = (int) $iaCore->requestPath[0]; if (!$id) { return iaView::errorPage(iaView::ERROR_NOT_FOUND); } $sql = 'SELECT b.`id`, b.`title`, b.`date_added`, b.`body`, b.`alias`, b.`image`, m.`fullname` ' . 'FROM `:prefix:table_blog_entries` b ' . 'LEFT JOIN `:prefix:table_members` m ON (b.`member_id` = m.`id`) ' . 'WHERE b.`id` = :id AND b.`status` = \':status\' '; $sql = iaDb::printf($sql, array('prefix' => $iaDb->prefix, 'table_blog_entries' => 'blog_entries', 'table_members' => iaUsers::getTable(), 'id' => iaSanitize::sql($id), 'status' => iaCore::STATUS_ACTIVE)); $blogEntry = $iaDb->getRow($sql); $sql = 'SELECT DISTINCT bt.`title`, bt.`alias` ' . 'FROM `:prefix:table_blog_tags` bt ' . 'LEFT JOIN `:prefix:table_blog_entries_tags` bet ON (bt.`id` = bet.`tag_id`) ' . 'WHERE bet.`blog_id` = :id'; $sql = iaDb::printf($sql, array('prefix' => $iaDb->prefix, 'table_blog_entries_tags' => 'blog_entries_tags', 'table_blog_tags' => 'blog_tags', 'id' => iaSanitize::sql($id))); $blogTags = $iaDb->getAll($sql); if (empty($blogEntry)) { return iaView::errorPage(iaView::ERROR_NOT_FOUND); } $title = iaSanitize::tags($blogEntry['title']); iaBreadcrumb::toEnd($title); $iaView->title($title); // add open graph data $openGraph = array('title' => $title, 'url' => IA_SELF, 'description' => $blogEntry['body']); if ($blogEntry['image']) { $openGraph['image'] = IA_CLEAR_URL . 'uploads/' . $blogEntry['image']; } $iaView->set('og', $openGraph); $iaView->assign('tags', $blogTags); $iaView->assign('blog_entry', $blogEntry); } else { $page = empty($_GET['page']) ? 0 : (int) $_GET['page']; $page = $page < 1 ? 1 : $page; $pageUrl = $iaCore->factory('page', iaCore::FRONT)->getUrlByName('blog'); $pagination = array('start' => ($page - 1) * $iaCore->get('blog_number'), 'limit' => (int) $iaCore->get('blog_number'), 'template' => $pageUrl . '?page={page}'); $order = 'date' == $iaCore->get('blog_order') ? 'ORDER BY `date_added` DESC' : 'ORDER BY `title` ASC';
} } if (isset($iaCore->requestPath[0]) && !isset($iaCore->requestPath[1])) { iaBreadcrumb::preEnd('Blog Archive', 'blog/date'); iaBreadcrumb::replaceEnd($iaCore->requestPath[0], IA_SELF); $iaView->title($iaCore->requestPath[0]); } $iaView->assign('show', $show); $iaView->assign('years', $years); $iaView->assign('months', $months); } else { $iaView->setMessages(iaLanguage::get('no_blog_entries'), iaView::ALERT); } } elseif (isset($iaCore->requestPath[0]) && isset($iaCore->requestPath[1])) { $page = empty($_GET['page']) ? 0 : (int) $_GET['page']; $page = $page < 1 ? 1 : $page; $pageUrl = $iaCore->factory('page', iaCore::FRONT)->getUrlByName('blog_date'); $pagination = array('start' => ($page - 1) * $iaCore->get('blog_number'), 'limit' => (int) $iaCore->get('blog_number'), 'template' => $pageUrl . '?page={page}'); $stmt = "`status` = 'active' AND MONTH(b.`date_added`) = '" . $iaCore->requestPath[1] . "' AND YEAR(b.`date_added`) = '" . $iaCore->requestPath[0] . "' "; $order = 'date' == $iaCore->get('blog_order') ? 'ORDER BY b.`date_added` DESC' : 'ORDER BY b.`title` ASC'; $sql = 'SELECT SQL_CALC_FOUND_ROWS ' . 'b.`id`, b.`title`, b.`date_added`, b.`body`, b.`alias`, b.`image`, m.`fullname` ' . 'FROM `:prefix:table_blog_entries` b ' . 'LEFT JOIN `:prefix:table_members` m ON (b.`member_id` = m.`id`) ' . 'WHERE b.' . $stmt . $order . ' LIMIT :start, :limit'; $sql = iaDb::printf($sql, array('prefix' => $iaDb->prefix, 'table_blog_entries' => 'blog_entries', 'table_members' => 'members', 'start' => $pagination['start'], 'limit' => $pagination['limit'])); $blogs = $iaDb->getAll($sql); iaBreadcrumb::toEnd(date("F", mktime(0, 0, 0, $iaCore->requestPath[1], 10))); $pagination['total'] = $iaDb->foundRows(); $iaView->assign('blogs', $blogs); $iaView->assign('pagination', $pagination); $iaView->title(date("F", mktime(0, 0, 0, $iaCore->requestPath[1], 10))); } $iaView->display('date'); }
protected function _indexPage(&$iaView) { if ('phrases' == $iaView->get('name')) { iaBreadcrumb::preEnd(iaLanguage::get('languages'), IA_ADMIN_URL . 'languages/'); $iaView->assign('action', 'phrases'); $iaView->display('languages'); return true; } $action = isset($this->_iaCore->requestPath[0]) ? $this->_iaCore->requestPath[0] : 'list'; $iaView->assign('action', $action); switch ($action) { case 'search': $pageCaption = iaLanguage::get('search_in_phrases'); break; case 'download': $pageCaption = iaLanguage::get('export_language'); if (isset($_POST['lang']) && $_POST['lang'] || isset($this->_iaCore->requestPath[1]) && array_key_exists($this->_iaCore->requestPath[1], $this->_iaCore->languages)) { $this->_downloadLanguage($iaView); } break; case 'comparison': $pageCaption = iaLanguage::get('languages_comparison'); $this->_compareLanguages($iaView); break; case 'rm': // TODO: set checkAccess $this->_removeLanguage($iaView); iaUtil::go_to($this->getPath()); break; case 'default': $this->_setLanguageAsDefault($iaView); iaUtil::go_to($this->getPath()); break; case 'import': $result = $this->_importLanguage($iaView); iaUtil::go_to($this->getPath() . ($result ? '' : 'download/')); break; } if (isset($pageCaption)) { iaBreadcrumb::toEnd($pageCaption, IA_SELF); $iaView->title($pageCaption); } }
protected function _setBreadcrumb() { if (self::REQUEST_HTML != $this->getRequestType()) { return; } $this->iaCore->factory('breadcrumb'); if (iaBreadcrumb::total() > 0 || $this->isHomepage() && empty($this->iaCore->requestPath)) { return; } iaCore::ACCESS_FRONT == $this->iaCore->getAccessType() ? iaBreadcrumb::root($this->iaCore->get('bc_home'), IA_URL) : iaBreadcrumb::root(iaLanguage::get('dashboard'), IA_ADMIN_URL); $pluginName = $this->get('extras'); switch ($this->iaCore->getAccessType()) { case iaCore::ACCESS_FRONT: $parents = array(); $iaPage = $this->iaCore->factory('page', iaCore::FRONT); $iaPage->getParents($this->get('parent'), $parents); if ($parents) { iaBreadcrumb::addChain($parents); } elseif ($pluginName && 'package' == $this->get('type') && $pluginName . '_home' != $this->name()) { if ($this->iaCore->get('default_package') != $pluginName) { iaBreadcrumb::add(iaLanguage::get($pluginName), IA_PACKAGE_URL); } } if ($url = $iaPage->getUrlByName($this->name())) { iaBreadcrumb::toEnd(iaLanguage::get('page_title_' . $this->name(), $this->name()), $url); } break; case iaCore::ACCESS_ADMIN: $iaPage = $this->iaCore->factory('page', iaCore::ADMIN); if ($pluginName) { if ('package' == $this->get('type')) { $title = iaLanguage::get($pluginName . '_package'); $url = IA_ADMIN_URL . $pluginName . IA_URL_DELIMITER; $pluginName . '_stats' != $this->name() ? iaBreadcrumb::add($title, $url) : iaBreadcrumb::replaceEnd($title, $url); } } $url = $iaPage->getUrlByName($this->name()); iaBreadcrumb::add($this->get('title', $this->name()), $url); if (in_array($this->get('action'), array(iaCore::ACTION_ADD, iaCore::ACTION_EDIT))) { iaBreadcrumb::toEnd(iaLanguage::get($this->get('action')), IA_SELF); } } }
private function _setGroup(&$iaView, array $groupData) { $iaItem = $this->_iaCore->factory('item'); if ($this->_type) { $entity = 'user' == $this->_type ? $this->_iaCore->factory('users')->getInfo($this->_typeId) : $this->_iaDb->row(array('name'), iaDb::convertIds($this->_typeId), iaUsers::getUsergroupsTable()); if (!$entity) { return iaView::errorPage(iaView::ERROR_NOT_FOUND); } $title = 'user' == $this->_type ? $entity['fullname'] : iaLanguage::get('usergroup_' . $entity['name']); $title = iaLanguage::getf('custom_configuration_title', array('settings' => $groupData['title'], 'title' => $title, 'type' => strtolower(iaLanguage::get('user' == $this->_type ? 'member' : 'usergroup')))); } else { $title = $groupData['title']; } $iaView->title($title); if ($groupData['extras']) { $iaPage = $this->_iaCore->factory('page', iaCore::ADMIN); $activeMenu = $groupData['name']; if ($groupData['extras'] == $this->_iaCore->get('tmpl')) { // template configuration options $page = $iaPage->getByName('templates'); $iaView->set('group', $page['group']); $iaView->set('active_config', $groupData['name']); iaBreadcrumb::add($page['title'], IA_ADMIN_URL . $page['alias']); } elseif ($pluginPage = $this->_iaDb->row(array('alias', 'group'), iaDb::printf("`name` = ':name' OR `name` = ':name_stats'", array('name' => $groupData['extras'])), iaPage::getAdminTable())) { // it is a package $iaView->set('group', $pluginPage['group']); $iaView->set('active_config', $groupData['name']); $activeMenu = null; iaBreadcrumb::insert($groupData['title'], IA_ADMIN_URL . $pluginPage['alias'], iaBreadcrumb::POSITION_FIRST); } elseif ($iaItem->isExtrasExist($groupData['extras'], iaItem::TYPE_PLUGIN)) { // plugin with no admin pages $iaView->set('group', 5); $iaView->set('active_config', $groupData['extras']); } } else { $activeMenu = 'configuration_' . $groupData['name']; iaBreadcrumb::toEnd($groupData['title'], IA_SELF); } $iaView->set('active_menu', $activeMenu); }
******************************************************************************/ $iaDb->setTable('portfolio_entries'); if (iaView::REQUEST_HTML == $iaView->getRequestType()) { $iaView->iaSmarty->compile_check = true; unset($iaCore->iaView->blocks['left']); unset($iaCore->iaView->blocks['right']); if (isset($iaCore->requestPath[0])) { $id = (int) $iaCore->requestPath[0]; if (!$id) { return iaView::errorPage(iaView::ERROR_NOT_FOUND); } $portfolioEntry = $iaDb->row_bind(iaDb::ALL_COLUMNS_SELECTION, 'id = :id AND `status` = :status', array('id' => $id, 'status' => iaCore::STATUS_ACTIVE)); if (empty($portfolioEntry)) { return iaView::errorPage(iaView::ERROR_NOT_FOUND); } iaBreadcrumb::toEnd($portfolioEntry['title'], IA_SELF); $openGraph = array('title' => $portfolioEntry['title'], 'url' => IA_SELF, 'description' => $portfolioEntry['body']); if (isset($portfolioEntry['image'])) { $openGraph['image'] = IA_CLEAR_URL . 'uploads/' . $portfolioEntry['image']; } $iaView->set('og', $openGraph); $iaView->assign('portfolio_entry', $portfolioEntry); $iaView->title(iaSanitize::tags($portfolioEntry['title'])); } else { $page = empty($_GET['page']) ? 0 : (int) $_GET['page']; $page = $page < 1 ? 1 : $page; $pageUrl = $iaCore->factory('page', iaCore::FRONT)->getUrlByName('portfolio'); $pagination = array('start' => ($page - 1) * $iaCore->get('portfolio_entries_per_page'), 'limit' => (int) $iaCore->get('portfolio_entries_per_page'), 'template' => $pageUrl . '?page={page}'); $order = 'date' == $iaCore->get('portfolio_entries_order') ? 'ORDER BY `date_added` DESC' : 'ORDER BY `title` ASC'; $stmt = '`status` = :status AND `lang` = :language'; $iaDb->bind($stmt, array('status' => iaCore::STATUS_ACTIVE, 'language' => $iaView->language));
$pagination = array('limit' => 20, 'total' => (int) $iaDb->one(iaDb::STMT_COUNT_ROWS, $cause . "`status` = 'active' "), 'url' => IA_URL . 'members/' . ($letters['active'] ? $letters['active'] . '/' : '') . '?page={page}'); $page = !empty($_GET['page']) ? (int) $_GET['page'] : 1; $start = (max($page, 1) - 1) * $pagination['limit']; $membersList = $iaDb->all(iaDb::ALL_COLUMNS_SELECTION, $cause . "`status` = 'active' ORDER BY `date_reg`", $start, $pagination['limit']); $fields = $iaCore->factory('field')->filter($membersList, iaUsers::getTable()); $letters['existing'] = array(); $array = $iaDb->all('DISTINCT UPPER(SUBSTR(`' . $filterBy . '`, 1, 1)) `letter`', $cause . "`status` = 'active' GROUP BY `username`"); $iaDb->resetTable(); if ($array) { foreach ($array as $item) { $letters['existing'][] = $item['letter']; } } // breadcrumb formation if ($activeGroup) { iaBreadcrumb::toEnd(iaLanguage::get('usergroup_' . $usergroups[$activeGroup]), IA_URL . 'members/?group=' . $activeGroup); } if ($letters['active']) { iaBreadcrumb::toEnd($letters['active'], IA_SELF); } if ($membersList) { $membersList = $iaCore->factory('item')->updateItemsFavorites($membersList, $iaUsers->getItemName()); } $iaView->assign('title', iaLanguage::get('members') . ($letters['active'] ? " [ {$letters['active']} ] " : '')); $iaView->assign('filter', $filterBy); $iaView->assign('letters', $letters); $iaView->assign('members', $membersList); $iaView->assign('pagination', $pagination); $iaView->assign('fields', $fields); $iaView->title(iaLanguage::get('members') . ($letters['active'] ? " [{$letters['active']}] " : '')); }
private function _setGroup(&$iaView, &$iaItem, array $groupData) { $iaView->title($groupData['title']); if ($groupData['extras']) { $iaPage = $this->_iaCore->factory('page', iaCore::ADMIN); $activeMenu = $groupData['name']; if ($groupData['extras'] == $this->_iaCore->get('tmpl')) { // template configuration options $page = $iaPage->getByName('templates'); $iaView->set('group', $page['group']); $iaView->set('active_config', $groupData['name']); iaBreadcrumb::add($page['title'], IA_ADMIN_URL . $page['alias']); } elseif ($pluginPage = $this->_iaDb->row(array('alias', 'group'), iaDb::printf("`name` = ':name' OR `name` = ':name_stats'", array('name' => $groupData['extras'])), iaPage::getAdminTable())) { // it is a package $iaView->set('group', $pluginPage['group']); $iaView->set('active_config', $groupData['name']); $activeMenu = null; iaBreadcrumb::insert($groupData['title'], IA_ADMIN_URL . $pluginPage['alias'], iaBreadcrumb::POSITION_FIRST); } elseif ($iaItem->isExtrasExist($groupData['extras'], iaItem::TYPE_PLUGIN)) { // plugin with no admin pages $iaView->set('group', 5); $iaView->set('active_config', $groupData['extras']); } } else { $activeMenu = 'configuration_' . $groupData['name']; iaBreadcrumb::toEnd($groupData['title'], IA_SELF); } $iaView->set('active_menu', $activeMenu); }