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

Changed paremters order, added factory, added functions.

parent 2910dca2
Branches
Tags
1 merge request!4Feature/factory
Pipeline #7322 failed
......@@ -25,7 +25,8 @@
"wimg/php-compatibility": "^8"
},
"autoload": {
"psr-4": {"WPDesk\\Notice\\": "src/WPDesk/Notice/"}
"psr-4": {"WPDesk\\Notice\\": "src/WPDesk/Notice/"},
"files": ["src/WPDesk/functions.php"]
},
"autoload-dev": {
},
......
<?php
namespace WPDesk\Notice;
/**
* Class Notice.
*
* @package WPDesk\Notice
*/
class Factory
{
/**
* Creates Notice object.
*
* @param string $noticeType Notice type.
* @param string $noticeContent Notice content.
* @param bool $isDismissible Is dismissible.
* @param int $priority Priority.
*
* @return Notice
*/
public static function notice($noticeContent = '', $noticeType = 'info', $isDismissible = false, $priority = 10)
{
return new Notice($noticeType, $noticeContent, $isDismissible, $priority);
}
/**
* Creates PermanentDismissibleNotice object.
*
* @param string $noticeContent
* @param string $noticeType
* @param string $noticeName
* @param int $priority
*
* @return PermanentDismissibleNotice
*/
public static function permanentDismissibleNotice(
$noticeContent = '',
$noticeType = '',
$noticeName = '',
$priority = 10
) {
return new PermanentDismissibleNotice($noticeType, $noticeContent, $noticeName, $priority);
}
}
......@@ -59,19 +59,87 @@ class Notice
/**
* WPDesk_Flexible_Shipping_Notice constructor.
*
* @param string $noticeType Notice type.
* @param string $noticeContent Notice content.
* @param string $noticeType Notice type.
* @param bool $isDismissible Is dismissible.
* @param int $priority Notice priority.
*/
public function __construct($noticeType, $noticeContent, $isDismissible = false, $priority = 10)
public function __construct($noticeContent, $noticeType = 'info', $isDismissible = false, $priority = 10)
{
$this->noticeContent = $noticeContent;
$this->noticeType = $noticeType;
$this->isDismissible = $isDismissible;
$this->priority = $priority;
$this->addAction();
}
/**
* @return string
*/
public function getNoticeContent()
{
return $this->noticeContent;
}
/**
* @param string $noticeContent
*/
public function setNoticeContent($noticeContent)
{
$this->noticeContent = $noticeContent;
}
/**
* @return string
*/
public function getNoticeType()
{
return $this->noticeType;
}
/**
* @param string $noticeType
*/
public function setNoticeType($noticeType)
{
$this->noticeType = $noticeType;
}
/**
* @return bool
*/
public function isDismissible()
{
return $this->isDismissible;
}
/**
* @param bool $isDismissible
*/
public function setIsDismissible($isDismissible)
{
$this->isDismissible = $isDismissible;
}
/**
* @return int
*/
public function getPriority()
{
return $this->priority;
}
/**
* @param int $priority
*/
public function setPriority($priority)
{
$this->priority = $priority;
if ($this->isActionAdded) {
$this->removeAction();
$this->addAction();
}
}
/**
* Add notice action.
......
......@@ -26,15 +26,15 @@ class PermanentDismissibleNotice extends Notice
/**
* WPDesk_Flexible_Shipping_Notice constructor.
*
* @param string $noticeType Notice type.
* @param string $noticeContent Notice content.
* @param string $noticeType Notice type.
* @param string $noticeName Notice dismiss option name.
* @param int $priority Priority
*/
public function __construct($noticeType, $noticeContent, $noticeName, $priority = 10)
public function __construct($noticeContent, $noticeType, $noticeName, $priority = 10)
{
parent::__construct($noticeType, $noticeContent, true, $priority);
parent::__construct($noticeContent, $noticeType, true, $priority);
$this->noticeName = $noticeName;
$this->noticeDismissOptionName = static::OPTION_NAME_PREFIX . $noticeName;
if (self::OPTION_VALUE_DISMISSED === get_option($this->noticeDismissOptionName, '')) {
......
<?php
/**
* Creates Notice.
*
* @param $noticeContent
* @param string $noticeType
* @param bool $isDismissible
* @param int $priority
*
* @return \WPDesk\Notice\Notice
*/
function WPDeskNotice($noticeContent, $noticeType = 'info', $isDismissible = false, $priority = 10)
{
return \WPDesk\Notice\Factory::notice($noticeContent, $noticeType, $isDismissible, $priority);
}
/**
* Creates Notice.
*
* @param $noticeContent
* @param string $noticeType
* @param bool $isDismissible
* @param int $priority
*
* @return \WPDesk\Notice\Notice
*/
function WPDeskPermanentDismissibleNotice($noticeContent, $noticeType = 'info', $priority = 10)
{
return \WPDesk\Notice\Factory::permanentDismissibleNotice($noticeContent, $noticeType, $priority);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment