Home

PIWIGO Navigatie

 

Piwigo::Aanpassen Desktop Thema

Index 
Piwigo Desktop thema's aanpassen naar wens
1.  Lokale Configuratie
    Toegestane tekens by synchronisatie
    Beveiliging afbeeldingen
    EXIF data menselijke taal
    Maak bij registratie geen gebruik van browsertaal
2.  CSS
    Weergave headerachtergrond
    Grotere tekst navigatiebalk albumpagina
    Grotere tekst beschrijving onder foto op fotopagina
    Verberg blok Quick Connect in de Menubalk
    Tooltip CSS-methode
3.  Templates
    'Home makkink.eu' vóór broodkruimel albumpagina
    Help-popup ikoon op pagina's
    Extra navigatiebalk boven afbeeldingen albumpagina
    'Home makkink.eu' vóór broodkruimel fotopagina
    Help-popup ikoon op fotopagina
    Redirect Login naar index.php
    Verwijder 'Aanpassen' en 'Registreer' uit menubalk
    Verwijder ongewenste links van Identification template
    Verwijder bijschrift van albumminiaturen met link
    Tooltip CSS-methode
    Favicon weergeven
    Verwijder 'Sorteervolgorde' en 'Fotogroottes' bij Gastalbum
4.  Talen
    Naam wijzigen van 'Home' (Engels en Nederlands)
    Verbeterde Nederlandse vertaling van 'Identification
    Duidelijke Log-in boodschap (Engels en Nederlands)
    Fatal Error door typo in Nederlandse vertaling
5.  Persoonlijke Plugin
    Scroll naar top
6.  Hacks
    Synchronisatie-dialoog standaard instellingen
    Standaard fotoformaat in albumpagina naar xsmall
    Extra Cookie wanneer gebruiker ingelogd is
    Scroll naar top
    RV-Menutree verborgen mappen niet tonen
    RV-Menutree per default uitklappen
    PWG-Stuffs loginblok aanpassen
    Logout error when not logged in
    Logout redirect en Drop cookie
    Ikonen bewerken
    Robots.txt
    VideoJS Autoplay werkt niet met audio
    VideoJS Windowhoogte Piwigo Desktop Thema
    VideoJS Corrigeren controls in Piwigo Mobiel Thema
    VideoJS Switch voor CSS
    ShareAlbum Privacy niveau automatisch zetten
    ShareAlbum ShareAlbum icon alleen op albums met foto's
    ShareAlbum Sta download origineel toe via configuratie

Piwigo nader aanpassen naar wens

Na installatie, configuratie en activatie van diverse plugins zijn er nog diverse (kleine) ingrepen die we aan willen brengen.

Local Files Editor

De plugin 'Local Files Editor' is een krachtig tool waarmee we aanpassingen/wijzigingen aan kunnen brengen zonder daarbij de originele Piwigo bestanden gehackt moeten worden.
De wijzigingen worden aangebracht in de zogenaamde 'lokale bestanden' die de originele bestanden vervangen of bij de compilatie overschrijven. Deze 'lokale bestanden' vinden we terug in de map ../piwigo/local/. Zie ook de Piwigo documentatie
De Editor heeft vijf categoriën:

Hacks

Helaas zijn er nog steeds wijzigingen die alleen maar middels een hack van de 'core' bestanden tot stand gebracht kunnen worden. Ook kunnen templates van plugins helaas niet vervangen worden met de lokale-bestanden methode en zijn hiervoor hacks nodig.
Bij hacks is het risico aanwezig dat bij een Piwigo update/upgrade het gehackte bestand vervangen wordt en de wijzigingen zodoende verloren gaan.

Naar index

Lokale Configuratie

Met de LoalFiles Editor maken we met toevoegingen in ../piwigo/local/config/config.inc.php overschrijvingen op het bestand met de Piwigo standaard configuratie instellingen ../piwigo/include/config_default.inc.php.

De nu volgende Lokale Configuratie instellingen zijn thema onafhankelijk en worden op elk geïnstalleerd thema toegepast.

Naar index

Toegestane tekens by synchronisatie

Spatie in bestandsnamen
Piwigo accepteert per default geen bestandsnamen met een spatie, we wijzigen de configuratie door ook een spatie te accepteren als geldig karakter.
In het lokale configuratiebestand voegen we de volgende regels toe:

// permitted characters for files/directoris during synchronization
$conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_. ]+$/';

Net vór de bracket ']' is nu een spatie toegevoegd.

Naar index

Beveiliging afbeeldingen

Zie ook Piwigo::Beveiliging en Serge's Technology View

Bescherm Originelen
Open Beheer > Plugins > LocalFiles Editor > Lokale Configuratie en voeg in het lokale configuratiebestand de volgende regels toe:

// one of '', 'images', 'all'
$conf['original_url_protection'] = 'images';

Bescherm Geschaalde Afbeeldingen
Aangezien al de data van geschaalde afbeeldingen allemaal op één plaats opgeslagen zijn willen we het moeilijker maken dat foto's 'geraden' worden die verder niet te zien zijn.
Open Beheer > Plugins > LocalFiles Editor > Lokale Configuratie en voeg in het lokale configuratiebestand de volgende regels toe:

// Specify url format // 0-'auto', 1-'derivative' 2-'script'
$conf['derivative_url_style'] = 2;

Naar index

EXIF data menselijke taal

De EXIF view Plugin Vertaalt EXIF gegevens naar lokale menselijke taal, overeenkomstig EXIF specificatie 2.2, details in http://www.exif.org. De plugin gebruikt hierbij de volgende toe te voegen regels in het lokale configuratiebestand:

// Convert EXIF values to human readable localized values.
// Corresponds to EXIF specification 2.2, details in http://www.exif.org.
// Install and Activate EXIF plugin. Extend your configuration as below:
$conf['show_exif_fields'] = array(
  'Make',
  'Model',
  'ExifVersion',
  'Software',
  'DateTimeOriginal',
  'FNumber',
  'ExposureBiasValue',
  'FILE;FileSize',
  'ExposureTime',
  'Flash',
  'ISOSpeedRatings',
  'FocalLength',
  'FocalLengthIn35mmFilm',
  'WhiteBalance',
  'ExposureMode',
  'MeteringMode',
  'ExposureProgram',
  'LightSource',
  'Contrast',
  'Saturation',
  'Sharpness',
  );

Naar index

Maak bij registratie geen gebruik van browsertaal

Per default maakt Piwigo bij het openingsscherm (registratie) gebruik van de browsertaal. Dat is een goed idee, want als dan bijvoorbeeld een Italiaan verbinding maakt dan krijgt hij een aanmeldingsscherm in het Italiaans voorgeschoteld.
Deze installatie van Piwigo is echter geheel op nederlands publiek georienteerd, dus ook de aanmelding is bij voorkeur geheel in het nederlands.
Alle geregistreerde gebruikers (inclusief gast) gebruikers staan daarom ook al ingesteld op de nederlandse taal. Alleen het aanmeldingsscherm in een andere taal is alleen maar verwarrend.

Schakel gebruik van browsertaal uit
Open Beheer > Plugins > LocalFiles Editor > Lokale Configuratie en voeg in het lokale configuratiebestand de volgende regels toe:

// Registering process and guest/generic members get language from the browser
// if language isn't available PHPWG_DEFAULT_LANGUAGE is used as previously
$conf['browser_language'] = false;

Door bovenstaande wordt de browser niet gevolgd en gebruikt Piwigo de taal die ingesteld is voor gast

Naar index

CSS

Met de Local Files Editor maken we met toevoegingen in het lokale CSS bestand ../piwigo/local/css/elegant-rules.css overschrijvingen op alle Piwigo CSS bestanden (inclusief die van plugins).

De hiernavolgende toevoegingen in het lokale CSS bestand zijn mogelijk verschillend voor elk thema.

Weergave headerachtergrond

Onderstaande code wordt toegevoegd om 'banner_background.jpg' als achtergrond weer te geven in het hoofd. Zie ook Piwigo::Installeren sectie Paginahoofd
Open Beheer > Plugins > LocalFiles Editor (Zie sectie Plugins: LocalFiles Editor)
Selecteer Tab 'CSS' en voeg de volgende code toe:

BODY {
   background-image: url(/piwigo/local/images/banner_background.JPG);
   background-repeat: repeat-x;
 }

Naar index

Grotere tekst navigatiebalk albumpagina

De tekst van de navigatiebalk op de albumpagina was wel erg klein, deze vergroten we naar 110%

/* Vergroot de fontsize van de navigation Bar */
.navigationBar {
  font-size: 110%
}

Zie voor navigatiebalk template wijziging ook Extra navigatiebalk boven afbeeldingen albumpagina

Naar index

Grotere tekst beschrijving onder foto op fotopagina

De tekst van de beschrijving onder de foto op de fotopagina was wel erg klein, deze vergroten we met 105%

/* Vergroot de fontsize van description onder foto op fotopagina */
#theImage {
  font-size: 105%
}

Naar index

Verberg blok Quick Connect in de Menubalk

Met de plugin PWG-Stuffs hebben we voorzien in een login blok op de hoofdpagina. Met de instellingen hiervan geven we ook aan dat het 'Quick Connect' blok uit de Menubalk niet willen tonen als het PWG_stuffs blok tonen.
Als we echter niet inloggen en als 'gast' het publieke album 'Erica' bekijken dan wordt er dus niet ingelogd en wordt alsnog het 'Quick Connect' blok in de menubalk getoond.

Dit blok verbergen we met de hierna volgende code in het lokale CSS bestand:

/* Verberg in de MenuBar het blok Quick Connect (dit werkt al via plugin PWG-Stuffs Login blok) */
FORM#quickconnect {
  display: none;
}

Naar index

Tooltip CSS-methode

Voor het tonen van de fotobeschrijving bij foto's op de albumpagina's maakt Piwigo gebruik van Tooltips. Zie Piwigo::Plugins > Thumbnail Tooltip waar we de inhoud van een tooltip instellen.
De manier van tonen van de beschrijving verbeteren we door gebruik te maken van een Tooltip volgens de CSS methode.
Behalve onderstaande CSS code moeten we ook een wijziging aanbrengen in de lokale template bm_humbnails.tpl

/* Makkink 16-01-2017 toevoeging voor TOOLTIP
 ******************************************** */
div.bmToolTip {
        position: relative;
        display: ;
  
}

div.bmToolTip span {
        position: absolute;
  left:0px;
     /* width: 265px;      Deze is vervangen door de in-line style van de tag  */
        font-size: 105%;
        color: #000000;            /* Tekstkleur zwart */
        background: #e6e9d1;       /* Licht-blauw */
        border: 1px solid #000000;
        height: auto;
        text-align: left;
        visibility: hidden;
        border-radius: 4px;
        
        padding: 5px;              /* Afstand van tekst tot binnenkant box */
}

div.bmToolTip span:before {        /* zwarte achtergrond */
  content: '';                     /* resulteert in pijlpunt */
  position: absolute;
  top: 100%;
  left: 50%;                       /* brengt pijl op de helft v.d. box */
  margin-left: -10px;              /* compenseert voor border van 10px om box */
  width: 0; height: 0;
  border-top: 10px solid #000000;       /* zwart                                 */
  border-right: 10px solid transparent; /* creëert zwarte border van 10px om box */
  border-left: 10px solid transparent;  /*                                       */
}

div.bmToolTip span:after {         /* licht-blauwe voorgrond */
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;               /* compenseert voor border van 9px om box */
  width: 0; height: 0;
  border-top: 9px solid #edf0f3;       /* licht-blauw                                */
  border-right: 9px solid transparent; /* creëert licht-blauwe border van 9px om box */
  border-left: 9px solid transparent;  /*                                    */
}

div:hover.bmToolTip span {
    visibility: visible;
/*  bottom: 280px;       Deze is vervangen door de in-line style van de tag  */
  z-index: 999;                   /* always on top */
}

Naar index

Templates

In de LocalFiles Editor is ook voorzien in het maken van lokale sjablonen in ../piwigo/template-extension/ ter vervanging van de originele sjablonen in ../piwigo/themes/default/template/. Dit werkt alleen voor Piwigo core sjablonen, niet voor plugin sjablonen,die moeten we helaas gewoon hacken (Zoals bij Fotorama, PWG-Stuffs loginblok en RV-Menutree)

De lokale 'templates' worden niet automatisch verbonden met het huidige actieve schema.

Vervanging van de originele sjablonen door de aangepaste sjablonen in de sjabloon-extensie submap voeren we uit via Beheer > Configuratie > Sjablonen

(Zie ook het sjabloon-extensie helpbestand)

Naar index

Home makkink.eu' vóór broodkruimel albumpagina

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_index.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/elegant_index.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_index.tpl > Wijzig
Vind rond lijn 100:
<h2>{$TITLE} {if $NB_ITEMS > 0}<span class="badge nb_items">{$NB_ITEMS}</span>{/if}</h2>}

Vervang deze regel door:

{* BEGIN Path met www.makkink.eu vóór breadcrumb *}
  <h2><a href="?act=logout">www.makkink.eu</a>{$LEVEL_SEPARATOR}{$TITLE}
        {if $NB_ITEMS > 0}<span class="badge nb_items">{$NB_ITEMS}</span>{/if}</h2> 
{* EINDE link vóór breadcrumb *}

De link naar act=logout resulteert in het uitloggen van Piwigo.
Door een hack in ../piwigo/include/user.inc.php wordt deze logout gevolgd door een redirect naar het webroot (www.makkink.eu) hoofdmenu.
Zie Logout redirect en Drop cookie (thema onafhankelijk)

Vervang originele sjabloon index.tpl met elegant_index.tpl
Beheer > Configuratie > Sjablonen

Naar index

Help-popup ikoon op pagina's

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_index.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Help pagina en ikoon
- Prepareer pagina met inhoud en images. Zie Piwigo::Help Pagina
- Plaats help.html in /home/pwgdata/local en images in /home/pwgdata/local/images
- Knip hint.png uit ../piwigo/themes/elegant/icon/icons-sprite.png en plaats in /home/pwgdata/local/images

Edit sjabloon ../piwigo/template-extension/elegant_index.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_index.tpl > Wijzig
Vind rond lijn 96:
{if !empty($PLUGIN_INDEX_BUTTONS)}{foreach from=$PLUGIN_INDEX_BUTTONS item=button}<li>{$button}</li>{/foreach}{/if}
{if !empty($PLUGIN_INDEX_ACTIONS)}{$PLUGIN_INDEX_ACTIONS}{/if}

Voeg hierna toe:

{* BEGIN plaats HELP icon rechtsboven op hoofdpagina met link naar HINTS popup window *}
<li><a href="#" onClick="window.open('local/help.html', 'Hints voor gebruik', 'width=800,
     height=700, left=500, top=200, scrolbars=yes, addressbar=0'); return false;">
     <img src="local/images/hint.png"/></a>
</li>
{* EINDE HELP icon *}

Vervang originele sjabloon index.tpl met elegant_index.tpl
Beheer > Configuratie > Sjablonen

Naar index

Extra navigatiebalk boven afbeeldingen albumpagina

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_index.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/elegant_index.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_index.tpl > Wijzig
Vind in script rond lijn 178:
{if !empty($cats_navbar)}
{include file='navigation_bar.tpl'|@get_extent:'navbar' navbar=$cats_navbar}
{/if}

Voeg hierna de zelfde code toe als al aanwezig voor de navigatiebalk onderaan de pagina:

{* BEGIN navigatiebar boven aan pagina *}
{if !empty($thumb_navbar)}
        {include file='navigation_bar.tpl'|@get_extent:'navbar' navbar=$thumb_navbar}
{/if}
{* EINDE navigatiebar bovenaan pagina *}

Zie voor aanpassen van de tekstgrootte Grotere tekst navigatiebalk albumpagina (thema onafhankelijk)

Vervang originele sjabloon index.tpl met elegant_index.tpl
Beheer > Configuratie > Sjablonen

Naar index

'Home makkink.eu' vóór broodkruimel fotopagina

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_picture.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/elegant_picture.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_picture.tpl > Wijzig
Vind rond lijn 11:
<div id="imageHeaderBar">
 <div class="browsePath">

Vervang de regel: {$SECTION_TITLE}<span class="browsePathSeparator">{$LEVEL_SEPARATOR}</span><h2>{$current.TITLE}</h2>
door:

{* BEGIN www.makkink.eu vóór breadcrumb *}
  <a href="?act=logout">www.makkink.eu</a>{$LEVEL_SEPARATOR}{$SECTION_TITLE}
<span class="browsePathSeparator">{$LEVEL_SEPARATOR}</span><h2>{$current.TITLE}</h2> {* EINDE link vóór breadcrumb *}

De link naar act=logout resulteert in het uitloggen van Piwigo.
Door een hack in ../piwigo/include/user.inc.php wordt deze logout gevolgd door een redirect naar het webroot (www.makkink.eu) hoofdmenu. Zie Logout redirect en Drop cookie (thema onafhankelijk).

Vervang originele sjabloon picture.tpl met elegant_picture.tpl
Beheer > Configuratie > Sjablonen

Naar index

Help-popup ikoon op fotopagina

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_picture.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Help pagina en ikoon
- Prepareer met inhoud en images. Zie Piwigo::Help Pagina
- Plaats help.html in /home/pwgdata/local en images in /home/pwgdata/local/images
- Knip hint.png uit ../piwigo/themes/elegant/icon/icons-sprite.png en plaats in /home/pwgdata/local/images

Edit sjabloon ../piwigo/template-extension/elegant_picture.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_picture.tpl > Wijzig
Vind rond lijn 129:
{/if}{/strip}{*caddie management END*}

Voeg hierna toe:

{* BEGIN plaats HELP icon rechtsboven op fotopagina met link naar HINTS popup window *}
<li><a href="#" onClick="window.open('local/help.html', 'Hints voor gebruik', 'width=800,
     height=700, left=500, top=200, scrolbars=yes, addressbar=0'); return false;">
     <img src="local/images/hint.png"/></a>
</li>
{* EINDE HELP icon *}

Vervang originele sjabloon picture.tpl met elegant_picture.tpl
Beheer > Configuratie > Sjablonen

Naar index

Redirect Login naar index.php

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_menubar_identification.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/elegant_menubar_identification.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_menubar_identification.tpl > Wijzig
Vind rond lijn 10:
{if isset($U_LOGIN)}
<li><a href="{$U_LOGIN}" rel="nofollow">{'Login'|@translate}</a></li>
{/if}

En vervang dit door:

{* BEGIN redirect login naar index.php in plaats van identification.php *}
        {if isset($U_LOGIN)}
          <li><a href="index.php" rel="nofollow">{'Login'|@translate}</a></li>
        {/if}
{* EINDE redirect login naar index.php in plaats van identification.php *}

Vervang originele sjabloon menubar_identification.tpl met elegant_menubar_identification.tpl
Beheer > Configuratie > Sjablonen

Naar index

Verwijder 'Aanpassen' en 'Registreer' uit menubalk

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_menubar_identification.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/xx_menubar_identification.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_menubar_identification.tpl > Wijzig

Vind voor 'Registreer' rond lijn 6:
{if isset($U_REGISTER)}
  <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow">
     {'Register'|@translate}</a></li>
{/if}

en voor 'Aanpassen' rond lijn 17:
{if isset($U_PROFILE)}
  <li><a href="{$U_PROFILE}" title="{'customize the appareance of the gallery'|@translate}">
     {'Customize'|@translate}</a></li>
{/if}

En markeer deze secties uit met {* ... en ...*} zoals hieronder:

 {* BEGIN niet tonen van Register link
        {if isset($U_REGISTER)}
        <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow">{'Register'|@translate}</a></li>
        {/if}
    EINDE niet weergeven van Register link *}
    ...
    ...
     {* BEGIN niet weergeven van Customize link
        {if isset($U_PROFILE)}
        <li><a href="{$U_PROFILE}" title="{'customize the appareance of the gallery'|@translate}">{'Customize'|@translate}</a></li>
        {/if}
    EINDE niet weergeven van Customize link *}

Vervang originele sjabloon menubar_identification.tpl met elegant_menubar_identification.tpl
Beheer > Configuratie > Sjablonen

Naar index

Verwijder ongewenste links van Identification template

Voor het inloggen wordt de template ../piwigo/plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl van de plugin PWG-Stuffs gebruikt.
Deze template is behoorlijk met hacks aangepast zoals te zien in sectie PWG-Stuffs loginblok aanpassen

Dit werkt naar tevredenheid maar als de sessie van een ingelogde gebruiker verloopt en deze gebruiker wil verdergaan waar hij gebleven was dan moet er opnieuw ingelogd worden.
Nu wordt echter de template ../piwigo/themes/default/template/identification.tpl gebruikt en na inloggen wordt teruggekeerd naar de plek waar de gebruiker gebleven was.
Standaard heeft deze template ook veel ongewenste links, maar in tegenstelling tot het PWG-Stuffs plugin login block is in dit geval geen hack nodig maar kunnen we de wijzigingen aanbrengen in een lokale sjabloon in ../piwigo/template-extension/ ter vervanging van de originele sjabloo in ../piwigo/themes/default/template/.

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_identification.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/elegant_identification.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_identification.tpl > Wijzig

Breng hier de 1e hack aan, door {* aan het begin en aan het eind *} wordt de gehele ingesloten code niet uitgevoerd:

{* Hack Ben Makkink 29-03-2024 Niet tonen van 'Automatisch aanmelden' 
     {if $authorize_remembering }
      <li>
        <span class="property">
          <label for="remember_me">{'Auto login'|@translate}</label>
        </span>
        <input tabindex="3" type="checkbox" name="remember_me" id="remember_me" value="1">
      </li>
      {/if}
Einde Hack niet tonen van 'Automatisch aanmelden' *}

 

Breng hier de 2e hack aan, door </p> aan het eind te vervangen door:

{* Hack Ben Makkink 02-12-2019
     Voeg button toe voor annuleren login (effectief logout) *}
   <button formaction="?act=logout">Annuleren</button>
  </p>
{* Einde toevoegen button annuleren login *}

 

Breng hier de 3e hack aan, door {* aan het begin en aan het eind *} wordt de gehele ingesloten code niet uitgevoerd:

{* Hack Ben Makkink 17-02-2020 Niet tonen van 'Wachtwoord vergeten?' link
{if isset($U_LOST_PASSWORD)}
		<a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" class="pwg-state-default pwg-button">
		<span class="pwg-icon pwg-icon-lost-password"></span><span>{'Forgot your password?'|@translate}</span>
		</a>
{/if}
EINDE niet tonen van 'Wachtwoord vergeten?' link *}

Vervang originele sjabloon identification.tpl met elegant_identification.tpl
Beheer > Configuratie > Sjablonen

Naar index

Verwijder bijschrift van albumminiaturen met link

De miniaturen met link zijn virtuele albums met maar één (klik-plaatje) afbeelding. Per default vermeldt Piwigo bij de albumminiaturen het aantal foto's in een album. Bij een miniatuur met link willen we de vermelding '1 foto's' niet.

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_mainpage_categories.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/elegant_mainpage_categories.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_mainpage_categories.tpl > Wijzig

Vind rond lijn 39:
<p class="Nb_images">{$cat.CAPTION_NB_IMAGES}</p>

En vervang dit door:

{* BM 12-04-2016 verberg '1 foto' *}
{if (stristr($cat.CAPTION_NB_IMAGES," ",true)==1) }
  <p> </p>
{else}
  <p class="Nb_images">{$cat.CAPTION_NB_IMAGES}</p>
{/if}
{* einde hack BM *}

Vervang originele sjabloon mainpage_categories.tpl met elegant_mainpage_categories.tpl
Beheer > Configuratie > Sjablonen

Naar index

Tooltip CSS-methode

Zie voor CSS gedeelte Tooltip CSS-methode
Voor het tonen van de fotobeschrijving bij foto's op de albumpagina's maakt Piwigo gebruik van Tooltips. Zie Piwigo::Plugins > Thumbnail Tooltip waar we de inhoud van een tooltip instellen.
De manier van tonen van de beschrijving verbeteren we door gebruik te maken van een Tooltip volgens de CSS methode.

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_thumbnails.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/xx_thumbnails.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_thumbnails.tpl > Wijzig

Vind rond lijn 33:
<span class="wrap2">
  <a href="{$thumbnail.URL}">
      <img class="thumbnail" {if $derivative->is_cached()}src="{$derivative->get_url()}"
                             {else}

                                                  src="{$ROOT_URL}{$themeconf.icon_dir}/img_small.png"
data-src="{$derivative->get_url()}"{/if} alt="{$thumbnail.TN_ALT}" title="{$thumbnail.TN_TITLE}"> </a> </span>

En vervang dit door:

<span class="wrap2">
  {assign var=tooltipText value=$thumbnail.TN_TITLE}
  {assign var=tooltipBottom value=$derivative_params->max_height()+15}
  {assign var=tooltipWidth value=$derivative_params->max_width()-3}
  {if !empty($tooltipText)}
      <div class="bmToolTip">
  {else}
      <div>
  {/if}
  <span style="bottom:{$tooltipBottom}px;width:{$tooltipWidth}px;">
     {$tooltipText}
  </span>
  <a href="{$thumbnail.URL}">
       <img class="thumbnail" {if $derivative->is_cached()}src="{$derivative->get_url()}"
                              {else}
                                src="{$ROOT_URL}{$themeconf.icon_dir}/img_small.png"
data-src="{$derivative-> get_url()}" {/if} alt="{$thumbnail.TN_ALT}" {* title="{$thumbnail.TN_TITLE}" *}> </a> </div> </span>

Vervang originele sjabloon thumbnails.tpl met elegant_thumbnails.tpl
Beheer > Configuratie > Sjablonen

Naar index

Favicon weergeven

In het thema Elegant is voorzien in het weergeven van een favicon, maar de code verwacht een setting in themeconf.inc.php waarin aangegeven wordt waar de icon te vinden is: 'icon_dir' =>
Om dit te corrigeren zou een hack in themeconf.inc.php nodig zijn.
Dit kunnen we voorkomen door de code aan te passen in de template header.tpl

Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_header.tpl voor thema Elegant:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Maak en plaats favicon.ico in ../themes/elegant/icon/

Edit sjabloon ../piwigo/template-extension/elegant_header.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_header.tpl > Wijzig

<link rel="shortcut icon" type="image/x-icon" href="{$ROOT_URL}{$themeconf.icon_dir}/favicon.ico">
naar:
{* BM 23-02-2020 Voeg link naar Favicon toe in <head> *}
  <link rel="shortcut icon" type="image/x-icon" href="{$ROOT_URL}themes/elegant/icon/favicon.ico">
{* EINDE Favicon link *}

Vervang originele sjabloon header.tpl met elegant_header.tpl
Beheer > Configuratie > Sjablonen

Naar index

Verwijder 'Sorteervolgorde' en 'Fotogroottes' bij Gastalbum

Dode icons
Als een gebruiker de albumpagina met thumbs opent worden in de menubalk de icons voor 'Sorteervolgorde' en 'Fotogroottes' weergegeven.
Als op één van deze icons geklikt wordt opent middels een 'On-Click' event een zgn. Switchbox met verdere opties. Dit werkt alleen met ingelogde gebruikers. Bij een 'gast' gebruiker zijn deze icons echter dood, het 'On-Click' event ontbreekt.
Het bijzondere is dat op de fotopagina de icon voor 'Fotogroottes' ook voor een 'gast' gebruiker gewoon werkt.

Ik heb geprobeerd te achterhalen waar en onder welke voorwaarden de icons de 'On-Click' events toegewezen krijgen, maar ik vermoed dat dit voor mij verborgen zal blijven in het Switchbox Javascript.
Zie ook mijn verzoek aan het Piwigo Forum betreffende ‘Sort order’ and ‘Photo sizes’ icons without link for guest

Omdat het voor mij niet echt noodzakelijk is dat een 'gast' gebruiker de sorteervolgorde en fotogroottes in een publieke albumpagina kan wijzigen heb ik er voor gekozen de 'dode icons' te verwijderen

Dode icons verwijderen
Creëer, als deze nog niet bestaat, lokaal sjabloon ../piwigo/template-extension/elegant_index.tpl:
LocalFiles Editor > Sjablonen > Maak nieuw bestand aan:

Edit sjabloon ../piwigo/template-extension/elegant_index.tpl
LocalFiles Editor > Sjablonen > Kies te wijzigen bestand > elegant_index.tpl > Wijzig

Wijzig in script voor het niet weergeven van de 'Sorteervolgorde' icon als de gebruiker 'Gast' is:

     15 {if !empty($image_orders)}
naar:
     15 {if !empty($image_orders) and !is_a_guest()}

Wijzig in script voor het niet weergeven van de 'Fotogroottes' icon als de gebruiker 'Gast' is:

     32 {if !empty($image_derivatives)}
naar:
     32 {if !empty($image_derivatives) and !is_a_guest()}

Naar index

Talen

We maken gebruik van de lokale taal module om wat duidelijkere boodschappen weer te geven in links, mappen, foutmeldingen, etc. te geven.
Kies in de Local Files Editor de tab 'Talen' en selecteer daar de gewenste taal.

De vertalingen worden opgeslagen in het lokale bestand zoals:
Nederlands in ../piwigo/local/language/nl_NL.lang.php
Engels US in ../piwigo/local/language/en_US.lang.php

Note: Piwigo komt met 3 Engelse versies. Om voor Engels dus altijd de gewenste (vertaalde) tekst weer te geven moeten we de wijziging in alle 3 aanbrengen, dwz. English GB, UK en US

Procedure
LocalFiles Editor > Talen > gewenste taal > Wijzig
Zoek in de referentiebestanden naar de te vertalen $lang settings.

Naar index

Naam wijzigen van 'Home' (Engels en Nederlands)

In de hier beschreven Piwigo installatie is 'Home' de webroot 'www.makkink.eu' (en dus niet de Piwigo Home).
Deze Piwiogo 'Home' hernoemen (vertalen) we naar:
Nederlands: 'Fotogalerij'
Engels: 'Gallery'

$lang['Home']= 'Gallery';
$lang['Home']= 'Fotogalerij';

Naar index

Verbeterde Nederlandse vertaling van 'Identification

De aangeleverde Nederlandse vertaling is onjuist. We corrigeren dit:

$lang['Identification']= 'Identificatie';

Naar index

Duidelijke Log-in boodschap (Engels en Nederlands)

Als een (nog) niet ingelogde gebruiker via een directe link een pagina opent waarvoor authorisatie vereist is, wordt deze gebruiker een foutmelding gepresenteerd.
Dit werkt verwarrend omdat op de zelfde pagina een inlog dialoog wordt getoond.

De gegeven foutmelding is: You are not authorized to access the requested page en de aangeleverde Nederlandse vertaling is: Je bent niet gemachtigd om deze pagina te bekijken

We maken gebruik van de Local Files Editor en wijzigen we de foutmelding naar een duidelijke instructie.

Voor Engels (GB, UK en US):

$lang['You are not authorized to access the requested page'] = 'Enter username and password to access the requested page';

Voor Nederlands:

$lang['You are not authorized to access the requested page'] = 'Verzend gebruikersnaam en wachtwoord voor toegang tot de gewenste pagina';

Naar index

Fatal Error door typo in Nederlandse vertaling

Door een typo in de Nederlandse vertaling in het bestand /var/www/html/piwigo/language/nl_NL/admin.lang.php op regel 822 volgt er sinds de upgrade naar PHP 8+ een fatale fout bij het openen van de 'rechten' pagina voor mappen.
Zie ook Piwigo Forum

Fatal error: Uncaught ValueError: Unknown format specifier "j" in /...

De desbetreffende Piwigo vertaalregel 822 is als volgt:

822 $lang['%u users have automatic permission because they belong to a granted group.'] =
                 '%jouw gebruikers hebben automatisch recht, omdat ze tot een groep behoren die dit recht is verleend';

De eerste letter na % is de 'format specifier'. Zoals het hier vertaald is resulteerd dat in "j". Hier moet echter in de vertaling staan: %u gebruikers.
Ook de vertaling is wat krom.

Het is niet de bedoeling dat we een hack doen in het bestand ../language/nl_NL/admin.lang.php en maken dus gebruik van de LocalFiles Editor en voeren onder de Tab 'Languages > Nederlands de volgende entry in:

$lang['%u users have automatic permission because they belong to a granted group.'] = '%u gebruikers hebben automatisch toegang, omdat ze tot een groep behoren met dit recht.';

Naar index

Persoonlijke Plugin

Met de Persoonlijke Plugin optie van de LocalFiles Editor kunnen we eigengemaakte plugins en/of functies toevoegen aan Piwigo.
Zie hiervoor About creating/managing an extension en in het bijzonder de daar opgenomen sectie Plugin Tutorial: Hello world!. In de plugin tutorial leer je hoe een eenvoudige plugin te schrijven van een Beheerpagina met daarin de traditionele tekst 'Hallo Wereld'. De gehele plugin kan daarna geïnstalleerd worden via de Plugins > Beheer > Andere Plugins pagina.

Met de Persoonlijke Plugin optie installeren we kleine snippets/functies waarvoor we niet een complete plugin hoeven te schrijven. Piwigo heeft enkele van deze functies al aangemaakt en zijn te vinden onder Compilation of personal plugins.
Deze compilatie bevat op het moment van schrijven de volgende functies:

  1. Add a top navigation bar
  2. Remove photo counter in the breadcrumb
  3. One level page title
  4. Theme Switch From URL
  5. Scroll To Top
  6. Display user language on users manage page
  7. An image on GuestBook plugin
  8. Hide website field in add comment form
  9. Hide albums in menubar on login page
  10. Custom photo number

De gewenste functie kopiëren we naar de Personal Plugin. Vervolgens maken we de functies onderdeel van Piwigo door de Personal Plugin te activeren onder Plugins > Beheer > Andere Plugins pagina.

In deze installatie maken we gebruik van de volgende functie:

Naar index

Scroll naar top

Thema onafhankelijk maar niet gebruikt in SMARTPOCKET

Met de functie 'Scroll naar top' wordt een ikoon aangemaakt waarmee de pagina terug naar de top gaat. De ikoon verschijnt zodra de pagina 100 pixels naar beneden gescrolled is.

Kopiëer en save volgend script naar Plugins > LocalFiles Editor > Personal Plugin:
<?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);
}
?>

Activeer de 'Personal Plugin' onder Plugins > Beheer > Personal Plugin.

Zie in dit hoofdstuk de sectie Hacks > Scroll naar top voor eigen wijzigingen aan het script.

Naar index

Hacks

Alle voorgaande aanpassingen en wijzigingen zijn uitgevoerd middels de in Piwigo beschikbaar gestelde beheermodules en plugins waarbij de Piwigo Core onaangeroerd blijft. Helaas zijn er nog enkele wijzigingen noodzakelijk die alleen te verwezelijken zijn door bestanden in de Piwigo Core en/of Plugins te hacken.
Alle door mij aangebrachte hacks zijn op de desktop thema onafhankelijk maar hebben mogelijk geen functie in thema Smartpocket

Waarschuwing:
We moeten bij hacks er rekening mee houden dat met een update/upgrade van de Piwigo Core en/of Plugin het gehackte bestand mogelijk overschreven wordt door de officiële versie.
om de hacks te behouden moeten we bij elke update/upgrade van Piwigo en/of plugins een uitgebreide procedure doorlopen. Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks

Naar index

Synchronisatie-dialoog standaard instellingen

Na het laden van de foto's via Samba voeren we een zogenaamde 'Synchronisatie' uit. Met dit proces worden de mappen en foto's en toe te kennen permissies toegevoegd aan de Piwigo MariaDB database. Zie sectie Piwigo::Inrichten > Synchroniseren.

De Synchronisatiepagina wordt geopend onder Beheer > Hulpmiddelen > Synchroniseer. De pagina opent met door het Piwigo team gekozen defaults. Voor onze Piwigo installatie wensen we andere defaults. Hiervoor hacken we het bestand ../piwigo/admin/site_update.php
Note: Maak eerst een kopie van het bestand en noem het site_update.php.org Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks

wijzig in ../piwigo/admin/site_update.php:
    990   $tpl_introduction = array(
    991       'sync'  => 'dirs',
    992       'sync_meta'  => true,
    993       'display_info' => false,
    994       'add_to_caddie' => false,
    995       'subcats_included' => true,
    996       'privacy_level_selected' => 0,
    997       'meta_all'  => false,
    998       'meta_empty_overrides'  => false,
    999     );

naar:
    990   $tpl_introduction = array(
    991       'sync'  => 'files',
    992       'sync_meta'  => true,
    993       'display_info' => true,
    994       'add_to_caddie' => true,
    995       'subcats_included' => true,
    996       'privacy_level_selected' => 4,
    997       'meta_all'  => false,
    998       'meta_empty_overrides'  => false,
    999     );

Simulatie default
Voor het veld 'Simulatie' gaat onze voorkeur er vooralsnog naar uit de Piwigo default te volgen en dus eerst een simulatie te doen.

Mochten we naar verloop van tijd toch liever geen simulatie meer doen dan moeten we de setting van het 'Simulatie' veld wijzigen in de template ../piwigo/admin/themes/default/template/site_update.tpl

Wijzig:

93     <ul><li><label>
       <input type="checkbox" name="simulate" value="1" checked="checked">
       {'only perform a simulation (no change in database will be made)'|@translate}
       </label></li></ul>

naar:

93     <ul><li><label>
       <input type="checkbox" name="simulate" value="0">
       {'don't perform a simulation (changes will be written to database)'|@translate}
       </label></li></ul>

Voor het wijzigen van deze template is geen hack nodig. Zie voor het wijzigen van een template voorgaande sectie Templates

Naar index

Standaard fotoformaat in albumpagina naar xsmall

Als een albumpagina geopend wordt dan hebben de miniaturen de Piwigo staandaardgrootte van 'Thumbnail' (144 x 144 px).
Op de albumpagina kunnen we via het ikoon een andere weergavegrootte kiezen.
Om een albumpagina per default te openen met een andere standaardgrootte moeten we een hack uitvoeren in het bestand ../piwigo/include/category_default.inc.php
Note: Maak eerst een kopie van het bestand en noem het category_default.inc.php.org Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks

Wijzig in ../piwigo/include/category_default.inc.php in onderstaande code IMG_THUMB naar IMG_SMALL:
    141 // HACK_1 B. Makkink 14-04-2016
    142 // Default thumbnailformaat gewijzigd van IMG_THUMB naar IMG_XSMALL
    143
    144 $template->assign( array(
    145   'derivative_params' => trigger_change('get_index_derivative_params',
           ImageStdParams::get_by_type( pwg_get_session_var('index_deriv', IMG_XSMALL) ) ),
    146 // HACK_1 Einde

Deze hack in het forum gevonden onder http://piwigo.org/forum/viewtopic.php?id=24056

Naar index

Extra Cookie wanneer gebruiker ingelogd is

Ook voor mobiel thema SmartPocket
De site 'Familie Archief' in de webroot naast Piwigo willen we privé houden en alleen toegankelijk maken via inloggen bij Piwigo.
Het afschermen doen we middels een httpd directive in de Apache webserver. In de sectie Beveiliging 'Archief' en toegang via Piwigo registratie staat beschreven hoe de benodigde HTTP directives aangebracht worden.
Door deze directives wordt toegang tot 'archief' geblokkeerd voor iedereen behalve als er een Cookie 'GALLERYSID' gezet is.

Piwigo cookie
Piwigo zet zelf welliswaar al een cookie, maar deze wordt ook gezet als Piwigo geopend wordt door een gast, dus niet ingelogd. Er moet dus een extra cookie gezet worden.

Als er ingelogd wordt op Piwigo door een geregistreerde gebruiker (dus geen 'guest') moeten we een Cookie 'GALLERYSID' zetten om 'archief' vrijte geven.
Hiervoor moeten we een 'hack' uitvoeren in het bestand ../piwigo/index.php. en een nieuw bestand extra-index.inc.php toevoegen in ../piwigo/include
Note: Maak eerst een kopie van het bestand en noem het index.php.org Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks

Toevoeging in ../piwigo/index.php:
define('PHPWG_ROOT_PATH','./');
include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
include(PHPWG_ROOT_PATH.'include/section_init.inc.php');

//BM 23-03-2020 Doorverwijzing naar bestand extra-index.inc.php met hacks
include(PHPWG_ROOT_PATH.'include/extra-index.inc.php');
// EINDE HACK

// Check Access and exit when user status is not ok
check_status(ACCESS_GUEST);

Nieuw bestand ../piwigo/include/extra-index.inc.php met inhoud:
//Ben Makkink 13/08/2017
//Toevoeging voor het zetten van extra cookie als gebruiker ingelogd is
//Control Cookie voor toegang tot afgeschermde data
//--------------------------------------------------------------------------
if ($user['status']!=="guest")
{
  setcookie('GALLERYSID',time(),0, '/');
}
else
{
  setcookie('GALLERYSID', ' ', time()-7000000, '/');
}

Zet Cookie
Als er ingelogd is dan is de user status 'niet guest' en wordt de cookie gezet met het commando:
# setcookie('GALLERYSID',time(),0, '/');
Dit commando zet een cookie met de naam 'GALLERYSID' en de huidige datum en tijd als inhoud. Door de waarde 0 zetten we de levensduur gelijk aan de sessieduur. De cookie wordt gezet in '/' zijnde de webroot.

Verwijder Cookie
Als er uitgelogd wordt of als er niet ingelogd is, dan is de userstatus 'guest' en wordt de cookie verwijderd met het commando:
# setcookie('GALLERYSID', ' ', time()-7000000, '/');
In feite zetten we een nieuwe cookie 'GALLERYSID' maar nu zonder inhoud en met een levensduur tot een tijd in het verleden. Dit verwijderd effectief de cookie omdat deze verlopen is.

Naar index

Scroll naar top

Niet voor mobiel thema SmartPocket
In de voorgaande sectie Personal Plugin is de functie Scrol to top geactiveerd waarmee we een ikoon weergeven zodra een pagina 100 px naar beneden wordt gescrolled. Aanklikken van de ikoon resulteert in het vloeiend naar de paginatop scrollen.

Ikoon
De default ikoon wordt on-line ergens van het internet geplukt en is niet fraai. Om een 'eigen' ikoon te gebruiken plaatsen we de image 'scrollup.png' in ../piwigo/local/images
Nu maken we een hack in de plugin om te verwijzen naar de nieuwe ikoon.
Dit keer kunnen we de hack uitvoeren met gebruik van de LocalFiles Editor en gaan naar 'Personal Plugin'

Naar index

RV-Menutree verborgen mappen niet tonen

Niet voor mobiel thema SmartPocket
Zie voor de plugin Piwigo::Plugins > RV Menu Tree

Hoewel de RV Menu Tree in de Piwigo Menubalk staat geeft de tree toch de verborgen mappen weer die hiertoe in het naamveld de code <!--mb-hidden--> hebben. (Zie Piwigo::Inrichten > Albums verbergen van Galerij en Menu-tree)

NOTE:
Onderstaande hack heb ik naar 'rvelices' van het Piwigo gestuurd. Zie Do not show hidden categories in rv-menutree.
De hierna volgende hack in de template is na de update van RV-Menutree naar versie 2.9.a niet meer nodig!

Hoewel standaard templates bewerkt worden in de LocalFiles Editor gaat dit niet op voor templates van plugins. Wijzigingen in deze templates kan alleen door ze te hacken.
Voor de wijziging in RV Menu Tree hacken we het bestand ../piwigo/plugins/rv_menutree/template/rv_menutree_categories.tpl
Note: Maak eerst een kopie van het bestand en noem het rv_menutree_categories.tpl.org Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks

Voeg in de template toe:
{if !$cat.NAME|stristr:'<!--mb-hidden-->'}
...geef album weer...
{/if}

      6 {foreach from=$block->data.MENU_CATEGORIES item=cat}
      7         {$cat.PRE}
      8 {* BEGIN verbergen in menutree van mappen met <!--mb-hidden--> *}
      9         {if !$cat.NAME|stristr:'<!--mb-hidden-->'}
     10         <li{$cat.CLASS}> <a href="{$cat.URL}"{if $cat.IS_UPPERCAT} rel="up"{/if}>{$cat.NAME}</a>
     11                 {if $cat.count_images > 0}
     12                         <span{if $cat.nb_images <= 0} class=menuInfoCatByChild{/if}
                                  title="{$cat.TITLE}"> [{$cat.count_images}] </span>
     13                 {/if}
     14                 {if !empty($cat.icon_ts)}
     15                         <img title="{$cat.icon_ts.TITLE}" src="{$ROOT_URL}{$themeconf.icon_dir}
                                   /recent{if $cat.icon_ts.IS_CHILD_DATE}_by_child{/if}.png" alt="(!)">
     16                 {/if}
     17         {/if}
     18 {/foreach}

Naar index

RV-Menutree per default uitklappen

Niet voor mobiel thema SmartPocket
Bij het openen van Piwigo wordt de menutree volledig ingeklapt getoond met alleen het 1st level 'Collectie' zichtbaar.
Op deze manier zal het niet opvallen bij de gebruiker. Als het eerste level uitgeklapt wordt dan valt de menutree extra op en nodigt uit tot gebruik.

De onderstaande door mij voorgesteld hack heb ik naar 'rvelices' van het Piwigo gestuurd. Zie Open RV Menutree with expanded branch by default
Deze hack lost mijn verzoek slechts voor een gedeelte op, het onthouden van het laatste bezoek staat nog open.

Hoewel standaard templates bewerkt worden in de LocalFiles Editor gaat dit niet op voor templates van plugins. Wijzigingen in deze templates kan alleen door ze te hacken.
Voor de wijziging in RV Menu Tree hacken we het bestand ../piwigo/plugins/rv_menutree/template/rv_menutree_categories.tpl
Note: Maak eerst een kopie van het bestand en noem het rv_menutree_categories.tpl.org Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks

Maak wijziging in de template rv_menutree_categories.tpl:

Wijzig regel 8 van:
<li {$cat.CLASS}> <a href="{$cat.URL}"{if $cat.IS_UPPERCAT} rel="up"{/if}>{$cat.NAME}</a>
naar:
<li {if $cat.LEVEL==1} class="liOpen" {else}{$cat.CLASS}{/if}> <a href="{$cat.URL}"{if $cat.IS_UPPERCAT} rel="up"{/if}>{$cat.NAME}</a>

Naar index

PWG-Stuffs loginblok aanpassen

Niet voor mobiel thema SmartPocket
Met de plugin PWG Stuffs plaatsen we een Login block op de Fotogalerij hoofdpagina als er geen publieke albums beschikbaar zijn.

De Layout van de plugin is echter niet geheel naar wens:

Hoewel standaard templates bewerkt worden in de LocalFiles Editor, gaat dit niet op voor templates van plugins. Wijzigingen in deze templates kan alleen door ze te hacken.
Voor de wijziging in PWF-Stuffs Login-blok hacken we het bestand ../piwigo/plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl
Note: Maak eerst een kopie van het bestand en noem het stuffs_logon.tpl.org Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks

Verwijder 'Automatisch aanmelden' checkbox
Markeer de code voor het plaatsen van de checkbox uit met {* op lijn 21 en *} op lijn 30

Voeg toe in lijn 21 van ../piwigo/plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl
     21 {* Hack Ben Makkink 26-01-2020 Niet tonen van 'Automatisch aanmelden'
     22       {if $block.authorize_remembering }
     23       <li>
     24         <span class="property">
     25           <label for="remember_me">{'Auto login'|@translate}</label>
     26         </span>
     27         <input tabindex="3" type="checkbox" name="remember_me" id="remember_me" value="1">
     28       </li>
     29       {/if}
     30  Einde Hack niet tonen van 'Automatisch aanmelden' *}

Plaats een 'Annuleer' klikknop
Voeg de benodigde code toe direct na de code van de 'Verzenden' klikknop.
We kennen 'logout' als actie toe waardoor effectief teruggekeerd wordt naar de domeinpagina in de webroot (www.makkink.eu). Zie hiervoor de volgende sectie Logout redirect

Voeg toe in lijn 35 van ../piwigo/plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl
     35   <p><input class="submit" tabindex="4" type="submit" name="login" value="{'Submit'|@translate}">
     36  
     37 {* Hack Ben Makkink 08-01-2017
              Voeg button toe voor annuleren login (effectief logout) *}
     38     <button formaction="?act=logout">Annuleren</button>
     39   </p>
     40 {* Einde toevoegen button annuleren login *} 

Verwijder 'Registreer' klikknop
Door de code voor de 'registreer' klikknop te plaatsen tussen {* en *} wordt alle ingesloten code overgeslagen

Voeg toe in lijn 44 van ../piwigo/plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl
     44 {* BEGIN niet tonen van Register link
     45     {if isset($block.U_REGISTER) }
     46     <a href="{$block.U_REGISTER}" title="{'Register'|@translate}" class="pwg-state-default pwg-button">
     47       <span class="pwg-icon pwg-icon-register"> </span><span>{'Register'|@translate}</span>
     48     </a>
     49     {/if}
     50 EINDE niet tonen van Register link *}

Verwijder 'Wachtwoord vergeten?' 'link
Door de code voor de 'Wachtwoord vergeten?' link te plaatsen tussen {* en *} wordt alle ingesloten code overgeslagen

Voeg toe in lijn 52 van ../piwigo/plugins/PWG_Stuffs/theme/template/stuffs_logon.tpl
     52 {* Hack Ben Makkink 17-02-2020 Niet tonen van 'Wachtwoord vergeten?' link
     53     <a href="{$block.U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" class="pwg-state-default pwg-button">
     54       <span class="pwg-icon pwg-icon-lost-password"> </span><span>{'Forgot your password?'|@translate}</span>
     55     </a>
     56  EINDE niet tonen van 'Wachtwoord vergeten?' link *}

Naar index

Logout error when not logged in

In de vorige sectie PWG-Stuffs loginblok aanpassen wordt een 'Annuleer' knop toegevoegd zodat de gebruiker terug kan keren naar het hoofdmenu zonder in te loggen.

Met de upgrade naar PHP 8+ resulteert dit in een Fatal Error. Uitloggen terwijl er geen sessie is (niet ingelogd) is met PHP 8+ niet mogelijk.

In de PHP versies tot en met 7.4 resulteerde de functie logout_user() ook tot een fout als de gebruiker niet ingelogd was maar dit werd genegeerd en de daarop volgende redirect naar de webroot werd gewoon uitgevoerd.

Door de hack van de functie logout_user() wordt deze functie alleen uitgevoerd als er een Sessie is, dus ingelogd. Anders wordt de logout overgeslagen en teruggekeerd naar de webroot zoals beschreven in de sectie hieronder: Logout redirect en Drop cookie

De hack in ../piwigo/includes/functions_user.inc.php houdt in dat er eerst gekeken wordt of er een Sessie is: if (isset ($_SESSION['pwg_uid'])). Alleen als dat het geval is wordt de functie uitgevoerd.

function logout_user()
   1234 {
   1235   global $conf;
   1236
   1237    /**
   1238     * Hack Ben Makkink 28/03/2024
   1239     * Alleen als een gebruiker ingelogd is
   1240     * kan er uitgelogd worden
   1241     */
   1242 if (isset ($_SESSION['pwg_uid']))
   1243   {
   1244     trigger_notify('user_logout', @$_SESSION['pwg_uid']);
   1245     pwg_activity('user', @$_SESSION['pwg_uid'], 'logout');
   1246
   1247     $_SESSION = array();
   1248     session_unset();
   1249     session_destroy();
   1250     setcookie(session_name(),'',0,
   1251         ini_get('session.cookie_path'),
   1252         ini_get('session.cookie_domain')
   1253       );
   1254     setcookie($conf['remember_me_name'], '', 0, cookie_path(),ini_get('session.cookie_domain'));
   1255   }
   1256 }

Naar index

Logout redirect en Drop cookie

Ook voor mobiel thema SmartPocket
Als de gebruiker uitlogt zal de Piwigo fotogalerij als gast gepresenteerd worden. Maar als er geen publieke afbeeldingen en mappen zijn, zal opnieuw het inlogscherm openen.
Bij deze installatie van Piwigo wordt er bij uitloggen de voorkeur aan gegeven dat teruggekeerd wordt (redirect) naar de webroot met de domeinpagina in de webroot (www.makkink.eu).

Voor de 'redirect' hacken we het bestand ../piwigo/include/user.inc.php
Note: Maak eerst een kopie van het bestand en noem het user.inc.php.org Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks

Voeg toe vanaf lijn 30 van ../piwigo/include/user.inc.php
     27 if (isset($_COOKIE[session_name()]))
     28 {
     29   if (isset($_GET['act']) and $_GET['act'] == 'logout')
     30  { // hack Ben Makkink 08-01-2017
     31    // wijzig expiry cookie naar het verleden (remove cookie)
     32     setcookie('GALLERYSID', ' ', time()-7000000, '/');
     33   // logout
     34     logout_user();
     35    // redirect(get_gallery_home_url());
     36    //terug naar webroot
     37     redirect('../');
     38   }
     39   elseif (!empty($_SESSION['pwg_uid']))
     40   {
     41     $user['id'] = $_SESSION['pwg_uid'];
     42   }
     43 }

Drop cookie
In voorgaande sectie Extra Cookie wanneer gebruiker ingelogd is, wordt een extra cookie gezet als een geregistreerde gebruiker inlogt. Als deze gebruiker weer uitlogt moet vanzelfsprekend deze cookie ook weer verwijderd worden. Dit wordt gedaan met het commando: setcookie('GALLERYSID', ' ', time()-7000000, '/');
In feite zetten we met dit commando een nieuwe cookie 'GALLERYSID' maar nu zonder inhoud en met een levensduur tot een tijd in het verleden. Dit verwijderd effectief de cookie omdat deze verlopen is.

Redirect
Voor de redirect wijzigen we de code na logout_user(); van redirect(get_gallery_home_url()); naar redirect('../');

Naar index

Ikonen bewerken

Niet voor mobiel thema SmartPocket
De meerderheid van de ikonen (klikplaatjes) in Piwigo worden geleverd in het bestand ../piwigo/themes/elegant/icon/icons_sprite.png
De ikonen zitten allemaal op 1 strip en worden getoond middels offset specificaties.
Welke ikonen al dan niet weergegeven worden wordt mede bepaald door de instellingen in Beheer > Configuratie > Opties > Weergeven (Zie hiervoor Piwigo::Installeren > Configuratie > Opties > Weergeven)

De ikons van thema 'elegant' zijn in orde en er is geen hack nodig voor de icons in ../piwigo/themes/elegant/icon/

De Batch Download plugin heeft eigen ikonen in het bestand ../piwigo/plugins/BatchDownloader/template/images
We wijzigen voor de duidelijkheid de icon ../piwigo/plugins/BatchDownloader/template/images/zip.png in grijstinten

Note: Maak eerst een kopie van het bestand en noem het zip.png.org

De Fotorama diashow plugin heeft eigen ikonen in het bestand ../piwigo/plugins/Fotorama/fotorama/fotorama@2x.png
Note: Maak eerst een kopie van het bestand en noem het fotorama@2x.png.org Zie hiervoor Piwigo::Backup > Optie: Piwigo-Hacks
Ook hier brengen we enkele wijzigingen aan. Zie tevens Piwigo::Plugins > Fotorama

Wijzig ../piwigo/plugins/Fotorama/fotorama/fotorama@2x.png
Van Naar

Naar index

Robots.txt

Een robots.txt-bestand is een bestand in de hoofdmap van een site waarin je aangeeft welke delen van de site niet toegankelijk zijn voor crawlers van zoekmachines.
Het bestand gebruikt de Robots Exclusion Standard. Dit is een protocol met een klein aantal opdrachten waarmee de toegang tot de site wordt aangegeven per sectie en per specifiek soort webcrawlers (zoals mobiele crawlers versus desktopcrawlers).
Robots.txt voorkomt dat afbeeldingsbestanden worden weergegeven in zoekresultaten van Google. (Het bestand voorkomt echter niet dat andere pagina's of gebruikers linken naar uw afbeelding.)

We voegen Piwigo toe om te voorkomen dat de duizende foto's geïndexeerd worden bij de diverse zoekmachines.

robots.txt
User-agent: *
Disallow: /archief/
Disallow: /manuals/
Disallow: /piwigo/
Allow: /

Naar index