Your IP : 216.73.216.190


Current Path : /proc/1908984/root/proc/2603263/cwd/
Upload File :
Current File : //proc/1908984/root/proc/2603263/cwd/com_mtree.tar

com_mtree.php000064400000014624152355060610007241 0ustar00<?php
/**
 * @version             $Id$
 * @copyright           Copyright (C) 2007 - 2009 Joomla! Vargas. All rights reserved.
 * @license             GNU General Public License version 2 or later; see LICENSE.txt
 * @author              Guillermo Vargas (guille@vargas.co.cr)
 */

defined( '_JEXEC' ) or die( 'Restricted access' );

/** Handles Mosets Tree component */
class xmap_com_mtree
{
    static function getTree( $xmap, $parent, &$params )
    {
        if ($xmap->isNews) // This component does not provide news content. don't waste time/resources
            return false;

        $db = JFactory::getDbo();

        $catid=0;
        if ( strpos($parent->link, 'task=listcats') ) {
            $link_query = parse_url( $parent->link );
            parse_str( html_entity_decode($link_query['query']), $link_vars);
            $catid = JArrayHelper::getValue($link_vars,'cat_id',0);
        }

        $include_links = JArrayHelper::getValue($params,'include_links',1);
        $include_links = ( $include_links == 1
            || ( $include_links == 2 && $xmap->view == 'xml')
            || ( $include_links == 3 && $xmap->view == 'html')
            ||   $xmap->view == 'navigator');
        $params['include_links'] = $include_links;

        $priority = JArrayHelper::getValue($params,'cat_priority',$parent->priority);
        $changefreq = JArrayHelper::getValue($params,'cat_changefreq',$parent->changefreq);
        if ($priority  == '-1')
            $priority = $parent->priority;
        if ($changefreq  == '-1')
            $changefreq = $parent->changefreq;

        $params['cat_priority'] = $priority;
        $params['cat_changefreq'] = $changefreq;

        $priority = JArrayHelper::getValue($params,'link_priority',$parent->priority);
        $changefreq = JArrayHelper::getValue($params,'link_changefreq',$parent->changefreq);
        if ($priority  == '-1')
            $priority = $parent->priority;

        if ($changefreq  == '-1')
            $changefreq = $parent->changefreq;

        $params['link_priority'] = $priority;
        $params['link_changefreq'] = $changefreq;

        $ordering = JArrayHelper::getValue($params,'cats_order','cat_name');
        $orderdir = JArrayHelper::getValue($params,'cats_orderdir','ASC');
        if ( !in_array($ordering,array('ordering','cat_name','cat_created')) )
            $ordering = 'cat_name';

        if ( !in_array($orderdir,array('ASC','DESC')) ){
            $orderdir = 'ASC';
        }

        $params['cats_order'] = $db->quoteName($ordering)." $orderdir";

        if ( $include_links ) {
            $ordering = JArrayHelper::getValue($params,'links_order','ordering');
            $orderdir = JArrayHelper::getValue($params,'links_orderdir','ASC');
            if ( !in_array($ordering,array('ordering','link_name','link_modified','link_created','link_hits')) )
                $ordering = 'ordering';

            if ( !in_array($orderdir,array('ASC','DESC')) ){
                $orderdir = 'ASC';
            }

            $params['links_order'] = $db->quoteName($ordering)." $orderdir";

            $params['limit'] = '';
            $params['days'] = '';
            $limit = JArrayHelper::getValue($params,'max_links',0);
            if ( intval($limit) )
                $params['limit'] = ' LIMIT '.intval($limit);

            $days = JArrayHelper::getValue($params,'max_age','');
            if ( intval($days) )
                $params['days'] = ' AND a.link_created >=\''.date('Y-m-d H:i:s',($xmap->now - ($days*86400))) ."' ";
        }

        xmap_com_mtree::getMtreeCategory($xmap,$parent,$params,$catid);
    }

    /* Returns URLs of all Categories and links in of one category using recursion */
    static function getMtreeCategory ($xmap, $parent, &$params, $catid )
    {
        $database =& JFactory::getDbo();

        $query = "SELECT cat_name, cat_id ".
             "FROM #__mt_cats WHERE cat_published='1' AND cat_approved='1' AND cat_parent = $catid " .
             "ORDER BY " . $params['cats_order'];

        $database->setQuery($query);
        $rows = $database->loadObjectList();

        $xmap->changeLevel(1);
        foreach($rows as $row) {
            $node = new stdclass;
            $node->name = $row->cat_name;
            $node->link = 'index.php?option=com_mtree&task=listcats&cat_id='.$row->cat_id.'&Itemid='.$parent->id;
            $node->id = $parent->id;
            $node->uid = $parent->uid .'c'.$row->cat_id;
            $node->browserNav = $parent->browserNav;
            $node->modified = NULL;
            $node->priority = $params['cat_priority'];
            $node->changefreq = $params['cat_changefreq'];
            $node->expandible = true;
            $node->secure = $parent->secure;

            if ( $xmap->printNode($node) !== FALSE) {
                xmap_com_mtree::getMtreeCategory($xmap,$parent,$params,$row->cat_id);
            }
        }

        /* Returns URLs of all listings in the current category */
        if ($params['include_links']) {
            $query = " SELECT a.link_name, a.link_id, a.link_created as created, a.link_modified as modified \n".
                 " FROM #__mt_links AS a, #__mt_cl as b \n".
                 " WHERE a.link_id = b.link_id \n".
                             " AND b.cat_id = $catid " .
                             " AND ( link_published='1' AND link_approved='1' ) " .
                 $params['days'] .
                 " ORDER BY " . $params['links_order'] .
                 $params['limit'];

            $database->setQuery($query);

            $rows = $database->loadObjectList();

            foreach($rows as $row) {
                if ( !$row->modified || ($row->modified == $database->getNullDate())) {
                    $row->modified = $row->created;
                }

                $node = new stdclass;
                $node->name = $row->link_name;
                $node->link = 'index.php?option=com_mtree&task=viewlink&link_id='.$row->link_id.'&Itemid='.$parent->id;
                $node->id = $parent->id;
                $node->uid = $parent->uid.'l'.$row->link_id;
                $node->browserNav = $parent->browserNav;
                $node->modified = $row->modified;
                $node->priority = $params['link_priority'];
                $node->changefreq = $params['link_changefreq'];
                $node->expandible = false;
                $node->secure = $parent->secure;
                $xmap->printNode($node);
            }
        }
        $xmap->changeLevel(-1);

    }
}
com_mtree.xml000064400000016156152355060610007254 0ustar00<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Id$ -->
<extension type="plugin" group="xmap" version="1.6" method="upgrade">
    <name>Xmap - Mosets Tree Plugin</name>
    <author>Guillermo Vargas</author>
    <creationDate>07/20/2011</creationDate>
    <copyright>GNU GPL</copyright>
    <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>
    <authorEmail>guille@vargas.co.cr</authorEmail>
    <authorUrl>joomla.vargas.co.cr</authorUrl>
    <version>2.0.2</version>
    <description>XMAP_MTREE_PLUGIN_DESCRIPTION</description>
    <files>
        <filename plugin="com_mtree">com_mtree.php</filename>
        <filename>index.html</filename>
    </files>
    <languages folder="language">
        <!--
        these files will be installed in the administrator/language folder.
        -->
        <language tag="en-GB">en-GB.plg_xmap_com_mtree.ini</language>
        <language tag="es-ES">es-ES.plg_xmap_com_mtree.ini</language>
        <language tag="fa-IR">fa-IR.plg_xmap_com_mtree.ini</language>
        <language tag="cs-CZ">cs-CZ.plg_xmap_com_mtree.ini</language>
        <language tag="nl-NL">nl-NL.plg_xmap_com_mtree.ini</language>
        <language tag="ru-RU">ru-RU.plg_xmap_com_mtree.ini</language>
    </languages>
    <config>
        <fields name="params">
            <fieldset name="basic">
                <field name="cats_order" type="list" default="cat_name" label="XMAP_SETTING_CATEGORIES_ORDER_LABEL" description="XMAP_SETTING_CATEGORIES_ORDER_DESC">
                    <option value="ordering">XMAP_SETTING_OPTION_ORDERING_DEFAULT</option>
                    <option value="cat_name">XMAP_SETTING_OPTION_ORDERING_NAME</option>
                    <option value="cat_created">XMAP_SETTING_OPTION_ORDERING_CREATED</option>
                </field>
                <field name="cats_orderdir" type="list" default="ASC" label="XMAP_SETTING_CATEGORIES_ORDER_DIR_LABEL" description="XMAP_SETTING_CATEGORIES_ORDER_DIR_DESC">
                    <option value="ASC">XMAP_SETTING_OPTION_ORDERING_DIR_ASC</option>
                    <option value="DESC">XMAP_SETTING_OPTION_ORDERING_DIR_DESC</option>
                </field>
                <field name="include_links" type="list" default="1" label="XMAP_SETTING_SHOW_LISTINGS_LABEL" description="XMAP_SETTING_SHOW_LISTINGS_DESC">
                    <option value="0">XMAP_OPTION_NEVER</option>
                    <option value="1">XMAP_OPTION_ALWAYS</option>
                    <option value="2">XMAP_OPTION_XML_ONLY</option>
                    <option value="3">XMAP_OPTION_HTML_ONLY</option>
                </field>
                <field name="links_order" type="list" default="ordering" label="XMAP_SETTING_LISTINGS_ORDER_LABEL" description="XMAP_SETTING_LISTINGS_ORDER_DESC">
                    <option value="ordering">XMAP_SETTING_OPTION_ORDERING_DEFAULT</option>
                    <option value="link_name">XMAP_SETTING_OPTION_ORDERING_NAME</option>
                    <option value="link_created">XMAP_SETTING_OPTION_ORDERING_CREATED</option>
                    <option value="link_modified">XMAP_SETTING_OPTION_ORDERING_MODIFIED</option>
                    <option value="link_hits">XMAP_SETTING_OPTION_ORDERING_HITS</option>
                </field>
                <field name="entries_orderdir" type="list" default="ASC" label="XMAP_SETTING_LISTINGS_ORDER_DIR_LABEL" description="XMAP_SETTING_LISTINGS_ORDER_DIR_DESC">
                    <option value="ASC">XMAP_SETTING_OPTION_ORDERING_DIR_ASC</option>
                    <option value="DESC">XMAP_SETTING_OPTION_ORDERING_DIR_DESC</option>
                </field>
                <field name="max_links" type="text" default="" label="XMAP_SETTING_MAX_ENTRIES_LABEL" description="XMAP_SETTING_MAX_ENTRIES_DESC" />
                <field name="max_age" type="text" default="" label="XMAP_SETTING_LISTINGS_NEWER_THAN_LABEL" description="XMAP_SETTING_LISTINGS_NEWER_THAN_LABEL" />
            </fieldset>
            <fieldset name="xml">
                <field name="cat_priority" type="list" default="0.5" label="XMAP_MTREE_CATEGORY_PRIORITY_LABEL" description="XMAP_MTREE_CATEGORY_PRIORITY_DESC">
                    <option value="-1">XMAP_OPTION_USE_PARENT_MENU</option>
                    <option value="0.0">0.0</option>
                    <option value="0.1">0.1</option>
                    <option value="0.2">0.2</option>
                    <option value="0.3">0.3</option>
                    <option value="0.4">0.4</option>
                    <option value="0.5">0.5</option>
                    <option value="0.6">0.6</option>
                    <option value="0.7">0.7</option>
                    <option value="0.8">0.8</option>
                    <option value="0.9">0.9</option>
                    <option value="1">1</option>
                </field>
                <field name="cat_changefreq" type="list" default="weekly" label="XMAP_MTREE_CATEGORY_CHANGEFREQ_LABEL" description="XMAP_MTREE_CATEGORY_CHANGEFREQ_DESC">
                    <option value="-1">XMAP_OPTION_USE_PARENT_MENU</option>
                    <option value="always">XMAP_OPTION_ALWAYS</option>
                    <option value="hourly">XMAP_OPTION_HOURLY</option>
                    <option value="daily">XMAP_OPTION_DAILY</option>
                    <option value="weekly">XMAP_OPTION_WEEKLY</option>
                    <option value="monthly">XMAP_OPTION_MONTHLY</option>
                    <option value="yearly">XMAP_OPTION_YEARLY</option>
                    <option value="never">XMAP_OPTION_NEVER</option>
                </field>
                <field name="link_priority" type="list" default="0.5" label="XMAP_MTREE_LISTING_PRIORITY_LABEL" description="XMAP_MTREE_LISTING_PRIORITY_DESC">
                    <option value="-1">XMAP_OPTION_USE_PARENT_MENU</option>
                    <option value="0.0">0.0</option>
                    <option value="0.1">0.1</option>
                    <option value="0.2">0.2</option>
                    <option value="0.3">0.3</option>
                    <option value="0.4">0.4</option>
                    <option value="0.5">0.5</option>
                    <option value="0.6">0.6</option>
                    <option value="0.7">0.7</option>
                    <option value="0.8">0.8</option>
                    <option value="0.9">0.9</option>
                    <option value="1">1</option>
                </field>
                <field name="link_changefreq" type="list" default="weekly" label="XMAP_MTREE_LISTING_CHANGEFREQ_LABEL" description="XMAP_MTREE_LISTING_CHANGEFREQ_DESC">
                    <option value="-1">XMAP_OPTION_USE_PARENT_MENU</option>
                    <option value="always">XMAP_OPTION_ALWAYS</option>
                    <option value="hourly">XMAP_OPTION_HOURLY</option>
                    <option value="daily">XMAP_OPTION_DAILY</option>
                    <option value="weekly">XMAP_OPTION_WEEKLY</option>
                    <option value="monthly">XMAP_OPTION_MONTHLY</option>
                    <option value="yearly">XMAP_OPTION_YEARLY</option>
                    <option value="never">XMAP_OPTION_NEVER</option>
                </field>
            </fieldset>
        </fields>
    </config>
</extension>
index.html000064400000000036152355060610006543 0ustar00<!DOCTYPE html><title></title>