Les exemples de la specification SID

SID est le plus important paramètre à l'installation d'un composant public du module sur le site web. Selon la valeur de ce paramètre est déterminé la disponibilité des demandes publiques auparavant créées par les visiteurs de la ressource Web. Voilà pourquoi la valeur de ce paramètre doit être unique. Dans ce paragraphe seront donnés quelques exemples brefs avec l'utilisation de la langue PHP pour la génération "sid", en fonction de la destination du composant public.

Demandes privées

Vous pouvez réaliser la limitation des droits à la vue seulement des demandes personnelles pour les utilisateurs enregistrés du site, en mettant à la valeur "sid" la cache du mot - clé spécifié et de l'identificateur de l'utilisateur sur le site:

<?php
//--- nous recevrons les données de l'utilisateur de la cache ou de la base de données
$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']);
        // la cache de la ligne: keyword + de l'identificateur de l'utilisateur du site Web ?>',
        container:'servicedesk',
        user_name:'<?php echo json_encode($user_info['name']);
        // pour la sortie nous utilisons la fonction de la sortie avec le blindage. des symboles spéciales ?>',
};
</script>

Dans cet exemple il faut nécessairement changer le mot-clé " Change_This_Secret_Word_ pour votre propre.

Dans le paramètre "url" il faut spécifier l'adresse de votre serveur TeamWox.

Demandes des utilisateurs anonymes

Pour que les utilisateurs non enregistrés puissent voir les demandes précédemment créées par eux-mêmes on peut utiliser des cookies pour générer la valeur "sid". Dans ce cas on prend MD5 des cookies et du mot secret:

<?php
//--- si les cookies ne sont pas installés, installons
if(!isset($_COOKIE['name_cookie']))
  {
   $cookie=md5(uniqid(''));
   //--- l'installation des cookies chez l'utilisateur
   setcookie('name_cookie',$cookie,time()+315360000);
  }
else
  {
   //--- recevrons les cookies auparavant installés
   $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);
        // la cache de la ligne: le mot secret + l'identificateur de l'utilisateur du site Web ?>',
        container:'service_desk',
        user_name:'Anonymous',
};
</script>

Dans cet exemple il faut nécessairement changer le mot-clé " Change_This_Secret_Word_ pour votre propre.

Dans le paramètre "url" il faut spécifier l'adresse de votre serveur TeamWox.

Ici il y a aussi un exemple de l'installation des cookies, s'ils n'étaient pas auparavant installés pour l'utilisateur. Il faut remplacer la valeur "name-cookie" à votre propre nom des cookies installés.

Il faut rappeler que dans ce cas, un utilisateur anonyme pourra examiner ses propres demandes jusqu'à ce que les cookies ne soient pas supprimés.

Le même "sid" sera généré pour les utilisateurs qui ont désactivé les cookies dans leur navigateur. Ces utilisateurs peuvent examiner les demandes l'un l'autre.

Travail commun avec le composant public

Pour organiser le travail avec les demandes sans limitations des droits à ces demandes, il faut spécifier une valeur fixe "sid". Dans ce cas tous les utilisateurs en entrant au composant public du module "Servicedesk" pourront examiner toutes les demandes publiques auparavant créées.