Se connecter / S'enregistrer
Votre question

probleme pour faire un agenda ou un calendrier

Tags :
  • Template
  • Programmation
Dernière réponse : dans Programmation
8 Mars 2007 21:13:49

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 :) 

Autres pages sur : probleme agenda calendrier

9 Mars 2007 08:45:04

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.

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


  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 ^^ ) .

9 Mars 2007 12:05:47

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 ^^
Contenus similaires
9 Mars 2007 12:41:50

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

Le mieux au dessus de ta page :

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


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

  1. $objCalendrier = new Calendrier();
  2. $objCalendrier->showCalendar();
11 Mars 2007 13:24:06

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 :) 
12 Mars 2007 08:07:28

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 ?
16 Mars 2007 21:42:28

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

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

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS