From: Arthur Date: Sat, 14 May 2016 09:11:11 +0000 (+0200) Subject: Merge pull request #560 from ArthurHoaro/nb-private-shaare X-Git-Tag: v0.7.0~1 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=3fdcc7bd47114776a5a8a280783529ee2dd690a1;hp=141a86c503af8e314381b3ee39ba4287fdfac63e;p=github%2Fshaarli%2FShaarli.git Merge pull request #560 from ArthurHoaro/nb-private-shaare Private links counter in the header --- diff --git a/application/HttpUtils.php b/application/HttpUtils.php index c84ba6f0..2e0792f9 100644 --- a/application/HttpUtils.php +++ b/application/HttpUtils.php @@ -193,7 +193,7 @@ function server_url($server) function index_url($server) { $scriptname = $server['SCRIPT_NAME']; - if (endswith($scriptname, 'index.php')) { + if (endsWith($scriptname, 'index.php')) { $scriptname = substr($scriptname, 0, -9); } return server_url($server) . $scriptname; diff --git a/application/Router.php b/application/Router.php index a1e594a0..2c3934b0 100644 --- a/application/Router.php +++ b/application/Router.php @@ -63,19 +63,19 @@ class Router return self::$PAGE_LINKLIST; } - if (startswith($query, 'do='. self::$PAGE_LOGIN) && $loggedIn === false) { + if (startsWith($query, 'do='. self::$PAGE_LOGIN) && $loggedIn === false) { return self::$PAGE_LOGIN; } - if (startswith($query, 'do='. self::$PAGE_PICWALL)) { + if (startsWith($query, 'do='. self::$PAGE_PICWALL)) { return self::$PAGE_PICWALL; } - if (startswith($query, 'do='. self::$PAGE_TAGCLOUD)) { + if (startsWith($query, 'do='. self::$PAGE_TAGCLOUD)) { return self::$PAGE_TAGCLOUD; } - if (startswith($query, 'do='. self::$PAGE_OPENSEARCH)) { + if (startsWith($query, 'do='. self::$PAGE_OPENSEARCH)) { return self::$PAGE_OPENSEARCH; } @@ -96,23 +96,23 @@ class Router return self::$PAGE_LINKLIST; } - if (startswith($query, 'do='. self::$PAGE_TOOLS)) { + if (startsWith($query, 'do='. self::$PAGE_TOOLS)) { return self::$PAGE_TOOLS; } - if (startswith($query, 'do='. self::$PAGE_CHANGEPASSWORD)) { + if (startsWith($query, 'do='. self::$PAGE_CHANGEPASSWORD)) { return self::$PAGE_CHANGEPASSWORD; } - if (startswith($query, 'do='. self::$PAGE_CONFIGURE)) { + if (startsWith($query, 'do='. self::$PAGE_CONFIGURE)) { return self::$PAGE_CONFIGURE; } - if (startswith($query, 'do='. self::$PAGE_CHANGETAG)) { + if (startsWith($query, 'do='. self::$PAGE_CHANGETAG)) { return self::$PAGE_CHANGETAG; } - if (startswith($query, 'do='. self::$PAGE_ADDLINK)) { + if (startsWith($query, 'do='. self::$PAGE_ADDLINK)) { return self::$PAGE_ADDLINK; } @@ -120,19 +120,19 @@ class Router return self::$PAGE_EDITLINK; } - if (startswith($query, 'do='. self::$PAGE_EXPORT)) { + if (startsWith($query, 'do='. self::$PAGE_EXPORT)) { return self::$PAGE_EXPORT; } - if (startswith($query, 'do='. self::$PAGE_IMPORT)) { + if (startsWith($query, 'do='. self::$PAGE_IMPORT)) { return self::$PAGE_IMPORT; } - if (startswith($query, 'do='. self::$PAGE_PLUGINSADMIN)) { + if (startsWith($query, 'do='. self::$PAGE_PLUGINSADMIN)) { return self::$PAGE_PLUGINSADMIN; } - if (startswith($query, 'do='. self::$PAGE_SAVE_PLUGINSADMIN)) { + if (startsWith($query, 'do='. self::$PAGE_SAVE_PLUGINSADMIN)) { return self::$PAGE_SAVE_PLUGINSADMIN; } diff --git a/application/Utils.php b/application/Utils.php index 5b8ca508..da521cce 100644 --- a/application/Utils.php +++ b/application/Utils.php @@ -41,8 +41,14 @@ function smallHash($text) /** * Tells if a string start with a substring + * + * @param string $haystack Given string. + * @param string $needle String to search at the beginning of $haystack. + * @param bool $case Case sensitive. + * + * @return bool True if $haystack starts with $needle. */ -function startsWith($haystack, $needle, $case=true) +function startsWith($haystack, $needle, $case = true) { if ($case) { return (strcmp(substr($haystack, 0, strlen($needle)), $needle) === 0); @@ -52,8 +58,14 @@ function startsWith($haystack, $needle, $case=true) /** * Tells if a string ends with a substring + * + * @param string $haystack Given string. + * @param string $needle String to search at the end of $haystack. + * @param bool $case Case sensitive. + * + * @return bool True if $haystack ends with $needle. */ -function endsWith($haystack, $needle, $case=true) +function endsWith($haystack, $needle, $case = true) { if ($case) { return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)), $needle) === 0); diff --git a/index.php b/index.php index 90fdac81..5b8384ba 100644 --- a/index.php +++ b/index.php @@ -496,9 +496,9 @@ if (isset($_POST['login'])) else { ban_loginFailed(); - $redir = ''; + $redir = '&username='. $_POST['login']; if (isset($_GET['post'])) { - $redir = '?post=' . urlencode($_GET['post']); + $redir .= '&post=' . urlencode($_GET['post']); foreach (array('description', 'source', 'title') as $param) { if (!empty($_GET[$param])) { $redir .= '&' . $param . '=' . urlencode($_GET[$param]); @@ -569,7 +569,7 @@ function tokenOk($token) // This RSS feed cannot be filtered. function showDailyRSS() { // Cache system - $query = $_SERVER["QUERY_STRING"]; + $query = $_SERVER['QUERY_STRING']; $cache = new CachedPage( $GLOBALS['config']['PAGECACHE'], page_url($_SERVER), @@ -823,12 +823,15 @@ function renderPage() if ($GLOBALS['config']['OPEN_SHAARLI']) { header('Location: ?'); exit; } // No need to login for open Shaarli $token=''; if (ban_canLogin()) $token=getToken(); // Do not waste token generation if not useful. $PAGE->assign('token',$token); + if (isset($_GET['username'])) { + $PAGE->assign('username', escape($_GET['username'])); + } $PAGE->assign('returnurl',(isset($_SERVER['HTTP_REFERER']) ? escape($_SERVER['HTTP_REFERER']):'')); $PAGE->renderPage('loginform'); exit; } // -------- User wants to logout. - if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=logout')) + if (isset($_SERVER['QUERY_STRING']) && startsWith($_SERVER['QUERY_STRING'], 'do=logout')) { invalidateCaches($GLOBALS['config']['PAGECACHE']); logout(); @@ -1077,12 +1080,6 @@ function renderPage() exit; } - // Same case as above except that user tried to access ?do=addlink without being logged in - // Note: passing empty parameters makes Shaarli generate default URLs and descriptions. - if (isset($_GET['do']) && $_GET['do'] === 'addlink') { - header('Location: ?do=login&post='); - exit; - } showLinkList($PAGE, $LINKSDB); if (isset($_GET['edit_link'])) { header('Location: ?do=login&edit_link='. escape($_GET['edit_link'])); @@ -1506,7 +1503,7 @@ function renderPage() } // -------- User is uploading a file for import - if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=upload')) + if (isset($_SERVER['QUERY_STRING']) && startsWith($_SERVER['QUERY_STRING'], 'do=upload')) { // If file is too big, some form field may be missing. if (!isset($_POST['token']) || (!isset($_FILES)) || (isset($_FILES['filetoupload']['size']) && $_FILES['filetoupload']['size']==0)) @@ -1608,7 +1605,7 @@ function importFile($LINKSDB) { $link = array('linkdate'=>'','title'=>'','url'=>'','description'=>'','tags'=>'','private'=>0); $d = explode('
',$html); - if (startswith($d[0],'(.*?)!i',$d[0],$matches); $link['title'] = (isset($matches[1]) ? trim($matches[1]) : ''); // Get title @@ -2078,7 +2075,7 @@ function genThumbnail() // Is this a link to an image, or to a flickr page ? $imageurl=''; - if (endswith(parse_url($url,PHP_URL_PATH),'.jpg')) + if (endsWith(parse_url($url, PHP_URL_PATH), '.jpg')) { // This is a direct link to an image. e.g. http://farm1.staticflickr.com/5/5921913_ac83ed27bd_o.jpg preg_match('!(http://farm\d+\.staticflickr\.com/\d+/\d+_\w+_)\w.jpg!',$url,$matches); if (!empty($matches[1])) $imageurl=$matches[1].'m.jpg'; @@ -2255,8 +2252,8 @@ function resizeImage($filepath) return true; } -if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=genthumbnail')) { genThumbnail(); exit; } // Thumbnail generation/cache does not need the link database. -if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=dailyrss')) { showDailyRSS(); exit; } +if (isset($_SERVER['QUERY_STRING']) && startsWith($_SERVER['QUERY_STRING'], 'do=genthumbnail')) { genThumbnail(); exit; } // Thumbnail generation/cache does not need the link database. +if (isset($_SERVER['QUERY_STRING']) && startsWith($_SERVER['QUERY_STRING'], 'do=dailyrss')) { showDailyRSS(); exit; } if (!isset($_SESSION['LINKS_PER_PAGE'])) $_SESSION['LINKS_PER_PAGE']=$GLOBALS['config']['LINKS_PER_PAGE']; renderPage(); ?> diff --git a/plugins/markdown/markdown.css b/plugins/markdown/markdown.css index 3c1b2aeb..6789ce84 100644 --- a/plugins/markdown/markdown.css +++ b/plugins/markdown/markdown.css @@ -143,6 +143,13 @@ hyphens: none; } +.markdown :not(pre) code { + background-color: #eee; + padding: 1px 3px; + border-radius: 1px; + box-shadow: 0 -1px 0 #e5e5e5,0 0 1px rgba(0,0,0,0.12),0 1px 1px rgba(0,0,0,0.24); +} + .md_help { color: white; } diff --git a/tpl/loginform.html b/tpl/loginform.html index 678375fd..a49b42d3 100644 --- a/tpl/loginform.html +++ b/tpl/loginform.html @@ -1,26 +1,36 @@ {include="includes"} - + {include="page.footer"}