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
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
]]>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';
}
}
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
]]>Merci
]]>Que faire ?
Je suis bloqué ...
Merci d'avance pour votre aide
Ps : j'ai posté aussi un autre ticket bloquant sur la liste ...
]]>