Your IP : 216.73.217.53


Current Path : /home/bonneesp/www/administrator/components/com_tabulizer/assets/classes/output/
Upload File :
Current File : /home/bonneesp/www/administrator/components/com_tabulizer/assets/classes/output/datasource.php

<?php
/**
 * @version		6.5.0 tabulizer $
 * @package		tabulizer
 * @copyright	Copyright © 2011 - All rights reserved.
 * @license		GNU/GPL
 * @author		Dimitrios Mourloukos
 * @author mail	info@alterora.gr
 * @website		www.tabulizer.com
 * 
 */


// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

TabulizerPath::requireLib('data_source','common');

class DataSourcePublisher {

    function loadDataSource($tag) {
        $db = JFactory::getDbo();
        $query = 'SELECT id, tag, title, source_type, source_params, cache_type, cache_time FROM #__tabulizer_data_source WHERE tag = '. $db->quote($tag);
        $db->setQuery($query);
        $data_source = $db->loadObject();
        if (!empty($data_source)) return $data_source;
        else return false;
    }

    function displayOutputJSON($tag, $ds_user_params, $keyphrase) {
        $data_source = $this->loadDataSource($tag);

        $user_params = array();
        TabulizerDataSource::personalizeParams($user_params);
        TabulizerDataSource::decodeParams($data_source->source_type, $data_source->source_params, $source_params, $errors);

        $search_filters = array();
        $errors = array();
        $results = TabulizerDataSource::getDataSourceContents($data_source->tag, $user_params, $search_filters, $params, $errors);

        if (empty($results)) {
            if (!empty($errors)) {
                $user_msg = TabulizerUserMessage::printErrors($errors, null, true);
                $output_json = json_encode(array('error_msg'=>$user_msg));
            } else {
                $output_json = '';
            }
        } else {
            $rows = &$results['rows'];
            $output_json = json_encode($rows);
        }

        jexit($output_json);
    }

    function displayOutputHTML($tag, $ds_user_params, $keyphrase) {
        $data_source = $this->loadDataSource($tag);

        $table_html = TabulizerDataSource::getTableHTML($data_source->tag, $ds_user_params);

        TabulizerPath::requireLib('tags_processor','common');
        $processor = new TabulizerTagsProcessor();

        $processor->init('system');
        $processor->processTags($table_html);

        jexit($table_html);
    }

    function displayOutput($tag, $ds_user_params, $keyphrase, $mode) {
        if ($mode == 'json') {
            $this->displayOutputJSON($tag, $ds_user_params, $keyphrase);
        } else {
            $this->displayOutputHTML($tag, $ds_user_params, $keyphrase);
        }
    }

}

$jinput = JFactory::getApplication()->input;
$ds_tag = $jinput->getString( 'ds_tag', null );
$ds_user_params = $jinput->getString( 'ds_user_params', null);
$ds_keyphrase = $jinput->getString( 'ds_keyphrase', null );
$output_mode = strtolower($jinput->getString( 'ds_mode', 'html' ));

$ds_publisher = new DataSourcePublisher();
$ds_publisher->displayOutput($ds_tag, $ds_user_params, $ds_keyphrase, $output_mode);

?>