view index.php @ 53:ec0c926a78a6

Nettoyage de la classe d'accès aux données. Petit re-arrangement: les fonctions permettant de s'assurer que l'on a bien de l'utf-8 passe désormais dans la classe TextUtils. D'autre part, la classe a été notablement modifié: 1) si on souhaite passer un nom de base de données, il faut le faire dans le constructeur (précédement, c'était dans la méthode connect, mais c'était trompeur car le code ne gére absolument pas la connexion à deux bases de données différentes sur le même objet) 2) le code essayait de faire du ref-counting sur le nombre de fois où on avait appellé la fonction de connexion, pour fermer quand on avait atteint le même nombre de déconnexion, mais ne faisait pas ca particulièrement bien 3) il y avait une auto-connexion lors de l'execution des requetes si l'on était pas déja connecté, mais il n'y avait jamais d'auto-deconnexion (le code était buggé) 4) on essayait systématiquement de s'assurer que les enregistrements obtenus depuis la base de données étaient en utf8. A priori, c'est pour des considérations de migrations hérités de Mega-Poudlard, mais je crois que ce n'est pas necessaire pour ce blog, et ca ne l'est certainement pas dans le cas général...
author Franck Deroche <webmaster@defr.org>
date Tue, 29 Jan 2008 11:52:32 +0100
parents f6552a610bfd
children 2a03eac5e9ca
line wrap: on
line source
<?php
    require_once("classes.php");
    $sk = Factory::getSkeleton();
    // Détermination de la requête à exécuter
    if(!array_key_exists('mode', $_GET)) {
        $query = "
        SELECT * 
    	FROM Mess 
        WHERE num_version='Version 10'
        ORDER BY num_mess DESC
        LIMIT 10
        ";
    	$sk->setTitle('Dual { v10 : OS Edition } Blog');
    } elseif($_GET['mode'] == 'cal') {
        $sk->showCalendar(true);
        $year = intval($_GET['year']);
        $month = intval($_GET['month']);
        $sk->setCalendarMonth($month, $year);
        $sk->setTitle(TextUtils::getMonthName($month) . " $year - Dual Blog");
        $query = "
        SELECT * 
    	FROM Mess 
        WHERE 
            YEAR(DatePost) = $year AND
            MONTH(DatePost) = $month
        ORDER BY num_mess DESC
        LIMIT 10
        ";
    } elseif($_GET['mode'] == 'tag') {
        $tag = $_GET['tag'];
        $sk->setTitle("Tag: $tag - Dual Blog"); 
        $query = "
        SELECT * 
        FROM Mess m
        LEFT JOIN Lien_Tags_Posts l ON m.num_mess=l.idMess
        LEFT JOIN Tags t ON l.idTag = t.idTag 
        WHERE t.Tag='{$_GET['tag']}'
        ORDER BY num_mess DESC
        ";
    }
    $db = Factory::getDB();
    $db->query($query);
    while($row = $db->GetRow()) {
      $post = new Post($row);
      $sk->addBlogPost($post->format());
      $sk->checkUpdateTime(strtotime($row['DatePost']));
    }
    echo $sk;
?>