protected function getInput()
 {
     $html = '';
     $db = JFactory::getDbo();
     $options = JUDirectoryHelper::getFieldGroupOptions();
     if ($this->element['usenone'] == 'true') {
         array_unshift($options, array('value' => '0', 'text' => JText::_('COM_JUDIRECTORY_NONE')));
     }
     if ($this->element['useinherit'] == 'true') {
         $appendInherit = "";
         if ($this->form->getValue("id")) {
             $appendInherit = " ( " . JText::_('COM_JUDIRECTORY_NONE') . " )";
             if ($this->form->getValue("id") > 0) {
                 $catObj = JUDirectoryHelper::getCategoryById($this->form->getValue("parent_id"));
                 if ($catObj->fieldgroup_id > 1) {
                     $query = "SELECT name, published FROM #__judirectory_fields_groups WHERE id = " . (int) $catObj->fieldgroup_id . " AND id != 1";
                     $db->setQuery($query);
                     $fieldgroup = $db->loadObject();
                     $groupName = $fieldgroup->published != 1 ? "[" . $fieldgroup->name . "]" : $fieldgroup->name;
                     $appendInherit = "( " . $groupName . " )";
                 }
             }
         }
         array_unshift($options, array('value' => '-1', 'text' => JText::_('COM_JUDIRECTORY_INHERIT') . $appendInherit));
     } else {
         array_unshift($options, array('value' => '', 'text' => JText::_('COM_JUDIRECTORY_SELECT_FIELD_GROUP')));
     }
     $required_class = $this->element['required'] == 'true' ? 'required' : '';
     $attributes = "class=\"inputbox {$required_class}\"";
     $html .= JHtml::_('select.genericlist', $options, $this->name, $attributes, 'value', 'text', $this->value, $this->id);
     return $html;
 }
示例#2
0
 public static function getCriteriaGroupIdByCategoryId($mainCatId)
 {
     $catObj = JUDirectoryHelper::getCategoryById($mainCatId);
     if ($catObj) {
         return $catObj->criteriagroup_id;
     }
     return null;
 }
 protected function calculatorInheritStyle($cat_id)
 {
     do {
         $category = JUDirectoryHelper::getCategoryById($cat_id);
         $style_id = $category->style_id;
         $cat_id = $category->parent_id;
     } while ($style_id == -1 && $cat_id != 0);
     if ($style_id == -2) {
         return $this->getStyle();
     } else {
         return $this->getStyle($style_id);
     }
 }
 protected function getInput()
 {
     $db = JFactory::getDbo();
     $query = 'SELECT id AS value, name AS text, published FROM #__judirectory_criterias_groups ';
     $db->setQuery($query);
     $options = $db->loadObjectList();
     $users = JFactory::getUser();
     foreach ($options as $key => $option) {
         if ($option->published != 1) {
             $option->text = '[ ' . $option->text . ' ]';
         }
         if (!$users->authorise('core.create', 'com_judirectory.criteriagroup.' . $option->value)) {
             unset($options[$key]);
         }
     }
     $required_class = $this->element['required'] == 'true' ? 'required' : '';
     $class = $this->element['class'];
     if ($this->element['usenone'] == 'true') {
         array_unshift($options, array('value' => '0', 'text' => JText::_('COM_JUDIRECTORY_NONE')));
     }
     if ($this->element['useinherit'] == 'true') {
         $appendInherit = "";
         if ($this->form->getValue("id")) {
             if ($this->form->getValue("criteriagroup_id") > 0) {
                 $appendInherit = $this->getCriteriaGroupName($this->form->getValue("criteriagroup_id"));
             } else {
                 $category = JUDirectoryHelper::getCategoryById($this->form->getValue("id"));
                 $parent = JUDirectoryHelper::getCategoryById($category->parent_id);
                 $appendInherit = $this->getCriteriaGroupName($parent->criteriagroup_id);
             }
         }
         array_unshift($options, array('value' => '-1', 'text' => JText::_('COM_JUDIRECTORY_INHERIT') . $appendInherit));
     } else {
         array_unshift($options, array('value' => '', 'text' => JText::_('COM_JUDIRECTORY_SELECT_CRITERIAL_GROUP')));
     }
     $canChange = true;
     if ($this->form->getValue('id')) {
         $query = "SELECT COUNT(*) FROM #__judirectory_criterias_values WHERE criteria_id = " . $this->form->getValue('id');
         $db->setQuery($query);
         $canChange = $db->loadResult() ? false : true;
     }
     if ($canChange) {
         $attributes = "class=\"inputbox {$class} {$required_class}\"";
         $html = JHtml::_('select.genericlist', $options, $this->name, $attributes, 'value', 'text', $this->value, $this->id);
     } else {
         $attributes = "class=\"inputbox {$class}\" disabled";
         $html = JHtml::_('select.genericlist', $options, "_" . $this->name, $attributes, 'value', 'text', $this->value, $this->id);
         $html .= "<input class=\"{$required_class}\" type=\"hidden\" value=\"" . $this->value . "\" name=\"" . $this->name . "\" />";
     }
     return $html;
 }
 protected function getInput()
 {
     $db = JFactory::getDbo();
     $query = 'SELECT id AS value, name AS text, published FROM #__judirectory_criterias_groups ';
     $db->setQuery($query);
     $options = $db->loadObjectList();
     if (!empty($options)) {
         foreach ($options as $option) {
             if ($option->published != 1) {
                 $option->text = "[" . $option->text . "]";
             }
         }
     }
     $users = JFactory::getUser();
     $required_class = $this->element['required'] == 'true' ? 'required' : '';
     $class = $this->element['class'];
     $attributes = "class=\"inputbox {$class} {$required_class}\"";
     if ($this->element['usenone'] == 'true') {
         array_unshift($options, array('value' => '0', 'text' => JText::_('COM_JUDIRECTORY_NONE')));
     }
     if ($this->element['useinherit'] == 'true') {
         $appendInherit = "";
         if ($this->form->getValue("id")) {
             if ($this->form->getValue("criteriagroup_id") > 0) {
                 $appendInherit = $this->getCriteriaGroupName($this->form->getValue("criteriagroup_id"));
             } else {
                 $category = JUDirectoryHelper::getCategoryById($this->form->getValue("id"));
                 $parent = JUDirectoryHelper::getCategoryById($category->parent_id);
                 $appendInherit = $this->getCriteriaGroupName($parent->criteriagroup_id);
             }
         }
         array_unshift($options, array('value' => '-1', 'text' => JText::_('COM_JUDIRECTORY_INHERIT') . $appendInherit));
     } else {
         array_unshift($options, array('value' => '', 'text' => JText::_('COM_JUDIRECTORY_SELECT_CRITERIAL_GROUP')));
     }
     $html = JHtml::_('select.genericlist', $options, $this->name, $attributes, 'value', 'text', $this->value, $this->id);
     return $html;
 }
示例#6
0
    public static function optimizeListListingQuery(&$query, $massSelect = false)
    {
        $user = JFactory::getUser();
        $query->select('cmain.id AS cat_id');
        $query->join('', '#__judirectory_listings_xref AS listingxmain ON listing.id = listingxmain.listing_id AND listingxmain.main = 1');
        $query->join('', '#__judirectory_categories AS cmain ON cmain.id = listingxmain.cat_id');
        $categoryIdArrayCanAccess = JUDirectoryFrontHelperPermission::getAccessibleCategoryIds();
        if (is_array($categoryIdArrayCanAccess) && count($categoryIdArrayCanAccess) > 0) {
            $query->where('cmain.id IN(' . implode(",", $categoryIdArrayCanAccess) . ')');
        } else {
            $query->where('cmain.id IN("")');
        }
        if ($massSelect) {
            $commentsField = new JUDirectoryFieldCore_comments();
            if ($commentsField->canView(array("view" => "list"))) {
                $isModerator = JUDirectoryFrontHelperModerator::isModerator();
                if (!$isModerator && !$user->authorise('core.admin', 'com_judirectory')) {
                    $params = JUDirectoryHelper::getParams();
                    $negative_vote_comment = $params->get('negative_vote_comment');
                    if (is_numeric($negative_vote_comment) && $negative_vote_comment > 0) {
                        $query->select('(SELECT COUNT(*) FROM #__judirectory_comments AS cm WHERE cm.listing_id = listing.id AND cm.approved = 1 AND cm.published = 1 AND cm.level = 1
										AND (cm.total_votes - cm.helpful_votes) < ' . $negative_vote_comment . ' ) AS total_comments');
                    } else {
                        $query->select('(SELECT COUNT(*) FROM #__judirectory_comments AS cm WHERE cm.listing_id = listing.id AND cm.approved = 1 AND cm.published = 1 AND cm.level = 1) AS total_comments');
                    }
                }
            }
            $subscriptionsField = new JUDirectoryFieldCore_subscriptions();
            if ($subscriptionsField->canView(array("view" => "list"))) {
                $query->select('(SELECT COUNT(*) FROM #__judirectory_subscriptions AS sub WHERE sub.item_id = listing.id AND sub.type = "listing" AND sub.published = 1) AS total_subscriptions');
            }
            $reportsField = new JUDirectoryFieldCore_reports();
            if ($reportsField->canView(array("view" => "list"))) {
                $query->select('(SELECT COUNT(*) FROM #__judirectory_reports AS r WHERE r.item_id = listing.id AND r.type = "listing") AS total_reports');
            }
            $categoriesField = new JUDirectoryFieldCore_categories();
            if ($categoriesField->canView(array("view" => "list"))) {
                $query->select('(SELECT GROUP_CONCAT(catids.id ORDER BY listingx_catids.main DESC, listingx_catids.ordering ASC SEPARATOR ",") FROM (#__judirectory_categories AS catids JOIN #__judirectory_listings_xref AS listingx_catids ON catids.id = listingx_catids.cat_id) WHERE listing.id = listingx_catids.listing_id GROUP BY listing.id) AS cat_ids');
                $query->select('(SELECT GROUP_CONCAT(cattitles.title ORDER BY listingx_cattitles.main DESC, listingx_cattitles.ordering ASC SEPARATOR "|||") FROM (#__judirectory_categories AS cattitles JOIN #__judirectory_listings_xref AS listingx_cattitles ON cattitles.id = listingx_cattitles.cat_id) WHERE listing.id = listingx_cattitles.listing_id GROUP BY listing.id) AS cat_titles');
            }
            $tagsField = new JUDirectoryFieldCore_tags();
            if ($tagsField->canView(array("view" => "list"))) {
                $query->select('IFNULL ((SELECT GROUP_CONCAT(tagids.id ORDER BY tx_tagids.ordering ASC SEPARATOR ",") FROM (#__judirectory_tags AS tagids JOIN #__judirectory_tags_xref AS tx_tagids ON tagids.id = tx_tagids.tag_id) WHERE listing.id = tx_tagids.listing_id GROUP BY listing.id), "") AS tag_ids');
                $query->select('IFNULL ((SELECT GROUP_CONCAT(tagtitles.title ORDER BY tx_tagtitles.ordering ASC SEPARATOR "|||") FROM (#__judirectory_tags AS tagtitles JOIN #__judirectory_tags_xref AS tx_tagtitles ON tagtitles.id = tx_tagtitles.tag_id) WHERE listing.id = tx_tagtitles.listing_id GROUP BY listing.id), "") AS tag_titles');
            }
            $app = JFactory::getApplication();
            $accessLevel = implode(',', $user->getAuthorisedViewLevels());
            $db = JFactory::getDbo();
            $date = JFactory::getDate();
            $nullDate = $db->quote($db->getNullDate());
            $nowDate = $db->quote($date->toSql());
            $fieldQuery = $db->getQuery(true);
            $fieldQuery->select('field.id');
            $fieldQuery->from('#__judirectory_fields AS field');
            $fieldQuery->where('field.field_name = ""');
            $fieldQuery->where('field.list_view = 1');
            $fieldQuery->where('field.published = 1');
            $fieldQuery->where('field.publish_up <= ' . $nowDate);
            $fieldQuery->where('(field.publish_down = ' . $nullDate . ' OR field.publish_down > ' . $nowDate . ')');
            $fieldQuery->where('field.access IN (' . $accessLevel . ')');
            $view = $app->input->get('view', '');
            if ($view == 'category' || $view == 'tree') {
                $cat_id = $app->input->getInt('id', 0);
                $category = JUDirectoryHelper::getCategoryById($cat_id);
                if (is_object($category)) {
                    $fieldQuery->where('field.group_id = ' . $category->fieldgroup_id);
                }
            } else {
                $fieldQuery->join('', '#__judirectory_categories AS c ON (field.group_id = c.fieldgroup_id OR field.group_id = 1)');
                if (is_array($categoryIdArrayCanAccess) && count($categoryIdArrayCanAccess) > 0) {
                    $fieldQuery->where('c.id IN(' . implode(",", $categoryIdArrayCanAccess) . ')');
                } else {
                    $fieldQuery->where('c.id IN("")');
                }
            }
            $fieldQuery->join('', '#__judirectory_fields_groups AS field_group ON field.group_id = field_group.id');
            $fieldQuery->where('field_group.published = 1');
            $fieldQuery->where('field_group.access IN (' . $accessLevel . ')');
            $fieldQuery->group('field.id');
            $db->setQuery($fieldQuery);
            $fields = $db->loadObjectList();
            foreach ($fields as $field) {
                $query->select('IFNULL (fields_values_' . $field->id . '.value, "") AS field_values_' . $field->id);
                $query->join('LEFT', '#__judirectory_fields_values AS fields_values_' . $field->id . ' ON fields_values_' . $field->id . '.listing_id = listing.id AND fields_values_' . $field->id . '.field_id = ' . $field->id);
            }
        }
    }
示例#7
0
 public static function getCategoryDisplayParams($cat_id)
 {
     if (!$cat_id) {
         return false;
     }
     $params = JUDirectoryHelper::getParams($cat_id);
     $global_display_params = new JRegistry(isset($params->get('display_params')->cat) ? $params->get('display_params')->cat : array());
     $catObj = JUDirectoryHelper::getCategoryById($cat_id);
     $category_params = $catObj->params;
     if ($category_params) {
         $category_params = json_decode($category_params);
         $category_display_params = $category_params->display_params;
         if ($category_display_params) {
             foreach ($category_display_params as $option => $value) {
                 if ($value == -2) {
                     unset($category_display_params->{$option});
                 }
             }
             $global_display_params->loadObject($category_display_params);
         }
     }
     return $global_display_params;
 }
示例#8
0
 public static function getFieldGroupsByCatIds($catIds, $search_sub_categories = false)
 {
     if (!$catIds) {
         return null;
     }
     $field_groups = array();
     foreach ($catIds as $catId) {
         if ($search_sub_categories) {
             $categoryTree = JUDirectoryHelper::getCategoryTree($catId, true, true);
             foreach ($categoryTree as $sub_category) {
                 if ($sub_category->fieldgroup_id > 0) {
                     $field_groups[] = $sub_category->fieldgroup_id;
                 }
             }
         } else {
             $catObj = JUDirectoryHelper::getCategoryById($catId);
             $field_groups[] = $catObj->fieldgroup_id ? $catObj->fieldgroup_id : 1;
         }
     }
     $field_groups = array_unique($field_groups);
     if ($field_groups) {
         return implode(",", $field_groups);
     } else {
         return null;
     }
 }
示例#9
0
JHtml::_('behavior.multiselect');
if (JUDirectoryHelper::isJoomla3x()) {
    $classTooltip = "hasTooltip";
    $separator = "<br/>";
    JHtml::_('bootstrap.tooltip');
} else {
    JHtml::_('behavior.tooltip');
    $separator = "::";
    $classTooltip = "hasTip";
}
$session = JFactory::getSession();
$ignored_cat_id = $session->get('moved_cat_id_arr');
$move_cat_id_arr = $session->get('moved_cat_id_arr');
$categories = array();
foreach ($move_cat_id_arr as $cat_id) {
    $categories[] = JUDirectoryHelper::getCategoryById($cat_id);
}
?>

<div class="jubootstrap">

	<div id="iframe-help"></div>

	<form action="<?php 
echo JRoute::_('index.php?option=com_judirectory&view=listings');
?>
" method="post" name="adminForm" id="adminForm">
		<fieldset class="adminform">
			<legend><?php 
echo JText::_('COM_JUDIRECTORY_MOVE_CATEGORIES');
?>
示例#10
0
 public function parse(&$segments)
 {
     $total = count($segments);
     $vars = array();
     for ($i = 0; $i < $total; $i++) {
         $segments[$i] = preg_replace('/:/', '-', $segments[$i], 1);
     }
     $params = JUDirectoryHelper::getParams();
     $app = JFactory::getApplication('site');
     $menu = $app->getMenu();
     $activeMenu = $menu->getActive();
     $indexLastSegment = $total - 1;
     $endSegment = end($segments);
     $searchViewApproveComment = array_search(JApplication::stringURLSafe('mod-comment'), $segments);
     if ($searchViewApproveComment !== false) {
         $vars['view'] = 'modcomment';
         if (isset($segments[$searchViewApproveComment + 1])) {
             $vars['id'] = (int) $segments[$searchViewApproveComment + 1];
         }
         if (isset($segments[$searchViewApproveComment + 2])) {
             if ($segments[$searchViewApproveComment + 2] == JApplication::stringURLSafe('approve')) {
                 $vars['approve'] = 1;
             }
         }
         $previousIndexSegment = $total - 1;
         if (isset($segments[$previousIndexSegment])) {
             $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             if ($isLayout) {
                 $previousIndexSegment -= 1;
             }
         }
         return $vars;
     }
     if (isset($segments[0]) && $segments[0] == JApplication::stringURLSafe('comment')) {
         if (isset($segments[2])) {
             switch ($segments[2]) {
                 case JApplication::stringURLSafe('edit'):
                     $vars['task'] = 'modcomment.edit';
                     if (isset($segments[1])) {
                         $vars['id'] = (int) $segments[1];
                     }
                     break;
                 case JApplication::stringURLSafe('approve'):
                     $vars['task'] = 'modpendingcomment.edit';
                     if (isset($segments[1])) {
                         $vars['id'] = (int) $segments[1];
                     }
                     break;
                 case JApplication::stringURLSafe('subscribe'):
                     $vars['task'] = 'subscribe.save';
                     if (isset($segments[1])) {
                         $vars['comment_id'] = (int) $segments[1];
                     }
                     break;
                 case JApplication::stringURLSafe('unsubscribe'):
                     $vars['task'] = 'subscribe.remove';
                     if (isset($segments[3])) {
                         $vars['sub_id'] = (int) $segments[3];
                     }
                     if (isset($segments[4])) {
                         $vars['code'] = $segments[4];
                     }
                     break;
                 case JApplication::stringURLSafe('delete'):
                     $vars['task'] = 'listing.deleteComment';
                     if (isset($segments[1])) {
                         $vars['comment_id'] = (int) $segments[1];
                     }
                     break;
                 default:
                     break;
             }
             if (isset($vars['task'])) {
                 return $vars;
             }
         }
     }
     $searchViewReportComment = array_search(JApplication::stringURLSafe('comment'), $segments);
     if ($searchViewReportComment !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewReportComment, $validArrayIndex)) {
             if (isset($segments[$searchViewReportComment + 2])) {
                 if ($segments[$searchViewReportComment + 2] == JApplication::stringURLSafe('report')) {
                     $vars['view'] = 'report';
                     if (isset($segments[$searchViewReportComment + 1])) {
                         $vars['comment_id'] = (int) $segments[$searchViewReportComment + 1];
                     }
                     $previousIndexSegment = $total - 1;
                     if (isset($segments[$previousIndexSegment])) {
                         $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                         if ($isLayout) {
                             $previousIndexSegment -= 1;
                         }
                     }
                     return $vars;
                 }
             }
         }
     }
     $searchViewModeratorPermission = array_search(JApplication::stringURLSafe('mod-permission'), $segments);
     if ($searchViewModeratorPermission !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewModeratorPermission, $validArrayIndex)) {
             $vars['view'] = 'modpermission';
             if (isset($segments[$searchViewModeratorPermission + 1])) {
                 $vars['id'] = (int) $segments[$searchViewModeratorPermission + 1];
             }
             $previousIndexSegment = $total - 1;
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewCustomList = array_search(JApplication::stringURLSafe('custom-list'), $segments);
     if ($searchViewCustomList !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewCustomList, $validArrayIndex)) {
             $vars['view'] = 'customlist';
             if (isset($segments[$searchViewCustomList + 1])) {
                 $vars['id'] = (int) $segments[$searchViewCustomList + 1];
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewCompare = array_search(JApplication::stringURLSafe('compare'), $segments);
     if ($searchViewCompare !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewCompare, $validArrayIndex)) {
             $vars['view'] = 'compare';
             $previousIndexSegment = $total - 1;
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     if (isset($segments[0]) && $segments[0] == JApplication::stringURLSafe('user-subscriptions')) {
         if (isset($segments[2])) {
             if ($segments[2] == JApplication::stringURLSafe('unsubscribe')) {
                 $vars['task'] = 'usersubscriptions.unsubscribe';
                 if (isset($segments[1])) {
                     $vars['sub_id'] = (int) $segments[1];
                 }
                 return $vars;
             }
         }
     }
     if (isset($segments[0]) && $segments[0] == JApplication::stringURLSafe('email')) {
         if (isset($segments[1]) && $segments[1] == JApplication::stringURLSafe('download-attachment')) {
             $vars['task'] = 'email.downloadattachment';
             if (isset($segments[2])) {
                 $vars['mail_id'] = (int) $segments[2];
             }
             if (isset($segments[3])) {
                 $vars['file'] = $segments[3];
             }
             if (isset($segments[4])) {
                 $vars['code'] = $segments[4];
             }
         }
         return $vars;
     }
     $searchViewModeratorPermissions = array_search(JApplication::stringURLSafe('mod-permissions'), $segments);
     if ($searchViewModeratorPermissions !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewModeratorPermissions, $validArrayIndex)) {
             $vars['view'] = 'modpermissions';
             $previousIndexSegment = $total - 1;
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewProfile = array_search(JApplication::stringURLSafe('profile'), $segments);
     if ($searchViewProfile !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewProfile, $validArrayIndex)) {
             $vars['view'] = 'profile';
             $previousIndexSegment = $total - 1;
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewModeratorPendingListings = array_search(JApplication::stringURLSafe('mod-pending-listings'), $segments);
     if ($searchViewModeratorPendingListings !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewModeratorPendingListings, $validArrayIndex)) {
             $vars['view'] = 'modpendinglistings';
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewModeratorPendingComments = array_search(JApplication::stringURLSafe('mod-pending-comments'), $segments);
     if ($searchViewModeratorPendingComments !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewModeratorPendingComments, $validArrayIndex)) {
             $vars['view'] = 'modpendingcomments';
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewModeratorComments = array_search(JApplication::stringURLSafe('mod-comments'), $segments);
     if ($searchViewModeratorComments !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewModeratorComments, $validArrayIndex)) {
             $vars['view'] = 'modcomments';
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewModeratorListings = array_search(JApplication::stringURLSafe('mod-listings'), $segments);
     if ($searchViewModeratorListings !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewModeratorListings, $validArrayIndex)) {
             $vars['view'] = 'modlistings';
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     if (isset($segments[0]) && $segments[0] == JApplication::stringURLSafe('subscribe')) {
         if (isset($segments[1]) && $segments[1] == JApplication::stringURLSafe('activate')) {
             $vars['task'] = 'subscribe.activate';
             if (isset($segments[2])) {
                 $vars['code'] = $segments[2];
             }
             if (isset($segments[3])) {
                 $vars['id'] = (int) $segments[3];
             }
             if (isset($segments[4])) {
                 $vars['listing_id'] = (int) $segments[4];
             }
             return $vars;
         }
     }
     $searchViewSearch = array_search(JApplication::stringURLSafe('search'), $segments);
     if ($searchViewSearch !== false) {
         $validArrayIndex = array(0, 1, 2, 3);
         if (in_array($searchViewSearch, $validArrayIndex)) {
             $vars['view'] = 'search';
             if (isset($segments[$searchViewSearch - 1])) {
                 if ($segments[$searchViewSearch - 1] == JApplication::stringURLSafe('all')) {
                     $vars['sub_cat'] = 1;
                     if (isset($segments[$searchViewSearch - 2])) {
                         $vars['cat_id'] = (int) $segments[$searchViewSearch - 2];
                     }
                 } else {
                     $vars['cat_id'] = (int) $segments[$searchViewSearch - 1];
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment]) && $previousIndexSegment > $searchViewSearch) {
                 $vars['searchword'] = $segments[$previousIndexSegment];
                 $previousIndexSegment -= 1;
             }
             return $vars;
         }
     }
     $searchViewCategories = array_search(JApplication::stringURLSafe('categories'), $segments);
     if ($searchViewCategories !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewCategories, $validArrayIndex)) {
             $vars['view'] = 'categories';
             if (isset($segments[$searchViewCategories + 1])) {
                 $vars['id'] = (int) $segments[$searchViewCategories + 1];
             }
             if (isset($segments[$searchViewCategories + 2])) {
                 JUDirectoryHelperRoute::parseLayout($segments[$searchViewCategories + 2], $vars, $params);
             }
             return $vars;
         }
     }
     $searchViewAdvancedSearch = array_search(JApplication::stringURLSafe('advanced-search'), $segments);
     if ($searchViewAdvancedSearch !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewAdvancedSearch, $validArrayIndex)) {
             $vars['view'] = 'advsearch';
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewCommentTree = array_search(JApplication::stringURLSafe('comment-tree'), $segments);
     if ($searchViewCommentTree !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewCommentTree, $validArrayIndex)) {
             $vars['view'] = 'commenttree';
             if (isset($segments[$searchViewCommentTree + 1])) {
                 $vars['id'] = (int) $segments[$searchViewCommentTree + 1];
             }
             $previousIndexSegment = $total - 1;
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewListings = array_search(JApplication::stringURLSafe('modal-listings'), $segments);
     if ($searchViewListings !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewListings, $validArrayIndex)) {
             $vars['view'] = 'listings';
             if (isset($segments[$searchViewListings + 1])) {
                 $vars['tmpl'] = $segments[$searchViewListings + 1];
             }
             if (isset($segments[$searchViewListings + 2])) {
                 $vars['function'] = $segments[$searchViewListings + 2];
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewMaintenance = array_search(JApplication::stringURLSafe('maintenance'), $segments);
     if ($searchViewMaintenance !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewMaintenance, $validArrayIndex)) {
             $vars['view'] = 'maintenance';
             $previousIndexSegment = $total - 1;
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewSearchBy = array_search(JApplication::stringURLSafe('search-by'), $segments);
     if ($searchViewSearchBy !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewSearchBy, $validArrayIndex)) {
             $vars['view'] = 'searchby';
             if (isset($segments[$searchViewSearchBy + 1])) {
                 $vars['field_id'] = (int) $segments[$searchViewSearchBy + 1];
             }
             if (isset($segments[$searchViewSearchBy + 2])) {
                 $vars['value'] = $segments[$searchViewSearchBy + 2];
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewTag = array_search(JApplication::stringURLSafe('tag'), $segments);
     if ($searchViewTag !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchViewTag, $validArrayIndex)) {
             $vars['view'] = 'tag';
             if (isset($segments[$searchViewTag + 1])) {
                 $vars['id'] = (int) $segments[$searchViewTag + 1];
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewTags = array_search(JApplication::stringURLSafe('tags'), $segments);
     if ($searchViewTags !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewTags, $validArrayIndex)) {
             $vars['view'] = 'tags';
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewTopComments = array_search(JApplication::stringURLSafe('top-comments'), $segments);
     if ($searchViewTopComments !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewTopComments, $validArrayIndex)) {
             $vars['view'] = 'topcomments';
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchViewTree = array_search(JApplication::stringURLSafe('tree'), $segments);
     if ($searchViewTree !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchViewTree, $validArrayIndex)) {
             $vars['view'] = 'tree';
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('root')) {
                     $rootCategory = JUDirectoryFrontHelperCategory::getRootCategory();
                     $vars['id'] = $rootCategory->id;
                 } else {
                     $vars['id'] = (int) $segments[$previousIndexSegment];
                 }
                 $previousIndexSegment -= 1;
             } else {
                 if ($activeMenu && isset($activeMenu->query) && isset($activeMenu->query['view']) && isset($activeMenu->query['id']) && $activeMenu->query['view'] == 'tree') {
                     $vars['id'] = $activeMenu->query['id'];
                 }
             }
             return $vars;
         }
     }
     $orderTypeTopListings = array();
     $orderTypeTopListings[] = JApplication::stringURLSafe('latest-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('top-featured-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('recent-modified-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('recent-updated-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('popular-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('most-rated-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('top-rated-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('latest-rated-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('most-commented-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('latest-commented-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('recent-viewed-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('alpha-ordered-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('random-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('random-fast-listings');
     $orderTypeTopListings[] = JApplication::stringURLSafe('random-featured-listings');
     if (!empty($orderTypeTopListings)) {
         foreach ($orderTypeTopListings as $orderTypeTopListingItem) {
             $searchViewTopListings = array_search($orderTypeTopListingItem, $segments);
             if ($searchViewTopListings !== false) {
                 break;
             }
         }
         if ($searchViewTopListings !== false) {
             $validArrayIndex = array(0, 1, 2);
             if (in_array($searchViewTopListings, $validArrayIndex)) {
                 $vars['view'] = 'toplistings';
                 switch ($segments[$searchViewTopListings]) {
                     case JApplication::stringURLSafe('latest-listings'):
                         $vars['ordertype'] = 'new';
                         break;
                     case JApplication::stringURLSafe('top-featured-listings'):
                         $vars['ordertype'] = 'featured';
                         break;
                     case JApplication::stringURLSafe('recent-modified-listings'):
                         $vars['ordertype'] = 'recent_modified';
                         break;
                     case JApplication::stringURLSafe('recent-updated-listings'):
                         $vars['ordertype'] = 'recent_updated';
                         break;
                     case JApplication::stringURLSafe('popular-listings'):
                         $vars['ordertype'] = 'popular';
                         break;
                     case JApplication::stringURLSafe('most-rated-listings'):
                         $vars['ordertype'] = 'most_rated';
                         break;
                     case JApplication::stringURLSafe('top-rated-listings'):
                         $vars['ordertype'] = 'top_rated';
                         break;
                     case JApplication::stringURLSafe('latest-rated-listings'):
                         $vars['ordertype'] = 'latest_rated';
                         break;
                     case JApplication::stringURLSafe('most-commented-listings'):
                         $vars['ordertype'] = 'most_commented';
                         break;
                     case JApplication::stringURLSafe('latest-commented-listings'):
                         $vars['ordertype'] = 'latest_commented';
                         break;
                     case JApplication::stringURLSafe('recent-viewed-listings'):
                         $vars['ordertype'] = 'recently_viewed';
                         break;
                     case JApplication::stringURLSafe('alpha-ordered-listings'):
                         $vars['ordertype'] = 'alpha_ordered';
                         break;
                     case JApplication::stringURLSafe('random-listings'):
                         $vars['ordertype'] = 'random';
                         break;
                     case JApplication::stringURLSafe('random-fast-listings'):
                         $vars['ordertype'] = 'random_fast';
                         break;
                     case JApplication::stringURLSafe('random-featured-listings'):
                         $vars['ordertype'] = 'random_featured';
                         break;
                     default:
                         $vars['ordertype'] = 'new';
                         break;
                 }
                 if (isset($segments[$searchViewTopListings - 1])) {
                     if ($segments[$searchViewTopListings - 1] == JApplication::stringURLSafe('root')) {
                         $rootCategory = JUDirectoryFrontHelperCategory::getRootCategory();
                         $vars['id'] = $rootCategory->id;
                     } else {
                         $vars['id'] = (int) $segments[$searchViewTopListings - 1];
                     }
                 } else {
                     if ($activeMenu && isset($activeMenu->query) && isset($activeMenu->query['view']) && isset($activeMenu->query['id']) && $activeMenu->query['view'] == 'tree') {
                         $vars['id'] = $activeMenu->query['id'];
                     }
                 }
                 if (isset($segments[$searchViewTopListings + 1])) {
                     if ($segments[$searchViewTopListings + 1] == JApplication::stringURLSafe('all')) {
                         $vars['all'] = 1;
                     }
                 }
                 $previousIndexSegment = $total - 1;
                 $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
                 if ($isPaged) {
                     $previousIndexSegment -= 1;
                 }
                 if (isset($segments[$previousIndexSegment])) {
                     if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                         $vars['format'] = 'feed';
                         $previousIndexSegment -= 1;
                     }
                 }
                 if (isset($segments[$previousIndexSegment])) {
                     $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                     if ($isLayout) {
                         $previousIndexSegment -= 1;
                     }
                 }
                 return $vars;
             }
         }
     }
     $searchSefRedirectUrl = array_search(JApplication::stringURLSafe('redirect-url'), $segments);
     if ($searchSefRedirectUrl !== false) {
         $vars['task'] = 'listing.redirecturl';
         if (isset($segments[$searchSefRedirectUrl - 1])) {
             $vars['field_id'] = (int) $segments[$searchSefRedirectUrl - 1];
         }
         if (isset($segments[$searchSefRedirectUrl - 2])) {
             $vars['listing_id'] = (int) $segments[$searchSefRedirectUrl - 2];
         }
         return $vars;
     }
     $searchSefTaskRawData = array_search(JApplication::stringURLSafe('raw-data'), $segments);
     if ($searchSefTaskRawData !== false) {
         $vars['task'] = 'rawdata';
         if (isset($segments[$searchSefTaskRawData - 1])) {
             $vars['field_id'] = (int) $segments[$searchSefTaskRawData - 1];
         }
         if (isset($segments[$searchSefTaskRawData - 2])) {
             $vars['listing_id'] = (int) $segments[$searchSefTaskRawData - 2];
         }
         return $vars;
     }
     $searchSefCollection = array_search(JApplication::stringURLSafe('collection'), $segments);
     if ($searchSefCollection !== false) {
         if (isset($segments[$searchSefCollection + 1])) {
             if ($segments[$searchSefCollection + 1] == JApplication::stringURLSafe('add')) {
                 $vars['task'] = 'collection.add';
                 return $vars;
             }
         }
     }
     $searchSefCollection = array_search(JApplication::stringURLSafe('collection'), $segments);
     if ($searchSefCollection !== false) {
         if (isset($segments[$searchSefCollection + 2])) {
             if ($segments[$searchSefCollection + 2] == JApplication::stringURLSafe('edit')) {
                 if (isset($segments[$searchSefCollection - 1])) {
                     $vars['user_id'] = (int) $segments[$searchSefCollection - 1];
                 }
                 $vars['id'] = (int) $segments[$searchSefCollection + 1];
                 $vars['task'] = 'collection.edit';
                 return $vars;
             }
         }
     }
     $searchSefCollection = array_search(JApplication::stringURLSafe('collection'), $segments);
     if ($searchSefCollection !== false) {
         if (isset($segments[$searchSefCollection + 2])) {
             if ($segments[$searchSefCollection + 2] == JApplication::stringURLSafe('delete')) {
                 $vars['cid'] = (int) $segments[$searchSefCollection + 1];
                 $vars['task'] = 'collections.delete';
                 return $vars;
             }
         }
     }
     $searchSefCollection = array_search(JApplication::stringURLSafe('collection'), $segments);
     if ($searchSefCollection !== false) {
         if (isset($segments[$searchSefCollection + 1])) {
             if ($segments[$searchSefCollection + 1] == JApplication::stringURLSafe('new-collection')) {
                 $vars['id'] = 0;
                 $vars['view'] = 'collection';
                 JUDirectoryHelperRoute::parseLayout($segments[$searchSefCollection + 2], $vars, $params);
                 return $vars;
             }
         }
     }
     $searchSefCollection = array_search(JApplication::stringURLSafe('collection'), $segments);
     if ($searchSefCollection !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefCollection, $validArrayIndex)) {
             $vars['view'] = 'collection';
             if (isset($segments[$searchSefCollection - 1])) {
                 if ($segments[$searchSefCollection - 1] != 'root') {
                     $vars['user_id'] = (int) $segments[$searchSefCollection - 1];
                 }
             }
             if (isset($segments[$searchSefCollection + 1])) {
                 $vars['id'] = (int) $segments[$searchSefCollection + 1];
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchSefClaimListing = array_search(JApplication::stringURLSafe('claim'), $segments);
     if ($searchSefClaimListing !== false) {
         $vars['view'] = 'claim';
         if (isset($segments[$searchSefClaimListing - 1])) {
             $vars['listing_id'] = (int) $segments[$searchSefClaimListing - 1];
         }
         $previousIndexSegment = $total - 1;
         if (isset($segments[$previousIndexSegment])) {
             $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             if ($isLayout) {
                 $previousIndexSegment -= 1;
             }
         }
         return $vars;
     }
     $searchSefReportListing = array_search(JApplication::stringURLSafe('report'), $segments);
     if ($searchSefReportListing !== false) {
         $vars['view'] = 'report';
         if (isset($segments[$searchSefReportListing - 1])) {
             $vars['listing_id'] = (int) $segments[$searchSefReportListing - 1];
         }
         $previousIndexSegment = $total - 1;
         if (isset($segments[$previousIndexSegment])) {
             $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             if ($isLayout) {
                 $previousIndexSegment -= 1;
             }
         }
         return $vars;
     }
     $searchSefRemoveCompare = array_search(JApplication::stringURLSafe('remove-compare'), $segments);
     if ($searchSefRemoveCompare !== false) {
         $vars['task'] == 'listing.removeCompare';
         if (isset($segments[$searchSefRemoveCompare + 1])) {
             if ($segments[$searchSefRemoveCompare + 1] == JApplication::stringURLSafe('all')) {
                 $vars['all'] = 1;
                 return $vars;
             }
         }
         if (isset($segments[$searchSefRemoveCompare - 1])) {
             $vars['listing_id'] = (int) $segments[$searchSefRemoveCompare - 1];
             return $vars;
         }
         return $vars;
     }
     $searchSefSubscribeListingForGuest = array_search(JApplication::stringURLSafe('guest-subscribe'), $segments);
     if ($searchSefSubscribeListingForGuest !== false) {
         $vars['view'] = 'subscribe';
         if (isset($segments[$searchSefSubscribeListingForGuest - 1])) {
             $vars['listing_id'] = (int) $segments[$searchSefSubscribeListingForGuest - 1];
         }
         $previousIndexSegment = $total - 1;
         if (isset($segments[$previousIndexSegment])) {
             $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             if ($isLayout) {
                 $previousIndexSegment -= 1;
             }
         }
         return $vars;
     }
     $searchSefListAll = array_search('list-all', $segments);
     if ($searchSefListAll !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefListAll, $validArrayIndex)) {
             $vars['view'] = 'listall';
             if (isset($segments[$searchSefListAll - 1])) {
                 if ($segments[$searchSefListAll - 1] == JApplication::stringURLSafe('root')) {
                     $rootCategory = JUDirectoryFrontHelperCategory::getRootCategory();
                     $vars['id'] = $rootCategory->id;
                 } else {
                     $vars['id'] = (int) $segments[$searchSefListAll - 1];
                 }
             } else {
                 if ($activeMenu && isset($activeMenu->query) && isset($activeMenu->query['view']) && isset($activeMenu->query['id']) && $activeMenu->query['view'] == 'tree') {
                     $vars['id'] = $activeMenu->query['id'];
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             return $vars;
         }
     }
     $searchSefListAlpha = array_search(JApplication::stringURLSafe('list-alpha'), $segments);
     if ($searchSefListAlpha !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefListAlpha, $validArrayIndex)) {
             $vars['view'] = 'listalpha';
             if (isset($segments[$searchSefListAlpha - 1])) {
                 if ($segments[$searchSefListAlpha - 1] == JApplication::stringURLSafe('root')) {
                     $rootCategory = JUDirectoryFrontHelperCategory::getRootCategory();
                     $vars['id'] = $rootCategory->id;
                 } else {
                     $vars['id'] = (int) $segments[$searchSefListAlpha - 1];
                 }
             } else {
                 if ($activeMenu && isset($activeMenu->query) && isset($activeMenu->query['view']) && isset($activeMenu->query['id']) && $activeMenu->query['view'] == 'tree') {
                     $vars['id'] = $activeMenu->query['id'];
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
                 if ($isLayout) {
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($previousIndexSegment > $searchSefListAlpha) {
                     $vars['alpha'] = $segments[$previousIndexSegment];
                 }
             }
             return $vars;
         }
     }
     $searchSefFeatured = array_search(JApplication::stringURLSafe('featured'), $segments);
     if ($searchSefFeatured !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefFeatured, $validArrayIndex)) {
             $vars['view'] = 'featured';
             if (isset($segments[$searchSefFeatured - 1])) {
                 if ($segments[$searchSefFeatured - 1] == JApplication::stringURLSafe('root')) {
                     $rootCategory = JUDirectoryFrontHelperCategory::getRootCategory();
                     $vars['id'] = $rootCategory->id;
                 } else {
                     $vars['id'] = (int) $segments[$searchSefFeatured - 1];
                 }
             } else {
                 if ($activeMenu && isset($activeMenu->query) && isset($activeMenu->query['view']) && isset($activeMenu->query['id']) && $activeMenu->query['view'] == 'tree') {
                     $vars['id'] = $activeMenu->query['id'];
                 }
             }
             if (isset($segments[$searchSefFeatured + 1])) {
                 if ($segments[$searchSefFeatured + 1] == JApplication::stringURLSafe('all')) {
                     $vars['all'] = 1;
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             }
             return $vars;
         }
     }
     $searchSefCollections = array_search(JApplication::stringURLSafe('collections'), $segments);
     if ($searchSefCollections !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefCollections, $validArrayIndex)) {
             $vars['view'] = 'collections';
             if (isset($segments[$searchSefCollections - 1])) {
                 if ($segments[$searchSefCollections - 1] != JApplication::stringURLSafe('root')) {
                     $vars['id'] = (int) $segments[$searchSefCollections - 1];
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             }
             return $vars;
         }
     }
     $searchSefDashboard = array_search(JApplication::stringURLSafe('dashboard'), $segments);
     if ($searchSefDashboard !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefDashboard, $validArrayIndex)) {
             $vars['view'] = 'dashboard';
             if (isset($segments[$searchSefDashboard - 1])) {
                 if ($segments[$searchSefDashboard - 1] != JApplication::stringURLSafe('root')) {
                     $vars['id'] = (int) $segments[$searchSefDashboard - 1];
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             }
             return $vars;
         }
     }
     $searchSefUserComments = array_search(JApplication::stringURLSafe('comments'), $segments);
     if ($searchSefUserComments !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefUserComments, $validArrayIndex)) {
             $vars['view'] = 'usercomments';
             if (isset($segments[$searchSefUserComments - 1])) {
                 if ($segments[$searchSefUserComments - 1] != JApplication::stringURLSafe('root')) {
                     $vars['id'] = (int) $segments[$searchSefUserComments - 1];
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             }
             return $vars;
         }
     }
     $searchSefUserListings = array_search(JApplication::stringURLSafe('listings'), $segments);
     if ($searchSefUserListings !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefUserListings, $validArrayIndex)) {
             $vars['view'] = 'userlistings';
             if (isset($segments[$searchSefUserListings - 1])) {
                 if ($segments[$searchSefUserListings - 1] != JApplication::stringURLSafe('root')) {
                     $vars['id'] = (int) $segments[$searchSefUserListings - 1];
                 }
             }
             if (isset($segments[$searchSefUserListings + 1])) {
                 if ($segments[$searchSefUserListings + 1] == JApplication::stringURLSafe('published')) {
                     $vars['filter'] = 'published';
                 } elseif ($segments[$searchSefUserListings + 1] == JApplication::stringURLSafe('unpublished')) {
                     $vars['filter'] = 'unpublished';
                 } elseif ($segments[$searchSefUserListings + 1] == JApplication::stringURLSafe('pending')) {
                     $vars['filter'] = 'pending';
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 if ($segments[$previousIndexSegment] == JApplication::stringURLSafe('rss')) {
                     $vars['format'] = 'feed';
                     $previousIndexSegment -= 1;
                 }
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             }
             return $vars;
         }
     }
     $searchSefUserSubscriptions = array_search(JApplication::stringURLSafe('user-subscriptions'), $segments);
     if ($searchSefUserSubscriptions !== false) {
         $validArrayIndex = array(0, 1, 2);
         if (in_array($searchSefUserSubscriptions, $validArrayIndex)) {
             $vars['view'] = 'usersubscriptions';
             if (isset($segments[$searchSefUserSubscriptions - 1])) {
                 if ($segments[$searchSefUserSubscriptions - 1] != JApplication::stringURLSafe('root')) {
                     $vars['id'] = (int) $segments[$searchSefUserSubscriptions - 1];
                 }
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             }
             return $vars;
         }
     }
     $searchSefSearchBy = array_search(JApplication::stringURLSafe('search-by'), $segments);
     if ($searchSefSearchBy !== false) {
         $validArrayIndex = array(0, 1);
         if (in_array($searchSefSearchBy, $validArrayIndex)) {
             $vars['view'] = 'searchby';
             if (isset($segments[$searchSefSearchBy + 1])) {
                 $vars['field_id'] = (int) $segments[$searchSefSearchBy + 1];
             }
             if (isset($segments[$searchSefSearchBy + 2])) {
                 $vars['value'] = $segments[$searchSefSearchBy + 2];
             }
             $previousIndexSegment = $total - 1;
             $isPaged = JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
             if ($isPaged) {
                 $previousIndexSegment -= 1;
             }
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             }
             return $vars;
         }
     }
     $searchSefContact = array_search(JApplication::stringURLSafe('contact'), $segments);
     if ($searchSefContact !== false) {
         if ($searchSefContact == $indexLastSegment || $searchSefContact == $indexLastSegment - 1) {
             $vars['view'] = 'contact';
             if (isset($segments[$searchSefContact - 1])) {
                 $vars['listing_id'] = (int) $segments[$searchSefContact - 1];
             }
             $previousIndexSegment = $total - 1;
             if (isset($segments[$previousIndexSegment])) {
                 $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
             }
             return $vars;
         }
     }
     $searchSefCheckIn = array_search(JApplication::stringURLSafe('checkin'), $segments);
     if ($searchSefCheckIn !== false) {
         $vars['task'] = 'forms.checkin';
         if (isset($segments[$searchSefCheckIn - 1])) {
             $vars['id'] = (int) $segments[$searchSefCheckIn - 1];
         }
         return $vars;
     }
     $searchSefAdd = array_search(JApplication::stringURLSafe('add'), $segments);
     if ($searchSefAdd !== false) {
         $vars['task'] = 'form.add';
         if (isset($segments[$searchSefAdd - 1])) {
             $vars['cat_id'] = (int) $segments[$searchSefAdd - 1];
         }
         return $vars;
     }
     $searchSefEdit = array_search(JApplication::stringURLSafe('edit'), $segments);
     if ($searchSefEdit !== false) {
         $vars['task'] = 'form.edit';
         if (isset($segments[$searchSefEdit - 1])) {
             $vars['id'] = (int) $segments[$searchSefEdit - 1];
         }
         return $vars;
     }
     $searchSefDelete = array_search(JApplication::stringURLSafe('delete'), $segments);
     if ($searchSefDelete !== false) {
         $vars['task'] = 'forms.delete';
         if (isset($segments[$searchSefDelete - 1])) {
             $vars['id'] = (int) $segments[$searchSefDelete - 1];
         }
         return $vars;
     }
     $searchNewListing = array_search(JApplication::stringURLSafe('new-listing'), $segments);
     if ($searchNewListing !== false) {
         $vars['view'] = 'form';
         $vars['layout'] = 'edit';
         if (isset($segments[$searchNewListing - 1])) {
             $vars['cat_id'] = (int) $segments[$searchNewListing - 1];
         }
         return $vars;
     }
     $searchSefApprove = array_search(JApplication::stringURLSafe('approve'), $segments);
     if ($searchSefApprove !== false) {
         if ($searchSefApprove == $indexLastSegment) {
             $vars['task'] = 'modpendinglisting.edit';
             $vars['approve'] = 1;
         } else {
             $vars['view'] = 'form';
             $vars['layout'] = 'edit';
             $vars['approve'] = 1;
         }
         if (isset($segments[$searchSefApprove - 1])) {
             $vars['id'] = (int) $segments[$searchSefApprove - 1];
         }
         return $vars;
     }
     $searchSefPublish = array_search(JApplication::stringURLSafe('publish'), $segments);
     if ($searchSefPublish !== false) {
         $vars['task'] = 'forms.publish';
         if (isset($segments[$searchSefPublish - 1])) {
             $vars['id'] = (int) $segments[$searchSefPublish - 1];
         }
         return $vars;
     }
     $searchSefUnPublish = array_search(JApplication::stringURLSafe('unpublish'), $segments);
     if ($searchSefUnPublish !== false) {
         $vars['task'] = 'forms.unpublish';
         if (isset($segments[$searchSefUnPublish - 1])) {
             $vars['id'] = (int) $segments[$searchSefUnPublish - 1];
         }
         return $vars;
     }
     $searchSefSubscribe = array_search(JApplication::stringURLSafe('subscribe'), $segments);
     if ($searchSefSubscribe !== false) {
         $vars['task'] = 'subscribe.save';
         if (isset($segments[$searchSefSubscribe - 1])) {
             $vars['listing_id'] = (int) $segments[$searchSefSubscribe - 1];
         }
         return $vars;
     }
     $searchSefUnSubscribe = array_search(JApplication::stringURLSafe('unsubscribe'), $segments);
     if ($searchSefUnSubscribe !== false) {
         $vars['task'] = 'subscribe.remove';
         if (isset($segments[$searchSefUnSubscribe + 1])) {
             $vars['sub_id'] = (int) $segments[$searchSefUnSubscribe + 1];
         }
         if (isset($segments[$searchSefUnSubscribe + 2])) {
             $vars['code'] = $segments[$searchSefUnSubscribe + 2];
         }
         return $vars;
     }
     $previousIndexSegment = $indexLastSegment;
     if (isset($segments[$previousIndexSegment])) {
         $isPaged = preg_match('/' . preg_quote(JApplication::stringURLSafe('page') . '-') . '[0-9]*+/', $segments[$previousIndexSegment]);
         if ($isPaged) {
             if ($indexLastSegment == 0) {
                 if (is_object($activeMenu) && $activeMenu->component == 'com_judirectory') {
                     $vars = $activeMenu->query;
                     JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
                     return $vars;
                 }
             }
             $previousIndexSegment -= 1;
         }
     }
     if (isset($segments[$previousIndexSegment])) {
         $isFeed = $segments[$previousIndexSegment] == JApplication::stringURLSafe('rss') ? true : false;
         if ($isFeed) {
             $vars['format'] = 'feed';
             if ($indexLastSegment == 0) {
                 if (is_object($activeMenu) && $activeMenu->component == 'com_judirectory') {
                     $vars = $activeMenu->query;
                     $vars['format'] = 'feed';
                     return $vars;
                 }
             }
             $previousIndexSegment -= 1;
         }
     }
     if (isset($segments[$previousIndexSegment])) {
         $isLayout = JUDirectoryHelperRoute::parseLayout($segments[$previousIndexSegment], $vars, $params);
         if ($isLayout) {
             $previousIndexSegment -= 1;
         }
     }
     if (!empty($segments)) {
         $reverseSegments = array_reverse($segments);
         foreach ($reverseSegments as $segmentItemKey => $segmentItem) {
             if (preg_match('/^\\d+\\-.+/', $segmentItem)) {
                 $indexAlias = $indexLastSegment - $segmentItemKey;
                 break;
             }
         }
         if (isset($indexAlias) && isset($segments[$indexAlias])) {
             if (strpos($segments[$indexAlias], '-') === false) {
                 $itemId = (int) $segments[$indexAlias];
                 $itemAlias = substr($segments[$indexAlias], strlen($itemId) + 1);
             } else {
                 list($itemId, $itemAlias) = explode('-', $segments[$indexAlias], 2);
             }
             if (is_numeric($itemId)) {
                 $categoryObject = JUDirectoryHelper::getCategoryById($itemId);
                 if (is_object($categoryObject) && isset($categoryObject->alias) && $categoryObject->alias == $itemAlias) {
                     $vars['view'] = 'category';
                     $vars['id'] = $itemId;
                     JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
                     return $vars;
                 }
                 $listingObject = JUDirectoryHelper::getListingById($itemId);
                 if (is_object($listingObject) && isset($listingObject->alias) && $listingObject->alias == $itemAlias) {
                     $vars['id'] = $itemId;
                     if (isset($vars['layout'])) {
                         if ($vars['layout'] == 'edit') {
                             $vars['view'] = 'form';
                         } else {
                             $vars['view'] = 'listing';
                         }
                     }
                     if (!isset($vars['view'])) {
                         $vars['view'] = 'listing';
                     }
                     if ($vars['view'] == 'listing') {
                         if (isset($segments[$indexAlias + 1])) {
                             if ($segments[$indexAlias + 1] == JApplication::stringURLSafe('print')) {
                                 $vars['print'] = 1;
                                 $vars['tmpl'] = 'component';
                                 $vars['layout'] = 'print';
                             }
                         }
                     }
                     JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
                     return $vars;
                 }
                 if (is_object($categoryObject) && isset($categoryObject->id) && $categoryObject->id) {
                     $vars['view'] = 'category';
                     $vars['id'] = $itemId;
                     JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
                     return $vars;
                 }
                 if (is_object($listingObject) && isset($listingObject->id) && $listingObject->id) {
                     $vars['id'] = $itemId;
                     if (isset($vars['layout'])) {
                         if ($vars['layout'] == 'edit') {
                             $vars['view'] = 'form';
                         } else {
                             $vars['view'] = 'listing';
                         }
                     }
                     if (!isset($vars['view'])) {
                         $vars['view'] = 'listing';
                     }
                     if ($vars['view'] == 'listing') {
                         if (isset($segments[$indexAlias + 1])) {
                             if ($segments[$indexAlias + 1] == JApplication::stringURLSafe('print')) {
                                 $vars['print'] = 1;
                                 $vars['tmpl'] = 'component';
                                 $vars['layout'] = 'print';
                             } elseif ($segments[$indexAlias + 1] == JApplication::stringURLSafe('changelogs')) {
                                 $vars['layout'] = 'changelogs';
                             } elseif ($segments[$indexAlias + 1] == JApplication::stringURLSafe('versions')) {
                                 $vars['layout'] = 'versions';
                             }
                         }
                     }
                     JUDirectoryHelperRoute::parsePagination($vars, $segments, $params);
                     return $vars;
                 }
             }
         }
     }
     if (is_object($activeMenu) && $activeMenu->component == 'com_judirectory') {
         $vars = $activeMenu->query;
     }
     return $vars;
 }
 public function PHPValidate($values)
 {
     $rootCat = JUDirectoryFrontHelperCategory::getRootCategory();
     // getParams by cat_id if possible
     if (isset($this->listing) && $this->listing->cat_id) {
         $params = JUDirectoryHelper::getParams($this->listing->cat_id);
     } else {
         $params = JUDirectoryHelper::getParams(null, $this->listing_id);
     }
     $mainCatId = $values['main'];
     $secondaryCatIds = array_filter(explode(",", $values['secondary']));
     if (!$mainCatId) {
         return JText::_("COM_JUDIRECTORY_PLEASE_SELECT_A_CATEGORY");
     }
     if ($mainCatId == $rootCat->id && !$params->get('allow_add_listing_to_root', 0)) {
         return JText::_("COM_JUDIRECTORY_CAN_NOT_ADD_LISTING_TO_ROOT_CATEGORY");
     }
     if (!JUDirectoryHelper::getCategoryById($mainCatId)) {
         return JText::_("COM_JUDIRECTORY_INVALID_CATEGORY");
     }
     if ($params->get('max_cats_per_listing', 0) && count($secondaryCatIds) + 1 > $params->get('max_cats_per_listing', 0)) {
         return JText::sprintf("COM_JUDIRECTORY_NUMBER_OF_CATEGORY_OVER_MAX_N_CATEGORIES", $params->get('max_cats_per_listing', 0));
     }
     if (!$this->listing_id) {
         // If has not permission to submit in this main category
         if (!JUDirectoryFrontHelperPermission::canSubmitListing($mainCatId)) {
             $category = JUDirectoryHelper::getCategoryById($mainCatId);
             return JText::sprintf("COM_JUDIRECTORY_YOU_ARE_NOT_AUTHORIZED_TO_SUBMIT_LISTING_TO_THIS_CATEGORY", $category->title);
         }
     } else {
         $mainCatIdDB = JUDirectoryFrontHelperCategory::getMainCategoryId($this->listing_id);
         // Change category -> check submit permission in new cat
         if ($mainCatId != $mainCatIdDB) {
             // If has not permission to submit in this main category
             if (!JUDirectoryFrontHelperPermission::canSubmitListing($mainCatId)) {
                 $category = JUDirectoryHelper::getCategoryById($mainCatId);
                 return JText::sprintf("COM_JUDIRECTORY_YOU_ARE_NOT_AUTHORIZED_TO_SUBMIT_LISTING_TO_THIS_CATEGORY", $category->title);
             }
         }
         $app = JFactory::getApplication();
         // Front-end
         if ($app->isSite()) {
             // Can not change main cat when edit listing
             if ($mainCatId != $mainCatIdDB) {
                 if (!$params->get('can_change_main_category', 1)) {
                     return false;
                 }
             }
             // Can not change secondary cats when edit listing
             if (!$params->get('can_change_secondary_categories', 1)) {
                 $secondaryCatIdsDB = $this->getSecondaryCategoryIds($this->listing_id);
                 if (count($secondaryCatIds) && count($secondaryCatIdsDB)) {
                     if (array_diff($secondaryCatIds, $secondaryCatIdsDB) || array_diff($secondaryCatIdsDB, $secondaryCatIds)) {
                         return false;
                     }
                 }
             }
         }
     }
     return true;
 }
示例#12
0
 public function edit($key = null, $urlVar = null)
 {
     $app = JFactory::getApplication();
     $cat_id = $app->input->getInt('id', 0);
     $category = JUDirectoryHelper::getCategoryById($cat_id);
     if ($category->parent_id == 0) {
         $this->setRedirect("index.php?option=com_judirectory&view=listcats", JText::_('COM_JUDIRECTORY_YOU_CAN_NOT_EDIT_ROOT_CATEGORY'), "error");
     } else {
         parent::edit($key = null, $urlVar = null);
     }
 }
示例#13
0
 public function moveListings($listing_id_arr, $tocat_id, $move_option_arr = array())
 {
     $dispatcher = JDispatcher::getInstance();
     $user = JFactory::getUser();
     JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_judirectory/tables');
     $catTable = JTable::getInstance("Category", "JUDirectoryTable");
     if ($tocat_id) {
         if (!$catTable->load($tocat_id)) {
             JError::raiseWarning(500, JText::_('COM_JUDIRECTORY_TARGET_CATEGORY_NOT_FOUND'));
             return false;
         }
         $table = $this->getTable();
         $db = JFactory::getDbo();
         $assetName = 'com_judirectory.category.' . (int) $tocat_id;
         $query = 'SELECT id FROM #__assets WHERE name="' . $assetName . '"';
         $db->setQuery($query);
         $tocat_asset_id = $db->loadResult();
         $canCreate = $user->authorise('judir.listing.create', $assetName);
         if (!$canCreate) {
             JError::raiseError(100, JText::sprintf('COM_JUDIRECTORY_CAN_NOT_CREATE_LISTING_IN_THIS_CATEGORY', $catTable->title));
             return false;
         }
     } else {
         JError::raiseWarning(500, JText::_('COM_JUDIRECTORY_NO_TARGET_CATEGORY_SELECTED'));
         return false;
     }
     if (empty($listing_id_arr)) {
         JError::raiseError(100, JText::_('COM_JUDIRECTORY_NO_ITEM_SELECTED'));
         return false;
     }
     set_time_limit(0);
     $moved_listings = array();
     foreach ($listing_id_arr as $listing_id) {
         if (!$table->load($listing_id)) {
             continue;
         }
         $assetName = 'com_judirectory.listing.' . (int) $listing_id;
         $canDoEdit = $user->authorise('judir.listing.edit', $assetName);
         if (!$canDoEdit) {
             if (!$user->id) {
                 JError::raiseWarning(100, JText::sprintf('COM_JUDIRECTORY_YOU_DONT_HAVE_PERMISSION_TO_ACCESS_LISTING', $table->title));
                 continue;
             } else {
                 if ($user->id == $table->created_by) {
                     $canDoEditOwn = $user->authorise('judir.listing.edit.own', $assetName);
                     if (!$canDoEditOwn) {
                         JError::raiseWarning(100, JText::sprintf('COM_JUDIRECTORY_YOU_DONT_HAVE_PERMISSION_TO_ACCESS_LISTING', $table->title));
                         continue;
                     }
                 }
             }
         }
         $query = "SELECT cat_id FROM #__judirectory_listings_xref WHERE listing_id = " . $listing_id . " AND main=1";
         $db->setQuery($query);
         $cat_id = $db->loadResult();
         if ($tocat_id == $cat_id) {
             continue;
         }
         $result = $dispatcher->trigger($this->onContentBeforeMove, array($this->option . '.' . $this->name, $table, $tocat_id, $move_option_arr));
         if (in_array(false, $result, true)) {
             $this->setError($table->getError());
             return false;
         }
         if ($table->style_id == -1) {
             $oldTemplateStyleObject = JUDirectoryFrontHelperTemplate::getTemplateStyleOfCategory($cat_id);
             $newTemplateStyleObject = JUDirectoryFrontHelperTemplate::getTemplateStyleOfCategory($tocat_id);
             if ($oldTemplateStyleObject->template_id != $newTemplateStyleObject->template_id) {
                 if (in_array('keep_template_params', $move_option_arr)) {
                     $table->style_id = $oldTemplateStyleObject->id;
                 } else {
                     $query = "UPDATE #__judirectory_listings SET template_params = '' WHERE id=" . $listing_id;
                     $db->setQuery($query);
                     $db->execute();
                 }
             }
         }
         $query = "SELECT COUNT(*) FROM #__judirectory_listings_xref WHERE cat_id=" . $tocat_id . " AND listing_id=" . $listing_id . " AND main=0";
         $db->setQuery($query);
         $is_secondary_cat = $db->loadResult();
         if ($is_secondary_cat) {
             $query = "DELETE FROM #__judirectory_listings_xref WHERE listing_id=" . $listing_id . " AND main=1";
             $db->setQuery($query);
             $db->execute();
             $query = "UPDATE #__judirectory_listings_xref SET main=1 WHERE cat_id=" . $tocat_id . " AND listing_id=" . $listing_id;
             $db->setQuery($query);
             $db->execute();
         } else {
             $query = "UPDATE #__judirectory_listings_xref SET cat_id=" . $tocat_id . " WHERE listing_id=" . $listing_id . " AND main=1";
             $db->setQuery($query);
             $db->execute();
         }
         if (in_array('keep_permission', $move_option_arr)) {
             $query = 'UPDATE #__assets SET `parent_id` = ' . $tocat_asset_id . ' WHERE name="com_judirectory.listing.' . $listing_id . '"';
             $db->setQuery($query);
             $db->execute();
         } else {
             $query = 'UPDATE #__assets SET `parent_id` = ' . $tocat_asset_id . ', `rules` = "{}" WHERE name="com_judirectory.listing.' . $listing_id . '"';
             $db->setQuery($query);
             $db->execute();
         }
         $moved_listings[] = $listing_id;
         $this->cleanCache();
         $dispatcher->trigger($this->onContentAfterMove, array($this->option . '.' . $this->name, $table, $tocat_id, $move_option_arr));
     }
     $total_moved_listings = count($moved_listings);
     if ($total_moved_listings) {
         $old_field_groupid = JUDirectoryHelper::getCategoryById($cat_id)->fieldgroup_id;
         $new_field_groupid = JUDirectoryHelper::getCategoryById($tocat_id)->fieldgroup_id;
         $keep_extra_fields = in_array("keep_extra_fields", $move_option_arr);
         if ($keep_extra_fields) {
             $keep_extra_fields = $old_field_groupid == $new_field_groupid ? true : false;
         }
         if (!$keep_extra_fields) {
             foreach ($moved_listings as $listing_id) {
                 JUDirectoryHelper::deleteFieldValuesOfListing($listing_id);
             }
         }
         $old_criteria_groupid = JUDirectoryHelper::getCategoryById($cat_id)->criteriagroup_id;
         $new_criteria_groupid = JUDirectoryHelper::getCategoryById($tocat_id)->criteriagroup_id;
         $keep_rates = in_array("keep_rates", $move_option_arr);
         if ($keep_rates) {
             $keep_rates = $old_criteria_groupid == $new_criteria_groupid ? true : false;
         }
         if (!$keep_rates) {
             JTable::addIncludePath(JPATH_ADMINISTRATOR . "/components/com_judirectory/tables");
             $ratingTable = JTable::getInstance("Rating", "JUDirectoryTable");
             foreach ($moved_listings as $listing_id) {
                 $query = "SELECT id FROM #__judirectory_rating WHERE listing_id = " . $listing_id;
                 $db->setQuery($query);
                 $ratingIds = $db->loadColumn();
                 foreach ($ratingIds as $ratingId) {
                     $ratingTable->delete($ratingId);
                 }
             }
         }
     }
     return $total_moved_listings;
 }
示例#14
0
 public function getAllChildCats($catArr)
 {
     $childCatIds = array();
     $db = JFactory::getDbo();
     foreach ($catArr as $catId) {
         $catObject = JUDirectoryHelper::getCategoryById($catId);
         $query = $db->getQuery(true);
         $query->select('id')->from('#__judirectory_categories')->where('lft >= ' . $catObject->lft)->where('rgt <= ' . $catObject->rgt);
         $db->setQuery($query);
         $childCatIdArr = $db->loadColumn();
         $childCatIds = array_merge($childCatIds, $childCatIdArr);
     }
     $childCatIdStr = implode(',', $childCatIds);
     return $childCatIdStr;
 }
示例#15
0
 public static function getCategorySegment($categoryId, &$query, $fullPath = 0)
 {
     if (isset($query['Itemid'])) {
         unset($query['Itemid']);
     }
     $segments = array();
     $params = JUDirectoryHelper::getParams();
     $rootCategory = JUDirectoryFrontHelperCategory::getRootCategory();
     $categoryObject = JUDirectoryHelper::getCategoryById($categoryId);
     if (!is_object($categoryObject)) {
         return false;
     }
     if ($categoryObject->level == 0) {
         $itemIdTreeRoot = JUDirectoryHelperRoute::getMenuItemIdOfViewCategoryTreeRoot();
         if ($itemIdTreeRoot > 0) {
             $query['Itemid'] = $itemIdTreeRoot;
             return $segments;
         }
         $query['Itemid'] = JUDirectoryHelperRoute::getHomeMenuItemId();
         $sefRootCategory = $rootCategory->id . ':' . $params->get('sef_root_cat', 'root');
         $segments[] = JApplication::stringURLSafe($sefRootCategory);
         return $segments;
     } elseif ($categoryObject->level == 1) {
         $menuItemIdsOfViewCategoryTreeLevel1 = JUDirectoryHelperRoute::getMenuItemIdArrayOfViewCategoryTreeLevel1();
         if (isset($menuItemIdsOfViewCategoryTreeLevel1[$categoryObject->id])) {
             $query['Itemid'] = $menuItemIdsOfViewCategoryTreeLevel1[$categoryObject->id];
             return $segments;
         }
         $itemIdTreeRoot = JUDirectoryHelperRoute::getMenuItemIdOfViewCategoryTreeRoot();
         if ($itemIdTreeRoot > 0) {
             $query['Itemid'] = $itemIdTreeRoot;
             $segments[] = $categoryObject->id . ":" . $categoryObject->alias;
             return $segments;
         }
         $query['Itemid'] = JUDirectoryHelperRoute::getHomeMenuItemId();
         $sefRootCategory = $params->get('sef_root_cat', 'root');
         $segments[] = JApplication::stringURLSafe($sefRootCategory);
         $segments[] = $categoryObject->id . ":" . $categoryObject->alias;
         return $segments;
     } else {
         $levelCats = JUDirectoryHelper::getCatsByLevel(1, $categoryObject->id);
         if (is_array($levelCats) && count($levelCats)) {
             $categoryIdAncestorLevel1 = $levelCats[0]->id;
         }
         $menuItemIdsOfViewCategoryTreeLevel1 = JUDirectoryHelperRoute::getMenuItemIdArrayOfViewCategoryTreeLevel1();
         if (isset($menuItemIdsOfViewCategoryTreeLevel1[$categoryIdAncestorLevel1])) {
             $query['Itemid'] = $menuItemIdsOfViewCategoryTreeLevel1[$categoryIdAncestorLevel1];
             if ($fullPath) {
                 $categoryPath = JUDirectoryHelper::getCategoryPath($categoryId);
                 if (is_array($categoryPath) && count($categoryPath)) {
                     foreach ($categoryPath as $categoryPathValue) {
                         if ($categoryPathValue->level > 1 && $categoryPathValue->id != $categoryObject->id) {
                             $segments[] = $categoryPathValue->alias;
                         }
                     }
                 }
             }
             $segments[] = $categoryObject->id . ":" . $categoryObject->alias;
             return $segments;
         }
         $itemIdTreeRoot = JUDirectoryHelperRoute::getMenuItemIdOfViewCategoryTreeRoot();
         if ($itemIdTreeRoot > 0) {
             $query['Itemid'] = $itemIdTreeRoot;
             if ($fullPath) {
                 $categoryPath = JUDirectoryHelper::getCategoryPath($categoryId);
                 if (is_array($categoryPath) && count($categoryPath)) {
                     foreach ($categoryPath as $categoryPathValue) {
                         if ($categoryPathValue->level > 0 && $categoryPathValue->id != $categoryObject->id) {
                             $segments[] = $categoryPathValue->alias;
                         }
                     }
                 }
             }
             $segments[] = $categoryObject->id . ":" . $categoryObject->alias;
             return $segments;
         }
         $query['Itemid'] = JUDirectoryHelperRoute::getHomeMenuItemId();
         if ($fullPath) {
             $sefRootCategory = $params->get('sef_root_cat', 'root');
             $segments[] = JApplication::stringURLSafe($sefRootCategory);
             $categoryPath = JUDirectoryHelper::getCategoryPath($categoryId);
             if (is_array($categoryPath) && count($categoryPath)) {
                 foreach ($categoryPath as $categoryPathValue) {
                     if ($categoryPathValue->level > 0 && $categoryPathValue->id != $categoryObject->id) {
                         $segments[] = $categoryPathValue->alias;
                     }
                 }
             }
         }
         $segments[] = $categoryObject->id . ":" . $categoryObject->alias;
         return $segments;
     }
     return $segments;
 }
示例#16
0
 public static function getCurrentTemplateStyle($view = '', $id = null)
 {
     $app = JFactory::getApplication();
     $jInput = $app->input;
     if (!$view) {
         $view = $jInput->getString('view', '');
     }
     if ($jInput->getString('option', '') != 'com_judirectory') {
         $view = '';
     }
     if (!$id) {
         switch ($view) {
             case 'form':
                 $id = $jInput->getInt('id', 0);
                 $rootCategory = JUDirectoryFrontHelperCategory::getRootCategory();
                 $cat_id = $jInput->getInt('cat_id', $rootCategory->id);
                 break;
             case 'listing':
                 $id = $jInput->getInt('id', 0);
                 break;
             case 'category':
                 $rootCategory = JUDirectoryFrontHelperCategory::getRootCategory();
                 $id = $jInput->getInt('id', $rootCategory->id);
                 break;
         }
     }
     switch ($view) {
         case 'form':
             if ($id) {
                 $templateStyleObject = self::getTemplateStyleOfListing($id);
                 $listingObject = JUDirectoryHelper::getListingById($id);
                 $templateStyleObject->params = self::getTemplateStyleParams($templateStyleObject->id, $listingObject->template_params);
             } else {
                 $templateStyleObject = self::getTemplateStyleOfCategory($cat_id);
                 $categoryObject = JUDirectoryHelper::getCategoryById($cat_id);
                 $templateStyleObject->params = self::getTemplateStyleParams($templateStyleObject->id, $categoryObject->template_params);
             }
             break;
         case 'listing':
             $templateStyleObject = self::getTemplateStyleOfListing($id);
             $listingObject = JUDirectoryHelper::getListingById($id);
             $templateStyleObject->params = self::getTemplateStyleParams($templateStyleObject->id, $listingObject->template_params);
             break;
         case 'category':
             $templateStyleObject = self::getTemplateStyleOfCategory($id);
             $categoryObject = JUDirectoryHelper::getCategoryById($id);
             $templateStyleObject->params = self::getTemplateStyleParams($templateStyleObject->id, $categoryObject->template_params);
             break;
         default:
             $templateStyleObject = self::getDefaultTemplateStyle();
             $templateStyleObject->params = self::getTemplateStyleParams($templateStyleObject->id);
             break;
     }
     return $templateStyleObject;
 }
示例#17
0
 protected function getInput()
 {
     $html = '';
     $db = JFactory::getDbo();
     $core_plugin = false;
     if ($this->form->getValue("id") && $this->form->getValue("plugin_id")) {
         $query = "SELECT core FROM #__judirectory_plugins WHERE id = " . $this->form->getValue("plugin_id");
         $db->setQuery($query);
         $core_plugin = $db->loadResult();
     }
     if ($core_plugin) {
         $query = "SELECT name FROM #__judirectory_fields_groups WHERE id = " . $this->value;
         $db->setQuery($query);
         $group_name = $db->loadResult();
         $html .= '<span class="readonly">' . $group_name . '</span>';
         $html .= '<input type="hidden" name="' . $this->name . '" value="1" />';
     } else {
         $document = JFactory::getDocument();
         $script = "function changeFieldGroup(self, select ,value){\n\t\t\t\t\t\t\tif(value){\n\t\t\t\t\t\t\t\tif (self.value != select){ alert('" . JText::_('COM_JUDIRECTORY_CHANGE_FIELD_GROUP_WARNING') . "');}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}";
         $document->addScriptDeclaration($script);
         $app = JFactory::getApplication();
         if ($app->input->get('view') == 'field') {
             $options = JUDirectoryHelper::getFieldGroupOptions(true, false);
         } else {
             $options = JUDirectoryHelper::getFieldGroupOptions();
         }
         if ($this->element['usenone'] == 'true') {
             array_unshift($options, array('value' => '0', 'text' => JText::_('COM_JUDIRECTORY_NONE')));
         }
         if ($this->element['useinherit'] == 'true') {
             $appendInherit = "";
             if ($this->form->getValue("id")) {
                 $appendInherit = " ( " . JText::_('COM_JUDIRECTORY_NONE') . " )";
                 if ($this->form->getValue("id") > 0) {
                     $catObj = JUDirectoryHelper::getCategoryById($this->form->getValue("parent_id"));
                     if ($catObj->fieldgroup_id > 1) {
                         $query = "SELECT name, published FROM #__judirectory_fields_groups WHERE id = " . (int) $catObj->fieldgroup_id . " AND id != 1";
                         $db->setQuery($query);
                         $fieldgroup = $db->loadObject();
                         $groupName = $fieldgroup->published != 1 ? "[" . $fieldgroup->name . "]" : $fieldgroup->name;
                         $appendInherit = "( " . $groupName . " )";
                     }
                 }
             }
             array_unshift($options, array('value' => '-1', 'text' => JText::_('COM_JUDIRECTORY_INHERIT') . $appendInherit));
         } else {
             array_unshift($options, array('value' => '', 'text' => JText::_('COM_JUDIRECTORY_SELECT_FIELD_GROUP')));
         }
         $required_class = $this->element['required'] == 'true' ? 'required' : '';
         if ($app->input->get('view') == 'field') {
             $canChange = true;
             if ($this->form->getValue('id')) {
                 $query = "SELECT COUNT(*) FROM #__judirectory_fields_values WHERE field_id = " . $this->form->getValue('id');
                 $db->setQuery($query);
                 $canChange = $db->loadResult() ? false : true;
             }
             if ($canChange) {
                 $attributes = "class=\"inputbox {$required_class}\"";
                 $html .= JHtml::_('select.genericlist', $options, $this->name, $attributes, 'value', 'text', $this->value, $this->id);
             } else {
                 $attributes = "class=\"inputbox\" disabled";
                 $html .= JHtml::_('select.genericlist', $options, "_" . $this->name, $attributes, 'value', 'text', $this->value, $this->id);
                 $html .= "<input class=\"{$required_class}\" type=\"hidden\" value=\"" . $this->value . "\" name=\"" . $this->name . "\" />";
             }
         } else {
             $onchange = "onchange=\"changeFieldGroup(this, " . $this->value . ", " . $this->form->getValue("fieldgroup_id") . " );\"";
             $attributes = "class=\"inputbox {$required_class}\" {$onchange}";
             $html .= JHtml::_('select.genericlist', $options, $this->name, $attributes, 'value', 'text', $this->value, $this->id);
         }
     }
     return $html;
 }
示例#18
0
 protected function calculatorInheritLayout($items, $cat_id)
 {
     do {
         $category = JUDirectoryHelper::getCategoryById($cat_id);
         $layout = $category->layout;
         $cat_id = $category->parent_id;
     } while ($layout == -1);
     if ($layout == -2) {
         return $this->getLayout($items);
     } else {
         return $this->getLayout($items, $layout);
     }
 }
示例#19
0
 public function listingChangeCategory()
 {
     $app = JFactory::getApplication();
     if ($app->input->get('action', '') == 'update-maincat') {
         $ori_cat_id = $app->input->getInt('ori_cat_id', 0);
         $ori_cat = JUDirectoryHelper::getCategoryById($ori_cat_id);
         $data['ori_field_group_id'] = 0;
         $data['new_field_group_id'] = 0;
         $data['new_field_group_name'] = "";
         $data['path'] = "";
         if ($ori_cat) {
             $data['ori_field_group_id'] = $ori_cat->fieldgroup_id;
         }
         $new_cat_id = $app->input->getInt('new_cat_id', 0);
         $rootCat = JUDirectoryFrontHelperCategory::getRootCategory();
         $params = JUDirectoryHelper::getParams();
         if ($rootCat->id == $new_cat_id && !$params->get('allow_add_listing_to_root', 0)) {
             return "";
         }
         $new_cat = JUDirectoryHelper::getCategoryById($new_cat_id);
         if ($new_cat) {
             $db = JFactory::getDbo();
             $query = "SELECT id, name FROM #__judirectory_fields_groups WHERE id = " . $new_cat->fieldgroup_id . " AND published = 1";
             $db->setQuery($query);
             $fieldgroup = $db->loadObject();
             if ($fieldgroup) {
                 $data['new_field_group_id'] = $fieldgroup->id;
                 $data['new_field_group_name'] = $fieldgroup->name;
             }
             $data['path'] = JUDirectoryHelper::generateCategoryPath($new_cat_id);
         }
         if ($data['ori_field_group_id'] != $data['new_field_group_id']) {
             $data['msg_field_group'] = JText::_('COM_JUDIRECTORY_CHANGE_MAIN_CATEGORY_CAUSE_CHANGE_FIELD_GROUP_WARNING');
         }
         $listingId = $app->input->getInt('id', 0);
         $data['message_style'] = JText::_('COM_JUDIRECTORY_INHERIT');
         if ($listingId) {
             $listingObject = JUDirectoryHelper::getListingById($listingId);
             if ($listingObject->style_id == -1) {
                 $oldStyleObject = JUDirectoryFrontHelperTemplate::getTemplateStyleOfCategory($listingId->cat_id);
                 $newStyleObject = JUDirectoryFrontHelperTemplate::getTemplateStyleOfCategory($new_cat->id);
                 if ($oldStyleObject->template_id != $newStyleObject->template_id) {
                     $data['msg_style'] = JText::_('COM_JUDIRECTORY_CHANGE_MAIN_CATEGORY_CAUSE_CHANGE_TEMPLATE_WARNING');
                 }
             }
             $newTemplateStyleObject = JUDirectoryFrontHelperTemplate::getTemplateStyleOfCategory($new_cat->id);
             $data['message_style'] = JText::_('COM_JUDIRECTORY_INHERIT') . ' (' . $newTemplateStyleObject->title . ' [' . $newTemplateStyleObject->template_title . ' ]' . ')';
         }
         return json_encode($data);
     } elseif ($app->input->getInt('action', '') == 'insert_secondary_cat') {
         $cat_id_str = $app->input->get('secondary_cat_id', '', 'string');
         $html = '';
         if (!empty($cat_id_str)) {
             $cat_id_arr = explode(",", $cat_id_str);
             foreach ($cat_id_arr as $key => $cat_id) {
                 $html .= "<li id=\"cat-" . $cat_id . "\"><a class=\"drag-icon\"></a><span>" . JUDirectoryHelper::generateCategoryPath($cat_id) . "</span><a href=\"#\" onclick=\"return false\" class=\"remove-secondary-cat\" ><i class=\"icon-minus fa fa-minus-circle\"></i> " . JText::_('COM_JUDIRECTORY_REMOVE') . "</a></li>";
             }
         }
         return $html;
     }
 }
 case "featured":
     echo '<td>';
     echo JHtml::_('judirectoryadministrator.featured', $item->featured, $i, $canChange, 'categories');
     echo '</td>';
     break;
 case "rel_cats":
     echo '<td>';
     $rel_categories = $model->getRelatedCategories($item->id);
     if ($rel_categories) {
         echo implode(", ", $rel_categories);
     }
     echo '</td>';
     break;
 case "parent_id":
     echo '<td>';
     $_category = JUDirectoryHelper::getCategoryById($item->parent_id);
     if ($_category) {
         echo $_category->title;
     }
     echo '</td>';
     break;
 case "intro_image":
 case "detail_image":
     echo '<td>';
     if ($item->images) {
         $imgObj = json_decode($item->images);
         if (isset($imgObj->{$field}) && $imgObj->{$field}) {
             $image_path = $field == "intro_image" ? $intro_image_path : $detail_image_path;
             echo '<a class="modal" href="' . $image_path . $imgObj->{$field} . '"><img src="' . $image_path . $imgObj->{$field} . '" style="max-width:30px; max-height:30px" /></a>';
         } else {
             echo ' ';
示例#21
0
                        <?php 
echo $this->review['config']['force_publish'] ? JText::_('JYES') : JText::_('JNO');
?>
					</td>
				</tr>
				<tr>
					<td>
						<?php 
echo JText::_("COM_JUDIRECTORY_SELECTED_DEFAULT_MAIN_CATEGORY");
?>
					</td>
					<td>
						<?php 
if ($this->review['config']['default_main_cat_id']) {
    $mainCat = $this->review['config']['default_main_cat_id'];
    $catObj = JUDirectoryHelper::getCategoryById($mainCat);
    echo $catObj->title;
}
?>
					</td>
				</tr>
				</tbody>
			</table>
		</fieldset>

		<div>
			<input type="hidden" name="task" value="" />
			<?php 
echo JHtml::_('form.token');
?>
		</div>