function execCommandMarkSem(){ $item_id = Request::option('item_id'); $marked_sem_array = Request::quotedArray('marked_sem'); $marked_sem = array_values(array_unique($marked_sem_array)); $sem_aktion = explode("_",Request::quoted('sem_aktion')); if (($sem_aktion[0] == 'mark' || $sem_aktion[1] == 'mark') && count($marked_sem)){ $count_mark = 0; for ($i = 0; $i < count($marked_sem); ++$i){ if (!isset($this->marked_sem[$marked_sem[$i]])){ ++$count_mark; $this->marked_sem[$marked_sem[$i]] = true; } } if ($count_mark){ $this->msg[$item_id] = "msg§" . sprintf(_("Es wurde(n) %s Veranstaltung(en) der Merkliste hinzugefügt."),$count_mark); } } if ($this->isItemAdmin($item_id)){ if (($sem_aktion[0] == 'del' || $sem_aktion[1] == 'del') && count($marked_sem)){ $not_deleted = array(); foreach($marked_sem as $key => $seminar_id){ $seminar = new Seminar($seminar_id); if(count($seminar->getStudyAreas()) == 1){ $not_deleted[] = $seminar->getName(); unset($marked_sem[$key]); } } if ($this->msg[$item_id]){ $this->msg[$item_id] .= "<br>"; } else { $this->msg[$item_id] = "msg§"; } if(count($marked_sem)){ $count_del = $this->tree->DeleteSemEntries($item_id, $marked_sem); $this->msg[$item_id] .= sprintf(_("%s Veranstaltungszuordnung(en) wurde(n) aufgehoben."),$count_del); } if(count($not_deleted)){ $this->msg[$item_id] .= '<br>' . sprintf(_("Für folgende Veranstaltungen wurde die Zuordnung nicht aufgehoben, da es die einzige Zuordnung ist: %s") , '<br>'.htmlready(join(', ', $not_deleted))); } } $this->anchor = $item_id; $this->open_items[$item_id] = true; return true; } return false; }