Skip to content
Snippets Groups Projects
Commit 0530c90b authored by Grzegorz Rola's avatar Grzegorz Rola
Browse files

Attributes

parent 55ce2af9
Branches
Tags
1 merge request!6Feature/attributes
Pipeline #7791 passed
......@@ -64,13 +64,20 @@ class Notice
* @param string $noticeType Notice type.
* @param bool $dismissible Is dismissible.
* @param int $priority Notice priority.
*/
public function __construct($noticeContent, $noticeType = 'info', $dismissible = false, $priority = 10)
{
* @param array $attributes Attributes.
*/
public function __construct(
$noticeContent,
$noticeType = 'info',
$dismissible = false,
$priority = 10,
$attributes = array()
) {
$this->noticeContent = $noticeContent;
$this->noticeType = $noticeType;
$this->dismissible = $dismissible;
$this->priority = $priority;
$this->attributes = $attributes;
$this->addAction();
}
......@@ -176,6 +183,9 @@ class Notice
if ($this->dismissible) {
$notice_class .= ' is-dismissible';
}
if (isset($this->attributes['class'])) {
$notice_class .= $this->attributes['class'];
}
return $notice_class;
}
......@@ -187,6 +197,9 @@ class Notice
protected function getAttributesAsString()
{
$attribute_string = sprintf('class="%1$s"', esc_attr($this->getNoticeClass()));
foreach ($this->attributes as $attribute_name => $attribute_value) {
$attribute_string .= sprintf(' %1$s="%2$s"', esc_html($attribute_name), esc_attr($attribute_value));
}
return $attribute_string;
}
......
......@@ -31,11 +31,11 @@ class PermanentDismissibleNotice extends Notice
* @param string $noticeType Notice type.
* @param string $noticeName Notice dismiss option name.
* @param int $priority Priority
* @param array $attributes Attributes.
*/
public function __construct($noticeContent, $noticeType, $noticeName, $priority = 10)
public function __construct($noticeContent, $noticeType, $noticeName, $priority = 10, $attributes = array())
{
parent::__construct($noticeContent, $noticeType, true, $priority);
parent::__construct($noticeContent, $noticeType, true, $priority, $attributes);
$this->noticeName = $noticeName;
$this->noticeDismissOptionName = static::OPTION_NAME_PREFIX . $noticeName;
if (self::OPTION_VALUE_DISMISSED === get_option($this->noticeDismissOptionName, '')) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment