<?php

/* Перевод сайта <?=Dict::_('STITLE')?> */
$dict = include ROOT . 'assets/lang/ru.php';
class Dict {
	static function _($key) {
		$dict = $GLOBALS['dict'];
		if($dict[$key]) { return $dict[$key]; } else { return $key; }
	}
}

// Просмота всех подпапок и всех вложенных файлов
function dir_size($dirname) {
	$totalsize=0;
	if ($dirstream = @opendir($dirname)) {
	while (false !== ($filename = readdir($dirstream))) {
		if ($filename!="." && $filename!="..")
		{
			if (is_file($dirname."/".$filename))
			$totalsize+=filesize($dirname."/".$filename);
  
			if (is_dir($dirname."/".$filename))
			$totalsize+=dir_size($dirname."/".$filename);
			}
		}
	}
	closedir($dirstream);
	return $totalsize;
}

// Формат размера файла
function format_size($size){
	 $metrics[0] = 'б';
	 $metrics[1] = 'Кб';
	 $metrics[2] = 'Мб';
	 $metrics[3] = 'Гб';
	 $metrics[4] = 'Тб';
	 $metric 	 = 0;         
	 while(floor($size/1024) > 0){
		 ++$metric;
		 $size /= 1024;
	 }        
	 $ret =  round($size,1)." ".(isset($metrics[$metric])?$metrics[$metric]:'??');
	return $ret;
}

// Сокращение стоимоти сделок
function conv_price( $price , $type , $cy ){
	// $price 	- денежная величина
	// $type 	- вид вывода^ длинный (long) или короткий (short)
	// $cy		- обозначение валюты, например "руб." или "$"
	if(substr($price, 0, 1) == '+' OR substr($price, 0, 1) == '-'){
		$price = substr($price, 1);
	}
	$int_price = round( $price , 0 );
	$len_price = strlen($int_price);
	if ($len_price > 12) {
		$short_price 	= 	round($int_price / 1000000000000 , 2) 	. ' трлн.';
		$long_price 	= 	substr($price, 0, $len_price - 12) 		. '\'' . 
							substr($price, $len_price - 12, 3) 		. '\'' . 
							substr($price, $len_price - 9, 3) 		. '\'' . 
							substr($price, $len_price - 6, 3) 		. '\'' . 
							substr($price, $len_price - 3, 3);// 		. '.' . 
							//substr(round( $price , 1 ), -1);
	} elseif ($len_price > 9) {
		$short_price 	= 	round($int_price / 1000000000 , 2) 		. ' млрд.';
		$long_price 	= 	substr($price, 0, $len_price - 9) 		. '\'' . 
							substr($price, $len_price - 9, 3) 		. '\'' . 
							substr($price, $len_price - 6, 3) 		. '\'' . 
							substr($price, $len_price - 3, 3);// 		. '.' . 
							//substr(round( $price , 1 ), -1);
	} elseif ($len_price > 6) {
		$short_price 	= 	round($int_price / 1000000 , 2) 		. ' млн.';
		$long_price 	= 	substr($price, 0, $len_price - 6) 		. '\'' . 
							substr($price, $len_price - 6, 3) 		. '\'' . 
							substr($price, $len_price - 3, 3);// 		. '.' . 
							//substr(round( $price , 1 ), -1);
	} elseif ($len_price > 3) {
		$short_price 	= 	round($int_price / 1000 , 2) 			. ' тыс.';
		$long_price 	= 	substr($price, 0, $len_price - 3) 		. '\'' . 
							substr($price, $len_price - 3, 3);// 		. '.' . 
							//substr(round( $price , 1 ), -1);
	} else {
		$short_price 	= 	round( $price , 0 );
		$long_price 	= 	round( $price , 2 );
	}
	if ($type == 'short') {
		return '<b>' . $short_price . '</b> ' . $cy;
	} else {
		return $long_price 	. ' ' . $cy;
	}
}

// Преобразование HEX в RGB
function hexToRgb($hex, $return_string = false) {
	$hex = trim($hex, ' #');
	$size = strlen($hex);	
	if ($size == 3 || $size == 4) {
		$parts = str_split($hex, 1);
		$hex = '';
		foreach ($parts as $row) {
			$hex .= $row . $row;
		}		
	}
	$dec = hexdec($hex);
	$rgb = array();
	if ($size == 3 || $size == 6) {
		$rgb['red']   = 0xFF & ($dec >> 0x10);
		$rgb['green'] = 0xFF & ($dec >> 0x8);
		$rgb['blue']  = 0xFF & $dec;
 
		if ($return_string) {
			return 'rgb(' . implode(',', $rgb) . ')';
		}
	} elseif ($size == 4 || $size == 8) {
		$rgb['red']   = 0xFF & ($dec >> 0x16);
		$rgb['green'] = 0xFF & ($dec >> 0x10);
		$rgb['blue']  = 0xFF & ($dec >> 0x8);
		$rgb['alpha'] = 0xFF & $dec;
 
		if ($return_string) {
			$rgb['alpha'] = round(($rgb['alpha'] / (255 / 100)) / 100, 2);
			return 'rgba(' . implode(',', $rgb) . ')';
		} else {
			$rgb['alpha'] = 127 - ($rgb['alpha'] >> 1);
		}		
	} else {
		return false;
	}
	return $rgb;
}

// Вывод Цветового кода по строке (фиксированные цвета)
function get_color($str){
	$del_let = ['a','b','c','d','e','f','h','i','k','l','m','n','o','p','q','r','s','t','v','x','y','z','A','B','C','D','E','F','G','H','I','K','L','M','N','O','P','Q','R','S','T','V','X','Y','Z'];
	$num 	= substr(str_replace($del_let, '', md5('*' . $str)), 0, 1);
	$colors = array('d12b23','d15823','d17d23','d19923','d0b423','b9c123','98cf23','7cd123','3ed13e','2cd18d','23cbb6','2395d1','2370d1','244dd1','3a3ad1','5426d1','9423d1','9e23d2','d1d1d2','bababb','a2a2a3','d12b23','d15823','d17d23','d19923','d0b423','b9c123','98cf23','7cd123','3ed13e','2cd18d','23cbb6','2395d1','2370d1','244dd1','3a3ad1','5426d1','9423d1','9e23d2','d1d1d2','bababb','a2a2a3','88898a','6e6f71','555658','3d3e41','27282b','151619','06070a');
	$color	= '#' . $colors[$num];
	return $color;
}

// Вывод Цветового кода по строке (случайные цвета)
function get_color2($str){
	$del_let = ['g','h','i','k','l','m','n','o','p','q','r','s','t','v','x','y','z','G','H','I','K','L','M','N','O','P','Q','R','S','T','V','X','Y','Z'];
	$color	= '#' . substr(str_replace($del_let, '', md5($str)), -6);
	return $color;
}

// Вывод Цветового кода по первой букве (фиксированные цвета)
function get_color_char($str){
	mb_internal_encoding("UTF-8");
	$str_f_char = mb_substr($str, 0, 1);
	$all_chars 	= "abcdefhiklmnopqrstvxyzабвгдеёжзикдмнопрстуфхцчыэюя";
	$num 		= mb_strpos($all_chars, mb_strtolower($str_f_char));
	$colors 	= array('d12b23','d15823','d17d23','d19923','d0b423','b9c123','98cf23','7cd123','3ed13e','2cd18d','23cbb6','2395d1','2370d1','244dd1','3a3ad1','5426d1','9423d1','9e23d2','d1d1d2','bababb','a2a2a3','d12b23','d15823','d17d23','d19923','d0b423','b9c123','98cf23','7cd123','3ed13e','2cd18d','23cbb6','2395d1','2370d1','244dd1','3a3ad1','5426d1','9423d1','9e23d2','d1d1d2','bababb','a2a2a3','88898a','6e6f71','555658','3d3e41','27282b','151619','06070a');
	$color	= '#' . $colors[$num];
	return $color;
}

// Вывод ID для нового элемента базы
function newID($base,$list,$item){
	// $base 	- тип базы данных
	// $list 	- тип раздела базы данных
	// $item 	- тип элемента базы данных
	global $baseT, $baseU, $baseC, $baseD, $baseE, $baseL, $baseQ, $baseB, $baseP, $baseV, $baseLT, $baseTMPL, $LoginCheck;
	$dom 	= new DOMDocument;
	if($base == 'tasks'){
		$BASE = $baseT;
	}elseif($base == 'users'){
		$BASE = $baseU;
	}elseif($base == 'clients'){
		$BASE = $baseC;
	}elseif($base == 'deals'){
		$BASE = $baseD;
	}elseif($base == 'events'){
		$BASE = $baseE;
	}elseif($base == 'logs'){
		$BASE = $baseL;
	}elseif($base == 'qchat'){
		$BASE = $baseQ;
	}elseif($base == 'payments'){
		$BASE = $baseP;
	}elseif($base == 'vacations'){
		$BASE = $baseV;
	}elseif($base == 'ipblock'){
		$BASE = $baseB;
	}elseif($base == 'letters'){
		$BASE = $baseLT;
	}elseif($base == 'templs'){
		$BASE = $baseTMPL;
	}elseif($base == 'notes'){
		$BASE = ROOT . '/crmdata/database/notebooks/notebook-' . $LoginCheck . '.xml';
	}
	
	$dom	->load($BASE);
	$xpath 	= new DOMXPath($dom);
	
	$num = $xpath->query("/$list/$item");
	if($num->length > 0){
		$lastID = $xpath->query('/' . $list . '/' . $item . '[last()]')->item(0)->getAttribute('id');
	} else {
		$lastID = 0;
	}
	return $lastID + 1;
}

// Вывод Логина пользователя по ID
function get_user_login($id){
	global $baseU;
	$dom = new DOMDocument;
	$dom->load($baseU);
	$xpath = new DOMXPath($dom);
	$users = $xpath->query('/users/user[@id="'.$id.'"]');
	if($users->length > 0){
		foreach ($users as $user) {
			$Login = $user->getAttribute('login');
		}
		return $Login;
	} else {
		return 'Нет данных';
	}
}

// Вывод ID пользователя по Логину
function get_user_id_login($login){
	global $baseU;
	$dom = new DOMDocument;
	$dom->load($baseU);
	$xpath = new DOMXPath($dom);
	$users = $xpath->query('/users/user[@login="'.$login.'"]');
	if($users->length > 0){
		foreach ($users as $user) {
			$ID = $user->getAttribute('id');
		}
		return $ID;
	} else {
		return 'Нет данных';
	}
}

// Вывод Имени и Фамилии пользователя по ID
function get_user_name($id, $type){
	// $id 		- ID пользователя
	// $type 	- вид вывода: сокращенный "И.Иванов" (small), инициалы "ИИ" (short) или полный "Иванов Иван" ('')
	global $baseU;
	$dom = new DOMDocument;
	$dom->load($baseU);
	$xpath = new DOMXPath($dom);
	$users = $xpath->query('/users/user[@id="'.$id.'"]'); 
	if($users->length > 0){
		foreach ($users as $user) {
			$listUserName			= $user->getElementsByTagName("username")->item(0)->nodeValue;
			$listUserSurName		= $user->getElementsByTagName("usersurname")->item(0)->nodeValue;
			$listUserNameSM			= mb_substr($user->getElementsByTagName("username")->item(0)->nodeValue, 0, 1,'utf-8').'.';
		}
		if($type == 'small'){
			return $listUserNameSM . $listUserSurName;
		} elseif($type == 'short') {
			return mb_substr($listUserSurName, 0, 1,'utf-8') . mb_substr($listUserName, 0, 1,'utf-8');
		} else {
			return $listUserSurName . ' ' . $listUserName;
		}
	} else {
		return 'Нет данных';
	}
}
// Вывод Имени и Фамилии пользователя по логину
function get_user_name_login($login, $type){
	// $login 	- логин пользователя
	// $type 	- вид вывода: сокращенный "И.Иванов" (small), инициалы "ИИ" (short) или полный "Иванов Иван" ('')
	global $baseU;
	$dom = new DOMDocument;
	$dom->load($baseU);
	$xpath = new DOMXPath($dom);
	$users = $xpath->query('/users/user[@login="'.$login.'"]'); 
	if($users->length > 0){
		foreach ($users as $user) {
			$listUserName			= $user->getElementsByTagName("username")->item(0)->nodeValue;
			$listUserSurName		= $user->getElementsByTagName("usersurname")->item(0)->nodeValue;
			$listUserNameSM			= mb_substr($user->getElementsByTagName("username")->item(0)->nodeValue, 0, 1,'utf-8').'.';
		}
		if($type == 'small'){
			return $listUserNameSM . $listUserSurName;
		} elseif($type == 'short') {
			return mb_substr($listUserSurName, 0, 1,'utf-8') . mb_substr($listUserName, 0, 1,'utf-8');
		} else {
			return $listUserSurName . ' ' . $listUserName;
		}
	} else {
		return 'Нет данных';
	}
}

// Вывод Названия задачи по ID
function get_task_name($id, $type){ 
	// $id 		- ID задачи
	// $type 	- вид вывода: сокращенный "Выполнить задач..." (small) или полный "Выполнить задачу" ('')
	global $baseT;
	$dom = new DOMDocument;
	$dom->load($baseT);
	$xpath = new DOMXPath($dom);
	$tasks = $xpath->query('/tasks/task[@id="'.$id.'"]');
	if($tasks->length > 0){
		foreach ($tasks as $task) {
			$TaskName			= $task->getElementsByTagName("taskname")->item(0)->nodeValue;
			$TaskNameSM			= mb_substr($task->getElementsByTagName("taskname")->item(0)->nodeValue, 0, 30,'utf-8').'...';
		}
		if($type == 'small'){
			return $TaskNameSM;
		} else {
			return $TaskName;
		}
	} else {
		return 'Нет данных';
	}
}

// Вывод Названия клиента по ID
function get_client_name($id){
	global $baseC;
	$dom = new DOMDocument;
	$dom->load($baseC);
	$xpath = new DOMXPath($dom);
	$clients = $xpath->query('/clients/client[@id="'.$id.'"]');
	if($clients->length > 0){
		foreach ($clients as $client) {
			$ClientName = $client->getElementsByTagName("clientname")->item(0)->nodeValue;
		}
		return $ClientName;
	} else {
		return 'Нет данных';
	}
}
// Вывод ID клиента по названию
function get_client_id_by_name($name){
	global $baseC;
	$dom = new DOMDocument;
	$dom->load($baseC);
	$xpath = new DOMXPath($dom);
	$clients = $xpath->query('/clients/client[clientname="'. $name .'"]');
	if($clients->length > 0){
		foreach ($clients as $client) {
			$ClientID = $client->getAttribute('id');
		}
		return $ClientID;
	} else {
		return 'Нет данных';
	}
}

// Вывод Номера сделки по ID
function get_deal_num($id){
	global $baseD, $nCRMdeals, $nCRMoffers;
	$dom = new DOMDocument;
	$dom->load($baseD);
	$xpath = new DOMXPath($dom);
	$deals = $xpath->query('/deals/deal[@id="'.$id.'"]');
	if($deals->length > 0){
		foreach ($deals as $deal) {
			$DealType 	= $deal->getAttribute('type');
			$DealNumber = $deal->getElementsByTagName("num")->item(0)->nodeValue;
		}
		if($DealType == 'deal-a' OR $DealType == 'deal-c'){
			$DealTypeName = $nCRMdeals;
		} elseif($DealType == 'offer') {
			$DealTypeName = $nCRMoffers;
		}
		return $DealTypeName . ' №' . $DealNumber;
	} else {
		return 'Нет данных';
	}
}
// Вывод ID клиента по ID сделки
function get_deal_client($id){
	global $baseD;
	$dom = new DOMDocument;
	$dom->load($baseD);
	$xpath = new DOMXPath($dom);
	$deals = $xpath->query('/deals/deal[@id="'.$id.'"]');
	if($deals->length > 0){
		foreach ($deals as $deal) {
			$DealClientID 	= $deal->getAttribute('client');
		}
		return $DealClientID;
	} else {
		return '-';
	}
}

function get_deal_info($id, $type){
	global $baseD;
	$dom = new DOMDocument;
	$dom->load($baseD);
	$xpath = new DOMXPath($dom);
	$deals = $xpath->query('/deals/deal[@id="'.$id.'"]');
	if($deals->length > 0){
		foreach ($deals as $deal) {
			$DealClient 	= $deal->getAttribute('client');
			$DealSubject 	= $deal->getElementsByTagName("subject")->item(0)->nodeValue;
			$DealClientName = get_client_name($DealClient);
			$DealComment 	= mb_substr(strip_tags($deal->getElementsByTagName("comment")->item(0)->nodeValue), 0, 40, 'UTF-8') . '...';
		}
		if($type == 'cid'){
			return $DealClient;
		} elseif($type == 'subject'){
			return $DealSubject;
		} elseif($type == 'cname'){
			return $DealClientName;
		} elseif($type == 'dcom'){
			return $DealComment;
		} elseif($type == 'all'){
			return $DealClientName . ' - ' . $DealSubject;
		} 
	} else {
		return 'Нет данных';
	}
}

// Вывод Названия события по ID
function get_event_name($id){
	global $baseE;
	$dom = new DOMDocument;
	$dom->load($baseE);
	$xpath = new DOMXPath($dom);
	$events = $xpath->query('/events/event[@id="'.$id.'"]');
	if($events->length > 0){
		foreach ($events as $event) {
			$EventName = $event->getElementsByTagName("name")->item(0)->nodeValue;
		}
		return $EventName;
	} else {
		return 'Нет данных';
	}
}

// Вывод информации о письме по ID
function get_letter_title($id){
	global $baseLT;
	$dom = new DOMDocument;
	$dom->load($baseLT);
	$xpath = new DOMXPath($dom);
	$letters = $xpath->query('/letters/letter[@id="'.$id.'"]');
	if($letters->length > 0){
		foreach ($letters as $letter) {
			$LetterSbj 	= $letter->getElementsByTagName("subject")->item(0)->nodeValue;
			$LetterFrom = $letter->getElementsByTagName("fromname")->item(0)->nodeValue;
			$LetterTo 	= $letter->getElementsByTagName("toname")->item(0)->nodeValue;
			$LetterDate = $letter->getElementsByTagName("date")->item(0)->nodeValue;
			if($LetterSbj != ''){
				$Subject = $LetterSbj;
			} else {
				$Subject = 'Без темы';
			}
		}
		return 'Письмо: "' . $Subject . '" от ' . $LetterFrom . ' (' . $LetterDate . ')';;
	} else {
		return 'Нет данных';
	}
}

// Вывод Фото пользователя по ID
function get_user_photo($id){
	global $baseU;
	$dom = new DOMDocument;
	$dom->load($baseU);
	$xpath = new DOMXPath($dom);
	$users = $xpath->query('/users/user[@id="'.$id.'"]');
	if($users->length > 0){
		foreach ($users as $user) {
			$UserPhoto	= $user->getElementsByTagName("userphoto")->item(0)->nodeValue;
		}
		if($UserPhoto != ''){
			return $UserPhoto;
		} else {
			return false;
		}
	} else {
		return '';
	}
}

// Запись нового лога о действии
function new_log($action){
	global $baseL, $numLogs;
	
	if(isset($_POST['login'])){
		$login = $_POST['login'];
	} else {
		$login = $_SESSION["login"];
	}
	
	$sessionID = newID('logs','logs','log');
	$sessionIP = GET_IP();
	$sessionTime = date("Y-m-d").' '.date("H:i:s");
	
	$dom = new DOMDocument; 
	$dom->load($baseL);
	$xpath = new DOMXPath($dom);
	$logs=$xpath->query('/logs')->item(0);
	$log = $dom->createElement('log');
	$attribute1 = $dom->createAttribute("id");
	$attribute1->value = $sessionID;
	$log->appendChild($attribute1);
	$log->appendChild($dom->createElement('login', $login));
	$log->appendChild($dom->createElement('action', $action));
	$log->appendChild($dom->createElement('userip', $sessionIP));
	$log->appendChild($dom->createElement('sessiontime', $sessionTime));
	$logs->appendChild($log);
	$dom->save($baseL);
	
	$countLogs 		= $xpath->query('/logs/log');
	if($countLogs	->length > $numLogs) {
		$dom 	= new DOMDocument; 
		$dom	->load($baseL);
		$xpath 	= new DOMXPath($dom); 
		$logs 	= $xpath->query('/logs/log[1]');
		$el 	= $logs->item(0);
		$el		->parentNode->removeChild($el);
		$dom	->save($baseL); 
	}
}

// Создание нового шаблона
function new_templ($name, $text){
	global $baseTMPL, $module, $ENTspace;
	$dom = new DOMDocument; 
	$dom->load($baseTMPL);
	$xpath = new DOMXPath($dom);
	
	$templs=$xpath->query('/templs')->item(0);
	$templ = $dom->createElement('templ');
	$attribute1 = $dom->createAttribute("id");
	$attribute1->value = newID('templs','templs','templ');;
	$templ->appendChild($attribute1);
	$templ->appendChild($dom->createElement('name', $name));
	$templ->appendChild($dom->createElement('mod', $module));
	$templ->appendChild($dom->createElement('templ', str_replace($ENTspace, "&amp;#160;", $text)));
	$templs->appendChild($templ);
	$dom->save($baseTMPL);
}

function get_utheme(){
	if(isset($_COOKIE['wbutheme'])){
		return $_COOKIE['wbutheme'];
	} else {
		if(isset($nCRMdesigntheme) AND $nCRMdesigntheme != ''){
			return $nCRMdesigntheme;
		} else {
			return 'light';
		}
	}
}

function send_email($to, $fromname, $subj, $mess){
	global $nCRMmailstat, $nCRMmailhost, $nCRMmailport, $nCRMmailname, $nCRMmailpass;
	
	if($nCRMmailstat == 'on'){
		$mail = new PHPMailer\PHPMailer\PHPMailer();
		try {
			$mail->isSMTP();   
			$mail->CharSet = "UTF-8";
			$mail->SMTPAuth   = true;
			//$mail->SMTPDebug = 1;
			$mail->Debugoutput 	= function($str, $level) {$GLOBALS['status'][] = $str;};
			$mail->Host       	= $nCRMmailhost; 		// SMTP сервера вашей почты
			$mail->Username   	= $nCRMmailname; 		// Логин на почте
			$mail->Password   	= $nCRMmailpass;		// Пароль на почте
			$mail->SMTPSecure 	= 'ssl';
			$mail->Port       	= $nCRMmailport;
			$mail->setFrom($nCRMmailname, $fromname); 	// Адрес самой почты и имя отправителя
			$mail->addAddress($to); 					// Получатель письма
			$mail->isHTML(true); 						// Отправка сообщения
			$mail->Subject 	= $subj;
			$mail->Body 	= $mess;    
			if ($mail->send()) {$result = "success";} else {$result = "error";} // Проверяем отравленность сообщения
		} catch (Exception $e) {
			$result = "error";
			$status = "Сообщение не было отправлено. Причина ошибки: {$mail->ErrorInfo}";
		}
		//echo json_encode(["result" => $result, "resultfile" => $rfile, "status" => $status]); // Отображение результата
		$notices[] = 'Обращение отправлено';
	} else {
		$headers  = "MIME-Version: 1.0\r\n";
		$headers .= "Content-type: text/html; charset=utf-8\r\n";
		$headers .= "From: no-reaply@no-reaply\r\n";

		if(mail($to, $subj, $mess, $headers)){
			$notices[] = 'Сообщение успешно отправлено';
		}else{
			$notices_er[] = 'Сообщение не отправлено';
		}

	}
}

function send_letter($to, $subj, $mess, $priority, $task, $client, $deal, $event){
	global $baseLT, $ENTspace;
	
	$letterID = newID('letters','letters','letter');
	
	$dom = new DOMDocument; 
	$dom->load($baseLT);
	$xpath = new DOMXPath($dom);
	
	$letters=$xpath->query('/letters')->item(0);
	$letter = $dom->createElement('letter');
	$attribute1 = $dom->createAttribute("id");
	$attribute2 = $dom->createAttribute("parentid");
	$attribute3 = $dom->createAttribute("status");
	$attribute1->value = $letterID;
	$letter->appendChild($attribute1);
	$attribute2->value = '';
	$letter->appendChild($attribute2);
	$attribute3->value = 'notread';
	$letter->appendChild($attribute3);
	$letter->appendChild($dom->createElement('fromid', ''));
	$letter->appendChild($dom->createElement('fromname', 'WORKBox CRM'));
	$letter->appendChild($dom->createElement('toid', $to));
	$letter->appendChild($dom->createElement('toname', get_user_name($to, '')));
	$letter->appendChild($dom->createElement('coppyid', ''));
	$letter->appendChild($dom->createElement('coppyname', ''));
	$letter->appendChild($dom->createElement('subject', $subj));
	$letter->appendChild($dom->createElement('text', mb_substr(str_replace($ENTspace, "&amp;#160;", $mess), 0, 300, 'UTF-8')));
	$letter->appendChild($dom->createElement('priority', $priority));
	$letter->appendChild($dom->createElement('date', date("Y-m-d H:i:s")));
	$letter->appendChild($dom->createElement('tags', ''));
	$letter->appendChild($dom->createElement('taskid', $task));
	$letter->appendChild($dom->createElement('taskname', get_task_name($task, '')));
	$letter->appendChild($dom->createElement('clientid', $client));
	$letter->appendChild($dom->createElement('clientname', get_client_name($client)));
	$letter->appendChild($dom->createElement('dealid', $deal));
	$letter->appendChild($dom->createElement('dealnum', get_deal_num($deal)));
	$letter->appendChild($dom->createElement('eventid', $event));
	$letter->appendChild($dom->createElement('eventname', get_event_name($event)));
	$letters->appendChild($letter);
	$dom->save($baseLT);
	
	/* Автоудаление уведомлений */
	$numLettersWB	= 999;
	$countLettersWB = $xpath->query('/letters/letter[@status="read" and contains(fromname,"WORKBox CRM")]');
	if($countLettersWB	->length > $numLettersWB) {
		$dox 		= new DOMDocument; 
		$dox		->load($baseLT);
		$xpathx 	= new DOMXPath($dox); 
		$lettersWBID= $xpathx->query('/letters/letter[@status="read" and contains(fromname,"WORKBox CRM")]')->item(0)->getAttribute('id');
		$lettersWB	= $xpathx->query('/letters/letter[@id='.$lettersWBID.']');
		$el 		= $lettersWB->item(0);
		$el			->parentNode->removeChild($el);
		$dox		->save($baseLT); 
	}
}