4images Forum & Community
4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: pjotrek on July 03, 2012, 03:52:50 PM
-
Hello
How Can i Display on home page 6 top rated images of last week ?
-
Hi!
It was not as easy as I thought...
1.) search in your templates/home.html:
{whos_online}
insert above, or where ever you want:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="head1">
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="head1" valign="top">Top images last week</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="head1">{last_week}</td>
</tr>
</table>
<br>
2.) search in index.php:
$num_new_images = $config['image_cells'];
insert above:
function getDaysInWeek($week="",$year=""){
$year = ($year) ? $year : date("Y");
$week = ($week) ? $week : date("W");
$time = strtotime($year.'0104+'.($week - 1).'weeks');
$mondayTime = strtotime('-'.(date('w',$time)-1).'days',$time);
$dayTimes = array();
for ($i = 0; $i < 7;++$i){
$dayTimes[] = strtotime('+'.$i.'days', $mondayTime);
//$dayTimes[] = date("d.m.Y",strtotime('+'.$i.'days', $mondayTime));
}
return $dayTimes;
}
$lastweek = date("W") -1;
$weekday = getDaysInWeek($lastweek);
$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").") AND i.image_date BETWEEN ".$weekday[0]." AND ".($weekday[6] + 86399)."
ORDER BY i.image_rating DESC
LIMIT $num_new_images
";
$result = $site_db->query($sql);
$num_rows = $site_db->get_numrows($result);
if (!$num_rows) {
$last_week = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\"><tr class=\"imagerow1\"><td>";
$last_week .= "No Images last week !";
$last_week .= "</td></tr></table>";
}
else {
$last_week = "<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++ % 2 == 0) ? 1 : 2;
$last_week .= "<tr class=\"imagerow".$row_bg_number."\">\n";
}
$last_week .= "<td width=\"".$imgtable_width."\" valign=\"top\">\n";
show_image($image_row);
$last_week .= $site_template->parse_template("thumbnail_bit");
$last_week .= "\n</td>\n";
$count++;
if ($count == $config['image_cells']) {
$last_week .= "</tr>\n";
$count = 0;
}
} // end while
if ($count > 0) {
$leftover = ($config['image_cells'] - $count);
if ($leftover >= 1) {
for ($f = 0; $f < $leftover; $f++) {
$last_week .= "<td width=\"".$imgtable_width."\">\n \n</td>\n";
}
$last_week .= "</tr>\n";
}
}
$last_week .= "</table>\n";
} // end else
$site_template->register_vars("last_week", $last_week);
unset($last_week);
mfg Andi
-
I did exactly what you said but i got error message
Parse error: syntax error, unexpected T_VARIABLE, expecting ';' in /home/content/73/8131873/html/index.php on line 285
please help me to solve it
thanks
-
sry...
search:
unset($last_week)
and replace:
unset($last_week);
mfg Andi
-
Hi Rebrandt :)
Is it possible to manipulate the above script, to show "Yesterdays Top" instead of 7 days top?
What should I change? :roll:
-
Hi!
... to show "Yesterdays Top" instead of 7 days top?
...
search in the code:
$num_new_images = $config['image_cells'];
insert above:
$start_yesterday = mktime(00,00,00,date("m"),date("d")-1,date("Y"));
$end_yesterday = mktime(23,59,59,date("m"),date("d")-1,date("Y"));
search:
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").") AND i.image_date BETWEEN ".$weekday[3]." AND ".($weekday[4] + 86399)."
and replace:
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").") AND i.image_date BETWEEN ".$start_yesterday." AND ".$end_yesterday."
mfg Andi
-
You are a treasure dear Rembrandt!!! Thank you so much, it works great!!! :D
-
Welcome. How to modify the mod to display the most viewed photos in the last week?
-
Hi!
Welcome. How to modify the mod to display the most viewed photos in the last week?
search:
ORDER BY i.image_rating DESC
and replace:
ORDER BY i.image_hits DESC
mfg Andi
-
Hi, hab das mod (the most viewed photos) eingebaut aber zeigt nur ein bild
-
excellence :D
How to extended to show last Month Top?
Rembrandt if possible please answer :(
-
last Month
1.) search in the HTML code {last_week} and replace with {last_month}
2.) replace the PHP code with this one:
$startTime = mktime(0, 0, 0, date("m")-1, 1, date("Y"));
$endTime = mktime(0, 0, 0, date("m"), 0, date("Y"));
$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").") AND i.image_date BETWEEN ".$startTime." AND ".$endTime."
ORDER BY i.image_rating DESC
LIMIT $num_new_images
";
$result = $site_db->query($sql);
$num_rows = $site_db->get_numrows($result);
if (!$num_rows) {
$last_month = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\"><tr class=\"imagerow1\"><td>";
$last_month .= "No Images last week !";
$last_month .= "</td></tr></table>";
}
else {
$last_month = "<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++ % 2 == 0) ? 1 : 2;
$last_month .= "<tr class=\"imagerow".$row_bg_number."\">\n";
}
$last_month .= "<td width=\"".$imgtable_width."\" valign=\"top\">\n";
show_image($image_row);
$last_month .= $site_template->parse_template("thumbnail_bit");
$last_month .= "\n</td>\n";
$count++;
if ($count == $config['image_cells']) {
$last_month .= "</tr>\n";
$count = 0;
}
} // end while
if ($count > 0) {
$leftover = ($config['image_cells'] - $count);
if ($leftover >= 1) {
for ($f = 0; $f < $leftover; $f++) {
$last_month .= "<td width=\"".$imgtable_width."\">\n \n</td>\n";
}
$last_month .= "</tr>\n";
}
}
$last_month .= "</table>\n";
} // end else
$site_template->register_vars("last_month", $last_month);
unset($last_month);
mfg Andi