Example #1
0
                    }
                    $statement->execute(array(
                        $req_num,
                        substr($requestable[$key - 1], 5),
                        substr($requestable[$key], 5)
                    ));
                }
            }
        }
    } else {
        $msg->addMsg(25);
    }
}

//Eigenschaften bearbeiten
if (Request::submittedSome('_add_property', '_send_property_type') || Request::option('delete_property')) {
    if ($globalPerm == 'admin') { //check for resources root or global root
        if (Request::option('delete_property')) {
            $query = "DELETE FROM resources_properties WHERE property_id = ?";
            $statement = DBManager::get()->prepare($query);
            $statement->execute(array(
                Request::option('delete_property')
            ));
        }

        if (Request::submitted('_add_property')) {
            $options = '';
            if (Request::option('add_property_type') == 'bool') {
                $options = 'vorhanden';
            } else if (Request::option('add_property_type') == 'select') {
                $options = 'Option 1;Option 2;Option 3';
Example #2
0
 public function testSubmittedSome()
 {
     $this->assertFalse(Request::submittedSome('null', 'null'));
     $this->assertTrue(Request::submittedSome('null', 's', 'v'));
 }
Example #3
0
 /**
  * Change preliminary admission settings.
  */
 function change_admission_prelim_action()
 {
     CSRFProtection::verifyUnsafeRequest();
     $this->response->add_header('X-Title', _('Anmeldemodus ändern'));
     if (Request::submitted('change_admission_prelim')) {
         $request = Request::extract('admission_prelim int, admission_binding submitted, admission_prelim_txt');
         $request = array_diff_key($request, array_filter($this->is_locked));
         $request['change_admission_prelim'] = 1;
         $this->course->setData($request);
         if ($this->course->isFieldDirty('admission_prelim')) {
             if ($this->course->admission_prelim == 1 && $this->course->getNumParticipants()) {
                 $question = _("Sie beabsichtigen den Anmeldemodus auf vorläufiger Eintrag zu ändern. Sollen die bereits in der Veranstaltung eingetragenen Teilnehmer in vorläufige Teilnehmer umgewandelt werden?");
             }
             if ($this->course->admission_prelim == 0 && $this->course->getNumPrelimParticipants()) {
                 $question = _("Sie beabsichtigen den Anmeldemodus auf direkten Eintrag zu ändern. Sollen die vorläufigen Teilnehmer in die Veranstaltung übernommen werden (ansonsten werden die vorläufigen Teilnehmer aus der Veranstaltung entfernt) ?");
             }
         }
         if (Request::submittedSome('change_admission_prelim_no', 'change_admission_prelim_yes') || !$question) {
             if ($this->course->admission_prelim == 1 && $this->course->getNumParticipants() && Request::submitted('change_admission_prelim_yes')) {
                 $num_moved = 0;
                 $seminar = new Seminar($this->course_id);
                 foreach ($this->course->members->findBy('status', array('user', 'autor'))->pluck('user_id') as $user_id) {
                     $seminar->addPreliminaryMember($user_id);
                     $num_moved += $seminar->deleteMember($user_id) !== false;
                     setTempLanguage($user_id);
                     $message_body = sprintf(_('Sie wurden in der Veranstaltung **%s** in den Status **vorläufig akzeptiert** befördert, da das Anmeldeverfahren geändert wurde.'), $this->course->name);
                     $message_title = sprintf(_("Statusänderung %s"), $this->course->name);
                     messaging::sendSystemMessage($user_id, $message_title, $message_body);
                     restoreLanguage();
                 }
                 if ($num_moved) {
                     PageLayout::postMessage(MessageBox::success(sprintf(_("%s Teilnehmer wurden auf vorläufigen Eintrag gesetzt."), $num_moved)));
                 }
             }
             if ($this->course->admission_prelim == 0 && $this->course->getNumPrelimParticipants()) {
                 if (Request::submitted('change_admission_prelim_yes')) {
                     $num_moved = 0;
                     $seminar = new Seminar($this->course_id);
                     foreach ($this->course->admission_applicants->findBy('status', 'accepted')->pluck('user_id') as $user_id) {
                         $num_moved += $seminar->addMember($user_id, 'autor') !== false;
                         setTempLanguage($user_id);
                         $message_body = sprintf(_('Sie wurden in der Veranstaltung **%s** in den Status **Autor** versetzt, da das Anmeldeverfahren geändert wurde.'), $this->course->name);
                         $message_title = sprintf(_("Statusänderung %s"), $this->course->name);
                         messaging::sendSystemMessage($user_id, $message_title, $message_body);
                         restoreLanguage();
                     }
                     if ($num_moved) {
                         PageLayout::postMessage(MessageBox::success(sprintf(_("%s Teilnehmer wurden in die Veranstaltung übernommen."), $num_moved)));
                     }
                 }
                 if (Request::submitted('change_admission_prelim_no')) {
                     $num_moved = 0;
                     foreach ($this->course->admission_applicants->findBy('status', 'accepted') as $applicant) {
                         setTempLanguage($applicant->user_id);
                         $message_body = sprintf(_('Sie wurden aus der Veranstaltung **%s** entfernt, da das Anmeldeverfahren geändert wurde.'), $this->course->name);
                         $message_title = sprintf(_("Statusänderung %s"), $this->course->name);
                         messaging::sendSystemMessage($applicant->user_id, $message_title, $message_body);
                         restoreLanguage();
                         $num_moved += $applicant->delete();
                     }
                     if ($num_moved) {
                         PageLayout::postMessage(MessageBox::success(sprintf(_("%s vorläufige Teilnehmer wurden entfernt."), $num_moved)));
                     }
                 }
             }
             if ($this->course->store()) {
                 PageLayout::postMessage(MessageBox::success(_("Der Anmeldemodus wurde geändert.")));
             }
             unset($question);
         }
     }
     if (!$question) {
         $this->redirect($this->url_for('/index'));
     } else {
         $this->button_yes = 'change_admission_prelim_yes';
         $this->button_no = 'change_admission_prelim_no';
         $this->request = $request;
         PageLayout::postMessage(MessageBox::info($question));
         $this->render_template('course/admission/_change_admission.php');
     }
 }
Example #4
0
        $folder_system_data["mode"]='';
        $folder_system_data["zipupload"]='';
        unset($cmd);
    }
}

if ($folder_system_data["move"]) {
    $check_movable_item = StudipDocument::find($folder_system_data["move"]) ?: DocumentFolder::find($folder_system_data["move"]);
    if (@$check_movable_item->seminar_id != $SessionSeminar
        || (!$rechte && @$check_movable_item->user_id != $GLOBALS['user']->id)) {
        throw new AccessDeniedException();
    }
}

//verschieben / kopieren in andere Veranstaltung
if ($rechte && Request::submittedSome('move_to_sem', 'move_to_inst', 'move_to_top_folder')){
    if (!Request::submitted('move_to_top_folder')){
        $new_sem_id = Request::submitted('move_to_sem') ? Request::getArray('sem_move_id') : Request::getArray('inst_move_id');
    } else {
        $new_sem_id = array($SessSemName[1]);
    }
    if ($new_sem_id) {
        foreach($new_sem_id as $sid) {
            $new_range_id = md5($sid . 'top_folder');
            if ($folder_system_data["mode"] == 'move'){
                $done = move_item($folder_system_data["move"], $new_range_id, $sid);
                if (!$done){
                    $msg .= "error§" . _("Verschiebung konnte nicht durchgeführt werden. Eventuell wurde im Ziel der Allgemeine Dateiordner nicht angelegt.") . "§";
                } else {
                    $msg .= "msg§" . sprintf(_("%s Ordner, %s Datei(en) wurden verschoben."), $done[0], $done[1]) . '§';
                }
Example #5
0
 function save_action()
 {
     $params = array();
     if (Request::get('open_node')) {
         $params['open_node'] = Request::get('open_node');
     }
     if (Request::get('from')) {
         $url = $this->url_for(Request::get('from'));
     } else {
         $url = $this->url_for('course/study_areas/show/' . $this->course->id);
     }
     if (Request::submittedSome('assign', 'unassign')) {
         if (Request::submitted('assign')) {
             $msg = $this->assign();
         }
         if (Request::submitted('unassign')) {
             $msg = $this->unassign();
         }
     } else {
         $studyareas = Request::getArray('studyareas');
         if (empty($studyareas)) {
             PageLayout::postMessage(MessageBox::error(_('Sie müssen mindestens einen Studienbereich auswählen')));
             $this->redirect($url);
             return;
         }
         $this->course->study_areas = SimpleORMapCollection::createFromArray(StudipStudyArea::findMany($studyareas));
         try {
             $msg = null;
             $this->course->store();
         } catch (UnexpectedValueException $e) {
             $msg = $e->getMessage();
         }
     }
     if (!$msg) {
         PageLayout::postMessage(MessageBox::success(_('Die Studienbereichszuordnung wurde übernommen')));
     } else {
         PageLayout::postMessage(MessageBox::error($msg));
     }
     $this->redirect($url);
 }