Retour au WoSiBlog | Installer le WoSiBlog |
Source générée par la fonction show_source("image.php")
<?php
$email = "gil.69@free.fr"; /* Email du bloggueur */
$alias = "Gilles"; /* Alias qui apparaît pour l'email du bloggueur */
$windowtitle = "Les images de l'Equateur"; /* Titre de la fenetre */
/* $entete = "Opinions sur Rue"; Texte de l'entête */
$entete = "<img src=\"boutons/entete_journal.png\">";/* pour mettre une image, par ex.*/
$icon = "boutons/icone_site_16.ico";
// Récupération des variables GET
if (array_key_exists('action', $_GET)) { $action = htmlspecialchars($_GET["action"]); } else { $action = ''; }
if (array_key_exists('im_debut', $_GET)) { $im_debut = htmlspecialchars($_GET["im_debut"]); } else { $im_debut = ''; }
if (array_key_exists('im_fin', $_GET)) { $im_fin = htmlspecialchars($_GET["im_fin"]); } else { $im_fin = ''; }
if (empty($im_debut)) {
$im_debut = 0;
} else {
$im_debut = intval($im_debut);
}
if (empty($im_fin)) {
$im_fin = 10;
} else {
$im_fin = intval($im_fin);
}
echo "<HTML>";
echo "<HEAD><TITLE>$windowtitle</TITLE>";
include("stylesheet_blog.txt");
echo "<link rel=\"shortcut icon\" href=\"$icon\" />";
echo "</HEAD>";
echo "<BODY>";
/* echo "action $action, theme = $num_theme"; */
/******************/
/* Voir la source */
/******************/
if ($action == "showsource") {
echo "<table width=\"100%\" cols=2><tr><td><a href=\"image.php\">Retour au WoSiBlog </a></td>";
echo "<td algin=\"right\"><a href=\"installation.html\">Installer le WoSiBlog</a></td></tr></table>";
echo "<p> Source générée par la fonction show_source(\"image.php\") </p> <hr>";
show_source("image.php");
echo "<br> <hr 100%> <a href=\"image.php\"> Retour au site</a>";
}
/******************/
/* Voir le Blog */
/******************/
else {
$dir_img = "./images/";
$liste = Cherche_Rep($dir_img);
$nblignes = sizeof($liste);
if ($im_fin == 10) {
$im_fin = min($nblignes, 10);
}
/*************************************************************/
/* MISE EN PAGE HTML */
/*************************************************************/
Entete_Page($entete);
Barre_Navigation($email);
// Table de 3 colonnes pour le corps de la page
echo "<table BORDER=0 COLS=2 WIDTH=\"100%\" CELLPADDING=\"0\" CELLSPACING=\"5\">";
/****************/
/* 1ere colonne */
/****************/
echo "<tr><td WIDTH=180 valign=\"TOP\">";
Navigation_Gauche($liste, $dir_img, $im_debut, $im_fin);
Who_Am_I();
echo "</td>";
/***************************************************************/
/* 2eme colonne Par défaut, on affiche les 10 dernieres images */
/***************************************************************/
echo "<td valign=\"TOP\">";
if ($im_fin == 0) {
$im_fin = min($nblignes, 10);
}
Gallerie_Image($dir_img, $liste, $im_debut, $im_fin);
echo "</td></tr></table>";
/* Notes de bas de page */
Bas_De_Page($email);
}
echo "</BODY>";
echo "</HTML>";
/*************************************************************/
/* FIN DE MISE EN PAGE HTML */
/*************************************************************/
/* Fonction qui prend en compte */
function Cherche_Rep($basedir)
{
/*$arFichiers = glob($basedir.'*.jpg');
$liste = array();
var_dump($arFichiers);
foreach ($arFichiers as $fic) {
if (!preg_match('/_t.jpg$/', $fic)) {
array_push($liste, basename($fic));
}
}
return $liste;*/
//
$handle = opendir($basedir);
$i = 0;
while ($fichier = readdir($handle)) {
/* Pour les images jpg, les vignettes se terminent par nomfichier_t.jpg */
/* c'est la cas des vignettes faites par irfanview */
if (!is_dir($basedir . $fichier) & !is_integer(strpos($fichier, "_t.jpg")) & !is_integer(strpos($fichier, ".html"))) {
$img_info = getimagesize($basedir . $fichier);
//echo "<br>$fichier";
if ($img_info != null) {
$h = $img_info[1];
$w = $img_info[0];
$date[$i] = filemtime($basedir . $fichier);
$nom[$i] = $fichier;
$i++;
}
}
}
arsort($date);
$i = 0;
while (list($key) = each($date)) {
$liste[$i++] = $nom[$key];
}
return $liste;
};
function Analyse_News($basedir, $news)
{
$filename = $basedir . $news;
$fid = fopen($filename, "r");
$file = fread($fid, filesize($filename));
fclose($fid);
/* Extraction of subject, title and text */
$mottopic = "Topic:";
$mottitle = "Sujet:";
$motsum = "Abstract:";
$mottxt = "Texte:";
$where_topic = strpos($file, $mottopic);
$where_title = strpos($file, $mottitle);
$where_summary = strpos($file, $motsum);
$where_texte = strpos($file, $mottxt);
/* Analyzed is an array containing */
// $analyzed[0] Title of article
// $analyzed[1] Summary of article
// $analyzed[2] Text of article
// $analyzed[3] date of article
// $analyzed[4] Theme of article
$i = 0;
$analyzed[$i++] = substr($file, $where_title + strlen($mottitle), $where_summary - $where_title - strlen($mottitle));
$analyzed[$i++] = substr($file, $where_summary + strlen($motsum), $where_texte - $where_summary - strlen($motsum));
$analyzed[$i++] = substr($file, $where_texte + strlen($mottxt), strlen($file) - $where_texte);
$analyzed[$i++] = filemtime($filename);
if (is_integer($where_topic)) {
$analyzed[$i] = substr($file, $where_topic + strlen($mottopic), $where_title - $where_topic - strlen($mottopic));
$analyzed[$i] = str_replace(" ", "", $analyzed[$i]);
$i++;
} else {
$analyzed[$i++] = "Autre ";
}
return $analyzed;
};
function Barre_Navigation($email)
{
echo "<div id=\"barre_nav\">";
echo "<center><table BORDER=0 COLS=4 WIDTH=\"70%\" CELLPADDING=0 CELLSPACING=0><tr>";
echo "<td align=\"center\" ><a class=\"barre_nav\" href=\"index.php\" title=\"Retour aux articles\"><img src=\"boutons/menu_enbref.png\"></a></td>";
echo "<td align=\"center\" ><a class=\"barre_nav\" href=\"image.php\" title=\"Les images ...\"><img src=\"boutons/menu_images_in.png\"></a></td>";
echo "<td align=\"center\" ><a class=\"barre_nav\" href=\"mailto:$email\" title=\"Envoyez un commentaire\"><img src=\"boutons/menu_mail.png\"></a></td>";
// echo "<td align=\"center\" ><a href=\"#\" >Rien</a></td>";
echo "</tr></table></center>";
echo "</div>";
};
function Navigation_Gauche($list, $dir, $im_debut, $im_fin)
{
$nblignes = sizeof($list);
$texte = "$nblignes Images";
echo "<div class=\"title\">$texte:</div>";
echo "<div id=\"content\"><p>";
$compteur = 0;
for ($i = $im_debut; $i < $nblignes; $i++) {
$img_ext = array(".jpg", ".JPG", ".JPEG", ".gif", ".GIF", ".PNG", ".png");
$ext_supr = array("", "", "", "", "", "", "");
$txt_lien = str_replace($img_ext, $ext_supr, $list[$i]);
$txt_lien = str_replace("_", " ", $txt_lien);
$title = $list[$i];
if (strlen($txt_lien) > 20) {
$txt_lien = substr($txt_lien, 0, 17) . "...";
}
echo "<table width=180 BORDER=0 COLS=2 CELLPADDING=0 CELLSPACING=0><tr>";
echo "<td width=\"80%\">";
echo Lien_Pop_Up_Image("$dir$list[$i]", $txt_lien, $title);
echo "</td>";
echo "<td align=\"right\"><p class=\"date\">" . Image_Size($dir.$list[$i]) . "</p></td>";
echo "</tr></table>";
}
echo "</p><center><p>";
/*
$prev_debut = max(0,$im_debut-10); $prev_fin = min($nblignes,$prev_debut+10);
$next_debut = min($nblignes,$im_debut+10); $next_fin = min($nblignes,$next_debut+10);
if ($im_debut>0)
{
echo "<a href=\"image.php?im_debut=$prev_debut&im_fin=$prev_fin \"><< -10 img</a>";
}
else
{
echo "<< -10 img";
}
echo " | ";
if ($im_fin<$nblignes)
{
echo "<a href=\"image.php?im_debut=$next_debut&im_fin=$next_fin\">+10 img >></a>";
}
else
{
echo "+10 img >>";
}
*/
echo "</p><p>";
if ($im_debut == 0 & $im_fin == $nblignes) {
$f = min(10, $nblignes);
echo "<a href=\"image.php?im_debut=$im_debut&im_fin=$f\">Voir les vignettes par 10</a>";
} else {
echo "<a href=\"image.php?im_debut=0&im_fin=$nblignes\">Voir toutes les vignettes</a>";
echo "<br>!!! ça peut être long !!!";
}
echo "</p></center></div>";
};
function Gallerie_Image($dir, $liste, $im_debut, $im_fin)
{
$nblignes = sizeof($liste);
echo "<div class=\"title\"><center>";
$prev_debut = max(0, $im_debut - 10);
$prev_fin = min($nblignes, $prev_debut + 10);
$next_debut = min($nblignes, $im_debut + 10);
$next_fin = min($nblignes, $next_debut + 10);
if ($im_debut > 0) {
echo "<a href=\"image.php?im_debut=$prev_debut&im_fin=$prev_fin \" ><< voir les 10 images précédentes</a>";
} else {
echo "début de liste";
}
echo " | ";
if ($im_fin < $nblignes) {
echo "<a href=\"image.php?im_debut=$next_debut&im_fin=$next_fin\">voir les 10 images suivantes >></a>";
} else {
echo "fin de liste";
}
echo "</div>";
/*echo "</center></div>";
echo "<div id=\"title_article\">";
echo "<b>Images : </b>";
//echo ", ".My_Date($info_news[3]);
*/
echo "<table BORDER=0 COLS=4 WIDTH=\"100%\" CELLPADDING=5 CELLSPACING=5><tr>";
for ($i = $im_debut; $i < $im_fin; $i++) {
$img_ext = array(".jpg", ".JPG", ".JPEG", ".gif", ".GIF", ".PNG", ".png");
$ext_supr = array("", "", "", "", "", "", "");
$lien = str_replace($img_ext, $ext_supr, $liste[$i]);
$lien = str_replace("_", " ", $lien) . "<br>" . Image_Size($dir.$liste[$i]);
$vignette = str_replace(".jpg", "_t.jpg", $dir.$liste[$i]);
if (file_exists($vignette)) {
$lien = "<div class=\"image\"><img src=\"$vignette\"></div>" . $lien;
} else {
$lien = "<p>Pas<br>d'aperçu<br>pour<br>" . $lien;
}
echo "<td align=\"center\">";
echo Lien_Pop_Up_Image($dir.$liste[$i], "$lien", $liste[$i]);
echo "</td>";
/* On retourne à la ligne toutes les quatres images */
if (fmod($i - $im_debut + 1, 4) == 0) {
echo "</tr><tr>";
}
}
echo "</tr></table>";
};
function Image_Size($file_name)
{
$bytes = filesize($file_name);
$types = array("b", "k", "M", "G", "T");
$current = 0;
while ($bytes > 1024) {
$current++;
$bytes /= 1024;
}
return round($bytes, 0) . " " . $types[$current];
};
function Entete_Page($texte)
{
// Table pour l'entete de la page
echo "<table BORDER=0 COLS=1 WIDTH=\"100%\" NOSAVE CELLPADDING=\"0\" CELLSPACING=\"0\">";
echo "<tr><td align=\"CENTER\">";
/* Ici Changer l'entete (lien vers une image, ...) */
/***********************************************************/
echo "<h1>$texte</h1>";
echo "</td></tr></table>";
};
function Lien_Pop_Up_Image($filename, $text_lien, $title)
{
if (file_exists($filename)) {
$img_info = getimagesize($filename);
if ($img_info != null) {
$h = $img_info[1];
$w = $img_info[0];
return "<a href=\"#\" title=\"$title\" onclick=\"javascript:window.open('$filename','Image','directories=0, height=$h, location=0, resizable=1, scrollbars=0, toolbar=0, width=$w');\">$text_lien</a>";
} else {
return basename($filename)." non reconnnue";
}
} else {
return "image inexistante";
}
};
function Who_Am_I()
{
echo "<div class=\"title\">?Qui suis-je</div>";
echo "<div id=\"content\"><p>?nom : Gilou<br>?age : 46";
echo "<br>?taille : 1.79<br>?yeux : verts (les 2)<br>?Zone: Tinténiac";
echo "<br>?tattoo : non<br>?trous : non plus<br>?photo : ";
$image = "images/Gilles.jpg";
echo Lien_Pop_Up_Image($image, "ici", "moi");
};
function Bas_De_Page($mail)
{
echo "<h1><p>Ceci est la version 2.0 du WoSiBlog. Il s'agit d'un projet open source donné sous <a href=\"http://www.gnu.org\">licence GPL</a>. Ce projet est initié par";
echo " <a href=\"mailto:$mail\">Gilouzz</a>";
echo "<br>Vous pouvez <a href=\"image.php?action=showsource\">voir la source</a> composée d'un unique fichier PHP. Une <a href=\"installation.html\">page d'intallation</a> explique également comment récupérer et installer le WoSiBlog.";
echo "<br>... et c'est plus joli avec <a href=\"http://www.mozilla.org\">Mozilla</p></h1>";
};