/
D3pop3Email.php
executable file
·50 lines (39 loc) · 1.37 KB
/
D3pop3Email.php
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
44
45
46
47
48
49
50
<?php
namespace d3yii2\d3pop3\models;
use d3yii2\d3pop3\models\base\D3pop3Email as BaseD3pop3Email;
use Yii;
/**
* This is the model class for table "d3pop3_emails".
*/
class D3pop3Email extends BaseD3pop3Email
{
public const D3FILES_ALLOWED_EXT_REGEXP = '/(gif|pdf|dat|jpe?g|png|doc|docx|xls|xlsx|htm?l|txt|log|mxl|xml|zip|odt)$/i';
public function delete()
{
$isOtherCompanies = false;
/** @var D3pop3SendReceiv $sendReceive */
foreach (D3pop3SendReceiv::find()->where(['email_id' => $this->id])->all() as $sendReceive){
if($sendReceive->company_id !== Yii::$app->SysCmp->getActiveCompanyId()){
$isOtherCompanies = true;
continue;
}
$sendReceive->delete();
}
if(!$isOtherCompanies){
/** @var D3pop3EmailAddress $address */
foreach ($this->getD3pop3EmailAddresses()->all() as $address){
$address->delete();
}
/** @var D3pop3EmailModel $models */
foreach ($this->getD3pop3EmailModels()->all() as $models){
$models->delete();
}
/** @var D3pop3EmailError $error */
foreach ($this->getD3pop3EmailErrors()->all() as $error){
$error->delete();
}
return parent::delete();
}
return 1;
}
}