Files
server/usr/share/psa-horde/ingo/lib/Storage/Rule.php
2026-01-07 20:52:11 +01:00

85 lines
1.8 KiB
PHP

<?php
/**
* Copyright 2012-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file LICENSE for license information (ASL). If you
* did not receive this file, see http://www.horde.org/licenses/apache.
*
* @author Michael Slusarz <slusarz@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/apache ASL
* @package Ingo
*/
/**
* Ingo_Storage_Rule is the base class for the various action objects used by
* Ingo_Storage.
*
* @author Michael Slusarz <slusarz@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/apache ASL
* @package Ingo
*/
class Ingo_Storage_Rule
{
/**
* The object type.
*
* @var integer
*/
protected $_obtype;
/**
* Whether the rule has been saved (if being saved separately).
*
* @var boolean
*/
protected $_saved = false;
/**
* Returns the object rule type.
*
* @return integer The object rule type.
*/
public function obType()
{
return $this->_obtype;
}
/**
* Marks the rule as saved or unsaved.
*
* @param boolean $data Whether the rule has been saved.
*/
public function setSaved($data)
{
$this->_saved = $data;
}
/**
* Returns whether the rule has been saved.
*
* @return boolean True if the rule has been saved.
*/
public function isSaved()
{
return $this->_saved;
}
/**
* Function to manage an internal address list.
*
* @param mixed $data The incoming data (array or string).
*
* @return array The address list.
*/
protected function _addressList($data)
{
$ob = new Horde_Mail_Rfc822_List(is_array($data) ? $data : preg_split("/\s+/", $data));
$ob->unique();
return $ob->bare_addresses;
}
}