get('plugins.ExternalThumbshot_URL'))) { $error = 'myShaarli plugin error: ' . 'Please define the "ExternalThumbshot_URL" setting in the plugin administration page.'; $conf->set('thumbnails.mode', 'none'); 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.'; $conf->set('thumbnails.mode', 'none'); return array($error); } $conf->set('thumbnails.mode', 'full'); } /** * Hook render_header. * Executed on every page render. * * Template placeholders: * - buttons_toolbar * - fields_toolbar * * @param array $data data passed to plugin * * @return array altered $data. */ function hook_myShaarli_render_header($data) { $conf = new ConfigManager(); if ($conf->get('plugins.WebSite_URL')) { $button = [ 'attr' => [ 'href' => $conf->get('plugins.WebSite_URL'), ], 'html' => ' Site', ]; $data['buttons_toolbar'][] = $button; } return $data; } /** * Add externalThumbshot icon to link_plugin when rendering linklist. * * @param mixed $data - linklist data. * * @return mixed - linklist data with readityourself plugin. */ function hook_myShaarli_render_linklist($data, $conf) { $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)) { return $data; } foreach ($data['links'] as &$value) { if (!empty($key)) { $hmac = 'type=thumb&hmac=' . hash_hmac('sha1', $value['url'], $key) . '&url='; } else { $hmac = null; } $value['thumbnail'] = $thumUrl . $hmac . urlencode($value['url']); if (empty($value['favicon'])) { if (!empty($key)) { $hmac = 'type=fav&hmac=' . hash_hmac('sha1', $value['url'], $key) . '&url='; } else { $hmac = null; } $value['favicon'] = $thumUrl . $hmac . urlencode($value['url']); } else { $value['favicon'] = $thumb['src']; } } return $data; } function hook_myShaarli_render_picwall($data, $conf) { $thumUrl = $conf->get('plugins.ExternalThumbshot_URL'); if (!empty($conf->get('plugins.ExternalThumbshot_KEY'))) { $key = $conf->get('plugins.ExternalThumbshot_KEY'); } if (!isset($thumUrl)) { return $data; } foreach ($data['linksToDisplay'] as &$value) { if (!empty($key)) { $hmac = 'type=thumb&hmac=' . hash_hmac('sha1', $value['url'], $key) . '&url='; } else { $hmac = null; } $value['thumbnail'] = $thumUrl . $hmac . urlencode($value['url']); } return $data; } /** * Add externalThumbshot icon to link_plugin when rendering linklist. * * @param mixed $data - linklist data. * * @return mixed - linklist data with readityourself plugin. */ function hook_myShaarli_render_daily($data, $conf) { $thumUrl = $conf->get('plugins.ExternalThumbshot_URL'); if (!empty($conf->get('plugins.ExternalThumbshot_KEY'))) { $key = $conf->get('plugins.ExternalThumbshot_KEY'); } if (!isset($thumUrl)) { return $data; } foreach ($data['linksToDisplay'] as &$value) { //$thumb = computeThumbnail($conf, $value['url']); if (empty($thumb)) { if (!empty($key)) { $hmac = 'type=thumb&hmac=' . hash_hmac('sha1', $value['url'], $key) . '&url='; } else { $hmac = null; } $value['thumbnail'] = $thumUrl . $hmac . urlencode($value['url']); } else { $value['thumbnail'] = $thumb['src']; } } return $data; } /** * Hook render_footer. */ function hook_myShaarli_render_footer($data) { $data['text'][] = '
Theme and plugin MyShaarli by Knah Tsaeb'; $conf = new ConfigManager(); if ($conf->get('plugins.ContactPage_URL')) { $data['text'][] = ' · /contact'; } $data['js_files'][] = PluginManager::$PLUGINS_PATH . '/myShaarli/myShaarli.js'; return $data; } /** * 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) { if ((int) $data['link_is_new'] === 1 && $data['link']['url'][0] === '?' && strlen($data['link']['url']) === 7) { $data['link']['tags'] = 'note '; } 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 '

'; }