Skip to content

Commit e8f4de8

Browse files
committed
Custom message mask example added
1 parent 65f342c commit e8f4de8

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

examples/custom_message_mask.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?php
2+
/*
3+
* File: custom_message_mask.php
4+
* Category: Example
5+
* Author: M.Goldenbaum
6+
* Created: 14.03.19 18:47
7+
* Updated: -
8+
*
9+
* Description:
10+
* -
11+
*/
12+
13+
class CustomMessageMask extends \Webklex\IMAP\Support\Masks\MessageMask {
14+
15+
/**
16+
* New custom method which can be called through a mask
17+
* @return string
18+
*/
19+
public function token(){
20+
return implode('-', [$this->message_id, $this->uid, $this->message_no]);
21+
}
22+
23+
/**
24+
* Get number of message attachments
25+
* @return integer
26+
*/
27+
public function getAttachmentCount() {
28+
return $this->getAttachments()->count();
29+
}
30+
31+
}
32+
33+
/** @var \Webklex\IMAP\Client $oClient */
34+
$oClient = \Webklex\IMAP\Facades\Client::account('default');
35+
$oClient->connect();
36+
37+
/** @var \Webklex\IMAP\Folder $folder */
38+
$folder = $oClient->getFolder('INBOX');
39+
40+
/** @var \Webklex\IMAP\Message $message */
41+
$message = $folder->query()->limit(1)->get()->first();
42+
43+
/** @var CustomMessageMask $masked_message */
44+
$masked_message = $message->mask(CustomMessageMask::class);
45+
46+
echo 'Token for uid ['.$masked_message->uid.']: '.$masked_message->token().' @atms:'.$masked_message->getAttachmentCount();
47+
48+
$masked_message->setFlag('seen');
49+

0 commit comments

Comments
 (0)