Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
12/06/2012, 17:53:16
(Modification du message : 14/06/2012, 18:05:02 par Celtic MAn.)
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site :
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
je souhaite mettre en place un système de ticket : j'ai testé serviceDesk mais il ne répond pas tout à fait à mes attentes.
Donc j'essaye de faire la même chose par UDT (crée mon module pas eu le temps de bien regarder).
Mais je bloque sur une chose pour le moment.
Voici ma première UDT : vueClient
Code : [== PHP ==]
/* Connexion à la BDD */
try{
$bdd = new PDO('mysql:host=localhost;dbname=espacewcln', 'root', 'root');
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
echo 'Poser une nouvelle question : ';
echo '<form method="post" action="./uploads/test.php">';
echo '<label for="question">Question</label> :
<input type="text" size="40" name="question" id="question"/>';
echo '<label for="site">Site</label> :
<input type="text" size="40" name="site" id="site"/>';
echo '<input type="submit" value="Soumettre" name="bouton">';
echo '</form>' ;
$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$feu_user = $feu->LoggedInID();
$liste_question= $bdd->query("SELECT question,reponse,statut,site FROM question_reponse WHERE id_client = '$feu_user' ");
echo 'Liste de vos incidents :';
echo '<table style="border: 1px solid black;">';
while ($donnees = $liste_question->fetch()){
echo '<tr>';
echo '<td>';
echo 'Question : '.$donnees['question'].'<br />';
echo '</td>';
echo '<td>';
echo 'Reponse : '.$donnees['reponse'].'<br />';
echo '</td>';
echo '<td>';
echo 'Statut : '.$donnees['statut'].'<br />';
echo '</td>';
echo '<td>';
echo 'Site : '.$donnees['site'].'<br />';
echo '</td>';
echo '</tr>';
}
echo '</table>';
La liste des "questions" marche bien mais dans mon formulaire j'appelle un fichier extérieur pour le traitement (test.php), mon soucis : comment récupérer cette variable $feu_user = $feu->LoggedInID(); dans ce fichier ?
Pensez vous que c'est possible ?
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
12/06/2012, 17:53:16
(Modification du message : 14/06/2012, 18:05:02 par Celtic MAn.)
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site :
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
je souhaite mettre en place un système de ticket : j'ai testé serviceDesk mais il ne répond pas tout à fait à mes attentes.
Donc j'essaye de faire la même chose par UDT (crée mon module pas eu le temps de bien regarder).
Mais je bloque sur une chose pour le moment.
Voici ma première UDT : vueClient
Code : [== PHP ==]
/* Connexion à la BDD */
try{
$bdd = new PDO('mysql:host=localhost;dbname=espacewcln', 'root', 'root');
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
echo 'Poser une nouvelle question : ';
echo '<form method="post" action="./uploads/test.php">';
echo '<label for="question">Question</label> :
<input type="text" size="40" name="question" id="question"/>';
echo '<label for="site">Site</label> :
<input type="text" size="40" name="site" id="site"/>';
echo '<input type="submit" value="Soumettre" name="bouton">';
echo '</form>' ;
$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$feu_user = $feu->LoggedInID();
$liste_question= $bdd->query("SELECT question,reponse,statut,site FROM question_reponse WHERE id_client = '$feu_user' ");
echo 'Liste de vos incidents :';
echo '<table style="border: 1px solid black;">';
while ($donnees = $liste_question->fetch()){
echo '<tr>';
echo '<td>';
echo 'Question : '.$donnees['question'].'<br />';
echo '</td>';
echo '<td>';
echo 'Reponse : '.$donnees['reponse'].'<br />';
echo '</td>';
echo '<td>';
echo 'Statut : '.$donnees['statut'].'<br />';
echo '</td>';
echo '<td>';
echo 'Site : '.$donnees['site'].'<br />';
echo '</td>';
echo '</tr>';
}
echo '</table>';
La liste des "questions" marche bien mais dans mon formulaire j'appelle un fichier extérieur pour le traitement (test.php), mon soucis : comment récupérer cette variable $feu_user = $feu->LoggedInID(); dans ce fichier ?
Pensez vous que c'est possible ?
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
13/06/2012, 09:06:35
(Modification du message : 13/06/2012, 09:35:50 par Celtic MAn.)
J'ai pensé à faire ça dans ma balise UDT mais ça ne marche pas :
echo '<input type="hidden" value="<?php echo $feu_user?>" name="id_client">';
Edit : j'avais juste inverser, voilà la solution pour ceux que ça intéresse -> echo '<input type="hidden" value="'.$feu_user.'" name="id_client">';
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
13/06/2012, 09:06:35
(Modification du message : 13/06/2012, 09:35:50 par Celtic MAn.)
J'ai pensé à faire ça dans ma balise UDT mais ça ne marche pas :
echo '<input type="hidden" value="<?php echo $feu_user?>" name="id_client">';
Edit : j'avais juste inverser, voilà la solution pour ceux que ça intéresse -> echo '<input type="hidden" value="'.$feu_user.'" name="id_client">';
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
c'est quoi le code que tu nous fais ???? :mad: :lol:
Code : echo '<input type="hidden" value="'.$feu_user.'" name="id_client">';
Code : echo "<input type='hidden' value='$feu_user' name='id_client'>";
Les deux devraient marcher. Le second est conditionné par l'utilisation des guillemets pour encadrer la chaine principale. L'utilisation des apostrophes (comme dans le premier exemple) désactiverait le parsing des variables.
dernière possibilité à ma connaissance :
Code : echo <<<HTML
....
<input type='hidden' value='$feu_user' name='id_client'>
...
HTML;
On appel cela une syntaxe heredoc. Très puissante mais nécessite de respecter certains principes. ( + d'info)
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
c'est quoi le code que tu nous fais ???? :mad: :lol:
Code : echo '<input type="hidden" value="'.$feu_user.'" name="id_client">';
Code : echo "<input type='hidden' value='$feu_user' name='id_client'>";
Les deux devraient marcher. Le second est conditionné par l'utilisation des guillemets pour encadrer la chaine principale. L'utilisation des apostrophes (comme dans le premier exemple) désactiverait le parsing des variables.
dernière possibilité à ma connaissance :
Code : echo <<<HTML
....
<input type='hidden' value='$feu_user' name='id_client'>
...
HTML;
On appel cela une syntaxe heredoc. Très puissante mais nécessite de respecter certains principes. ( + d'info)
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
Merci la première solution marche, je vais tester la dernière qui me parait "sympa"
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
Merci la première solution marche, je vais tester la dernière qui me parait "sympa"
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
très très puissante la dernière je te la conseille effectivement pour remplacer les echo sur du HTML
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
très très puissante la dernière je te la conseille effectivement pour remplacer les echo sur du HTML
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
Merci de l'info je testerai une fois que tout marchera sur un autre projet.
Pour ceux qui ça intéresse ma balise UDT vueClient
Code : [== PHP ==]
/* Connexion à la BDD */
try{
$bdd = new PDO('mysql:host=localhost;dbname=root', 'root', 'W914iySE');
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$feu_user = $feu->LoggedInID();
$liste_question= $bdd->query("SELECT question,reponse,statut,site FROM espacewcln WHERE id_client = '$feu_user' ORDER BY STR_TO_DATE(date_creation, '%Y-%m-%d')");
while ($donnees = $liste_question->fetch()){
echo '<table style="border: 1px solid black; width:650px;">';
echo '<tr>';
echo '<td>';
echo '<strong>Question :</strong>';
echo '<br/><br/>';
echo '</td>';
echo '<tr>';
echo '<td>';
echo $donnees['question'];
echo '<br/><br/>';
echo '</td>';
echo '</tr>';
if(!empty($donnees['reponse'])){
echo '<tr>';
echo '<td>';
echo '<strong>Réponse :</strong>';
echo '<br/><br/>';
echo '</td>';
echo '<tr>';
echo '<td>';
echo $donnees['reponse'];
echo '<br/><br/>';
echo '</td>';
echo '</tr>';}
echo '<tr>';
echo '<td>';
echo '<strong>Site :</strong>';
echo '</td>';
echo '<tr>';
echo '<td>';
echo $donnees['site'];
echo '</td>';
echo '</tr>';
echo '<br/><br/>';
echo '<tr>';
echo '<td>';
echo '<div align=right>';
echo '<strong>Statut :</strong>';
if ($donnees['statut'] == 0){
echo '<img src="./uploads/enCours.png">';
}
else {
echo '<img src="./uploads/Termine.png">';
}
echo '</div>';
echo '</td>';
echo '</tr>';
echo '</table>';
}
Elle permet d'afficher les questions de l'utilisateur connecté, si une réponse existe on l'affiche ainsi que le statut en cours (trié par ordre de "création").
Par la suite j'utiliserai ma méthode proposé par Bess.
Le contenu de ma page :
Code : [== HTML ==]
{cms_module module=CustomContent}
{if $ccuser->loggedin()}
{cms_module module=FrontEndUsers form="logout"}
<strong>Carnet de liaison numérique :</strong>
<div align=right><a href={ajoutQuestionClient}>Ajouter une question</a> <a href={ajoutQuestionClient}><img src="./uploads/nouvelleQ.png"></a></div>
{vueClient}
{else}
<p>Merci de vos identifier pour accéder à ce service.</p>
{cms_module module=FrontEndUsers form="login" nocaptcha="1" }
{/if}
Ma balise UDT ajoutQuestionClient :
Code : [== PHP ==]
$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$feu_user = $feu->LoggedInID();
$dateC = date("Y-m-d");
/* Nouvelle question */
echo '<form method="post" action="./uploads/test.php">';
echo '<input type="hidden" value="'.$feu_user.'" name="id_client">';
echo '<input type="hidden" value="'.$dateC.'" name="dateC">';
echo '<label for="question">Question</label> :
<input type="text" size="40" name="question" id="question"/>';
echo '<label for="site">Site</label> :
<input type="text" size="40" name="site" id="site"/>';
echo '<input type="submit" value="Soumettre" name="bouton">';
echo '</form>' ;
La il m'affiche directement mon formulaire, y a t-il un moyen pour ne l'afficher que lorsque que l'utilisateur clique sur ajouter une question ?
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
Merci de l'info je testerai une fois que tout marchera sur un autre projet.
Pour ceux qui ça intéresse ma balise UDT vueClient
Code : [== PHP ==]
/* Connexion à la BDD */
try{
$bdd = new PDO('mysql:host=localhost;dbname=root', 'root', 'W914iySE');
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$feu_user = $feu->LoggedInID();
$liste_question= $bdd->query("SELECT question,reponse,statut,site FROM espacewcln WHERE id_client = '$feu_user' ORDER BY STR_TO_DATE(date_creation, '%Y-%m-%d')");
while ($donnees = $liste_question->fetch()){
echo '<table style="border: 1px solid black; width:650px;">';
echo '<tr>';
echo '<td>';
echo '<strong>Question :</strong>';
echo '<br/><br/>';
echo '</td>';
echo '<tr>';
echo '<td>';
echo $donnees['question'];
echo '<br/><br/>';
echo '</td>';
echo '</tr>';
if(!empty($donnees['reponse'])){
echo '<tr>';
echo '<td>';
echo '<strong>Réponse :</strong>';
echo '<br/><br/>';
echo '</td>';
echo '<tr>';
echo '<td>';
echo $donnees['reponse'];
echo '<br/><br/>';
echo '</td>';
echo '</tr>';}
echo '<tr>';
echo '<td>';
echo '<strong>Site :</strong>';
echo '</td>';
echo '<tr>';
echo '<td>';
echo $donnees['site'];
echo '</td>';
echo '</tr>';
echo '<br/><br/>';
echo '<tr>';
echo '<td>';
echo '<div align=right>';
echo '<strong>Statut :</strong>';
if ($donnees['statut'] == 0){
echo '<img src="./uploads/enCours.png">';
}
else {
echo '<img src="./uploads/Termine.png">';
}
echo '</div>';
echo '</td>';
echo '</tr>';
echo '</table>';
}
Elle permet d'afficher les questions de l'utilisateur connecté, si une réponse existe on l'affiche ainsi que le statut en cours (trié par ordre de "création").
Par la suite j'utiliserai ma méthode proposé par Bess.
Le contenu de ma page :
Code : [== HTML ==]
{cms_module module=CustomContent}
{if $ccuser->loggedin()}
{cms_module module=FrontEndUsers form="logout"}
<strong>Carnet de liaison numérique :</strong>
<div align=right><a href={ajoutQuestionClient}>Ajouter une question</a> <a href={ajoutQuestionClient}><img src="./uploads/nouvelleQ.png"></a></div>
{vueClient}
{else}
<p>Merci de vos identifier pour accéder à ce service.</p>
{cms_module module=FrontEndUsers form="login" nocaptcha="1" }
{/if}
Ma balise UDT ajoutQuestionClient :
Code : [== PHP ==]
$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$feu_user = $feu->LoggedInID();
$dateC = date("Y-m-d");
/* Nouvelle question */
echo '<form method="post" action="./uploads/test.php">';
echo '<input type="hidden" value="'.$feu_user.'" name="id_client">';
echo '<input type="hidden" value="'.$dateC.'" name="dateC">';
echo '<label for="question">Question</label> :
<input type="text" size="40" name="question" id="question"/>';
echo '<label for="site">Site</label> :
<input type="text" size="40" name="site" id="site"/>';
echo '<input type="submit" value="Soumettre" name="bouton">';
echo '</form>' ;
La il m'affiche directement mon formulaire, y a t-il un moyen pour ne l'afficher que lorsque que l'utilisateur clique sur ajouter une question ?
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
C'est bien ce que je pensais
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
C'est bien ce que je pensais
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
13/06/2012, 14:53:31
(Modification du message : 13/06/2012, 21:03:26 par Celtic MAn.)
Edit : j'ai changé ma requête en faisant un update et ça fonctionne.
Par contre j'aimerai une petite aide (encore ) sur le module FEU : pour récupérer le username
$feu2 =& $gCms->modules['FrontEndUsers']['object'];
$result = $feu2->GetUserInfo($uid);
$uinfo = $result[1];
$user_name = $uinfo['username'];
on fait bien comme ça ?
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
13/06/2012, 14:53:31
(Modification du message : 13/06/2012, 21:03:26 par Celtic MAn.)
Edit : j'ai changé ma requête en faisant un update et ça fonctionne.
Par contre j'aimerai une petite aide (encore ) sur le module FEU : pour récupérer le username
$feu2 =& $gCms->modules['FrontEndUsers']['object'];
$result = $feu2->GetUserInfo($uid);
$uinfo = $result[1];
$user_name = $uinfo['username'];
on fait bien comme ça ?
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
J'avais récupéré ça sur ce site : http://www.fastinfo.com.au/developer-tip...de-simple/
Mais il suffit de faire comme ça :
$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$feu_user = $feu->LoggedInID(); //ID
$user_name = $feu->LoggedInName(); //username
Messages : 142
Sujets : 10
Inscription : Apr 2012
Réputation :
0
J'avais récupéré ça sur ce site : http://www.fastinfo.com.au/developer-tip...de-simple/
Mais il suffit de faire comme ça :
$modops = cmsms()->GetModuleOperations();
$feu = $modops->get_module_instance('FrontEndUsers');
$feu_user = $feu->LoggedInID(); //ID
$user_name = $feu->LoggedInName(); //username
Messages : 5,034
Sujets : 63
Inscription : Oct 2009
Réputation :
0
bonsoir,
à la place de Code : [== Indéfini ==]
try{
$bdd = new PDO('mysql:host=localhost;dbname=root', 'root', 'W914iySE');
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
tu devrais utiliser Code : [== Indéfini ==]
$bdd = cmsms()->GetDb();
ou bien?
Messages : 5,034
Sujets : 63
Inscription : Oct 2009
Réputation :
0
bonsoir,
à la place de Code : [== Indéfini ==]
try{
$bdd = new PDO('mysql:host=localhost;dbname=root', 'root', 'W914iySE');
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
tu devrais utiliser Code : [== Indéfini ==]
$bdd = cmsms()->GetDb();
ou bien?
|