Le calendrier pour fan de stargate !!!!

Soyez le premier à donner votre avis sur cette source.

Vue 7 650 fois - Téléchargée 222 fois

Description

un tit truc inutile mais tellement indispenssable aux fans de stargate !
il vous faut un serveur web et la bdd fournie bien sur !
voila je vous laisse decouvrir vous meme les fonctions !!

vous pouvez aussi allez voir la le résultat :
http://overdarck.free.fr/stargate/

Bien sur c'est pas beau, mais c'est pas fait pour mais juste pour integrer dans une page web.

Colez direct ce qui suit dans une page index.php

Source / Exemple :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Welkome on This StarGate Fan page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
/*
un script indispensalbe a tout vrai fans de stargate héhé (perso je l'ai mis a la racine de mon apache c'est gavé cool)
© OverDarck 2005 (Mardi 12/04/2005)
il m'a pris une apres midi alors bon je le publi pour que tout le monde en profite !

qq statistique sur ce gadjet :

6h30 de travail (sisi, en fait au débuit je voulai pas faire sa du tout, alors a force de temps et de remaniment sa en fait du temps !)
1 requette mysql
4 couleurs HTML différentes !!!!
2 scripts javascript
308 lignes avec les saut de lignes et les commentaires

1 litre lait et pas mal de chocolat !
1 mise a jour le lendemain, et encore du lait !

voila ;-)

PS : excusez le manque de commentaire, bon ok en fait je vais en rajouter !

  • /
/* A CONFIGURER */ $my_serv = "localhost"; //hote de votre BDD $my_user = "common"; //nom de connexion a votre BDD $my_mdp = ""; //mdp de votre BDD $my_dbname = "decomptes"; //nom de votre BDD /* C'est tout */ //connexion mysql $mylink = mysql_connect($my_serv,$my_user, $my_mdp); $mydb = mysql_select_db($my_dbname, $mylink); //liste complette des episodes $sql = "SELECT * FROM `stargate2005` ORDER BY `date` ASC"; $req = mysql_query($sql); if($_GET['act']=="stargate"){//liste de tout les stragate ?> <style type="text/css"> .spanlnk {color: #FF9900;} </style> <body bgcolor="#525A73"> <table border="0" cellspacing="0" cellpadding="0" width="640"><!-- on fait un beau tableau pour préserver la mise en page --> <tr><td> <font color="#cccccc"> Liste complette de la difusion des StaGates Sg1 saison 8 et Atlantis saison 1 a venirs sur M6 pour 2005 :</font><br> <font color="#FF9900"> <?php while($row=mysql_fetch_array($req)){//pour chaques épisodes $next = strtotime($row['date']); $rest = abs($next - time());//temps restant avant l'episode traité //convertion secondes en jj et hh:mm:ss $hr = floor($rest / 3600); $mr = floor(($rest - $hr*3600)/60); $sr = floor($rest - $hr*3600 - $mr*60); $jr = floor($hr / 24); $hr = $hr - $jr*24; if($row['type']=="Sg1"){//espacements pour la mise en forme $row['type']="Sg1 "; } if($next>time()){//si l'episode considéré est le suivant $newt=date("d/m", strtotime($row['date'])); if($newt!=$antt){//si il est le meme jours que l'episode précédent on le goupe print("<br>Vendredi ".$newt." :<br>\n");//on crée des groupes de Vendredis $antt=date("d/m", strtotime($row['date'])); } if($jr!=0){//si il reste plus d'un jour (24h) avant l'episode $cbr="soit dans : <b>".$jr."</b> jours"; }else{//sinon on affiche plus de détails. $cbr="soit dans : <b>".$hr."</b>h <b>".$mr."</b> min"; }//on affiche l'episode print(" ".$row['type']." n°".$row['num']." - <a href=\"".$row['link']."\" target=\"_sgf\" class=\"spanlnk\">".$row['titre']."</a> à ".date("H:i", strtotime($row['date']))." ".$cbr."<br>\n"); }else{//l'épisode a déja été diffusé : $jr=abs($jr);//nombre de jours depuis la difusion if($jr!=0){//on regarde la proportion de temps écoulé pour definir la meilleure precision $cbr="passé il y as : <b>".$jr."</b> jours";//affichage juste des jours }elseif($jr==0 && $mn+60*$hr>45){ $cbr="passé il y as : <b>".$hr."</b>h <b>".$mr."</b> min";//affichage juste des heures et minutes }elseif($jr==0){ $cbr="en cours depuis : <b>".$mr."</b> min";//affichage du temps depuis lequel l'episode est en cours }//on stoque cet episode dans $buff pour l'afficher a la fin (apres ceux inédits) $buff.=" ".$row['type']." n°".$row['num']." - <a href=\"".$row['link']."\" target=\"_sgf\" class=\"spanlnk\">".$row['titre']."</a> le ".date("d/m à H:i", strtotime($row['date']))." ".$cbr."<br>\n"; } } if($buff!=""){//on affiche les episodes utlerieur print("<br>Déja passés :<br>\n".$buff); } ?> </font> </td></tr> </table> <p align="right"><font size="2"> ©OverDarck 2005 ;)</font></p> <?php }else{ //MODULE SPECIAL STARGATE SG1 SUR M6 + BDD mysql while($row=mysql_fetch_array($req)){ $next = strtotime($row['date']); if( $next > time() ){//on cherche le prochain episode dans la DB break;//on a trouvé le suivant }//mémorise l'epsiode précédant au cas ou il est en cours $p=array ("num"=>$row['num'], "titre"=>$row['titre'], "link"=>$row['link'], "date"=>$row['date'], "type"=>$row['type']); } $last = strtotime($p['date']); if(abs(time()-$last)<2700){//ep commencé $rest = abs(time() - $last);//temps restant }else{ $rest = abs($next - time());//temps restant } //convertion hh:mm:ss $hr=floor($rest / 3600); $mr=floor(($rest - $hr*3600)/60); $sr=floor($rest - $hr*3600 - $mr*60); if(abs(time()-$last)<2700){//ep commencé $star_txt = "StarGate ".$p['type']." <font color=\"red\">en cours</font> sur M6 ( <a href=\"".$p['link']."\" target=\"_sgf\" class=\"spanlnk\">".$p['num']." : ".$p['titre']."</a> ) depuis"; }else{//episode pas encore commencé $star_txt = "Prochain StarGate ".$row['type']." sur M6 ( <a href=\"".$row['link']."\" target=\"_sgf\" class=\"spanlnk\">".$row['num']." : ".$row['titre']."</a> ) dans"; } ?> <style type="text/css"> .spanlnk {color: #FF9900;} .spanlnk2 {font-size: 11px;color: #FF9900;} .text1 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: White;text-align : left;} .text2 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: Silver;text-align : left;} .titre1 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #FFFFFF;} .titre2 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #cccccc;} </style> <script language="javascript"> function HideShowAndPict(ThePicId,TheSpanId,ThePic2Id) { var span = document.getElementById(TheSpanId); var pic = document.getElementById(ThePicId); var pic2 = document.getElementById(ThePic2Id); if (span.style.display == "none"){ span.style.display = "block"; pic.src = '/icons/folder.open.gif'; if(pic2!=""){pic2.src = '/moins.png';}; }else{ span.style.display = "none"; pic.src = '/icons/folder.gif'; if(pic2!=""){pic2.src = '/plus.png';}; } } //affichage span function HideAShow(){ pause_resume() if(mlayer.style.position=='absolute'){ mlayer.style.position = 'static' }else{ mlayer.style.position = 'absolute' } } //décompte var t = <? print($rest); ?>; function compte(){ <? if(abs(time()-$last)<2700){ ?> t++; <? }else{ ?> t--; <? } ?> var zone = document.getElementById('cnt'); var zone1 = document.getElementById('cntm'); tmin= Math.floor(t / 60);//minutes sec=t - 60*tmin;//reste de secondes h= Math.floor(tmin / 60);//heures tmin=tmin - 60*h;//reste de minutes if(h>=24){ j=Math.floor(h/24); h=h-24*j; zone.innerHTML = '<b>'+j+'</b> jours <b>'+h+'</b>h <b>'+tmin+'</b> min <b>'+sec+'</b> sec'; }else{ zone.innerHTML = '<b>'+h+'</b>h <b>'+tmin+'</b> min <b>'+sec+'</b> sec'; } zone1.innerHTML = Math.floor(t/60 + sec/100) ; setTimeout("compte()",1000); if(t==0 || t==2700){location.href = 'index.php';};//reload quand le compte est a 0 } //déplacement Span function changePos() { width = document.body.clientWidth; height = document.body.clientHeight; Hoffset = 20; Woffset = 440//img.style.width; img.style.left = xPos + document.body.scrollLeft; img.style.top = yPos + document.body.scrollTop; if (yon) { yPos = yPos + step; } else { yPos = yPos - step; } if (yPos < 0) { yon = 1; yPos = 0; } if (yPos >= (height - Hoffset)) { yon = 0; yPos = (height - Hoffset); } if (xon) { xPos = xPos + step; } else { xPos = xPos - step; } if (xPos < 0) { xon = 1; xPos = 0; } if (xPos >= (width - Woffset)) { xon = 0; xPos = (width - Woffset); } } function start() { img.visibility = "visible"; interval = setInterval('changePos()', delay); } function pause_resume() { if(pause) { clearInterval(interval); pause = false; } else { interval = setInterval('changePos()',delay); pause = true; } } </script> </head> <body bgcolor="#525A73" onload="compte(); HideAShow();"> <div align="center"> <a href="javascript:HideAShow();" class="text1">Stoper/Activer la flying box 'StarGate'</a></div> <br> <center><span id="MovingSpan" style="visibility:visible; position:absolute; width:460"> <font color="#FF9900"><span style="background-color:#525A73"><? print($star_txt); ?> <span id="cntm"><? print(floor($rest/60)); ?></span> minutes (soit <span id="cnt"><b><? print($hr."</b>h <b>".$mr."</b> min <b>".$sr."</b> sec") ; ?></span>)</span> <a class="spanlnk2" href="?act=stargate">tout</a></font> </span></center><br> <script language="javascript"> var img = document.getElementById('MovingSpan'); var xPos = 20; var yPos = document.body.clientHeight; var step = 1; var delay = 30; var height = 0; var Hoffset = 0; var Woffset = 0; var yon = 0; var xon = 0; var pause = true; var interval; img.style.top = yPos; start(); var mlayer = document.getElementById('MovingSpan'); </script> <?php } mysql_close(); ?> </body> </html>

Conclusion :


voila !

et la base de donnée se trouve dans le zip pour des raison de codage.

MAJ : bientot le même calendrié des diffusions US de la saison 9, qui je vous le rapel commence le vendredi 15 Juillet 2005

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

OverDarck
Messages postés
116
Date d'inscription
jeudi 12 juillet 2001
Statut
Membre
Dernière intervention
23 juin 2005
-
Base de donnée mise a jour !
Et concernant le JS je precise que je ne connai pas du tout le JS
et donc pour faire ceci j'ai juste lu et recopier des bout de ligne d'un peut partout jusqua ce que j'arrive a faire mon code qui marche...
Je veut dire par la que je ne connai pas les fonctions, etc et que je procède donc par tatonnement et bricolage ligne par ligne, comme je peut et voila...
Mais bon sa marche et j'ai pas specialement eu le temps d'y regardé a deux fois au JS...
@++ et bons Stargate et surtout bon Code !
OverDarck
Messages postés
116
Date d'inscription
jeudi 12 juillet 2001
Statut
Membre
Dernière intervention
23 juin 2005
-
Salut, deja regardé un programme tv serai durement réalisable, m'enfin bon, et puis tu est le seul a avoir un probleme aparament car comme tu peut le constater sur http://overdarck.free.fr/stargate/ le script marche parfaitement et j'ai d'ailleurs fait moi meme tout les test chez moi du script en modifiant la date de mon horloge....
Peut etre le probleme vient du fait que ta page ne s'est pas réactualisée automatiquement comme elle aurait du le faire quand le compteur arrive a 0......

@++ et merci a tous pour vos commentaires
asgard974
Messages postés
1
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
15 avril 2005
-
bonne idée mais le script m'indique que le prochain stargate est dans quelques... années (lumière)... le mieux est de regardé la programme tv, plus fiable !!!
juki_webmaster
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3 -
Perso, j'adore StarGate! je suis un fan qui ne manque pas une episode [...].

L'utilisation d'un socket depuis une liste de diffusion de programmes TV aurais été bien mieu!
Sinon, c'est pas de javascript, donc bof bof niveau PHP.

C'est bien, en moins une source qui ne ressemble pas à toutes les autres (upload, zone membre, minuatures.......).

Bonne continuation.
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29 -
ça marche avec firefox 1.0... pas les versions d'avant...
et franchement, non, c'est pas un détail, ça pourrit vraiment un code! et ça te donne l'ocation de fouiller un peu plus dans le javascript...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.