%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/modules/sender/lib/message/ |
| Current File : /home/bitrix/www/bitrix/modules/sender/lib/message/configurationoption.php |
<?php
/**
* Bitrix Framework
* @package bitrix
* @subpackage sender
* @copyright 2001-2012 Bitrix
*/
namespace Bitrix\Sender\Message;
class ConfigurationOption
{
const TYPE_CUSTOM = 'custom';
const TYPE_PRESET_STRING = 'preset-string';
const TYPE_STRING = 'string';
const TYPE_CHECKBOX = 'checkbox';
const TYPE_EMAIL = 'email';
const TYPE_LIST = 'list';
const TYPE_HTML = 'html';
const TYPE_TEXT = 'text';
const TYPE_FILE = 'file';
const TYPE_TEMPLATE_TYPE = 'template-type';
const TYPE_TEMPLATE_ID = 'template-id';
const TYPE_MAIL_EDITOR = 'mail-editor';
const TYPE_SMS_EDITOR = 'sms-editor';
const GROUP_DEFAULT = 0;
const GROUP_ADDITIONAL = 1;
/** @var string $type Type. */
protected $type;
/** @var string $code Code. */
protected $code;
/** @var string $view View. */
protected $view;
/** @var string $name Name. */
protected $name;
/** @var string|array $value Value. */
protected $value;
/** @var array $items Items. */
protected $items = array();
/** @var integer $group Group. */
protected $group = self::GROUP_DEFAULT;
/** @var null|string|array $hint Hint. */
protected $hint;
/** @var boolean $required Required. */
protected $required = false;
/** @var boolean $templated Templated. */
protected $templated = false;
/**
* Configuration constructor.
* @param array $data Data.
*/
public function __construct(array $data = array())
{
if (isset($data['type']))
{
$this->setType($data['type']);
}
if (isset($data['code']))
{
$this->setCode($data['code']);
}
if (isset($data['name']))
{
$this->setName($data['name']);
}
if (isset($data['view']))
{
$this->setView($data['view']);
}
if (isset($data['value']))
{
$this->setValue($data['value']);
}
if (isset($data['group']))
{
$this->setGroup($data['group']);
}
if (isset($data['items']))
{
$this->setItems($data['items']);
}
if (isset($data['required']))
{
$this->setRequired($data['required']);
}
if (isset($data['templated']))
{
$this->setTemplated($data['templated']);
}
if (isset($data['hint']))
{
$this->setHint($data['hint']);
}
}
/**
* Get as array.
*
* @return array
*/
public function getArray()
{
return array(
'type' => $this->getType(),
'code' => $this->getCode(),
'name' => $this->getName(),
'view' => $this->getView(),
'value' => $this->getValue(),
'group' => $this->getGroup(),
'items' => $this->getItems(),
'required' => $this->isRequired(),
'templated' => $this->isTemplated(),
'hint' => $this->getHint(),
);
}
/**
* Get type.
*
* @return string
*/
public function getType()
{
return $this->type;
}
/**
* Set type.
*
* @param string $type Type.
*/
public function setType($type)
{
$this->type = $type;
}
/**
* Get code.
*
* @return string
*/
public function getCode()
{
return $this->code;
}
/**
* Set code.
*
* @param string $code Code.
*/
public function setCode($code)
{
$this->code = $code;
}
/**
* Get view.
*
* @return string|callable
*/
public function getView()
{
return $this->view;
}
/**
* Set view.
*
* @param string|callable $view View.
*/
public function setView($view)
{
$this->view = $view;
}
/**
* Get name.
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set name.
*
* @param string $name Name.
*/
public function setName($name)
{
$this->name = $name;
}
/**
* Get value.
*
* @return string|array
*/
public function getValue()
{
return $this->value;
}
/**
* Has value.
*
* @return bool
*/
public function hasValue()
{
return is_array($this->value) ? count($this->value) > 0 : !!$this->value;
}
/**
* Set value.
*
* @param string|array $value Value.
*/
public function setValue($value)
{
$this->value = $value;
}
/**
* Get group.
*
* @return integer
*/
public function getGroup()
{
return $this->group;
}
/**
* Set value.
*
* @param integer $group Group.
*/
public function setGroup($group)
{
$this->group = $group;
}
/**
* Get items.
*
* @return array
*/
public function getItems()
{
return $this->items;
}
/**
* Set items.
*
* @param array $items Items.
*/
public function setItems(array $items)
{
if (!is_numeric(implode('', array_keys($items))))
{
$this->items = array();
foreach ($items as $code => $value)
{
$this->items[] = array('code' => $code, 'value' => $value);
}
}
else
{
$this->items = $items;
}
}
/**
* Is required.
*
* @return boolean
*/
public function isRequired()
{
return $this->required;
}
/**
* Set required.
*
* @param boolean $required Required.
*/
public function setRequired($required)
{
$this->required = (bool) $required;
}
/**
* Is templated.
*
* @return boolean
*/
public function isTemplated()
{
return $this->templated;
}
/**
* Set required.
*
* @param boolean $templated Templated.
*/
public function setTemplated($templated)
{
$this->templated = (bool) $templated;
}
/**
* Get hint.
*
* @return null|string|array
*/
public function getHint()
{
return $this->hint;
}
/**
* Set required.
*
* @param null|string|array $hint Hint.
*/
public function setHint($hint)
{
$this->hint = $hint;
}
}