コード例 #1
0
ファイル: helper.php プロジェクト: Tommar/vino2
 /**
  * Responsible to format the blog posts and append neccessary data.
  *
  * @access	public
  * @param	Array	$data			An array of blog posts.
  * @param	boolean	$loadComments	Determines whether or not to load the comments into the object.
  * @param	boolean $removeFeaturedImage	Determines whether or not to remove featured image from the content.
  * @param	boolean	$loadVideo		If true, video codes will be processed.
  * @param	boolean	$frontpage		Determines whether this is for the front page or not.
  * @return	Array	An array of formatted blog posts.
  */
 public static function formatBlog($data, $loadComments = false, $removeFeaturedImage = true, $loadVideo = true, $frontpage = false, $loadGallery = true)
 {
     $app = JFactory::getApplication();
     $params = $app->getParams('com_easyblog');
     $model = EasyBlogHelper::getModel('Blog');
     $config = EasyBlogHelper::getConfig();
     // @rule: If nothing is supplied, just return the empty data.
     if (empty($data)) {
         return $data;
     }
     // @task: Get the tags relations model.
     $modelPT = EasyBlogHelper::getModel('PostTag');
     // @task : Resultset data
     $result = array();
     for ($i = 0; $i < count($data); $i++) {
         $row =& $data[$i];
         $blog = EasyBlogHelper::getTable('Blog');
         $blog->bind($row);
         // @task: Since the $blog object does not contain 'team_id', we need to set this here.
         if (isset($row->team_id)) {
             $blog->team_id = $row->team_id;
         }
         // @task: Since the $blog object does not contain 'category', we need to set this here.
         $blog->category = $row->category;
         $blog->featuredImage = isset($row->featuredImage) ? $row->featuredImage : '';
         $profile = EasyBlogHelper::getTable('Profile', 'Table');
         $profile->load($blog->created_by);
         // @legacy The following variables are no longer used in 3.5
         // @since 3.5
         $blog->avatar = $profile->getAvatar();
         $blog->avatarLink = $profile->getProfileLink();
         $blog->displayName = $profile->getName();
         // @Assign dynamic properties that must exist everytime formatBlog is called
         // We can't rely on ->author because CB plugins would mess things up.
         $blog->author = $profile;
         $blog->blogger = $profile;
         $blog->isFeatured = EasyBlogHelper::isFeatured('post', $blog->id);
         $blog->category = empty($blog->category) ? JText::_('COM_EASYBLOG_UNCATEGORIZED') : JText::_($blog->category);
         // @task: Detect password protections.
         $requireVerification = false;
         $tmpTitle = $blog->title;
         if ($config->get('main_password_protect', true) && !empty($blog->blogpassword)) {
             $blog->title = JText::sprintf('COM_EASYBLOG_PASSWORD_PROTECTED_BLOG_TITLE', $blog->title);
             $requireVerification = true;
         }
         // @rule: If user already authenticated with the correct password, we will hide the password
         if ($requireVerification && EasyBlogHelper::verifyBlogPassword($blog->blogpassword, $blog->id)) {
             $blog->title = $tmpTitle;
             $blog->blogpassword = '';
         }
         // @rule: Initialize all variables
         $blog->videos = array();
         $blog->galleries = array();
         $blog->albums = array();
         $blog->audios = array();
         // @rule: Before anything get's processed we need to format all the microblog posts first.
         if (!empty($blog->source)) {
             self::formatMicroblog($blog);
         }
         // @rule: Detect if the content requires a read more link.
         $blog->readmore = EasyBlogHelper::requireReadmore($blog);
         // @rule: Remove any adsense codes from the content.
         $blog->intro = EasyBlogGoogleAdsense::stripAdsenseCode($blog->intro);
         $blog->content = EasyBlogGoogleAdsense::stripAdsenseCode($blog->content);
         // @rule: Content truncations.
         EasyBlogHelper::truncateContent($blog, $loadVideo, $frontpage, $loadGallery);
         // @task: Legacy fix for blog posts prior to 3.5
         // Remove first image from featured post
         if ($removeFeaturedImage && $blog->isFeatured) {
             $blog->text = EasyBlogHelper::removeFeaturedImage($blog->text);
         }
         // @rule: Add nofollow tags if necessary
         if ($config->get('main_anchor_nofollow')) {
             $blog->text = self::addNoFollow($blog->text);
         }
         // @rule: $limitstart variable is required by content plugins.
         $limitstart = JRequest::getVar('limitstart', 0, '', 'int');
         // @trigger: onEasyBlogPrepareContent
         JPluginHelper::importPlugin('easyblog');
         EasyBlogHelper::triggerEvent('easyblog.prepareContent', $blog, $params, $limitstart);
         $blog->introtext = $blog->intro;
         // @trigger: onPrepareContent / onContentPrepare
         EasyBlogHelper::triggerEvent('prepareContent', $blog, $params, $limitstart);
         $blog->excerpt = $blog->introtext;
         $blog->content = $blog->text;
         //onPrepareContent trigger end
         // @rule: Assign tags to the custom properties.
         $blog->tags = $modelPT->getBlogTags($blog->id);
         // @rule: Assign total comments in this blog post.
         $blog->totalComments = EasyBlogHelper::getHelper('Comment')->getCommentCount($blog);
         $blog->comments = array();
         if ($loadComments) {
             $blog->comments = EasyBlogHelper::getHelper('Comment')->getBlogComment($blog->id, $config->get('layout_showcommentcount', 3), 'desc', true);
         }
         $blog->event = new stdClass();
         // @trigger: onContentAfterTitle / onAfterDisplayTitle
         $results = EasyBlogHelper::triggerEvent('afterDisplayTitle', $blog, $params, $limitstart);
         $blog->event->afterDisplayTitle = JString::trim(implode("\n", $results));
         // @trigger: onContentAfterTitle / onAfterDisplayTitle
         $results = EasyBlogHelper::triggerEvent('beforeDisplayContent', $blog, $params, $limitstart);
         $blog->event->beforeDisplayContent = JString::trim(implode("\n", $results));
         // @trigger: onContentAfterTitle / onAfterDisplayTitle
         $results = EasyBlogHelper::triggerEvent('afterDisplayContent', $blog, $params, $limitstart);
         $blog->event->afterDisplayContent = JString::trim(implode("\n", $results));
         // Facebook Like integrations
         require_once EBLOG_CLASSES . DIRECTORY_SEPARATOR . 'facebook.php';
         $facebookLike = EasyBlogFacebookLikes::getLikeHTML($blog);
         $blog->facebookLike = $facebookLike;
         $result[] = $blog;
     }
     return $result;
 }
コード例 #2
0
ファイル: socialbutton.php プロジェクト: alexinteam/joomla3
 public function facebook()
 {
     $config = EasyBlogHelper::getConfig();
     $document = JFactory::getDocument();
     $frontpage = $this->isFrontend;
     $pos = $this->position;
     $html = '';
     $fb = !$frontpage && $config->get('main_facebook_like') || $frontpage && $config->get('integrations_facebook_show_in_listing', $config->get('social_show_frontpage')) && $config->get('main_facebook_like');
     if (!$fb) {
         return;
     }
     $fblayout = $config->get('main_facebook_like_layout');
     $fbLikesButton = $config->get('main_facebook_like');
     $buttonSize = 'social-button-';
     switch ($fblayout) {
         case 'box_count':
             $buttonSize .= 'large';
             break;
         case 'button_count':
             $buttonSize .= 'small';
             break;
         case 'standard':
         default:
             $buttonSize .= 'standard';
             break;
     }
     if ($config->get('main_facebook_like')) {
         if ($fblayout != 'standard') {
             //if the layout is box_count then only we stick the fb likes with others social button.
             require_once EBLOG_CLASSES . DIRECTORY_SEPARATOR . 'facebook.php';
             $html = EasyBlogFacebookLikes::getLikeHTML($this->blog);
             if (!empty($html)) {
                 $html = '<div class="social-button ' . $buttonSize . ' facebook-like">' . $html . '</div>';
                 if ($this->isBottom) {
                     $html = '<div class="socialbutton-vertical align' . $pos . '">' . $html . '</div>';
                 }
             }
         }
     }
     return $html;
 }
コード例 #3
0
ファイル: view.html.php プロジェクト: Tommar/vino2
 function preview()
 {
     JPluginHelper::importPlugin('easyblog');
     $dispatcher = JDispatcher::getInstance();
     $mainframe = JFactory::getApplication();
     $acl = EasyBlogACLHelper::getRuleSet();
     $config = EasyBlogHelper::getConfig();
     $document = JFactory::getDocument();
     $my = JFactory::getUser();
     $params = $mainframe->getParams('com_easyblog');
     if (!EasyBlogHelper::isLoggedIn()) {
         EasyBlogHelper::showLogin();
         return;
     }
     $draftId = JRequest::getVar('draftid', '');
     $draft = EasyBlogHelper::getTable('Draft', 'Table');
     $draft->load($draftId);
     $blog = EasyBlogHelper::getTable('Blog', 'Table');
     $blog->bind($draft);
     $blogger = null;
     if ($blog->created_by != 0) {
         $blogger = EasyBlogHelper::getTable('Profile', 'Table');
         $blogger->load($blog->created_by);
     }
     // @rule: Set the author object into the table.
     $blog->author = $blogger;
     $blog->blogger = $blogger;
     $blogId = empty($draft->entry_id) ? $draft->id : $draft->entry_id;
     $limitstart = '0';
     $notice = '';
     $team = '';
     $blog->tags = empty($draft->tags) ? array() : $this->bindTags(explode(',', $draft->tags));
     // metas
     $meta = new stdClass();
     $meta->id = '';
     $meta->keywords = $draft->metakey;
     $meta->description = $draft->metadesc;
     $pageTitle = EasyBlogHelper::getPageTitle($config->get('main_title'));
     $document->setTitle($blog->title . $pageTitle);
     // process the video here if nessary
     $blog->intro = EasyBlogHelper::getHelper('Videos')->processVideos($blog->intro);
     $blog->content = EasyBlogHelper::getHelper('Videos')->processVideos($blog->content);
     // @rule: Process audio files.
     $blog->intro = EasyBlogHelper::getHelper('Audio')->process($blog->intro);
     $blog->content = EasyBlogHelper::getHelper('Audio')->process($blog->content);
     // @rule: Before any trigger happens, try to replace the gallery first and append it at the bottom.
     $blog->intro = EasyBlogHelper::getHelper('Gallery')->process($blog->intro, $blog->created_by);
     $blog->content = EasyBlogHelper::getHelper('Gallery')->process($blog->content, $blog->created_by);
     // Process jomsocial album's.
     $blog->intro = EasyBlogHelper::getHelper('Album')->process($blog->intro, $blog->created_by);
     $blog->content = EasyBlogHelper::getHelper('Album')->process($blog->content, $blog->created_by);
     // @trigger: onEasyBlogPrepareContent
     EasyBlogHelper::triggerEvent('easyblog.prepareContent', $blog, $params, $limitstart);
     //onPrepareContent trigger start
     $blog->introtext = $blog->intro;
     $blog->text = $blog->intro . $blog->content;
     // @trigger: onEasyBlogPrepareContent
     EasyBlogHelper::triggerEvent('prepareContent', $blog, $params, $limitstart);
     $blog->intro = $blog->introtext;
     $blog->content = $blog->text;
     $isFeatured = false;
     //page setup
     $blogHtml = '';
     $commentHtml = '';
     $blogHeader = '';
     $blogFooter = '';
     $adsenseHtml = '';
     $trackbackHtml = '';
     $blogger = null;
     if ($blog->created_by != 0) {
         $blogger = EasyBlogHelper::getTable('Profile', 'Table');
         $blogger->load($blog->created_by);
     }
     //onAfterDisplayTitle, onBeforeDisplayContent, onAfterDisplayContent trigger start
     $blog->event = new stdClass();
     // @trigger: onAfterDisplayTitle / onContentAfterTitle
     $results = EasyBlogHelper::triggerEvent('afterDisplayTitle', $blog, $params, $limitstart);
     $blog->event->afterDisplayTitle = JString::trim(implode("\n", $results));
     // @trigger: onBeforeDisplayContent / onContentBeforeDisplay
     $results = EasyBlogHelper::triggerEvent('beforeDisplayContent', $blog, $params, $limitstart);
     $blog->event->beforeDisplayContent = JString::trim(implode("\n", $results));
     // @trigger: onAfterDisplayContent / onContentAfterDisplay
     EasyBlogHelper::triggerEvent('afterDisplayContent', $blog, $params, $limitstart);
     $blog->event->afterDisplayContent = JString::trim(implode("\n", $results));
     if (!EasyBlogRouter::isCurrentActiveMenu('blogger', $blogger->id)) {
         $this->setPathway($blogger->getName(), $blogger->getLink());
     }
     if (!EasyBlogRouter::isCurrentActiveMenu('entry', $blog->id)) {
         $this->setPathway($blog->title, '');
     }
     $blog->totalComments = 0;
     // Facebook Like integrations
     require_once EBLOG_CLASSES . DIRECTORY_SEPARATOR . 'facebook.php';
     $facebookLike = EasyBlogFacebookLikes::getLikeHTML($blog);
     $url = EasyBlogRouter::getRoutedURL('index.php?option=com_easyblog&view=entry&id=' . $blog->id, false, true);
     //get blog navigation object
     $blogNav = EasyBlogHelper::getBlogNavigation($blog->id, $blog->created, $team, 'team');
     //$team
     $prevLink = array();
     if (!empty($blogNav['prev'])) {
         $prevLink['id'] = $blogNav['prev'][0]->id;
         $prevLink['title'] = JString::strlen($blogNav['prev'][0]->title) > 50 ? JString::substr($blogNav['prev'][0]->title, 0, 50) . '...' : $blogNav['prev'][0]->title;
     }
     $nextLink = array();
     if (!empty($blogNav['next'])) {
         $nextLink['id'] = $blogNav['next'][0]->id;
         $nextLink['title'] = JString::strlen($blogNav['next'][0]->title) > 50 ? JString::substr($blogNav['next'][0]->title, 0, 50) . '...' : $blogNav['next'][0]->title;
     }
     // @rule: Hide introtext if necessary
     if ($config->get('main_hideintro_entryview')) {
         $blog->intro = '';
     }
     //get social bookmark provider.
     require_once EBLOG_CLASSES . DIRECTORY_SEPARATOR . 'bookmark.php';
     $bookmark = EasyBlogBookmark::getHTML();
     $theme = new CodeThemes();
     $theme->set('facebookLike', $facebookLike);
     $theme->set('notice', $notice);
     $theme->set('blog', $blog);
     $theme->set('tags', $blog->tags);
     $theme->set('blogger', $blogger);
     $theme->set('prevLink', $prevLink);
     $theme->set('nextLink', $nextLink);
     $theme->set('blogRelatedPost', '');
     $theme->set('isFeatured', $isFeatured);
     $theme->set('isMineBlog', true);
     $theme->set('acl', $acl);
     $theme->set('url', $url);
     $theme->set('commentHTML', $commentHtml);
     $theme->set('bookmark', $bookmark);
     $theme->set('pdfLinkProperties', EasyBlogHelper::getPDFlinkProperties());
     $theme->set('ispreview', true);
     // @task: trackbacks
     $trackbacks = '';
     $theme->set('trackbackURL', EasyBlogRouter::getRoutedURL('index.php?option=com_easyblog&view=trackback&post_id=' . $blog->id, true, true));
     $theme->set('trackbacks', $trackbacks);
     //google adsense
     require_once EBLOG_CLASSES . DIRECTORY_SEPARATOR . 'adsense.php';
     $adsense = EasyBlogGoogleAdsense::getHTML($blogger->id);
     $blogHeader = $adsense->header;
     $blogFooter = $adsense->footer;
     $theme->set('adsenseHTML', $adsense->beforecomments);
     $blogHtml = $theme->fetch('blog.read.php');
     echo $blogHeader;
     echo $blogHtml;
     echo $blogFooter;
 }