Примеры указания SID

SID является наиболее важным параметром при установки публичного компонента модуля на веб-сайт. По значению данного параметра определяется доступность ранее созданных публичных заявок посетителям веб-ресурса. Именно поэтому значение данного параметра должно быть уникальным. В данном разделе будет приведено несколько кратких примеров с использованием языка PHP для генерации "sid", в зависимости от назначения публичного компонента.

Приватные заявки

Разграничение прав на просмотр только собственных заявок для зарегистрированных пользователей сайта можно реализовать, подставляя в значение "sid" хэш от заданного ключевого слова и идентификатора пользователя на сайте:

<?php
//--- получим данные пользователя из кеша или БД
$user_info=GetUserInfo($_SESSION['user_id']);
?>
<script type="text/javascript">
var tw_servicedesk_params={
        url:      'https://team.yourdomain.com',
        sid:      '<?php echo md5("Change_This_Secret_Word_".$user_info['id']);
        // хеш от строки: keyword + идентификатор пользователя веб-сайта ?>',
        container:'servicedesk',
        user_name:'<?php echo json_encode($user_info['name']);
        // для вывода используем функцию вывода c экранированием спец. символов ?>',
};
</script>

В данном примере необходимо обязательно заменить ключевое слово "Change_This_Secret_Word_" на ваше собственное.

В параметре "url" следует указать адрес вашего сервера TeamWox.

Заявки анонимных пользователей

Для того чтобы даже незарегистрированные пользователи могли просматривать ранее созданные ими заявки, можно использовать cookies для генерации значения "sid". В данном случае берется MD5 от cookies и секретного слова:

<?php
//--- если cookies не установлены, то установим
if(!isset($_COOKIE['name_cookie']))
  {
   $cookie=md5(uniqid(''));
   //--- установка cookies у пользователя
   setcookie('name_cookie',$cookie,time()+315360000);
  }
else
  {
   //--- получим установленные ранее cookies
   $cookie = $_COOKIE['name_cookie'];
  }
?>
<script type="text/javascript">
var tw_servicedesk_params={
        url:      'https://team.yourdomain.com',
        sid:      '<?php echo md5("Change_This_Secret_Word_".$cookie);
        // хэш от строки: секретное слово + идентификатор пользователя веб-сайта ?>',
        container:'service_desk',
        user_name:'Anonymous',
};
</script>

В данном примере необходимо обязательно заменить ключевое слово "Change_This_Secret_Word_" на ваше собственное.

В параметре "url" следует указать адрес вашего сервера TeamWox.

Здесь также присутствует пример установки cookies, в случае если ранее они не были установлены для пользователя. Значение "name-cookie" следует заменить на собственное название устанавливаемых cookies.

Следует помнить, что в данном случае анонимный пользователь сможет просматривать собственные заявки до тех пор пока cookies не будут удалены.

Для пользователей, в чьих браузерах отключены cookies, будет генерироваться одинаковый "sid". Такие пользователи смогу просматривать заявки друг друга.

Общая работа с публичной частью

Для организации работы с заявками без разграничения прав на них, следует указывать фиксированное значение "sid". В этом случае все пользователи, войдя в публичную часть модуля "Сервисдеск" смогут просматривать все ранее созданные публичные заявки.