b0y-101 Mini Shell


Current Path : E:/www/plan/components/com_jevents/views/default/list/tmpl/
File Upload :
Current File : E:/www/plan/components/com_jevents/views/default/list/tmpl/csvprintevents.php

<?php

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

$jinput = Jfactory::getApplication()->input;

if ($jinput->getInt("limit", 0) < 1000)
{
	$uri = JUri::getInstance();
	$uri->setVar("limit", 99999);
	global $mainframe;
	$url = $uri->toString();
	JFactory::getApplication()->redirect($url);
	//echo $url;
	exit();
}
ob_end_clean();

$data = $this->data;

//var_dump($data);exit();

$num_events = count($data['rows']);

$rows = array();

$fields = array();

$compparams = JComponentHelper::getParams("com_jevents");
$infields = explode("||", $compparams->get("columns", "TITLE_LINK|Title Link|Title"));
$cols = array();
$titles = array();

foreach ($infields as $infield)
{
	$parts = explode("|", $infield);
	$cols[] = $parts[0];
	$titles[] = $parts[2];
        $fields[$parts[2]] = $parts[0];
}

$rows[] = array_keys($fields);


$template = "";
foreach ($cols as $col)
{
    if (strlen($template)>0){
        $template .= "##@@##";
    }
    $template .= "{{xx:$col}}";
}
if ($num_events > 0)
{
        for ($r = 0; $r < $num_events; $r++)
        {
            ob_start();
            $this->loadedFromTemplate('icalevent.list_row', $data['rows'][$r], 0, $template);
            $rowdata = ob_get_clean();
	        if ($compparams->get("csvexportfiler", 0) == 1)
	        {
		        $rows[] = explode("##@@##", strip_tags($rowdata));

	        } elseif($compparams->get("csvexportfiler", 0) == 2) {

		        $rows[] = explode("##@@##", htmlentities($rowdata));

	        } else {
		        $rows[] = explode("##@@##", $rowdata);
	        }
        }
}

$document = JFactory::getDocument();
$document->setMimeEncoding("text/csv");


$data = exportAsCSV($rows);

// Finally, generate a file
$size = strlen($data);

@ob_end_clean();

@ini_set("zlib.output_compression", "Off");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: private");
header("Content-Type: text/csv; charset=utf-8");
header("Content-Disposition: attachment;filename=extract_" . date("Y_m_d") . ".csv");
header("Accept-Ranges: bytes");
header("Content-Length: $size");
// force UTF-8 BOM headers in file - see http://stackoverflow.com/questions/5368150/php-header-excel-and-utf-8
echo pack('CCC', 0xef, 0xbb, 0xbf);
echo $data;
exit();


outputCSV($rows);

function outputCSV($data)
{
	ob_start();
	$outstream = fopen("php://output", 'w');

	function __outputCSV(&$row, $key, $filehandler)
	{
		if (is_array($row))
		{
			foreach ($row as $key => $field)
			{
				$row[$key] = htmlspecialchars_decode(trim($field));
			}
			$data = $row;
		}
		else
		{
			$data = $row;
		}

		fputcsv($filehandler, $data, ',', '"');

	}

	array_walk($data, '__outputCSV', $outstream);

	fclose($outstream);
	return ob_get_clean();

}

function exportAsCSV(&$exportData)
{
	return outputCSV($exportData);

}

Copyright © 2019 by b0y-101