Example #1
0
 public static function canViewListing($listingId)
 {
     $listingObject = JUDirectoryHelper::getListingById($listingId);
     if (!is_object($listingObject)) {
         return false;
     }
     $canDoCategory = JUDirectoryFrontHelperPermission::canDoCategory($listingObject->cat_id, true);
     if (!$canDoCategory) {
         return false;
     }
     if ($listingObject->approved == 1) {
         $canEditListing = JUDirectoryFrontHelperPermission::canEditListing($listingId);
         $canEditStateListing = JUDirectoryFrontHelperPermission::canEditStateListing($listingObject);
         $userCanDoListing = JUDirectoryFrontHelperPermission::userCanDoListing($listingId, true);
         if ($canEditListing || $canEditStateListing || $userCanDoListing) {
             return true;
         }
     }
     $isListingPublished = JUDirectoryFrontHelperListing::isListingPublished($listingId);
     $isListingOwner = JUDirectoryFrontHelperPermission::isListingOwner($listingId);
     if ($isListingOwner) {
         $params = JUDirectoryHelper::getParams(null, $listingId);
         if ($listingObject->approved <= 0 || $isListingPublished || !$isListingPublished && $params->get('listing_owner_can_view_unpublished_listing', 0)) {
             return true;
         }
     }
     $isModerator = JUDirectoryFrontHelperModerator::isModerator();
     if ($isModerator) {
         if ($listingObject->approved == 1) {
             if ($isListingPublished) {
                 $modCanViewListing = JUDirectoryFrontHelperModerator::checkModeratorCanDoWithListing($listingObject->cat_id, 'listing_view');
                 if ($modCanViewListing) {
                     return true;
                 }
             } else {
                 $modCanViewListing = JUDirectoryFrontHelperModerator::checkModeratorCanDoWithListing($listingObject->cat_id, 'listing_view_unpublished');
                 if ($modCanViewListing) {
                     return true;
                 }
             }
         } else {
             $modCanViewListing = JUDirectoryFrontHelperModerator::checkModeratorCanDoWithListing($listingObject->cat_id, 'listing_approve');
             if ($modCanViewListing) {
                 return true;
             }
         }
     }
     return false;
 }
Example #2
0
 public function delete()
 {
     JSession::checkToken('get') or die(JText::_('JINVALID_TOKEN'));
     $cid = JFactory::getApplication()->input->get('id', array(), 'array');
     if (!is_array($cid) || count($cid) < 1) {
         JError::raiseWarning(500, JText::_('COM_JUDIRECTORY_NO_ITEM_SELECTED'));
         $this->setRedirect($this->getReturnPage());
     } else {
         $model = $this->getModel();
         jimport('joomla.utilities.arrayhelper');
         JArrayHelper::toInteger($cid);
         if ($model->delete($cid)) {
             $this->setMessage(JText::plural($this->text_prefix . '_N_ITEMS_DELETED', count($cid)));
         } else {
             $this->setMessage($model->getError());
         }
         $isListingPublished = JUDirectoryFrontHelperListing::isListingPublished($cid[0]);
         if ($isListingPublished) {
             $mainCategoryId = JUDirectoryFrontHelperCategory::getMainCategoryId($cid[0]);
             $this->setRedirect(JRoute::_(JUDirectoryHelperRoute::getCategoryRoute($mainCategoryId), false));
         } else {
             $this->setRedirect($this->getReturnPage());
         }
     }
 }