Author Topic: Les Nouvelles images  (Read 9689 times)

0 Members and 1 Guest are viewing this topic.

Offline seb3ds4

  • Pre-Newbie
  • Posts: 8
    • View Profile
Les Nouvelles images
« on: November 18, 2006, 02:24:19 PM »
bonjours a tous,

j'ai regarde dans le forum avant de poster, mais je n'ai pas trouver la reponse que j'espere. quelques petites pistes c'est sur mais pas totalement :wink:
J'aimerais quand on arrive sur ma page d'acceuil, dans la section Nouvelles images, on vois toutes les nouvelles images et pas uniquement 4 ou un nombre que j'aurais definit moi meme.
je sais que ca se trouve dans l'index.php j'ai reperé ce code:
Quote
$num_new_images = $config['image_cells'];
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
        FROM ".IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c
        LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
        WHERE i.image_active = 1 AND c.cat_id = i.cat_id AND i.cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")
        ORDER BY i.image_date DESC
        LIMIT $num_new_images";
$result = $site_db->query($sql);
$num_rows = $site_db->get_numrows($result);

Je pourrais tout simple affecter un nombre a la valeur num_new_images, mais c'est pas ce que je recherche.
Je pense qu'il faut modifier la requete SQL mais je comprends pas trop comment ca fonctionne.
La d'apres ce que je comprends ca recupere les infos des images en les classant par date et en limitant le tout au nombre de num_new_image.
moi je voudrais que ca affiche toutes les images qui comporte le tag Nouveau.
Si quelqu'un peux m'aider se serait bien sympatique.
Merci d'avance

manurom

  • Guest
Re: Les Nouvelles images
« Reply #1 on: November 19, 2006, 03:34:34 AM »
Bonjour;
tu peux peut-être travailler là-dessus: http://www.4homepages.de/forum/index.php?topic=14195.0
Pour moi, ça marche, sur 4images 1.7.4.
Bonne suite.
« Last Edit: November 19, 2006, 03:51:19 AM by manurom »

Offline seb3ds4

  • Pre-Newbie
  • Posts: 8
    • View Profile
Re: Les Nouvelles images
« Reply #2 on: November 19, 2006, 01:57:05 PM »
merci pour la reponse manurom.

bon j'avais oublier de preciser je suis sur la version 1.7.1 ou j'ai modifier deja pas mal de truc et qq correctif de secu..

bon alors voila a quoi resemble mon fichier index.php apres la lecuture de ce post:
http://www.4homepages.de/forum/index.php?topic=14195.msg76531#msg76531

Quote
$num_new_images = $config['image_cells'];
//Ajout sur conseil de manurom
$sql = "SELECT COUNT(image_id) as num
        FROM ".IMAGES_TABLE."
        WHERE image_active = 1 AND cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")";
if (!$result = $site_db->query_firstrow($sql))
{
  $result['num'] = 0;
}
$link_arg = $site_sess->url(ROOT_PATH."index.php");

include(ROOT_PATH.'includes/paging.php');
$getpaging = new Paging($page, $num_new_images, $result['num'], $link_arg);
$offset = $getpaging->get_offset();

$site_template->register_vars(array(
  "paging" => $getpaging->get_paging(),
  "paging_stats" => $getpaging->get_paging_stats()
));
// fin ajout conseil manuom
// suite du fichier index classique
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
        FROM ".IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c
        LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
        WHERE i.image_active = 1 AND c.cat_id = i.cat_id AND i.cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")
        ORDER BY i.image_date DESC
        LIMIT $offset,$num_new_images";
// changement de LIMIT $num_new_images";
$result = $site_db->query($sql);
$num_rows = $site_db->get_numrows($result);

par contre a la fin du post y a ceci:
Quote
And finaly add {paging} and {paging_stats} tags in home.html template
tu pourrais m'en dire plus ? ou les ajouter...
merci de ton aide

manurom

  • Guest
Re: Les Nouvelles images
« Reply #3 on: November 19, 2006, 02:01:48 PM »
Salut;
ajoute les tags {paging} et {paging_stats} dans ton fichier de template "home.html", en dessous de ton tag {new_images}.

Offline seb3ds4

  • Pre-Newbie
  • Posts: 8
    • View Profile
Re: Les Nouvelles images
« Reply #4 on: November 19, 2006, 02:24:57 PM »
 :oops: suis-je bete, c'etait vraiment trop simple cet ajout de tag!

Ca ameliore, mais c'est pas encore ce que je veux faire.

Dans l'etat actuel des choses, dans nouvelles images j'ai donc une selection direct des images dans ma section Nouvelles images.
moi je voudrais, que seul les nouvelles images qui soient listées!  :?

manurom

  • Guest
Re: Les Nouvelles images
« Reply #5 on: November 19, 2006, 02:30:37 PM »
Dans l'etat actuel des choses, dans nouvelles images j'ai donc une selection direct des images dans ma section Nouvelles images.
moi je voudrais, que seul les nouvelles images qui soient listées!  :?

J'ai franchement du mal à suivre, désolé.
As-tu un lien pour constater de visu?

Offline seb3ds4

  • Pre-Newbie
  • Posts: 8
    • View Profile
Re: Les Nouvelles images
« Reply #6 on: November 19, 2006, 02:40:19 PM »
je te PM ca de suite

Offline seb3ds4

  • Pre-Newbie
  • Posts: 8
    • View Profile
Re: Les Nouvelles images
« Reply #7 on: November 19, 2006, 03:56:34 PM »
voila je viens de resoudre mon soucis!
en modifiant la requete SQL, voicis le code.
Quote
$num_new_images = $config['image_cells'];
$new_cutoff = time() - 60 * 60 * 24 * $config['new_cutoff'];
//Ajout sur conseil de manurom
$sql = "SELECT COUNT(image_id) as num
        FROM ".IMAGES_TABLE."
        WHERE image_active = 1 AND image_date >= $new_cutoff AND cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")";

if (!$result = $site_db->query_firstrow($sql))
{
  $result['num'] = 0;
}
$link_arg = $site_sess->url(ROOT_PATH."index.php");

include(ROOT_PATH.'includes/paging.php');
$getpaging = new Paging($page, $num_new_images, $result['num'], $link_arg);
$offset = $getpaging->get_offset();

$site_template->register_vars(array(
  "paging" => $getpaging->get_paging(),
  "paging_stats" => $getpaging->get_paging_stats()
));
// fin ajout conseil manuom
// suite du fichier index classique
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
        FROM ".IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c
        LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
        WHERE i.image_active = 1 AND image_date >= $new_cutoff AND c.cat_id = i.cat_id AND i.cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")
        ORDER BY i.image_date DESC
        LIMIT $offset,$num_new_images";
// changement de LIMIT $num_new_images";
$result = $site_db->query($sql);
$num_rows = $site_db->get_numrows($result);

merci pour ce debut d'aide rapide et efficasse manurom.
j'essai de passer a la V1.7.4 au plus vite.
« Last Edit: November 19, 2006, 04:16:16 PM by seb3ds4 »

manurom

  • Guest
Re: Les Nouvelles images
« Reply #8 on: November 19, 2006, 04:15:47 PM »
Ca a été un plaisir de participer et de découvrir ton travail.

Offline seb3ds4

  • Pre-Newbie
  • Posts: 8
    • View Profile
Re: Les Nouvelles images
« Reply #9 on: November 19, 2006, 09:23:27 PM »
 :oops: manurom

pour ceux que ca interresse,
si vous voulez avoir les images postées depuis votre connexion.
Il suffit juste de rempler le code suivant:
Quote
$new_cutoff = time() - 60 * 60 * 24 * $config['new_cutoff'];
Par celui ci:
Quote
$new_cutoff = $user_info['user_lastvisit'];