Your IP : 3.147.83.69
<?php
/**
* Bitrix Framework
* @package bitrix
* @subpackage socialnetwork
* @copyright 2001-2012 Bitrix
*/
namespace Bitrix\Socialnetwork;
use Bitrix\Main;
use Bitrix\Main\Entity;
use Bitrix\Main\NotImplementedException;
class WorkgroupViewTable extends Entity\DataManager
{
public static function getTableName()
{
return 'b_sonet_group_view';
}
public static function getMap()
{
$fieldsMap = array(
'USER_ID' => array(
'data_type' => 'integer',
'primary' => true
),
'USER' => array(
'data_type' => '\Bitrix\Main\User',
'reference' => array('=this.USER_ID' => 'ref.ID')
),
'GROUP_ID' => array(
'data_type' => 'integer',
'primary' => true
),
'GROUP' => array(
'data_type' => '\Bitrix\Socialnetwork\Workgroup',
'reference' => array('=this.GROUP_ID' => 'ref.ID')
),
'DATE_VIEW' => array(
'data_type' => 'datetime'
),
);
return $fieldsMap;
}
public static function set($params = array())
{
global $USER, $CACHE_MANAGER;
if (
!is_array($params)
|| !isset($params['GROUP_ID'])
|| intval($params['GROUP_ID']) <= 0
)
{
throw new Main\SystemException("Empty groupId.");
}
$groupId = intval($params['GROUP_ID']);
$userId = (
isset($params['USER_ID'])
&& intval($params['USER_ID']) > 0
? intval($params['USER_ID'])
: $USER->getId()
);
if (intval($userId) <= 0)
{
throw new Main\SystemException("Empty userId.");
}
$connection = \Bitrix\Main\Application::getConnection();
$helper = $connection->getSqlHelper();
$insertFields = array(
"USER_ID" => $userId,
"GROUP_ID" => $groupId,
"DATE_VIEW" => new \Bitrix\Main\DB\SqlExpression($helper->getCurrentDateTimeFunction()),
);
$updateFields = array(
"DATE_VIEW" => new \Bitrix\Main\DB\SqlExpression($helper->getCurrentDateTimeFunction()),
);
$merge = $helper->prepareMerge(
static::getTableName(),
array("USER_ID", "GROUP_ID"),
$insertFields,
$updateFields
);
if ($merge[0] != "")
{
$connection->query($merge[0]);
}
if(defined("BX_COMP_MANAGED_CACHE"))
{
$CACHE_MANAGER->ClearByTag("sonet_group_view_U".$userId);
}
}
public static function add(array $data)
{
throw new NotImplementedException("Use set() method of the class.");
}
public static function update($primary, array $data)
{
throw new NotImplementedException("Use set() method of the class.");
}
}