';
diff --git a/columns/card.php b/columns/card.php
index c1f8fc5..0491070 100644
--- a/columns/card.php
+++ b/columns/card.php
@@ -12,6 +12,7 @@
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
dol_include_once('/digikanban/lib/digikanban.lib.php');
+dol_include_once('/digikanban/lib/digikanban_functions.lib.php');
dol_include_once('/digikanban/class/digikanban.class.php');
dol_include_once('/digikanban/class/digikanban_columns.class.php');
@@ -148,7 +149,7 @@
llxHeader(array(), $modname,'','','','',$morejs,0,0);
$linkback ="";
-digikanbanPrepareAdminHead('columns', $linkback, 'title_setup');
+digikanban_admin_prepare_head('columns', $linkback, 'title_setup');
$htmlright = "";
diff --git a/columns/list.php b/columns/list.php
index bc077ca..77e59b9 100644
--- a/columns/list.php
+++ b/columns/list.php
@@ -14,6 +14,7 @@
dol_include_once('/digikanban/class/digikanban.class.php');
dol_include_once('/digikanban/class/digikanban_columns.class.php');
dol_include_once('/digikanban/lib/digikanban.lib.php');
+dol_include_once('/digikanban/lib/digikanban_functions.lib.php');
if (empty($conf->digikanban->enabled) || !$user->rights->digikanban->lire) accessforbidden();
@@ -231,7 +232,7 @@
llxHeader('', $title, $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs);
$linkback ="";
-digikanbanPrepareAdminHead('columns', $linkback, 'title_setup');
+digikanban_admin_prepare_head('columns', $linkback, 'title_setup');
$sql = "SELECT";
diff --git a/index.php b/index.php
index 1bb4b1f..b4024e8 100644
--- a/index.php
+++ b/index.php
@@ -13,6 +13,7 @@
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
dol_include_once('/digikanban/class/digikanban.class.php');
dol_include_once('/digikanban/lib/digikanban.lib.php');
+dol_include_once('/digikanban/lib/digikanban_functions.lib.php');
dol_include_once('/digikanban/class/taches/elements_contacts.class.php');
dol_include_once('/digikanban/class/digikanban_tags.class.php');
dol_include_once('/digikanban/class/digikanban_columns.class.php');
@@ -605,7 +606,7 @@
print '';
// print $langs->trans("Projects").': ';
- print '';
+ print '';
print img_picto($langs->trans('SortOrder'), 'setup', ' class="linkobject"');
print '';
// print img_picto($langs->trans('Projects'), 'project', '');
@@ -710,7 +711,7 @@
print '';
if(isset($conf->ganttproadvanced) && $conf->ganttproadvanced->enabled){
- $head = digikanbanTasksAdminPrepareHead($tosendingantt);
+ $head = digikanban_tasks_admin_prepare_head($tosendingantt);
dol_fiche_head($head, 'kanban', '', -1, '');
}
diff --git a/langs/fr_FR/digikanban.lang b/langs/fr_FR/digikanban.lang
index 5d32799..bf3a8ff 100644
--- a/langs/fr_FR/digikanban.lang
+++ b/langs/fr_FR/digikanban.lang
@@ -1,95 +1,103 @@
-digikanban=Digikanban
-Module19055200Desc=Digikanban
-enattentkanban=En Attente
-urgentskanban=Urgences
-Addtask=Ajouter une tâche
-writecomment=Écrivez un commentaire…
-
-list_columns=Liste des colonnes digikanban
-Colomndigikanban=Colonne digikanban
-
-EnAttent=En Attente
-ALivrer=A Livrer
-EnCours=En Cours
-Chronique=Chronique
-Cloturer=Clôturés
-
-tagsdigikanban=Tags Digikanban
-
-COMMENT_TASK_CREATE=Commentaire créée
-COMMENT_TASK_MODIFY=Commentaire modifiée
-COMMENT_TASK_DELETE=Commentaire supprimée
-COMMENT_TASK_ECHECK_CREATE=Commentaire échoué
-COMMENT_TASK_ECHECK_DELETE=Suppréssion échoué
-COMMENT_TASK_ECHECK_UPDATE=Modification échoué
-
-nbrelements=Nombre d'éléments :
-alert_depasse_dure=Vous avez dépassé la charge de travail prévue
-cloner_task=Cloner tâche
-color_datejalon=Statut date jalon
-changestatusdate=Changer statut de date jalon
-ganttproadvanceddatejalon=Date Jalon
-grey=Gris
-green=Vert
-red=Rouge
-config_vue_kanban=Configuration du module digikanban Tâches Plus
-contact_tache=Contacts de la tâche
-type_contact_tache=Type de contact (tâche) principal
-ViewTask=Voir la tâche
-viewgantt=Vue Gantt
-viewkanban=Vue Kanban
-TaskUrgent=Tâche urgente
-DELEY_ALERTE_DATEJALON=Délai d'alerte de date Jalon
-DaylyHours=Heures de travail par jour
-
-SelectedHoursLessThanPlannedWorkload=Les heures de travail sélectionné sont inférieures à la charge de travail prévu
-
-JalonDate=Date jalon
-showallprojets=Sélectionner par défaut tous les projet
-
-ShowAll=Afficher tout
-HideAll=Cacher tout
-SelectAll=Tout sélectionner
-addtags=Créer une nouvelle étiquette
-SearchByContactType=Recherche par type de contact
-NewTag=Nouvelle étiquette
-Comments=Commentaires
-checklisttask=CheckList
-Update_checklisttask=Modifier CheckList de tâche
-Update_checklistmodal=Modifier CheckList du modèle
-EtiquettesModal=Modifier les étiquettes du modèle
-createtag=Créer une nouvelle étiquette
-createcheck=Ajouter un élément
-totalcoutstemp=Coût temps consommé
-Le=Le
-
-NumTask=Numéro de tâche
-NumProjet=Numéro de projet
-Modele=Modèle
-CreateModel=Créer un modèle
-UseTemplate=Utiliser ce modèle
-EditEtiquettes=Modifier les étiquettes
-EditChecklist=Modifier check-list
-titlemodal=Titre du modèle
-
-ModelsManagement=Gestion des modèles
-digikanbanmsgconfiraction=Êtes-vous sûr de vouloir continuer ?
-
-newcolomn=Ajouter un colonne
-printcolomntitle=Saisissez le titre de la liste…
-hidetaskisprogress100=Cacher par défaut les tâches qui ont déjà été réalisé (Progress %s)
-progressless100=Cacher tâches achevées
-ModifyColomn=Modifier le titre de colonne
-columns=Gestion des colonnes
-infoprogress100=Tâches avec un avancement de %s
-msg_confirm=Êtes-vous sûr de vouloir continuer la suppression ?
-
-FieldsToShowWhenModifyingATask=Champs à afficher lors de la modification du tâche
-FieldsToShowWhenHoveringATask=Champs à afficher lors du survol du tâche
-
-showtaskinfirstcolomn=Afficher les tâches qui n'ont pas de statut dans la première colonne
-OtherContact=Autres contributeurs
-MaximumNumberOfContactsToDisplayNextToThePrimaryUser=Nombre maximum de contacts à afficher à côté de l'utilisateur principal
+digikanban = Digikanban
+Module19055200Desc = Digikanban
+EnAttentKanban = En Attente
+UrgentsKanban = Urgences
+Addtask = Ajouter une tâche
+WriteComment = Écrivez un commentaire…
+
+ListColumns = Liste des colonnes digikanban
+ColomnDigikanban = Colonne digikanban
+
+EnAttent = En Attente
+ALivrer = A Livrer
+EnCours = En Cours
+Chronique = Chronique
+Cloturer = Clôturés
+
+TagsDigikanban = Tags Digikanban
+
+COMMENT_TASK_CREATE = Commentaire créée
+COMMENT_TASK_MODIFY = Commentaire modifiée
+COMMENT_TASK_DELETE = Commentaire supprimée
+COMMENT_TASK_ECHECK_CREATE = Commentaire échoué
+COMMENT_TASK_ECHECK_DELETE = Suppréssion échoué
+COMMENT_TASK_ECHECK_UPDATE = Modification échoué
+
+NbrElements = Nombre d'éléments :
+AlertDepasseDure = Vous avez dépassé la charge de travail prévue
+ClonerTask = Cloner tâche
+ColorDatejalon = Statut date jalon
+ChangeStatusDate = Changer statut de date jalon
+GanttProAdvancedDateJalon = Date Jalon
+grey = Gris
+green = Vert
+red = Rouge
+ConfigVueKanban = Configuration du module digikanban Tâches Plus
+ContactTache = Contacts de la tâche
+TypeContactTache = Type de contact (tâche) principal
+ViewTask = Voir la tâche
+ViewGantt = Vue Gantt
+ViewKanban = Vue Kanban
+TaskUrgent = Tâche urgente
+DELEY_ALERTE_DATEJALON = Délai d'alerte de date Jalon
+DaylyHours = Heures de travail par jour
+
+SelectedHoursLessThanPlannedWorkload = Les heures de travail sélectionné sont inférieures à la charge de travail prévu
+
+JalonDate = Date jalon
+showallprojets = Sélectionner par défaut tous les projet
+
+ShowAll = Afficher tout
+HideAll = Cacher tout
+SelectAll = Tout sélectionner
+AddTags = Créer une nouvelle étiquette
+SearchByContactType = Recherche par type de contact
+NewTag = Nouvelle étiquette
+Comments = Commentaires
+CheckListTask = CheckList
+UpdateCheckListTask = Modifier CheckList de tâche
+UpdateCheckListModal = Modifier CheckList du modèle
+EtiquettesModal = Modifier les étiquettes du modèle
+CreateTag = Créer une nouvelle étiquette
+CreateCheck = Ajouter un élément
+TotalCoutsTemp = Coût temps consommé
+Le = Le
+
+NumTask = Numéro de tâche
+NumProjet = Numéro de projet
+Modele = Modèle
+CreateModel = Créer un modèle
+UseTemplate = Utiliser ce modèle
+EditEtiquettes = Modifier les étiquettes
+EditChecklist = Modifier check-list
+titlemodal = Titre du modèle
+
+ModelsManagement = Gestion des modèles
+DigikanbanMsgConfirAction = Êtes-vous sûr de vouloir continuer ?
+
+NewColomn = Ajouter un colonne
+PrintColomnTitle = Saisissez le titre de la liste…
+HideTaskIsProgress100 = Cacher par défaut les tâches qui ont déjà été réalisé (avancée %s)
+ProgressLess100 = Cacher tâches achevées
+ModifyColomn = Modifier le titre de colonne
+Columns = Gestion des colonnes
+InfoProgress100 = Tâches avec un avancement de %s
+MsgConfirm = Êtes-vous sûr de vouloir continuer la suppression ?
+
+FieldsToShowWhenModifyingATask = Champs à afficher lors de la modification du tâche
+FieldsToShowWhenHoveringATask = Champs à afficher lors du survol du tâche
+
+ShowTaskInFirstColomn = Afficher les tâches qui n'ont pas de statut dans la première colonne
+OtherContact = Autres contributeurs
+MaximumNumberOfContactsToDisplayNextToThePrimaryUser = Nombre maximum de contacts à afficher à côté de l'utilisateur principal
+NumberOfUsers = Affiche le nombre d'utilisateurs sur la tâche
+WarningDate = Détermine le délai d'alerte pour la date jalon
+RefreshPage = Rafraîchit automatiqument la page
+SelectProjects = Sélectionne un filtre sur tous les projets par défauts
+HideTasks = Permet de cacher par défaut les tâches terminée
+NoStatusTasks = Affiche les tâches n'ayant pas de statut dans la première colonne par défaut
+ColomnDesc = Permet de choisir la colonne d'apparition de base pour les tâches ajoutées
+DelayDesc = Délai d'alerte par défaut pour les dates jalon
#
# Config page - Page d'administration
diff --git a/lib/digikanban.lib.php b/lib/digikanban.lib.php
index 44a803d..6b9af1f 100644
--- a/lib/digikanban.lib.php
+++ b/lib/digikanban.lib.php
@@ -1,858 +1,45 @@
load("digikanban@digikanban");
-
- $h = 0;
- $head = array();
-
- if($conf->ganttproadvanced->enabled){
- $head[$h][0] = dol_buildpath("/ganttproadvanced/index.php?mode=gantt".$tosendinurl, 1);
- $head[$h][1] = $langs->trans("viewgantt");
- $head[$h][2] = 'gantt';
- $h++;
-
- $search_scale = GETPOST("scale", 'alpha');
- if($search_scale) {
- $resusrs = dol_set_user_param($db, $conf, $user, ['GANTTPROADVANCED_DEFAULT_ZOOM_BY' => $search_scale]);
- }
- }
-
-
- $head[$h][0] = dol_buildpath("/digikanban/index.php?mode=kanban".$tosendinurl, 1);
- $head[$h][1] = $langs->trans("viewkanban");
- $head[$h][2] = 'kanban';
- $h++;
-
- return $head;
-}
-
-
-
-function getTaskelement($object, $task, $status=[], $currentColomn='')
-{
- global $db, $langs, $conf;
-
- require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
- dol_include_once('/digikanban/class/digikanban_tags.class.php');
- dol_include_once('/digikanban/class/digikanban_checklist.class.php');
- dol_include_once('/digikanban/class/digikanban_commnts.class.php');
-
-
- $form = new Form($db);
- $kanban = new digikanban($db);
- $digikanban_tags = new digikanban_tags($db);
- $checklist = new digikanban_checklist($db);
- $getchecklist = new digikanban_checklist($db);
- $kanbancommnts = new digikanban_commnts($db);
-
-
- // $colorgantt = $conf->ganttproadvanced->enabled ? $ganttproadvanced->p_projectcolor : '';
- $colorgantt = '';
- $color = $object->color ? $object->color : ($colorgantt ? $colorgantt : '#00ffff');
- $clr='';
- $arr_color = colorStringToArray($color);
- if($arr_color){
- foreach ($arr_color as $key => $value) {
- $clr .= $value.', ';
- }
- }
- $bgcolor = $clr ? 'rgb('.$clr.'0.3)' : $color;
- $descrptask = '';
- $descrptask .= ''.$langs->trans('Description').': ';
- $descrptask .= ''.$object->description.': ';
-
- $debutday = $task->date_start ? date('d', $task->date_start) : '';
- $debutmonth = $task->date_start ? date('m', $task->date_start) : '';
- $debutyear = $task->date_start ? date('Y', $task->date_start) : '';
-
- $finday = $task->date_end ? date('d', $task->date_end) : '';
- $finmonth = $task->date_end ? date('m', $task->date_end) : '';
- $finyear = $task->date_end ? date('Y', $task->date_end) : '';
-
- $dd = dol_getdate(dol_now());
- $now = dol_mktime(0, 0, 0, $dd['mon'], $dd['mday'], $dd['year']);
-
- $tags = $digikanban_tags->fetchAllTagsOfTask($task->id);
- $checklist = $checklist->calcProgressCheckTask($task->id);
- $html = '
';
- return $html;
-}
-
-function selectCheckModal($id_modal)
+/* Copyright (C) 2024 EVARISK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * \file lib/digikanban.lib.php
+ * \ingroup digikanban
+ * \brief Library files with common functions for Admin conf.
+ */
+
+/**
+ * Prepare array of tabs for admin.
+ *
+ * @return array Array of tabs.
+ */
+
+function digikanban_admin_prepare_head($active, $linkback, $picto)
{
- global $langs, $db;
-
- $tags='';
- $html='';
- $data = array();
- $htmlname = 'digikanban_checklist';
-
- $sql = 'SELECT o.checklist FROM '.MAIN_DB_PREFIX.'digikanban_modeles as o';
- $sql .= ' WHERE o.rowid = '.$id_modal;
- $resql = $db->query($sql);
- $html ='