--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/themes/IRI-Theme/functions.php Wed Feb 03 15:37:20 2010 +0000
@@ -0,0 +1,444 @@
+<?php
+
+require( "lib/zip.lib.php" ) ; //indiquez le chemin d'accès à la lib
+
+//error_reporting(E_ALL);
+
+function getPost($post = NULL) {
+ include('post.php');
+}
+
+function getSearch($q = NULL) {
+ include('searchform.php');
+}
+
+if ( function_exists('register_sidebar') )
+{
+ register_sidebar
+ ( array
+ (
+ 'name' => 'Sidebar-Single',
+ 'before_widget' => '<div class="bottombar">',
+ 'after_widget' => '</div>',
+ 'before_title' => '<h2 class="widgettitle">',
+ 'after_title' => '</h2>',
+ )
+ );
+ register_sidebar
+ ( array
+ (
+ 'name' => 'Sidebar-Single-home',
+ 'before_widget' => '<div class="bottombar">',
+ 'after_widget' => '</div>',
+ 'before_title' => '<h2 class="widgettitle">',
+ 'after_title' => '</h2>',
+ )
+ );
+ register_sidebar
+ ( array
+ (
+ 'name' => 'Bottom-Left',
+ 'before_widget' => '<div class="bottombar">',
+ 'after_widget' => '</div>',
+ 'before_title' => '<h2 class="widgettitle">',
+ 'after_title' => '</h2>',
+ )
+ );
+ register_sidebar
+ ( array
+ (
+ 'name' => 'Bottom-Middle',
+ 'before_widget' => '<div class="bottombar">',
+ 'after_widget' => '</div>',
+ 'before_title' => '<h2 class="widgettitle">',
+ 'after_title' => '</h2>',
+ )
+ );
+ register_sidebar
+ ( array
+ (
+ 'name' => 'Bottom-Right',
+ 'before_widget' => '<div class="bottombar">',
+ 'after_widget' => '</div>',
+ 'before_title' => '<h2 class="widgettitle">',
+ 'after_title' => '</h2>',
+ )
+ );
+}
+
+# Displays a list of categories
+function dp_list_categories($Eparam='') {
+
+ $categories = get_categories('hide_empty=1'.$Eparam);
+ $first = true;
+ $count = 0;
+
+ foreach ($categories as $category) {
+
+ if ($category->parent<1) {
+
+ echo ('<li class="menu-h-li">');
+ echo ('<a href="'.get_category_link($category->cat_ID).'">'.$category->name.' </a>');
+ echo '<ul>';
+
+
+ $category_posts = get_posts('numberposts=15&category='.$category->cat_ID);
+ $count2 = 0;
+ //echo("<!-- ".sizeof($category_posts)." -->");
+ foreach($category_posts as $post) {
+
+ echo '<li class="menu-h-li2" title="'.cache_cutter($post->post_title).'"><a href="'.$post->guid.'">'.text_cutter($post->post_title,200).'</a></li>';
+ //echo '<li class="menu-h-li2" title="'.$count2.'"><a href="'.$post->guid.'">'.$post->post_title.'</a></li>';
+ $count2++; //if ($count2>6) break;
+ };
+
+
+ echo "</ul></li>";
+
+ }
+ $count++; //if ($count>6) break; // limit to 5
+
+ }
+}
+
+# Display the list of movies
+function listeMyLdt(){
+
+ $MyLdtDataBase = "lignesIRI";
+ $MyWPDataBase = "wordpress";
+ $MyLdtTable = "Lignes";
+ $MyLdtconnexion = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
+ $MyLdtListe = "";
+ //$WP_db_selected = mysql_select_db();
+
+ if (!$MyLdtconnexion) {
+ echo "Impossible de se connecter à la base de données : " . mysql_error();
+ exit;
+ }
+
+ if (!mysql_select_db($MyLdtDataBase)) {
+ echo "Impossible de sélectionner la base mydbname : " . mysql_error();
+ exit;
+ }
+
+ $MyLdtSql = "SELECT * FROM ".$MyLdtTable." ORDER BY `Lignes`.`Auteur` ASC";// WHERE `NomFichier` NOT LIKE ''";
+
+ $result = mysql_query($MyLdtSql);
+
+ if (!$result) {
+ echo "Impossible d'exécuter la requête ($MyLdtSql) dans la base : " . mysql_error();
+ exit;
+ }
+
+ if (mysql_num_rows($result) == 0) {
+ echo "Aucune ligne trouvée, rien à afficher.";
+ exit;
+ }
+ $MyLdtTable="";
+ while ($row = mysql_fetch_assoc($result)) {
+ $MyLdtLineTemplate = "<tr class='rollover'>
+ <td>".$row['Auteur']."</td> <td>".$row['Titre']."</td> <td>".$row['Contributeur']."</td> ";
+
+ if ($row['NomFichier']!="") {
+ $MyLdtLineTemplate .= "<td> <a href='?URL=".$row['NomFichier']."' title='Cliquez ici pour télécharger le projet".$row['NomFichier']."'> <img src='".get_bloginfo('stylesheet_directory')."/images/get.png'/> </a> </td> </tr>";
+ }else {
+ $MyLdtLineTemplate .= "<td> <a href='#' title='Fichier non disponible'> <img src='".get_bloginfo('stylesheet_directory')."/images/help.png'/> </a> </td> </tr>";
+ }
+
+ $MyLdtTable .= $MyLdtLineTemplate."\n";
+
+ }
+
+ // tableau
+ $MyLdtOutPut = "
+ <div class='box'>
+ <table style='width:100%;'>
+ <thead>
+ <tr>
+ <td class='thead'> <b>Auteur</b></td>
+ <td class='thead'> <b>Titre</b> </td>
+ <td class='thead'> <b>Contributeur(s)</b> </td>
+ <td class='thead'> </td>
+ </tr>
+ </thead>
+ ".$MyLdtTable."
+ </table></div>";
+
+ echo($MyLdtOutPut);
+
+ mysql_free_result($result);
+ mysql_select_db($MyWPDataBase);
+ //mysql_select_db($WP_db_selected);
+}
+
+# Create the LDT's ZIP to download IT
+function createMyLdtProject($fichierIRI){
+
+ $MyRoot = "/iridata/users/hurons/public_html/DOCUMENT/_LDT";
+ $MyRootRel = "non-classe/telecharger/?URL=DOCUMENT/_LDT";
+ $MyCache = "/CACHE";
+ $MyExemple = "/EXEMPLE_zip";
+ $MyPattern = "X_NOMPROJET_X";
+ $MyLdtName = "projet_".$MyPattern.".ldt";
+ $MyReadMeName="LISEZ_MOI_READ_ME.txt";
+ $MySoundExt = "_audio.xml";
+ $Return = "";
+
+ $end = strrpos($fichierIRI,".");
+ $FileName = substr($fichierIRI, 0, $end);
+ $ext = substr($fichierIRI, $end, strlen($FileName));
+
+
+ // cette fontion n'est utilisé que sur les .IRI
+ if ($ext==".iri"){
+
+ // Vérifie si le cache éxiste déja
+ if (file_exists($MyCache."/".$FileName.".zip")){
+ //echo ($MyCache.$FileName.".zip"." is in cache");
+ // ensuite envoyer vers la redirection.
+ redirectionDWL($MyRootRel.$MyCache."/".$FileName.".zip");
+
+ } else {
+
+ echo ("Le fichier ".$FileName.".zip est en cours de compression, veuillez patientez un instant.");
+
+ // Créer le .LDT à partir de l'exemple
+ $MyLdtExemple = implode(file($MyRoot.$MyExemple."/".$MyLdtName , FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
+ $MyFuturLdt = str_replace($MyPattern, $FileName, $MyLdtExemple);
+
+ // Créer le read me
+ $MyReadMeExemple = implode(file($MyRoot.$MyExemple."/".$MyPattern."/".$MyReadMeName , FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
+ $MyFuturReadMe = str_replace($MyPattern, $FileName, $MyReadMeExemple);
+
+ // ZIP l'ensemble est met dans le cache
+ $Zipfilename = $MyRoot.$MyCache."/".$FileName.".zip";
+ $zip = new ZipArchive();
+ if ($zip->open($Zipfilename, ZIPARCHIVE::CREATE)!==TRUE) {
+ exit("Impossible d'ouvrir <$filename>\n");
+ }
+ // ZIP - ajouter le .LDT
+ $MyLdtNewName = str_replace($MyPattern, $FileName, $MyLdtName);
+ $zip->addFromString($MyLdtNewName, $MyFuturLdt); //$zip->addFile($MyFuturLdtName, $FileName);
+ // ZIP - ajouter le .IRI
+ $zip->addFile($MyRoot."/".$fichierIRI, $FileName."/".$fichierIRI);
+ // ZIP - ajouter le ReadMe
+ $zip->addFromString($FileName."/".$MyReadMeName, $MyFuturReadMe); //$zip->addFile($MyRoot.$MyTemp."/".$FileName."/".$MyReadMeName, $FileName."/".$MyReadMeName);
+ // ZIP - ajouter le audio si il y a
+ $fileAudio = $MyRoot."/".$FileName.$MySoundExt ;
+ if (file_exists($fileAudio)){
+ $zip->addFile($fileAudio, $FileName."/".$FileName.$MySoundExt);
+ }
+ $zip->close();
+
+ // mettre a jour la bdd ? pour vider le cache quand c'est un nouveau fichier ?
+
+ // ensuite envoyer vers la redirection.
+ redirectionDWL($MyRootRel.$MyCache."/".$FileName.".zip");
+ }
+ }
+}
+
+# Javascript DWL redirection
+function redirectionDWL ($url) {
+
+ $URL = get_bloginfo('url')."/".$url;
+
+ echo("Le téléchargement est en cours... <br/>\n
+ Si le téléchargement ne démarre pas automatiquement, veuillez cliquez <a href=".$URL.">ici</a>.<br/>\n");
+
+ echo("<script language=\"javascript\" type=\"text/javascript\"> \n");
+ echo(" <!--\n");
+ echo(" document.location.href = \"".$URL."\";\n ");
+ echo(" window.location = \"".$URL."\";\n ");
+ echo(" //-->\n");
+ echo("</script>\n");
+
+}
+
+# Text cutter
+function text_cutter($text,$length){
+ $symbole="<!-- cut -->";
+
+ $lastpos = strrpos($text,$symbole);
+
+ if($lastpos!=FALSE){
+
+ return (substr($text, 0, $lastpos));
+
+ } else {
+
+ if(strlen($text)>$length){
+ return (substr($text, 0, $length)."[...]");
+ } else {
+ return ($text);
+ }
+ }
+}
+
+# Cache cutter
+function cache_cutter($text){
+ return (str_replace( "<!-- cut -->", "", $text));
+}
+
+
+function dp_list_posts($Eparam='') {
+
+ $category_posts = get_posts($Eparam);
+
+ foreach($category_posts as $post) {
+ echo '<li><a href="'.$post->guid.'">'.$post->post_title.'</a></li>';
+ };
+}
+
+
+/*
+Plugin Name: Get The Image
+Plugin URI: http://justintadlock.com/archives/2008/05/27/get-the-image-wordpress-plugin
+Description: This is a highly intuitive script that gets an image either by custom field input or post attachment.
+Version: 0.1 Beta
+Author: Justin Tadlock
+Author URI: http://justintadlock.com
+License: GPL
+*/
+
+/***********************************************************
+Catchall function for getting images
+***********************************************************/
+function get_the_image($arr = false, $default_size = 'medium', $default_img = false) {
+ global $post;
+ $cf_array = load_the_image($arr, $post, $default_size);
+ $image = display_the_image($cf_array, $post, $default_size, $default_img);
+ if($image == false) $image = '<!-- No images were added to this post. -->';
+ return $image;
+}
+
+/***********************************************************
+Catchall function for getting images with a link
+***********************************************************/
+function get_the_image_link($arr = false, $default_size = 'medium', $default_img = false) {
+ global $post;
+ $cf_array = load_the_image($arr, $post, $default_size);
+ $image = display_the_image($cf_array, $post, $default_size, $default_img);
+
+ if($image == false) :
+ $image_link = '<!-- No images were added to this post. -->';
+ else :
+ $post_perm = get_permalink($post->ID);
+ $image_link = "<a href=\"$post_perm\" title=\"$post->post_title\">$image</a>";
+ endif;
+ return $image_link;
+}
+
+/***********************************************************
+Function for loading an image
+***********************************************************/
+function load_the_image($custom_fields = false, $en_post, $default_size) {
+
+// Checks only if there are custom fields to check for
+ if(isset($custom_fields)) {
+
+ // Loop through the custom fields, checking for images or video
+ $i = 0;
+ while(strcmp($image[0],'') == 0 && $i <= sizeof($custom_fields)) {
+
+ // Check custom field values for image, image alt text, and image class
+ $image = get_post_custom_values($key = $custom_fields[$i]);
+ $image_alt = get_post_custom_values($key = $custom_fields[$i] . ' Alt');
+ $image_class = get_post_custom_values($key = $custom_fields[$i] . ' Class');
+ // Convert custom field key name to image class
+ $img_class = $custom_fields[$i];
+ $img_class = strtolower($img_class);
+ $img_class = str_replace (" ", "-", $img_class);
+
+ // Add space to image class if user inputs an extra class
+ if($image_class == true) $image_class .= ' ';
+
+ // Add user image class to default image classes
+ if($default_size == 'thumbnail' && $img_class == 'thumbnail') $image_class .= $default_size;
+ elseif($default_size == 'medium' && $img_class == 'medium') $image_class .= $default_size;
+ elseif($default_size == 'full' && $img_class == 'full') $image_class .= $default_size;
+ else $image_class .= $img_class . ' ' . $default_size;
+
+ $i++;
+ } // End while loop
+ } // End check for custom field image
+
+// If there is no image set through custom fields, check post attachments
+ if($image == false && $default_size == true) {
+ $img_att_arr = find_attachment_image($custom_fields[0], $en_post, $default_size);
+ if(strcmp($image_att_arr[0],'') == 0) :
+ $image = $img_att_arr[0];
+ $image_class = $img_att_arr[1];
+ $image_alt = false;
+ else :
+ $image = false; $image_alt = false; $image_class = false;
+ endif;
+ }
+
+// Return array with an image, image alt, and image class
+ return array($image, $image_alt, $image_class);
+}
+
+/***********************************************************
+Function for displaying an image
+***********************************************************/
+function display_the_image($cf_array = false, $en_post = false, $default_size = false, $default_img = false) {
+
+// Set nice names for image info
+ if($cf_array[0] == false && $default_img == true) :
+ $image[0] = $default_img;
+ $image_class = $default_size;
+ else :
+ $image = $cf_array[0];
+ $image_alt = $cf_array[1];
+ $image_class = $cf_array[2];
+ endif;
+
+// If there's any kind of image for this post
+ if(isset($image[0]) && strcmp($image[0],'') != 0) :
+ // Open img tag
+ $output = '<img src="'.$image[0].'"';
+ $output .= ' alt="';
+ // Image alt text
+ if(isset($image_alt[0]) && strcmp($image_alt[0],'') != 0) $output .= $image_alt[0];
+ else $output .= $en_post->post_title;
+ // Image class
+ $output .= '" class="';
+ if(isset($image_class[0])) $output .= $image_class;
+ else $output .= 'left';
+ // Close img tag
+ $output .= '" />';
+// If there's no image
+ else :
+ $output = false;
+ endif;
+// Return the image
+ return $output;
+}
+
+/***********************************************************
+Function for finding an attachment image.
+Only called if no custom field images are set.
+***********************************************************/
+function find_attachment_image($custom_fields = false, $en_post = false, $default_size = 'medium') {
+
+ $custom = $custom_fields;
+ $custom = strtolower($custom);
+ $custom = str_replace (" ", "-", $custom);
+// Don't repeat the same class name
+ if($custom == 'thumbnail' || $custom == 'medium' || $custom == 'full') $img_class = $default_size;
+ else $img_class = $custom . ' ' . $default_size;
+
+ $attachments = get_children("post_parent=$en_post->ID&post_type=attachment&post_mime_type=image&orderby=\"menu_order ASC, ID ASC\"&numberposts=1");
+ if($attachments == true) :
+ foreach($attachments as $id => $attachment) :
+ $img = wp_get_attachment_image_src($id, $default_size);
+ $img_arr[0] = $img;
+ endforeach;
+ $img_arr[1] = $img_class;
+ else :
+ $img_arr = false;
+ endif;
+ return $img_arr;
+}
+?>
\ No newline at end of file