]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Merge pull request #556 from ArthurHoaro/login-refill
authorArthur <arthur@hoa.ro>
Sat, 14 May 2016 09:09:39 +0000 (11:09 +0200)
committerArthur <arthur@hoa.ro>
Sat, 14 May 2016 09:09:39 +0000 (11:09 +0200)
Prefill the login field when the authentication has failed

1  2 
index.php

diff --combined index.php
index 6b02942f99359629cd11370f931e0d74b5d902d4,dd876a660528d4f5e98b728fd4011e058db8d23c..1eaf70cefbc0d898b7bcc20062613f354ccea1b8
+++ b/index.php
@@@ -495,9 -495,9 +495,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]);
@@@ -690,7 -690,7 +690,7 @@@ class pageBuilde
  // 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),
@@@ -943,12 -943,15 +943,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();
              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']));
          exit;
      }
  
 -    // -------- Export as Netscape Bookmarks HTML file.
      if ($targetPage == Router::$PAGE_EXPORT) {
 +        // Export links as a Netscape Bookmarks file
 +
          if (empty($_GET['selection'])) {
              $PAGE->assign('linkcount',count($LINKSDB));
              $PAGE->renderPage('export');
  
          // export as bookmarks_(all|private|public)_YYYYmmdd_HHMMSS.html
          $selection = $_GET['selection'];
 +        if (isset($_GET['prepend_note_url'])) {
 +            $prependNoteUrl = $_GET['prepend_note_url'];
 +        } else {
 +            $prependNoteUrl = false;
 +        }
 +
          try {
              $PAGE->assign(
                  'links',
 -                NetscapeBookmarkUtils::filterAndFormat($LINKSDB, $selection)
 +                NetscapeBookmarkUtils::filterAndFormat(
 +                    $LINKSDB,
 +                    $selection,
 +                    $prependNoteUrl,
 +                    index_url($_SERVER)
 +                )
              );
          } catch (Exception $exc) {
              header('Content-Type: text/plain; charset=utf-8');
      }
  
      // -------- 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 -1730,7 +1736,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 -2201,7 +2207,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 -2378,8 +2384,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();
  ?>