]>
Commit | Line | Data |
---|---|---|
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 | $path = ($data['_BASE_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH; | |
21 | ||
22 | foreach ($data['links'] as &$value) { | |
23 | if ($value['private'] && preg_match('/^\?[a-zA-Z0-9-_@]{6}($|&|#)/', $value['real_url'])) { | |
24 | continue; | |
25 | } | |
26 | $archive = sprintf($archive_html, $value['url'], $path, t('View on archive.org')); | |
27 | $value['link_plugin'][] = $archive; | |
28 | } | |
29 | ||
30 | return $data; | |
31 | } | |
32 | ||
33 | /** | |
34 | * This function is never called, but contains translation calls for GNU gettext extraction. | |
35 | */ | |
36 | function archiveorg_dummy_translation() | |
37 | { | |
38 | // meta | |
39 | t('For each link, add an Archive.org icon.'); | |
40 | } |