Stud.IP  5.4
MetaDate Class Reference

Public Member Functions

 __construct ($seminar_id='')
 
 getStartWoche ($metadate_id=null)
 
 setStartWoche ($start_woche, $metadate_id=null)
 
 getFirstMetadate ()
 
 getTurnus ($metadate_id=null)
 
 setTurnus ($turnus, $metadate_id=null)
 
 setSeminarStartTime ($start)
 
 setSeminarDurationTime ($duration)
 
 getSeminarID ()
 
 setCycleData ($data, $cycle)
 
 addCycle ($data=[], $create_single_dates=true)
 
 editCycle ($data=[])
 
 deleteCycle ($cycle_id)
 
 deleteSingleDate ($cycle_id, $date_id, $filterStart, $filterEnd)
 
 unDeleteSingleDate ($cycle_id, $date_id, $filterStart, $filterEnd)
 
 store ()
 
 restore ()
 
 delete ($removeSingleDates=TRUE)
 
 sortCycleData ()
 
 getCycleData ($show_invisibles=false)
 
 getCycles ()
 
 getSingleDates ($metadate_id, $filterStart=0, $filterEnd=0)
 
 readSingleDates ($metadate_id, $start=0, $end=0)
 
 hasDates ($metadate_id, $filterStart=0, $filterEnd=0)
 
 createSingleDates ($data)
 
 getVirtualSingleDates ($data)
 
 getVirtualSingleDatesForSemester ($metadate_id, $sem_begin, $sem_end, $startAfterTimeStamp, $corr=0)
 

Data Fields

 $seminar_id = ''
 
 $seminarStartTime = 0
 
 $seminarDurationTime = 0
 
 $cycles = []
 
 $hasDatesTmp = []
 

Constructor & Destructor Documentation

◆ __construct()

__construct (   $seminar_id = '')

Constructor

Parameters
string$seminar_id

Member Function Documentation

◆ addCycle()

addCycle (   $data = [],
  $create_single_dates = true 
)

adds a new cycledate, single dates are created if second param is true

Parameters
arrayassoc, see CycleData, metadate_id must be in $data['cycle_id']
bool$create_single_dates
Returns
string|boolean metadate_id of created cycle

◆ createSingleDates()

createSingleDates (   $data)

create single dates for one cycle and all semester and store them in database, deleting obsolete ones

Parameters
mixedcycle id (string) or array with 'metadate_id' => string cycle id, 'startAfterTimeStamp' => int timestamp to override semester start

◆ delete()

delete (   $removeSingleDates = TRUE)

◆ deleteCycle()

deleteCycle (   $cycle_id)

completey remove cycledate

See also
CycleData::delete()
Parameters
string$cycle_id
Returns
boolean

◆ deleteSingleDate()

deleteSingleDate (   $cycle_id,
  $date_id,
  $filterStart,
  $filterEnd 
)

◆ editCycle()

editCycle (   $data = [])

change existing cycledate, changes also corresponding single dates

Parameters
arrayassoc, see CycleData, metadate_id must be in $data['cycle_id']
Returns
number|boolean

◆ getCycleData()

getCycleData (   $show_invisibles = false)

returns cycledates as arrays

Parameters
bool$show_invisiblesif cycles without dates should be in the array, defaults to false
Returns
array assoc of cycledate data arrays

◆ getCycles()

getCycles ( )

returns the cycledate objects

Returns
array of CycleData objects

◆ getFirstMetadate()

getFirstMetadate ( )

returns first cycledate

Returns
CycleData

◆ getSeminarID()

getSeminarID ( )

◆ getSingleDates()

getSingleDates (   $metadate_id,
  $filterStart = 0,
  $filterEnd = 0 
)

returns an array of SingleDate objects corresponding to the given cycle id use the optional params to specify a timerange

Parameters
stringa cycle id
intunix timestamp
intunix timestamp
Returns
array of SingleDate objects

◆ getStartWoche()

getStartWoche (   $metadate_id = null)

returns start week (Semesterwoche) for a cycledate for compatibility the first cycledate is chosen if no one is specified

Parameters
stringid of cycledate
Returns
int

◆ getTurnus()

getTurnus (   $metadate_id = null)

returns the cycle for a cycledate for compatibility the first cycledate is chosen if no one is specified

Parameters
string$metadate_id
Returns
int 0,1,2 for weekly, biweekly ...

◆ getVirtualSingleDates()

getVirtualSingleDates (   $data)

generate single date objects for one cycle and all semester, existing dates are merged in

Parameters
mixedcycle id (string) or array with 'metadate_id' => string cycle id, 'startAfterTimeStamp' => int timestamp to override semester start
Returns
array array of arrays, for each semester id an array of two arrays of SingleDate objects: 'dates' => all new and surviving dates, 'dates_to_delete' => obsolete dates

◆ getVirtualSingleDatesForSemester()

getVirtualSingleDatesForSemester (   $metadate_id,
  $sem_begin,
  $sem_end,
  $startAfterTimeStamp,
  $corr = 0 
)

generate single date objects for one cycle and one semester, existing dates are merged in

Parameters
stringcycle id
inttimestamp of semester start
inttimestamp of semester end
intalternative timestamp to start from
intcorrection calculation (obsolete)
Returns
array returns an array of two arrays of SingleDate objects: 'dates' => all new and surviving dates, 'dates_to_delete' => obsolete dates

◆ hasDates()

hasDates (   $metadate_id,
  $filterStart = 0,
  $filterEnd = 0 
)

returns true if a given cycle has at least one date at all or in the given time range

Parameters
string$metadate_id
int$filterStart
int$filterEnd
Returns
bool

◆ readSingleDates()

readSingleDates (   $metadate_id,
  $start = 0,
  $end = 0 
)

reload SingleDate objects for a given cycle id

Parameters
string$metadate_id
int$start
int$end
Returns
bool

◆ restore()

restore ( )

load all cycledates from database

◆ setCycleData()

setCycleData (   $data,
  $cycle 
)

internal method to apply cycledate data from assoc array to a given CycleData object. checks the start and endtime and retruns false if wrong

Parameters
arrayassoc, see CycleData, metadate_id must be in $data['cycle_id']
CycleData$cycle
Returns
boolean

◆ setSeminarDurationTime()

setSeminarDurationTime (   $duration)

◆ setSeminarStartTime()

setSeminarStartTime (   $start)

◆ setStartWoche()

setStartWoche (   $start_woche,
  $metadate_id = null 
)

sets start week (Semesterwoche) for a cycledate for compatibility the first cycledate is chosen if no one is specified

Parameters
int$start_woche
string$metadate_id
Returns
null|Ambigous <NULL, unknown>

◆ setTurnus()

setTurnus (   $turnus,
  $metadate_id = null 
)

set the cycle for a cycledate for compatibility the first cycledate is chosen if no one is specified

Parameters
int0,1,2 for weekly, biweekly ...
string$metadate_id
Returns
int

◆ sortCycleData()

sortCycleData ( )

sort cycledates by sorter column and date

◆ store()

store ( )

store all changes to cycledates for the course, removed cycles are deleted from database

Returns
int > 0 if changes where made

◆ unDeleteSingleDate()

unDeleteSingleDate (   $cycle_id,
  $date_id,
  $filterStart,
  $filterEnd 
)

Field Documentation

◆ $cycles

$cycles = []

◆ $hasDatesTmp

$hasDatesTmp = []

◆ $seminar_id

$seminar_id = ''

◆ $seminarDurationTime

$seminarDurationTime = 0

◆ $seminarStartTime

$seminarStartTime = 0

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