This is an old revision of the document!
<script type=“text/javascript”><!– google_ad_client = “pub-9915919129347085”; google_ad_width = 728; google_ad_height = 90; google_ad_format = “728x90_as”; google_ad_type = “text_image”; google_ad_channel =””; google_color_border = “000000”; google_color_bg = “000000”; google_color_link = “FFFFFF”; google_color_text = “CCCCCC”; google_color_url = “999999”; –> <script type=“text/javascript”><!– google_ad_client = “pub-9915919129347085”; google_ad_width = 120; google_ad_height = 60; google_ad_format = “120x60_as_rimg”; google_cpa_choice = “CAAQk4b7zwEaCGixdXuSasOjKLu493M”; google_ad_channel = ””; –>
<script type=“text/javascript”><!– google_ad_client = “pub-9915919129347085”; google_ad_width = 120; google_ad_height = 60; google_ad_format = “120x60_as_rimg”; google_cpa_choice = “CAAQkKnI-wEaCADceKXbN5E2KMiWs4MB”; google_ad_channel = ””; –> <script type=“text/javascript”><!– google_ad_client = “pub-9915919129347085”; google_ad_width = 120; google_ad_height = 60; google_ad_format = “120x60_as_rimg”; google_cpa_choice = “CAAQkKnI-wEaCADceKXbN5E2KMiWs4MB”; google_ad_channel = ””; –>
via l'Admininistration / Configuration / General dans le champ “Description de la galerie” changez la Description actuelle, par
<div id="theHeader" 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.
L'attribut id=“theHeader” permet d'affecter une règle css (voir plus bas). D'ailleurs, il est préférable de ne pas utiliser l'attribut style et plutôt d'écrire une règle css.
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.
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) :
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.
Les modifications sont à effectuer dans default_layout.css (local_layout.css pour la version 1.6).
Masquer pour tout le site :
DIV#theHeader { display: none; }
Masquer sur la page image seulement :
BODY#thePicturePage DIV#theHeader { display: none; }
Masquer partout sauf sur la page d'index :
DIV#theHeader { display: none; } BODY#theCategoryPage DIV#theHeader { display: block; }
dans default_layout.css :
BODY { margin: 5px; }
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.
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 de 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 :
Rappel:
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:
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
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 -->
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>
dans default_layout.css :
FORM#quickconnect { display: none; }
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;
with: 22em;
dans #menubar, réduisez margin-left: 24em;
dans #content.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
Dans cette partie nous allons voir comment modifier l'espacement des miniatures sur la page principale et dans les sous-categories.
width : 140px;
Pour augmenter l'espacement, prenez un nombre plus grand.
Selmak
Ces informations sont extraites de ce topic.
Pour le titre ( ex: Accueil [51] )
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:
$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.
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 -->
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.
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'. '&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'. '&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:
dans le fichier template/votre_template/default-layout.css ajouter le bout de code suivant:
TABLE.infoTable { display: none; }
Attention: cette astuce va cacher tous les champs, elle ne permet pas de choisir les champs que vous voulez cacher.
<table class="infoTable" summary="Some info about this picture">
<tr>
et fini par la balise </tr>
.<tr>
et </tr>
, et ceci grace à deux balises <
!
-
-
pour le début et -
-
>
pour la fin du commentaire.INFO_CREATION_DATE
voici donc ce qu'il faut commenter:<tr> <td class="label">{lang:Created on}</td> <td class="value">{INFO_CREATION_DATE}</td> </tr>
Et voila ce que ça donne une fois commenté.
<!-- <tr> --> <!-- <td class="label">{lang:Created on}</td> --> <!-- <td class="value">{INFO_CREATION_DATE}</td> --> <!-- </tr> -->
<!-- END info_rate --> </table>
En effet la suite concerne les informations données par les meta-données de l'image et fait l'objet d'une autre astuce.
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.
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”
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' );
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'];
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&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&search=instructions:$1' ). '">$1</a>', $picture['current']['instructions'] ); } else { $infos['INFO_INSTRUCTIONS'] = l10n('N/A'); } $template->assign_vars($infos);
dans “common_lang.php” ajoutez :
//perso adds $lang['Created at'] = 'Lieu'; $lang['Instructions'] = 'Instructions';
bien sur, à traduire suivant les langues utilisées…
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'])); }
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;
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.
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
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; } }
Remplacez (vers la ligne 45):
<dl> <dt>{L_IDENTIFY}</dt> <dd> <!-- BEGIN hello --> <p>{L_HELLO} {USERNAME} !</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} {USERNAME} !</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; }
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.)
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 contenu 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 ajoutez :
// 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;
Ajoutez
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 remplacez
// 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 base de données, table phpwebgallery_images rajoutez un champ au format blob nommé contents.
FlipFlip
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”.
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)).
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.
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.