This is an old revision of the document!


Table of Contents

Mise en Page générale

Ajout d'une bannière

1ère solution

via l'Admininistration / Configuration / General dans le champ “Description de la galerie” changez la Description actuelle, par

<div style="padding:3px;"><img src="logo/mon_logo.jpg"></div> 

Ce code sera transmis en lieu et place de la description en format texte. Une astuce que l'on doit au Forum et plus particulièrement à rub.

2nde solution

L'inconvénient de la technique précédente est que le titre de la galerie doit être maintenu en format texte.
Le Titre ne doit pas être effacé (dans le but de n'avoir que la bannière) car le titre est utilisé aussi dans la balise <Title>
D'où un retour à l'ancienne technique qui consiste à remplacer dans tous les header.tpl en usage sur le site ( présents dans les sous-répertoires de template ):

<div id="theHeader">
  <h1>{GALLERY_TITLE}</h1>
  <p>{GALLERY_DESCRIPTION}</p>
</div>

par:

<div id="theHeader">
<!--  <h1>{GALLERY_TITLE}</h1> -->
<!--  <p>{GALLERY_DESCRIPTION}</p> -->
<div style="padding:3px;"><img src="template/logo/logo.jpg" width=800 height=100></div>
</div>

Dès lors, il deviendra inutile de placer des balises HTML dans la description, comme proposé dans la solution précédente. Le Titre de la galerie doit par contre impérativement rester en texte simple pour un affichage correct du nom de la page par les navigateurs.

Changer la couleur des polices et autres...

En théorie quand on commence à changer les couleurs, il faut les changer toutes. C'est pourquoi le template standard yoga propose de façon regroupée toutes les couleurs (autant pour les fonds que pour les caractères). C'est default-color.css qu'il faut adapter. Un extrait:

H3 {
    color: #696969;
    background: #ffffff;
}
 
A {
    color: #005e89;
    background: transparent;
}
 
A:hover {
    color: #858460;
}
 
 
.pleaseNote {
    background: #9c9c9c;
    color: #ffff99;
    padding: 1ex;
    font-weight: bold;
}
 
#imageHeaderBar {
    background: #d3d3d3;
}

Pour ceux qui ne seraient pas encore des experts en css (Cascading Style Sheets) :

  • les balises hmtl (exemple: H3)
  • les pseudo-formats (exemple: A:hover, balise <A dont le curseur est sur la zone>)
  • les attributs universels marqués par ”.” (exemple: .pleaseNote, une balise html avec l'attribut class=“pleaseNote” )
  • les attributs universels marqués par ”#” (exemple: #imageHeaderBar, une balise html avec l'attribut id=“imageHeaderBar”)
  1. id=“imageHeaderBar” ne doit figurer qu'une seule fois dans la page (c'est une zone de l'écran bien définie).
  2. class=“pleaseNote” pourra être utilisé plusieurs fois dans une même page.

C'est un peu compliqué mais les informations ci-dessus devraient suffire à la grande majorité des webmasters pour se repérer et changer les couleurs de PWG.

Masquer le titre de la galerie

dans default_layout.css :

#theHeader {
  display: none;
}

Positioner la marge de la page

dans default_layout.css :

BODY {
    margin: 5px;
}

Mise en Page de "Category"

Placer un logo au dessus du menu à gauche.

Dans chaque template mis à disposition des membres, modifiez par exemple \category.tpl

ajoutez après ceci:

<!-- $Id: category.tpl,v 1.4 2005/10/31 13:47:58 plg Exp $ -->
<div id="menubar">

quelque chose comme ceci:

 <a href="{U_HOME}" title="{GALLERY_TITLE}"><img src="template/yoga/theme/home.png" border="0"></a>

Pour l'exemple on a repris home.png de yoga mais ceci devrait être plus spécifique à chaque site, bien entendu. Ce n'est que pour vous donner une idée. A la place de {U_HOME} vous pouvez mettre l'URL de votre site principal. A celle de {GALLERY_TITLE}, vous aurez bien votre idée. Le résultat visuel n'est pas idéal toutefois. Si vous avez une meilleure proposition, le forum vous est ouvert.

Une autre solution basée header.tpl n'est pas exclue.

Activez vos liens

Tout paramètre de config_default.inc.php peut être changé par config_local.inc.php, le dernier mot étant pour config_local.inc.php.
Intérêt: upgrade de version de PWG depuis la version 1.5.0, config_local.inc.php n’est plus “écrasé” et ses paramètres sont maintenus.

Dans /tools/ vous avez un exemple de config_local.inc.php
Copiez ce module dans /include/

Cette copie doit maintenant être modifiée en fonction de vos besoins.
Vous devez comprendre les paramètres ce que vous choisissez de configurer(Configuration):

$conf['prefix_thumbnail'] = 'tb_';
$conf['show_gt'] = true;

Vous supprimez ces 2 lignes, au risque de ne plus voir une seule miniature [Piège à newbies].

Explications: $conf est un tableau indicé par des noms de paramètre prédéfinis.
Dans la cellule 'links', il y a un tableau vide en standard: array();
Ajoutez l'activation du menu liens, comme l'explique déjà la page de Configuration, et en s'inspirant des commentaires:

// links : liste de liens externes à ajouter dans le menu. Un exemple valant
// mieux qu'une longue explication :
//
 $conf['links'] = array(
   'http://phpwebgallery.net' => 'PWG website',
   'http://forum.phpwebgallery.net' => 'PWG forum',
   'http://phpwebgallery.net/doc' => 'PWG wiki'
   );

A gauche, l'URL et à droite le nom du lien.
Vous avez besoin d'un aspostrophe simple (quote en programmation), pensez à ajouter une barre oblique inversée (anti-slash en programmation).

Vous venez de mettre en place :

  • un lien vers “PWG website”,
  • un autre vers “PWG forum”,
  • et enfin, un vers “PWG wiki”.

Rappel:

  1. Ajoutez toutes vos modifications de paramètre dans config_local.inc.php (comme l'explique, encore et encore, la page de Configuration)
  2. Plus jamais, vous ne devrez faire de modification dans config_default.inc.php

Tous ceux, qui ne respectent pas ces principes, le regretterons probablement un jour.

Toutes les cellules du tableau $conf peuvent contenir des valeurs selon les principes du langage PhP. C'est à dire:

  1. des valeurs ( de type booléen, numérique, chaîne de caractère, etc.),
  2. des tableaux de valeurs,
  3. des tableaux de tableaux de valeurs, …

Toute cellule de $conf référencée dans config_default.inc.php peut être ajustée au besoin de votre site dans config_local.inc.php.

Si vous ajustez plusieurs fois un des paramètres de $conf, seule la dernière valeur attribuée comptera.
exemple à ne pas suivre:

 $conf['links'] = array(
   'http://phpwebgallery.net' => 'PWG website',
   'http://forum.phpwebgallery.net' => 'PWG forum',
   'http://phpwebgallery.net/doc' => 'PWG wiki'
   );
 $conf['links'] = array(); // Annule la mise à jour précedente

Ouvrir dans une nouvelle fenêtre

Pour chaque template utilisé dans category.tpl (exemple yoga)

Remplacez (aux environs de la ligne 3, les lignes suivantes ci-dessous):

<!-- BEGIN links -->
<dl>
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li><a href="{links.link.URL}">{links.link.LABEL}</a></li>
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

Par:

<!-- BEGIN links -->
<dl>
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li><a target="_blank" href="{links.link.URL}">{links.link.LABEL}</a></li> <!-- MyPWG -->
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

Déplacer le menu "Liens"

Pour chaque template utilisé dans category.tpl (exemple yoga)

Déplacez (ligne 3 et les lignes suivantes ci-dessous):

<!-- BEGIN links -->
<dl>
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li><a href="{links.link.URL}">{links.link.LABEL}</a></li>
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

Avant (ou mieux après), ceci:

<dl>
  <dt>{L_SUMMARY}</dt>
  <dd>
    <ul>
      <!-- BEGIN summary -->
      <li><a href="{summary.U_SUMMARY}" title="{summary.TITLE}">{summary.NAME}</a></li>
      <!-- END summary -->
      <!-- BEGIN upload -->
      <li><a href="{upload.U_UPLOAD}">{L_UPLOAD}</a></li>
      <!-- END upload -->
    </ul>
  </dd>
</dl>

Masquer la "Connexion rapide" dans la barre de menu

dans default_layout.css :

FORM#quickconnect {
  display: none;
}

Largeur du menu

dans template/yoga/menubar.css, recherchez au début:

#menubar {
    /* Do not put font-size: 90% here for it makes it harder to have correct
       margin for contentarea */
    float: left;
    left: 0px;
 
    width: 22em;
    margin: 0 0 10px 1em;
    padding: 0;
    /* Fix against the "double margin of a floated item" IE bug */
    /* Damned: that screws up top_navbar in opera 7.54/Linux! */
    display: inline;
    text-align: left; /* follow-up of the "be nice to IE5" rule */
}

et dans template/yoga/content.css, recherchez au début:

#content {
    margin-left: 24em;
  1. Si vous réduisez with: 22em; dans #menubar, réduisez margin-left: 24em; dans #content.
  2. Selon le même principe, si vous augmentez l'un alors pensez à augmenter l'autre.

Faire un édito avec la description

Le but de cette modification est d'avoir une meilleure intégration de la description disponible dans l'interface d'administration http://phpwebgallery.net/doc/doku.php?id=fr:configuration#ecrans_de_configuration.

Dans le fichier VotreTemplate/header.tpl remplacer :

<div id="theHeader">
  <h1>{GALLERY_TITLE}</h1>
  <p>{GALLERY_DESCRIPTION}</p>
</div>

Par

<div id="theHeader">
  <h1>{GALLERY_TITLE}</h1>
  <!-- <p>{GALLERY_DESCRIPTION}</p> -->
</div>

Dans le fichier VotreTemplate/category.tpl après :

</div> <!-- menubar -->

Ajouter

<div id="content">
  <div>
    <h2>Edito</h2>
    <p class="Edito">{GALLERY_DESCRIPTION}</p>
  </div>
</div>

Dans le fichier VotreTemplate/content.css ajouter :

.Edito {
  text-align: left;
  padding: 5px;
}

FlipFlip

Changer l'espacement des miniatures

Dans cette partie nous allons voir comment modifier l'espacement des miniatures sur la page principale et dans les sous-categories.

  1. Editez le fichier ./template/vos_template/content.css
  2. A la ligne 34 : modifier la valeur de l'argument width :
width : 140px;

Pour augmenter l'espacement, prenez un nombre plus grand.

Selmak

Modifier les crochets qui encadrent les nombres

Ces informations sont extraites de ce topic.

Pour le titre ( ex: Accueil [51] )

  • Dans category.php vers la ligne 130
if ( isset( $page['cat_nb_images'] ) and $page['cat_nb_images'] > 0 )
{
  $template_title.= ' ['.$page['cat_nb_images'].']';
}

Il suffit de changer les 2 crochets qui sont à l'intérieur des simple quotes.

Pour les catégories dans le menu:

  • Dans include/functions_html.inc.php vers la ligne 400
$menu.= ' title="'.$category['nb_images'];
$menu.= ' '.$lang['images_available'].'">';
$menu.= '['.$category['nb_images'].']';
$menu.= '</span>';

Il suffit de changer les 2 crochets qui sont à l'intérieur des simple quotes sur la troisième ligne.

Doubler et ajouter en haut des vignettes les liens vers les pages suivantes

dans category.tpl ligne 118, après

<!-- END calendar -->

insérez

<!-- BEGIN cat_infos -->
<!-- BEGIN navigation -->
<div class="navigationBar">
{cat_infos.navigation.NAV_BAR}
</div>
<!-- END navigation -->
<!-- BEGIN comment -->
<div class="additional_info">{cat_infos.comment.COMMENTS}</div>
<!-- END comment -->
<!-- END cat_infos -->

Mise en Page de "Picture"

Donner une position fixe aux miniatures précédente/suivante de la page "picture"

Afin de mettre les miniatures de chaque coté de l'image sous la barre de titre, essayez dans default_layout.css :

#the_page {
  position: relative;
}
* html #the_page { /* IE only */
  position: absolute; 
  left: 0;
}
#thumbPrev {
  position: absolute;
  left: 5px;
  top: 200px;
  float: none;
}
#thumbNext {
  position: absolute;
  right: 5px;
  top: 200px;
  float: none;
}

Ceci semble correct avec Gecko, KHTML, Opera, et IE (avec l'exception “* html #the_page”) Nous ne conseillons pas vraiment cette mise en page car quand l'image est large, les miniatures recouvrent l'image et ce n'est pas très agréable.

Modifier l'apparence des légendes de la page "picture"

Toutes les informations en légende de l'image en cours sont générées avec les mêmes attributs. Si vous avez besoin d'en modifier certains, vous pouvez modifier picture.php. Par exemple le champ “Auteur”, aux environs de la ligne 671, recherchez ceci:

// author
if (!empty($picture['current']['author']))
{
  $infos['INFO_AUTHOR'] =
    '<a href="'.
    add_session_id(
      PHPWG_ROOT_PATH.'category.php?cat=search'.
      '&amp;search=author:'.$picture['current']['author']
      ).
    '">'.$picture['current']['author'].'</a>';
}
else
{
  $infos['INFO_AUTHOR'] = l10n('N/A');
}

Il est possible d'ajouter une “class” (class=“author” et de la gérer dans defaut-color.css), ou d'ajouter style=“color: #009900; font-weight: bold;”… Ce qui donnera par exemple:

// author
if (!empty($picture['current']['author']))
{                                                     /* MyPWG Start */
  $infos['INFO_AUTHOR'] =
    '<a style="color: #009900; font-weight: bold;" href="'.
    add_session_id(
      PHPWG_ROOT_PATH.'category.php?cat=search'.
      '&amp;search=author:'.$picture['current']['author']
      ).
    '">'.$picture['current']['author'].'</a>';
}
else
{
  $infos['INFO_AUTHOR'] = '<span class="water">'.l10n('N/A').'</span>';
}                                                     /* MyPWG End */

Ceci se vérifie pour tous les champs des metadata renseignés.

Note: l'usage de “style” ne devrait être utilisé que pour des tests, normalement utilisez “class” et des options dans default-color.css et spécialement si vous voulez réaliser un MOD.

Astuces:

  • Essayez de faire vos modifications sans ajouter de ligne (ceci simplifie le support et la mise en oeuvre de MOD).
  • Essayez d'ajouter un marqueur (commentaire) pour simplifier vos recherches avant d'appliquer une nouvelle version de PWG (tout simplement ajoutez /* MyPWG */ )

Masquer les champs "Enregistré le", "Dimensions", "Fichier", "Poids", "Mots-clefs" sous les photos

dans le fichier template/votre_template/default-layout.css ajouter le bout de code suivant:

TABLE.infoTable {
    display: none;
}

Modifier le choix d'informations affichées par défaut sous la photo de taille moyenne

Je vous donne ci-dessous les modifications que j'ai apporté à ma gallerie. Pour l'utilisation qui est la mienne, je souhaitais que les infos tirées des champs IPTC des photos soient tous visibles par défaut et de façon permanente. Cela n'a que valeur d'exemple et pour une utilisation précise. Il faut donc passer par toutes les étapes ci-dessous. La méthode n'est sans doute pas ortodoxe mais mes connaissances sont limités. Je vous conseille de faire une sauvegarde de vos fichier avant toute intervention…. merci. V-IMAGES.com/eric.

- validations des champs IPTC utilisés dans les photos par la page "tools/metadata.php"
- création dans la base, dans la table "images" des nouveaux champs de données :

Cet exemple se base sur l'ajout de 2 champs, le lieu de prise de vue (place_creation) et un commentaire supplémentaire (instructions).
Ces noms de champs peuvent être changés à votre guise. Il faut dans ce cas les changer partout dans la procédure ci-dessous.
Ouvrez la table “images” et ajoutez les colonnes “instructions” et “place_creation” sur le modele de la colonne “comment”

- entrez et/ou modifiez dans le fichier "config_local.inc.php" les éléments de configuration voulus :

Voyez pour les autres references de champs IPTC ( relation nom/numéro ) le tableau que j'avais placé dans le wiki pour la 1.4.1.

// show_iptc: Show IPTC metadata on picture.php if asked by user
$conf['show_iptc'] = true;
 
// To know how to associated iptc_field with their meaning, use
// tools/metadata.php
$conf['show_iptc_mapping'] = array(
  'name'            => '2#005',
  'date_creation'   => '2#055',
  'place_creation'  => '2#090',
  'author'          => '2#080',
  'comment'         => '2#120',
  'keywords'        => '2#025',
  'instructions'    => '2#040'
  );
 
// use_iptc: Use IPTC data during database synchronization with files
// metadata
$conf['use_iptc'] = true;
 
// use_iptc_mapping : in which IPTC fields will PhpWebGallery find image
// information ? This setting is used during metadata synchronisation. It
// associates a phpwebgallery_images column name to a IPTC key
$conf['use_iptc_mapping'] = array(
  'name'            => '2#005',
  'comment'         => '2#120',
  'date_creation'   => '2#055',
  'place_creation'  => '2#090',
  'keywords'        => '2#025',
  'author'          => '2#080',
  'instructions'    => '2#040'
  );
 
// show_exif: Show EXIF metadata on picture.php (table or line presentation
// avalaible)
$conf['show_exif'] = false;
 
// 
$conf['show_exif_fields'] = array();
 
// use_exif: Use EXIF data during database synchronization with files
// metadata
$conf['use_exif'] = false;
 
// use_exif_mapping: same behaviour as use_iptc_mapping
$conf['use_exif_mapping'] = array(
  'date_creation' => 'DateTimeOriginal'
  );
- suppression des infos non désirées affichées sous l’image de taille moyenne

dans “picture.php”, supprimez :

// size in pixels
if ($picture['current']['is_picture'])
{
  if ($original_width != $picture_size[0]
      or $original_height != $picture_size[1])
  {
    $infos['INFO_DIMENSIONS'] =
      '<a href="'.$picture['current']['src'].'" title="'.
      l10n('Original dimensions').'">'.
      $original_width.'*'.$original_height.'</a>';
  }
  else
  {
    $infos['INFO_DIMENSIONS'] = $original_width.'*'.$original_height;
  }
}
else
{
  $infos['INFO_DIMENSIONS'] = l10n('N/A');
}
 
// filesize
if (!empty($picture['current']['filesize']))
{
  $infos['INFO_FILESIZE'] =
    sprintf(l10n('%d Kb'), $picture['current']['filesize']);
}
else
{
  $infos['INFO_FILESIZE'] = l10n('N/A');
}
 
// number of visits
$infos['INFO_VISITS'] = $picture['current']['hit'];
- modification et ajout de l'affichage des nouveaux éléments

dans “picture.tpl”, supprimez :

<tr>
    <td class="label">{lang:Dimensions}</td>
    <td class="value">{INFO_DIMENSIONS}</td>
  </tr>
  <tr>
    <td class="label">{lang:Filesize}</td>
    <td class="value">{INFO_FILESIZE}</td>
  </tr>
  <tr>
    <td class="label">{lang:Visits}</td>
    <td class="value">{INFO_VISITS}</td>
  </tr>

Vous pouvez monter ou décendre les infos selons vos souhaits.
Il faut pour cela bouger la ligne de tableau complète.
par exemple celle-ci:

  <tr>
    <td class="label">{lang:Visits}</td>
    <td class="value">{INFO_VISITS}</td>
  </tr> 

Dans “picture.tpl” ajoutez :

  <tr>
    <td class="label">{lang:Created at}</td>
    <td class="value">{INFO_CREATION_PLACE}</td>
  </tr>
 <tr>
    <td class="label">{lang:Instructions}</td>
    <td class="value">{INFO_INSTRUCTIONS}</td>
  </tr>

Pour pouvoir voir les nouvelles infos,
Dans “picture.php”, ajoutez :

// place creation
if (!empty($picture['current']['place_creation']))
{
  $infos['INFO_CREATION_PLACE'] =
    preg_replace(
      '/([^,]+)/',
      '<a href="'.
      add_session_id(
        PHPWG_ROOT_PATH.'category.php?cat=search&amp;search=place_creation:$1'
        ).
      '">$1</a>',
      $picture['current']['place_creation']
      );
}
else
{
  $infos['INFO_CREATION_PLACE'] = l10n('N/A');
}
 
$template->assign_vars($infos);

et

// instructions
if (!empty($picture['current']['instructions']))
{
  $infos['INFO_INSTRUCTIONS'] =
    preg_replace(
      '/([^,]+)/',
      '<a href="'.
      add_session_id(
        PHPWG_ROOT_PATH.'category.php?cat=search&amp;search=instructions:$1'
        ).
      '">$1</a>',
      $picture['current']['instructions']
      );
}
else
{
  $infos['INFO_INSTRUCTIONS'] = l10n('N/A');
}
 
$template->assign_vars($infos);
- suppression du bouton "affichage des metadata" de la barre de boutons.

supprimez :

 <a href="{U_METADATA}" title="{L_PICTURE_METADATA}"><img src="template/yoga-dark/theme/metadata.png" alt="{L_PICTURE_METADATA}"></a>

Dans la mesure ou l'on fixe l'affichage des infos, ce bouton n'a plus lieu d'être.

- ajout des mots dans les fichiers "langues"

dans “common_lang.php” ajoutez :

//perso adds
$lang['Created at'] = 'Lieu';
$lang['Instructions'] = 'Instructions';

bien sur, à traduire suivant les langues utilisées…

Mode de fonctionnement (Comportement)

Afficher le nombre de commentaires des utilisateurs (seulement s'il en existe)

dans include/category_default.inc.php, (ligne 136) remplacez

$template->assign_block_vars(
  'thumbnails.line.thumbnail.nb_comments',
  array('NB_COMMENTS'=>$row['nb_comments']));

par

if ($row['nb_comments'] > 0)
{
$template->assign_block_vars(
  'thumbnails.line.thumbnail.nb_comments',
  array('NB_COMMENTS'=>$row['nb_comments']));
}

Miniatures coupées

Il faut modifier les templates (yoga et yoga-dark) si les vignettes sont plus grandes que 128x128px.

Dans content.css on trouve :

#content UL.thumbnails SPAN {
  margin: 0 5px 5px 5px;
  /*width: 130px;		 128px + 2 * 1px if the SPAN has a border of 1px */
  width: 128px;			/* we can use the same size as well */
  display: table-cell; display: inline-table; display: inline-block;
  vertical-align: top;		/* OK with Opera and IE6 not Gecko */
  text-align: center;		/* to center the thumbnail and legend in Geko/Opera */
  font-size: 80%;
}
#content UL.thumbnails SPAN SPAN {
  margin: 0;			/* important reset the margins */
  border: 1px solid #aaaaaa;
  width: 128px;			/* fixed size again */
  height: 128px;		/* fixed size again */
  display: table-cell;		/* block prevents vertical-align here */
  vertical-align: middle;	/* Ok with Opera and Geko not IE6 */
}

Remplacez width: 128px; par width: 200px;

Miniatures qui débordent (1.5.*)

Il faut modifier les templates (yoga et yoga-dark) si les vignettes sont plus grandes que 128x128p et débordent de leur cadre.

Dans content.css on trouve :

/* Thumbnails customization */
#content UL.thumbnails SPAN, #content UL.thumbnails SPAN.wrap2 A {
  width: 128px; /* max thumbnail width + 2px */
}
#content UL.thumbnails SPAN.wrap2 {
  height: 128px; /* max thumbnail height + 2px */
}

Remplacez width: 128px; par width: 160px; et height: 128px; par heigth: 160px; . Adaptez cette hauteur,largeur selon la taille de vos miniatures.

Gestion manuelle des sites distant

Pour ceux qui ne peuvent pas exécuter la mise à jour des sites distant directement depuis l'interface d'administration de PWG, il est possible en modifiant un peu le fichier create_listing_file.php d'obtenir un menu lorsque vous executez ce fichier directement depuis votre site distant.

Dans create_listing_file.php remplacer vers la ligne 475 :

if (isset($_GET['action']))
{
  $page['action'] = $_GET['action'];
}
else
{
  $page['action'] = 'generate';
}

Par

if (isset($_GET['action']))
{
  $page['action'] = $_GET['action'];
}
else
{
  $page['action'] = '';
}

Ensuite vers la ligne 540 ajouter après :

  case 'clean' :
  {
    if( @unlink('./listing.xml'))
    {
      echo 'PWG-INFO-3 : listing.xml file deleted'."\n";
    }
    else
    {
      echo 'PWG-ERROR-3 : listing.xml does not exist'."\n";
    }
    break;
  }

Ceci :

  default:
   // Menu de lancement pour la mise à jour manuel des sites distant
   echo '<ul>';
   echo '        <li><a href="create_listing_file.php?action=generate">Generate listing.xml</a></li>';
   echo '        <li><a href="create_listing_file.php?action=test">Test</a></li>';
   echo '        <li><a href="create_listing_file.php?action=clean">Clean listing.xml</a></li>';
   echo '</ul>';

Il est possible aussi de télécharger directement le fichier listing.xml depuis le fichier create_listing_file.php en ajoutant après :

      echo 'PWG-INFO-1: listing.xml created in ';
      echo get_elapsed_time($start, get_moment());
      echo "\n";
      echo '<br><a href="http://'.$_SERVER['HTTP_HOST'].$local_folder.'listing.xml">Clic here for download file</a>';

Il ne vous reste plus qu'à exécuter le fichier create_listing_file.php directement depuis votre navigateurs, générer le fichier listing.xml, le télécharger sur votre poste puis par ftp le mettre à la racine de votre site principal. Ensuite rendez-vous dans l'interface d'administration de PWG, section Site distant.

FlipFlip

Désactiver la page upload des miniatures

Dans upload.php, ligne 204 en principe, cherchez:

  if ( sizeof( $error ) == 0 )
  {
    $query = 'insert into '.WAITING_TABLE;
    $query.= ' (storage_category_id,file,username,mail_address,date,infos)';
    $query.= ' values ';
    $query.= '('.$page['cat'].",'".$_FILES['picture']['name']."'";
    $query.= ",'".htmlspecialchars( $_POST['username'], ENT_QUOTES)."'";
    $query.= ",'".$_POST['mail_address']."',".time().",'".$xml_infos."')";
    $query.= ';';
    pwg_query( $query );
    $page['waiting_id'] = mysql_insert_id();
  }
}

et remplacez par:

  if ( sizeof( $error ) == 0 )
  {
    $query = 'insert into '.WAITING_TABLE;
    $query.= ' (storage_category_id,file,username,mail_address,date,infos)';
    $query.= ' values ';
    $query.= '('.$page['cat'].",'".$_FILES['picture']['name']."'";
    $query.= ",'".htmlspecialchars( $_POST['username'], ENT_QUOTES)."'";
    $query.= ",'".$_POST['mail_address']."',".time().",'".$xml_infos."')";
    $query.= ';';
    pwg_query( $query );
    $page['waiting_id'] = mysql_insert_id();
    $page['upload_successful'] = true;
  }
}

Désactiver l'acces à la page d'enregistrement

  • Identifiez le template utilisé par les visiteurs (guest). Par défaut, et pour l'exemple, supposons qu'il s'agit du template yoga.
  • Donc, vous devez modifier yoga/category.tpl.

Remplacez (vers la ligne 45):

<dl>
  <dt>{L_IDENTIFY}</dt>
  <dd>
    <!-- BEGIN hello -->
    <p>{L_HELLO}&nbsp;{USERNAME}&nbsp;!</p>
    <!-- END hello -->
    <ul>
      <!-- BEGIN register -->
      <li><a href="{U_REGISTER}">{L_REGISTER}</a></li>
      <!-- END register -->
      <!-- BEGIN login -->
      <li><a href="{F_IDENTIFY}">{lang:Connection}</a></li>
      <!-- END login -->
      <!-- BEGIN logout -->
      <li><a href="{U_LOGOUT}">{L_LOGOUT}</a></li>
      <!-- END logout -->
      <!-- BEGIN profile -->
      <li><a href="{U_PROFILE}" title="{L_PROFILE_HINT}">{L_PROFILE}</a></li>
      <!-- END profile -->
      <!-- BEGIN admin -->
      <li><a href="{U_ADMIN}" title="{L_ADMIN_HINT}">{L_ADMIN}</a></li>
      <!-- END admin -->
    </ul>

par:

<dl>
<!--  <dt>{L_IDENTIFY}</dt>
-->  <dd>
<!--    <!-- BEGIN hello -->
<!--    <p>{L_HELLO}&nbsp;{USERNAME}&nbsp;!</p>
<!--    <!-- END hello -->
<!--    <ul>
<!--      <!-- BEGIN register -->
<!--      <li><a href="{U_REGISTER}">{L_REGISTER}</a></li>
<!--      <!-- END register -->
<!--      <!-- BEGIN login -->
<!--      <li><a href="{F_IDENTIFY}">{lang:Connection}</a></li>
<!--      <!-- END login -->
<!--      <!-- BEGIN logout -->
<!--      <li><a href="{U_LOGOUT}">{L_LOGOUT}</a></li>
<!--      <!-- END logout -->
<!--      <!-- BEGIN profile -->
<!--      <li><a href="{U_PROFILE}" title="{L_PROFILE_HINT}">{L_PROFILE}</a></li>
<!--      <!-- END profile -->
<!--      <!-- BEGIN admin -->
<!--      <li><a href="{U_ADMIN}" title="{L_ADMIN_HINT}">{L_ADMIN}</a></li>
<!--      <!-- END admin -->
<!--    </ul>
-->

Dans yoda/default_layout.css, ajoutez:

FORM#quickconnect {
  display: none;
}
  • Gardez à l'esprit que vous venez de masquer le moyen de vous identifier.

Vous pouvez toujours vous identifier par http://votresiteweb.com/identification.php (ne pas oubliez ce point pour passer en Administrateur, lequel doit utiliser un template différent pour pouvoir se déconnecter si nécessaire !!! Utilisation du PC d'un ami par exemple.)

Intégrer la vignette dans la base de données

Cette modification va vous permettre de stocker dans un champs blob l'image. L'interêt est limité pour un usage sur le net car cela peu devenir très vite volumineux. J'ai eu besoin de faire cette modification pour permettre la récupération de l'image par Crystal Report, un générateur d'état.

ATTENTION, cette modification s'applique aux images ajoutées après la modification, je n'ai pas testé si une simple resynchronisation du contenue des répertoires permet la sauvegarde en base de la vignette, de même que je n'ai pas testé sur les sites distants !

Dans le fichier confg_local.inc.php ajouté :

// Activation/désactivation du stockage de la vignette dans la base
$conf['blob_thumbnail'] = true;

Dans admin/update.php vers la ligne 381 après

      // if we found a thumnbnail corresponding to our picture...
      if ($tn_ext != '')
      {
        $insert{'id'} = $next_element_id++;
        $insert{'file'} = $filename;
        $insert{'storage_category_id'} = $db_fulldirs[$dirname];
        $insert{'date_available'} = CURRENT_DATE;
        $insert{'tn_ext'} = $tn_ext;
        $insert{'path'} = $path;

Ajouter

        if($conf['blob_thumbnail'])
        {
          // génération de la vignette pour l'import dans la base (blob)
          $handle = fopen($dirname.'/thumbnail/'.$conf['prefix_thumbnail'].$filename, 'rb');
          $contents = addslashes(fread($handle, filesize($dirname.'/thumbnail/'.$conf['prefix_thumbnail'].$filename)));
          fclose ($handle);
          $insert{'contents'} = $contents;
        }

Vers la ligne 445 remplacé

        // inserts all new elements
        $dbfields = array(
          'id','file','storage_category_id','date_available','tn_ext'
          ,'representative_ext','path'
          );

Par

      if($conf['blob_thumbnail'])
      {
        // inserts all new elements
        $dbfields = array(
          'id','file','storage_category_id','date_available','tn_ext'
          ,'representative_ext','path','contents'
          );
      }
      else
      {
        // inserts all new elements
        $dbfields = array(
          'id','file','storage_category_id','date_available','tn_ext'
          ,'representative_ext','path'
          );
      }

Dans votre bas de données, table phpwebgallery_images rajouté un champs au format blob nommé contents.

FlipFlip

Astuces proposées avec les versions précédentes et intégrées avec la 1.5

Ajouter un paragraphe au Menu, contenant des liens perso.

En standard de la version 1.5, voir la configuration.

Titre de la galerie sur chaque page

Astuce encore spécifique aux versions 1.5.0 et 1.5.1, intégré à partir de la 1.5.2

Le titre de la gallerie (“Ma galerie” par exemple) n'apparaît pas dans les templates proposés en standard par PWG, seul le titre de la page (catégorie “Vacances” par exemple) est présent.

Ce petit désagrément doit être corrigé dans chaque fichier header.tpl des templates utilisés
remplacez

<title>{PAGE_TITLE}</title>

par

<title>{GALLERY_TITLE} : {PAGE_TITLE}</title>

C'est très important aussi pour le référencement.
Ainsi au niveau du navigateur utilisé apparaîtra “Ma galerie : Vacances” si vous sélectionnez la catégorie “Vacances”.

Sortir l'Admin de l'historique

En standard de la version 1.5, voir la configuration.

Afficher le nombre de membres dans l'admin

Présence standard en 1.5, sur la page d'accueil de l'Administration de la galerie. (Notez qu'il existe un d'écart entre la liste des membres et le nombre présenté sur cette page (le user Guest/Visiteur ne figure pas dans les listes mais c'est un utilisateur)).

Agrandir les zones de listes dans la partie admin...

Pour mémoire: depuis la version 1.5 de PWG, les différentes listes sont plus larges et plus longues, en principe, que précédemment.

  • Si vous avez encore des problèmes avec certaines listes, alors vérifiez avec un autre navigateur et avec un autre template.

Pour l'ensemble de l'équipe du Projet, le problème connu des versions précédentes est définitivement réglé, il est donc inutile de s'investir au delà de ces quelques lignes.

Merci de votre compréhension.

Astuces en cours de révision

Fermeture entrée visiteur

 
Back to top
fr/personnalisation/branche_1.5.1143486778.txt.gz · Last modified: 2009/03/07 22:13 (external edit)
 
 
github twitter newsletter Donate Piwigo.org © 2002-2024 · Contact