Exemple #1
0
function data_blog($data, $params)
{
    // No change in the parameters with Clyde
    global $gLibertySystem, $gBitSmarty, $gBitSystem, $gBitUser;
    $display_result = "";
    if ($gBitSystem->isPackageActive('blogs') && $gBitUser->hasPermission('p_blogs_view')) {
        // The next 2 lines allow access to the $pluginParams given above and may be removed when no longer needed
        $pluginParams = $gLibertySystem->mPlugins[PLUGIN_GUID_DATABLOG];
        require_once BLOGS_PKG_PATH . 'BitBlog.php';
        require_once LIBERTY_PKG_PATH . 'lookup_content_inc.php';
        $module_params = $params;
        if (isset($module_params['id'])) {
            $gBitSmarty->assign('blog_id', $module_params['id']);
        }
        $blogPost = new BitBlogPost();
        $sortOptions = array("publish_date_desc", "publish_date_asc", "last_modified_asc", "last_modified_desc", "created_asc", "created_desc", "random");
        if (!empty($module_params['sort_mode']) && in_array($module_params['sort_mode'], $sortOptions)) {
            $sort_mode = $module_params['sort_mode'];
        } else {
            $sort_mode = 'publish_date_desc';
        }
        $getHash = array();
        if (isset($module_params['user'])) {
            $getHash['user'] = $module_params['user'];
        }
        if (isset($module_params['id'])) {
            $getHash['blog_id'] = $module_params['id'];
        }
        if (isset($module_params['group_id'])) {
            $getHash['group_id'] = $module_params['group_id'];
        }
        if (isset($module_params['role_id'])) {
            $getHash['role_id'] = $module_params['role_id'];
        }
        // handle draft posts
        $getHash['enforce_status'] = TRUE;
        // @TODO enable lists that include draft posts
        // the current tpl configuration doesnt allow us to support draft lists right now
        // there is an object reference problem in liberty::service_content_body_inc.tpl
        // if the object reference problem in the above mentions tpl is patched then use this if to enable drafts
        // if ( !empty( $module_params['status'] ) && $module_params['status'] = "draft" && isset( $gBitUser->mUserId ) ){
        if (FALSE) {
            // if we are getting drafts then get future posts too
            $getHash['show_future'] = TRUE;
            $getHash['min_status_id'] = -6;
            $getHash['max_status_id'] = -4;
            $getHash['min_owner_status_id'] = -6;
            // limit by user
            $getHash['user_id'] = $gBitUser->mUserId;
        } else {
            $getHash['min_owner_status_id'] = 0;
        }
        $getHash['sort_mode'] = $sort_mode;
        $getHash['parse_data'] = TRUE;
        $getHash['max_records'] = empty($module_params['max']) ? 1 : $module_params['max'];
        $getHash['load_num_comments'] = TRUE;
        $getHash['page'] = !empty($module_params['page']) ? $module_params['page'] : 1;
        $getHash['offset'] = !empty($module_params['offset']) ? $module_params['offset'] : 0;
        $blogPosts = $blogPost->getList($getHash);
        $display_format = empty($module_params['format']) ? 'simple_title_list' : $module_params['format'];
        switch ($display_format) {
            case 'full':
                $display_result = '<div class="blogs">';
                if ($gBitSystem->isPackageActive('rss')) {
                    if (isset($module_params['user'])) {
                        $rssUser = new BitUser();
                        $rssUser->load(false, $module_params['user']);
                        $rssUserId = $rssUser->getField('user_id');
                    }
                    $rssPath = BLOGS_PKG_URL . 'blogs_rss.php?' . (isset($module_params['id']) ? 'blog_id=' . $module_params['id'] : "") . (isset($module_params['id']) && isset($rssUserId) ? "&" : "") . (isset($rssUserId) ? 'user_id=' . $rssUserId : "") . (isset($rssUserId) && isset($module_params['group_id']) ? "&" : "") . (isset($module_params['group_id']) ? 'group_id=' . $module_params['group_id'] : "") . (isset($rssUserId) && isset($module_params['role_id']) ? "&" : "") . (isset($module_params['role_id']) ? 'role_id=' . $module_params['role_id'] : "");
                    // something like this would be better, calling smarty directly so translation can also be called -wjames5
                    // $rssIcon = smarty_function_biticon( array('ipackage'=>"rss", 'iname'="rss-16x16", 'iexplain'=>"RSS feed"), &$gBitSmarty );
                    $display_result .= '<div class="floaticon"><a title="RSS feed" href="' . $rssPath . '"><img src="' . BIT_ROOT_URL . 'rss/icons/rss-16x16.png" alt="RSS feed" title="RSS feed" class="icon" /></a></div>';
                }
                $gBitSmarty->assign('showDescriptionsOnly', TRUE);
                foreach ($blogPosts['data'] as $aPost) {
                    $gBitSmarty->assign('aPost', $aPost);
                    $display_result .= $gBitSmarty->fetch('bitpackage:blogs/blog_list_post.tpl');
                }
                $display_result .= '</div>';
                $display_result = eregi_replace("\n", "", $display_result);
                break;
            case 'list':
            default:
                $display_result = "<ul>";
                foreach ($blogPosts['data'] as $post) {
                    $link = $blogPost->getDisplayLink($post['title'], $post);
                    $display_result .= "<li>{$link}</li>\n";
                }
                $display_result .= "</ul>\n";
                break;
        }
    } else {
        $display_result = '<div class=error>' . tra('Blogs Package Deactivated.') . '</div>';
    }
    return $display_result;
}
Exemple #2
0
     }
 }
 if (!empty($_REQUEST['blog_id'])) {
     $listHash['blog_id'] = $_REQUEST['blog_id'];
     $gBlog = new BitBlog($_REQUEST['blog_id']);
     $gBlog->load();
     if (isset($gBlog->mContentId)) {
         // adjust feed title to blog title
         $rss->title = $gBlog->getTitle() . " at " . $gBitSystem->getConfig('site_title');
         if (isset($userName)) {
             $rss->title = $userName . "'s Posts in " . $rss->title;
         }
         $rss->description = $gBlog->parseData();
     }
 }
 $feeds = $blogPost->getList($listHash);
 // set the rss link
 $rss->link = 'http://' . $_SERVER['HTTP_HOST'] . BLOGS_PKG_URL . (!empty($_REQUEST['blog_id']) ? "?blog_id=" . $_REQUEST['blog_id'] : "");
 // get all the data ready for the feed creator
 foreach ($feeds['data'] as $feed) {
     $item = new FeedItem();
     $item->title = BitBlogPost::getTitleFromHash($feed);
     $item->link = BIT_BASE_URI . BitBlogPost::getDisplayUrlFromHash(NULL, $feed);
     $item->description = $feed['parsed'];
     $item->date = (int) $feed['last_modified'];
     $item->source = 'http://' . $_SERVER['HTTP_HOST'] . BIT_ROOT_URL;
     $item->author = $gBitUser->getDisplayName(FALSE, $feed);
     $item->descriptionTruncSize = $gBitSystem->getConfig('rssfeed_truncate', 50000);
     $item->descriptionHtmlSyndicated = TRUE;
     // pass the item on to the rss feed creator
     $rss->addItem($item);