function addcategory($option) { global $savantConf, $Itemid, $mtconf; $database =& JFactory::getDBO(); $my =& JFactory::getUser(); $document =& JFactory::getDocument(); # Get cat_id / link_id $cat_id = JRequest::getInt('cat_id', 0); $link_id = JRequest::getInt('link_id', 0); if ($cat_id == 0 && $link_id > 0) { $database->setQuery("SELECT cl.cat_id FROM (#__mt_links AS l, #__mt_cl AS cl) WHERE l.link_id = cl.link_id AND cl.main = '1' AND link_id ='" . $link_id . "'"); $cat_parent = $database->loadResult(); } else { $cat_parent = $cat_id; } $database->setQuery("SELECT cat_name FROM #__mt_cats WHERE cat_id = '" . $cat_parent . "' LIMIT 1"); $cat_name = $database->loadResult(); $document->setTitle(sprintf(JText::_('Add cat2'), $cat_name)); # Pathway $pathWay = new mtPathWay($cat_parent); # Savant Template $savant = new Savant2($savantConf); assignCommonVar($savant); $savant->assign('pathway', $pathWay); $savant->assign('cat_parent', $cat_parent); if ($mtconf->get('user_addcategory') == '1' && $my->id < 1) { # Error. Please login before you can add category $savant->assign('error_msg', JText::_('Please login before addcategory')); $savant->display('page_error.tpl.php'); } else { # OK. User is allowed to add category $savant->display('page_addCategory.tpl.php'); } }
function assignCommonListlinksVar(&$savant, &$links, &$pathWay, &$pageNav) { global $task, $Itemid, $my, $cat_id, $mtconf; $database =& JFactory::getDBO(); require_once $mtconf->getjconf('absolute_path') . '/administrator/components/com_mtree/mfields.class.php'; # Load custom fields' caption if ($task == 'advsearch') { $database->setQuery("SELECT CONCAT( 'cust_', cf_id ) AS name, caption AS value, field_type FROM #__mt_customfields WHERE published = 1 AND advanced_search = 1"); $custom_fields = $database->loadObjectList("name"); } else { $database->setQuery("SELECT CONCAT( 'cust_', cf_id ) AS name, caption AS value, field_type FROM #__mt_customfields"); $custom_fields = $database->loadObjectList("name"); } $fields = array(); $arrayLinkId = array(); if (count($links) > 0) { foreach ($links as $link) { $arrayLinkId[] = intval($link->link_id); } } $tmp_fields = array(); $tmp_core_fields = array(); if (count($arrayLinkId) > 0) { $sql = "SELECT cf.*, cfv.link_id, cfv.value, cfv.attachment, cfv.counter, ft.ft_class FROM #__mt_customfields AS cf " . "\nLEFT JOIN #__mt_cfvalues AS cfv ON cf.cf_id=cfv.cf_id " . "\nLEFT JOIN #__mt_fieldtypes AS ft ON ft.field_type=cf.field_type" . "\nWHERE cf.published = '1' AND cf.summary_view = '1' " . "\nAND cfv.link_id IN (" . implode(',', $arrayLinkId) . ") " . "\nORDER BY cf.ordering ASC, link_id DESC"; $database->setQuery($sql); $tmp_fields = $database->loadObjectList(); $sql_core = "SELECT cf. * , NULL AS link_id, '' AS value, NULL AS attachment, ft.ft_class " . "\nFROM #__mt_customfields AS cf " . "\nLEFT JOIN #__mt_fieldtypes AS ft ON ft.field_type=cf.field_type " . "\nWHERE cf.published = '1' " . "\nAND cf.summary_view = '1' " . "\nAND cf.iscore = '1' " . "\nORDER BY cf.ordering ASC"; $database->setQuery($sql_core); $tmp_core_fields = $database->loadObjectList(); } if (count($arrayLinkId) > 0 && (count($tmp_core_fields) > 0 || count($tmp_fields) > 0)) { $tmp_fields = array_merge($tmp_fields, $tmp_core_fields); } // Custom fields that do not require value, appear only once with a NULL value to link_id. // This loop clone the custom fields for each link foreach ($tmp_fields as $key => $value) { if (is_null($value->link_id)) { foreach ($arrayLinkId as $linkId) { $tmp_value = $value; $tmp_value = PHP_VERSION < 5 ? $value : clone $value; $tmp_value->link_id = $linkId; $tmp_fields[] = $tmp_value; unset($tmp_value); } } } usort($tmp_fields, "customFieldsSort"); if (count($links) > 0) { foreach ($links as $link) { $tmp_link_id = $link->link_id; $fields[$link->link_id] = new mFields(); $data = null; $i = 0; foreach ($tmp_fields as $key => $value) { if ($value->link_id == $tmp_link_id) { $data[$key * 28] = $value; unset($tmp_fields[$key]); } $i++; } $fields[$link->link_id]->setCoresValue($link->link_name, $link->link_desc, $link->address, $link->city, $link->state, $link->country, $link->postcode, $link->telephone, $link->fax, $link->email, $link->website, $link->price, $link->link_hits, $link->link_votes, $link->link_rating, $link->link_featured, $link->link_created, $link->link_modified, $link->link_visited, $link->publish_up, $link->publish_down, $link->metakey, $link->metadesc, $link->user_id, $link->username); $fields[$link->link_id]->loadFields($data); } } # Mambots if ($mtconf->get('cat_parse_plugin')) { applyMambots($links); } assignCommonVar($savant); $savant->assignRef('pathway', $pathWay); $savant->assign('pageNav', $pageNav); $savant->assignRef('links', $links); $savant->assignRef('fields', $fields); $savant->assign('reviews', getReviews($links)); $savant->assign('min_votes_to_show_rating', $mtconf->get('min_votes_to_show_rating')); $savant->assign('custom_fields', $custom_fields); $savant->assign('listing_image_dir', $mtconf->getjconf('live_site') . $mtconf->get('listing_image_dir')); $savant->assign('cat_id', $cat_id); return true; }