]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - plugins/isso/isso.php
namespacing: \Shaarli\Router
[github/shaarli/Shaarli.git] / plugins / isso / isso.php
index ce16645f9ad72f15121c511e7a2077aa65c3983f..9bdd5909bc49edc35f029a7a13497a928e5a0279 100644 (file)
@@ -4,10 +4,12 @@
  * Plugin Isso.
  */
 
+use Shaarli\Config\ConfigManager;
+use Shaarli\Router;
+
 /**
  * Display an error everywhere if the plugin is enabled without configuration.
  *
- * @param $data array         List of links
  * @param $conf ConfigManager instance
  *
  * @return mixed - linklist data with Isso plugin.
@@ -16,8 +18,8 @@ function isso_init($conf)
 {
     $issoUrl = $conf->get('plugins.ISSO_SERVER');
     if (empty($issoUrl)) {
-        $error = 'Isso plugin error: '.
-            'Please define the "ISSO_SERVER" setting in the plugin administration page.';
+        $error = t('Isso plugin error: '.
+            'Please define the "ISSO_SERVER" setting in the plugin administration page.');
         return array($error);
     }
 }
@@ -45,10 +47,47 @@ function hook_isso_render_linklist($data, $conf)
 
         $isso = sprintf($issoHtml, $issoUrl, $issoUrl, $link['id'], $link['id']);
         $data['plugin_end_zone'][] = $isso;
+    } else {
+        $button = '<span><a href="?%s#isso-thread">';
+        // For the default theme we use a FontAwesome icon which is better than an image
+        if ($conf->get('resource.theme') === 'default') {
+            $button .= '<i class="linklist-plugin-icon fa fa-comment"></i>';
+        } else {
+            $button .= '<img class="linklist-plugin-icon" src="plugins/isso/comment.png" ';
+            $button .= 'title="Comment on this shaare" alt="Comments" />';
+        }
+        $button .= '</a></span>';
+        foreach ($data['links'] as &$value) {
+            $commentLink = sprintf($button, $value['shorturl']);
+            $value['link_plugin'][] = $commentLink;
+        }
+    }
+
+    return $data;
+}
 
-        // Hackish way to include this CSS file only when necessary.
-        $data['plugins_includes']['css_files'][] = PluginManager::$PLUGINS_PATH . '/isso/isso.css';
+/**
+ * When linklist is displayed, include isso CSS file.
+ *
+ * @param array $data - header data.
+ *
+ * @return mixed - header data with isso CSS file added.
+ */
+function hook_isso_render_includes($data)
+{
+    if ($data['_PAGE_'] == Router::$PAGE_LINKLIST) {
+        $data['css_files'][] = PluginManager::$PLUGINS_PATH . '/isso/isso.css';
     }
 
     return $data;
 }
+
+/**
+ * This function is never called, but contains translation calls for GNU gettext extraction.
+ */
+function isso_dummy_translation()
+{
+    // meta
+    t('Let visitor comment your shaares on permalinks with Isso.');
+    t('Isso server URL (without \'http://\')');
+}