- Introduces shortcode to custom format dates
This commit is contained in:
@@ -2,9 +2,9 @@
|
|||||||
namespace MailPoet\Newsletter\Shortcodes\Categories;
|
namespace MailPoet\Newsletter\Shortcodes\Categories;
|
||||||
|
|
||||||
class Date {
|
class Date {
|
||||||
static function process($action) {
|
static function process($format) {
|
||||||
$date = new \DateTime('now');
|
$date = new \DateTime('now');
|
||||||
$actions = array(
|
$available_formats = array(
|
||||||
'd' => $date->format('d'),
|
'd' => $date->format('d'),
|
||||||
'dordinal' => $date->format('dS'),
|
'dordinal' => $date->format('dS'),
|
||||||
'dtext' => $date->format('l'),
|
'dtext' => $date->format('l'),
|
||||||
@@ -12,6 +12,11 @@ class Date {
|
|||||||
'mtext' => $date->format('F'),
|
'mtext' => $date->format('F'),
|
||||||
'y' => $date->format('Y')
|
'y' => $date->format('Y')
|
||||||
);
|
);
|
||||||
return (isset($actions[$action])) ? $actions[$action] : false;
|
if(!empty($available_formats[$format])) {
|
||||||
|
return $available_formats[$format];
|
||||||
|
}
|
||||||
|
return (preg_match('/^custom_(.*?)$/', $format, $custom_format)) ?
|
||||||
|
$date->format($custom_format[1]) :
|
||||||
|
false;
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -85,6 +85,8 @@ class ShortcodesTest extends MailPoetTest {
|
|||||||
expect(Date::process('m'))->equals($date->format('m'));
|
expect(Date::process('m'))->equals($date->format('m'));
|
||||||
expect(Date::process('mtext'))->equals($date->format('F'));
|
expect(Date::process('mtext'))->equals($date->format('F'));
|
||||||
expect(Date::process('y'))->equals($date->format('Y'));
|
expect(Date::process('y'))->equals($date->format('Y'));
|
||||||
|
// allow custom date formats (http://php.net/manual/en/function.date.php)
|
||||||
|
expect(Date::process('custom_U'))->equals($date->format('U'));
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanProcessNewsletterShortcodes() {
|
function testItCanProcessNewsletterShortcodes() {
|
||||||
|
Reference in New Issue
Block a user