diff --git a/Changelog b/Changelog index f73bb7922..e57c0791b 100755 --- a/Changelog +++ b/Changelog @@ -1,3 +1,5 @@ +2017-10-06 DariusIII + * Chg: Update cs of some files, use Category model in Category class 2017-10-05 DariusIII * Chg: Update cs of TMDB class * Chg: Update Release and Category models relationship diff --git a/bootstrap/app.php b/bootstrap/app.php index 15c6b42f6..fe237456f 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -12,7 +12,7 @@ */ $app = new Illuminate\Foundation\Application( - dirname(__DIR__).'/' + dirname(__DIR__).'/' ); /* diff --git a/config/app.php b/config/app.php index ed55135b0..96abf8a32 100644 --- a/config/app.php +++ b/config/app.php @@ -176,7 +176,7 @@ return [ // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, - App\Providers\YencServiceProvider::class, + App\Providers\YencServiceProvider::class, ], diff --git a/nntmux/Categorize.php b/nntmux/Categorize.php index 812f4a5f9..1a050cd84 100755 --- a/nntmux/Categorize.php +++ b/nntmux/Categorize.php @@ -21,11 +21,6 @@ class Categorize extends Category */ protected $catWebDL; - /** - * Temporary category while we sort through the name. - * @var int - */ - protected $tmpCat = Category::OTHER_MISC; /** * Release name to sort through. @@ -80,7 +75,6 @@ class Categorize extends Category { $this->releaseName = $releaseName; $this->groupid = $groupID; - $this->tmpCat = Category::OTHER_MISC; $this->poster = $poster; switch (true) { diff --git a/nntmux/Category.php b/nntmux/Category.php index 35d614111..44e92ec2b 100755 --- a/nntmux/Category.php +++ b/nntmux/Category.php @@ -2,6 +2,7 @@ namespace nntmux; +use App\Models\Category as CategoryModel; use nntmux\db\DB; /** @@ -91,19 +92,23 @@ class Category const STATUS_DISABLED = 2; const OTHERS_GROUP = - [ - self::BOOKS_UNKNOWN, - self::GAME_OTHER, - self::MOVIE_OTHER, - self::MUSIC_OTHER, - self::PC_PHONE_OTHER, - self::TV_OTHER, - self::OTHER_HASHED, - self::XXX_OTHER, - self::OTHER_MISC, - ]; + [ + self::BOOKS_UNKNOWN, + self::GAME_OTHER, + self::MOVIE_OTHER, + self::MUSIC_OTHER, + self::PC_PHONE_OTHER, + self::TV_OTHER, + self::OTHER_HASHED, + self::XXX_OTHER, + self::OTHER_MISC, + ]; - private $tmpCat = 0; + /** + * Temporary category while we sort through the name. + * @var int + */ + protected $tmpCat = self::OTHER_MISC; /** * @var DB @@ -114,12 +119,13 @@ class Category * Construct. * * @param array $options Class instances. + * @throws \Exception */ public function __construct(array $options = []) { $defaults = [ - 'Settings' => null, - ]; + 'Settings' => null, + ]; $options += $defaults; $this->pdo = ($options['Settings'] instanceof DB ? $options['Settings'] : new DB()); @@ -128,7 +134,7 @@ class Category /** * Parse category search constraints. * - * @param array|string $cat + * @param array $cat * * @return string $catsrch */ @@ -160,19 +166,19 @@ class Category $catCount = count($categories); switch ($catCount) { - //No category constraint - case 0: - $catsrch = ' AND 1=1 '; - break; - // One category constraint - case 1: - $catsrch = $categories[0] !== -1 ? ' AND r.categories_id = '.$categories[0] : ''; - break; - // Multiple category constraints - default: - $catsrch = ' AND r.categories_id IN ('.implode(', ', $categories).') '; - break; - } + //No category constraint + case 0: + $catsrch = ' AND 1=1 '; + break; + // One category constraint + case 1: + $catsrch = $categories[0] !== -1 ? ' AND r.categories_id = '.$categories[0] : ''; + break; + // Multiple category constraints + default: + $catsrch = ' AND r.categories_id IN ('.implode(', ', $categories).') '; + break; + } return $catsrch; } @@ -184,20 +190,20 @@ class Category */ public static function getCategoryOthersGroup(): string { - return implode(',', - [ - self::BOOKS_UNKNOWN, - self::GAME_OTHER, - self::MOVIE_OTHER, - self::MUSIC_OTHER, - self::PC_PHONE_OTHER, - self::TV_OTHER, - self::OTHER_HASHED, - self::XXX_OTHER, - self::OTHER_MISC, - self::OTHER_HASHED, - ] - ); + return implode( + ',', + [ + self::BOOKS_UNKNOWN, + self::GAME_OTHER, + self::MOVIE_OTHER, + self::MUSIC_OTHER, + self::PC_PHONE_OTHER, + self::TV_OTHER, + self::OTHER_HASHED, + self::XXX_OTHER, + self::OTHER_MISC, + ] + ); } /** @@ -219,79 +225,62 @@ class Category */ public function isParent($cid): bool { - $ret = $this->pdo->query( - sprintf('SELECT id FROM categories WHERE id = %d AND parentid IS NULL', $cid), - true, NN_CACHE_EXPIRY_LONG - ); + $ret = CategoryModel::query()->where(['id' => $cid, 'parentid' => null])->first(); - return isset($ret[0]['id']); + return $ret !== null; } /** - * @param bool $activeonly - * - * @return array + * @return \Illuminate\Database\Eloquent\Collection|static[] */ - public function getFlat($activeonly = false): array + public function getFlat() { - $act = ''; - if ($activeonly) { - $act = sprintf(' WHERE c.status = %d ', self::STATUS_ACTIVE); - } - - return $this->pdo->query('SELECT c.*, (SELECT title FROM categories WHERE id=c.parentid) AS parentName FROM categories c '.$act.' ORDER BY c.id'); + return CategoryModel::query()->get(); } /** * Get children of a parent category. * - * @param $cid * - * @return array + * @param $cid + * @return mixed */ - public function getChildren($cid): array + public function getChildren($cid) { - return $this->pdo->query( - sprintf('SELECT c.* FROM categories c WHERE parentid = %d', $cid), - true, NN_CACHE_EXPIRY_LONG - ); + return CategoryModel::find($cid)->children; } /** * Get names of enabled parent categories. - * @return array + * + * @return \Illuminate\Database\Eloquent\Collection|static[] */ - public function getEnabledParentNames(): array + public function getEnabledParentNames() { - return $this->pdo->query( - 'SELECT title FROM categories WHERE parentid IS NULL AND status = 1', - true, NN_CACHE_EXPIRY_LONG - ); + return CategoryModel::query()->where(['parentid' => null, 'status' => 1])->get(['title']); } /** * Returns category ID's for site disabled categories. * - * @return array + * + * @return \Illuminate\Database\Eloquent\Collection|static[] */ - public function getDisabledIDs(): array + public function getDisabledIDs() { - return $this->pdo->query( - 'SELECT id FROM categories WHERE status = 2 OR parentid IN (SELECT id FROM categories WHERE status = 2 AND parentid IS NULL)', - true, NN_CACHE_EXPIRY_LONG - ); + return CategoryModel::query()->where('status', '=', 2)->orWhere(['status' => 2, 'parentid' => null])->get(['id']); } /** * Get a category row by its id. * - * @param $id * - * @return array|bool + * @param $id + * @return \Illuminate\Database\Eloquent\Collection|static[] */ public function getById($id) { - return $this->pdo->queryOneRow(sprintf("SELECT c.disablepreview, c.id, c.description, c.minsizetoformrelease, c.maxsizetoformrelease, CONCAT(COALESCE(cp.title,'') , CASE WHEN cp.title IS NULL THEN '' ELSE ' > ' END , c.title) as title, c.status, c.parentid from categories c left outer join categories cp on cp.id = c.parentid where c.id = %d", $id)); + return CategoryModel::query()->where('id', $id)->get(); } /** @@ -304,14 +293,7 @@ class Category public function getByIds($ids) { if (count($ids) > 0) { - return $this->pdo->query( - sprintf( - "SELECT CONCAT(cp.title, ' > ',c.title) AS title - FROM categories c - INNER JOIN categories cp ON cp.id = c.parentid - WHERE c.id IN (%s)", implode(',', $ids) - ), true, NN_CACHE_EXPIRY_LONG - ); + return CategoryModel::query()->whereIn('id', $ids)->get(); } return false; @@ -319,40 +301,41 @@ class Category /** * Return the parent and category name from the supplied categoryID. - * @param $ID * + * + * @param $ID * @return string */ - public function getNameByID($ID): string + public function getNameByID($ID) { - $cat = $this->pdo->queryOneRow( - sprintf(' - SELECT c.title AS ctitle, cp.title AS ptitle - FROM categories c - INNER JOIN categories cp ON c.parentid = cp.id - WHERE c.id = %d', - $ID - ) - ); + $cat = CategoryModel::query()->where('id', $ID)->first(); - return $cat['ptitle'].' -> '.$cat['ctitle']; + return $cat !== null ? $cat->parent->title .' -> '.$cat->title : ''; } /** * Update a category. * + * * @param $id * @param $status - * @param $desc + * @param $desc->update * @param $disablepreview * @param $minsize * @param $maxsize - * - * @return bool|\PDOStatement + * @return int */ - public function update($id, $status, $desc, $disablepreview, $minsize, $maxsize) + public function update($id, $status, $desc, $disablepreview, $minsize, $maxsize): int { - return $this->pdo->queryExec(sprintf('UPDATE categories SET disablepreview = %d, status = %d, minsizetoformrelease = %d, maxsizetoformrelease = %d, description = %s WHERE id = %d', $disablepreview, $status, $minsize, $maxsize, $this->pdo->escapeString($desc), $id)); + return CategoryModel::query()->where('id', $id)->update( + [ + 'disablepreview' => $disablepreview, + 'status' => $status, + 'minsizetoformrelease' => $minsize, + 'maxsizetoformrelease' => $maxsize, + 'description' => $desc, + ] + ); } /** @@ -376,9 +359,10 @@ class Category } $arr = $this->pdo->query( - sprintf('SELECT * FROM categories WHERE status = %d %s', self::STATUS_ACTIVE, $exccatlist), - true, NN_CACHE_EXPIRY_LONG - ); + sprintf('SELECT * FROM categories WHERE status = %d %s', self::STATUS_ACTIVE, $exccatlist), + true, + NN_CACHE_EXPIRY_LONG + ); foreach ($arr as $key => $val) { if ($val['id'] === '0') { @@ -440,27 +424,25 @@ class Category } /** - * Get array of categories in DB. - * - * @param bool $activeonly + * @param bool $activeonly * @param array $excludedcats - * - * @return array + * @return string|static */ - public function getCategories($activeonly = false, array $excludedcats = []): array + public function getCategories($activeonly = false, array $excludedcats = []) { return $this->pdo->query( - "SELECT c.id, CONCAT(cp.title, ' > ',c.title) AS title, cp.id AS parentid, c.status + "SELECT c.id, CONCAT(cp.title, ' > ',c.title) AS title, cp.id AS parentid, c.status FROM categories c INNER JOIN categories cp ON cp.id = c.parentid ". - ($activeonly ? - sprintf( - ' WHERE c.status = %d %s ', - self::STATUS_ACTIVE, - (count($excludedcats) > 0 ? ' AND c.id NOT IN ('.implode(',', $excludedcats).')' : '') - ) : '' - ). - ' ORDER BY c.id' - ); + ( + $activeonly ? + sprintf( + ' WHERE c.status = %d %s ', + self::STATUS_ACTIVE, + (count($excludedcats) > 0 ? ' AND c.id NOT IN ('.implode(',', $excludedcats).')' : '') + ) : '' + ). + ' ORDER BY c.id' + ); } } diff --git a/public/pages/browse.php b/public/pages/browse.php index b1517f1ba..48465d3a9 100644 --- a/public/pages/browse.php +++ b/public/pages/browse.php @@ -33,13 +33,14 @@ $results = $releases->getBrowseRange($catarray, $offset, ITEMS_PER_PAGE, $orderb $browsecount = $results[0]['_totalcount'] ?? 0; $page->smarty->assign( - [ - 'pagertotalitems' => $browsecount, - 'pageroffset'=> $offset, - 'pageritemsperpage'=> ITEMS_PER_PAGE, - 'pagerquerybase' => WWW_TOP.'/browse?t='.$category.'&g='.$grp.'&ob='.$orderby.'&offset=', - 'pagerquerysuffix' => '#results', - ]); + [ + 'pagertotalitems' => $browsecount, + 'pageroffset'=> $offset, + 'pageritemsperpage'=> ITEMS_PER_PAGE, + 'pagerquerybase' => WWW_TOP.'/browse?t='.$category.'&g='.$grp.'&ob='.$orderby.'&offset=', + 'pagerquerysuffix' => '#results', + ] +); $pager = $page->smarty->fetch('pager.tpl'); $page->smarty->assign('pager', $pager); diff --git a/public/plugins/function.html_options_multiple.php b/public/plugins/function.html_options_multiple.php index b89306c19..9b5de737b 100755 --- a/public/plugins/function.html_options_multiple.php +++ b/public/plugins/function.html_options_multiple.php @@ -47,65 +47,66 @@ function smarty_function_html_options_multiple($params, $template) $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { - case 'name': - case 'class': - case 'id': - $$_key = (string) $_val; - break; - case 'options': - $options = (array) $_val; - break; - case 'values': - case 'output': - $$_key = array_values((array) $_val); - break; - case 'selected': - if (is_array($_val)) { - $selected = []; - foreach ($_val as $_sel) { - if (is_object($_sel)) { - if (method_exists($_sel, '__toString')) { - $_sel = smarty_function_escape_special_chars((string) $_sel->__toString()); - } else { - trigger_error("html_options_multiple: selected attribute contains an object of class '".get_class($_sel)."' without __toString() method", E_USER_NOTICE); - continue; - } - } else { - $_sel = smarty_function_escape_special_chars((string) $_sel); - } - $selected[$_sel] = true; - } - } elseif (is_object($_val)) { - if (method_exists($_val, '__toString')) { - $selected = smarty_function_escape_special_chars((string) $_val->__toString()); - } else { - trigger_error("html_options_multiple: selected attribute is an object of class '".get_class($_val)."' without __toString() method", E_USER_NOTICE); - } - } else { - $selected = smarty_function_escape_special_chars((string) $_val); - } - break; - case 'strict': break; - case 'disabled': - case 'readonly': - if (! empty($params['strict'])) { - if (! is_scalar($_val)) { - trigger_error("html_options_multiple: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE); - } - if ($_val === true || $_val === $_key) { - $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_key).'"'; - } - break; - } - // omit break; to fall through! - default: - if (! is_array($_val)) { - $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; - } else { - trigger_error("html_options_multiple: extra attribute '$_key' cannot be an array", E_USER_NOTICE); - } - break; - } + case 'name': + case 'class': + case 'id': + $$_key = (string) $_val; + break; + case 'options': + $options = (array) $_val; + break; + case 'values': + case 'output': + $$_key = array_values((array) $_val); + break; + case 'selected': + if (is_array($_val)) { + $selected = []; + foreach ($_val as $_sel) { + if (is_object($_sel)) { + if (method_exists($_sel, '__toString')) { + $_sel = smarty_function_escape_special_chars((string) $_sel->__toString()); + } else { + trigger_error("html_options_multiple: selected attribute contains an object of class '".get_class($_sel)."' without __toString() method", E_USER_NOTICE); + continue; + } + } else { + $_sel = smarty_function_escape_special_chars((string) $_sel); + } + $selected[$_sel] = true; + } + } elseif (is_object($_val)) { + if (method_exists($_val, '__toString')) { + $selected = smarty_function_escape_special_chars((string) $_val->__toString()); + } else { + trigger_error("html_options_multiple: selected attribute is an object of class '".get_class($_val)."' without __toString() method", E_USER_NOTICE); + } + } else { + $selected = smarty_function_escape_special_chars((string) $_val); + } + break; + case 'strict': break; + case 'disabled': + case 'readonly': + if (! empty($params['strict'])) { + if (! is_scalar($_val)) { + trigger_error("html_options_multiple: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE); + } + if ($_val === true || $_val === $_key) { + $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_key).'"'; + } + break; + } + // omit break; to fall through! + // no break + default: + if (! is_array($_val)) { + $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; + } else { + trigger_error("html_options_multiple: extra attribute '$_key' cannot be an array", E_USER_NOTICE); + } + break; + } } if (! isset($options) && ! isset($values)) { /* raise error here? */ diff --git a/public/plugins/load_plugin_dependency.php b/public/plugins/load_plugin_dependency.php index 040fc5d2f..90fccd89a 100644 --- a/public/plugins/load_plugin_dependency.php +++ b/public/plugins/load_plugin_dependency.php @@ -9,26 +9,26 @@ function load_plugin_dependency($filename) } switch (true) { - case is_string($smarty->plugins_dir) && is_dir($smarty->plugins_dir): - $plugins_dir = $smarty->plugins_dir; - require_once $plugins_dir.DIRECTORY_SEPARATOR.$filename; - break; - case is_array($smarty->plugins_dir): - $plugins_dir = ''; - foreach ($smarty->plugins_dir as $dir) { - if (is_string($dir) && is_dir($dir)) { - $file = $dir.DIRECTORY_SEPARATOR.$filename; - if (file_exists($file) && is_readable($file)) { - $plugins_dir = $dir; - require_once $file; - break; - } - } - } - break; - default: - $plugins_dir = ''; - } + case is_string($smarty->plugins_dir) && is_dir($smarty->plugins_dir): + $plugins_dir = $smarty->plugins_dir; + require_once $plugins_dir.DIRECTORY_SEPARATOR.$filename; + break; + case is_array($smarty->plugins_dir): + $plugins_dir = ''; + foreach ($smarty->plugins_dir as $dir) { + if (is_string($dir) && is_dir($dir)) { + $file = $dir.DIRECTORY_SEPARATOR.$filename; + if (file_exists($file) && is_readable($file)) { + $plugins_dir = $dir; + require_once $file; + break; + } + } + } + break; + default: + $plugins_dir = ''; + } if (! is_dir($plugins_dir)) { exit('Fatal: Unable to find smarty plugins directory.'.PHP_EOL); diff --git a/public/plugins/modifier.fsize_format.php b/public/plugins/modifier.fsize_format.php index 926dc3374..90ee350e7 100755 --- a/public/plugins/modifier.fsize_format.php +++ b/public/plugins/modifier.fsize_format.php @@ -9,17 +9,17 @@ * Author: Joscha Feth, joscha@feth.com * Purpose: formats a filesize (in bytes) to human-readable format * Usage: In the template, use - {$filesize|fsize_format} => 123.45 B|KB|MB|GB|TB - or - {$filesize|fsize_format:"MB"} => 123.45 MB - or - {$filesize|fsize_format:"TB":4} => 0.0012 TB + {$filesize|fsize_format} => 123.45 B|KB|MB|GB|TB + or + {$filesize|fsize_format:"MB"} => 123.45 MB + or + {$filesize|fsize_format:"TB":4} => 0.0012 TB * Params: - int size the filesize in bytes - string format the format, the output shall be: B, KB, MB, GB or TB - int precision the rounding precision - string dec_point the decimal separator - string thousands_sep the thousands separator + int size the filesize in bytes + string format the format, the output shall be: B, KB, MB, GB or TB + int precision the rounding precision + string dec_point the decimal separator + string thousands_sep the thousands separator * Install: Drop into the plugin directory * Version: * 2007-05-24 Version 0.3 - added the peta, exa, zeta, and yeta byte magnitudes thanks to coreone (at) gmail (dot) com diff --git a/public/plugins/modifier.phpdate_format.php b/public/plugins/modifier.phpdate_format.php index 17942550d..761912b5d 100755 --- a/public/plugins/modifier.phpdate_format.php +++ b/public/plugins/modifier.phpdate_format.php @@ -14,20 +14,20 @@ if (! isset($smarty)) { $smarty = new Smarty(); } switch (true) { - case is_string($smarty->plugins_dir) && is_dir($smarty->plugins_dir): - $plugins_dir = $smarty->plugins_dir; - break; - case is_array($smarty->plugins_dir): - $plugins_dir = ''; - foreach ($smarty->plugins_dir as $dir) { - if (is_string($dir) && is_dir($dir)) { - $plugins_dir = $dir; - break; - } - } - break; - default: - $plugins_dir = ''; + case is_string($smarty->plugins_dir) && is_dir($smarty->plugins_dir): + $plugins_dir = $smarty->plugins_dir; + break; + case is_array($smarty->plugins_dir): + $plugins_dir = ''; + foreach ($smarty->plugins_dir as $dir) { + if (is_string($dir) && is_dir($dir)) { + $plugins_dir = $dir; + break; + } + } + break; + default: + $plugins_dir = ''; } if (! is_dir($plugins_dir)) { exit('Fatal: Unable to find smarty plugins directory.'.PHP_EOL); @@ -55,24 +55,24 @@ require_once $plugins_dir.'shared.make_timestamp.php'; function smarty_modifier_phpdate_format($string, $format = 'Y/m/d H:i:s', $default_date = null) { /* if (substr(PHP_OS,0,3) == 'WIN') { - $_win_from = array ('%e', '%T', '%D'); - $_win_to = array ('%#d', '%H:%M:%S', '%m/%d/%y'); - $format = str_replace($_win_from, $_win_to, $format); - }*/ + $_win_from = array ('%e', '%T', '%D'); + $_win_to = array ('%#d', '%H:%M:%S', '%m/%d/%y'); + $format = str_replace($_win_from, $_win_to, $format); + }*/ if (substr($format, 0, 5) == 'DATE_') { switch ($format) { - case 'DATE_ATOM': $nformat = DATE_ATOM; break; - case 'DATE_COOKIE': $nformat = DATE_COOKIE; break; - case 'DATE_ISO8601': $nformat = DATE_ISO8601; break; - case 'DATE_RFC822': $nformat = 'D, d M y H:i:s O'; break; //The php constant is not quite right - as the time-zone comes out with invalid values like "UTC"... - case 'DATE_RFC850': $nformat = DATE_RFC850; break; - case 'DATE_RFC1036': $nformat = DATE_RFC1036; break; - case 'DATE_RFC1123': $nformat = DATE_RFC1123; break; - case 'DATE_RFC2822': $nformat = DATE_RFC2822; break; - case 'DATE_RFC3339': $nformat = DATE_RFC3339; break; - case 'DATE_RSS': $nformat = 'D, d M Y H:i:s O'; break; //as rfc822 ... - case 'DATE_W3C': $nformat = DATE_W3C; break; - } + case 'DATE_ATOM': $nformat = DATE_ATOM; break; + case 'DATE_COOKIE': $nformat = DATE_COOKIE; break; + case 'DATE_ISO8601': $nformat = DATE_ISO8601; break; + case 'DATE_RFC822': $nformat = 'D, d M y H:i:s O'; break; //The php constant is not quite right - as the time-zone comes out with invalid values like "UTC"... + case 'DATE_RFC850': $nformat = DATE_RFC850; break; + case 'DATE_RFC1036': $nformat = DATE_RFC1036; break; + case 'DATE_RFC1123': $nformat = DATE_RFC1123; break; + case 'DATE_RFC2822': $nformat = DATE_RFC2822; break; + case 'DATE_RFC3339': $nformat = DATE_RFC3339; break; + case 'DATE_RSS': $nformat = 'D, d M Y H:i:s O'; break; //as rfc822 ... + case 'DATE_W3C': $nformat = DATE_W3C; break; + } } else { $nformat = $format; } diff --git a/public/plugins/modifier.timeago.php b/public/plugins/modifier.timeago.php index 2d90f9f1e..c39d74397 100755 --- a/public/plugins/modifier.timeago.php +++ b/public/plugins/modifier.timeago.php @@ -17,10 +17,10 @@ function smarty_modifier_timeAgo($date) return 'n/a'; } $timeStrings = ['now', // 0 - 'Sec', 'Secs', // 1,1 - 'Min', 'Mins', // 3,3 - 'Hour', 'Hrs', // 5,5 - 'Day', 'Days', ]; + 'Sec', 'Secs', // 1,1 + 'Min', 'Mins', // 3,3 + 'Hour', 'Hrs', // 5,5 + 'Day', 'Days', ]; $sec = time() - ((! is_numeric($date) && strtotime($date)) ? strtotime($date) : $date); if ($sec <= 0) { return $timeStrings[0]; diff --git a/public/plugins/shared.make_timestamp.php b/public/plugins/shared.make_timestamp.php index f3dfc86c1..da0a1f95a 100644 --- a/public/plugins/shared.make_timestamp.php +++ b/public/plugins/shared.make_timestamp.php @@ -22,8 +22,14 @@ function smarty_make_timestamp($string) return (int) $string->format('U'); // PHP 5.2 BC } elseif (strlen($string) == 14 && ctype_digit($string)) { // it is mysql timestamp format of YYYYMMDDHHMMSS? - return mktime(substr($string, 8, 2), substr($string, 10, 2), substr($string, 12, 2), - substr($string, 4, 2), substr($string, 6, 2), substr($string, 0, 4)); + return mktime( + substr($string, 8, 2), + substr($string, 10, 2), + substr($string, 12, 2), + substr($string, 4, 2), + substr($string, 6, 2), + substr($string, 0, 4) + ); } elseif (is_numeric($string)) { // it is a numeric string, we handle it as timestamp return (int) $string; diff --git a/public/themes/shared/templates/admin/category-list.tpl b/public/themes/shared/templates/admin/category-list.tpl index 01fcaeded..5ccb20a6b 100644 --- a/public/themes/shared/templates/admin/category-list.tpl +++ b/public/themes/shared/templates/admin/category-list.tpl @@ -19,13 +19,13 @@