]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - plugins/archiveorg/archiveorg.php
a7b595e163424fa3ce3e1b2a181e3bdc4f9d1575
[github/shaarli/Shaarli.git] / plugins / archiveorg / archiveorg.php
1 <?php
2 /**
3 * Plugin Archive.org.
4 *
5 * Add an icon in the link list for archive.org.
6 */
7
8 use Shaarli\Plugin\PluginManager;
9
10 /**
11 * Add archive.org icon to link_plugin when rendering linklist.
12 *
13 * @param mixed $data - linklist data.
14 *
15 * @return mixed - linklist data with archive.org plugin.
16 */
17 function hook_archiveorg_render_linklist($data)
18 {
19 $archive_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/archiveorg/archiveorg.html');
20 $rootPath = preg_replace('#/index\.php$#', '', $data['_BASE_PATH_'] ?? '');
21 $path = $rootPath . '/' . PluginManager::$PLUGINS_PATH;
22
23 foreach ($data['links'] as &$value) {
24 $isNote = startsWith($value['real_url'], '/shaare/');
25 if ($value['private'] && $isNote) {
26 continue;
27 }
28 $url = $isNote ? rtrim(index_url($_SERVER), '/') . $value['real_url'] : $value['real_url'];
29 $archive = sprintf($archive_html, $url, $path, t('View on archive.org'));
30 $value['link_plugin'][] = $archive;
31 }
32
33 return $data;
34 }
35
36 /**
37 * This function is never called, but contains translation calls for GNU gettext extraction.
38 */
39 function archiveorg_dummy_translation()
40 {
41 // meta
42 t('For each link, add an Archive.org icon.');
43 }