%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/sender/lib/integration/voximplant/ |
Current File : //home/bitrix/www/bitrix/modules/sender/lib/integration/voximplant/calllog.php |
<?php /** * Bitrix Framework * @package bitrix * @subpackage sender * @copyright 2001-2012 Bitrix */ namespace Bitrix\Sender\Integration\VoxImplant; use Bitrix\Main\Entity; use Bitrix\Main\Localization\Loc; use Bitrix\Main\Type; Loc::loadMessages(__FILE__); /** * Class CallLogTable * @package Bitrix\Sender\Integration\VoxImplant */ class CallLogTable extends Entity\DataManager { /** * Get recipient id by call id. * * @return integer|null */ public static function getRecipientIdByCallId($callId) { $row = static::getRowById(array('CALL_ID' => $callId)); return $row ? $row['RECIPIENT_ID'] : null; } /** * Get actual call count. * * @return int */ public static function getActualCallCount() { return static::getCount( array('>DATE_INSERT' => static::getFilterCurrentDate()), array('ttl' => 900) ); } protected static function getFilterCurrentDate() { $dateTime = new Type\DateTime(); return $dateTime->add('-15 minutes'); } /** * Remove by call id. * * @param integer $callId Call ID. * @return void */ public static function removeByCallId($callId = null) { $list = static::getList(array( 'select' => array('CALL_ID'), 'filter' => array( 'LOGIC' => 'OR', '=CALL_ID' => $callId, '<DATE_INSERT' => static::getFilterCurrentDate(), ) )); foreach ($list as $item) { static::delete(array('CALL_ID' => $item['CALL_ID'])); } } /** * Get table name. * * @return string */ public static function getTableName() { return 'b_sender_call_log'; } /** * Get map. * * @return array */ public static function getMap() { return array( 'CALL_ID' => array( 'data_type' => 'string', 'primary' => true, ), 'RECIPIENT_ID' => array( 'data_type' => 'integer', 'primary' => true, ), 'DATE_INSERT' => array( 'data_type' => 'datetime', 'required' => true, 'default_value' => new Type\DateTime(), ), ); } }