Your IP : 172.28.240.42


Current Path : /var/www/html/clients/e-nkama.ru/e-nkama_bitrix/bitrix/template/
Upload File :
Current File : /var/www/html/clients/e-nkama.ru/e-nkama_bitrix/bitrix/template/softkey_editable.php

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

$STAT_RIGHT = $APPLICATION->GetGroupRight("statistic");
if($STAT_RIGHT=="D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

/***************************************************************************
Convertation of the standard Softkey CSV file to the 
CSV file format of the Statistics module.
***************************************************************************/

/*
	Input parameters:
	INPUT_CSV_FILE - path to the source file
	OUTPUT_CSV_FILE - path to the resulting file
*/

$SEPARATOR = ","; // CSV separator

function CleanUpCsv(&$item)
{
	$item = TrimEx($item, "\"");
}

function PrepareQuotes(&$item)
{
	$item = "\"".str_replace("\"","\"\"", $item)."\"";
}

if ($fp_in = fopen($INPUT_CSV_FILE,"rb"))
{
	$upload_dir = $_SERVER["DOCUMENT_ROOT"]."/".COption::GetOptionString("main","upload_dir","/upload/"). "/statistic";
	if (substr($OUTPUT_CSV_FILE, 0, strlen($upload_dir))==$upload_dir && $fp_out = fopen($OUTPUT_CSV_FILE,"wb"))
	{
		$i = 0; // counter of the read valuable lines
		$j = 0; // counter of the written to the resulting  file lines 
		$lang_date_format = FORMAT_DATE; // date format for the current language
		$event1 = "softkey";
		$event2 = "buy";
		$EVENT_ID = CStatEventType::ConditionSet($event1, $event2, $arEventType)." (".$event1." / ".$event2.")";
		$SITE_ID = GetEventSiteID(); // short site identifier (ID)
		while (!feof($fp_in)) 
		{
			$arrCSV = fgetcsv($fp_in, 4096, $SEPARATOR);
			if (is_array($arrCSV) && count($arrCSV)>1)
			{
				array_walk($arrCSV, "CleanUpCsv");
				reset($arrCSV);
				$i++;
				// if it is the first line then
				if ($arrCSV[0]=="AUTHOR_ID")
				{
					// get an array with the field numbers 
					$arrS = array_flip($arrCSV);
				}
				elseif ($arrCSV[0]!="AUTHOR_ID" && is_array($arrS) && count($arrS)>0) // else form the CSV line in module format and write it to the resulting file 
				{
					$arrRes = array();

					// ID of an event type;
					$arrRes[] = $EVENT_ID;

					// event3
					$arrRes[] = $arrCSV[$arrS["ORDER_ID"]]." / ".$arrCSV[$arrS["PROGRAM_ID"]]." / ".$arrCSV[$arrS["OPTION_ID"]];

					// date
					$arrRes[] = $DB->FormatDate(trim($arrCSV[$arrS["PAID_DATE"]]), "DD.MM.YYYY", $lang_date_format);

					// additional parameter
					$ADDITIONAL_PARAMETER = $arrCSV[$arrS["REFERER1"]];
					if (strpos($ADDITIONAL_PARAMETER,$SITE_ID)===false)
					{
						$ADDITIONAL_PARAMETER = $arrCSV[$arrS["REFERER2"]];
					}
					$arrRes[] = $ADDITIONAL_PARAMETER;

					// money sum
					$arrRes[] = $arrCSV[$arrS["AMOUNT"]];

					// currency
					$arrRes[] = $arrCSV[$arrS["CURRENCY"]];

					$PAID_UP = $arrCSV[$arrS["PAID_UP"]];

					// if short site identifier exists in Additional parameter then
					if (strpos($ADDITIONAL_PARAMETER,$SITE_ID)!==false && $PAID_UP=="Y")
					{
						// write the line to the resulting file
						$j++;
						array_walk($arrRes, "PrepareQuotes");
						$str = implode(",",$arrRes);
						if ($j>1) $str = "\n".$str;
						fputs($fp_out, $str);
					}
				}
			}
		}
		@fclose($fp_out);
	}
	@fclose($fp_in);
}

/*

Îïèñàíèå CSV ïîëåé:

AUTHOR_ID - êîä êîìïàíèè àâòîðà;
AUTHOR_NAME - íàçâàíèå êîìïàíèè àâòîðà;
ORDER_ID - êîä çàêàçà;
BASKET_ID - êîä ïîçèöèè çàêàçà;
DATE_INSERT - äàòà ñîçäàíèÿ çàêàçà;
PROGRAM_ID - êîä ïðîãðàììû;
OPTION_ID - êîä îïöèè ïðîãðàììû;
PROGRAM_NAME - íàçâàíèå ïðîãðàììû;
LID - ðåãèîí ïðîäàæ;
BUYER_NAME - ïîëíîå èìÿ ïîêóïàòåëÿ;
BUYER_COMPANY_ID - êîä êîìïàíèè ïîêóïàòåëÿ;
BUYER_COMPANY - íàçâàíèå êîìïàíèè ïîêóïàòåëÿ;
QUANTITY - êîëè÷åñòâî êîïèé;
AMOUNT - ñòîèìîñòü çàêàçà;
CURRENCY - âàëþòà çàêàçà;
CURRENCY_RATE_USD - êóðñ âàëþòû çàêàçà ïî îòíîøåíèþ ê USD;
AMOUNT_USER_CURRENCY - ñòîèìîñòü â äîïîëíèòåëüíîé âàëþòå;
CURRENCY_RATE_USER_CURRENCY - êóðñ äîïîëíèòåëüíîé âàëþòû ê USD;
STATUS - òåêóùèé ñòàòóñ çàêàçà;
DATE_STATUS - äàòà ïîñëåäíåãî èçìåíåíèÿ ñòàòóñà;
DATE_DISPATCH - äàòà óñòàíîâëåíèÿ ñòàòóñà "îòãðóæåí";
CANCEL_REASON - ïðè÷èíà îòìåíû çàêàçà;
CANCEL_REASON_ANOTHER - ïðîèçâîëüíàÿ ïðè÷èíà îòìåíû;
PAID_UP - îïëà÷åí ëè çàêàç (Y/N)
PAID_DATE - äàòà îïëàòû çàêàçà;
DEALER_AGREEMENT_ID - êîä äèëåðñêîãî äîãîâîðà;
DEALER_DISCOUNT - äèëåðñêàÿ ñêèäêà;
BUYER_AGREEMENT_ID - êîä äîãîâîðà ïîêóïàòåëüñêîé ñêèäêè;
BUYER_DISCOUNT - ïîêóïàòåëüñêàÿ ñêèäêà;
COUPON - çíà÷åíèå êóïîíà äëÿ ñêèäêè;
AUTHOR_AMOUNT - àâòîðñêîå âîçíàãðàæäåíèå;
AUTHOR_AMOUNT_USER_CURRENCY - àâòîðñêîå âîçíàãðàæäåíèå â äîïîëíèòåëüíîé âàëþòå;
COMMISSION_AGREEMENT_ID - êîä àâòîðñêîãî äîãîâîðà;
COMMISSION_AMOUNT - âåëè÷èíà êîìèññèè;
COMMISSION_CURRENCY - âàëþòà âûïëàòû àâòîðñêîãî âîçíàãðàæäåíèÿ;
DELIVERY_LID - ïðåäñòàâèòåëüñòâî, îòâåòñòâåííîå çà îòãðóçêó çàêàçà;
TRANSFER - ïåðåâåäåíû ëè ñðåäñòâà íà âíóòðåííèé ñ÷åò àâòîðà (Y/N);
AFFILIATE_ID - êîä êîìïàíèè àôôèëèàòà;
AFFILIATE_NAME - íàçâàíèå êîìïàíèè àôôèëèàòà;
AFFILIATE_URL_FROM - ñ êàêîé ñòðàíèöû àôôèëèàòà ïåðåøåë ïîêóïàòåëü;
AFFILIATE_URL_TO - íà êàêóþ ñòðàíèöó ïåðåøåë ïîêóïàòåëü îò àôôèëèàòà;
AFFILIATE_DATE - äàòà ïåðåõîäà îò àôôèëèàòà;
AFFILIATE_AGREEMENT_ID - êîä àôôèëèàòñêîãî äîãîâîðà;
AFFILIATE_AMOUNT - êîìèññèÿ àôôèëèàòà;
IP_ADDRESS - IP àäðåñ ïîêóïàòåëÿ;
HTTP_HOST - õîñò ïîêóïàòåëÿ;
HTTP_REFERER - ñ êàêîé ñòðàíèöû ïîêóïàòåëü îôîðìèë çàêàç;
HTTP_ACCEPT_LANGUAGE - ÿçûêè áðàóçåðà ïîêóïàòåëÿ;
HTTP_USER_AGENT - íàçâàíèå áðàóçåðà ïîêóïàòåëÿ;
REG_NAME - èìÿ äëÿ ðåãèñòðàöèè;
REG_COMPANY - íàçâàíèå êîìïàíèè äëÿ ðåãèñòðàöèè;
REG_EMAIL - email äëÿ ðåãèñòðàöèè;
REG_ZIPCODE - ïî÷òîâûé èíäåêñ äëÿ ðåãèñòðàöèè;
REG_LOCATION - ìåñòîïîëîæåíèå äëÿ ðåãèñòðàöèè;
REG_CITY - ãîðîä äëÿ ðåãèñòðàöèè;
REG_ADDRESS - àäðåñ äëÿ ðåãèñòðàöèè;
REG_PHONE - òåëåôîí äëÿ ðåãèñòðàöèè;
REG_PARAM1 - äîïîëíèòåëüíîå ïîëå 1;
REG_PARAM2 - äîïîëíèòåëüíîå ïîëå 2;
REG_PARAM3 - äîïîëíèòåëüíîå ïîëå 3;
REFERER1 - ïàðàìåòð referer1 èç ññûëêè íà çàêàç (èäåíòèôèêàòîð ðåêëàìíîé êàìïàíèè);
REFERER2 - ïàðàìåòð referer2 èç ññûëêè íà çàêàç;
REF_URL_FROM - îòêóäà ïåðåøåë ïîêóïàòåëü ïî ðåêëàìíîé êàìïàíèè;
REF_URL_TO - êóäà ïåðåøåë ïîêóïàòåëü ïî ðåêëàìíîé êàìïàíèè;
REF_DATE - äàòà ïåðåõîäà ïî ðåêëàìíîé êàìàïíèè;
SESSION_REFERER - îòêóäà ïîêóïàòåëü ïðèøåë íà ñåðâåð;
ORD_EMAIL - êîíòàêòíûé email â çàêàçå;
ORD_CONTACT_PERSON - êîíòàêòíîå ëèöî â çàêàçå;
ORD_COMPANY_NAME - íàçâàíèå êîìïàíèè â çàêàçå;
ORD_INN - ÈÍÍ â çàêàçå;
ORD_LOCATION - ìåñòîïîëîæåíèå â çàêàçå;
ORD_COUNTRY - ñòðàíà â çàêàçå;
ORD_ZIP_CODE - ïî÷òîâûé èíäåêñ â çàêàçå;
ORD_STATE - øòàò â çàêàçå;
ORD_CITY - ãîðîä â çàêàçå;
ORD_ADDRESS - þðèäè÷åñêèé àäðåñ â çàêàçå;
ORD_ADDRESS_FACT - ôàêòè÷åñêèé àäðåñ â çàêàçå;
ORD_PHONE - òåëåôîí â çàêàçå;
ORD_FAX - ôàêñ â çàêàçå;
ORD_OKONH - ÎÊÎÍÕ â çàêàçå;
ORD_OKPO - ÎÊÏÎ â çàêàçå;
ORG_TYPE_NAME - îðãàíèçàöèîííàÿ ôîðìà ïëàòåëüùèêà;
PAYMENT_SYS_NAME - íàçâàíèå ìåòîäà îïëàòû.
*/
?>