]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Handle errors raised by plugins in template. fixes #370 275/head
authorArthurHoaro <arthur@hoa.ro>
Sun, 8 Nov 2015 12:22:44 +0000 (13:22 +0100)
committerArthurHoaro <arthur@hoa.ro>
Sun, 8 Nov 2015 12:22:44 +0000 (13:22 +0100)
inc/shaarli.css
index.php
plugins/readityourself/readityourself.php
tpl/page.header.html

index d11934889e2fe8bb2a17a163ca4a98fd0a6a35e2..5578610d3ad7e6166e151d3e9d866628560b7e8d 100644 (file)
@@ -1126,3 +1126,8 @@ div.dailyNoEntry {
 .center {
     text-align: center;
 }
+
+ul.errors {
+    color: red;
+    float: left;
+}
\ No newline at end of file
index c82735ca4e8f3147789d2fc816db0fc677b4c501..ea7bf4d105eb12d2c397868a9c3f0584852a39f9 100755 (executable)
--- a/index.php
+++ b/index.php
@@ -55,8 +55,7 @@ $GLOBALS['config']['HIDE_PUBLIC_LINKS'] = false;
 $GLOBALS['config']['ENABLED_PLUGINS'] = array('qrcode');
 
 // Default plugins, default config - will be overriden by config.php and then plugin's config.php file.
-$GLOBALS['plugins']['READITYOUSELF_URL'] = 'http://someurl.com';
-$GLOBALS['plugins']['WALLABAG_URL'] = 'https://demo.wallabag.org/';
+//$GLOBALS['plugins']['WALLABAG_URL'] = 'https://demo.wallabag.org/';
 // -----------------------------------------------------------------------------------------------
 define('shaarli_version', '0.5.4');
 // http://server.com/x/shaarli --> /shaarli/
@@ -580,28 +579,43 @@ class pageBuilder
 
     function __construct()
     {
-        $this->tpl=false;
+        $this->tpl = false;
     }
 
+    /**
+     * Initialize all default tpl tags.
+     */
     private function initialize()
     {
         $this->tpl = new RainTPL;
-        $this->tpl->assign('newversion',escape(checkUpdate()));
-        $this->tpl->assign('feedurl',escape(index_url($_SERVER)));
-        $searchcrits=''; // Search criteria
-        if (!empty($_GET['searchtags'])) $searchcrits.='&searchtags='.urlencode($_GET['searchtags']);
-        elseif (!empty($_GET['searchterm'])) $searchcrits.='&searchterm='.urlencode($_GET['searchterm']);
-        $this->tpl->assign('searchcrits',$searchcrits);
-        $this->tpl->assign('source',index_url($_SERVER));
-        $this->tpl->assign('version',shaarli_version);
-        $this->tpl->assign('scripturl',index_url($_SERVER));
-        $this->tpl->assign('pagetitle','Shaarli');
-        $this->tpl->assign('privateonly',!empty($_SESSION['privateonly'])); // Show only private links?
-        if (!empty($GLOBALS['title'])) $this->tpl->assign('pagetitle',$GLOBALS['title']);
-        if (!empty($GLOBALS['titleLink'])) $this->tpl->assign('titleLink',$GLOBALS['titleLink']);
-        if (!empty($GLOBALS['pagetitle'])) $this->tpl->assign('pagetitle',$GLOBALS['pagetitle']);
-        $this->tpl->assign('shaarlititle',empty($GLOBALS['title']) ? 'Shaarli': $GLOBALS['title'] );
-        return;
+        $this->tpl->assign('newversion', escape(checkUpdate()));
+        $this->tpl->assign('feedurl', escape(index_url($_SERVER)));
+        $searchcrits = ''; // Search criteria
+        if (!empty($_GET['searchtags'])) {
+            $searchcrits .= '&searchtags=' . urlencode($_GET['searchtags']);
+        }
+        elseif (!empty($_GET['searchterm'])) {
+            $searchcrits .= '&searchterm=' . urlencode($_GET['searchterm']);
+        }
+        $this->tpl->assign('searchcrits', $searchcrits);
+        $this->tpl->assign('source', index_url($_SERVER));
+        $this->tpl->assign('version', shaarli_version);
+        $this->tpl->assign('scripturl', index_url($_SERVER));
+        $this->tpl->assign('pagetitle', 'Shaarli');
+        $this->tpl->assign('privateonly', !empty($_SESSION['privateonly'])); // Show only private links?
+        if (!empty($GLOBALS['title'])) {
+            $this->tpl->assign('pagetitle', $GLOBALS['title']);
+        }
+        if (!empty($GLOBALS['titleLink'])) {
+            $this->tpl->assign('titleLink', $GLOBALS['titleLink']);
+        }
+        if (!empty($GLOBALS['pagetitle'])) {
+            $this->tpl->assign('pagetitle', $GLOBALS['pagetitle']);
+        }
+        $this->tpl->assign('shaarlititle', empty($GLOBALS['title']) ? 'Shaarli': $GLOBALS['title']);
+        if (!empty($GLOBALS['plugins']['errors'])) {
+            $this->tpl->assign('plugin_errors', $GLOBALS['plugins']['errors']);
+        }
     }
 
     // The following assign() method is basically the same as RainTPL (except that it's lazy)
index ee7579c0810e7fc54b775eb3dc866827f7a93cac..68efc543cd3b6643ebcce4ab11908f871c572b92 100644 (file)
@@ -14,9 +14,9 @@ if (is_file(PluginManager::$PLUGINS_PATH . '/readityourself/config.php')) {
 }
 
 if (!isset($GLOBALS['plugins']['READITYOUSELF_URL'])) {
-    $GLOBALS['plugins']['errors'][] = 'Wallabag plugin error: '.
-        'Please define "$GLOBALS[\'plugins\'][\'WALLABAG_URL\']" '.
-        'in "plugins/wallabag/config.php" or in your Shaarli config.php file.';
+    $GLOBALS['plugins']['errors'][] = 'Readityourself plugin error: '.
+        'Please define "$GLOBALS[\'plugins\'][\'READITYOUSELF_URL\']" '.
+        'in "plugins/readityourself/config.php" or in your Shaarli config.php file.';
 }
 
 /**
index 1d46d80cad7144edbfb7bf3fbd578df2fe4ffe4b..52429f2359a35aad14916724185047116642d366 100644 (file)
   </ul>
 </div>
 
+{if="!empty($plugin_errors) && isLoggedIn()"}
+    <ul class="errors">
+        {loop="plugin_errors"}
+            <li>{$value}</li>
+        {/loop}
+    </ul>
+{/if}
 
 <div class="clear"></div>