MyShaarli/plugins/qrcode/qrcode.php
ArthurHoaro 76fe68d924 Fix plugin base path in core plugins
Also fix note check in archiveorg plugin, and regression on vintage template.
Documentation regarding relative path has been added.

Fixes 
2020-09-22 13:50:19 +02:00

74 lines
1.7 KiB
PHP

<?php
/**
* Plugin qrcode
* Add QRCode containing URL for each links.
* Display a QRCode icon in link list.
*/
use Shaarli\Plugin\PluginManager;
use Shaarli\Render\TemplatePage;
/**
* Add qrcode icon to link_plugin when rendering linklist.
*
* @param array $data - linklist data.
*
* @return mixed - linklist data with qrcode plugin.
*/
function hook_qrcode_render_linklist($data)
{
$qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html');
$path = ($data['_BASE_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH;
foreach ($data['links'] as &$value) {
$qrcode = sprintf(
$qrcode_html,
$value['url'],
$path
);
$value['link_plugin'][] = $qrcode;
}
return $data;
}
/**
* When linklist is displayed, include qrcode JS files.
*
* @param array $data - footer data.
*
* @return mixed - footer data with qrcode JS files added.
*/
function hook_qrcode_render_footer($data)
{
if ($data['_PAGE_'] == TemplatePage::LINKLIST) {
$data['js_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/shaarli-qrcode.js';
}
return $data;
}
/**
* When linklist is displayed, include qrcode CSS file.
*
* @param array $data - header data.
*
* @return mixed - header data with qrcode CSS file added.
*/
function hook_qrcode_render_includes($data)
{
if ($data['_PAGE_'] == TemplatePage::LINKLIST) {
$data['css_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.css';
}
return $data;
}
/**
* This function is never called, but contains translation calls for GNU gettext extraction.
*/
function qrcode_dummy_translation()
{
// meta
t('For each link, add a QRCode icon.');
}