Merge pull request #559 from ArthurHoaro/startsEndWithCase

Fix startsWith and endsWith case
This commit is contained in:
Arthur 2016-05-14 11:09:03 +02:00
commit 765391cb37
4 changed files with 35 additions and 23 deletions

View file

@ -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;

View file

@ -63,19 +63,19 @@ public static function findPage($query, $get, $loggedIn)
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 @@ public static function findPage($query, $get, $loggedIn)
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 @@ public static function findPage($query, $get, $loggedIn)
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;
}

View file

@ -41,6 +41,12 @@ 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)
{
@ -52,6 +58,12 @@ 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)
{

View file

@ -690,7 +690,7 @@ public function render404($message='The page you are trying to reach does not ex
// 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),
@ -948,7 +948,7 @@ function renderPage()
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();
@ -1630,7 +1630,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))
@ -1733,7 +1733,7 @@ function importFile($LINKSDB)
{
$link = array('linkdate'=>'','title'=>'','url'=>'','description'=>'','tags'=>'','private'=>0);
$d = explode('<DD>',$html);
if (startswith($d[0],'<A '))
if (startsWith($d[0], '<A '))
{
$link['description'] = (isset($d[1]) ? html_entity_decode(trim($d[1]),ENT_QUOTES,'UTF-8') : ''); // Get description (optional)
preg_match('!<A .*?>(.*?)</A>!i',$d[0],$matches); $link['title'] = (isset($matches[1]) ? trim($matches[1]) : ''); // Get title
@ -2204,7 +2204,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';
@ -2381,8 +2381,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();
?>