예제 #1
0
    }

    // 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();
예제 #2
0
 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;
 }
예제 #3
0
 /**
  * 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.'));
 }
예제 #4
0
파일: LogEvent.php 프로젝트: ratbird/hope
 /**
  * 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>';
 }
예제 #5
0
    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>&nbsp;&nbsp;&nbsp;&nbsp;'.$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>&nbsp;&nbsp;&nbsp;&nbsp;';
                                $info[$i]['name'] .= $termin->toString();
                                $resObj = ResourceObject::Factory($termin->resource_id);

                                if ($link = $resObj->getFormattedLink($termin->getStartTime())) {
                                    $info[$i]['name'] .= '<br>&nbsp;&nbsp;&nbsp;&nbsp;'.$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>&nbsp;&nbsp;&nbsp;&nbsp;'.$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);
    }
예제 #6
0
파일: dates.inc.php 프로젝트: ratbird/hope
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;
}