aboutsummaryrefslogtreecommitdiff
path: root/lib/models/MassWidget/MassWidgetFilter.php
blob: 32c5dad2ff29ad4da9d212bad4382570f19a970f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
namespace MassWidget;
use UserFilter;

class MassWidgetFilter extends \SimpleORMap
{
    protected static function configure($config = [])
    {
        $config['db_table'] = 'masswidget_filter';

        $config['additional_fields']['userfilter']['get'] = function ($entry) {
            return new UserFilter($entry->filter_id);
        };
        $config['registered_callbacks']['before_delete'][] = 'deleteUserFilter';
        $config['registered_callbacks']['after_store'][] = 'updateUserFilterRange';

        parent::configure($config);
    }

    public function deleteUserFilter(): void
    {
        $filter = new UserFilter($this->filter_id);
        $filter->delete();
    }

    public function updateUserFilterRange(): void
    {
        $filter = new UserFilter($this->filter_id);
        $filter->setRange(MassWidget::class, $this->masswidget_id);
        $filter->store();
    }
}