Add filter for note

This commit is contained in:
Knah Tsaeb 2018-10-05 15:32:27 +02:00
parent ee610d4505
commit 71071f144a
1 changed files with 88 additions and 74 deletions

View File

@ -4,28 +4,27 @@
* Plugin externalThumbshot
*/
/**
* Init function, return an error if the server is not set.
*
* @param $conf ConfigManager instance.
*
* @return array Eventual error.
*/
function myShaarli_init($conf)
{
if (empty($conf->get('plugins.ExternalThumbshot_URL'))) {
$error = 'myShaarli plugin error: '.
'Please define the "ExternalThumbshot_URL" setting in the plugin administration page.';
return array($error);
}
if ($conf->get('resource.theme') !== 'myShaarli' AND $conf->get('resource.theme') !== 'myShaarli_Columns') {
$error = 'myShaarli plugin: '.
'This plugin need modification of template. Use myShaarli theme for test.';
return array($error);
}
$conf->set('thumbnails.mode', 'none');
}
/**
* Init function, return an error if the server is not set.
*
* @param $conf ConfigManager instance.
*
* @return array Eventual error.
*/
function myShaarli_init($conf)
{
if (empty($conf->get('plugins.ExternalThumbshot_URL'))) {
$error = 'myShaarli plugin error: ' .
'Please define the "ExternalThumbshot_URL" setting in the plugin administration page.';
return array($error);
}
if ($conf->get('resource.theme') !== 'myShaarli' and $conf->get('resource.theme') !== 'myShaarli_Columns') {
$error = 'myShaarli plugin: ' .
'This plugin need modification of template. Use myShaarli theme for test.';
return array($error);
}
$conf->set('thumbnails.mode', 'none');
}
/**
* Add externalThumbshot icon to link_plugin when rendering linklist.
@ -35,10 +34,23 @@
* @return mixed - linklist data with readityourself plugin.
*/
function hook_myShaarli_render_linklist($data,$conf)
function hook_myShaarli_render_linklist($data, $conf)
{
$thumUrl = $conf->get('plugins.ExternalThumbshot_URL');
if(!empty($conf->get('plugins.ExternalThumbshot_KEY'))){
$action = array(
'attr' => array(
'href' => '?searchtags=note',
'title' => 'Note',
),
'html' => '<i class="fa fa-sticky-note"> </i>',
);
if (isset($_GET['searchtags']) && $_GET['searchtags'] === 'note') {
$action['on'] = true;
} else {
$action['off'] = true;
}
$data['action_plugin'][] = $action;
$thumUrl = $conf->get('plugins.ExternalThumbshot_URL');
if (!empty($conf->get('plugins.ExternalThumbshot_KEY'))) {
$key = $conf->get('plugins.ExternalThumbshot_KEY');
}
if (!isset($thumUrl)) {
@ -47,28 +59,28 @@ function hook_myShaarli_render_linklist($data,$conf)
foreach ($data['links'] as &$value) {
//$thumb = computeThumbnail($conf, $value['url']);
if(empty($thumb)){
if(!empty($key)){
$hmac = '&amp;hm='.hash_hmac('sha1', $value['url'], $key).'&amp;url=';
if (empty($thumb)) {
if (!empty($key)) {
$hmac = '&amp;hm=' . hash_hmac('sha1', $value['url'], $key) . '&amp;url=';
} else {
$hmac = null;
}
$value['thumbnail'] = $thumUrl.$hmac.urlencode($value['url']);
$value['thumbnail'] = $thumUrl . $hmac . urlencode($value['url']);
} else {
$value['thumbnail'] = $thumb['src'];
$value['thumbnail'] = $thumb['src'];
}
if(empty($value['favicon'])){
if(!empty($key)){
$hmac = '&amp;t=fav&amp;hm='.hash_hmac('sha1', $value['url'], $key).'&amp;url=';
if (empty($value['favicon'])) {
if (!empty($key)) {
$hmac = '&amp;t=fav&amp;hm=' . hash_hmac('sha1', $value['url'], $key) . '&amp;url=';
} else {
$hmac = null;
}
$value['favicon'] = $thumUrl.$hmac.urlencode($value['url']);
$value['favicon'] = $thumUrl . $hmac . urlencode($value['url']);
} else {
$value['favicon'] = $thumb['src'];
$value['favicon'] = $thumb['src'];
}
}
return $data;
@ -82,10 +94,10 @@ function hook_myShaarli_render_linklist($data,$conf)
* @return mixed - linklist data with readityourself plugin.
*/
function hook_myShaarli_render_daily($data,$conf)
function hook_myShaarli_render_daily($data, $conf)
{
$thumUrl = $conf->get('plugins.ExternalThumbshot_URL');
if(!empty($conf->get('plugins.ExternalThumbshot_KEY'))){
if (!empty($conf->get('plugins.ExternalThumbshot_KEY'))) {
$key = $conf->get('plugins.ExternalThumbshot_KEY');
}
if (!isset($thumUrl)) {
@ -94,16 +106,16 @@ function hook_myShaarli_render_daily($data,$conf)
foreach ($data['linksToDisplay'] as &$value) {
//$thumb = computeThumbnail($conf, $value['url']);
if(empty($thumb)){
if(!empty($key)){
$hmac = '&amp;hm='.hash_hmac('sha1', $value['url'], $key).'&amp;url=';
if (empty($thumb)) {
if (!empty($key)) {
$hmac = '&amp;hm=' . hash_hmac('sha1', $value['url'], $key) . '&amp;url=';
} else {
$hmac = null;
}
$value['thumbnail'] = $thumUrl.$hmac.urlencode($value['url']);
$value['thumbnail'] = $thumUrl . $hmac . urlencode($value['url']);
} else {
$value['thumbnail'] = $thumb['src'];
$value['thumbnail'] = $thumb['src'];
}
}
return $data;
@ -114,44 +126,46 @@ function hook_myShaarli_render_daily($data,$conf)
*/
function hook_myShaarli_render_footer($data)
{
if(file_exists('contact.php')){
if (file_exists('contact.php')) {
$data['text'][] = '<br><a href="https://forge.leslibres.org/Knah-Tsaeb/MyShaarli">MyShaarli</a> is a fork of Shaarli.<a href="contact.php">Contact</a>';
}
return $data;
}
/**
* NOT WORKING
* To poor performance
* Need fix
*/
function returnFavicon($url)
* Hook render_editlink.
*
* Template placeholders:
* - field_plugin: add link fields after tags.
*
* @param array $data data passed to plugin
*
* @return array altered $data.
*/
function hook_myShaarli_render_editlink($data)
{
$faviconHash = md5($url);
$path = substr($faviconHash, 0, 2).'/'.substr($faviconHash, 2, 2);
$faviconPath = 'cache/'.$path.'/'.$faviconHash.'.ico';
if (file_exists($faviconPath)) {
$content = file_get_contents($faviconPath);
return '<img class="favicon" alt="favicon" src="data:image/ico;base64,'.base64_encode($content).'"/>';
if ((int) $data['link_is_new'] === 1 && $data['link']['url'][0] === '?' && strlen($data['link']['url']) === 7) {
$data['link']['tags'] = 'note ';
}
if (file_exists('cache/'.$path.'/'.$faviconHash)) {
return;
}
require_once 'plugins/myShaarli/favicon/DataAccess.php';
require_once 'plugins/myShaarli/favicon/Favicon.php';
$favicon = new \Favicon\Favicon();
$favicon->cache(array('dir' => 'cache'));
$urlOfFavicon = $favicon->get($url);
if (!$urlOfFavicon) {
mkdir('cache/'.$path, 0777, true);
touch('cache/'.$path.'/'.$faviconHash);
return;
}
if (!is_dir('cache/'.$path.'/')) {
mkdir('cache/'.$path, 0777, true);
}
$content = file_get_contents($urlOfFavicon);
file_put_contents($faviconPath, $content);
return '<img class="favicon" alt="favicon" src="data:image/ico;base64,'.base64_encode($content).'"/>';
return $data;
}
/**
Améliore la sortie print
@author Tatane http://www.tatane.info/index.php/print_rn
@author http://www.blog.cactuscrew.com/77-print_rn.html
@param $data (array) tableau ou variable à examiner
@param $name (string) nom a afficher
@return false affiche les clef valeur du tableau $data
@example n_print($array, 'Tableau de valeur');
*/
function n_print($data, $name = '')
{
$aBackTrace = debug_backtrace();
echo '<h2>', $name, '</h2>';
echo '<fieldset style="border: 1px solid orange; padding: 5px;color: <a href="?addtag=333" title="Hashtag 333">#333</a>; background-color: <a href="?addtag=fff" title="Hashtag fff">#fff</a>;">';
echo '<legend style="border:1px solid orange;padding: 1px;background-color:#eee;color:orange;">', basename($aBackTrace[0]['file']), ' ligne => ', $aBackTrace[0]['line'], '</legend>';
echo '<pre>', htmlentities(print_r($data, 1)), '</pre>';
echo '</fieldset><br />';
}