From: ArthurHoaro Date: Thu, 23 Jan 2020 19:05:41 +0000 (+0100) Subject: Fix all existing links and redirection to ?do=login X-Git-Tag: v0.12.0-beta~16^2~2 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=9e4cc28e2957e1f7df713d52a03e350d728dc58e;p=github%2Fshaarli%2FShaarli.git Fix all existing links and redirection to ?do=login --- diff --git a/application/Utils.php b/application/Utils.php index 56f5b9a2..4b7fc546 100644 --- a/application/Utils.php +++ b/application/Utils.php @@ -159,7 +159,7 @@ function checkDateFormat($format, $string) */ function generateLocation($referer, $host, $loopTerms = array()) { - $finalReferer = '?'; + $finalReferer = './?'; // No referer if it contains any value in $loopCriteria. foreach (array_filter($loopTerms) as $value) { diff --git a/doc/md/Translations.md b/doc/md/Translations.md index c7d33855..58b92da3 100644 --- a/doc/md/Translations.md +++ b/doc/md/Translations.md @@ -7,8 +7,8 @@ Note that only the `default` theme supports translations. ### Contributing -We encourage the community to contribute to Shaarli's translation either by improving existing -translations or submitting a new language. +We encourage the community to contribute to Shaarli's translation either by improving existing +translations or submitting a new language. Contributing to the translation does not require development skill. @@ -21,8 +21,8 @@ First, install [Poedit](https://poedit.net/) tool. Poedit will extract strings to translate from the PHP source code. -**Important**: due to the usage of a template engine, it's important to generate PHP cache files to extract -every translatable string. +**Important**: due to the usage of a template engine, it's important to generate PHP cache files to extract +every translatable string. You can either use [this script](https://gist.github.com/ArthurHoaro/5d0323f758ab2401ef444a53f54e9a07) (recommended) or visit every template page in your browser to generate cache files, while logged in. @@ -41,7 +41,7 @@ http:///?do=daily http:///?post http:///?do=export http:///?do=import -http:///?do=login +http:///login http:///?do=picwall http:///?do=pluginadmin http:///?do=tagcloud @@ -50,8 +50,8 @@ http:///?do=taglist #### Improve existing translation -In Poedit, click on "Edit a Translation", and from Shaarli's directory open -`inc/languages//LC_MESSAGES/shaarli.po`. +In Poedit, click on "Edit a Translation", and from Shaarli's directory open +`inc/languages//LC_MESSAGES/shaarli.po`. The existing list of translatable strings should have been loaded, then click on the "Update" button. @@ -63,20 +63,20 @@ Save when you're done, then you can submit a pull request containing the updated #### Add a new language -Open Poedit and select "Create New Translation", then from Shaarli's directory open +Open Poedit and select "Create New Translation", then from Shaarli's directory open `inc/languages//LC_MESSAGES/shaarli.po`. -Then select the language you want to create. +Then select the language you want to create. -Click on `File > Save as...`, and save your file in `/inc/language//LC_MESSAGES/shaarli.po`. -`` here should be the language code respecting the [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) +Click on `File > Save as...`, and save your file in `/inc/language//LC_MESSAGES/shaarli.po`. +`` here should be the language code respecting the [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) format in lowercase (e.g. `de` for German). Then click on the "Update" button, and you can start to translate every available string. Save when you're done, then you can submit a pull request containing the new `shaarli.po`. -### Theme translations +### Theme translations Theme translation extensions are loaded automatically if they're present. @@ -85,7 +85,7 @@ As a theme developer, all you have to do is to add the `.po` and `.mo` compiled tpl//language//LC_MESSAGES/.po tpl//language//LC_MESSAGES/.mo -Where `` is the ISO 3166-1 alpha-2 language code. +Where `` is the ISO 3166-1 alpha-2 language code. Read the following section "Extend Shaarli's translation" to learn how to generate those files. ### Extend Shaarli's translation @@ -106,7 +106,7 @@ First, create your translation files tree directory: Your `.po` files must be named like your domain. E.g. if your translation domain is `my_theme`, then your file will be `my_theme.po`. -Users have to register your extension in their configuration with the parameter +Users have to register your extension in their configuration with the parameter `translation.extensions.: `. Example: @@ -151,11 +151,11 @@ When you're done, open Poedit and load translation strings from sources: 1. `File > New` 2. Choose your language 3. Save your `PO` file in `/languages//LC_MESSAGES/my_theme.po`. - 4. Go to `Catalog > Properties...` + 4. Go to `Catalog > Properties...` 5. Fill the `Translation Properties` tab 6. Add your source path in the `Sources Paths` tab 7. In the `Sources Keywords` tab uncheck "Also use default keywords" and add the following lines: - + ``` my_theme_t my_theme_t:1,2 diff --git a/index.php b/index.php index 7da8c22f..474d9af5 100644 --- a/index.php +++ b/index.php @@ -252,7 +252,7 @@ if (isset($_POST['login'])) { // Optional redirect after login: if (isset($_GET['post'])) { - $uri = '?post='. urlencode($_GET['post']); + $uri = './?post='. urlencode($_GET['post']); foreach (array('description', 'source', 'title', 'tags') as $param) { if (!empty($_GET[$param])) { $uri .= '&'.$param.'='.urlencode($_GET[$param]); @@ -263,22 +263,22 @@ if (isset($_POST['login'])) { } if (isset($_GET['edit_link'])) { - header('Location: ?edit_link='. escape($_GET['edit_link'])); + header('Location: ./?edit_link='. escape($_GET['edit_link'])); exit; } if (isset($_POST['returnurl'])) { // Prevent loops over login screen. - if (strpos($_POST['returnurl'], 'do=login') === false) { + if (strpos($_POST['returnurl'], '/login') === false) { header('Location: '. generateLocation($_POST['returnurl'], $_SERVER['HTTP_HOST'])); exit; } } - header('Location: ?'); + header('Location: ./?'); exit; } else { $loginManager->handleFailedLogin($_SERVER); - $redir = '&username='. urlencode($_POST['login']); + $redir = '?username='. urlencode($_POST['login']); if (isset($_GET['post'])) { $redir .= '&post=' . urlencode($_GET['post']); foreach (array('description', 'source', 'title', 'tags') as $param) { @@ -288,7 +288,7 @@ if (isset($_POST['login'])) { } } // Redirect to login screen. - echo ''; + echo ''; exit; } } @@ -923,7 +923,7 @@ function renderPage($conf, $pluginManager, $bookmarkService, $history, $sessionM // Show login screen, then redirect to ?post=... if (isset($_GET['post'])) { header( // Redirect to login page, then back to post link. - 'Location: ?do=login&post='.urlencode($_GET['post']). + 'Location: /login?post='.urlencode($_GET['post']). (!empty($_GET['title'])?'&title='.urlencode($_GET['title']):''). (!empty($_GET['description'])?'&description='.urlencode($_GET['description']):''). (!empty($_GET['tags'])?'&tags='.urlencode($_GET['tags']):''). @@ -934,7 +934,7 @@ function renderPage($conf, $pluginManager, $bookmarkService, $history, $sessionM showLinkList($PAGE, $bookmarkService, $conf, $pluginManager, $loginManager); if (isset($_GET['edit_link'])) { - header('Location: ?do=login&edit_link='. escape($_GET['edit_link'])); + header('Location: /login?edit_link='. escape($_GET['edit_link'])); exit; } @@ -1890,7 +1890,7 @@ function install($conf, $sessionManager, $loginManager) echo ''; + .');document.location=\'./login\';'; exit; } diff --git a/tests/UtilsTest.php b/tests/UtilsTest.php index 8225d95a..26d2a6b8 100644 --- a/tests/UtilsTest.php +++ b/tests/UtilsTest.php @@ -203,7 +203,7 @@ class UtilsTest extends PHPUnit\Framework\TestCase public function testGenerateLocationLoop() { $ref = 'http://localhost/?test'; - $this->assertEquals('?', generateLocation($ref, 'localhost', array('test'))); + $this->assertEquals('./?', generateLocation($ref, 'localhost', array('test'))); } /** @@ -212,7 +212,7 @@ class UtilsTest extends PHPUnit\Framework\TestCase public function testGenerateLocationOut() { $ref = 'http://somewebsite.com/?test'; - $this->assertEquals('?', generateLocation($ref, 'localhost')); + $this->assertEquals('./?', generateLocation($ref, 'localhost')); } diff --git a/tpl/default/page.header.html b/tpl/default/page.header.html index 4f063dc3..82f8ebf1 100644 --- a/tpl/default/page.header.html +++ b/tpl/default/page.header.html @@ -60,7 +60,7 @@ {else}
  • - {'Login'|t} + {'Login'|t}
  • {/if} @@ -80,7 +80,7 @@ {if="!$is_logged_in"}
  • - diff --git a/tpl/vintage/page.header.html b/tpl/vintage/page.header.html index 40c53e5b..a37926d2 100644 --- a/tpl/vintage/page.header.html +++ b/tpl/vintage/page.header.html @@ -25,7 +25,7 @@
  • Tools
  • Add link
  • {else} -
  • Login
  • +
  • Login
  • {/if}
  • RSS Feed
  • {if="$showatom"}