wallabag.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * Plugin Wallabag.
  4. */
  5. require_once 'WallabagInstance.php';
  6. // don't raise unnecessary warnings
  7. if (is_file(PluginManager::$PLUGINS_PATH . '/wallabag/config.php')) {
  8. include PluginManager::$PLUGINS_PATH . '/wallabag/config.php';
  9. }
  10. if (empty($GLOBALS['plugins']['WALLABAG_URL'])) {
  11. $GLOBALS['plugin_errors'][] = 'Wallabag plugin error: '.
  12. 'Please define "$GLOBALS[\'plugins\'][\'WALLABAG_URL\']" '.
  13. 'in "plugins/wallabag/config.php" or in your Shaarli config.php file.';
  14. }
  15. /**
  16. * Add wallabag icon to link_plugin when rendering linklist.
  17. *
  18. * @param mixed $data - linklist data.
  19. *
  20. * @return mixed - linklist data with wallabag plugin.
  21. */
  22. function hook_wallabag_render_linklist($data)
  23. {
  24. if (!isset($GLOBALS['plugins']['WALLABAG_URL'])) {
  25. return $data;
  26. }
  27. $version = isset($GLOBALS['plugins']['WALLABAG_VERSION'])
  28. ? $GLOBALS['plugins']['WALLABAG_VERSION']
  29. : '';
  30. $wallabagInstance = new WallabagInstance($GLOBALS['plugins']['WALLABAG_URL'], $version);
  31. $wallabagHtml = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html');
  32. foreach ($data['links'] as &$value) {
  33. $wallabag = sprintf(
  34. $wallabagHtml,
  35. $wallabagInstance->getWallabagUrl(),
  36. urlencode($value['url']),
  37. PluginManager::$PLUGINS_PATH
  38. );
  39. $value['link_plugin'][] = $wallabag;
  40. }
  41. return $data;
  42. }