Bonjour à tous,
Suite aux indications de Flox, voilà comment j'ai fait pour ajouter un champs "Entité" (Texte) aux tickets :
1. "ticket.php" :
1.1. A ajouter au block "initialize variables"
1.2. A ajouter au block "initialize variables POST"
1.3. A ajouter au block "defaults values for new tickets"
1.4. A ajouter dans le corps du html à générer, là où vous voulez placer le champ
Code : Tout sélectionner
<!-- START entite part -->
<div class="form-group <?php if($rright['ticket_entite_disp']==0) echo 'hide';?>">
<label class="col-sm-2 control-label no-padding-right" for="title">ENTITE:</label>
<div class="col-sm-8">
<input name="entite" id="entite" type="text" size="20" value="<?php if ($_POST['entite']) echo $_POST['entite']; else echo $globalrow['entite']; ?>" <?php if($rright['ticket_entite']==0 && $_GET['action']!='new') echo 'readonly="readonly"';?> />
</div>
</div>
<!-- END entite part -->
2. "/core/ticket.php" :
2.1. A ajouter au block "escape special char in sql query"
Code : Tout sélectionner
$_POST['entite'] = mysql_real_escape_string($_POST['entite']);
2.2. A ajouter au block "secure HMTL injection"
2.3. A ajouter au block "insert ticket"
Code : Tout sélectionner
$query= "INSERT INTO tincidents (user,type,u_group,technician,t_group,title,description,date_create,date_hope,date_res,priority,criticality,state,creator,time,time_hope,category,subcat,techread,place,start_availability,end_availability,availability_planned,entite) VALUES ('$_POST[user]','$_POST[type]','$u_group','$_POST[technician]','$t_group','$_POST[title]','$_POST[description]','$_POST[date_create]','$_POST[date_hope]','$_POST[date_res]','$_POST[priority]','$_POST[criticality]','$_POST[state]','$_SESSION[user_id]','$_POST[time]','$_POST[time_hope]','$_POST[category]','$_POST[subcat]','$techread','$_POST[ticket_places]','$start_availability','$end_availability','$_POST[availability_planned]','$_POST[entite]')";
2.4. A ajouter au block "update ticket"
Code : Tout sélectionner
$query = "UPDATE tincidents SET
user='$_POST[user]',
type='$_POST[type]',
u_group='$u_group',
technician='$_POST[technician]',
t_group='$t_group',
title='$_POST[title]',
description='$_POST[description]',
date_create='$_POST[date_create]',
date_hope='$_POST[date_hope]',
date_res='$_POST[date_res]',
priority='$_POST[priority]',
criticality='$_POST[criticality]',
state='$_POST[state]',
time='$_POST[time]',
time_hope='$_POST[time_hope]',
category='$_POST[category]',
subcat='$_POST[subcat]',
techread='$techread',
place='$_POST[ticket_places]',
start_availability='$start_availability',
end_availability='$end_availability',
availability_planned='$_POST[availability_planned]',
entite='$_POST[entite]'
WHERE
id LIKE '$_GET[id]'";
3. Mise à jour de la base de données :
- Se connecter à l'interface d'administration de la base de données via phpmysql.
- Sélectionner la base "gestsup"
- Executer le script suivant :
Code : Tout sélectionner
-- tincidents
-- ENTITE
ALTER TABLE `tincidents` ADD COLUMN `entite` VARCHAR(9) NOT NULL;
-- trights
-- ENTITE
ALTER TABLE `trights` ADD COLUMN `ticket_entite` int(1) NOT NULL;
ALTER TABLE `trights` ADD COLUMN `ticket_entite_disp` int(1) NOT NULL;
--
ALTER TABLE `trights` MODIFY `ticket_entite` int(1) NOT NULL COMMENT 'Modification du champ ENTITE dans la demande';
ALTER TABLE `trights` MODIFY `ticket_entite_disp` int(1) NOT NULL COMMENT 'Affiche le champ ENTITE dans la demande';
--
UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE `trights`.`id` =1;
UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE `trights`.`id` =2;
UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE `trights`.`id` =3;
UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE `trights`.`id` =4;
UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE `trights`.`id` =5;
>>> Et voilà ! J'espère que ça pourra aider certains d'entre vous.