Files
server/usr/share/psa-horde/imp/lib/Ftree/Account/Vfolder.php
2026-01-07 20:52:11 +01:00

71 lines
1.7 KiB
PHP

<?php
/**
* Copyright 2013-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 2013-2017 Horde LLC
* @license http://www.horde.org/licenses/gpl GPL
* @package IMP
*/
/**
* Implementation of the account object for Virtual Folders.
*
* @author Michael Slusarz <slusarz@horde.org>
* @category Horde
* @copyright 2013-2017 Horde LLC
* @license http://www.horde.org/licenses/gpl GPL
* @package IMP
*/
class IMP_Ftree_Account_Vfolder extends IMP_Ftree_Account
{
/* Virtual folder key. */
const VFOLDER_KEY = "vfolder\0";
/**
*/
public function __construct($id = null)
{
if (is_null($id)) {
throw new InvalidArgumentException('Constructor requires an account ID.');
}
parent::__construct($id);
}
/**
*/
public function getList($query = array(), $mask = 0)
{
global $injector;
$imp_search = $injector->getInstance('IMP_Search');
$out = array();
if ($imp_search[strval($this)]->enabled) {
$out[] = array(
'a' => IMP_Ftree::ELT_VFOLDER | IMP_Ftree::ELT_NOSELECT | IMP_Ftree::ELT_NONIMAP,
'v' => self::VFOLDER_KEY
);
$out[] = array(
'a' => IMP_Ftree::ELT_VFOLDER | IMP_Ftree::ELT_IS_SUBSCRIBED | IMP_Ftree::ELT_NONIMAP,
'p' => self::VFOLDER_KEY,
'v' => strval($this)
);
}
return $out;
}
/**
*/
public function delete(IMP_Ftree_Element $elt)
{
return self::DELETE_ELEMENT_QUICK;
}
}