Losowe wyświetlanie miniaturekWitam
Niestety nie ma żadnej integracji miedzy
PHP Fusion, a
4images.
Przedstawie natomiast krótki skrypt, który pozwoli wyświetlić losowo miniaturki fotografii zapisanych w galerii 4images, na stronach nie związanych z galerią. Skrypt można zastosować w róznych sytuacjach.
Wyświetlane losowo miniaturki są automatycznie zlinkowane z galerią, co umożliwia bezpośrednie połączenie się ze stroną przeglądu szczegółowego danego zdjęcia.
Przykład 1Wyświetlanie pojedyńczych miniaturek losowych -
test tutajPobierając kod podany u dołu, tworzymy nowy plik
random.php i zapisujemy go w katalogu głównym skryptu 4images
ROOT<?php
// PATH to your 4images Gallery / Sciezka do katalogu glownego skryptu 4images (ROOT)
define('ROOT_PATH', './');
include(ROOT_PATH.'config.php');
include(ROOT_PATH.'includes/db_mysql.php');
include(ROOT_PATH.'includes/constants.php');
$site_db = new Db($db_host, $db_user, $db_password, $db_name);
function is_remote($file_name) {
return (preg_match('#^https?\\:\\/\\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+#i', $file_name)) ? 1 : 0;
}
$sql = "SELECT COUNT(*) as total_images
FROM ".IMAGES_TABLE." a, ".CATEGORIES_TABLE." b
WHERE a.image_active=1
AND a.cat_id = b.cat_id
AND b.auth_viewcat=".AUTH_ALL."
AND b.auth_viewimage=".AUTH_ALL."
";
$row = $site_db->query_firstrow($sql);
$total_images = $row['total_images'];
mt_srand((double)microtime() * 1000000);
$number = ($total_images > 1) ? mt_rand(0, $total_images - 1) : 0;
$sql = "SELECT a.image_id, a.cat_id, a.image_name, a.image_active, a.image_thumb_file, a.image_comments, a.image_hits, a.image_rating
FROM ".IMAGES_TABLE." a, ".CATEGORIES_TABLE." b
WHERE a.image_active=1
AND a.cat_id = b.cat_id
AND b.auth_viewcat=".AUTH_ALL."
AND b.auth_viewimage=".AUTH_ALL."
LIMIT $number, 1";
$row = $site_db->query_firstrow($sql);
$image_id = $row['image_id'];
$cat_id = $row['cat_id'];
$image_name = $row['image_name'];
$image_comments = $row['image_comments'];
$image_hits = $row['image_hits'];
$image_rating = $row['image_rating'];
$thumb_src = (is_remote($row['image_thumb_file'])) ? $row['image_thumb_file'] : ROOT_PATH.THUMB_DIR."/".$cat_id."/".$row['image_thumb_file'];
echo "<div style=\"padding:10px; background:#999999; height:280px;\">\n";
echo "<p><a href=\"".ROOT_PATH."img".$image_id.".htm\" target=\"_blank\"><img src=\"".$thumb_src."\" border=\"0\" style=\"border: 6px solid white;\" alt=\"".$image_name."\" /></a></p>\n";
echo "<b>".$image_name."</b><br />\n";
echo "Komentarzy: ".$image_comments."<br />\n";
echo "Otwierano: ".$image_hits."<br>\n";
echo "Ocena: ".$image_rating."<br>\n";
echo "</div>\n";
?>
W czwartej lini nowo stworzonego skryptu,
proszę ustawić prawidłową ścieżkę do katalogu głównego galerii (skryptu 4images - ROOT)Np.:
Katalog główny galerii 4images, jest podkatalogim w katalogu ROOT;
Katalog ROOT to
http://www.twoja_domena.plKatalog 4images to
http://www.twoja_domena.pl/4images wówczas użyjemy
define('ROOT_PATH', './');
Do wyświetlenia miniaturek na wybranej stronie, możemu użyć include dla stron dynamicznych
<?php
include('4images/random.php')
?>
lub dla stron statycznych i dynamicznych
<iframe src="4images/random.php" name="4images" marginwidth="0" marginheight="0" align="middle" scrolling="no" frameborder="0" style="background:#999999; width:170px; height:280px;"></iframe>
Przykład 2Wyświetlanie kilku miniaturek losowych -
test tutajPobierając kod podany u dołu, tworzymy nowy plik
random_multi.php i zapisujemy go w katalogu głównym skryptu 4images
ROOT<?php
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: random_more_pics.php *
* Copyright: (C) 2002 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.0 for 4images 1.6.1 *
* *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (http://www.4homepages.de/4images/lizenz.php) für *
* weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (http://www.4homepages.de/4images/lizenz_e.php) for further *
* information. *
* *
*************************************************************************/
// PATH to your 4images Gallery / Sciezka do katalogu glownego skryptu 4images (ROOT)
define('ROOT_PATH', './');
include(ROOT_PATH.'config.php');
include(ROOT_PATH.'includes/db_mysql.php');
include(ROOT_PATH.'includes/constants.php');
$site_db = new Db($db_host, $db_user, $db_password, $db_name);
function is_remote($file_name) {
return (preg_match('#^https?\\:\\/\\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+#i', $file_name)) ? 1 : 0;
}
// NUMBER OF THUMBNAILS TO DISPLAY / NUMMER DER GEWÜNSCHTEN THUMBNAILS
$num_images = 3;
$sql = "SELECT a.image_id, a.cat_id, a.image_name, a.image_active, a.image_thumb_file, a.image_comments, a.image_hits, a.image_rating
FROM ".IMAGES_TABLE." a, ".CATEGORIES_TABLE." b
WHERE a.image_active=1
AND a.cat_id = b.cat_id
AND b.auth_viewcat=".AUTH_ALL."
AND b.auth_viewimage=".AUTH_ALL."
ORDER BY RAND()
LIMIT $num_images";
$result = $site_db->query($sql);
while ($row = $site_db->fetch_array($result)){
$image_id = $row['image_id'];
$cat_id = $row['cat_id'];
$image_name = $row['image_name'];
$image_comments = $row['image_comments'];
$image_hits = $row['image_hits'];
$image_rating = $row['image_rating'];
$thumb_src = (is_remote($row['image_thumb_file'])) ? $row['image_thumb_file'] : ROOT_PATH.THUMB_DIR."/".$cat_id."/".$row['image_thumb_file'];
echo "<div style=\"padding:10px; background:#999999; height:280px;\">\n";
echo "<p><a href=\"".ROOT_PATH."img".$image_id.".htm\" target=\"_blank\"><img src=\"".$thumb_src."\" border=\"0\" style=\"border: 6px solid white;\" alt=\"".$image_name."\" /></a></p>\n";
echo "<b>".$image_name."</b><br />\n";
echo "Komentarzy: ".$image_comments."<br />\n";
echo "Otwierano: ".$image_hits."<br>\n";
echo "Ocena: ".$image_rating."<br>\n";
echo "</div>\n";
}
?>
W czwartej lini nowo stworzonego skryptu,
proszę ustawić prawidłową ścieżkę do katalogu głównego galerii (skryptu 4images - ROOT)Np.:
Katalog główny galerii 4images, jest podkatalogim w katalogu ROOT;
Katalog ROOT to
http://www.twoja_domena.plKatalog 4images to
http://www.twoja_domena.pl/4images wówczas użyjemy
define('ROOT_PATH', './');
Do wyświetlenia miniaturek na wybranej stronie, możemu użyć include dla stron dynamicznych
<?php
include('4images/random_multi.php')
?>
lub dla stron statycznych i dynamicznych
<iframe src="4images/random_multi.php" name="4images" marginwidth="0" marginheight="0" align="middle" scrolling="no" frameborder="0" style="background:#999999; width:170px; height:280px;"></iframe>
W linijce
$num_images = 3;
wybieramy potrzebną ilość miniaturek.
Niestety nie znam PHP Fusion, ale przypuszczam że należy stworzyć uprzednio blok
i dopasować kody, które wyświetlają miniaturki.