Log Lapin - tout ce qui se fait sur le serveur

Le forum pour ceux qui sont hébergés sur le serveur Lapin. Les pauvres !
Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » ven. 05 juin 2009 - 22:33

Ce sujet va regrouper toutes les lignes écrites à partir d'aujourd'hui ainsi que les lieux où elles apparaissent.
Avec quelques explications sur leur utilité.

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Documentation Lapin - codes et explications

Message non lupar LaHyenne » ven. 05 juin 2009 - 22:40

Où : /var/www/domains/lapin/madinistration/index.php
Domain : pour l'instant lille.lapin.org durant la création. Sera déplacé vers madinistration.lapin.org
Sécurité : Fichier .htaccess restrictif. Accès pour phiip et lahyenne
Rôle : Ce fichier d'index contient le menu de l'administration du portail. Il crée son contenu à partir de ./inc/page.php
---Note : Pour l'instant la création de sous domaine n'est pas commencée, uniquement celle des comics l'est.

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
<head>
        <title>Administration du portail Lapin</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
<ul id="menu">

        <li> <?php // Retour à l'accueil ?>
                <form action="index.php" method="post">
                        <input type="hidden" name="hack" value="nope" />
                        <input type="hidden" name="page" value="home" />
                        <input type="submit" value="Retour à l'accueil" />
                </form>
        </li>

        <li> <?php // Nouveau sous-domaine ?>
                <form action="index.php" method="post">
                        <input type="hidden" name="hack" value="nope" />
                        <input type="hidden" name="page" value="domain" />
                        <input type="submit" value="Nouveau sous-domaine" />
                </form>
        </li>

        <li> <?php // Nouveau webcomics ?>
                <form action="index.php" method="post">
                        <input type="hidden" name="hack" value="nope" />
                        <input type="hidden" name="page" value="comics" />
                        <input type="submit" value="Nouveau webcomix" />
                </form>
        </li>
</ul>

<div id="page">
<?php
        if (!$_POST[page] || $_POST[hack] != "nope") $page="home";
        else $page = $_POST[page];
        include "inc/".$page.".php";
?>
</div>

</body>
</html>

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » sam. 06 juin 2009 - 16:44

Lille.lapin.org renvoie vers /var/domains/lapin/madinistration

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » sam. 06 juin 2009 - 16:47

Changement du fichier index pour améliorer la sécurité en passant les variables de retour de requète dans $_SESSION

Code : Tout sélectionner

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
<head>
        <title>Administration du portail Lapin</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="admin.css" />
</head>

<body>
<ul id="menu">

        <li> <?php // Retour à l'accueil ?>
                <form action="index.php" method="post">
                        <input type="hidden" name="hack" value="nope" />
                        <input type="hidden" name="page" value="home" />
                        <input type="submit" value="Retour à l'accueil" />
                </form>
        </li>

        <li> <?php // Nouveau sous-domaine ?>
                <form action="index.php" method="post">
                        <input type="hidden" name="hack" value="nope" />
                        <input type="hidden" name="page" value="domain" />
                        <input type="submit" value="Nouveau sous-domaine" />
                </form>
        </li>

        <li> <?php // Nouveau webcomics ?>
                <form action="index.php" method="post">
                        <input type="hidden" name="hack" value="nope" />
                        <input type="hidden" name="page" value="comix" />
                        <input type="submit" value="Nouveau webcomix" />
                </form>
        </li>
</ul>

<div id="page">
<?php
        if ( isset($_SESSION[page]) && $_SESSION[page] != '' ) $page = $_SESSION[page];
        else if (!$_POST[page] || $_POST[hack] != "nope" ) $page="home";
        else $page = $_POST[page];
        include "inc/".$page.".php";       

       // Vider la page de la session
        $_SESSION[page] = '';
?>
</div>

</body>
</html>

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » dim. 07 juin 2009 - 17:47

Avancement du projet madinistration : (en test sur lille.lapin.org, accès à phiip et lahyenne)

- Page de configuration des options du portail qui marche (possibilité de changer les options à la volée)
TODO = Rajouter la possibilité d'ajouter une option
[FAIT] Page d'ajout de comix dans la bdd
TODO = Vérifications des données avancées
[A AMELIORER] = Upload de l'image de description de base et création d'une copie avec la taille actuelle des raccourcis principaux
[FAIT] = Ajout des bases du comics en même temps.
[FAIT] = Gestion des comix (modification et suppression)


Et ensuite, création des listes de comics triées (presentation-strips)
J'ai une bonne base bien stable et sécurisée. Reste à broder autour...

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 09 juin 2009 - 07:34

Bien avancé (cf édition au dessus).

De nouveaux fichiers sur madinistration.

finitions sur index.php

Code : Tout sélectionner

<?php session_start(); include 'inc/bdd.php' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
<head>
   <title>Administration du portail Lapin</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <style type="text/css" media="all">
      @import "admin.css";
   </style>
</head>
<body>
<div id="header">
<ul id="menu">

   <?php
      if ( empty($_SESSION[message]) && !empty($_POST[page]) ) $_SESSION[message] = "Retour sur la page ".$_POST[page].".";
      else if ( empty($_SESSION[message]) ) $_SESSION[message] = "Houston, on a un problème!";
   ?>

   <li> <?php // Retour à l'accueil ?>
      <form action="index.php" method="post">
         <input type="hidden" name="hack" value="nope" />
         <input type="hidden" name="page" value="home" />
         <input type="submit" value="Retour à l'accueil" />
      </form>
   </li>

   <li> <?php // Configuration générale ?>
      <form action="index.php" method="post">
         <input type="hidden" name="hack" value="nope" />
         <input type="hidden" name="page" value="config" />
         <input type="submit" value="Configuration générale" />
      </form>
   </li>

   <li> <?php // Nouveau sous-domaine dans le dossier comics ?>
      <form action="index.php" method="post">
         <input type="hidden" name="hack" value="nope" />
         <input type="hidden" name="page" value="domain" />
         <input type="submit" value="Nouveau sous-domaine" />
      </form>
   </li>

   <li> <?php // Nouveau webcomics dans la bdd ?>
      <form action="index.php" method="post">
         <input type="hidden" name="hack" value="nope" />
         <input type="hidden" name="page" value="comix" />
         <input type="submit" value="Gérer webcomix" />
      </form>
   </li>
</ul>
<div id='message'>
   <?php
      if ( !empty($_SESSION[message]) ) {
         echo $_SESSION[message];
         $_SESSION[message] = '';
      }
   ?>
</div>
</div>


<div id="page">
<?php
   if ( isset($_SESSION[page]) && $_SESSION[page] != '' ) $page = $_SESSION[page];
   else if (!$_POST[page] || $_POST[hack] != "nope" ) $page="home";
   else $page = $_POST[page];
   include "inc/page_".$page.".php";

   // Vider la page de la session
   $_SESSION[page] = '';
?>
</div>

</body>


Des fonctions en plus dans inc/bdd.php

Code : Tout sélectionner

<?php

   $mysqlhost=":/var/run/mysqld/mysqld.sock";
   $mysqldb="lapin";
   $mysqluser="phiip";
   $mysqlpwd="az!*45bk";

   $servermail="http://imp.online.net";

   $conn = mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die(mysql_error());
   mysql_select_db($mysqldb, $conn) or die(mysql_error());

   // Fonction qui select en définissant from.
   function select_f ($from) {
      $request = mysql_query("SELECT * FROM ".$from." ");
      if ($request == '' || !isset($request) ) return NULL;
      else return $request;
   }

   // Fonction qui select en définissant from et where.
   function select_fw ($from, $where) {

      $request = mysql_query("SELECT * FROM ".$from." WHERE ".$where." ");
      $result = mysql_fetch_array($request, MYSQL_ASSOC) or die('prout');      
      if ($result == '' || !isset($result) ) return NULL;
      else return $result;
   
   }

   // Fonction qui update la valeur value de la clé key
   function update_option ($key, $value) {
      return mysql_query("UPDATE aaa_config SET valeur='".$value."' WHERE cle='".$key."' ");
   }

   // Fonction pour mettre à jour des données dans une table
   function update_fsw($from, $set, $where) {
      return mysql_query("UPDATE ".$from." SET ".$set." WHERE ".$where." ");
   }

   // Fonction qui update en définissant la table et un tableau avec les données à modifier.
   function update_cas ($table, $to_update, $cases) {
      mysql_query("UPDATE ".$table." SET ".$to_update."= CASE ".$cases." END") or die(mysql_error()) ;
   }

   // Fonction qui insère des donnees dans une table
   function insert ($donnees, $table) {
      return mysql_query("INSERT INTO ".$table." VALUES(".$donnees.")");
   }

   // Fonction pour supprimer dans from les donnees definies dans where
   function delete_fw($from, $where) {
      return mysql_query("DELETE FROM ".$from." WHERE ".$where." ");
   }

   // Fonction pour supprimer une table
   function drop ($table) {
      return mysql_query("DROP TABLE `".$table."` ");
   }

   function create($name, $struct, $options){
      if ( !mysql_query("SHOW TABLES LIKE '".$name."' ") )
         return mysql_query("CREATE TABLE ".$name." ( ".$struct." ) ".$options." ");
      else return NULL;
   }
?>



Gros bouleau sur la page de gestion des comics avec:
La page elle même inc/page_comix.php

Code : Tout sélectionner

<form action="request/new_comix.php" method="post">
<fieldset>
   <legend><a>Créer un nouveau comics</a></legend>

   <input type="hidden" name="hack" value="nope" />

   <label>Surnom (pour la bdd): <input type="text" name="nickname" value="comicname" /> (Attention, ce surnom ne pourra plus être changé via cette interface !)</label>
   <label>Titre : <input type="text" name="title" value="Titre complet" size="30" /></label>
   <label>Description : <input type="text" name="description" value="Description succinte du comics à créer (info bulle)" size="50" /></label>
   <label>Auteur : <input type="text" name="author" value="Auteur" /></label>
   <label>Url de base : <input type="text" name="url" value="http://comic.lapin.org" /></label>
   <label>Image descriptive : <input type="text" name="imagepath" value="Ressources5/90image.gif" /> (va la chercher dans "http://lapin.org/" = "/var/www/domains/lapin/www/")</label>
   <label>Catégorie : <input type="text" name="category" value="Amateur" /></label>
   <label>Etat : <input type="text" name="status" value="Nouveau" /></label>

   <input type="submit" value="Créer" />   
</fieldset>
</form>

<form action="request/edit_comix.php" method="post">
<fieldset>
   <legend><a>Gestion des comics existants</a></legend>

   <input type="hidden" name="hack" value="nope" />

   <ul id="liste_comics">
   <?php
      $comics = select_f ('aaa_comics');
      echo '<li id="li_titres">'.
         '<input name="nickname" disabled="disabled" value="Nickname" size="8" />'.
         '<input name="titre" disabled="disabled" value="Titre" />'.
         '<input name="description" disabled="disabled" value="Description" />'.
         '<input name="auteur" disabled="disabled" value="Auteur" size="8" />'.
         '<input name="url" disabled="disabled" value="Url" />'.
         '<input name="collection" disabled="disabled" value="Collection" size="5" />'.
         '<input name="imgdesc" disabled="disabled" value="Image descriptive" size="5" />'.
         '<input name="etat" disabled="disabled" value="Etat" size="5" />'.
         '<input name="supprimer" disabled="disabled" value="Supprimer" size="6" />'.
         '</li>';
      while ( $comic = mysql_fetch_array($comics) ) {
         echo '<li class="li_comic">'.
            '<input name="nickname" disabled="disabled" value="'.$comic[nickname].'" size="8" />'.
            '<input type="text" name="name_'.$comic[nickname].'" value="'.$comic[name].'" />'.
            '<input type="text" name="description_'.$comic[nickname].'" value="'.$comic[description].'" />'.
            '<input type="text" name="author_'.$comic[nickname].'" value="'.$comic[author].'" size="8" />'.
            '<input type="text" name="url_'.$comic[nickname].'" value="'.$comic[url].'" />'.
            '<input type="text" name="imagepath_'.$comic[nickname].'" value="'.$comic[imagepath].'" />'.
            '<input type="text" name="collection_'.$comic[nickname].'" value="'.$comic[collection].'" size="5" />'.
            '<input type="text" name="status_'.$comic[nickname].'" value="'.$comic[status].'" size="5" />'.
            '<select name="delete_'.$comic[nickname].'">'.
               '<option selected value="no">&nbsp;-&nbsp;&nbsp;</option>'.
               '<option value="yes">&nbsp;X&nbsp;</option>'.
            '</select>'.
            '</li>';
      }
   ?>
   </ul>

   <input type="submit" value="Enregistrer" />
</fieldset>
</form>


Le rajout de nouveaux comix dans request/new_comix.php

Code : Tout sélectionner

<?php

   session_start();

   // Si le formulaire n a pas été posté, on renvoie sur l index
        $_SESSION[message] = 'Tentative de piratage ?';
    if ($_POST[hack] != "nope") header ("location: ../index.php");
   // Sinon

   else {
      // connecter à la bdd    
      include '../inc/bdd.php';      

      // Ajouter le nouveau webcomics
      $request="'".$_POST[nickname]."','".$_POST[title]."', '".$_POST[description]."', '".$_POST[author]."', '', '', '', '".$_POST[img_desc]."', '".$_POST[url]."', '".$_POST[category]."', '".$_POST[status]."'";
      if (insert($request, 'aaa_comics'))  {
         $_SESSION[message] = 'Nouveau comics '.$_POST[title].' ajouté avec succès !';

         // créer les tables pour les strips, commentaires, liens et histoires
         create($_POST[nickname].'_comms',
            "`number` int(11) NOT NULL auto_increment,".
            "`title` text collate utf8_unicode_ci,".
            "`text` text collate utf8_unicode_ci,".
            "`author` text collate utf8_unicode_ci,".
            "`mail` text collate utf8_unicode_ci,".
            "`web` text collate utf8_unicode_ci,".
            "`ip` text collate utf8_unicode_ci,".
            "`strip` int(11) NOT NULL default '0',".
            "`date` int(11) NOT NULL default '0',".
            "PRIMARY KEY  (`number`)",
            "ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci");

         create($_POST[nickname].'_links',
            "`number` int(11) NOT NULL auto_increment,".
            "`url` text collate utf8_unicode_ci,".
            "`title` text collate utf8_unicode_ci,".
            "`text` text collate utf8_unicode_ci,".
            "`path` text collate utf8_unicode_ci,".
            "`file_name` text collate utf8_unicode_ci,".
            "`ext` text collate utf8_unicode_ci,".
            "`height` int(11) NOT NULL default '0',".
            "`width` int(11) NOT NULL default '0',".
            "PRIMARY KEY  (`number`)",
            "ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci");


         create($_POST[nickname].'_story',
            "`number` int(4) NOT NULL auto_increment,".
            "`title` text collate utf8_unicode_ci,".
            "`first` float NOT NULL default '0',".
            "`last` float NOT NULL default '0',".
            "`description` text collate utf8_unicode_ci,".
            "`keywords` text collate utf8_unicode_ci,".
            "`type` text collate utf8_unicode_ci,".
            "`story_arc` tinyint(2) default NULL,".
            "`theme` text collate utf8_unicode_ci,".
            "`saison` tinyint(2) default NULL,".
            "`image_name` text collate utf8_unicode_ci,".
            "`small_image_path` text collate utf8_unicode_ci,".
            "`small_image_basename` text collate utf8_unicode_ci,".
            "PRIMARY KEY  (`number`)",
            "ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci");

         create($_POST[nickname].'_strips',
            "`number` float NOT NULL auto_increment,".
            "`title` text collate utf8_unicode_ci,".
            "`panels` int(11) NOT NULL default '1',".
            "`author` text collate utf8_unicode_ci,".
            "`pre_text` text collate utf8_unicode_ci,".
            "`first_p` text collate utf8_unicode_ci,".
            "`post_text` text collate utf8_unicode_ci,".
            "`path` text collate utf8_unicode_ci,".
            "`file_name` text collate utf8_unicode_ci,".
            "`ext` text collate utf8_unicode_ci,".
            "`titleimage` text collate utf8_unicode_ci,".
            "`height` int(5) default NULL,".
            "`width` int(5) default NULL,".
            "`alt_text` text collate utf8_unicode_ci,".
            "`keywords` text collate utf8_unicode_ci,".
            "`year` int(4) default NULL,".
            "`month` int(2) default NULL,".
            "`day` int(2) default NULL,".
            "`time` varchar(8) collate utf8_unicode_ci default NULL,".
            "`story` int(5) default NULL,".
            "`realtime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,".
            "PRIMARY KEY  (`number`)",
            "ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci");


         // Redirige vers la page de gestion des comix
          $_SESSION[page] = 'comix';
         header ('location: ../index.php');

      }
      else $_SESSION[message] = "Erreur lors de l'ajout du comics. ".$_POST[nickname]." existe déjà ?";
      header ('location: ../index.php');

   }
?>


L'édition de ces comics dans request/edit_comix.php

Code : Tout sélectionner

<?php

        session_start();

        // Si le formulaire n a pas été posté, on renvoie sur l index
        $_SESSION[message] = 'Tentative de piratage ?';
        if ($_POST[hack] != "nope") header ("location: ../index.php");
        // Sinon
 
   else {
      // connecter à la bdd   
      include '../inc/bdd.php';

           // Récupérer les comics à supprimer et les éditer au passage
      $to_suppr = array();
      foreach ($_POST as $key => $value) {
         $name = explode('_', $key);
         if ($name[0] != 'hack') {
            if ($name[0] == 'delete' && $value == 'yes') $to_suppr[] = $name[1];
            else if ($name[0] != 'delete') update_fsw('aaa_comics', $name[0]."='".$value."'", "nickname='".$name[1]."'");
         }
      }
   
      // Recuperer les suppressions et poser la question
      $deleted = '';
      foreach ($to_suppr as $comic) $deleted .= $comic.', ';
      if ( empty($deleted) ) $_SESSION[message] = 'Tous les comics ont été modifiés avec succès';
      else {
          $_SESSION[message] = 'Voulez-vous vraiment supprimer '.$deleted.' et ce définitivement ? '.
               '<form id="message_form" action="request/supp_comix.php" method="post">'.
               '<input type="hidden" name="hack" value="nope" />'.
               '<input type="submit" name="oui" value="Supprimer" />'.
               '<input type="submit" name="non" value="Annuler" />'.
               '</form>';
         $_SESSION[to_suppr] = $to_suppr;
      }

           // Redirige vers la page de gestion des comix
           $_SESSION[page] = 'comix';
           header ('location: ../index.php');
   }

?>


Et enfin leur suppression possible via request/supp_comix.php

Code : Tout sélectionner

<?php

        session_start();

        // Si le formulaire n a pas été posté, on renvoie sur l index
        $_SESSION[message] = 'Tentative de piratage ?';
        if ($_POST[hack] != "nope") header ("location: ../index.php");
        // Sinon

   // Si annulation
   else if ( isset($_POST[non]) ) {
      $_SESSION[page] = 'comix';
      $_SESSION[message] = 'Edition effectuée, mais suppression annulée !';
      header ('location: ../index.php');
   }

   // Si acceptation
   else {
      // connecter à la bdd   
           include '../inc/bdd.php';

           // Supprimer les webcomics
      foreach ($_SESSION[to_suppr] as $comic) {
         delete_fw('aaa_comics', "nickname='".$comic."'");
         drop($comic.'_comms');
         drop($comic.'_links');
         drop($comic.'_story');
         drop($comic.'_strips');
      }
      $_SESSION[message] = 'Webcomics modifiés et supprimés.';

           // Redirige vers la page de gestion des comix
           $_SESSION[page] = 'comix';
           header ('location: ../index.php');
   }

?>




Ouais ça a bien avancé.
Pour l'instant, on peut ajouter un comics.
Si les tables de comms, strips etc existent déjà, l'admin ajoute juste le comics dans la table aaa_comics.
Sinon, elle les crée.
On peut aussi modifier les données du comics et le supprimer si besoin est (attention, supprime les données aussi)

Travaux :

FAIT : insérer tous les strips existants dans la base.

test sur http://lille.lapin.org (.htaccess acces à phiip et lahyenne sur mot de passe) Attention aux conneries !

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 09 juin 2009 - 22:35

Tout va bien, la table comics est désormais remplie.

Reste à :
TODO : mise à jour de la date lors d'un nouveau strip.
TODO : Créer des modules de présentation en utilisant ces tables.
TODO : Insérer ces modules dans le code de la page d'accueil.



Code : Tout sélectionner

--
-- Structure de la table `aaa_comics`
--

CREATE TABLE `aaa_comics` (
  `nickname` varchar(10) collate utf8_unicode_ci NOT NULL,
  `name` varchar(40) collate utf8_unicode_ci NOT NULL,
  `description` text collate utf8_unicode_ci NOT NULL,
  `author` varchar(20) collate utf8_unicode_ci NOT NULL,
  `last_strip_nb` float NOT NULL,
  `last_strip_date` varchar(12) collate utf8_unicode_ci NOT NULL,
  `last_story_nb` int(11) NOT NULL,
  `imagepath` varchar(100) collate utf8_unicode_ci NOT NULL,
  `url` varchar(100) collate utf8_unicode_ci NOT NULL,
  `collection` varchar(10) collate utf8_unicode_ci NOT NULL,
  `status` varchar(10) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`nickname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Contenu de la table `aaa_comics`
--

INSERT INTO `aaa_comics` (`nickname`, `name`, `description`, `author`, `last_strip_nb`, `last_strip_date`, `last_story_nb`, `imagepath`, `url`, `collection`, `status`) VALUES
('lapin', 'Lapin', 'les aventures d''un lapin moche en tissu pourri - bande dessinée quotidienne avec de l''humour dedans, par Phiip.', 'Phiip', 0, '', 0, 'Ressources5/90lapin.gif', 'http://www.lapin.org', 'Webcomix', 'Vivant'),
('ninja', 'Ninja Blanc', 'Ninja blanc est un Ninja très spécial, assez peu impliqué dans des activités de Ninja, qui préfère écraser des tortues ou secouer des enfants dans des bocaux, par Scott Bevan et Kent Earle.', 'Phiip', 0, '', 0, 'Ressources5/90white-ninja.gif', 'http://ninja.lapin.org', 'Traduction', 'Vivant'),
('kouin', 'Kouin le Canard', 'Les aventures d''un canard très spécial, et de sa sidekick, Chiotte, dans des aventures policières, aquatiques, délirantes, avec des images multicolores balançant entre l''humour absurde et le romantisme débridé, par puyo.', 'puyo', 0, '', 0, 'Ressources5/90kouin.jpg', 'http://kouin.lapin.org', 'Webcomix', 'Vivant'),
('blob', 'Blob''s Life', 'Sur une petite planète vivent des... machins appelés blobs, qui ont le mérite d''exister. Ils voudraient ressembler à Brad Pitt, mais ce n''est pas facile quand on est une amibe. Par guigoz', 'guigoz', 0, '', 0, 'Ressources5/90blob.png', 'http://blob.lapin.org', 'Webcomix', 'Coma'),
('cereales', 'Les Céréales du Dimanche Matin', 'Un webcomic en couleurs en forme de gags en une image sur la vie, la mort, la famille, la religion, la science... par Zack Weiner ', 'Phiip', 0, '', 0, 'Ressources5/90cereales.gif', 'http://cereales.lapin.org', 'Traduction', 'Vivant'),
('chef', 'Chef Magik', 'Chef Magik est le sorcier très intelligent d''une tribu d''intellectuels de plaine. Que ce soit en amour, en science ou en rêve, chef Magik a toujours la solution face aux situations les plus abracadabrantes, par Zof.', 'Zof', 0, '', 0, 'Ressources5/90chef-magik.gif', 'http://chef.lapin.org', 'Webcomix', 'Coma'),
('combat', 'Federation of Fatal Furious Free Fight', 'De mystérieux combattants combattent pour le titre de la Fédération de Fatal Furious Free Fight ! Créé par MRoda.of Fatal Furious Fr', 'MRoda', 0, '', 0, 'Ressources5/90fatal.gif', 'http://combat.lapin.org', 'Webcomix', 'Mort'),
('destin', 'Une Modeste Destinée', 'Maxime tente de sauver le monde contre les méchants, les Gluants géants, les ombres mystérieuses et les hommes de main douteux... par Sean Howard.', 'Phiip', 0, '', 0, 'Ressources5/90maxime.gif', 'http://destin.lapin.org', 'Traduction', 'Vivant'),
('doc', 'Docteur Fun', 'Docteur Fun, des gags d''humour absurdes en une image, par David Farley.', 'Phiip', 0, '', 0, 'Ressources5/90docteur.gif', 'http://docteur.lapin.org', 'Traduction', 'Vivant'),
('elf', 'Elftor', 'Les aventures d''un elfe orange un peu allumé qui aime boire et tuer des gens, par Alex  ', 'Phiip', 0, '', 0, 'Ressources5/90elftor.gif', 'http://elftor.lapin.org', 'Traduction', 'Mort'),
('fromage', 'Plus Fort que le Fromage', 'Coulant, un peu fait, avec cette odeur inimitable du Munster croisé avec un bon bleu, Plus Fort que le Fromage est un comic strip saignant, irrespectueux, vif et incisif. Desmond Seah n''épargne personne, pour notre plus grand plaisir...', 'Phiip', 0, '', 0, 'Ressources5/90fromage.gif', 'http://fromage.lapin.org', 'Traduction', 'Vivant'),
('gordon', 'Gordon le Mouton', 'Gordon le Mouton s''interroge sur la vie, le troupeau, sa place dans le troupeau, le monde, par Arnaud.', 'Arnaud', 0, '', 0, 'Ressources5/9mouton.gif', 'http://mouton.lapin.org', 'Webcomix', 'Vivant'),
('hommes', 'Des Lapins et des Hommes', 'Un comic strip en rouge et gris avec des paysans, des patrons, des employés, des cerfs, des seigneurs, des morts, des vivants, du sang, des larmes et un certain détachement, par puyo et Polito', 'puyo', 0, '', 0, 'Ressources5/90hommes.gif', 'http://hommes.lapin.org', 'Webcomix', 'Mort'),
('ingrid', 'Le Journal d''Ingrid Bétancourt', 'Le journal d''Ingrid Betancourt, un journal intime d''Ingrid et de ses amis depuis la jungle colombienne. Attention, cocktail explosif ! (par puyo et maaarge)', 'puyo', 0, '', 0, 'Ressources5/90ingrid.jpg', 'http://ingrid.lapin.org', 'Webcomix', 'Vivant'),
('jerry', 'Jerry Stobbart', 'Jerry Stobbart est un inspecteur de police abruti et irresponsable chargé d''enquêter sur un serial killer... Les premières aventures de Jerry, par Ale.', 'Ale', 0, '', 0, 'Ressources5/90jerry.gif', 'http://police.lapin.org', 'Webcomix', 'Fini'),
('kids', 'La Maison de Canard', 'La maison de canard, une histoire courte pour les enfants, par alice et puyo.', 'puyo', 0, '', 0, 'Ressources5/90kids.gif', 'http://enfants.lapin.org', 'Enfant', 'Fini'),
('kreepy', 'Kreepy Kat', 'Un nouveau strip de la créature à forme humaine nommée Ian Laurie.', 'Phiip', 0, '', 0, 'Ressources5/90kreepy.gif', 'http://chat.lapin.org', 'Traduction', 'Vivant'),
('mafia', 'Jerry Stobbart contre la mafia', 'Le retour de Jerry Stobbart, l''inspecteur de police moyennement doué. Après avoir résolu l''énigme du serial killer, Jerry se frotte à un terrible ennemi : la Mafia, par Ale.', 'Ale', 0, '', 0, 'Ressources5/90mafia.gif', 'http://mafia.lapin.org', 'Webcomix', 'Vivant'),
('maximi', 'Maximi le Clown', 'Les aventures super d''un clown génial dans un cirque de fous, par polito.', 'polito', 0, '', 0, 'Ressources5/90maximi.gif', 'http://maximi.lapin.org', 'Webcomix', 'Fini'),
('meduse', 'Le Rateau de la Méduse', 'Le Rateau de la Méduse, ce sont des gags d''humour absurdes en une image, par Phiip.', 'Phiip', 0, '', 0, 'Ressources5/90meduse.gif', 'http://humour.lapin.org', 'Webcomix', 'Vivant'),
('monsieur', 'Monsieur Monsieur', 'Monsieur Monsieur conte les histoires d''une horrible bestiole qui a tendance à voir ses membres lui échapper. Par Dydem.', 'Dydem', 0, '', 0, 'Ressources5/90monsieur.gif', 'http://monsieur.lapin.org', 'Webcomix', 'Vivant'),
('philo', 'Les Philosophes', 'Kant, Platon, Descartes, Newton, Rousseau, Voltaire, Aristote et Leibniz se rencontrent enfin, et discutent philosophie, mais surtout pugilat et mauvaise foi dans ce webcomics de -Nico', '-Nico', 0, '', 0, 'Ressources5/90philosophes.gif', 'http://philo.lapin.org', 'Webcomix', 'Vivant'),
('red', 'Red Meat', 'Red meat, un univers gore couleur sang qui dévoile ses longues jambes ensanglantées, ses cadavres d''idées reçues, son massacre du politiquement correct : avec Ted le père de famille exemplaire, Earl le psycho aux gros yeux globuleux, Dan le Laitier sadique et les autres. Par Max Cannon', 'Phiip', 0, '', 0, 'Ressources5/90redmeat.gif', 'http://redmeat.lapin.org', 'Traduction', 'Vivant'),
('commando', 'Commando B', 'Le premier comic strip en Open Source', 'Phiip', 0, '', 0, 'Ressources5/90commandoB.gif', 'http://commando.lapin.org', 'Collectif', 'Mort'),
('rouge', 'Frigidaire Rouge', 'Spin off du frigidaire par Kaami', 'Kaami', 0, '', 0, '', 'http://rouge.lapin.org', '', 'Mort'),
('saco', 'Saco Pandémino', 'Des gags absurdes en une image, avec des vrais gens dedans. A consommer sans modération. Par Djeff.', 'Djeff', 0, '', 0, 'Ressources5/90saco.gif', 'http://saco.lapin.org', 'Webcomix', 'Nouveau'),
('smileys', 'Les Smileys', 'Qu''est-ce qu''il se passerait si les petits smileys de forum s''animaient, s''il parlaient, s''engueulaient et commençaient à jouer avec les cases des BDs ?  Hé bien ça donnerait ça. Les smileys ont été créés par Jeannot. Tout le monde peut venir créer des smileys sur le forum lapin.', 'Phiip', 0, '', 0, 'Ressources5/90smilie.gif', 'http://www.lapin.org/smilies/', 'Collectif', 'Mort'),
('wilfried', 'Wilfried le Parcmètre', 'Wilfried le parcmètre est un parcmètre. Il nous raconte sa vie de parcmètre, et son emmerdement de parcmètre. C''est super-bien écrit comme série parce que nous aussi on ressent vachement bien l''ennui...', 'Yaka', 0, '', 0, 'Ressources5/90parking.gif', 'http://parking.lapin.org', 'Webcomix', 'Mort'),
('yaourt', 'Une Vie de Yahourt', 'un comic strip quotidien rigolo tout en pixels (par Yourt) narrant les aventures extraordinaires de Michel, le Yahourt de l''espace.', 'Yourt', 0, '', 0, 'Ressources5/90yaourt.gif', 'http://yahourt.lapin.org', 'Webcomix', 'Mort'),
('y_frigo', 'In da Frigidaire', 'Avant d''avoir plein d''aventures, Michel vivait dans un frigo plein de tarés. Courage, Michel, on est avec toi, par JaSp', 'JaSp', 0, '', 0, 'Ressources5/90frigo.gif', 'http://frigo.lapin.org', 'Webcomix', 'Mort');

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mer. 10 juin 2009 - 05:05

Ajout dans tous les xinougly-config.php d'une variable $nickname.
Cette variable remplacera à terme toutes les variables de définition de tables.
Elle correspond au nickname défini dans aaa_comics également.

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mer. 10 juin 2009 - 05:12

Nouveau : Normalement tout nouvel ajout de strip dans une bédé met à jour les
last_strip_date
last_strip_nb
last_story_nb
dans aaa_comics

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mer. 10 juin 2009 - 21:51

Mise à jour des dates, nb de dernier strip et nb de derniere histoire grace au script suivant:

Code : Tout sélectionner

        $comics = select_f('aaa_comics');

      while ($comic = mysql_fetch_array($comics)) {
                $req = select_fw(''.$comic[nickname].'_strips', 'number>0 ORDER BY number DESC LIMIT 0,1');
                $strip = mysql_fetch_array($req);
                $strip_nb = $strip[number];
                $story_nb = $strip[story];

                $time = explode(':', $strip[time]);
                if ($strip[month]<10) $month = '0'.$strip[month];
                else $month = $strip[month];
                if ($strip[day]<10) $day = '0'.$strip[day];
                else $day = $strip[day];

                if (empty($time[0]) ) {
                        $time[0] = '00';
                        $time[1] = '00';
                        $time[2] = '00';
                }

                $date = ''.$strip[year].$month.$day.$time[0].$time[1].$time[2];
                update_fsw('aaa_comics', "last_strip_nb='".$strip_nb."', last_strip_date='".$date."', last_story_nb='".$story_nb."'", "nickname='".$comic[nickname]."'");      $
        }

        $comics = select_f('aaa_comics ORDER BY last_strip_date');
        while ($comic = mysql_fetch_array($comics)) {
                echo $comic[nickname].' : '.$comic[last_strip_nb].' : '.$comic[last_strip_date].' : '.$comic[last_story_nb].'<br />';
        }

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mer. 10 juin 2009 - 22:49

Modification de last_strip_nb en last_strip_name
et last_story_nb en last_story_name.

Et changement de toutes les entrées de aaa_comics en ce sens.

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » jeu. 11 juin 2009 - 00:00

Création d'une fonction qui affiche une liste de strips formatée triée par ordre inverse de dernier rentrage de strip (le formatage peut changer ou passer dans le css).
Démonstration sur l'accueil de lille.lapin.org avec les 9 derniers mis à jour.

TODO = Rajouter les liens vers les strips et les histoires (implique de rajouter deux colonnes dans aaa_comics)
TODO = Mettre ce script dans un fichier séparé
TODO = tester sur l'accueil de ourse.org

Code : Tout sélectionner

<?php
        // Fonction qui calcule depuis quand le strip à afficher a été mis à jour !
        function maj($date) {
                $result = '';

                $curdate = date('YmdHis');
                $difference = $curdate - $date;

                if ($difference < 60) $result = "il y a moins d'une minute";

                return $result;
        }

        // Fonction d'affichage de $nb strips depuis $from par ordre chronologique inverse ($from partant de 0 !!!)
        function presentation_strips($from, $nb, $where) {
                echo '<ul id="presentation-strips" style="width: 900px;" >';
                $comics = select_fw('aaa_comics', $where.' ORDER BY last_strip_date DESC LIMIT '.$from.','.$nb.' ');
                while ($comic = mysql_fetch_array($comics)) {
                        $path = $comic[imagepath];
                        if (substr($path,0,1) == '/') $path = substr($path,1);                 

                        if ($comic[status] == 'Nouveau') $new_comic  = '<span style="font-size:11px; font-weight:bolder;" >NOUVEAU: </span>';
                        else $new_comic = '';

                        echo '<li style="float:left; width:300px; height: 100px;">'.
                                '<img class="presentation-image" src="http://lapin.org/'.$path.'" alt="'.$comic[name].'" style="float:left; border:1px solid yellow" />'.
                                '<p style="padding:5px; margin-left:95px; margin-right:5px; font-size:10px; font-weight:normal;" >'.
                                        '<span style="font-size: 12px;" >'.$new_comic.$comic[name].'</span><br /><br />'.
                                        'Le dernier: '.$comic[last_strip_name].'<br />'.
                                        "De l'histoire: ".$comic[last_story_name].'<br />'.
                                        '<i>MAJ '.maj($comic[last_strip_date]).'</i>'.
                                '</li>';
                }
                echo '</ul>';
        }

        presentation_strips(0, 9, "status='Vivant'");
?>

Avatar de l’utilisateur
Phiip the only Phiip
Le type qui fait les lapins, là...
Messages : 13019
Enregistré le : lun. 26 août 2002 - 17:48

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar Phiip the only Phiip » jeu. 11 juin 2009 - 18:14

Mais pour le lien, comme c'est toujours le dernier strip/la dernière histoire, c'est toujours index.php et stories.php le lien.

LaHyenne a écrit :TODO = tester sur l'accueil de ourse.org


Hourra !

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » ven. 12 juin 2009 - 08:09

-Liens ajoutés
-ligne MAJ il y a x minutes : mise à jour

(temporairement dans madinistration/inc/page_home.php)

Code : Tout sélectionner

<?php
        // Fonction qui calcule depuis quand le strip à afficher a été mis à jour !
        function maj($date) {
                $result = '';

                $curdate = date('YmdHis');
                $difference = $curdate - $date;

                if ($difference < 60) $result = "il y a une minute";
                else if ($difference < 300) $result = "il y a 5 minutes";
                else if ($difference < 3600) $result = "il y a moins d'une heure";
                else if ($difference < 7200) $result = "il y a une heure";
                else if ($difference < 21600) $result = "il y a deux heures";
                else if ($difference < 43200) $result = "il y a quelques heures";
                else if ($difference < 86400) $result = "il y a une demi-journée";
                else if ($difference < 172800) $result = "hier";
                else if ($difference < 259200) $result = "avant-hier";
                else if ($difference < 604800) $result = "il y a quelques jours";
                else if ($difference < 1209600) $result = "il y a une semaine";
                else if ($difference < 1814400) $result = "il y a deux semaines";
                else if ($difference < 2721600) $result = "il y a trois semaines";
                else $result = "il y a plus d'un mois";

                return $result;
        }

        // Fonction d'affichage de $nb strips depuis $from par ordre chronologique inverse ($from partant de 0 !!!)
        function presentation_strips($from, $nb, $where) {
                echo '<ul id="presentation-strips" style="width: 900px;" >';
                $comics = select_fw('aaa_comics', $where.' ORDER BY last_strip_date DESC LIMIT '.$from.','.$nb.' ');
                while ($comic = mysql_fetch_array($comics)) {
                        $path = $comic[imagepath];
                        if (substr($path,0,1) == '/') $path = substr($path,1);

                        if ($comic[status] == 'Nouveau') $new_comic  = '<span style="font-size:11px; font-weight:bolder;" >NOUVEAU: </span>';
                        else $new_comic = '';

                        echo '<li style="float:left; width:300px; height: 100px;">'.
                                '<a href="'.$comic[url].'/index.php" >'.
                                '<img class="presentation-image" src="http://lapin.org/'.$path.'" alt="'.$comic[name].'" style="float:left; border:1px solid yellow" />'.
                                '</a>'.
                                '<p style="padding:5px; margin-left:95px; margin-right:5px; font-size:10px; font-weight:normal;" >'.
                                        '<span style="font-size: 12px;" >'.$new_comic.$comic[name].'</span><br /><br />'.
                                        'Le dernier: '.
                                                                           'Le dernier: '.
                                        '<a href="'.$comic[url].'/index.php" >'.
                                        $comic[last_strip_name].'<br />'.
                                        '</a>'.
                                        '<a href="'.$comic[url].'/story.php" >'.
                                        "De l'histoire: ".$comic[last_story_name].'<br />'.
                                        '</a>'.
                                '<i>MAJ '.
                                        maj ($comic[last_strip_date]) .
                                '</i>'.
                                '</li>';
                }
                echo '</ul>';
        }

        presentation_strips(0, 9, "status='Vivant'");
?>

     '<a href="'.$comic[url].'/index.php" >'.


Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » sam. 13 juin 2009 - 06:39

Le problème : l'inclusion de mon fichier crée une connection sql qui n'est pas dans la bonne base de données.

Solution (mauvaise) : tout changer ourse de base de donnée -> lapin
Solution (mauvaise) : se reconnecter après présentation strips
Solution (pas terrible) : Créer un fichier qui garde en cache les données en question (pas terrible pour l'affichage des maj qui nécessiterait un recalcul permanent de ce fichier de cache)

Allez on va tenter de se reconnecter après le présentation strips.

Code : Tout sélectionner

{{tpl:myinclude src="inc/bdd.php"}}
{{tpl:myinclude src="presentation_strips.php"}}

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » sam. 13 juin 2009 - 07:27

Déplacement des fichiers dans le dossier include
Création du fichier de reconnection à dotclear.
Inclusion dans le fichier de template home.php

Fait, ça marche.

***
Correction d'un bug de calcul des MAJ

nouveau code :

Code : Tout sélectionner

        // Fonction qui calcule depuis quand le strip à afficher a été mis à jour !
        function maj($date) {
                $result = '';

                // Transforme la date en timestamp     
                $olddate = mktime( substr($date, 8, 2),
                                substr($date, 10, 2),
                                substr($date, 12, 2),
                                substr($date, 4, 2),
                                substr($date, 6, 2),
                                substr($date, 0, 4) );

                $difference = time() - $olddate;

                if ($difference < 60) $result = "il y a une minute";
                else if ($difference < 300) $result = "il y a 5 minutes";
                else if ($difference < 3600) $result = "il y a moins d'une heure";
                else if ($difference < 7200) $result = "il y a une heure";
                else if ($difference < 21600) $result = "il y a deux heures";
                else if ($difference < 43200) $result = "il y a quelques heures";
                else if ($difference < 86400) $result = "il y a une demi-journée";
                else if ($difference < 172800) $result = "hier";
                else if ($difference < 259200) $result = "avant-hier";
                else if ($difference < 604800) $result = "il y a quelques jours";
                else if ($difference < 1209600) $result = "il y a une semaine";
                else if ($difference < 1814400) $result = "il y a deux semaines";
                else if ($difference < 2721600) $result = "il y a trois semaines";
                else $result = "il y a plus d'un mois";


                return $result;
        }

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » sam. 13 juin 2009 - 07:38

apparemment les nouveaux strips ne mettent pas à jour mes méta données.
J'ai rajouté deux apostrophes judicieusement dans le code d'upload d'un strip.

TODO : vérifier si la mise à jour se fait désormais.

***
Enlevage du formattage de presentation_strips.php (attention, si ça apparait blanc, donc pas, c'est normal !!!)
Mise de l'inclusion à l'endroit qui me paraissait plus judicieux, cad juste sous le top. création d'un block div spécial pour cette liste de strips.

FAIT : transfert des styles dans le css de dotclear.
FAIT : rajout d'une section " /* PRESENTATION DES STRIPS " dans style.css (au même endroit pour toute modif)

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » sam. 13 juin 2009 - 08:07

Image

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » lun. 15 juin 2009 - 22:22

Rajout de l'année dans la date des commentaires des strips (fonction date_text() dans index_functions.php .

Intégration de la liste de strips dans la colonne de gauche.

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 16 juin 2009 - 00:27

Dans /tpl/_top.html :

Code : Tout sélectionner

<!-- VIRE PAR LH
  <p id="prelude"><a href="#main">{{tpl:lang To content}}</a> |
  <a href="#sidebar">{{tpl:lang To menu}}</a> |
  <a href="#search">{{tpl:lang To search}}</a></p>
-->

  <!-- # --BEHAVIOR-- publicTopAfterContent -->

Et :

Code : Tout sélectionner

<!-- VIRE PAR LH
  <form id="search" action="{{tpl:BlogURL}}" method="get"><div>
  <span class="search-l"></span><input
  type="text" id="q" name="q" class="search-field" maxlength="255" size="20"
  value="{{tpl:SysSearchString encode_html="1"}}" title="{{tpl:lang Search}}" /><span class="search-r"></span>
  </div></form>
-->

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 16 juin 2009 - 03:56

Amelioration de l'accueil sur ourse.org

Code : Tout sélectionner

<div id="wrapper">

<div id="main">
  <div id="content">

    <div class="grid">

<div class="grid-l">

        <div class="presentation_strips">
                {{tpl:myinclude src="inc/bdd_connect.php"}}
                {{tpl:myinclude src="inc/bdd_functions.php"}}
                {{tpl:myinclude src="presentation_strips.php"}}
                {{tpl:myinclude src="inc/dotclear_bdd_reconnect.php"}}
        </div>

      <!-- # lead : First category last post -->
      <div id="lead" class="grid-l home-lead">

        <tpl:Categories>
          <tpl:LoopPosition start="1" length="1">
            <tpl:Entries lastn="1">
              {{tpl:EntryFirstImage size="s" class="front" with_category="1"}}
              <div class="block">
              <p class="category-title"><a href="{{tpl:CategoryURL}}">{{tpl:CategoryTitle encode_html="1"}}</a></p>
              <h2><a href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
              <!-- # Entry with an excerpt -->
              <tpl:EntryIf extended="1">
                <div class="b post-content">{{tpl:EntryExcerpt}}</div>
              </tpl:EntryIf>
              <!-- # Entry without excerpt -->
              <tpl:EntryIf extended="0">
                <div class="b post-content"><p>{{tpl:EntryContent encode_html="1" remove_html="1" cut_string="500"}}</p></div>
              </tpl:EntryIf>
              <p class="read-it"><a href="{{tpl:EntryURL}}"
              title="{{tpl:lang Continue reading}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:lang Continue
              reading}}</a>
                <tpl:EntryIf operator="or" show_comments="1" show_pings="1">
                <span class="comment-count"><span> | {{tpl:lang Comments:}}</span>
                  <a href="{{tpl:EntryURL}}#comments" title="{{tpl:EntryCommentCount count_all="1"}}">{{tpl:EntryCommentCount count_all="1" none="%s" one="%s" more="%s"}}</a><$
                </tpl:EntryIf>
              </p>
              </div>

              </p>
              </div>
            </tpl:Entries>
          </tpl:LoopPosition>
        </tpl:Categories>
      </div>

      <!-- # All other categories -->
      <div id="overview" class="grid-l">
        <tpl:Categories level="1"><tpl:LoopPosition start="2"><div class="block">
          <div>
          <tpl:Entries category="#self ?sub" lastn="1" no_context="1">
            {{tpl:EntryFirstImage size="sq" class="front" with_category="1"}}
            <p class="category-title"><a href="{{tpl:CategoryURL}}">{{tpl:CategoryTitle encode_html="1"}}</a></p>
            <h2 class="post-title"><a href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
              <!-- # Entry with an excerpt -->
              <tpl:EntryIf extended="1">
                <div class="b post-content">{{tpl:EntryExcerpt}}</div>
              </tpl:EntryIf>
              <!-- # Entry without excerpt -->
              <tpl:EntryIf extended="0">
                <div class="b post-content"><p>{{tpl:EntryContent encode_html="1" remove_html="1" cut_string="250"}}</p></div>
              </tpl:EntryIf>
              <p class="read-it"><a href="{{tpl:EntryURL}}"
              title="{{tpl:lang Continue reading}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:lang Continue
              reading}}</a>
                <tpl:EntryIf operator="or" show_comments="1" show_pings="1">
                <span class="comment-count"><span> | {{tpl:lang Comments:}}</span>
                  <a href="{{tpl:EntryURL}}#comments" title="{{tpl:EntryCommentCount count_all="1"}}">{{tpl:EntryCommentCount count_all="1" none="%s" one="%s" more="%s"}}</a><$
                </tpl:EntryIf>
              </p>
          </tpl:Entries>
          </div>
        </div></tpl:LoopPosition></tpl:Categories>
      </div>

        <div class="presentation_strips">
                {{tpl:myinclude src="inc/bdd_connect.php"}}
                {{tpl:myinclude src="presentation_strips_suite.php"}}
                {{tpl:myinclude src="inc/dotclear_bdd_reconnect.php"}}
        </div>

        <div class="presentation_strips">
                {{tpl:myinclude src="inc/bdd_connect.php"}}
        <div class="presentation_strips">
                {{tpl:myinclude src="inc/bdd_connect.php"}}
                {{tpl:myinclude src="presentation_strips_patrimoine.php"}}
                {{tpl:myinclude src="inc/dotclear_bdd_reconnect.php"}}
        </div>

</div>

<div class="grid-s">

      <!-- # meta -->
      <div id="meta" class="grid-s">
        <tpl:Entries lastn="1">
          <div class="last-update">{{tpl:lang Last update:}} <strong>{{tpl:EntryDate}}</strong></div>
        </tpl:Entries>
        {{tpl:include src="inc_meta.html"}}
      </div>

      <!-- # extra -->
      <div id="extra" class="grid-s widgets">
        {{tpl:include src="inc_extra.html"}}
        {{tpl:Widgets type="nav"}}
      </div>
    </div>

</div>

  </div>
</div> <!-- End #main -->

</div> <!-- End #wrapper -->

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 16 juin 2009 - 03:58

remaniement des presentation_strips...
Ajout de test sur le status.
Ajout de _suite et _patrimoine
Ajout de require once pour éviter le chargement multiple des fonctions.
Séparation de la connection à la bdd d'avec les fonctions.

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 16 juin 2009 - 04:55

Création d'un comics de test.
Correction du problème (quelques apostrophes en trop lors de l'ajout des méta données) dans admin_new_strip_check et admin_new_story_check
Vérification sur ourse.org que la liste des strips se remet bien dans le bon ordre, tout à l'air de marcher au petit poil.
Suppression du comics de test.

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 16 juin 2009 - 06:06

Enlevage de la MAJ si le comix est Fini.
Enlevage de l'histoire si le strip n'en a pas.

Remise à jour de toutes les métadonnées (super chiant, tiens, j'avais oublié que certaines dates étaient en fait les dates de création du strip et pas celles de publication sur Lapin)

[Corrigé en fait] Rajoutage de titres pour les trucs de la colonne de Gauche. Je sais pas pourquoi, il y a un bug à élucider... Demain

Avatar de l’utilisateur
Phiip the only Phiip
Le type qui fait les lapins, là...
Messages : 13019
Enregistré le : lun. 26 août 2002 - 17:48

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar Phiip the only Phiip » mar. 16 juin 2009 - 07:39

C'est beauuuuuuuuu...
J'analyse tout ça ce soir et on en recause...


Beauuuuuuuuuuuuuuu...

[Je laisse celui là à titre d'exemple - Je vais finir par verouiller ce sujet si tu continues :D]
[héhéhéhéhé... je sais, je sais, j'essaye de me maitriser pourtant !]

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 16 juin 2009 - 17:57

Modification du top de la page : Rajout de deux bandes de dégradé entre le fond blanc et la bannière jaune.
On peut imaginer d'autres couleurs...

Code : Tout sélectionner

#top-gauche {
        float: left;
        position: relative;
        width: 20px;
        height: 180px;
        left: -20px;
        background: transparent url(img/gauche.gif) repeat-y top right;
}
#top-droit {
        float: right;
        position: relative;
        width: 20px;
        height: 180px;
        background: transparent url(img/droit.gif) repeat-y top right;
}

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 16 juin 2009 - 18:10

Effaçage des deux trois conneries inutiles dans le _top.html

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mar. 16 juin 2009 - 22:58


Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » mer. 17 juin 2009 - 22:25

Code de la liste de définitions avec balises auto fermantes.

Code : Tout sélectionner

<?php

        // Fonction qui ferme les balises non fermées dans un texte
        function fermer_balises($text) {
                $i_debut = substr_count  ($text, '<i>');
                $i_fin = substr_count ($text, '</i>');
                $b_debut = substr_count  ($text, '<b>');
                $b_fin = substr_count ($text, '</b>');

                for ($i = $i_fin; $i < $i_debut; $i++) {
                        $text = $text.'</i>';
                }
                for ($b = $b_fin; $b < $b_debut; $b++) {
                        $text = $text.'</b>';
                }
                echo $text;
        }

        // Fonction d'affichage de $nb strips depuis $from par ordre chronologique inverse ($from partant de 0 !!!)
        function liste_de_defs($from, $nb, $where, $taille) {
                echo '<h2>Les dernières définitions</h2><ul>';
                $defs = select_fw('encyclo_def', $where.' LIMIT '.$from.','.$nb.' ');
                while ($def = mysql_fetch_array($defs)) {
                        $contenu = substr($def[text], 0, $taille);
                        printf( '<li>'.
                                '<a href="http://encyclo.lapin.org/index.php?number='.$def[number].'" >'.
                                '<h3>'.$def[title].'</h3>'.
                                '</a>'.
                                '<p>');
                        fermer_balises($contenu);
                        printf ('<br/>'.
                                '<a href="http://encyclo.lapin.org/index.php?number='.$def[number].'" >'.
                                'Lire la suite...'.
                                '</a>'.
                                '</p>'.
                                '</li>');
                }
                echo '</ul>';
        }


?>


Code du lapget correspondant:

Code : Tout sélectionner

<?php
        require_once( 'inc/bdd_functions.php' );
        require_once( 'inc/liste_de_definitions.php' );

        // le premier nb , c'est le point de depart;
        // le deuxieme nb c'est le NB DE DEFS AFFICHEES
        //  ensuite, c'est pour changer les critères de tri
        // Le dernier nombre, c'est le nombre de caractères affichés
        liste_de_defs(0, 5, "number>0 ORDER BY year,month,day,number DESC", '200');
?>

Avatar de l’utilisateur
LaHyenne
ourse verte
Messages : 8140
Enregistré le : sam. 08 mars 2003 - 01:58

Re: Log Lapin - tout ce qui se fait sur le serveur

Message non lupar LaHyenne » jeu. 18 juin 2009 - 00:51

Création du widget Encyclo :

_admin.php

Code : Tout sélectionner

<?php
if (!defined('DC_CONTEXT_ADMIN')) { return; }

require dirname(__FILE__).'/_widgets.php';
?>


_define.php

Code : Tout sélectionner

<?php
if (!defined('DC_RC_PATH')) { return; }

$this->registerModule(
        /* Name */                      "Dernières définitions",
        /* Description*/                "Les dernières défnitions de l'encyclopédie Lapin",
        /* Author */                    "Etienne Blanc",
        /* Version */                   '1.0',
        /* Permissions */               'admin'
);
?>


_public.php

Code : Tout sélectionner

<?php
if (!defined('DC_RC_PATH')) { return; }

require dirname(__FILE__).'/_widgets.php';

class publicEncyclo
{
        public static function show(&$w)
        {
                require_once( 'inc/bdd_functions.php' );
                require_once( 'inc/liste_de_definitions.php' );

                $nb_defs = $w->nb_defs - 1;
                // le premier nb , c'est le point de depart;
                // le deuxieme nb c'est le NB DE DEFS AFFICHEES
                //  ensuite, c'est pour changer les critères de tri
                // Le dernier nombre, c'est le nombre de caractères affichés
                liste_de_defs($w->title, 0, $nb_defs, "number>0 ORDER BY year,month,day,number DESC", $w->size_defs);
        }
}
?>


_widgets.php

Code : Tout sélectionner

<?php
if (!defined('DC_RC_PATH')) { return; }

$core->addBehavior('initWidgets',
        array('EncycloBehaviors','init'));

class EncycloBehaviors
{
        public static function init(&$w)
        {
                $w->create('encyclo',__('Encyclo: les dernières'),
                        array('publicEncyclo','show'));

                $w->encyclo->setting('title',__('Title:'),
                        'Les dernières définitions','text');

                $w->encyclo->setting('nb_defs',__('Combien de defs:'),
                        '5','text');

                $w->encyclo->setting('size_defs',__('Taille des defs (caractères):'),
                        '200','text');
        }
}
?>


Retourner vers « la tanière du serveur Lapin [privé] »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités