Ejemplo n.º 1
0
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');
    }
}
Ejemplo n.º 2
0
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;
}