$bloc = ''; /** * On récupèer les Chapitres séléctionnés. */ $arrayChapitre = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaChapitreModel::KEYNAME . ',' . FtaChapitreModel::FIELDNAME_NOM_USUEL_CHAPITRE . ' FROM ' . FtaChapitreModel::TABLENAME . ' ORDER BY ' . FtaChapitreModel::FIELDNAME_NOM_USUEL_CHAPITRE); foreach ($arrayChapitre as $rowsChapitre) { if (Lib::getParameterFromRequest(FtaChapitreModel::FIELDNAME_NOM_CHAPITRE . '_' . $rowsChapitre[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE]) == 1) { $ListeDesChapitres[] = $rowsChapitre[FtaChapitreModel::KEYNAME]; } } if ($ListeDesChapitres) { foreach ($ListeDesChapitres as $idChapitre) { $idFtaWorkflowStructure = FtaWorkflowStructureModel::getIdFtaWorkflowStructureByIdFtaAndIdChapitre($idFta, $idChapitre); $ftaWorkflowStructureModel = new FtaWorkflowStructureModel($idFtaWorkflowStructure, $idChapitre); $idFtaProcessus = $ftaWorkflowStructureModel->getDataField(FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS)->getFieldValue(); $return = FtaProcessusModel::getProcessusNextFromIdFtaChapitres($idFta, $idFtaProcessus, $idFtaWorkflow, "I", $htmlResult, $idFtaProcessusEffectue); $ListeDesChapitresSuivant[] = FtaChapitreModel::getIdFtaChapitreByArrayProcessusAndWorkflow($return['processus'], $idFtaWorkflow); $redirectionSelectionne .= '&' . FtaChapitreModel::FIELDNAME_NOM_CHAPITRE . '_' . $idChapitre . '=1'; } $ListeDesChapitresSuivant = array_unique($ListeDesChapitresSuivant); if ($ListeDesChapitresSuivant["0"]) { $arrayChapitreDescription = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaChapitreModel::FIELDNAME_NOM_USUEL_CHAPITRE . ',' . FtaChapitreModel::KEYNAME . ' FROM ' . FtaChapitreModel::TABLENAME . ' WHERE ( 0' . FtaChapitreModel::addIdFtaChapitre($ListeDesChapitresSuivant["0"]) . ' )'); foreach ($arrayChapitreDescription as $rowsChapitreDescription) { $bloc .= $rowsChapitreDescription[FtaChapitreModel::FIELDNAME_NOM_USUEL_CHAPITRE] . ' / '; $redirection .= '&' . FtaChapitreModel::FIELDNAME_NOM_CHAPITRE . '_' . $rowsChapitreDescription[FtaChapitreModel::KEYNAME] . '=2'; } } else { $bloc = "<i>Les chapitres sélectionnés sont les seuls à être dévalidé </i>"; } } else { //Averissement
/** * * @param int $paramIdFta * @param int $paramIdProcessus * @param int $paramIdFtaWorkflow * @param string $paramAbreviation_fta_etat * @param HtmlResult2 $htmlResult * @param array $idFtaProcessusEffectue * @param string $paramFirstPass * @return array */ public static function getProcessusNextFromIdFtaChapitres($paramIdFta, $paramIdProcessus, $paramIdFtaWorkflow, $paramAbreviation_fta_etat, HtmlResult2 $htmlResult, $idFtaProcessusEffectue, $paramFirstPass = NULL) { /** * On vérifie si le processus à deja été utilisé. */ $cheackIdFtaProcessus = in_array($paramIdProcessus, $idFtaProcessusEffectue); if (!$cheackIdFtaProcessus) { $idFtaProcessusEffectue[] = $paramIdProcessus; //Recherches des processus suivants $arrayProcessusCycle = FtaProcessusCycleModel::getArrayProccusNextValidateFromIdFta($paramIdFta, $paramIdFtaWorkflow, $paramAbreviation_fta_etat, $paramIdProcessus); //Enregistrement du processus if ($paramFirstPass) { $htmlResult->setProcessus($paramIdProcessus); } if ($htmlResult->getHtmlResult() == NULL) { $array = array('processus' => $htmlResult->getProcessus()); $htmlResult->setHtmlResult($array); } else { $array = $htmlResult->getHtmlResult(); $arrayTmp = array('processus' => $htmlResult->getProcessus()); $array3 = array_merge_recursive($arrayTmp, $array); $htmlResult->setHtmlResult($array3); } if ($arrayProcessusCycle != NULL) { foreach ($arrayProcessusCycle as $rowsProcessusCycle) { $paramIdProcessus = $rowsProcessusCycle[FtaProcessusCycleModel::FIELDNAME_PROCESSUS_NEXT]; $paramFirstPass = "******"; //Appel récursif de la fonction pour continuer à dévalider les processus suivants FtaProcessusModel::getProcessusNextFromIdFtaChapitres($paramIdFta, $paramIdProcessus, $paramIdFtaWorkflow, $paramAbreviation_fta_etat, $htmlResult, $idFtaProcessusEffectue, $paramFirstPass); } } //Retour de la fonction return $htmlResult->getHtmlResult(); } }