Stud.IP  4.0
 All Data Structures Namespaces Files Functions Variables Groups
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)
 

Data Fields

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

Constructor & Destructor Documentation

__construct (   $seminar_id = '')

Constructor

Parameters
string$seminar_id

Member Function Documentation

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 (   $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 (   $removeSingleDates = TRUE)
deleteCycle (   $cycle_id)

completey remove cycledate

See Also
CycleData::delete()
Parameters
string$cycle_id
Returns
boolean
deleteSingleDate (   $cycle_id,
  $date_id,
  $filterStart,
  $filterEnd 
)
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 (   $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 ( )

returns the cycledate objects

Returns
array of CycleData objects
getFirstMetadate ( )

returns first cycledate

Returns
CycleData
getSeminarID ( )
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 (   $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 (   $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 (   $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 (   $metadate_id,
  $sem_begin,
  $sem_end,
  $startAfterTimeStamp,
  $corr 
)

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, if the semester does not start on monday (number of days?)
Returns
array returns an array of two arrays of SingleDate objects: 'dates' => all new and surviving dates, 'dates_to_delete' => obsolete dates
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
stringcycle id
int$filterStart
int$filterEnd
Returns
bool
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 ( )

load all cycledates from database

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 (   $duration)
setSeminarStartTime (   $start)
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 (   $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 ( )

sort cycledates by sorter column and date

store ( )

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

Returns
int > 0 if changes where made
unDeleteSingleDate (   $cycle_id,
  $date_id,
  $filterStart,
  $filterEnd 
)

Field Documentation

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

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