Code Search for Developers
 
 
  

archives.mod.php from Gulus at Krugle


Show archives.mod.php syntax highlighted

<?php
acces_direct_au_module_interdis_veuillez_utiliser_index_php();

/**

Ce module est utilisé dans plusieurs contextes, d'où la complexité du code.
Ce code est ce qui affiche des "items" avec un "next" et un "back" pour naviguer
à travers la liste complète des items. Voir:
   index.php?mod=archives // archives des nouvelles (lien de la page principale)
   index.php?mod=archives&mode=activite // archive des activités (lien de la section Activités)
   index.php?mod=edition_nouvelle // section privée
   index.php?mod=edition_activite // section privée

Idéalement, ce code aurait du être écrit comme un classe de base qui utilise des "items"
avec les méthodes appropriées pour utiliser ces items...

*/

   $date = date("Y-m-d");
   if(!isset($nb_elements_max))
      $nb_elements_max = 5;
   if($nb_elements_max <= 0) $nb_elements_max = 5;
   if(!isset($debut)) $debut = 0;
   if($debut < 0) $debut = 0;
   if(!isset($module)) $module = "archives";
   if(!isset($mode) or ($mode != "nouvelle" and $mode != "activite" and $mode!="pv")) $mode = "nouvelle";

   // si le module est utilisé pour voir l'archive des nouvelles,
   // on ne veut pas que les nouvelles non activées s'affichent.
   if($module != "edition_nouvelle" and $mode == "nouvelle")
   {
      $whereEstActive = "WHERE (date_nouvelle <= '$date 23:59:59' AND est_active = 1)";
   }
?>

<FORM METHOD="POST" ACTION="<?php echo $PHP_SELF . "?mod=$module&mode=$mode&debut=$debut";  ?>">
Afficher <INPUT TYPE="TEXT" NAME="nb_elements_max" VALUE="<?php echo $nb_elements_max; ?>" SIZE=3>
 <?php echo $mode;?>s à la fois. <INPUT NAME="submit__" TYPE=submit VALUE="Soumettre">
</form>
<p>
<?php
   include("includes/db_info.inc.php");

   $db = mysql_connect($db_host, $db_user, $db_passwd);
   mysql_select_db($db_name, $db);

   // retourne le nombre de "row" dans la bd.
   $result = mysql_query("SELECT COUNT(*) FROM gulus_${mode}s $whereEstActive");
   $myrow = mysql_fetch_row($result);
   $nb_elements = $myrow[0];

   if($mode == "activite")
   {
      $sql = "SELECT * FROM gulus_activites ORDER BY date_activite DESC LIMIT $debut, $nb_elements_max";
   }
   elseif($mode == "nouvelle")
   {
      if($module == "edition_nouvelle") // on affiche toutes les nouvelles
      {
         $sql = "SELECT * FROM gulus_nouvelles ORDER BY date_nouvelle DESC LIMIT $debut, $nb_elements_max";
      }
      else // on n'affiche pas les nouvelles inactives ni les nouvelles dans le futur
      {
         $sql = "SELECT * FROM gulus_nouvelles WHERE (date_nouvelle <= '$date 23:59:59' AND est_active = 1) ORDER BY date_nouvelle DESC LIMIT $debut, $nb_elements_max";
      }
   }
	elseif($mode == "pv")
	{
		$sql = "SELECT * FROM gulus_pvs ORDER BY date_pv DESC LIMIT $debut, $nb_elements_max";
	}

   $result = mysql_query($sql, $db) or die("Requête SQL invalide : " .$sql);
   $aucun_item = TRUE;

   $nb_elements_affiches = mysql_num_rows($result);

   while ($myrow = mysql_fetch_array($result)) {
      $aucun_item = FALSE;
      if($mode == "nouvelle")
         afficheNouvelle($myrow, "edition_nouvelle" == $module);
      elseif($mode == "activite")   // le deuxieme argument de afficheActivite fonctionne en logique négative...
         afficheActivite($myrow, "edition_activite" != $module, "edition_activite" == $module);
		elseif($mode == "pv")
			affichePv($myrow,"edition_pv"==$module,FALSE);
      echo '<p>';
   }

   if($aucun_item) {
      printf("Aucune(e) $mode pour l'instant.<p>");
   }

   $nb_elements_restants = $nb_elements - $nb_elements_affiches - $debut;
   $nb_el_prochain_affichage = min($nb_elements_restants, $nb_elements_max);

   if($nb_elements_restants > 1) $s_ = "s";
   if($nb_elements_restants >= 1) echo "Il reste $nb_elements_restants $mode$s dans l'archive.<p>";

   if($debut > 0)
   {
      echo "[<A HREF=\"index.php?mod=$module&mode=$mode&nb_elements_max=$nb_elements_max&debut=" . ($debut - $nb_elements_max) . "\">Afficher les ${mode}s précédentes</A>] ";
   }
   else
   {
      echo "[Aucun(e) $mode précédent(e)] ";
   }

   $lien = "<A HREF=\"index.php?mod=$module&mode=$mode&nb_elements_max=$nb_elements_max&debut=" . ($debut + $nb_elements_affiches). "\">";
   if($nb_el_prochain_affichage == 1)
   {
      echo "[${lien}Afficher le(la) prochain(e) $mode</A>]";
   }
   elseif($nb_el_prochain_affichage > 1)
   {
      echo "[${lien}Afficher les " . $nb_el_prochain_affichage . " prochain(e)s ${mode}s</A>]";
   }
   else echo "[Aucun(e) $mode suivant(e)]";
?>







See more files for this project here

Gulus

Groupe d\'Utilisateurs de Linux de l\'Universit? de Sherbrooke. http://www.gulus.org/

Project homepage: http://sourceforge.net/projects/gulus
Programming language(s): PHP,Shell Script
License: other

  activites.fct.php
  activites.mod.php
  aide.fct.php
  aide.mod.php
  ajout_activite.fct.php
  ajout_activite.mod.php
  ajout_nouvelle.fct.php
  ajout_nouvelle.mod.php
  ajout_pv.fct.php
  ajout_pv.mod.php
  archives.fct.php
  archives.mod.php
  authentification.inc.php
  calendrier.fct.php
  calendrier.mod.php
  commandites.fct.php
  commandites.mod.php
  db_info.inc.php
  edition_activite.fct.php
  edition_activite.mod.php
  edition_nouvelle.fct.php
  edition_nouvelle.mod.php
  edition_pv.fct.php
  edition_pv.mod.php
  formulaire_activites.inc.php
  formulaire_membre.inc.php
  formulaire_nouvelles.inc.php
  formulaire_pv.inc.php
  formulaires.inc.php
  index.fct.php
  index.mod.php
  lister_membres.fct.php
  lister_membres.mod.php
  logo_gulus.fct.php
  logo_gulus.mod.php
  membre_abonnement.fct.php
  membre_abonnement.mod.php
  membre_desinscrire.fct.php
  membre_desinscrire.mod.php
  membre_modifier.fct.php
  membre_modifier.mod.php
  membres.fct.php
  membres.mod.php
  menu.inc.php
  menu_miniature.inc.php
  passwd_section_privee.inc.php
  pourquoi.fct.php
  pourquoi.mod.php
  prive.fct.php
  prive.mod.php
  publications.fct.php
  publications.mod.php
  pv.fct.php
  pv.mod.php
  scripts.php
  services.fct.php
  services.mod.php
  split.inc.php
  telechargements.fct.php
  telechargements.mod.php