Stud.IP  trunk Revision
ConsultationBlock Class Reference
Inheritance diagram for ConsultationBlock:
Inheritance graph
Collaboration diagram for ConsultationBlock:
Collaboration graph

Public Member Functions

 createSlots ($duration)
 
 isVisibleForUser ($user_id=null)
 
- 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)
 
 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 findVisibleForUserByTeacherId ($user_id, $teacher_id, $course_id=null, $order='')
 
static countVisibleForUserByTeacherId ($user_id, $teacher_id, $course_id=null)
 
static existForTeacherAndUser ($teacher_id, $user_id)
 
static generateBlocks ($user_id, $start, $end, $week_day, $interval)
 
static exportUserData (StoredUserData $storage)
 
- Static Public Member Functions inherited from SimpleORMap
static tableScheme ($db_table)
 
static expireTableScheme ()
 
static find ($id)
 
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 ($name, $arguments)
 

Static Protected Member Functions

static configure ($config=[])
 
static checkOverlaps ($user_id, $start, $end)
 
- Static Protected Member Functions inherited from SimpleORMap
static configure ($config=[])
 
static config ($key)
 

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)
 
 registerCallback ($types, $cb)
 
 unregisterCallback ($types, $cb)
 
 cbAutoIncrementColumn ($type)
 
 cbAutoKeyCreation ()
 
 cbNotificationMapper ($cb_type)
 
 cbAfterInitialize ($cb_type)
 
 setSerializedValue ($field, $value)
 
 setI18nValue ($field, $value)
 
 cbI18N ($type)
 
- Protected Attributes inherited from SimpleORMap
 $content = []
 
 $content_db = []
 
 $is_new = true
 
 $is_deleted = false
 
 $db_table = ''
 
 $db_fields = null
 
 $pk = null
 
 $default_values = []
 
 $serialized_fields = []
 
 $alias_fields = []
 
 $i18n_fields = []
 
 $additional_fields = []
 
 $relations = []
 
 $has_many = []
 
 $has_one = []
 
 $belongs_to = []
 
 $has_and_belongs_to_many = []
 
 $registered_callbacks = []
 
 $known_slots = []
 
 $notification_map = []
 
 $additional_data = []
 
 $getter_setter_map = []
 
- Static Protected Attributes inherited from SimpleORMap
static $config = []
 
static $reserved_slots = ['value','newid','iterator','tablemetadata', 'relationvalue','wherequery','relationoptions','data','new','id']
 

Member Function Documentation

◆ checkOverlaps()

static checkOverlaps (   $user_id,
  $start,
  $end 
)
staticprotected

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

Parameters
string$user_idId of the user
int$startStart of the time range as unix timestamp
int$endEnd of the time range as unix timestamp
Returns
array of overlapping consultation slots
Here is the call graph for this function:

◆ configure()

static configure (   $config = [])
staticprotected

Configures the model.

Parameters
array$configConfiguration
Here is the call graph for this function:

◆ countVisibleForUserByTeacherId()

static countVisibleForUserByTeacherId (   $user_id,
  $teacher_id,
  $course_id = null 
)
static

Count only visible blocks for user.

Parameters
string$user_idUser id to check the visibility for
string$teacher_idUser id of the teacher
string | null$course_idOptional course id to filter blocks by
Returns
int

◆ createSlots()

createSlots (   $duration)

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

Parameters
int$durationDuration of a slot in minutes

◆ existForTeacherAndUser()

static existForTeacherAndUser (   $teacher_id,
  $user_id 
)
static

Returns whether any blocks of a teacher exist that should be visible for the given user.

Parameters
string$teacher_idUser id of the teacher
string$user_idId of the user
Returns
bool
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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

◆ findVisibleForUserByTeacherId()

static findVisibleForUserByTeacherId (   $user_id,
  $teacher_id,
  $course_id = null,
  $order = '' 
)
static

Find only visible blocks for user.

Parameters
string$user_idUser id to check the visibility for
string$teacher_idUser id of the teacher
string | null$course_idOptional course id to filter blocks by
string$orderOptional order clause
Returns
array

◆ generateBlocks()

static generateBlocks (   $user_id,
  $start,
  $end,
  $week_day,
  $interval 
)
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
string$user_idId of the user
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)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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: