* @version $Id$ * @access public * @license http://opensource.org/licenses/gpl-3.0.html */ //////////// Check Inclusion de pages //////////// if (!class_exists('auth')) { include_once("../lib/lib_common.php"); ReloadIndex('admin'); } //////////// if (isset($_GET['id'])) $id=$_GET['id']; if (isset($_POST['id'])) $id=$_POST['id']; //////////// Check Droits utilisateur //////////// if (!$l21auth->isProjectManager($l21auth->GetSessionElement('id'), $sql_object, $id) && !$l21auth->isSuperAdmin()) ReloadIndex('admin'); //////////// include_once("../lib/input_helpers.php"); include_once(override('../level/mysql.inc.php', THEME_ADMIN_PATH)); // TextboxList CSS/JS inclusion addDynamicCSS(THEME_ADMIN_PATH.'css/TextboxList.css'); addDynamicCSS(THEME_ADMIN_PATH.'css/TextboxList.Autocomplete.css'); footerAddJS('../lib/js/TextboxList-jQuery/Source/GrowingInput.js'); footerAddJS('../lib/js/TextboxList-jQuery/Source/TextboxList.js'); footerAddJS('../lib/js/TextboxList-jQuery/Source/TextboxList.Autocomplete.js'); // Multiple select CSS/JS inclusion addDynamicCSS('../lib/js/multiple-select/multiple-select.css'); footerAddJS('../lib/js/multiple-select/jquery.multiple.select.js'); include_once('../class/class.tag.php'); // we get available tags list to display to user when hovering 'tags' label $alltags = new tag(); $availableTags = $alltags->getTags('project', -1, false, ',', true); $tags_list = ''; if(count($availableTags) > 0) { $l = ''; foreach($availableTags as $item) { $l .= ''.$item['tag_name'].''; } $tags_list = '
'.$l.'
'; } // getting tags from given project $otag = new tag(); $form_tags = $otag->getTags('project', $id, true); $project_object = new project; $mask_statut_P=''; $mask_statut_D=''; $mask_archive_P=''; $mask_archive_D=''; $mask_archive_AA=''; $mask_archive_PA=''; if(isset($_POST['enregistrer'])) { $data_table=unserialize(urldecode($_POST['data_table'])); $result=$project_object->ModifyProject($id, $data_table, $sql_object); if($result) { $otag->modifyTags('project', $id, $data_table['19']); } $link_confirm="confirm.php?rub=".$rub."&todo=".$todo; if($result) header("Location: ".safe_redirect($link_confirm)); else system_error(); } // Titre de l'actu en cours de modification $requete=SQL_getProjectName($id); $result=$sql_object->DBSelect($requete); // Do record exists? if(!isset($result[0]['project_name'])) redirect_to('@module_default'); $project_current_title=formatText($result[0]['project_name'],'2HTML'); // Obtention des données de la BDD $req_det= SQL_getoneCompleteProject($id); $result=$sql_object->DBSelect($req_det); if($result==0 || count($result)!=1) exit; include_once(override('../project/display.php')); $coordinator = getAssociatedActors($id, 'coordinator'); $partners = getAssociatedActors($id, 'partner'); $targets = getAssociatedActors($id, 'target'); $manager = getAssociatedManagers($id, true); $form_name=formatText($result[0]['project_name'], '2FIELD'); $form_goal= formatText($result[0]['project_goal'], '2FIELD'); $form_opgoal= formatText($result[0]['project_opgoal'], '2FIELD'); $form_description= formatText($result[0]['project_description'], '2FIELD'); $form_body= formatText($result[0]['project_body'], '2FIELD'); $form_budget=formatText($result[0]['project_budget'], '2FIELD'); $form_budget_comment= formatText($result[0]['project_budget_comment'], '2FIELD'); $form_cal_comment= formatText($result[0]['project_cal_comment'], '2FIELD'); $form_coordinator=$coordinator; $form_partners=$partners; $form_targets=$targets; $form_manager=$manager; $form_elected= formatText($result[0]['project_elected'], '2FIELD'); $form_team= formatText($result[0]['project_team'], '2FIELD'); $form_comment= formatText($result[0]['project_comment'], '2FIELD'); $form_parent_id = ($result[0]['project_parent_id']==0) ? 0 : $result[0]['project_parent_id']; $form_level_id = ($result[0]['project_level_id']==0) ? 0 : $result[0]['project_level_id']; $form_workshop_id = ($result[0]['project_workshop_id']==0) ? 0 : $result[0]['project_workshop_id']; $form_scale_id= $result[0]['project_scale_id']; $form_priority_id= $result[0]['project_priority_id']; $form_begin_date= isNullDate($result[0]['project_begin_date_display']) ? '' : $result[0]['project_begin_date_display']; $form_estimated_date = isNullDate($result[0]['project_estimated_date_display']) ? '' : $result[0]['project_estimated_date_display']; $form_end_date = isNullDate($result[0]['project_end_date_display']) ? '' : $result[0]['project_end_date_display']; $form_progression = $result[0]['project_completed']; $form_progression_sync = $result[0]['project_completed_sync']; $form_statut=$result[0]['project_statut']; $current_status=$result[0]['project_statut']; $project_owner = $result[0]['project_posted_by']; if($form_progression_sync == 'Y') $mask_progression_sync = "checked=\"checked\""; else $mask_progression_sync = ''; $form_finality_id = $id; $form_finalities=array(); // Indicators select box with associated indicators selected $data_sdi = $sql_object->DBSelect(SQL_getProjectSdi($id)); $tmp_sdi = array(); if($data_sdi != 0 || is_array($data_sdi)) { foreach($data_sdi as $value) { array_push($tmp_sdi, $value['sdii_id']); } } if(isset($_POST['valider'])) { // current user has no permissions on indicators // we repost current indicators because the field is disabled if(!$l21auth->hasRight('sdi')) { $form_sdi = $tmp_sdi; } else { isset($_POST['choose_sdi']) ? $form_sdi=$_POST['choose_sdi'] : $form_sdi=array(); } $a = array(); $a[0]=$_POST['project_name']; $a[1]=$_POST['project_description']; $a[2]=$_POST['project_body']; $a[3]=$_POST['project_parent_id']; $a[4]=$_POST['project_scale_id']; $a[5]=$_POST['project_priority_id']; $a[6]=$_POST['project_begin_date']; $a[7]=$_POST['project_estimated_date']; $a[8]=$_POST['project_end_date']; $a[9]=$_POST['project_statut']; $a[10]=$current_status; $a[11]=$_POST['project_level_id']; $a[12]=$_POST['project_workshop_id']; $a[13]=$form_sdi; $a[14]=$_POST['project_progression']; $a[15]=$_POST['project_budget']; $a[16]=$_POST['project_coordinator']; $a[17]=$_POST['project_partners']; $a[18]=$_POST['project_manager']; $a[19]=$_POST['project_tags']; $a['goal'] = $_POST['project_goal']; $a['opgoal'] = $_POST['project_opgoal']; $a['budget_comment'] = $_POST['project_budget_comment']; $a['cal_comment'] = $_POST['project_cal_comment']; $a['comment'] = $_POST['project_comment']; $a['elected'] = $_POST['project_elected']; $a['team'] = $_POST['project_team']; $a['finalities'] = isset($_POST['finalities']) ? $_POST['finalities'] : array(); $a['targets']=$_POST['project_targets']; $a['progression_sync'] = isset($_POST['project_progression_sync']) ? 'Y' : 'N'; $project_object= new project; $integrity=$project_object->CheckDataIntegrity($a, $sql_object); if(is_string($integrity)) $text_format='2FIELD'; else $text_format='2HTML'; $form_name=formatText($_POST['project_name'],$text_format); $form_goal=formatText($_POST['project_goal'],$text_format); $form_opgoal=formatText($_POST['project_opgoal'],$text_format); $form_description=formatText($_POST['project_description'], $text_format); $form_body=formatText($_POST['project_body'], $text_format); $form_budget=formatText($_POST['project_budget'], $text_format); $form_budget_comment=formatText($_POST['project_budget_comment'], $text_format); $form_cal_comment=formatText($_POST['project_cal_comment'], $text_format); $form_elected=formatText($_POST['project_elected'], $text_format); $form_team=formatText($_POST['project_team'], $text_format); $form_comment=formatText($_POST['project_comment'], $text_format); $form_coordinator=formatText(str_replace(',', ', ', $_POST['project_coordinator']), $text_format); $form_partners=formatText(str_replace(',', ', ', $_POST['project_partners']), $text_format); $form_targets=formatText(str_replace(',', ', ', $_POST['project_targets']), $text_format); $form_manager=formatText(str_replace(',', ', ', $_POST['project_manager']), $text_format); $form_begin_date=$_POST['project_begin_date']; $form_estimated_date=$_POST['project_estimated_date']; $form_end_date=$_POST['project_end_date']; $form_progression=$_POST['project_progression']; $form_progression_sync = isset($_POST['project_progression_sync']) ? 'Y' : 'N'; // we override completion indicator values if based on tasks sync to be sure if($a['progression_sync'] == 'Y') { $a[14] = $project_object->getCompletion($id, $sql_object, 'percent'); $form_progression = $a[14]; } $form_parent_id=$_POST['project_parent_id']; $form_level_id=$_POST['project_level_id']; $form_workshop_id=$_POST['project_workshop_id']; $form_scale_id=$_POST['project_scale_id']; $form_priority_id=$_POST['project_priority_id']; $form_finality_id = false; $form_finalities = isset($_POST['finalities']) ? $_POST['finalities'] : array(); $form_statut=$_POST['project_statut']; $form_tags=$_POST['project_tags']; if(isset($_POST['project_progression_sync'])) $mask_progression_sync = "checked=\"checked\""; else $mask_progression_sync = ''; if($_POST['project_statut']=='D') $mask_statut_D="checked=\"checked\""; else $mask_statut_D=''; if($_POST['project_statut']=='P') $mask_statut_P="checked=\"checked\""; else $mask_statut_P=''; $a=urlencode(serialize($a)); } // checkbox Finalities $display_finalities=getFinalities($form_finality_id, 'write', $form_finalities); // select-box des niveaux $data=$sql_object->DBSelect(SQL_getLevelsList()); $select_level=LevelSelectBox($data, "project_level_id", $form_level_id); // select-box de workshops $data=$sql_object->DBSelect($req_list_workshop); $select_workshop=WorkshopSelectBox($data, "project_workshop_id", $form_workshop_id); // select-box des projets $data=$sql_object->DBSelect(SQL_getProjectsList(0,1000, 'public')); $select_parent=ProjectSelectBox($data, "project_parent_id", $form_parent_id, -1, (array) $id); // select-box des échelles $data=$sql_object->DBSelect($req_list_scale); $select_scale=ScaleSelectBox($data, "project_scale_id", $form_scale_id); // select-box des priorités $data=$sql_object->DBSelect($req_list_priority); $select_priority=PrioritySelectBox($data, "project_priority_id", $form_priority_id); $data=$sql_object->DBSelect($req_list_sdi); // current user has no permissions on indicators // we disable Indicators selectors but we have to be sure current Indicators are passed again !!! see above (!$l21auth->hasRight('sdi')) ? $disabled = true : $disabled = false; $select_sdi=SDIMultiSelectBox($data, "choose_sdi", $tmp_sdi, $disabled); // select-box statut if($form_statut=='P') $mask_archive_P=' selected="selected"'; if($form_statut=='D') $mask_archive_D=' selected="selected"'; if($form_statut=='AA') $mask_archive_AA=' selected="selected"'; if($form_statut=='PA') $mask_archive_PA=' selected="selected"'; $select_statut="\n"; // foundation Datepicker include addDynamicCSS('../lib/js/foundation-datepicker/stylesheets/foundation-datepicker.css'); footerAddJS('../lib/js/foundation-datepicker/js/foundation-datepicker.js'); $js = "if($('#project_progression_sync').length > 0) { $('#project_progression_sync').change(function() { if($(this).is(':checked')) { var curval = $('#progressbar-project-container').attr('data-tasks-percentage'); // var rounded = Math.ceil(curval / ".PROJECT_STEP.")* ".PROJECT_STEP."; // console.log('curval : ' + curval + ' - rounded : ' + rounded); $('#project_progression').val(curval); displayValue(curval); } }); }"; footerAddInlineJS($js); // getting projects tasks if enabled if(defined('PROJECT_TASK') && PROJECT_TASK == 1) { $otask = new projectTask(); $tasks = $otask->get_project_tasks($id, $sql_object); } ?>

:

hasRight('sdi')) { ?>

%
/> ?

DBSelect(SQL_getoneLevel($form_level_id)); $level_name=formatText($record[0]['level_name'], '2HTML'); } $requete=SQL_getonescaleDenomination($form_scale_id); $result=$sql_object->DBSelect($requete); if($result==0 || count($result)!=1) die('Scale was not found - (id:'.$form_scale_id.')'); else $scale_denomination=formatText($result[0]['scale_denomination'], '2HTML'); $requete=SQL_getonepriorityName($form_priority_id); $result=$sql_object->DBSelect($requete); if($result==0 || count($result)!=1) die('Priority was not found - (id:'.$form_priority_id.')'); else $priority_name=formatText($result[0]['priority_name'], '2HTML'); if($form_parent_id != 0) { $requete=SQL_getProjectName($form_parent_id); $result=$sql_object->DBSelect($requete); if($result==0 || count($result)!=1) die('Parent project was not found - (id:'.$form_parent_id.')'); else $parent_name=formatText($result[0]['project_name'], '2HTML'); } else $parent_name=_t('divers','none'); if($form_workshop_id != 0) { $query=SQL_getWorkshopName($form_workshop_id); $result=$sql_object->DBSelect($query); if($result==0 || count($result)!=1) die('Workshop was not found - (id:'.$form_workshop_id.')'); else $workshop_name=formatText($result[0]['workshop_denomination'], '2HTML'); } else $workshop_name=_t('divers','none'); if(count($form_sdi) > 0) { $sdi_list=''; } else $sdi_list=_t('divers','none'); $display_finalities = getFinalities(false, 'read', $form_finalities); ?>

\n"; echo "
".mb_ucfirst(_t('project','name'))." :
\n"; echo "
". $form_name."
\n"; echo "
".mb_ucfirst(_t('project','parent'))." :
\n"; echo "
". $parent_name."
\n"; echo "
".mb_ucfirst(_t('project','target'))." :
\n"; echo "
". $form_targets."
\n"; echo "
".mb_ucfirst(_t('project','goal'))." :
\n"; echo "
". empty_nc($form_goal)."
\n"; echo "
".mb_ucfirst(_t('project','opgoal'))." :
\n"; echo "
". empty_nc($form_opgoal)."
\n"; if(defined('PROJECT_FINALITIES') && PROJECT_FINALITIES == 1) { echo "
".mb_ucfirst(_t('project','finalities'))." :
\n"; echo "
". $display_finalities ."
\n"; } echo "
".mb_ucfirst(_t('project','description')). " :
\n"; echo "
".empty_nc($form_description)."
\n"; echo "
".mb_ucfirst(_t('project','body'))." :
\n"; echo "
".empty_none($form_body)."
\n"; echo "
".mb_ucfirst(_t('project','priority'))." :
\n"; echo "
".$priority_name."
\n"; echo "
".mb_ucfirst(_t('project','level'))." :
\n"; echo "
".$level_name."
\n"; echo "
".mb_ucfirst(_t('project','scale'))." :
\n"; echo "
".$scale_denomination."
\n"; echo "
".mb_ucfirst(_t('tag','name'))." :
\n"; echo "
".empty_none(str_replace(',', ', ', $form_tags))."
\n"; echo "
".mb_ucfirst(_t('project','workshop'))." :
\n"; echo "
".$workshop_name."
\n"; echo "
".mb_ucfirst(_t('project','sdi'))." :
\n"; echo "
".empty_none($sdi_list)."
\n"; echo "
".mb_ucfirst(_t('divers','statut'))." :
\n"; echo "
". display_statut($_POST['project_statut']). "
\n"; echo "\n"; ?>

:
:
:
:
:
:

:
:
:
:
:

:
: