Your IP : 216.73.217.53


Current Path : /home/bonneesp/www/administrator/components/com_tabulizer/assets/classes/dialog/
Upload File :
Current File : /home/bonneesp/www/administrator/components/com_tabulizer/assets/classes/dialog/grab_table_data.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' );

function grabTableData() {
    $jinput = JFactory::getApplication()->input;
    $params['filepath'] = $jinput->getString('grab_url','');
    $params['table_order'] = $jinput->getString('grab_index','');
    $params['table_attribute_name'] = $jinput->getString('grab_attr_name','');
    $params['table_attribute_value'] = $jinput->getString('grab_attr_value','');

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

    $grabber = new HTMLExtraction();
    $grabber->getTableRows($rows, $params, $error_msg);

    if (empty($error_msg)) {
        $cell_values = array();
        foreach ($rows as $row) {
            $cell_values[] = implode('', $row);
        }

        $column_separator_found = false;
        if (empty($cell_values)) {
            $extracted_data['error_msg'] = JText::_('COM_TABULIZER_INVALID_TABLE_SELECTION');
            return false;
        } else {
            $separators = TabulizerUtils::getSeparatorList(true);
            foreach ($separators as $sep => $column_separator) {
                $valid = true;
                foreach ($cell_values as $value) {
                if (empty($value)) continue;
                if (strpos($value,$sep) !== false) { $valid = false; break; }
            }
            if ($valid) {
                $column_separator_found = true;
                break;
            }
            }
        }

        # use text enclosure, if needed
        if (!$column_separator_found) {
            $column_separator = SEPARATOR_COMMA;
            $column_enclosure = ENCLOSURE_DOUBLE_QUOTES;
            $sep = ',';
            $enclosure = '"';
            $escape = ENCLOSURE_ESCAPE;
        } else {
            $column_enclosure = ENCLOSURE_NONE;
            $enclosure = '';
        }
        $sep = $enclosure . $sep . $enclosure;

        $table_text = '';
        foreach ($rows as $row_id => $cells) {
            if ($column_enclosure != ENCLOSURE_NONE) {
                $ra = $escape . $enclosure;
                $rw = $enclosure;
                foreach ($cells as &$cell) {
                    $cell = str_replace($rw, $ra, $cell);
                }
            }
            $table_text .= $enclosure. implode($sep,$cells) . $enclosure . "\n";
        }

        $json_response = json_encode(array('input_text'=>$table_text, 'input_separator'=>$column_separator, 'input_enclosure'=>$column_enclosure));
        jexit($json_response);
    } else {
        jexit($error_msg);
    }
}

grabTableData();

?>