} // the room-request has been declined if ($_sendMessage['type'] == 'declined') { $decline_message = Request::get('decline_message'); if ($semObj->seminar_number) { $message = sprintf(_("ABGELEHNTE RAUMANFRAGE: Ihre Raumanfrage zur Veranstaltung %s (%s) wurde abgelehnt.") . "\n\n" . _("Nachricht des Raumadministrators:") . "\n" . $decline_message, $semObj->getName(), $semObj->seminar_number); } else { $message = sprintf(_("ABGELEHNTE RAUMANFRAGE: Ihre Raumanfrage zur Veranstaltung %s wurde abgelehnt.") . "\n\n" . _("Nachricht des Raumadministrators:") . "\n" . $decline_message, $semObj->getName()); } if ($reqObj->getTerminId()) { $termin = new SingleDate($reqObj->getTerminId()); $message .= "\n\n". _("Betroffener Termin:") . "\n" . $termin->toString(); } if ($reqObj->getMetadateId()) { $cycle = SeminarCycleDate::find($reqObj->getMetadateId()); $message .= "\n\n". _("Betroffene Zeit:") . "\n" . $cycle->toString('full'); } // fetch the names of the lecutrers to display them in the message foreach($semObj->getMembers('dozent') as $dozenten){ $title[] = $dozenten['Nachname']; } if($semObj->seminar_number) $title[] = $semObj->seminar_number; $title[] = mila($semObj->getName(),30); $reqObj->setReplyComment($decline_message); $reqObj->store();
public function getTypeExplained() { $ret = ''; if ($this->termin_id) { $ret = _("Einzeltermin der Veranstaltung"); if (get_object_type($this->termin_id, array('date'))) { $termin = new SingleDate($this->termin_id); $ret .= chr(10) . '(' . $termin->toString() . ')'; } } elseif ($this->metadate_id) { $ret = _("alle Termine einer regelmäßigen Zeit"); if ($cycle = SeminarCycleDate::find($this->metadate_id)) { $ret .= chr(10) . ' (' . $cycle->toString('full') . ')'; } } elseif ($this->seminar_id) { $ret = _("alle regelmäßigen und unregelmäßigen Termine der Veranstaltung"); if (get_object_type($this->seminar_id, array('sem'))) { $course = new Seminar($this->seminar_id); $ret .= chr(10) . ' (' . $course->getDatesExport(array('short' => true, 'shrink' => true)) . ')'; } } else { $ret = _("Kein Typ zugewiesen"); } return $ret; }
/** * create a new room requests */ public function new_action() { $options = array(); $this->url_params = array(); if (Request::get('origin') !== null) { $this->url_params['origin'] = Request::get('origin'); } if (!RoomRequest::existsByCourse($this->course_id)) { $options[] = array('value' => 'course', 'name' => _('alle regelmäßigen und unregelmäßigen Termine der Veranstaltung')); } foreach (SeminarCycleDate::findBySeminar($this->course_id) as $cycle) { if (!RoomRequest::existsByCycle($cycle->getId())) { $name = _("alle Termine einer regelmäßigen Zeit"); $name .= ' (' . $cycle->toString('full') . ')'; $options[] = array('value' => 'cycle_' . $cycle->getId(), 'name' => $name); } } foreach (SeminarDB::getSingleDates($this->course_id) as $date) { if (!RoomRequest::existsByDate($date['termin_id'])) { $name = _("Einzeltermin der Veranstaltung"); $termin = new SingleDate($date['termin_id']); $name .= ' (' . $termin->toString() . ')'; $options[] = array('value' => 'date_' . $date['termin_id'], 'name' => $name); } } $this->options = $options; Helpbar::get()->addPlainText(_('Information'), _('Hier können Sie festlegen, welche Art von Raumanfrage Sie erstellen möchten.')); }
/** * Returns the singledate for the id found in the given field. * * @param string $field The name of the table field. * @return string The singledate. */ protected function formatSingledate($field) { $termin = new SingleDate($this->{$field}); return '<em>' . $termin->toString() . '</em>'; }
public function getGroupedDates($singledate = null, $metadate = null) { $i = 0; $first_event = FALSE; $semesterData = new SemesterData(); $all_semester = $semesterData->getAllSemesterData(); if (Config::get()->RESOURCES_HIDE_PAST_SINGLE_DATES) { // filtering foreach ($all_semester as $semester) { if ($semester['ende'] > time()) { $new_as[] = $semester; } } $all_semester = $new_as; } if (!$singledate) { foreach ($all_semester as $semester) { foreach ($this->metadate->cycles as $metadate_id => $cycle) { if ($metadate && $metadate_id != $metadate) continue; $group = $cycle->getSingleDates(); $metadate_has_termine = 0; $single = true; foreach ($group as $termin) { if (!$termin->isExTermin() && $termin->getStartTime() >= $semester['beginn'] && $termin->getStartTime() <= $semester['ende'] && (!Config::get()->RESOURCES_HIDE_PAST_SINGLE_DATES || $termin->getStartTime() >= time()) && $termin->isPresence()) { if (empty($first_event)) { $first_event = $termin->getStartTime(); } $groups[$i]["termin_ids"][$termin->getSingleDateId()] = TRUE; $metadate_has_termine = 1; if (empty($info[$i]['raum'])) { $info[$i]['raum'] = $termin->resource_id; } else if ($info[$i]['raum'] != $termin->resource_id) { $single = false; } } } if ($metadate_has_termine) { $info[$i]['name'] = $cycle->toString('long').' ('.$semester['name'].')'; $info[$i]['weekend'] = ($cycle->getDay() == 6 || $cycle->getDay() == 0); $this->applyTimeFilter($semester['beginn'], $semester['ende']); $raum = $this->getDatesTemplate('dates/seminar_predominant_html', array('cycle_id' => $metadate_id)); if ($raum) { $info[$i]['name'] .= '<br> '.$raum; $room_stat = $this->getStatOfNotBookedRooms($cycle->getMetadateId()); $info[$i]['name'] .= sprintf(_(" (%s von %s belegt)"), $room_stat['all'] - $room_stat['open'] , $room_stat['all']); $groups[$i]['complete'] = ($room_stat['all'] - $room_stat['open'] >= sizeof($groups[$i]['termin_ids'])) ? true : false; } if (!$single) unset($info[$i]['raum']); $i++; } } } if (!$metadate) { $irreg = $this->getSingleDates(); if (Config::get()->RESOURCES_HIDE_PAST_SINGLE_DATES) { $anzahl = 0; foreach ($irreg as $termin_id => $termin) { if ($termin->getStartTime() > time() - 3600) { $anzahl++; } } } else { $anzahl = sizeof($irreg); } if ($anzahl > Config::get()->RESOURCES_ALLOW_SINGLE_DATE_GROUPING) { $single = true; $first = true; foreach ($irreg as $termin_id => $termin) { if ($termin->isPresence()) { if (!Config::get()->RESOURCES_HIDE_PAST_SINGLE_DATES || $termin->getStartTime() > time() - 3600) { if (empty($first_event)) { $first_event = $termin->getStartTime(); } $groups[$i]["termin_ids"][$termin->getSingleDateId()] = TRUE; if (!$first) $info[$i]['name'] .= '<br> '; $info[$i]['name'] .= $termin->toString(); $resObj = ResourceObject::Factory($termin->resource_id); if ($link = $resObj->getFormattedLink($termin->getStartTime())) { $info[$i]['name'] .= '<br> '.$link; if (empty($info[$i]['raum'])) { $info[$i]['raum'] = $termin->resource_id; } else if ($info[$i]['raum'] != $termin->resource_id) { $single = false; } } if (date('w', $termin->getStartTime()) == 6 || date('w', $termin->getStartTime()) == 0) { $info[$i]['weekend'] = true; } $first = false; } } } if (!$single) unset($info[$i]['raum']); } else { foreach ($irreg as $termin_id => $termin) { if ($termin->isPresence()) { if (!Config::get()->RESOURCES_HIDE_PAST_SINGLE_DATES || $termin->getStartTime() > time() - 3600) { if (empty($first_event)) { $first_event = $termin->getStartTime(); } $groups[$i]["termin_ids"][$termin->getSingleDateId()] = TRUE; $info[$i]['name'] = $termin->toString(); $resObj = ResourceObject::Factory($termin->resource_id); if ($link = $resObj->getFormattedLink($termin->getStartTime())) { $info[$i]['name'] .= '<br> '.$link; $info[$i]['raum'] = $termin->resource_id; } $info[$i]['weekend'] = (date('w', $termin->getStartTime()) == 6 || date('w', $termin->getStartTime()) == 0); $i++; } } } } } } else { // we have a single date $termin = new SingleDate($singledate); $groups[0]['termin_ids'][$termin->getSingleDateID()] = TRUE; $info[0]['name'] = $termin->toString(); $info[0]['raum'] = $termin->resource_id; $info[0]['weekend'] = (date('w', $termin->getStartTime()) == 6 || date('w', $termin->getStartTime()) == 0); $first_event = $termin->getStartTime(); } return array('first_event' => $first_event, 'groups' => $groups, 'info' => $info); }
function vorbesprechung($seminar_id, $type = 'standard') { $query = "SELECT termin_id\n FROM termine\n WHERE range_id = ? AND date_typ = '2'\n ORDER BY date"; $statement = DBManager::get()->prepare($query); $statement->execute(array($seminar_id)); $termin_id = $statement->fetchColumn(); if (!$termin_id) { return false; } $termin = new SingleDate($termin_id); $ret = $termin->toString(); if ($termin->getResourceID()) { $ret .= ', ' . _("Ort:") . ' '; switch ($type) { case 'export': $resObj = ResourceObject::Factory($termin->getResourceID()); $ret .= $resObj->getName(); break; case 'standard': default: $resObj = ResourceObject::Factory($termin->getResourceID()); $ret .= $resObj->getFormattedLink(TRUE, TRUE, TRUE); break; } } return $ret; }