Example #1
0
 public function checkPrivacy()
 {
     $obj = new EasyBlogPrivacyError();
     $obj->allowed = true;
     $my = JFactory::getUser();
     if ($this->private == '1' && $my->id == 0) {
         $obj->allowed = false;
         $obj->error = EasyBlogPrivacyHelper::getErrorHTML();
     } else {
         if ($this->private == '2') {
             $cats = EasyBlogHelper::getPrivateCategories();
             if (in_array($this->id, $cats)) {
                 $obj->allowed = false;
                 $obj->error = JText::_('COM_EASYBLOG_PRIVACY_JOMSOCIAL_NOT_AUTHORIZED_ERROR');
             }
         }
     }
     return $obj;
 }
Example #2
0
 public function checkPrivacy($blog)
 {
     $obj = new EasyBlogPrivacyError();
     $obj->allowed = EasyBlogHelper::isLoggedIn();
     // If it is public or site amdin, always allow browser to access.
     if (!$blog->private || EasyBlogHelper::isSiteAdmin()) {
         $obj->allowed = true;
         return $obj;
     }
     $my = JFactory::getUser();
     $config = EasyBlogHelper::getConfig();
     $file = JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_community' . DIRECTORY_SEPARATOR . 'libraries' . DIRECTORY_SEPARATOR . 'core.php';
     $easysocial = EasyBlogHelper::getHelper('EasySocial');
     if ($config->get('integrations_easysocial_privacy') && $easysocial->exists()) {
         switch ($blog->private) {
             case '10':
                 $obj->allowed = EasyBlogHelper::isLoggedIn();
                 $obj->error = $obj->allowed ? '' : EasyBlogPrivacyHelper::getErrorHTML();
                 break;
             case '30':
                 // if user is the blog author, we always allow.
                 $obj->allowed = $my->id == $blog->created_by ? true : false;
                 if (!$obj->allowed) {
                     $obj->allowed = Foundry::user($my->id)->isFriends($blog->created_by);
                 }
                 $obj->error = $obj->allowed ? '' : EasyBlogPrivacyHelper::getErrorHTML('privacy.friends');
                 break;
             case '40':
                 $obj->allowed = $my->id == $blog->created_by;
                 $obj->error = $obj->allowed ? '' : EasyBlogPrivacyHelper::getErrorHTML('privacy.owner');
                 break;
         }
         return $obj;
     } else {
         if ($config->get('main_jomsocial_privacy') && JFile::exists($file)) {
             switch ($blog->private) {
                 case '20':
                     $obj->allowed = EasyBlogHelper::isLoggedIn();
                     $obj->error = $obj->allowed ? '' : EasyBlogPrivacyHelper::getErrorHTML();
                     break;
                 case '30':
                     require_once $file;
                     $obj->allowed = CFactory::getUser($my->id)->isFriendWith($blog->created_by);
                     $obj->error = $obj->allowed ? '' : EasyBlogPrivacyHelper::getErrorHTML('privacy.friends');
                     break;
                 case '40':
                     $obj->allowed = $my->id == $blog->created_by;
                     $obj->error = $obj->allowed ? '' : EasyBlogPrivacyHelper::getErrorHTML('privacy.owner');
                     break;
             }
             return $obj;
         }
     }
     if ($blog->private) {
         $obj->allowed = EasyBlogHelper::isLoggedIn();
         $obj->error = $obj->allowed ? '' : EasyBlogPrivacyHelper::getErrorHTML();
     }
     // If not integrated with any privacy providers, we assume that the blog
     // is private.
     return $obj;
 }