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
No related branches found
No related tags found
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