]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Improve backward compatibility for LegacyRouter
authorArthurHoaro <arthur@hoa.ro>
Thu, 3 Sep 2020 08:09:32 +0000 (10:09 +0200)
committerArthurHoaro <arthur@hoa.ro>
Thu, 3 Sep 2020 08:09:36 +0000 (10:09 +0200)
LegacyRouter is no longer used for routing, only in existing plugins to match the _PAGE_ parameter.
So we change a few of its values there, to match the new ones defined in TemplatePage.

@see discussion in shaarli/Shaarli#1537

application/front/controller/visitor/FeedController.php
application/legacy/LegacyRouter.php
tests/legacy/LegacyRouterTest.php [deleted file]

index da2848c2b0151b115d5d3427236a7f039c96265b..8d8b546aad35cc58573e0083b3ed9d283c0b71a7 100644 (file)
@@ -46,10 +46,10 @@ class FeedController extends ShaarliVisitorController
 
         $data = $this->container->feedBuilder->buildData($feedType, $request->getParams());
 
-        $this->executePageHooks('render_feed', $data, $feedType);
+        $this->executePageHooks('render_feed', $data, 'feed.' . $feedType);
         $this->assignAllView($data);
 
-        $content = $this->render('feed.'. $feedType);
+        $content = $this->render('feed.' . $feedType);
 
         $cache->cache($content);
 
index cea99154cd5885ad495156fd8cfcf68c746f89a5..0449c7e11db4e062ee75352958bd646363e7e4dd 100644 (file)
@@ -17,15 +17,15 @@ class LegacyRouter
 
     public static $PAGE_PICWALL = 'picwall';
 
-    public static $PAGE_TAGCLOUD = 'tagcloud';
+    public static $PAGE_TAGCLOUD = 'tag.cloud';
 
-    public static $PAGE_TAGLIST = 'taglist';
+    public static $PAGE_TAGLIST = 'tag.list';
 
     public static $PAGE_DAILY = 'daily';
 
-    public static $PAGE_FEED_ATOM = 'atom';
+    public static $PAGE_FEED_ATOM = 'feed.atom';
 
-    public static $PAGE_FEED_RSS = 'rss';
+    public static $PAGE_FEED_RSS = 'feed.rss';
 
     public static $PAGE_TOOLS = 'tools';
 
@@ -37,7 +37,7 @@ class LegacyRouter
 
     public static $PAGE_ADDLINK = 'addlink';
 
-    public static $PAGE_EDITLINK = 'edit_link';
+    public static $PAGE_EDITLINK = 'editlink';
 
     public static $PAGE_DELETELINK = 'delete_link';
 
@@ -60,128 +60,4 @@ class LegacyRouter
     public static $PAGE_THUMBS_UPDATE = 'thumbs_update';
 
     public static $GET_TOKEN = 'token';
-
-    /**
-     * Reproducing renderPage() if hell, to avoid regression.
-     *
-     * This highlights how bad this needs to be rewrite,
-     * but let's focus on plugins for now.
-     *
-     * @param string $query    $_SERVER['QUERY_STRING'].
-     * @param array  $get      $_SERVER['GET'].
-     * @param bool   $loggedIn true if authenticated user.
-     *
-     * @return string page found.
-     */
-    public static function findPage($query, $get, $loggedIn)
-    {
-        $loggedIn = ($loggedIn === true) ? true : false;
-
-        if (empty($query) && !isset($get['edit_link']) && !isset($get['post'])) {
-            return self::$PAGE_LINKLIST;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_LOGIN) && $loggedIn === false) {
-            return self::$PAGE_LOGIN;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_PICWALL)) {
-            return self::$PAGE_PICWALL;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_TAGCLOUD)) {
-            return self::$PAGE_TAGCLOUD;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_TAGLIST)) {
-            return self::$PAGE_TAGLIST;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_OPENSEARCH)) {
-            return self::$PAGE_OPENSEARCH;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_DAILY)) {
-            return self::$PAGE_DAILY;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_FEED_ATOM)) {
-            return self::$PAGE_FEED_ATOM;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_FEED_RSS)) {
-            return self::$PAGE_FEED_RSS;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_THUMBS_UPDATE)) {
-            return self::$PAGE_THUMBS_UPDATE;
-        }
-
-        if (startsWith($query, 'do=' . self::$AJAX_THUMB_UPDATE)) {
-            return self::$AJAX_THUMB_UPDATE;
-        }
-
-        // At this point, only loggedin pages.
-        if (!$loggedIn) {
-            return self::$PAGE_LINKLIST;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_TOOLS)) {
-            return self::$PAGE_TOOLS;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_CHANGEPASSWORD)) {
-            return self::$PAGE_CHANGEPASSWORD;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_CONFIGURE)) {
-            return self::$PAGE_CONFIGURE;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_CHANGETAG)) {
-            return self::$PAGE_CHANGETAG;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_ADDLINK)) {
-            return self::$PAGE_ADDLINK;
-        }
-
-        if (isset($get['edit_link']) || isset($get['post'])) {
-            return self::$PAGE_EDITLINK;
-        }
-
-        if (isset($get['delete_link'])) {
-            return self::$PAGE_DELETELINK;
-        }
-
-        if (isset($get[self::$PAGE_CHANGE_VISIBILITY])) {
-            return self::$PAGE_CHANGE_VISIBILITY;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_PINLINK)) {
-            return self::$PAGE_PINLINK;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_EXPORT)) {
-            return self::$PAGE_EXPORT;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_IMPORT)) {
-            return self::$PAGE_IMPORT;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_PLUGINSADMIN)) {
-            return self::$PAGE_PLUGINSADMIN;
-        }
-
-        if (startsWith($query, 'do=' . self::$PAGE_SAVE_PLUGINSADMIN)) {
-            return self::$PAGE_SAVE_PLUGINSADMIN;
-        }
-
-        if (startsWith($query, 'do=' . self::$GET_TOKEN)) {
-            return self::$GET_TOKEN;
-        }
-
-        return self::$PAGE_LINKLIST;
-    }
 }
diff --git a/tests/legacy/LegacyRouterTest.php b/tests/legacy/LegacyRouterTest.php
deleted file mode 100644 (file)
index c2019ca..0000000
+++ /dev/null
@@ -1,512 +0,0 @@
-<?php
-
-namespace Shaarli\Legacy;
-
-use PHPUnit\Framework\TestCase;
-
-/**
- * Unit tests for Router
- */
-class LegacyRouterTest extends TestCase
-{
-    /**
-     * Test findPage: login page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageLoginValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_LOGIN,
-            LegacyRouter::findPage('do=login', array(), false)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_LOGIN,
-            LegacyRouter::findPage('do=login', array(), 1)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_LOGIN,
-            LegacyRouter::findPage('do=login&stuff', array(), false)
-        );
-    }
-
-    /**
-     * Test findPage: login page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageLoginInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_LOGIN,
-            LegacyRouter::findPage('do=login', array(), true)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_LOGIN,
-            LegacyRouter::findPage('do=other', array(), false)
-        );
-    }
-
-    /**
-     * Test findPage: picwall page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPagePicwallValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_PICWALL,
-            LegacyRouter::findPage('do=picwall', array(), false)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_PICWALL,
-            LegacyRouter::findPage('do=picwall', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: picwall page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPagePicwallInvalid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_PICWALL,
-            LegacyRouter::findPage('do=picwall&stuff', array(), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_PICWALL,
-            LegacyRouter::findPage('do=other', array(), false)
-        );
-    }
-
-    /**
-     * Test findPage: tagcloud page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageTagcloudValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_TAGCLOUD,
-            LegacyRouter::findPage('do=tagcloud', array(), false)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_TAGCLOUD,
-            LegacyRouter::findPage('do=tagcloud', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_TAGCLOUD,
-            LegacyRouter::findPage('do=tagcloud&stuff', array(), false)
-        );
-    }
-
-    /**
-     * Test findPage: tagcloud page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageTagcloudInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_TAGCLOUD,
-            LegacyRouter::findPage('do=other', array(), false)
-        );
-    }
-
-    /**
-     * Test findPage: linklist page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageLinklistValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_LINKLIST,
-            LegacyRouter::findPage('', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_LINKLIST,
-            LegacyRouter::findPage('whatever', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_LINKLIST,
-            LegacyRouter::findPage('whatever', array(), false)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_LINKLIST,
-            LegacyRouter::findPage('do=tools', array(), false)
-        );
-    }
-
-    /**
-     * Test findPage: tools page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageToolsValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_TOOLS,
-            LegacyRouter::findPage('do=tools', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_TOOLS,
-            LegacyRouter::findPage('do=tools&stuff', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: tools page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageToolsInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_TOOLS,
-            LegacyRouter::findPage('do=tools', array(), 1)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_TOOLS,
-            LegacyRouter::findPage('do=tools', array(), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_TOOLS,
-            LegacyRouter::findPage('do=other', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: changepasswd page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageChangepasswdValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_CHANGEPASSWORD,
-            LegacyRouter::findPage('do=changepasswd', array(), true)
-        );
-        $this->assertEquals(
-            LegacyRouter::$PAGE_CHANGEPASSWORD,
-            LegacyRouter::findPage('do=changepasswd&stuff', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: changepasswd page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageChangepasswdInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CHANGEPASSWORD,
-            LegacyRouter::findPage('do=changepasswd', array(), 1)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CHANGEPASSWORD,
-            LegacyRouter::findPage('do=changepasswd', array(), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CHANGEPASSWORD,
-            LegacyRouter::findPage('do=other', array(), true)
-        );
-    }
-    /**
-     * Test findPage: configure page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageConfigureValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_CONFIGURE,
-            LegacyRouter::findPage('do=configure', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_CONFIGURE,
-            LegacyRouter::findPage('do=configure&stuff', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: configure page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageConfigureInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CONFIGURE,
-            LegacyRouter::findPage('do=configure', array(), 1)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CONFIGURE,
-            LegacyRouter::findPage('do=configure', array(), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CONFIGURE,
-            LegacyRouter::findPage('do=other', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: changetag page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageChangetagValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_CHANGETAG,
-            LegacyRouter::findPage('do=changetag', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_CHANGETAG,
-            LegacyRouter::findPage('do=changetag&stuff', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: changetag page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageChangetagInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CHANGETAG,
-            LegacyRouter::findPage('do=changetag', array(), 1)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CHANGETAG,
-            LegacyRouter::findPage('do=changetag', array(), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_CHANGETAG,
-            LegacyRouter::findPage('do=other', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: addlink page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageAddlinkValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_ADDLINK,
-            LegacyRouter::findPage('do=addlink', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_ADDLINK,
-            LegacyRouter::findPage('do=addlink&stuff', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: addlink page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageAddlinkInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_ADDLINK,
-            LegacyRouter::findPage('do=addlink', array(), 1)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_ADDLINK,
-            LegacyRouter::findPage('do=addlink', array(), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_ADDLINK,
-            LegacyRouter::findPage('do=other', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: export page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageExportValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_EXPORT,
-            LegacyRouter::findPage('do=export', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_EXPORT,
-            LegacyRouter::findPage('do=export&stuff', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: export page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageExportInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_EXPORT,
-            LegacyRouter::findPage('do=export', array(), 1)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_EXPORT,
-            LegacyRouter::findPage('do=export', array(), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_EXPORT,
-            LegacyRouter::findPage('do=other', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: import page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageImportValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_IMPORT,
-            LegacyRouter::findPage('do=import', array(), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_IMPORT,
-            LegacyRouter::findPage('do=import&stuff', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: import page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageImportInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_IMPORT,
-            LegacyRouter::findPage('do=import', array(), 1)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_IMPORT,
-            LegacyRouter::findPage('do=import', array(), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_IMPORT,
-            LegacyRouter::findPage('do=other', array(), true)
-        );
-    }
-
-    /**
-     * Test findPage: editlink page output.
-     * Valid: page should be return.
-     *
-     * @return void
-     */
-    public function testFindPageEditlinkValid()
-    {
-        $this->assertEquals(
-            LegacyRouter::$PAGE_EDITLINK,
-            LegacyRouter::findPage('whatever', array('edit_link' => 1), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_EDITLINK,
-            LegacyRouter::findPage('', array('edit_link' => 1), true)
-        );
-
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_EDITLINK,
-            LegacyRouter::findPage('whatever', array('post' => 1), true)
-        );
-
-        $this->assertEquals(
-            LegacyRouter::$PAGE_EDITLINK,
-            LegacyRouter::findPage('whatever', array('post' => 1, 'edit_link' => 1), true)
-        );
-    }
-
-    /**
-     * Test findPage: editlink page output.
-     * Invalid: page shouldn't be return.
-     *
-     * @return void
-     */
-    public function testFindPageEditlinkInvalid()
-    {
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_EDITLINK,
-            LegacyRouter::findPage('whatever', array('edit_link' => 1), false)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_EDITLINK,
-            LegacyRouter::findPage('whatever', array('edit_link' => 1), 1)
-        );
-
-        $this->assertNotEquals(
-            LegacyRouter::$PAGE_EDITLINK,
-            LegacyRouter::findPage('whatever', array(), true)
-        );
-    }
-}