Пример #1
0
 $addfunction = "referentiel_add_task";
 $updatefunction = "referentiel_update_task";
 $deletefunction = "referentiel_delete_task";
 switch ($form->mode) {
     case "deletetaskall":
         if (isset($form->name)) {
             if (trim($form->name) == '') {
                 unset($form->name);
             }
         }
         if (isset($form) && !empty($form->taskid) && !empty($form->t_activite)) {
             $select_sql = '';
             foreach ($form->t_activite as $activite_id) {
                 referentiel_delete_activity_record($activite_id);
             }
             referentiel_delete_task_record($form->taskid);
         }
         break;
     case "approve":
         if (isset($form->name)) {
             if (trim($form->name) == '') {
                 unset($form->name);
             }
         }
         if (isset($form) && !empty($form->taskid) && !empty($form->t_activite)) {
             $select_sql = '';
             foreach ($form->t_activite as $activite_id) {
                 if (empty($select_sql)) {
                     $select_sql .= ' AND ((ref_activite=' . $activite_id . ') ';
                 } else {
                     $select_sql .= ' OR (ref_activite=' . $activite_id . ') ';
Пример #2
0
function referentiel_delete_task($form)
{
    // suppression task + consigne
    $ok_task = false;
    $ok_consigne = false;
    // DEBUG
    // echo "<br />";
    // print_object($form);
    // echo "<br />";
    if (isset($form->action) && $form->action == "modifier_task") {
        // suppression d'une task et des consignes associes
        if (isset($form->taskid) && $form->taskid > 0) {
            $ok_task = referentiel_delete_task_record($form->taskid);
        }
    } else {
        if (isset($form->action) && $form->action == "modifier_consigne") {
            // suppression d'un consigne
            if (isset($form->consigne_id) && $form->consigne_id > 0) {
                $ok_consigne = referentiel_delete_consigne_record($form->consigne_id);
            }
        }
    }
    return $ok_task or $ok_consigne;
}
 /**
  * Deletes a referentiel instance activity
  *
  * Deletes all database records, files and calendar events for this referentiel instance.
  *
  * @global object  $CFG
  * @global object  $DB
  * @param object $referentiel The referentiel to be purged
  * @param boolean purge : if true referentiel instance is deleted too
  * @return boolean False indicates error
  */
 function delete_instance($referentiel, $purge = true)
 {
     global $CFG, $DB;
     $result = true;
     // now get rid of all files
     $fs = get_file_storage();
     if ($cm = get_coursemodule_from_instance('referentiel', $referentiel->id)) {
         $context = context_module::instance($cm->id);
         $fs->delete_area_files($context->id);
     }
     // suppression des activites associees
     $activites = referentiel_get_activites_instance($referentiel->id);
     if ($activites) {
         foreach ($activites as $activite) {
             referentiel_delete_activity_record($activite->id);
         }
     }
     // suppression des taches associees
     $taches = referentiel_get_tasks_instance($referentiel->id);
     if ($taches) {
         foreach ($taches as $tache) {
             referentiel_delete_task_record($tache->id);
         }
     }
     // suppression des accompagnements
     $accompagnements = referentiel_get_accompagnements($referentiel->id);
     if ($accompagnements) {
         foreach ($accompagnements as $accompagnement) {
             referentiel_delete_accompagnement_record($accompagnement->id);
         }
     }
     // recalcul des certificats associes
     $certificats = referentiel_get_certificats($referentiel->ref_referentiel);
     if ($certificats) {
         foreach ($certificats as $certificat) {
             referentiel_recalcule_certificat($certificat);
         }
     }
     // suppression des evenements du calendrier
     if (!$DB->delete_records('event', array('modulename' => 'referentiel', 'instance' => $referentiel->id))) {
         $result = false;
     }
     if ($purge) {
         // on supprime aussi l'instance
         if (!$DB->delete_records('referentiel', array('id' => $referentiel->id))) {
             $result = false;
         }
     } else {
         // l'instance est conservee après avoir ete videe ; utile pour la reinitialisation du cours
         $result = true;
     }
     // $mod = $DB->get_field('modules','id',array('name'=>'referentiel'));
     // referentiel_grade_item_delete($referentiel);   // existe pas
     return $result;
 }