iGalerie

Vous n'êtes pas identifié(e).

Annonce

Un message d'erreur qui s'affiche ? Un mot de passe oublié ? L'ajout de fichier qui ne marche pas ?
Pensez d'abord à lire la FAQ, vous y trouverez probablement une solution à votre problème.

#1 25-08-2025 07:33:06

PhilGuen
Membre
Lieu : 36
Inscription : 01-02-2009
Messages : 40
Site Web

hasard.php

Bonjour à tous,

dans les (très) anciennes versions (peut-être bien la 1) il y avait un fichier "hasard.php" qui permettait d'afficher des miniatures. On peut voir ici http://cyclos.descartes2.free.fr/index.php?op=edito

Je l'utilisais dans un bloc de NPDS avec ce simple code

include#./modules/igalerie/hasard.php

.

Je ne retrouve rien de tel dans la version 3 et pourtant on a bien un affichage d'images aléatoires dans la page quand cette option est validée.

Quelqu'un saurait-il m'aider à afficher ces images aléatoires de manière autonome pour que je puisse, par exemple, les afficher dans un bloc de mon site.

Pour rappel https://wgnt-train.fr

Merci de votre aide.

Bonne journée à tous

Dernière modification par PhilGuen (25-08-2025 07:37:14)

Hors ligne

#2 25-08-2025 18:42:59

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 462
Site Web

Re : hasard.php

Salut,

Il faut créer un fichier PHP dans le répertoire d'iGalerie contenant le code suivant :

<?php
define('GALLERY_ROOT', __DIR__);

// Chargement du fichier de configuration.
require_once(GALLERY_ROOT . '/config/conf.php');

// Chargement automatique des classes du noyau.
spl_autoload_register(function(string $class)
{
	if (!file_exists($file = GALLERY_ROOT . '/includes/core/' . $class . '.class.php'))
	{
		$message = 'Failed opening required file (' . $class . '.class.php).';
		die($message);
	}
	require_once($file);
});

// Connexion à la base de données.
if (!DB::connect() || !Config::getDBParams())
{
	die('Unable to connect to database.');
}

// Session utilisateur.
Auth::$session = new Cookie(CONF_COOKIE_SESSION_NAME);
Auth::cookie();

// Récupération des informations du fichier.
$sql = 'SELECT i.*
		  FROM {items} AS i
	 LEFT JOIN {categories} AS cat
			ON i.cat_id = cat.cat_id
		 WHERE item_status = "1"
		   AND ' . SQL::catPerms() . '
		   AND ' . SQL::catPassword() . '
	  ORDER BY RAND()
		 LIMIT 1';
if (!DB::execute($sql) || !$i = DB::fetchRow())
{
	die(DB::getError());
}

// Données pour le code HTML.
$tpl =
[
	'src' => App::getThumbSource('item', $i),
	'link' => App::getURL('item/' . $i['item_id'] . '-' . $i['item_url']),
	'title' => $i['item_name']
];
HTML::specialchars($tpl);
?>

<div>
	<a href="<?php echo $tpl['link']; ?>#top">
		<img alt="<?php echo $tpl['title']; ?>" src="<?php echo $tpl['src']; ?>">
	</a>
</div>
<a href="<?php echo $tpl['link']; ?>"><?php echo $tpl['title']; ?></a>

Hors ligne

#3 25-08-2025 20:05:16

PhilGuen
Membre
Lieu : 36
Inscription : 01-02-2009
Messages : 40
Site Web

Re : hasard.php

Super

Grands mercis David.

Je teste ca dès demain.

Bonne soirée

Hors ligne

#4 26-08-2025 12:44:44

PhilGuen
Membre
Lieu : 36
Inscription : 01-02-2009
Messages : 40
Site Web

Re : hasard.php

Génial!

Un peu de mise en page et ce sera Nickel.

Un grand merci à tous pour votre réactivité.

Hors ligne

Pied de page des forums

Propulsé par FluxBB