unserialize_task_params(); // récupérer les jeux de sauvegarde $this->add_section_report($this->msg["sauv_sets"]); if (method_exists($this->proxy, 'pmbesBackup_listSetBackup')) { $result = $this->proxy->pmbesBackup_listSetBackup(); //lister les sauvegardes sélectionnées en vérifiant qu'elles soient toujours présentes dans PMB if ($result) { foreach ($result as $aresult) { foreach ($parameters["form_jeu_sauv"] as $id_lst) { //récupération des sauvegardes sélectionnées if ($aresult["sauv_sauvegarde_id"] == $id_lst) { $t=array(); $t["id_sauv"] = $id_lst; $t["nom_sauv"] = $aresult["sauv_sauvegarde_nom"]; $this->liste_sauvegarde[] = $t; } } } } if ($this->liste_sauvegarde) { $percent = 0; $p_value = (int) 100/count($this->liste_sauvegarde); $this->indice_tableau = 0; foreach($this->liste_sauvegarde as $sauvegarde) { $this->listen_commande(array(&$this, 'traite_commande')); //fonction a rappeller (traite commande) if($this->statut == WAITING) { $this->send_command(RUNNING); } if($this->statut == RUNNING) { //lancement de la sauvegarde $this->add_content_report($this->msg["sauv_launch"]." : ".$sauvegarde["nom_sauv"]); if (method_exists($this->proxy, 'pmbesBackup_launchBackup')) { $result_save = $this->proxy->pmbesBackup_launchBackup($sauvegarde["id_sauv"]); $this->report[] = $result_save["report"]; $this->log_ids[] = $result_save["logid"]; //mise à jour de la progression $percent += $p_value; $this->update_progression($percent); $this->indice_tableau++; } else { $this->add_function_rights_report("launchBackup","pmbesBackup"); } } } } else { $this->add_content_report($this->msg["sauv_unknown_sets"]); } } else { $this->add_function_rights_report("listSetBackup","pmbesBackup"); } } else { $this->add_rights_bad_user_report(); } } public function traite_commande($cmd,$message = '') { switch ($cmd) { case STOP : $this->stop_backup(); break; case ABORT : $this->abort_backup(); break; case FAIL : $this->stop_backup(); break; } parent::traite_commande($cmd, $message); } /*Récupère les jeux de sauvegarde non traitées*/ public function stop_backup() { $this->add_section_report($this->msg["backup_stopped"]); $chaine = "