From 5483453e75aa50a6f6525fe0e641b97e8be3b2b6 Mon Sep 17 00:00:00 2001 From: Kanti Date: Wed, 17 Dec 2014 10:17:37 +0100 Subject: [PATCH 1/3] [TASK] PSR-2 --- system/admin/admin.php | 17 +++++++++-------- system/htmly.php | 8 ++++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/system/admin/admin.php b/system/admin/admin.php index baad227..19c2ff2 100644 --- a/system/admin/admin.php +++ b/system/admin/admin.php @@ -13,12 +13,13 @@ function user($key, $user = null) } } -function create_user($userName, $password){ +function create_user($userName, $password) +{ $file = 'config/users/' . $userName . '.ini'; - if(file_exists($file)) { + if (file_exists($file)) { return false; } else { - file_put_contents($file,"password = " . hash("sha512",$password) . "\n" . + file_put_contents($file, "password = " . hash("sha512", $password) . "\n" . "encryption = sha512\n" . "role = user\n"); return true; @@ -26,7 +27,7 @@ function create_user($userName, $password){ } // Create a session -function session($user, $pass, $str = null) +function session($user, $pass) { $user_file = 'config/users/' . $user . '.ini'; $user_enc = user('encryption', $user); @@ -50,7 +51,7 @@ function remove_accent($str) { $a = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', 'Ā', 'ā', 'Ă', 'ă', 'Ą', 'ą', 'Ć', 'ć', 'Ĉ', 'ĉ', 'Ċ', 'ċ', 'Č', 'č', 'Ď', 'ď', 'Đ', 'đ', 'Ē', 'ē', 'Ĕ', 'ĕ', 'Ė', 'ė', 'Ę', 'ę', 'Ě', 'ě', 'Ĝ', 'ĝ', 'Ğ', 'ğ', 'Ġ', 'ġ', 'Ģ', 'ģ', 'Ĥ', 'ĥ', 'Ħ', 'ħ', 'Ĩ', 'ĩ', 'Ī', 'ī', 'Ĭ', 'ĭ', 'Į', 'į', 'İ', 'ı', 'IJ', 'ij', 'Ĵ', 'ĵ', 'Ķ', 'ķ', 'Ĺ', 'ĺ', 'Ļ', 'ļ', 'Ľ', 'ľ', 'Ŀ', 'ŀ', 'Ł', 'ł', 'Ń', 'ń', 'Ņ', 'ņ', 'Ň', 'ň', 'ʼn', 'Ō', 'ō', 'Ŏ', 'ŏ', 'Ő', 'ő', 'Œ', 'œ', 'Ŕ', 'ŕ', 'Ŗ', 'ŗ', 'Ř', 'ř', 'Ś', 'ś', 'Ŝ', 'ŝ', 'Ş', 'ş', 'Š', 'š', 'Ţ', 'ţ', 'Ť', 'ť', 'Ŧ', 'ŧ', 'Ũ', 'ũ', 'Ū', 'ū', 'Ŭ', 'ŭ', 'Ů', 'ů', 'Ű', 'ű', 'Ų', 'ų', 'Ŵ', 'ŵ', 'Ŷ', 'ŷ', 'Ÿ', 'Ź', 'ź', 'Ż', 'ż', 'Ž', 'ž', 'ſ', 'ƒ', 'Ơ', 'ơ', 'Ư', 'ư', 'Ǎ', 'ǎ', 'Ǐ', 'ǐ', 'Ǒ', 'ǒ', 'Ǔ', 'ǔ', 'Ǖ', 'ǖ', 'Ǘ', 'ǘ', 'Ǚ', 'ǚ', 'Ǜ', 'ǜ', 'Ǻ', 'ǻ', 'Ǽ', 'ǽ', 'Ǿ', 'ǿ'); $b = array('A', 'A', 'A', 'A', 'A', 'A', 'AE', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 's', 'a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y', 'A', 'a', 'A', 'a', 'A', 'a', 'C', 'c', 'C', 'c', 'C', 'c', 'C', 'c', 'D', 'd', 'D', 'd', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'G', 'g', 'G', 'g', 'G', 'g', 'G', 'g', 'H', 'h', 'H', 'h', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'IJ', 'ij', 'J', 'j', 'K', 'k', 'L', 'l', 'L', 'l', 'L', 'l', 'L', 'l', 'l', 'l', 'N', 'n', 'N', 'n', 'N', 'n', 'n', 'O', 'o', 'O', 'o', 'O', 'o', 'OE', 'oe', 'R', 'r', 'R', 'r', 'R', 'r', 'S', 's', 'S', 's', 'S', 's', 'S', 's', 'T', 't', 'T', 't', 'T', 't', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'W', 'w', 'Y', 'y', 'Y', 'Z', 'z', 'Z', 'z', 'Z', 'z', 's', 'f', 'O', 'o', 'U', 'u', 'A', 'a', 'I', 'i', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'A', 'a', 'AE', 'ae', 'O', 'o'); - $cyr = array('ж', 'ч', 'щ', 'ш', 'ю', 'а', 'б', 'в', 'г', 'д', 'e', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ъ', 'ь', 'я', 'Ж', 'Ч', 'Щ', 'Ш', 'Ю', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ъ', 'Ь', 'Я'); + $cyr = array('ж', 'ч', 'щ', 'ш', 'ю', 'а', 'б', 'в', 'г', 'д', 'e', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ъ', 'ь', 'я', 'Ж', 'Ч', 'Щ', 'Ш', 'Ю', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ъ', 'Ь', 'Я'); $lat = array('zh', 'ch', 'sht', 'sh', 'yu', 'a', 'b', 'v', 'g', 'd', 'e', 'z', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'c', 'y', 'x', 'q', 'Zh', 'Ch', 'Sht', 'Sh', 'Yu', 'A', 'B', 'V', 'G', 'D', 'E', 'Z', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'c', 'Y', 'X', 'Q'); $a = array_merge($a, $cyr); $b = array_merge($b, $lat); @@ -61,8 +62,8 @@ function remove_accent($str) function edit_post($title, $tag, $url, $content, $oldfile, $destination = null, $description = null, $date = null) { $oldurl = explode('_', $oldfile); - if($date !== null) { - $oldurl[0] = substr($oldurl[0], 0, strrpos($oldurl[0], '/')) . '/' . date('Y-m-d-h-i-s',strtotime($date)); + if ($date !== null) { + $oldurl[0] = substr($oldurl[0], 0, strrpos($oldurl[0], '/')) . '/' . date('Y-m-d-h-i-s', strtotime($date)); } $post_title = $title; @@ -362,7 +363,7 @@ function migrate($title, $time, $tags, $content, $url, $user, $source) } // Fetch RSS feed -function get_feed($feed_url, $credit, $message = null) +function get_feed($feed_url, $credit) { $source = file_get_contents($feed_url); $feed = new SimpleXmlElement($source); diff --git a/system/htmly.php b/system/htmly.php index 83cf5ba..a2c3061 100644 --- a/system/htmly.php +++ b/system/htmly.php @@ -64,8 +64,8 @@ post('/login', function () { $pass = from($_REQUEST, 'password'); if ($proper && $captcha && !empty($user) && !empty($pass)) { - session($user, $pass, null); - $log = session($user, $pass, null); + session($user, $pass); + $log = session($user, $pass); if (!empty($log)) { @@ -997,8 +997,8 @@ post('/admin/import', function () { $credit = from($_REQUEST, 'credit'); if (!empty($url)) { - get_feed($url, $credit, null); - $log = get_feed($url, $credit, null); + get_feed($url, $credit); + $log = get_feed($url, $credit); if (!empty($log)) { From 5f6bf6376066c352107453caf0edf72a93d707dc Mon Sep 17 00:00:00 2001 From: Kanti Date: Wed, 17 Dec 2014 11:31:43 +0100 Subject: [PATCH 2/3] [TASK] PSR-2 --- system/includes/dispatch.php | 632 +++++++++++++++++++++---------------------- system/upgrade/run.php | 22 +- 2 files changed, 327 insertions(+), 327 deletions(-) diff --git a/system/includes/dispatch.php b/system/includes/dispatch.php index f3d5b02..2b45b03 100644 --- a/system/includes/dispatch.php +++ b/system/includes/dispatch.php @@ -1,531 +1,531 @@ 0) { - foreach ($sym as $s) { - $s = substr($s, 1); - if (isset($cb_map[$s]) && isset($cb_or_val[$s])) - call_user_func($cb_map[$s], $cb_or_val[$s]); + static $cb_map = array(); + + if (is_callable($cb_or_val)) { + $cb_map[$sym] = $cb_or_val; + return; + } + + if (is_array($sym) && count($sym) > 0) { + foreach ($sym as $s) { + $s = substr($s, 1); + if (isset($cb_map[$s]) && isset($cb_or_val[$s])) + call_user_func($cb_map[$s], $cb_or_val[$s]); + } + return; } - return; - } - error(500, 'bad call to filter()'); + error(500, 'bad call to filter()'); } function route_to_regex($route) { - $route = preg_replace_callback('@:[\w]+@i', function ($matches) { - $token = str_replace(':', '', $matches[0]); - return '(?P<'.$token.'>[a-z0-9_\0-\.]+)'; - }, $route); - return '@^'.rtrim($route, '/').'$@i'; + $route = preg_replace_callback('@:[\w]+@i', function ($matches) { + $token = str_replace(':', '', $matches[0]); + return '(?P<' . $token . '>[a-z0-9_\0-\.]+)'; + }, $route); + return '@^' . rtrim($route, '/') . '$@i'; } function route($method, $pattern, $callback = null) { - // callback map by request type - static $route_map = array( - 'GET' => array(), - 'POST' => array() - ); + // callback map by request type + static $route_map = array( + 'GET' => array(), + 'POST' => array() + ); - $method = strtoupper($method); + $method = strtoupper($method); - if (!in_array($method, array('GET', 'POST'))) - error(500, 'Only GET and POST are supported'); + if (!in_array($method, array('GET', 'POST'))) + error(500, 'Only GET and POST are supported'); - // a callback was passed, so we create a route defiition - if ($callback !== null) { + // a callback was passed, so we create a route defiition + if ($callback !== null) { - // create a route entry for this pattern - $route_map[$method][$pattern] = array( - 'xp' => route_to_regex($pattern), - 'cb' => $callback - ); + // create a route entry for this pattern + $route_map[$method][$pattern] = array( + 'xp' => route_to_regex($pattern), + 'cb' => $callback + ); - } else { + } else { - // callback is null, so this is a route invokation. look up the callback. - foreach ($route_map[$method] as $pat => $obj) { + // callback is null, so this is a route invokation. look up the callback. + foreach ($route_map[$method] as $pat => $obj) { - // if the requested uri ($pat) has a matching route, let's invoke the cb - if (!preg_match($obj['xp'], $pattern, $vals)) - continue; + // if the requested uri ($pat) has a matching route, let's invoke the cb + if (!preg_match($obj['xp'], $pattern, $vals)) + continue; - // call middleware - middleware($pattern); + // call middleware + middleware($pattern); - // construct the params for the callback - array_shift($vals); - preg_match_all('@:([\w]+)@', $pat, $keys, PREG_PATTERN_ORDER); - $keys = array_shift($keys); - $argv = array(); + // construct the params for the callback + array_shift($vals); + preg_match_all('@:([\w]+)@', $pat, $keys, PREG_PATTERN_ORDER); + $keys = array_shift($keys); + $argv = array(); - foreach ($keys as $index => $id) { - $id = substr($id, 1); - if (isset($vals[$id])) { - array_push($argv, trim(urldecode($vals[$id]))); - } - } + foreach ($keys as $index => $id) { + $id = substr($id, 1); + if (isset($vals[$id])) { + array_push($argv, trim(urldecode($vals[$id]))); + } + } - // call filters if we have symbols - if (count($keys)) { - filter(array_values($keys), $vals); - } + // call filters if we have symbols + if (count($keys)) { + filter(array_values($keys), $vals); + } - // if cb found, invoke it - if (is_callable($obj['cb'])) { - call_user_func_array($obj['cb'], $argv); - } + // if cb found, invoke it + if (is_callable($obj['cb'])) { + call_user_func_array($obj['cb'], $argv); + } - // leave after first match - break; + // leave after first match + break; + } } - } } function get($path, $cb) { - route('GET', $path, $cb); + route('GET', $path, $cb); } function post($path, $cb) { - route('POST', $path, $cb); + route('POST', $path, $cb); } function flash($key, $msg = null, $now = false) { - static $x = array(), - $f = null; + static $x = array(), + $f = null; - $f = (config('cookies.flash') ? config('cookies.flash') : '_F'); + $f = (config('cookies.flash') ? config('cookies.flash') : '_F'); - if ($c = get_cookie($f)) - $c = json_decode($c, true); - else - $c = array(); + if ($c = get_cookie($f)) + $c = json_decode($c, true); + else + $c = array(); - if ($msg == null) { + if ($msg == null) { - if (isset($c[$key])) { - $x[$key] = $c[$key]; - unset($c[$key]); - set_cookie($f, json_encode($c)); - } + if (isset($c[$key])) { + $x[$key] = $c[$key]; + unset($c[$key]); + set_cookie($f, json_encode($c)); + } - return (isset($x[$key]) ? $x[$key] : null); - } + return (isset($x[$key]) ? $x[$key] : null); + } - if (!$now) { - $c[$key] = $msg; - set_cookie($f, json_encode($c)); - } + if (!$now) { + $c[$key] = $msg; + set_cookie($f, json_encode($c)); + } - $x[$key] = $msg; + $x[$key] = $msg; } function dispatch() { - $path = urldecode($_SERVER['REQUEST_URI']); + $path = urldecode($_SERVER['REQUEST_URI']); - if (config('site.url') !== null) - $path = preg_replace('@^'.preg_quote(site_path()).'@', '', $path); + if (config('site.url') !== null) + $path = preg_replace('@^' . preg_quote(site_path()) . '@', '', $path); - $parts = preg_split('/\?/', $path, -1, PREG_SPLIT_NO_EMPTY); + $parts = preg_split('/\?/', $path, -1, PREG_SPLIT_NO_EMPTY); - $uri = trim($parts[0], '/'); - $uri = strlen($uri) ? $uri : 'index'; + $uri = trim($parts[0], '/'); + $uri = strlen($uri) ? $uri : 'index'; - route(method(), "/{$uri}"); + route(method(), "/{$uri}"); } diff --git a/system/upgrade/run.php b/system/upgrade/run.php index cc9d0ef..2d4ed76 100644 --- a/system/upgrade/run.php +++ b/system/upgrade/run.php @@ -2,20 +2,22 @@ $updater = new Kanti\HubUpdater("danpros/htmly"); $info = $updater->getCurrentInfo(); -$versionNumber = substr($info['tag_name'],1); +$versionNumber = substr($info['tag_name'], 1); -function isGraterThan($string){ +function isGraterThan($string) +{ global $versionNumber; - return (version_compare($versionNumber,$string) > 0); + return (version_compare($versionNumber, $string) > 0); } // http://stackoverflow.com/questions/3338123/how-do-i-recursively-delete-a-directory-and-its-entire-contents-files-sub-dir -function rrmdir($dir) { +function rrmdir($dir) +{ if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != "." && $object != "..") { - if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); + if (filetype($dir . "/" . $object) == "dir") rrmdir($dir . "/" . $object); else unlink($dir . "/" . $object); } } reset($objects); @@ -24,13 +26,11 @@ function rrmdir($dir) { } //run upgrade specific stuff -if(isGraterThan("2.3")) {// 2.4, 2.5, ... - if(file_exists("vendor/")){ +if (isGraterThan("2.3")) {// 2.4, 2.5, ... + if (file_exists("vendor/")) { rrmdir("vendor/"); } } -if(isGraterThan("2.3")) { - file_put_contents("index.php",file_get_contents("system/upgrade/index.php")); - rrmdir("system/upgrade/"); -} \ No newline at end of file +file_put_contents("index.php", file_get_contents("system/upgrade/index.php")); +rrmdir("system/upgrade/"); From a72bac676d297f8bc799bccffb7f3a4deff9745a Mon Sep 17 00:00:00 2001 From: Kanti Date: Sun, 28 Dec 2014 16:29:08 +0100 Subject: [PATCH 3/3] [TASK] prepare for Version 2.5 --- cache/installedVersion.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cache/installedVersion.json b/cache/installedVersion.json index d6ffdc4..e9367d3 100644 --- a/cache/installedVersion.json +++ b/cache/installedVersion.json @@ -1,4 +1,4 @@ { - "id": 587750, - "tag_name": "v2.4" + "id": 782014, + "tag_name": "v2.5" }