/**
  * @test
  */
 public function foo()
 {
     $array = [new Folder('foo', 'bar', 'baz', 'qux', 'quux'), new Folder('bar', 'bar', 'baz', 'qux', 'quux'), new Folder('baz', 'bar', 'baz', 'qux', 'quux'), new Folder('qux', 'bar', 'baz', 'qux', 'quux'), new Folder('quux', 'bar', 'baz', 'qux', 'quux')];
     if (Sorter::sort($array, 'name')) {
         array_map(function ($arr) {
             echo $arr->getName() . "\n";
         }, $array);
     }
 }
Exemplo n.º 2
0
use Humps\ImapCacheManager\Memcache\MemcacheServer;
use Humps\MailManager\Factories\ImapFactory;
use Humps\MailManager\ImapMailboxService;
require_once '../vendor/autoload.php';
$cacheServer = MemcacheServer::connect('localhost', 11211);
$messageCache = new MemcacheMessageCache($cacheServer);
$folderCache = new MemcacheFolderCache($cacheServer);
$folder = isset($_REQUEST['folder']) ? $_REQUEST['folder'] : 'INBOX';
try {
    $imap = ImapFactory::create($folder);
} catch (Exception $e) {
    die('Unable to connect to mail server');
}
$mailboxService = new ImapMailboxService($imap);
$folders = $folderCache->getAllCached();
Sorter::sort($folders, 'name');
// Uses getMailbox() method from the ImapConnection helper trait, or you can do: $imap->getConnection()->getMailbox()->getFolder();
$currentFolder = $mailboxService->getMailbox()->getFolder();
$aliases = $mailboxService->getAliases();
$isTrash = false;
if (isset($aliases['trash'])) {
    if ($aliases['trash'] == $currentFolder) {
        $isTrash = true;
    }
}
$cacheManager = new ImapMessageCache($messageCache, $imap);
$messages = $cacheManager->getAllCachedMessages();
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1;
$recordsPerPage = 25;
$messages = $messages->toArray();
if (Sorter::sortMessagesByDate($messages)) {