1
0
mirror of https://github.com/e107inc/e107.git synced 2025-04-19 20:21:51 +02:00

Make sure livestamp' is only active when 'relative' is selected in toDate().

This commit is contained in:
Cameron 2018-03-04 13:02:50 -08:00
parent 82c7598b74
commit c377050945
2 changed files with 15 additions and 9 deletions

View File

@ -21,7 +21,7 @@ class convert
function __construct()
{
}
@ -148,7 +148,7 @@ class convert
{
$mask = 'long';
}
switch($mask)
{
case 'long':
@ -187,7 +187,7 @@ class convert
break;
case 'relative':
return $this->computeLapse($datestamp, time(), false, false, 'short') ;
return $this->computeLapse($datestamp, time(), false, false, 'short') ;
break;
default:
@ -222,7 +222,7 @@ class convert
function convert($string=null, $mask = 'inputdate')
{
if($string == null) return false;
return is_numeric($string) ? $this->convert_date($string, $mask) : $this->toTime($string, $mask);
return is_numeric($string) ? $this->convert_date($string, $mask) : $this->toTime($string, $mask);
}
@ -660,7 +660,7 @@ class convert
*
* @param string $str date string to parse (e.g. returned from strftime()).
* @param string $sFormat strftime format used to create the date
* @return array Returns an array with the <code>$str</code> parsed, or <code>false</code> on error.
* @return array|bool Returns an array with the <code>$str</code> parsed, or <code>false</code> on error.
*/
public function strptime($str, $format)
{
@ -718,7 +718,9 @@ class convert
#-- record the positions of all STRFCMD-placeholders
preg_match_all('/(%\w)/', $format, $positions);
$positions = $positions[1];
$vals = array();
#-- get individual values
if (preg_match("#$preg#", $str, $extracted))
{
@ -797,7 +799,7 @@ class convert
//var_dump($vals, $str, strftime($format, $unxTimestamp), $unxTimestamp);
}
return isset($vals) ? $vals : false;
return !empty($vals) ? $vals : false;
}

View File

@ -4740,13 +4740,17 @@ class e_parser
* Includes support for 'livestamp' (http://mattbradley.github.io/livestampjs/)
* @param integer $datestamp - unix timestamp
* @param string $format - short | long | relative
* @return HTML with converted date.
* @return string converted date (html)
*/
public function toDate($datestamp = null, $format='short')
{
if(!is_numeric($datestamp)){ return null; }
return '<span data-livestamp="'.$datestamp.'">'.e107::getDate()->convert($datestamp, $format).'</span>';
$value = e107::getDate()->convert_date($datestamp, $format);
$inc = ($format === 'relative') ? ' data-livestamp="'.$datestamp.'"' : '';
return '<span'.$inc.'>'.$value.'</span>';
}