function showBlockProfileBlog($sCaption, $bNoDB = false)
    {
        global $site;
        $ID = $this->_iProfileID;
        if ($ID > 0) {
            $sQuery = "\r\n\t\t\tSELECT DISTINCT\r\n\t\t\t\tCOUNT(`BlogPosts`.`PostID`)\r\n\t\t\tFROM `BlogCategories`\r\n\t\t\tINNER JOIN `BlogPosts` ON\r\n\t\t\t\t `BlogCategories`.`CategoryID` = `BlogPosts`.`CategoryID`\r\n\t\t\tWHERE\r\n\t\t\t\t`BlogCategories`.`OwnerID`  = {$ID} AND\r\n\t\t\t\t`BlogPosts`.`PostReadPermission` = 'public' AND\r\n\t\t\t\t`BlogPosts`.`PostStatus`         = 'approval'\r\n\t\t\t";
            $iBlogs = db_value($sQuery);
            if ($iBlogs > 0) {
                $oBlogs = new BxDolBlogs();
                $sBlocks = $oBlogs->GenAnyBlockContent('last', $ID);
                $ret = <<<EOF
<div id="container_blogs">
\t{$sBlocks}
</div>
EOF;
                $show_hide = $this->genShowHideItem('container_blogs');
                if ($bNoDB) {
                    return $ret;
                } else {
                    echo DesignBoxContent(_t($sCaption), $ret, 1, $show_hide);
                }
            } else {
                return;
            }
        } else {
            if ($bNoDB) {
                return MsgBox(_t('_im_textNoCurrUser'));
            } else {
                echo MsgBox(_t('_im_textNoCurrUser'));
            }
        }
    }
 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}&amp;blogs_page={$prevPage}", 'dynamic' => true, 'class' => 'backMembers');
         }
         if ($page < $iTotalPages) {
             $nextPage = $page + 1;
             $aDBBottomMenu[_t('_Next')] = array('href' => "{$_SERVER['PHP_SELF']}?blogs_mode={$mode}&amp;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);
 }