From 71071f144a4366d21cc7610390d71281755e49cd Mon Sep 17 00:00:00 2001 From: Knah Tsaeb Date: Fri, 5 Oct 2018 15:32:27 +0200 Subject: [PATCH] Add filter for note --- plugins/myShaarli/myShaarli.php | 162 +++++++++++++++++--------------- 1 file changed, 88 insertions(+), 74 deletions(-) diff --git a/plugins/myShaarli/myShaarli.php b/plugins/myShaarli/myShaarli.php index a340af9..95d9d93 100644 --- a/plugins/myShaarli/myShaarli.php +++ b/plugins/myShaarli/myShaarli.php @@ -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' => ' ', + ); + 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 = '&hm='.hash_hmac('sha1', $value['url'], $key).'&url='; + if (empty($thumb)) { + if (!empty($key)) { + $hmac = '&hm=' . hash_hmac('sha1', $value['url'], $key) . '&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 = '&t=fav&hm='.hash_hmac('sha1', $value['url'], $key).'&url='; + if (empty($value['favicon'])) { + if (!empty($key)) { + $hmac = '&t=fav&hm=' . hash_hmac('sha1', $value['url'], $key) . '&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 = '&hm='.hash_hmac('sha1', $value['url'], $key).'&url='; + if (empty($thumb)) { + if (!empty($key)) { + $hmac = '&hm=' . hash_hmac('sha1', $value['url'], $key) . '&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'][] = '
MyShaarli is a fork of Shaarli.Contact'; } 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 'favicon'; + 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 'favicon'; + 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 '

', $name, '

'; + echo '
#333; background-color: #fff;">'; + echo '', basename($aBackTrace[0]['file']), ' ligne => ', $aBackTrace[0]['line'], ''; + echo '
', htmlentities(print_r($data, 1)), '
'; + echo '

'; }