You are not logged in.
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
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
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
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
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
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
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
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
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