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; }
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; }