Author Topic: Random pictures  (Read 229531 times)

0 Members and 1 Guest are viewing this topic.

Offline joecks

  • Newbie
  • *
  • Posts: 11
    • View Profile
    • http://www.familie-bruil.com
Random pictures
« on: February 21, 2003, 06:48:49 PM »
Hi all,

Is it possible to add a section "random Images" on the index page, below or above the new pictures ? and a section "most popular" ???

I have that option in photopost pro, but this program is not working when safe mode is on  :cry: (shame for a $149 product !) , thats why is use the great free program 4images now.

Great Program!

Grtx,

Joecks

Offline SLL

  • Hero Member
  • *****
  • Posts: 585
    • View Profile
Random pictures
« Reply #1 on: February 21, 2003, 10:34:52 PM »
"random picture" is already there by default, the "most popular" you can find in the this forum, in mod's section (photo of the day)

Offline joecks

  • Newbie
  • *
  • Posts: 11
    • View Profile
    • http://www.familie-bruil.com
Random pictures
« Reply #2 on: February 22, 2003, 09:26:32 AM »
I know there is a random picture, but i want to know if it is posible to ad random pictures on the index page below or above the new images, not just 1 random picture but as many as the new pictures..

same for the most popular pictures.

for a example see this featured site of photopost, http://www.spymac.com/gallery/

than you see what i mean.

Thanx

Carlo

Offline SLL

  • Hero Member
  • *****
  • Posts: 585
    • View Profile
Random pictures
« Reply #3 on: February 22, 2003, 11:55:08 AM »
if you mean showing random pics at any page, not inside 4images - this mod you also can find in mod's section of this forum

Offline V@no

  • If you don't tell me what to do, I won't tell you where you should go :)
  • Global Moderator
  • 4images Guru
  • *****
  • Posts: 17.849
  • mmm PHP...
    • View Profile
    • 4images MODs Demo
Random pictures
« Reply #4 on: February 22, 2003, 01:52:15 PM »
Open index.php
Find:
Code: [Select]
$site_template->register_vars("new_images", $new_images);
unset($new_images);

Add after:

Version A (without cache, images will be randomize on each visit, each page refresh)
//------------------------------------
//------- Random Images --------------
//------------------------------------
$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 IN ("
.get_auth_cat_sql("auth_viewcat").")
        ORDER BY RAND()
        LIMIT 
$num_new_images";
// end new
$result $site_db->query($sql);
$num_rows $site_db->get_numrows($result);

if (!
$num_rows)  {
  
$random_images "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\"><tr class=\"imagerow1\"><td>";
//  $random_images .= $lang['no_new_images'];
  
$random_images .= "</td></tr></table>";
}
else  {
  
$random_images "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\">";
  
$count 0;
  
$bgcounter 0;
  while (
$image_row $site_db->fetch_array($result)){
    if (
$count == 0) {
      
$row_bg_number = ($bgcounter++ % == 0) ? 2;
      
$random_images .= "<tr class=\"imagerow".$row_bg_number."\">\n";
    }
    
$random_images .= "<td width=\"".$imgtable_width."\" valign=\"top\">\n";

    
show_image($image_row);
    
$random_images .= $site_template->parse_template("thumbnail_bit");
    
$random_images .= "\n</td>\n";
    
$count++;
    if (
$count == $config['image_cells']) {
      
$random_images .= "</tr>\n";
      
$count 0;
    }
  } 
// end while

  
if ($count 0)  {
    
$leftover = ($config['image_cells'] - $count);
    if (
$leftover >= 1) {
      for (
$f 0$f $leftover$f++) {
        
$random_images .= "<td width=\"".$imgtable_width."\">\n&nbsp;\n</td>\n";
      }
      
$random_images .= "</tr>\n";
    }
  }
  
$random_images .= "</table>\n";
// end else


$site_template->register_vars("random_images"$random_images);
unset(
$random_images);

//----- End Random Images---------


Version B (with cache, images will be randomize once each hour, time controlled by $cache_time on top of the code.)
//------------------------------------
//------- Random Images --------------
//------------------------------------
$cache_time 3600//3600sek = 1hour

$cache_enable_old $cache_enable;
$cache_enable true;
$cache_id_rand create_cache_id(
  
'page.rand',
  array(
    
$user_info[$user_table_fields['user_id']],
    isset(
$user_info['lightbox_image_ids']) ? substr(md5($user_info['lightbox_image_ids']), 08) : 0,
    
$config['template_dir'],
    
$config['language_dir']
  )
);
if (!
$random_images get_cache_file($cache_id_rand$cache_time))
{
  
// Always append session id if cache is enabled
  
$old_session_mode $site_sess->mode;
  
$site_sess->mode 'get';
  
$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 IN ("
.get_auth_cat_sql("auth_viewcat").")
          ORDER BY RAND()
          LIMIT 
$num_new_images";
  
// end new
  
$result $site_db->query($sql);
  
$num_rows $site_db->get_numrows($result);
  
  if (!
$num_rows)  {
    
$random_images "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\"><tr class=\"imagerow1\"><td>";
  
//  $random_images .= $lang['no_new_images'];
    
$random_images .= "</td></tr></table>";
  }
  else  {
    
$random_images "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\">";
    
$count 0;
    
$bgcounter 0;
    while (
$image_row $site_db->fetch_array($result)){
      if (
$count == 0) {
        
$row_bg_number = ($bgcounter++ % == 0) ? 2;
        
$random_images .= "<tr class=\"imagerow".$row_bg_number."\">\n";
      }
      
$random_images .= "<td width=\"".$imgtable_width."\" valign=\"top\">\n";
  
      
show_image($image_row);
      
$random_images .= $site_template->parse_template("thumbnail_bit");
      
$random_images .= "\n</td>\n";
      
$count++;
      if (
$count == $config['image_cells']) {
        
$random_images .= "</tr>\n";
        
$count 0;
      }
    } 
// end while
  
    
if ($count 0)  {
      
$leftover = ($config['image_cells'] - $count);
      if (
$leftover >= 1) {
        for (
$f 0$f $leftover$f++) {
          
$random_images .= "<td width=\"".$imgtable_width."\">\n&nbsp;\n</td>\n";
        }
        
$random_images .= "</tr>\n";
      }
    }
    
$random_images .= "</table>\n";
  } 
// end else
  
$site_sess->mode $old_session_mode;
  
save_cache_file($cache_id_rand$random_images);
}
$cache_enable $cache_enable_old;
$site_template->register_vars("random_images"$random_images);
unset(
$random_images);

//----- End Random Images---------



Now, in home.html template add {random_images}
« Last Edit: November 24, 2009, 03:05:31 PM by V@no »
Your first three "must do" before you ask a question:
Please do not PM me asking for help unless you've been specifically asked to do so. Such PMs will be deleted without answer. (forum rule #6)
Extension for Firefox/Thunderbird: Master Password+    Back/Forward History Tweaks (restartless)    Cookies Manager+    Fit Images (restartless for Thunderbird)

Offline SLL

  • Hero Member
  • *****
  • Posts: 585
    • View Profile
Random pictures
« Reply #5 on: February 22, 2003, 04:44:43 PM »
ah.. that's what he wanted  :roll:

Offline Chris

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 4.487
  • Did u ever stop to think and then forget to start?
    • View Profile
Random pictures
« Reply #6 on: February 22, 2003, 04:57:13 PM »
Quote from: V@no
Now, in home.html template add {random_images}

:lol:

V@no I should hire you to finish the rest of the coding for my web site so I can get back to photography !

Offline joecks

  • Newbie
  • *
  • Posts: 11
    • View Profile
    • http://www.familie-bruil.com
Random pictures
« Reply #7 on: February 22, 2003, 05:34:03 PM »
:D Thank you very much v@no, it works... great!!!

Only one question left  :oops:

How do you put the title "random Images" above the random images.

I hope it is no stupid question.... .

Greetings Joecks

Offline V@no

  • If you don't tell me what to do, I won't tell you where you should go :)
  • Global Moderator
  • 4images Guru
  • *****
  • Posts: 17.849
  • mmm PHP...
    • View Profile
    • 4images MODs Demo
Random pictures
« Reply #8 on: February 22, 2003, 05:51:05 PM »
Quote from: joecks
:D Thank you very much v@no, it works... great!!!
Only one question left  :oops:
How do you put the title "random Images" above the random images.
I hope it is no stupid question.... .
Greetings Joecks

I the code I posted, change:
Code: [Select]
$site_template->register_vars("random_images", $random_images);
unset($random_images);

to this:
Code: [Select]
$site_template->register_vars(array(
"random_images" => $random_images,
"lang_random_images" => $lang['random_images']
));
unset($random_images);


Then, open /lang/<yourlanguage>/main.php
and at the end of the file, just before ?> add this:
Code: [Select]
$lang['random_images'] = "Random Images";
now u can use this tag in the template: {lang_random_images}
Your first three "must do" before you ask a question:
Please do not PM me asking for help unless you've been specifically asked to do so. Such PMs will be deleted without answer. (forum rule #6)
Extension for Firefox/Thunderbird: Master Password+    Back/Forward History Tweaks (restartless)    Cookies Manager+    Fit Images (restartless for Thunderbird)

Offline joecks

  • Newbie
  • *
  • Posts: 11
    • View Profile
    • http://www.familie-bruil.com
Random pictures
« Reply #9 on: February 22, 2003, 05:58:45 PM »
@ V@no ,

You are the best !!!

Now it works great !!

Greetings

Carlo

Offline uny

  • Newbie
  • *
  • Posts: 46
    • View Profile
Random pictures
« Reply #10 on: February 24, 2003, 03:41:48 PM »
cool..that's what I want too, thanks V@no

Offline Bomba

  • Full Member
  • ***
  • Posts: 202
    • View Profile
Random pictures
« Reply #11 on: March 09, 2003, 08:49:05 PM »
i used this code and it works just great
but there's something that i would like to change, if possible.

with this code it shows the same number of random images as the new images, but i would like to show only 6 random images.

my index shows 2 rows of new images (12 new images) and for the random images i just want 1 row (6 images)


thanks

Offline V@no

  • If you don't tell me what to do, I won't tell you where you should go :)
  • Global Moderator
  • 4images Guru
  • *****
  • Posts: 17.849
  • mmm PHP...
    • View Profile
    • 4images MODs Demo
Random pictures
« Reply #12 on: March 09, 2003, 09:33:52 PM »
Quote from: Bomba
with this code it shows the same number of random images as the new images, but i would like to show only 6 random images.

my index shows 2 rows of new images (12 new images) and for the random images i just want 1 row (6 images)

on top of the code I posted (before/above the code), add this line:
Code: [Select]
$num_new_images = $config['image_cells'];
Your first three "must do" before you ask a question:
Please do not PM me asking for help unless you've been specifically asked to do so. Such PMs will be deleted without answer. (forum rule #6)
Extension for Firefox/Thunderbird: Master Password+    Back/Forward History Tweaks (restartless)    Cookies Manager+    Fit Images (restartless for Thunderbird)

Offline Bomba

  • Full Member
  • ***
  • Posts: 202
    • View Profile
Random pictures
« Reply #13 on: March 09, 2003, 10:33:51 PM »
thanks :)

that was just what i wanted

Offline Kamui

  • Newbie
  • *
  • Posts: 19
    • View Profile
Random pictures
« Reply #14 on: March 12, 2003, 05:35:33 PM »
hi. i wannit to show 15 images in 3 lines, thus 5 per line. howa do this?
thx