Tom's Guide > Forum > Programmation > probleme pour faire un agenda ou un calendrier

probleme pour faire un agenda ou un calendrier

Forum Programmation : probleme pour faire un agenda ou un calendrier

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

bonjour
je suis débutante et j'essaie de créer un site internet mais je rame un peu
j'essaie de faire un calendrier ou un agenda mais j'ai beau faire des
recherches, tous les scripts que je trouve sont à compléter
est ce que quelqu'un connaitrait un script facile à insérer?
merci d'avance :)

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Dans quel langage ??

J'ai un vieux exemple en php , mais faut également le modifier . Il est fait en pseudo objet ( c'était à mes débuts ^^ ) et il utilise un template.

Code :
  1. <?php
  2. class Calendrier
  3. {
  4.     public function __construct() {}
  5.     public function showCalendar($periode)
  6.     {
  7.         // Tableau des valeurs possibles pour un numéro de jour dans la semaine
  8.         $tableau = array('0', '1', '2', '3', '4', '5', '6', '0');
  9.         $tabJour = array('L','M','M','J','V','S','D');
  10.         $nb_jour = Date("t", mktime(0, 0, 0, $this->getMonth($periode), 1, $this->getYear($periode)));
  11.         $pas = 0;
  12.         $indexe = 1;
  13.        
  14.         $calendrierTemplate = new Template('./');
  15.         $calendrierTemplate->set_filenames(array('body' => './templates/calendrier/calendrier.tpl'));         
  16.          
  17.         $calendrierTemplate->assign_var('MOIS' ,$this->monthNumToName($this->getMonth($periode)));
  18.         $calendrierTemplate->assign_var('ANNEE',$this->getYear($periode));
  19.        
  20.         for ($i=0;$i<sizeof($tabJour);$i++)
  21.         {
  22.             $calendrierTemplate->assign_block_vars('entete',array('LIBELLE' => $tabJour[$i]));
  23.           }
  24.        
  25.           while ($pas < $nb_jour)
  26.           {
  27.               $class='';
  28.      
  29.             if($indexe==1) $calendrierTemplate->assign_block_vars('semaine' ,array());
  30.               if (date("w", mktime(0, 0, 0, $this->getMonth($periode), 1 + $pas, $this->getYear($periode))) == $tableau[$indexe])
  31.               {
  32.            
  33.               // Si jour calendrier == aujourd'hui
  34.             $afficheJour = date("j", mktime(0, 0, 0, $this->getMonth($periode), 1 + $pas, $this->getYear($periode)));
  35.             if (date("Y-m-d", mktime(0, 0, 0, $this->getMonth($periode), 1 + $pas, $this->getYear($periode))) == Date("Y-m-d" ))
  36.             {
  37.                 $class = 'class="border"'; // Mettre en evidence la date actuelle
  38.             }
  39.             // Si jour calendrier == date d'event ou d'anniversaire
  40.             $calendrierTemplate->assign_block_vars('semaine.joursemaine',array(
  41.                           'JOUR'    =>     Date("j", mktime(0, 0, 0, $this->getMonth($periode), 1 + $pas, $this->getYear($periode))),
  42.                           'CLASS'=>    $class
  43.                         )); 
  44.             $pas++;
  45.             }
  46.               //
  47.             else {
  48.             $calendrierTemplate->assign_block_vars('semaine.joursemaine',array(
  49.                           'JOUR'    =>     ' ',
  50.                           'CLASS'=>    ' '
  51.                         ));             
  52.                 }
  53.             if ($indexe == 7 && $pas < $nb_jour) { $indexe = 1;} else {$indexe++;}
  54.           }
  55.           // Ajustement du tableau
  56.          for ($i=$indexe ;$i<7;$i++)
  57.          {
  58.             $calendrierTemplate->assign_block_vars('semaine.joursemaine',array(
  59.                           'JOUR'    =>     ' ',
  60.                           'CLASS'=>    ' '
  61.                         ));   
  62.          }
  63.         $calendrierTemplate->pparse('body');
  64.     }
  65.    
  66.     private function getSecond($valeur)
  67.     {
  68.         return substr($valeur, 17, 2);
  69.     }
  70.     private function getMinute($valeur)
  71.     {
  72.         return substr($valeur, 14, 2);
  73.     }
  74.     private function getHour($valeur)
  75.     {
  76.         return substr($valeur, 11, 2);
  77.     }
  78.     private function getDay($valeur)   
  79.     {
  80.         return substr($valeur, 8, 2);
  81.     }
  82.     private function getMonth($valeur)   
  83.     {
  84.         return substr($valeur, 5, 2);
  85.     }
  86.     private function getYear($valeur)
  87.     {
  88.         return substr($valeur, 0, 4);
  89.     }
  90.     private function monthNumToName($mois)
  91.     {
  92.         $tableau = Array("", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aôut", "Septembre", "Octobre", "Novembre", "Décembre" );
  93.         return (intval($mois) > 0 && intval($mois) < 13) ? $tableau[intval($mois)] : "Indéfini";
  94.     }
  95.    
  96.     public function __destruct()    {}
  97. }



Code :
  1. <div class="titreToolbar">Calendrier</div>
  2. <div class="fondToolbar">
  3. <p>{MOIS} {ANNEE}</p>
  4.     <table>
  5.         <tr>
  6.         <!-- BEGIN entete -->
  7.         <td>{entete.LIBELLE}</td>
  8.         <!-- END entete -->
  9.         </tr>
  10.         <!-- BEGIN semaine -->
  11.         <tr>
  12.         <!-- BEGIN joursemaine -->
  13.             <td {semaine.joursemaine.CLASS}>{semaine.joursemaine.JOUR}</td>
  14.         <!-- END joursemaine -->
  15.         </tr>
  16.         <!-- END semaine -->
  17.     </table>
  18.     </div>
  19. <div class="footerToolbar"></div>



Pour l'utiliser il te faut copier également la class template fournie par phpbb ( pourquoi réinventer la roue ^^ ) .

------------------------------
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne et personne ne sais pourquoi...
Répondre à RiiMii

j'ai une question un peu bete mais ce que tu m'as donné, on le met entre quelles balises body ou head?
et puis c'est en deux parties j'ai essayé de les incorporer mais ca ne marche pas
est ce que tu pourrais détailler un peu plus? merci d'avance ^^

Répondre à netsuai

La première partie je dirais n'importe où .

Le mieux au dessus de ta page :

Code :
  1. <?php
  2. include 'calendrier.class.php';
  3. include 'template.class.php'; /* à télécharger sur le site de phpBB */
  4. ?>



La deuxième partie dans un fichier se trouvant dans un repertoire templates/calendrier/ . C'est un fichier externe également , c'est la class calendrier qui va le rechercher.

Dans ton body tu fais

Code :
  1. $objCalendrier = new Calendrier();
  2. $objCalendrier->showCalendar();

------------------------------
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne et personne ne sais pourquoi...
Répondre à RiiMii

Je n'ai pas réussi à mettre en oeuvre tout ca (manque de temps) et le projet est bouclé, on a décidé de ne pas mettre de calendrier.
merci de ton aide :)

Répondre à netsuai

De rien , mais j'ai quand même un doute :/

Projet bouclé en php et tu ne comprends pas ce que j'ai mis. Php niveau débutant ?

------------------------------
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne et personne ne sais pourquoi...
Répondre à RiiMii

le site a été fait avec dreamweaver en mode création, on ne s'est pas vraiment servi du code html voila tout :)

Répondre à netsuai

Je te conseille un site nommé http://youbridge.com C'est un calendrier et agenda en même ,Les fêtes nationnal sont déja inscrites ,on peut y inscrire ses propres evenements et ses rendez vous trés pratique, conseillé !!!
XOXO

Répondre à XOXO2009
Tom's Guide > Forum > Programmation > probleme pour faire un agenda ou un calendrier
Aller à :

Il y a 343 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens