Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /** * Copyright since 2007 PrestaShop SA and Contributors * PrestaShop is an Inter..
Decoded Output download
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <[email protected]>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
/**
* Simple class to output CSV data
* Uses CollectionCore.
*
* @since 1.5
*/
class CSVCore
{
public $filename;
public $collection;
public $delimiter;
/**
* Loads objects, filename and optionally a delimiter.
*
* @param array|Iterator $collection Collection of objects / arrays (of non-objects)
* @param string $filename used later to save the file
* @param string $delimiter delimiter used
*/
public function __construct($collection, $filename, $delimiter = ';')
{
$this->filename = $filename;
$this->delimiter = $delimiter;
$this->collection = $collection;
}
/**
* Main function
* Adds headers
* Outputs.
*/
public function export()
{
$this->headers();
$headerLine = false;
foreach ($this->collection as $object) {
$vars = get_object_vars($object);
if (!$headerLine) {
$this->output(array_keys($vars));
$headerLine = true;
}
// outputs values
$this->output($vars);
unset($vars);
}
}
/**
* Wraps data and echoes
* Uses defined delimiter.
*
* @param array $data
*/
public function output($data)
{
$wrappedData = array_map(['CSVCore', 'wrap'], $data);
echo sprintf("%s
", implode($this->delimiter, $wrappedData));
}
/**
* Escapes data.
*
* @param string $data
*
* @return string $data
*/
public static function wrap($data)
{
$data = str_replace(['"', ';'], '', $data);
return sprintf('"%s"', $data);
}
/**
* Adds headers.
*/
public function headers()
{
header('Content-type: text/csv');
header('Content-Type: application/force-download; charset=UTF-8');
header('Cache-Control: no-store, no-cache');
header('Content-disposition: attachment; filename="' . $this->filename . '.csv"');
}
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <[email protected]>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
/**
* Simple class to output CSV data
* Uses CollectionCore.
*
* @since 1.5
*/
class CSVCore
{
public $filename;
public $collection;
public $delimiter;
/**
* Loads objects, filename and optionally a delimiter.
*
* @param array|Iterator $collection Collection of objects / arrays (of non-objects)
* @param string $filename used later to save the file
* @param string $delimiter delimiter used
*/
public function __construct($collection, $filename, $delimiter = ';')
{
$this->filename = $filename;
$this->delimiter = $delimiter;
$this->collection = $collection;
}
/**
* Main function
* Adds headers
* Outputs.
*/
public function export()
{
$this->headers();
$headerLine = false;
foreach ($this->collection as $object) {
$vars = get_object_vars($object);
if (!$headerLine) {
$this->output(array_keys($vars));
$headerLine = true;
}
// outputs values
$this->output($vars);
unset($vars);
}
}
/**
* Wraps data and echoes
* Uses defined delimiter.
*
* @param array $data
*/
public function output($data)
{
$wrappedData = array_map(['CSVCore', 'wrap'], $data);
echo sprintf("%s\n", implode($this->delimiter, $wrappedData));
}
/**
* Escapes data.
*
* @param string $data
*
* @return string $data
*/
public static function wrap($data)
{
$data = str_replace(['"', ';'], '', $data);
return sprintf('"%s"', $data);
}
/**
* Adds headers.
*/
public function headers()
{
header('Content-type: text/csv');
header('Content-Type: application/force-download; charset=UTF-8');
header('Cache-Control: no-store, no-cache');
header('Content-disposition: attachment; filename="' . $this->filename . '.csv"');
}
}
Function Calls
None |
Stats
MD5 | 89af1924b2b6caf6168f2e7acb7f2b3f |
Eval Count | 0 |
Decode Time | 109 ms |