Примеры указания 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". В этом случае все пользователи, войдя в публичную часть модуля "Сервисдеск" смогут просматривать все ранее созданные публичные заявки.