Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CALENDRIER ROUMAIN


Information sur la source

Catégorie :Divers Classé sous : calendrier, roumain, paque, orthodoxe Niveau : Débutant Date de création : 02/09/2008 Vu / téléchargé: 1 904 / 64

Note :
4 / 10 - par 1 personne
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

Description

Un petit calendrier pour mes amis roumains. Ils sont affiches les fetes specifiques, y comprend Le Pacque Orthodoxe, Le Jour National,
etc.
 

Source

  • <html>
  • <head>
  • <meta http-equiv=Content-Type content="text/html; charset=windows-1250">
  • <title>CALENDAR</title>
  • </head>
  • <style>
  • body {margin-left:0.2in;margin-right:0.2in;margin-top:0.1in;background:white}
  • table {font-family:garamond,goudy,times,serif;font-size:12pt;font-style:normal;line-height:14pt;background:"#cccccc"}
  • td.galben {color:red;background:yellow}
  • td.verde {color:blue;background:cyan}
  • </style>
  • <body>
  • <?php
  • $ANUL=$_POST['ANUL'];
  • if(empty($ANUL))
  • {
  • echo '<form action="calend.php" method="post">';
  • echo '<input type="hidden" name="actiune" value="1">';
  • echo 'Anul : <input type="text" size=4 name="ANUL">';
  • echo '<input type="submit" value="Enter">';
  • echo '</form>';
  • exit;
  • }
  • $anul=0;
  • $i=0;
  • $j=strlen($ANUL);
  • if($j!=4) $i=1;
  • if(!ereg('^[0-9]+$',$ANUL)) $i=1;
  • if($i==0)
  • {
  • $anul=intval($ANUL);
  • if($anul<1901) $i=1;
  • if($anul>2100) $i=1;
  • }
  • if($i==1)
  • {
  • print("<p align=center>Anul $ANUL eronat.</p>\n");
  • print("</body></html>\n");
  • exit;
  • }
  • $tz=array(31,28,31,30,31,30,31,31,30,31,30,31);
  • $tx=array(0,0,0,0,0,0,0,0,0,0,0,0);
  • $zs=array("Luni","Marti","Miercuri","Joi","Vineri","Sâmbãtã","Duminicã");
  • $luni=array("IANUARIE","FEBRUARIE","MARTIE","APRILIE","MAI","IUNIE","IULIE","AUGUST","SEPTEMBRIE","OCTOMBRIE","NOIEMBRIE","DECEMBRIE");
  • if($anul%4==0) $tz[1]=29;else $tz[1]=28;
  • $zi=$anul-1901;
  • $zi=floor($zi/4);
  • $zi*=5;
  • $i=$anul+3;
  • $i%=4;
  • $i++;
  • $zi+=$i;
  • $zi%=7;
  • $decalaj=10;
  • if($anul>1600)
  • {
  • $secol=intval($anul/100);
  • $decalaj+=$secol-16-intval(($secol-16)/4);
  • }
  • $zz_pasti=$decalaj-10+((19*($anul%19)+16)%30)+((2*($anul%4)+4*($anul%7)+6*((19*($anul%19)+16)%30))%7);
  • $ll_pasti=4;
  • if($zz_pasti>30)
  • {
  • $ll_pasti++;
  • $zz_pasti-=30;
  • }
  • for($i=0;$i<6;$i++) $lg[$i]=0;
  • for($i=0;$i<12;$i++)
  • {
  • for($j=0;$j<6;$j++)
  • {
  • for($k=0;$k<7;$k++) $l[$i][$j][$k]=0;
  • }
  • }
  • for($i=0;$i<12;$i++)
  • {
  • $k=0; //saptamana
  • for($j=0;$j<$tz[$i];$j++)
  • {
  • $l[$i][$k][$zi]=$j+1;
  • $zi++;
  • if($zi>6)
  • {
  • $k++;
  • $zi=0;
  • }
  • }
  • }
  • $zz1_pasti=$zz_pasti+1;
  • $ll1_pasti=$ll_pasti;
  • if($zz1_pasti>$tz[$ll1_pasti-1])
  • {
  • $zz1_pasti=1;
  • $ll1_pasti++;
  • }
  • $luni_sarbatori=array
  • (
  • 1,1,5,12,12,12,intval($ll_pasti),intval($ll1_pasti)
  • );
  • $zile_sarbatori=array
  • (
  • 1,2,1,1,25,26,intval($zz_pasti),intval($zz1_pasti)
  • );
  • for($i=0;$i<12;$i++)
  • {
  • for($j=0;$j<6;$j++)
  • {
  • for($k=0;$k<5;$k++)
  • {
  • $a=$l[$i][$j][$k];
  • if(!$a) continue;
  • $liber=1;
  • for($m=0;$m<8;$m++)
  • {
  • if($luni_sarbatori[$m]==($i+1)&&$zile_sarbatori[$m]==$a)
  • {
  • $liber=0;
  • break;
  • }
  • }
  • $tx[$i]+=$liber;
  • }
  • }
  • }
  • for($sem=0;$sem<2;$sem++)
  • {
  • for($trim=0;$trim<2;$trim++)
  • {
  • for($luna=0;$luna<3;$luna++)
  • {
  • $ll=$sem*6+$trim*3+$luna;
  • $col=$trim*3+$luna;
  • for($j=6;$j;$j--) if($l[$ll][$j-1][0]) break;
  • if($j>$lg[$col]) $lg[$col]=$j;
  • }
  • }
  • }
  • $coloane=2;
  • for($i=0;$i<6;$i++) $coloane+=$lg[$i];
  • print("<table border=1 cellspacing=0 cellpadding=2 valign=top>\n");
  • $a=sprintf("CALENDAR %d",$anul);
  • $b="";
  • for($i=0;$i<strlen($a);$i++)
  • {
  • $b=$b.substr($a,$i,1);
  • for($j=0;$j<6;$j++) $b=$b."&nbsp;";
  • }
  • print("<tr><td align=center colspan=$coloane><b>$b</b></td></tr>\n");
  • for($sem=0;$sem<2;$sem++)
  • {
  • print("<tr><td colspan=$coloane>&nbsp;</td></tr>\n");
  • print("<tr>\n");
  • for($trim=0;$trim<2;$trim++)
  • {
  • print("<td align=left>&nbsp;</td>\n");
  • for($luna=0;$luna<3;$luna++)
  • {
  • $a=$luni[$sem*6+$trim*3+$luna];
  • $i=$lg[$trim*3+$luna];
  • print("<td class=\"galben\" align=center colspan=$i>$a</td>\n");
  • }
  • }
  • printf("</tr>\n");
  • print("<tr>\n");
  • for($trim=0;$trim<2;$trim++)
  • {
  • print("<td align=left>&nbsp;</td>\n");
  • for($luna=0;$luna<3;$luna++)
  • {
  • $i=$sem*6+$trim*3+$luna;
  • $a=sprintf("%d/%d",$tx[$i],$tz[$i]);
  • $i=$lg[$trim*3+$luna];
  • print("<td class=\"galben\" align=center colspan=$i>$a</td>\n");
  • }
  • }
  • printf("</tr>\n");
  • for($ziua=0;$ziua<7;$ziua++)
  • {
  • print("<tr>\n");
  • for($trim=0;$trim<2;$trim++)
  • {
  • $a=$zs[$ziua];
  • print("<td class=\"verde\" align=center>$a</td>\n");
  • for($luna=0;$luna<3;$luna++)
  • {
  • $i=$sem*6+$trim*3+$luna;
  • $j=$trim*3+$luna;
  • for($k=0;$k<$lg[$j];$k++)
  • {
  • if(!$l[$i][$k][$ziua]) print("<td>&nbsp;</td>\n");
  • else
  • {
  • $a=$l[$i][$k][$ziua];
  • $liber=0;
  • if($ziua==5||$ziua==6) $liber=1;
  • if($liber==0&&$a>0)
  • {
  • for($m=0;$m<8;$m++)
  • {
  • if($luni_sarbatori[$m]==($i+1)&&$zile_sarbatori[$m]==$a)
  • {
  • $liber=1;
  • break;
  • }
  • }
  • }
  • if(!$liber) print("<td align=right>$a</td>\n");
  • else print("<td class=\"galben\" align=right><b>$a</b></td>\n");
  • }
  • }
  • }
  • }
  • print("</tr>\n");
  • }
  • }
  • $za=$zl=0;
  • for($i=0;$i<12;$i++)
  • {
  • $za+=$tz[$i];
  • $zl+=$tx[$i];
  • }
  • if($zz_pasti)
  • {
  • printf("<tr><td align=center colspan=$coloane>Anul are %d/%d zile (lucrãtoare/calendaristice). &nbsp;&nbsp;&nbsp;Paºtele ortodox este în ziua de %d %s.</td></tr>\n",$zl,$za,$zz_pasti,$luni[$ll_pasti-1]);
  • }
  • else
  • {
  • printf("<tr><td align=center colspan=$coloane>Anul are %d/%d zile (lucrãtoare/calendaristice).</td></tr>\n",$zl,$za);
  • }
  • print("<tr><td align=center colspan=$coloane>autor: ing.Stan Sava, Buzãu, 02-dec-2006, tel.0744/884449, bzsoft@savastan.ro</td></tr>\n");
  • print("</table>\n");
  • ?>
  • </body>
  • </html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1250">
<title>CALENDAR</title>
</head>
<style>
body  {margin-left:0.2in;margin-right:0.2in;margin-top:0.1in;background:white}
table {font-family:garamond,goudy,times,serif;font-size:12pt;font-style:normal;line-height:14pt;background:"#cccccc"}
td.galben {color:red;background:yellow}
td.verde {color:blue;background:cyan}
</style>
<body>
<?php
$ANUL=$_POST['ANUL'];
if(empty($ANUL))
{
   echo '<form action="calend.php" method="post">';
   echo '<input type="hidden" name="actiune" value="1">';
   echo 'Anul : <input type="text" size=4 name="ANUL">';
   echo '<input type="submit" value="Enter">';
   echo '</form>';
   exit;
}
$anul=0;
$i=0;
$j=strlen($ANUL);
if($j!=4) $i=1;
if(!ereg('^[0-9]+$',$ANUL)) $i=1;
if($i==0)
{
   $anul=intval($ANUL);
   if($anul<1901) $i=1;
   if($anul>2100) $i=1;
}
if($i==1)
{
   print("<p align=center>Anul $ANUL eronat.</p>\n");
   print("</body></html>\n");
   exit;
}
$tz=array(31,28,31,30,31,30,31,31,30,31,30,31);
$tx=array(0,0,0,0,0,0,0,0,0,0,0,0);
$zs=array("Luni","Marti","Miercuri","Joi","Vineri","Sâmbãtã","Duminicã");
$luni=array("IANUARIE","FEBRUARIE","MARTIE","APRILIE","MAI","IUNIE","IULIE","AUGUST","SEPTEMBRIE","OCTOMBRIE","NOIEMBRIE","DECEMBRIE");
if($anul%4==0) $tz[1]=29;else $tz[1]=28;
$zi=$anul-1901;
$zi=floor($zi/4);
$zi*=5;
$i=$anul+3;
$i%=4;
$i++;
$zi+=$i;
$zi%=7;
$decalaj=10;
if($anul>1600)
{
   $secol=intval($anul/100);
   $decalaj+=$secol-16-intval(($secol-16)/4);
}
$zz_pasti=$decalaj-10+((19*($anul%19)+16)%30)+((2*($anul%4)+4*($anul%7)+6*((19*($anul%19)+16)%30))%7);
$ll_pasti=4;
if($zz_pasti>30)
{
   $ll_pasti++;
   $zz_pasti-=30;
}
for($i=0;$i<6;$i++) $lg[$i]=0;
for($i=0;$i<12;$i++)
{
   for($j=0;$j<6;$j++)
   {
      for($k=0;$k<7;$k++) $l[$i][$j][$k]=0;
   }
}
for($i=0;$i<12;$i++)
{
   $k=0; //saptamana
   for($j=0;$j<$tz[$i];$j++)
   {
      $l[$i][$k][$zi]=$j+1;
      $zi++;
      if($zi>6)
      {
         $k++;
         $zi=0;
      }
   }
}
$zz1_pasti=$zz_pasti+1;
$ll1_pasti=$ll_pasti;
if($zz1_pasti>$tz[$ll1_pasti-1])
{
   $zz1_pasti=1;
   $ll1_pasti++;
}
$luni_sarbatori=array
(
   1,1,5,12,12,12,intval($ll_pasti),intval($ll1_pasti)
);
$zile_sarbatori=array
(
   1,2,1,1,25,26,intval($zz_pasti),intval($zz1_pasti)
);
for($i=0;$i<12;$i++)
{
   for($j=0;$j<6;$j++)
   {
      for($k=0;$k<5;$k++)
      {
         $a=$l[$i][$j][$k];
         if(!$a) continue;
         $liber=1;
         for($m=0;$m<8;$m++)
         {
            if($luni_sarbatori[$m]==($i+1)&&$zile_sarbatori[$m]==$a)
            {
               $liber=0;
               break;
            }
         }
         $tx[$i]+=$liber;
      }
   }
}
for($sem=0;$sem<2;$sem++)
{
   for($trim=0;$trim<2;$trim++)
   {
      for($luna=0;$luna<3;$luna++)
      {
         $ll=$sem*6+$trim*3+$luna;
         $col=$trim*3+$luna;
         for($j=6;$j;$j--) if($l[$ll][$j-1][0]) break;
         if($j>$lg[$col]) $lg[$col]=$j;
      }
   }
}
$coloane=2;
for($i=0;$i<6;$i++) $coloane+=$lg[$i];
print("<table border=1 cellspacing=0 cellpadding=2 valign=top>\n");
$a=sprintf("CALENDAR %d",$anul);
$b="";
for($i=0;$i<strlen($a);$i++)
{
   $b=$b.substr($a,$i,1);
   for($j=0;$j<6;$j++) $b=$b."&nbsp;";
}
print("<tr><td align=center colspan=$coloane><b>$b</b></td></tr>\n");
for($sem=0;$sem<2;$sem++)
{
   print("<tr><td colspan=$coloane>&nbsp;</td></tr>\n");
   print("<tr>\n");
   for($trim=0;$trim<2;$trim++)
   {
      print("<td align=left>&nbsp;</td>\n");
      for($luna=0;$luna<3;$luna++)
      {
         $a=$luni[$sem*6+$trim*3+$luna];
         $i=$lg[$trim*3+$luna];
         print("<td class=\"galben\" align=center colspan=$i>$a</td>\n");
      }
   }
   printf("</tr>\n");
   print("<tr>\n");
   for($trim=0;$trim<2;$trim++)
   {
      print("<td align=left>&nbsp;</td>\n");
      for($luna=0;$luna<3;$luna++)
      {
         $i=$sem*6+$trim*3+$luna;
         $a=sprintf("%d/%d",$tx[$i],$tz[$i]);
         $i=$lg[$trim*3+$luna];
         print("<td class=\"galben\" align=center colspan=$i>$a</td>\n");
      }
   }
   printf("</tr>\n");
   for($ziua=0;$ziua<7;$ziua++)
   {
      print("<tr>\n");
      for($trim=0;$trim<2;$trim++)
      {
         $a=$zs[$ziua];
         print("<td class=\"verde\" align=center>$a</td>\n");
         for($luna=0;$luna<3;$luna++)
         {
            $i=$sem*6+$trim*3+$luna;
            $j=$trim*3+$luna;
            for($k=0;$k<$lg[$j];$k++)
            {
               if(!$l[$i][$k][$ziua]) print("<td>&nbsp;</td>\n");
               else
               {
                  $a=$l[$i][$k][$ziua];
                  $liber=0;
                  if($ziua==5||$ziua==6) $liber=1;
                  if($liber==0&&$a>0)
                  {
                     for($m=0;$m<8;$m++)
                     {
                        if($luni_sarbatori[$m]==($i+1)&&$zile_sarbatori[$m]==$a)
                        {
                           $liber=1;
                           break;
                        }
                     }
                  }
                  if(!$liber) print("<td align=right>$a</td>\n");
                  else print("<td class=\"galben\" align=right><b>$a</b></td>\n");
               }
            }
         }
      }
      print("</tr>\n");
   }
}
$za=$zl=0;
for($i=0;$i<12;$i++)
{
   $za+=$tz[$i];
   $zl+=$tx[$i];
}
if($zz_pasti)
{
   printf("<tr><td align=center colspan=$coloane>Anul are %d/%d zile (lucrãtoare/calendaristice). &nbsp;&nbsp;&nbsp;Paºtele ortodox este în ziua de %d %s.</td></tr>\n",$zl,$za,$zz_pasti,$luni[$ll_pasti-1]);
}
else
{
   printf("<tr><td align=center colspan=$coloane>Anul are %d/%d zile (lucrãtoare/calendaristice).</td></tr>\n",$zl,$za);
}
print("<tr><td align=center colspan=$coloane>autor: ing.Stan Sava, Buzãu, 02-dec-2006, tel.0744/884449, bzsoft@savastan.ro</td></tr>\n");
print("</table>\n");
?>
</body>
</html>

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de codefalse le 03/09/2008 00:19:14 administrateur CS

J'ai pas vraiment analysé ton code à part entière, mais personnellement je te conseillerai plus de mettre tous les évènements dans une table, et afficher le calendrier en ajoutant les évènements qui s'y trouvent dans la table.

Sépare le php de l'html. Dans la majorité des cas, un calendrier actuel est réalisé en javascript. Tu peux mélanger du javascript (pour l'affichage et la mise en page du calendrier) avec du php en communiquant en Json pour indiquer quel jour est particulier.

Tu sépare les couches de travail et tu à un code exploitable non pas uniquement pour les Roumains, mais pour tous, en fonctions des évènements calendaires de chacun :)

signaler à un administrateur
Commentaire de neo2k2 le 03/09/2008 09:30:54 4/10

Moi j'ai une question toute bête: $tz=array(31,28,31,30,31,30,31,31,30,31,30,31);
Ca existe les années bisextiles en Roumanie???

Et je serais plutôt partisan d'une DB MySQL et d'AJAX en plus des remarques suggérées par Codefalse.

signaler à un administrateur
Commentaire de Stanel le 03/09/2008 09:38:25

Voir la ligne numero 45 pour les annees bisextiles.

signaler à un administrateur
Commentaire de neo2k2 le 03/09/2008 09:43:33

:-D bon admettons que je n'aie rien dit sur ce coup là...

signaler à un administrateur
Commentaire de codefalse le 03/09/2008 11:18:24 administrateur CS

@Neo2k2 : Quand je parlais de javascript + json, je faisais bien sûr référence à de l'Ajax.
Et je l'ai mal précisé, mais quand je parlais de tout mettre dans une table, je voulais parler d'une table dans une sgbd :p

signaler à un administrateur
Commentaire de webshadow le 23/09/2008 22:04:15

Juste un commentaire de puriste sur l'année bissextile. Les années de début de siècle dont les deux premiers chiffres ne sont pas divisibles par 4 ne sont pas bissextiles. Ainsi 2000 l'était mais pas 1900, 2100, 2200, etc. Cela ne donne qu'une validité d'un peu plus de 91 ans à ce script :-)

signaler à un administrateur
Commentaire de codefalse le 24/09/2008 00:25:07 administrateur CS

Au passage, il y a l'objet DateTime, apparus en Php 5 qui permet de faire de très bonne manipulation sur les dates

signaler à un administrateur
Commentaire de WildGroup le 15/12/2008 20:29:38

Bunã... Dacã te uiti mai atent pe site gasesti alte coduri asemanatoare... Eu unul l'as ameliora mai mult oferindu'i o traducere cu setlocale si multe altele ... in ziua de azi suntem in WEB 2.0 te sfatuiesc sa folosesti jquery sau prototype... asptept noutati cat despre munca ta ... felicitari ..

signaler à un administrateur
Commentaire de codefalse le 16/12/2008 09:34:45 administrateur CS

@Wildgroup : Could you speak French please ? or at least English.

signaler à un administrateur
Commentaire de Stanel le 16/12/2008 10:24:10

Le commentaire precedent etait en roumain. Voir aussi
http://www.savastan.ro (pour les roumains).

signaler à un administrateur
Commentaire de WildGroup le 20/12/2008 00:39:16

voici la traduction
"bonjour... si tu regarde attentivement sur le site tu trouvera d'autres codes similaires... Moi même je l'aurais améliorai plus en lui donnant une traduction avec "setlocale" et bien d'autres... aujourd'hui on est dans le WEB 2.0 et je te conseil d'utiliser jQuery ou prototype... J'attends des nouvelles quand a ton travail ... félicitations... "

quand a ton site cher stanel fais un tour sur google le premier site avec la recherche "WGR Studio" t'auras un exemple .. et a propos si tu veux bien règle tes erreurs des règles W3

"cat despre siteul tau stanel fã un tur pe google, primul site cu cuvintele "WGR Studio" ca drept exemplu... si apropo daca vrei sa-ti reglezi erorile regulilor W3"

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Je trouve pas l'erreur sur mon script [ par Akash ] Salut à tous j'espère que vous pourrez m'aider. Voila le problème :Pour mon script de calendrier evenementiel j'ai besoin d'afficher des évènements pa Calendrier dynamique [ par pyranhaz ] Bonjour,je cherche à me faire un calendrier dynamique dans lequel un simple fichier de création normal de calendrier (les 12 mois de l'année, les 30 o problemes de lien dans un calendrier [ par hysteria74000 ] qulequ'un peut me dire pourquoi mes liens, dans mon calendrier, SUIVANT et PRECEDENT ne fonctionnent pas.Voici le code php::$lien=date("Y+m+d", mktime Un calendrier ? [ par Anthotill ] Salut à tous !Je voudrais savoir si vous connaisseriez un bon script de calendrier, ou l'on peut ajouter un évenement en étant l'administrateur seulem scripts calendrier evenements [ par aquewel ] est ce que quelqu'un connait un script qui permet de gérer des evenements par periodicité ??????? tous les premiers L | M | M | J | V | S | D de chaqu demande d'aide [ par youyou26 ] bonjour désolé de dérangement j'ai un petit projet c'est un petit gestion de planning ma tache est à partir d'un calendrier d'afficher un fichier *.gi requette si posssible [ par youyou26 ] bonjour tt le monde je suis un peu despérer j'ai petit calendrier et un fichier ¤.gif et chaque image et enregistré avec une date ce quie j'ai envie c calendrier dans un formulaire [ par alain44 ] salutje souhaite ajouter un calendrier pour une date d'arriv&#233;e et de d&#233;part dans un formulaire sur http://bblezebre.com/formulaire/index3.ph Problèmes avec les popup [ par vodkapomme43 ] Bonjour &#224; tous,Voila mon probl&#232;me: j'ai cr&#233;e un bouton qui execute une fonction php: elle affiche une popup avec un calendrier (le bout Calendrier de réservation [ par mgnet ] Bonjour je souhaiterais obtenir des informations , je souhaiterai r&#233;aliser un calendrier de r&#233;servation pour des maisons ou autres , je voud


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.