You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2016-02-22 11:37:12

falco2001
Member
Registered: 2016-02-11
Posts: 251

[ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

Bonjour,
lorsque j'active survez dernière version (0.84+1.3) sur glpi 0.90.1 la création de ticket en post-only affiche une page sans le formulaire de création ..

Que faire ?


Je suis bloqué ...


Merci d'avance pour votre aide

Ps : j'ai posté aussi un autre ticket bloquant sur la liste ...

Last edited by falco2001 (2018-04-04 14:45:40)

Offline

#2 2016-02-24 12:24:52

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

Bonjour,
Le développeur ,super sympa, m'a répondu en me disant que survez n'est pas compatible avec glpi 0.9
Mais comment faire ?

Merci

Offline

#3 2016-02-26 13:29:34

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: [ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

attendre que le plugin soit compatible ou le rendre compatible vous-même


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#4 2016-02-26 16:27:00

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

Bonjour,

comment faire on a besoin de survey.

Je regarde le code, avez-vous une idée ?

Quand je clique sur catégorie ça me renvoie sur une page blanche  les url sont indiquées.

ça appelle :
ajax/getDropdownValue.php
et
/comments.php

Faut-il que je cherche ici ou sur /front/tracking.injector.php ou sur plugin_survey/hook.php ?

Merci d'avance

Offline

#5 2016-02-26 18:06:12

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: [ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

Ce sont les pages du plugin que vous devez modifier et non les pages de GLPI.
Je ne peux pas vous aider plus je ne connais pas ce plugin.


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#6 2016-03-03 10:24:27

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

Bonjour,
dans le fichier setup j'ai des hooks mais les submenu_entry ( le add question en rouge ) n'affiche rien sur glpi 0.9 pas de bouton, sur l'ancienne version glpi c'est ok !
Pouvez-vous me dire si les hooks ne sont plus valable ou s'il faut chercher ailleurs ! Si je savais où chercher ?
Si je commente les hooks j'obtiens la même chose: ils ne sont pas pris en compte !
Car rien ne fonctionne en fait ...

function plugin_init_surveyticket() {
   global $PLUGIN_HOOKS;

   $PLUGIN_HOOKS['csrf_compliant']['surveyticket'] = true;
   
   if (isset($_SESSION["glpiID"])) {

      $plugin = new Plugin();
      if ($plugin->isActivated('surveyticket')) {
         Plugin::registerClass('PluginSurveyticketProfile',
              array('addtabon' => array('Profile')));

         $PLUGIN_HOOKS['change_profile']['surveyticket'] = array('PluginSurveyticketProfile','changeprofile');
         PluginSurveyticketProfile::changeprofile();
         
               
         /*if (PluginSurveyticketProfile::haveRight("config", 'r')) {
            $PLUGIN_HOOKS['menu_entry']['surveyticket'] = true;
            $PLUGIN_HOOKS['config_page']['surveyticket'] = 'front/menu.php';
         }*/  
               
         if (Session::haveRight("config", UPDATE)) {
            $PLUGIN_HOOKS['menu_entry']['surveyticket'] = true;
            $PLUGIN_HOOKS['config_page']['surveyticket'] = 'front/menu.php';
         }
         
         $PLUGIN_HOOKS['post_init']['surveyticket'] = 'plugin_surveyticket_post_init';

      }

      // Icons add, search...
      [color="#FF0000"]$PLUGIN_HOOKS['submenu_entry']['surveyticket']['add']['questions'] = 'front/question.form.php?add=1';[/color]
      //$PLUGIN_HOOKS['submenu_entry']['surveyticket']['search']['questions'] = 'front/question.php';

      $PLUGIN_HOOKS['submenu_entry']['surveyticket']['add']['survey'] = 'front/survey.form.php?add=1';
      $PLUGIN_HOOKS['submenu_entry']['surveyticket']['search']['survey'] = 'front/survey.php';

      $PLUGIN_HOOKS['submenu_entry']['surveyticket']['add']['answers'] = 'front/answer.form.php?add=1';


      // Fil ariane
      $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['questions']['title'] = "Questions";
      $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['questions']['page']  = '/plugins/surveyticket/front/question.php';

      $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['answers']['title'] = "Answers";
//         $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['answers']['page']  = '/plugins/surveyticket/front/answer.php';

      $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['survey']['title'] = "Surveys";
      $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['survey']['page']  = '/plugins/surveyticket/front/survey.php';

   }
}

Last edited by falco2001 (2016-03-03 12:17:41)

Offline

#7 2016-03-30 09:28:26

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

Bonjour,

Voilà ce que j'ai fait :
- Survey ticket : adapté d'un plugin officiel testé en post-only ou en cliquant sur le plugin. A récupérer la dernière version et à adapter ...
- Changer dans setup.php le test de validité du plugin, permet de le rendre actif
- encore l'erreur sur ce plugin "Security die. trying to load an forbidden class name".
On peut commenter la ligne 266 (die("Security die...) dans /inc/autoload.function.php mais très mal !
En fait commenter le test (is_numeric($classname) ...

- Gros pb : activation survey : plus de possibilité de création de ticket !

réponse du développeur :
Oui, le portage est en cours, et donc la il n'est pas encore compatible
0.90
--
Faire :
Changer les droits dans le fichier profile.class
----
/*
if (!$ticket_template) {
echo "<form method='post' name='helpdeskform' action='".
$CFG_GLPI["root_doc"]."/front/tracking.injector.php' enctype='multipart/form-data'>";
}
*/
----
Dans tracking.injector.php
pour test
var_dump($_POST);
var_dump($_SESSION);

modifier dans setup.php et commenter l'ancienne ligne
if (Session::haveRight("config", UPDATE)) {
$PLUGIN_HOOKS['menu_entry']['surveyticket'] = true;
$PLUGIN_HOOKS['config_page']['surveyticket'] = 'front/menu.php';
}
Dans setup.php on trouve Plugin::registerClass('PluginSurveyticketProfile' on en déduit le nom de la
classe : profile.php (dans ./inc) !
Dans hook.php changer dans if (!isset($_POST['add'])) { dans le else et commenté le reste (a ne pas fare !)
en Html::header(__('New ticket'), '', "maintain", "ticket"); //YD
PluginSurveyticketSurvey::getCentral(); //YD
---
- Display survey in the ticket : faire copie de Clone of Ticket::showForm()
Change '$this' by '$ticket', 'self' by 'Ticket' and 'parent' by 'Ticket' Attention prudence ... Sur ticket et Ticket
- getHelpdesk faire clone of function Ticket::showFormHelpdesk()
- copie après
---
______
Dans le survey : Voir le fichier hook.php et surveyclass.php fonction getHelpdesk.php
voir ligne 1403 point d'arrêt et ligne startSurvey $psSurvey->startSurvey($plugin_surveyticket_surveys_id)
______

Après tout ceci le plugin fonctionne ...

Mais il me reste un petit problème dans le survey non bloquant :
Le bouton ajouter une question ne s'affiche pas à la suite de 'Accueil plugin". J'ai pu le rajouter dans un autre menu.
Par contre si l'on est dans une question (qui constitue le questionnaire) il n'y a pas de bouton supprimer.

J'ai trouvé où se trouve le menu ajouter et supprimer mais il ne sont pas actifs.
Avez-vous une idée ?

Merci

Last edited by falco2001 (2016-03-30 09:29:28)

Offline

#8 2016-04-04 09:27:06

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

Bonjour,
problèmes rn 9.1 puis 9.2.1 et 9.2.2

Last edited by falco2001 (2018-04-04 14:51:24)

Offline

#9 2018-04-04 14:51:06

falco2001
Member
Registered: 2016-02-11
Posts: 251

Re: [ Résolu] [GLPI 9.2.1 ] plugin survey et création ticket impossible

Bonjour,
- En 9.1 :
    encore l'erreur sur ce plugin  "Security die. trying to load an forbidden class name".
    On peut commenter la ligne 266 (die("Security die...) dans /inc/autoload.function.php mais trés mal !
    En fait commenter le test (is_numeric($classname) ...   
     Display survey in the ticket : faire copie de  Clone of Ticket::showForm()
    ceci veut dire  dans survey.class copier à la fin de ShowForm dans la partie getCentral remplacer tout aprés $ticket = new         Ticket();
    en prenant le showForm entier de Ticket de GLPI
    Change '$this' by '$ticket', 'self' by 'Ticket' and 'parent' by 'Ticket' Attention prudence ... Sur ticket et Ticket
    - idem getHelpdesk faire clone of function Ticket::showFormHelpdesk()
    ---
    en 9.2.1 et 9.2.2 :
    Survey problèmes :
    - Pas de validation des formulaires -> C'est un problème sql : Il faut que les questions des survez n'aient pas ' ou de " car         Glpi protége les champs  "et ' de
ces formulaires mais pas ceux de survey ! On peut les modifier en base taper question sur         le nom de la table
    - les questions ne sautent plus à la ligne : il faut dans ticket.class du survey tout changer \n par \\n !
   

    Remarque: en mettant les contenus normaux dans questions (formulaires ajoutés)  avec ' on peut ajouter dans commondbtm.class ligne 487 :
    on ajoute dans inc/commondbtm.class ligne 487 : (résout les problèmes dans formulaires classiques et ceux de survey)

    for ($i = 0; $i < $nb_fields; $i++) {

                if ($i === (int) 7) { //YD
                    $count = 0;
                    $findme ="\'";
                    $pos = strpos($values[$i], $findme);
                    if ($pos === false) {
                    $values[$i] = preg_replace('/\'/', '\\\'', $values[$i], -1, $count);
                    }
                    //var_dump($values[$i]);
                }

    ceci fonctionne avec formulaires standard et ceux du survey

    ceci fait : si \' existe ne fait rien, s'il n'existe pas change ' en \' int===7 c'est le "content"
    ceci semble fonctionner avec formulaires standard et ceux du survey

Last edited by falco2001 (2018-04-05 09:56:25)

Offline

Board footer

Powered by FluxBB