function getBlockCode_Blogs() { global $site; $mode = $_REQUEST['blogs_mode']; if ($mode != 'rand' and $mode != 'latest' and $mode != 'top') { $mode = 'latest'; } //generate top menu $aDBTopMenu = array(); foreach (array('latest', 'top', 'rand') as $myMode) { switch ($myMode) { case 'top': $OrderBy = '`num_com` DESC'; $sTabTitle = _t('_Top'); break; case 'latest': $OrderBy = '`PostDate` DESC'; $sTabTitle = _t('_Latest'); break; case 'rand': $OrderBy = 'RAND()'; $sTabTitle = _t('_Random'); break; } $aDBTopMenu[$sTabTitle] = array('href' => "{$_SERVER['PHP_SELF']}?blogs_mode={$myMode}", 'dynamic' => true, 'active' => $myMode == $mode); } //generate content $iTotalNum = db_value("SELECT COUNT(*) AS 'Cnt' FROM `BlogPosts` WHERE `PostStatus` = 'approval' AND `PostReadPermission` = 'public'"); $oBlogs = new BxDolBlogs(); if ($iTotalNum) { $iResPerPage = (int) getParam("max_blogs_on_home"); $iTotalPages = ceil($iTotalNum / $iResPerPage); $page = (int) $_REQUEST['blogs_page']; if ($page < 1 or $mode == 'rand') { $page = 1; } if ($page > $iTotalPages) { $page = $iTotalPages; } $sqlLimitFrom = ($page - 1) * $iResPerPage; //$oBlogs = new BxDolBlogs(); $sBlocks = $oBlogs->GenAnyBlockContent($mode, 0, "LIMIT {$sqlLimitFrom}, {$iResPerPage}"); $ret = $sBlocks; } else { $ret = '<div class="no_result"><div>' . _t("_No blogs available") . '</div></div>'; } //generate bottom menu $aDBBottomMenu = array(); if ($iTotalPages > 1) { if ($page > 1) { $prevPage = $page - 1; $aDBBottomMenu[_t('_Back')] = array('href' => "{$_SERVER['PHP_SELF']}?blogs_mode={$mode}&blogs_page={$prevPage}", 'dynamic' => true, 'class' => 'backMembers'); } if ($page < $iTotalPages) { $nextPage = $page + 1; $aDBBottomMenu[_t('_Next')] = array('href' => "{$_SERVER['PHP_SELF']}?blogs_mode={$mode}&blogs_page={$nextPage}", 'dynamic' => true, 'class' => 'moreMembers'); } $sBMViewAllLink = $oBlogs->isPermalinkEnabled() ? "{$site['url']}blogs/" : "{$site['url']}blogs.php"; $aDBBottomMenu[_t('_View All')] = array('href' => $sBMViewAllLink, 'dynamic' => false, 'class' => 'viewAllMembers'); } return array($ret, $aDBTopMenu, $aDBBottomMenu); }