• Модуль: support
  • Путь к файлу: ~/bitrix/modules/support/classes/general/coupons.php
  • Класс: CSupportSuperCoupon
  • Вызов: CSupportSuperCoupon::GetLogList
static function GetLogList($arOrder = array(), $arFilter = array())
{
	global $DB;
	$arFields = array(
		'COUPON_ID' => array(
			'TABLE_ALIAS' => 'C',
			'FIELD_NAME' => 'C.ID',
			'FIELD_TYPE' => 'int', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
		
		
		'COUPON' => array(
			'TABLE_ALIAS' => 'L',
			'FIELD_NAME' => 'L.COUPON',
			'FIELD_TYPE' => 'string', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
		'SUCCESS' => array(
			'TABLE_ALIAS' => 'L',
			'FIELD_NAME' => 'L.SUCCESS',
			'FIELD_TYPE' => 'string', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
		'USER_ID' => array(
			'TABLE_ALIAS' => 'L',
			'FIELD_NAME' => 'L.USER_ID',
			'FIELD_TYPE' => 'int', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
		'TIMESTAMP_X' => array(
			'TABLE_ALIAS' => 'L',
			'FIELD_NAME' => 'L.TIMESTAMP_X',
			'FIELD_TYPE' => 'datetime', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
	);
	
	$obQueryWhere = new CSQLWhere;
	$obQueryWhere->SetFields($arFields);
	
	$where = $obQueryWhere->GetQuery($arFilter);
	
	$order = '';
	if (is_array($arOrder))
	{
		foreach ($arOrder as $k => $v)
		{
			if (array_key_exists($k, $arFields))
			{
				$v = mb_strtoupper($v);
				if($v != 'DESC')
				{
					$v  ='ASC';
				}
				if ($order <> '')
				{
					$order .= ', ';
				}
				$order .= $arFields[$k]['FIELD_NAME'] . ' ' . $v;
			}		
		}
	}
	
	$strQuery = "SELECT  C.ID COUPON_ID, L.COUPON COUPON,
	L.USER_ID USER_ID, L.SUCCESS SUCCESS, L.AFTER_COUNT AFTER_COUNT,
	L.SESSION_ID SESSION_ID, L.GUEST_ID GUEST_ID,
	U.LOGIN LOGIN, U.NAME FIRST_NAME, U.LAST_NAME LAST_NAME,
	".$DB->DateToCharFunction('L.TIMESTAMP_X')." TIMESTAMP_X
	FROM b_ticket_supercoupons_log L
	LEFT JOIN b_ticket_supercoupons C ON (L.COUPON_ID = C.ID)
	LEFT JOIN b_user U ON (L.USER_ID IS NOT NULL AND L.USER_ID = U.ID)";
	
	if ($where <> '')
	{
		$strQuery .= ' WHERE ' . $where;
	}
	
	if ($order <> '')
	{
		$strQuery .= ' ORDER BY ' . $order;
	}
	
	return $DB->Query($strQuery, false, "File: ".__FILE__."
Line: ".__LINE__); }