blob: e67c3028c0affde1a340669723ca2a3ace7eac5f (
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
33
34
35
36
37
38
39
40
41
42
43
|
<?php
namespace MassMail;
/**
* @license GPL2 or any later version
*
* @property array $id alias for pk
* @property int $message_id database column
* @property string $filter_id database column
* @property int $mkdate database column
* @property-read mixed $userfilter additional field
*/
class MassMailFilter extends \SimpleORMap
{
protected static function configure($config = [])
{
$config['db_table'] = 'massmail_filter';
$config['additional_fields']['userfilter']['get'] = function ($entry) {
return new \UserFilter($entry->filter_id);
};
$config['registered_callbacks']['before_delete'][] = 'cbDeleteUserFilter';
$config['registered_callbacks']['after_store'][] = 'cbUpdateUserFilterRange';
parent::configure($config);
}
public function cbDeleteUserFilter()
{
$filter = new \UserFilter($this->filter_id);
$filter->delete();
}
public function cbUpdateUserFilterRange()
{
$filter = new \UserFilter($this->filter_id);
$filter->setRange(MassMailMessage::class, $this->message_id);
$filter->store();
}
}
|