Stud.IP  6.0
ConsultationBlock Class Reference
Inheritance diagram for ConsultationBlock:
SimpleORMap PrivacyObject

Public Member Functions

 createSlots ($duration, int $pause_time=null, int $pause_duration=null)
 
 isVisibleForUser ($user_id=null)
 
 getPossibleResponsibilites ()
 
 __toString ()
 
- 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 countSlots ($start, $end, $week_day, $interval, $duration, $pause_time=null, $pause_duration=null)
 
static generateBlocks (Range $range, $start, $end, $week_day, $interval, bool $fail_silent=false)
 
static exportUserData (StoredUserData $storage)
 
static findByRange (Range $range, $order='', $expired=false)
 
static countByRange (Range $range, $expired=false)
 
- 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)
 

Static Protected Member Functions

static configure ($config=[])
 
static checkOverlaps (Range $range, $start, $end)
 
- 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

- Data Fields inherited from SimpleORMap
const ID_SEPARATOR = '_'
 
- Static Public Attributes inherited from SimpleORMap
static $schemes = null
 
- 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)
 
- Protected Attributes inherited from SimpleORMap
 $content = []
 
 $content_db = []
 
 $is_new = true
 
 $is_deleted = false
 
 $relations = []
 
 $additional_data = []
 
- 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

◆ __toString()

__toString ( )
Returns
string A string representation of the consultation block instance.

◆ checkOverlaps()

static checkOverlaps ( Range  $range,
  $start,
  $end 
)
staticprotected

Checks if there any consultation slots already exist in the given time range for the given user.

Parameters
Range$rangeId of the range
int$startStart of the time range as unix timestamp
int$endEnd of the time range as unix timestamp
Returns
array of overlapping consultation slots

◆ configure()

static configure (   $config = [])
staticprotected

Configures the model.

Parameters
array$configConfiguration

◆ countByRange()

static countByRange ( Range  $range,
  $expired = false 
)
static

Count all blocks of a range. Specialized version of the sorm method that excludes expired blocks by default and may be used to explicitely select expired blocks.

Parameters
Range$rangeRange
boolean$expiredSelect expired blocks
Returns
number

◆ countSlots()

static countSlots (   $start,
  $end,
  $week_day,
  $interval,
  $duration,
  $pause_time = null,
  $pause_duration = null 
)
static

Count generated blocks according to the given data.

Parameters
int$startStart of the time range as unix timestamp
int$endEnd of the time range as unix timestamp
int$week_dayDay of the week the blocks should be created (0 = sunday, 1 = monday ...)
int$intervalWeek interval (skip $interval weeks between blocks)
int$durationDuration of a slot in minutes
int | null$pause_timeCreate a pause after $pause_time minutes
int | null$pause_durationDuration of the pause

◆ createSlots()

createSlots (   $duration,
int  $pause_time = null,
int  $pause_duration = null 
)

Creates individual slots according to the defined data and given duration.

Parameters
int$durationDuration of a slot in minutes
int | null$pause_timeCreate a pause after $pause_time minutes
int | null$pause_durationDuration of the pause
Returns
ConsultationSlot[]

◆ exportUserData()

static exportUserData ( StoredUserData  $storage)
static

Export available data of a given user into a storage object (an instance of the StoredUserData class) for that user.

Parameters
StoredUserData$storageobject to store data into

Implements PrivacyObject.

◆ findByRange()

static findByRange ( Range  $range,
  $order = '',
  $expired = false 
)
static

Finds all blocks of a range. Specialized version of the sorm method that excludes expired blocks by default and may be used to explicitely select expired blocks.

Parameters
Range$rangeRange
string$orderOptional order
boolean$expiredSelect expired blocks
Returns
array

◆ generateBlocks()

static generateBlocks ( Range  $range,
  $start,
  $end,
  $week_day,
  $interval,
bool  $fail_silent = false 
)
static

Generate blocks according to the given data.

Be aware, that this is an actual generator that yields the results. You cannot count the generated blocks without iterating over them.

Exceptions
OverlapException
Parameters
Range$rangeRange
int$startStart of the time range as unix timestamp
int$endEnd of the time range as unix timestamp
int$week_dayDay of the week the blocks should be created (0 = sunday, 1 = monday ...)
int$intervalWeek interval (skip $interval weeks between blocks)

◆ getPossibleResponsibilites()

getPossibleResponsibilites ( )

Returns a list of responsible ranges for this block.

Returns
array<string, array<Range>>

◆ isVisibleForUser()

isVisibleForUser (   $user_id = null)

Returns whether this slot is visible for a user.

Parameters
mixed$user_idId of the user (optional, defaults to current user)
Returns
boolean defining whether the slot is visible

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