Stud.IP  6.0
SeminarCycleDate Class Reference
Inheritance diagram for SeminarCycleDate:
SimpleORMap

Public Member Functions

 getIsVisible ()
 
 toString (string $format='short')
 
 getFirstDate ()
 
 getAllDates ()
 
 getMostBookedRooms (int $start_time=0, int $end_time=0)
 
 getMostBookedRoom ()
 
 getMostUsedFreetextRoomNames (int $start_time=0, int $end_time=0)
 
 getMostUsedFreetextRoomName ()
 
 delete ()
 
 setSingleDateType ($type)
 
 store ()
 
 generateNewDates ()
 
 calculateTurnusDates ($dates, $turnus_offset)
 
 getOpenRequestsForDates ( $include_metadate=false, $order='mkdate DESC')
 
 countOpenRequestsForDates ($include_metadate=false)
 
 getBookingStatus ()
 
 getIconForBookingStatus ()
 
 getMessageForBookingStatus ()
 
- Public Member Functions inherited from SimpleORMap
 __construct ($id=null)
 
 __clone ()
 
 getRelationOptions ($relation)
 
 getTableMetadata ()
 
 hasAutoIncrementColumn ()
 
 setId ($id)
 
 getId ()
 
 getNewId ()
 
 toArray ($only_these_fields=null)
 
 toRawArray ($only_these_fields=null)
 
 toArrayRecursive ($only_these_fields=null)
 
 getValue ($field)
 
 getRelationValue ($relation, $field)
 
 getDefaultValue ($field)
 
 setValue ($field, $value)
 
 __get ($field)
 
 __set ($field, $value)
 
 __isset ($field)
 
 offsetExists ($offset)
 
 offsetGet ($offset)
 
 offsetSet ($offset, $value)
 
 offsetUnset ($offset)
 
 getIterator ()
 
 count ()
 
 isField ($field)
 
 isRelation ($field)
 
 isAdditionalField ($field)
 
 isAliasField ($field)
 
 isI18nField ($field)
 
 setData ($data, $reset=false)
 
 isNew ()
 
 isDeleted ()
 
 setNew ($is_new)
 
 getWhereQuery ()
 
 restore ()
 
 store ()
 
 triggerChdate ()
 
 delete ()
 
 isDirty ()
 
 isFieldDirty ($field)
 
 revertValue ($field)
 
 getPristineValue ($field)
 
 initRelation ($relation)
 
 resetRelation ($relation)
 
 cleanup ()
 

Static Public Member Functions

static findBySeminar ($seminar_id)
 
static findByTermin ($termin_id)
 
static removeOutRangedSingleDates ($start, $end, $seminar_id)
 
- Static Public Member Functions inherited from SimpleORMap
static tableScheme ($db_table)
 
static expireTableScheme ()
 
static exists ($id)
 
static countBySql ($sql='1', $params=[])
 
static create ($data)
 
static build ($data, $is_new=true)
 
static buildExisting ($data)
 
static import ($data)
 
static findBySQL ($sql, $params=[])
 
static findOneBySQL ($where, $params=[])
 
static findThru ($foreign_key_value, $options)
 
static findEachBySQL ($callable, $sql, $params=[])
 
static findMany ($pks=[], $order='', $order_params=[])
 
static findEachMany ($callable, $pks=[], $order='', $order_params=[])
 
static findAndMapBySQL ($callable, $where, $params=[])
 
static findAndMapMany ($callable, $pks=[], $order='', $order_params=[])
 
static deleteBySQL ($where, $params=[])
 
static toObject ($id_or_object)
 
static __callStatic (string $name, array $arguments)
 

Data Fields

const BOOKING_STATUS_UNDEFINED = 0
 
const BOOKING_STATUS_NOT_BOOKED = 1
 
const BOOKING_STATUS_PARTIALLY_BOOKED = 2
 
const BOOKING_STATUS_ALL_BOOKED = 3
 
- Data Fields inherited from SimpleORMap
const ID_SEPARATOR = '_'
 

Protected Member Functions

 getTimeFraction ($field)
 
 setTimeFraction ($field, $value)
 
 setSws ($value)
 
 buildOpenRequestsForDatesQuery ( $include_metadate=false, $order='')
 
- Protected Member Functions inherited from SimpleORMap
 _getId ($field)
 
 _setId ($field, $value)
 
 _getAdditionalValueFromRelation ($field)
 
 _setAdditionalValueFromRelation ($field, $value)
 
 _getAdditionalValue ($field)
 
 _setAdditionalValue ($field, $value)
 
 parseRelationOptions ($type, $name, $options)
 
 storeRelations ($only_these=null)
 
 deleteRelations ()
 
 initializeContent ()
 
 applyCallbacks ($type)
 
 cbNotificationMapper ($cb_type)
 
 cbAfterInitialize ($cb_type)
 
 setSerializedValue ($field, $value)
 
 setI18nValue ($field, $value)
 

Static Protected Member Functions

static configure ($config=[])
 
- Static Protected Member Functions inherited from SimpleORMap
static db_table ()
 
static db_fields ()
 
static pk ()
 
static default_values ()
 
static serialized_fields ()
 
static alias_fields ()
 
static i18n_fields ()
 
static additional_fields ()
 
static has_many ()
 
static has_one ()
 
static belongs_to ()
 
static has_and_belongs_to_many ()
 
static registered_callbacks ()
 
static known_slots ()
 
static notification_map ()
 
static getter_setter_map ()
 
static configure ($config=[])
 
static config ($key)
 
static registerCallback ($types, $cb)
 
static unregisterCallback ($types, $cb)
 

Additional Inherited Members

- Static Public Attributes inherited from SimpleORMap
static $schemes = null
 
- Protected Attributes inherited from SimpleORMap
 $content = []
 
 $content_db = []
 
 $is_new = true
 
 $is_deleted = false
 
 $relations = []
 
 $additional_data = []
 
string $i18n_class = I18NString::class
 
- Static Protected Attributes inherited from SimpleORMap
static $config = []
 
static $reserved_slots = ['value','newid','iterator','tablemetadata', 'relationvalue','wherequery','relationoptions','data','new','id']
 
static $performs_batch_operation = false
 

Member Function Documentation

◆ buildOpenRequestsForDatesQuery()

buildOpenRequestsForDatesQuery (   $include_metadate = false,
  $order = '' 
)
protected

This is a helper method for getRoomRequestsForDates and countRoomRequestsForDates which helps at building the SQL query and parameters.

Returns
array An associative array with two indexes:
  • sql: The SQL query
  • sql_params: The parameters for the SQL query as associative array.

◆ calculateTurnusDates()

calculateTurnusDates (   $dates,
  $turnus_offset 
)

Calculate turnus for singledate entries

Parameters
array$dates
int$turnus_offsetcorrection for turnus calculation if first date is not within semester
Returns
array

◆ configure()

static configure (   $config = [])
staticprotected

Configures this model.

Parameters
Array$configConfiguration array

◆ countOpenRequestsForDates()

countOpenRequestsForDates (   $include_metadate = false)

Returns the amount of open room requests that are associated with this metadate. The amount of requests is determined by counting requests that are directly associated to this metadate and the requests that are associated with the dates of this metadate. If the optional parameter $include_metadate is set to false, the requests associated with this metadate are not included in the result.

Parameters
bool$include_metadateWhether to include requests associated with this metadate (true) or not (false). The default is false.
Returns
int The amount of requests for this metadate.

◆ delete()

delete ( )

Deletes the cycle.

Returns
int number of affected rows

◆ findBySeminar()

static findBySeminar (   $seminar_id)
static

returns array of instances of SeminarCycleDates of the given seminar_id

Parameters
stringseminar_id: selected seminar to search for SeminarCycleDates
Returns
array of instances of SeminarCycleDates of the given seminar_id or an empty array

◆ findByTermin()

static findByTermin (   $termin_id)
static

return instance of SeminarCycleDates of given termin_id

Parameters
stringtermin_id: selected seminar to search for SeminarCycleDates
Returns
array

◆ generateNewDates()

generateNewDates ( )

Generate any currently missing single dates for this cycle.

◆ getAllDates()

getAllDates ( )

returns an sorted array with all dates and exdates for the cycledate entry

Returns
array of instances of dates or exdates

◆ getBookingStatus()

getBookingStatus ( )

Determines the booking status for the regular date and returns it as an integer that corresponds to defined class constants:

  • If the booking status cannot be determined, BOOKING_STATUS_UNDEFINED is returned.
  • If none of the single dates is booked, BOOKING_STATUS_NOT_BOOKED is returned.
  • If only a part of the single dates is booked, BOOKING_STATUS_PARTIALLY_BOOKED is returned.
  • If all single dates are booked, BOOKING_STATUS_ALL_BOOKED is returned.
Returns
int The booking status as integer.

◆ getFirstDate()

getFirstDate ( )

Retrieves the first date of the regular date.

Returns
CourseDate|null The first date or null if no such date exists.

◆ getIconForBookingStatus()

getIconForBookingStatus ( )

Generates the correct icon for the booking status of the regular date.

Returns
Icon An icon representing the booking status of the regular date.

◆ getIsVisible()

getIsVisible ( )

Check if there is a least one not cancelled date for this cycle data

Returns
bool true, if there is at least one not cancelled date

◆ getMessageForBookingStatus()

getMessageForBookingStatus ( )

Generates a human-readable HTML text for the booking status of the regular date.

Returns
string A HTML text for the booking status of the regular date.

◆ getMostBookedRoom()

getMostBookedRoom ( )

Retrieves the most booked room that is booked for this regular date.

Returns
Room|null Either the most booked room for this regular date or null in case no such room exists.

◆ getMostBookedRooms()

getMostBookedRooms ( int  $start_time = 0,
int  $end_time = 0 
)

Retrieves the most booked room that is booked for this regular date.

Returns
Room[] Either the most booked rooms for this regular date or an empty array in case no such room exists.

◆ getMostUsedFreetextRoomName()

getMostUsedFreetextRoomName ( )

Retrieves the most booked free text room name that is used for this regular date.

Returns
string|null Either the most used room name for this regular date or null in case no such room exists.

◆ getMostUsedFreetextRoomNames()

getMostUsedFreetextRoomNames ( int  $start_time = 0,
int  $end_time = 0 
)
Parameters
int$start_time
int$end_time
Returns
string[] A list of free text rooms ordered by the most used one. In case no such rooms exist, an empty array is returned.

◆ getOpenRequestsForDates()

getOpenRequestsForDates (   $include_metadate = false,
  $order = 'mkdate DESC' 
)

Returns the open room requests that are associated with this metadate. If the optional parameter $include_metadate is set to false, the requests associated with this metadate are not included in the result.

Parameters
bool$include_metadateWhether to include requests associated with this metadate (true) or not (false). The default is false.
Returns
ResourceRequest[] The requests for this metadate.

◆ getTimeFraction()

getTimeFraction (   $field)
protected

Returns the time fraction for a given field.

Parameters
String$fieldTime fraction field
Returns
int the time fraction

◆ removeOutRangedSingleDates()

static removeOutRangedSingleDates (   $start,
  $end,
  $seminar_id 
)
static

removes all singleDates which are NOT between $start and $end

Parameters
inttimestamp for start
inttimestamp for end
stringseminar_id

◆ setSingleDateType()

setSingleDateType (   $type)

Set date-type for all dates

Parameters
$type
Returns
int

◆ setSws()

setSws (   $value)
protected

SWS needs special setter to always store a decimal

Parameters
number$value

◆ setTimeFraction()

setTimeFraction (   $field,
  $value 
)
protected

Sets the time fraction for a given field.

Parameters
String$fieldTime fraction field
mixed$valueTime fraction value as string or int
Returns
String containing the time fraction

◆ store()

store ( )

Stores this cycle.

Returns
int number of changed rows

◆ toString()

toString ( string  $format = 'short')

Generates a string for a regular date. Depending on the selected format, more or less information are present in the generated string:

  • short: Only the weekday, beginning and end
  • long: Weekday, beginning, end and the repetition interval
  • long-start: Same as long but with the start date.
  • full: Same as long, but also with the start and end week of the regular date in the semester and the description of the regular date, if provided.
Parameters
string$formatThe format string: "short", "long" or "full". Defaults to "short".
Returns
string The formatted string.

Field Documentation

◆ BOOKING_STATUS_ALL_BOOKED

const BOOKING_STATUS_ALL_BOOKED = 3

All single dates of the regular date are booked.

◆ BOOKING_STATUS_NOT_BOOKED

const BOOKING_STATUS_NOT_BOOKED = 1

None of the single dates of the regular date is booked.

◆ BOOKING_STATUS_PARTIALLY_BOOKED

const BOOKING_STATUS_PARTIALLY_BOOKED = 2

Only a part (at least one) of the single dates of the regular dates is booked.

◆ BOOKING_STATUS_UNDEFINED

const BOOKING_STATUS_UNDEFINED = 0

The booking status of the regular date cannot be determined


The documentation for this class was generated from the following file: