Voici une liste des petits plugins que vous pouvez utiliser avec LocalFilesEditor.
Sur la page des miniatures, si vous avez beaucoup d'éléments, vous pouvez avoir envie d'ajouter une barre de navigation en haut de la page, en plus de celle qui est en bas.
<?php /* Plugin Name: Navbar on top Version: 1.0 Author: Mistic Author URI: http://www.strangeplanet.fr */ add_event_handler('loc_end_index', 'top_navbar'); function top_navbar() { global $template; $template->set_prefilter('index', 'top_navbar_prefilter'); } function top_navbar_prefilter($content, &$smarty) { $search = '{if !empty($CATEGORIES)}{$CATEGORIES}{/if}'; $add = '{if !empty($navbar)}{include file=\'navigation_bar.tpl\'|@get_extent:\'navbar\'}{/if}'; return str_replace($search, $add.$search, $content); } ?>
<?php /* Plugin Name: Remove breadcrumb photocounter Version: 1.0 Author: barbichou */ add_event_handler('loc_end_index', 'no_breadcrumb_counter'); function no_breadcrumb_counter() { global $template; $titre = $template->get_template_vars('TITLE'); $pos = strrpos($titre,"["); if ($pos !== false) { $template->assign('TITLE', substr($titre, 0, $pos)); } } ?>
Ce plugin n'affiche que le dernier album dans le titre de la page, pas l'arborescence complète.
<?php /* Plugin Name: One level in page title Version: 1.0 Author: barbichou */ add_event_handler('loc_end_page_header', 'one_level_pagetitle'); function one_level_pagetitle() { global $template, $conf; $titre = $template->get_template_vars('PAGE_TITLE'); $pos = strrpos($titre, $conf['level_separator']); if ($pos!==false) { $template->assign('PAGE_TITLE', substr($titre, $pos+strlen($conf['level_separator']))); } } ?>
The plugin permet de partager une URL avec un paramètre additional pour forcer le thème. Par exemple : http://mysite.com/picture.php?/246/category/186&temp_theme=Stripped ouvrira l'image avec le thème Stripped quelque soit le thème par défaut. Ne fonctionne que sur picture.php
<?php /* Plugin Name: Theme Switch From URL Version: 1.0 Author: Mistic Author URI: http://www.strangeplanet.fr */ add_event_handler('user_init', 'theme_controler_lite1'); add_event_handler('init', 'theme_controler_lite2'); function theme_controler_lite1() { global $user; if ( isset($_GET['temp_theme']) and file_exists(PHPWG_THEMES_PATH.$_GET['temp_theme']) ) { $user['theme'] = $_GET['temp_theme']; } } function theme_controler_lite2() { global $template; if ( isset($_GET['temp_theme']) and file_exists(PHPWG_THEMES_PATH.$_GET['temp_theme']) ) { $template->assign('TEMP_THEME', $_GET['temp_theme']); $template->set_prefilter('picture', 'theme_controler_lite_prefilter'); } } function theme_controler_lite_prefilter($content) { global $conf; if ($conf['question_mark_in_urls']==false) { $search = '#(action|href)="([^?"]*)"#'; $replace = '$1="$2?temp_theme={$TEMP_THEME}"'; } else { $search = '#(action|href)="([^"]*)"#'; $replace = '$1="$2&temp_theme={$TEMP_THEME}"'; } return preg_replace($search, $replace, $content); } ?>
Ajoute un bouton sur toutes les pages pour retourner en douceur en haut de la page, le bouton s'affiche après 100px.
<?php /* Plugin Name: Scroll To Top Version: 1.0 Author: Mistic Author URI: http://www.strangeplanet.fr */ add_event_handler('loc_end_page_header', 'scroll_to_top'); function scroll_to_top() { global $template; $template->set_prefilter('header', 'scroll_to_top_pref', 100); } function scroll_to_top_pref($content) { $search = '<body id="{$BODY_ID}">'; $scroll = ' {html_style}{literal} .scrollup { width:48px; height:48px; opacity:0.7; position:fixed; border-radius:24px; bottom:50px; right:50px; display:none; text-indent:-9999px; background: rgba(255,255,255,0.8) url("http://cdn4.iconfinder.com/data/icons/cc_mono_icon_set/blacks/48x48/round_and_up.png") no-repeat; z-index:1000; border:none !important; text-decoration:none !important; } .scrollup:hover { opacity:1; } {/literal}{/html_style} {footer_script}{literal} jQuery(window).scroll(function(){ if (jQuery(this).scrollTop() > 100) { jQuery(".scrollup").fadeIn(); } else { jQuery(".scrollup").fadeOut(); } }); jQuery(".scrollup").click(function(){ jQuery("html, body").animate({ scrollTop: 0 }, 600); return false; }); {/literal}{/footer_script} <a href="#" class="scrollup">Scroll</a>'; return str_replace($search, $search.$scroll, $content); } ?>
Pour Piwigo 2.5 et plus anciens Ajoute une colonne affichant la langue de chaque utilisateur dans le panneau de gestion des utilisateurs.
<?php /* Plugin Name: AddUserLanguage Version: 2.2 Description: Displays users language in user management panel Author: Eric Author URI: http://www.infernoweb.net */ /* Add language colomn in user management panel */ add_event_handler('loc_visible_user_list', 'personal_loc_visible_user_list'); function personal_loc_visible_user_list($visible_user_list) { global $template; $template->append('plugin_user_list_column_titles', l10n('Language')); $user_ids = array(); foreach ($visible_user_list as $i => $user) { $user_ids[$i] = $user['id']; } $user_nums = array_flip($user_ids); $languages = get_languages(); /* Sql request to fill the language fields */ if (!empty($user_ids)) { $query = ' SELECT DISTINCT user_id, language FROM '.USER_INFOS_TABLE.' WHERE user_id IN ('.implode(',', $user_ids).') ;'; $result = pwg_query($query); while ($row = pwg_db_fetch_assoc($result)) { $visible_user_list[$user_nums[$row['user_id']]]['plugin_columns'][] = $languages[$row['language']];; } } return $visible_user_list; } ?>
<?php /* Plugin Name: Image on Guestbook Version: 1.0 Author: Mistic */ define('GB_IMAGE_ID', 77); define('GB_IMAGE_SIZE', IMG_SMALL); add_event_handler('loc_end_index', 'add_guestbook_image', EVENT_HANDLER_PRIORITY_NEUTRAL-10); function add_guestbook_image() { global $page, $template; if (@$page['section'] == 'guestbook') { $query = 'SELECT * FROM ' . IMAGES_TABLE . ' WHERE id = ' . GB_IMAGE_ID . ';'; $picture = pwg_db_fetch_assoc(pwg_query($query)); // -- Piwigo 2.5 $src_image = new SrcImage($picture); $derivatives = DerivativeImage::get_all($src_image); $selected_derivative = $derivatives[GB_IMAGE_SIZE]; // -- Piwigo 2.6 //$selected_derivative = DerivativeImage::get_one(GB_IMAGE_SIZE, $picture); $template->assign('gb_image', $selected_derivative); $template->set_prefilter('index', 'add_guestbook_image_prefilter'); } } function add_guestbook_image_prefilter($content) { $search = '{if isset($comment_add)}'; $add = '<div style="text-align:center;"><img src="{$gb_image->get_url()}" {$gb_image->get_size_htm()}"></div>'; return str_replace($search, $add."\n".$search, $content); } ?>
More to come…
Plus à venir…