if ($form->hasValidData('operator') && erLhcoreClassModelUser::getUserCount(array('filter' => array('id' => $form->operator, 'disabled' => 0))) > 0) {
$inputData->operator = $chat->user_id = $form->operator;
}
if ($form->hasValidData('user_timezone')) {
$timezone_name = timezone_name_from_abbr(null, $form->user_timezone * 3600, true);
if ($timezone_name !== false) {
$chat->user_tz_identifier = $timezone_name;
} else {
$chat->user_tz_identifier = '';
}
}
$chat->dep_id = $inputData->departament_id;
// Assign default department
if ($form->hasValidData('DepartamentID') && erLhcoreClassModelDepartament::getCount(array('filter' => array('id' => $form->DepartamentID, 'disabled' => 0))) > 0) {
$inputData->departament_id = $chat->dep_id = $form->DepartamentID;
} elseif ($chat->dep_id == 0 || erLhcoreClassModelDepartament::getCount(array('filter' => array('id' => $chat->dep_id, 'disabled' => 0))) == 0) {
$departments = erLhcoreClassModelDepartament::getList(array('limit' => 1, 'filter' => array('disabled' => 0)));
if (!empty($departments)) {
$department = array_shift($departments);
$chat->dep_id = $department->id;
} else {
$Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('chat/startchat', 'Could not determine a default department!');
}
}
if (count($Errors) == 0) {
$chat->time = time();
$chat->status = 0;
$chat->setIP();
$chat->hash = erLhcoreClassChat::generateHash();
$chat->referrer = isset($_POST['URLRefer']) ? $_POST['URLRefer'] : '';
$chat->session_referrer = isset($_POST['r']) ? $_POST['r'] : '';