Select Git revision
StructuralElementsShow.php
Forked from
Stud.IP / Stud.IP
Source project has a limited visibility.
-
Jan-Hendrik Willms authoredJan-Hendrik Willms authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Block.php 9.10 KiB
<?php
namespace Courseware;
use User;
/**
* Courseware's blocks.
*
* @author Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de>
* @author Till Glöggler <gloeggler@elan-ev.de>
* @author Ron Lucke <lucke@elan-ev.de>
* @license GPL2 or any later version
*
* @since Stud.IP 5.0
*
* @property int $id database column
* @property int $container_id database column
* @property string $owner_id database column
* @property string $editor_id database column
* @property string|null $edit_blocker_id database column
* @property int $position database column
* @property string|null $block_type database column
* @property int $visible database column
* @property int $commentable database column
* @property string $payload database column
* @property int $mkdate database column
* @property int $chdate database column
* @property \SimpleORMapCollection|UserDataField[] $data_fields has_many UserDataField
* @property \SimpleORMapCollection|BlockComment[] $comments has_many BlockComment
* @property \SimpleORMapCollection|BlockFeedback[] $block_feedback has_many BlockFeedback
* @property \SimpleORMapCollection|UserProgress[] $progresses has_many UserProgress
* @property \User $owner belongs_to \User
* @property \User $editor belongs_to \User
* @property \User|null $edit_blocker belongs_to \User
* @property Container $container belongs_to Container
* @property mixed $type additional field
* @property-read mixed $files additional field
*/
class Block extends \SimpleORMap implements \PrivacyObject
{
protected static function configure($config = [])
{
$config['db_table'] = 'cw_blocks';
$config['belongs_to']['owner'] = [
'class_name' => User::class,
'foreign_key' => 'owner_id',
];
$config['belongs_to']['editor'] = [
'class_name' => User::class,
'foreign_key' => 'editor_id',
];
$config['belongs_to']['edit_blocker'] = [
'class_name' => User::class,
'foreign_key' => 'edit_blocker_id',
];
$config['belongs_to']['container'] = [
'class_name' => Container::class,
'foreign_key' => 'container_id',
];
$config['has_many']['data_fields'] = [
'class_name' => UserDataField::class,
'assoc_foreign_key' => 'block_id',
'on_delete' => 'delete',
'on_store' => 'store',