Salut,
Je viens proposer un petit mod. En fait je voulais permettre à mes utilisateurs d'avoir un lien facile à partager pour diffuser les photos qu'ils ajoute à la galerie. L'url par défaut c'est http://www.mon-site.com/thumbnails.php?album=lastupby&uid=10 pas facile à retenir ! Donc avec un brin URL Rewriting et quelques modifs j'ai mis en place une redirection vers cette page depuis http://www.mon-site.com/-pseudo- Plus facile non ?
Les espaces, les caratères spéciaux sont remplacés par des - ce qui donne par exemple pour le pseudo Elwood J. Blues l'url : http://www.mon-site.com/-Elwood-J.Blues- (on ajoute juste un - au début et à la fin du pseudo histoire de pas foutre la merde avec d'autres choses)
Comment faire ?
Créer un fichier .htaccess à la racine de votre galerie et mettre ceci à l'intérieur
##############################################################
# Fichier .htaccess #
# #
# Creation Elwood J. Blues pour le mod PseudoPage #
# Pour Coppermine #
##############################################################
# Redirection 404 vers la page d'accueil
ErrorDocument 404 http://www.mon-site.com/
RewriteEngine On
################ CONFIGURATION ######################
### Configuration sous-repertoire
# Si votre site est dans un sous-repertoire, preciser ci-dessous
# le nom du sous-repertoire, et supprimer le '#'
# Chez certains hebergeurs il faut indiquer "RewriteBase /"
RewriteBase /
################ GESTIONS DES URLS #######################
###
# Si le fichier ou repertoire demande existe
# ignorer toutes les regles qui suivent
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule "." - [skip=100]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule "." - [skip=100]
#
###
# PseudoPage
RewriteRule -([0-9a-zA-Z.-]+)\-$ thumbnails.php?album=lastupby&pseudo=$1 [QSA,L]
Ensuite éditez includes/functions.inc.php
Recherchez
case 'lastupby': // Last uploads by a specific user
if (isset($_GET['uid'])) {
$uid = (int)$_GET['uid'];
} else {
$uid = -1;
}
Remplacez par
case 'lastupby': // Last uploads by a specific user
if (isset($_GET['uid'])) {
$uid = (int)$_GET['uid'];
} else {
/////////////////////////////////////////////////////////// MOD PseudoPage by Elwood J. Blues /////////////////////////
if (isset($_GET['pseudo'])) {
$pseudo = $_GET['pseudo'];
$pseudo = str_replace("-", "%", $pseudo);
$result = cpg_db_query("SELECT user_id FROM {$CONFIG['TABLE_USERS']} WHERE user_name LIKE '".$pseudo."'");
$uid = mysql_result($result,0);
mysql_free_result($result);
}
else {
$uid = -1;
}
/////////////////////////////////////////////////////////// MOD PseudoPage by Elwood J. Blues /////////////////////////
// $uid = -1;
}
Dans le fichier profile.php
Recherchez
$user_thumb = '<td width="50%" valign="top" align="center">'
. '<a href="thumbnails.php?album=lastupby&uid=' . $uid . '">'
Remplacez par
/////////////////////////////////////////////////////////// MOD PseudoPage by Elwood J. Blues /////////////////////////
// $user_thumb = '<td width="50%" valign="top" align="center">'
// . '<a href="thumbnails.php?album=lastupby&uid=' . $uid . '">'
$pseudo = get_username($uid);
$pseudo = ereg_replace("&#[0-9]+;", "-", $pseudo);
$pseudo = ereg_replace("[^0-9a-zA-Z.]", "-", $pseudo);
$user_thumb = '<td width="50%" valign="top" align="center">'
. '<a href="-' . $pseudo . '-">'
/////////////////////////////////////////////////////////// MOD PseudoPage by Elwood J. Blues /////////////////////////
Dans le fichier theme.php
Rechechez
$uid_link = (isset($_GET['uid']) && is_numeric($_GET['uid'])) ? '&uid=' . $_GET['uid'] : '';
Remplacez par
/////////////////////////////////////////////////////////// MOD PseudoPage by Elwood J. Blues /////////////////////////
// $uid_link = (isset($_GET['uid']) && is_numeric($_GET['uid'])) ? '&uid=' . $_GET['uid'] : '';
if(isset($_GET['uid']) && is_numeric($_GET['uid'])){
$uid_link = '&uid=' . $_GET['uid'];
}
else {
if (isset($_GET['pseudo'])) {
$pseudo = $_GET['pseudo'];
$pseudo = str_replace("-", "%", $pseudo);
$result = cpg_db_query("SELECT user_id FROM {$CONFIG['TABLE_USERS']} WHERE user_name LIKE '".$pseudo."'");
$uid_link = '&uid='.mysql_result($result,0);
mysql_free_result($result);
}
}
/////////////////////////////////////////////////////////// MOD PseudoPage by Elwood J. Blues /////////////////////////
Si la ligne n'est pas dans votre theme.php ajoutez la fonction "theme_display_thumbnails" du fichier theme.php du thème Sample
Enjoy ;)
Bonjour,
Je n'ai pas tenté d'appliquer ce MOD/HACK ! Mais ça a l'air de le faire ;)
Merci pour cette nouvelle contribution (K+1)
PYAP
;D ;D Merci pour le Karma
Voici un exemple : http://media3.fanaticf1.com/-Adrienb-toy-fan-
est-ce possible de faire la même chose mais avec les favoris? :'(
comment modifier ce MOD afin de pourvoir lire les pages suivantes car on reste bloqué sur la première page :-[
Excellent! Ce serait formidable aussi s'il y avait un mod du genre pour les catégories... Le plugin SEF-URLS reste en effet très basique et ce que tu proposes est bien plus recherché (J'ai tenté une réécriture mais sans succès) :s