code php heures levé et couché soleil avec maj automatique heures été/hiver

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : code php heures levé et couché soleil avec maj automatique heures été/hiver

Re: code php heures levé et couché soleil avec maj automatique heures été/hiver

par pascal38 » 03 févr. 2016, 14:15

Merci beaucoup Arthur,

je vais tester ça ;-)

Re: code php heures levé et couché soleil avec maj automatique heures été/hiver

par @rthur » 03 févr. 2016, 10:40

Bonjour et bienvenue sur PHPfrance,

C'est probablement car le fuseau horaire de ta configuration serveur n'est pas correct, tu peux la redéfinir au début de ton script avec la fonction date_default_timezone_set()
http://php.net/manual/fr/function.date- ... ne-set.php

code php heures levé et couché soleil avec maj automatique heures été/hiver

par pascal38 » 03 févr. 2016, 10:18

Bonjour a tous,
c'est mon premier message car je viens juste de me lancer dans la programmation PHP.
programmation est un bien grand mot en ce qui me concerne car je fais un petit site internet sous Wordpress pour l'association à laquelle j'appartiens.
bref, voici mon soucis.
j'utilise un Widget trés simple réalisé par un programmeur qui avait mis a dispo son code sur Internet.
Il est génial pour l'heure du couché et levé du soleil et bien paramétrable.
Cependant, il faut corriger manuellement, à la date qui va bien, le plus ou moins une heure correspondant au passage à l'heure d'été ou d'hiver pour avoir une heure correcte à l'affichage de celle-ci sur mon site.
je vais vous mettre le code ci-dessous.
je souhaiterais savoir si il y a moyen que tous cela se fasse en automatique car, bien entendu, à la date voulue, je penserais jamais à mettre ce truc à jour!!!
si il y a moyen, quelle en serait les modifs?
je n'ai pas contacté le concepteur de ce Widget car sa remonte à 2010 et plus de news depuis....
merci de votre aide:
<?php
/*
Plugin Name: Sunriset
Plugin URI: http://jotrilide.free.fr/blog/?p=71
Description: Plugin qui fournit les dates de lever et coucher du Soleil
Author: jotrilide
Version: 1.1
Author URI: http://jotrilide.free.fr
*/
 
function sunriset($long,$lat,$offset,$symbol) {
echo "Lever : " .str_replace('h', $symbol, date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, 90+16/60, $offset)), "<br>" ;
echo "Coucher : " .str_replace('h', $symbol, date_sunset(time(), SUNFUNCS_RET_STRING,$lat, $long, 90+16/60, $offset)) ;
}
 
function init_sunriset(){
    register_widget_control('Sunriset', 'widget_sunriset_control');
    register_sidebar_widget('Sunriset', 'widget_sunriset'); 
}

function widget_sunriset($args) 
	  {
		  $options = get_option('widget_sunriset');
		  $title = empty($options['title']) ? __('Soleil à Paris') : $options['title'];
		  $long = empty($options['long']) ? __('2.348651') : $options['long'];
		  $lat = empty($options['lat']) ? __('48.853447') : $options['lat'];
		  $offset = empty($options['offset']) ? __('0') : $options['offset'];
		  $symbol = empty($options['symbol']) ? __(':') : $options['symbol'];
		  

		  extract($args);
		  echo $before_widget;
		  echo $before_title;
		  echo $title;
		  echo $after_title;
		  sunriset($long,$lat,$offset,$symbol);
		  echo $after_widget;
	  }  
function widget_sunriset_control()
	  {
		$options = $newoptions = get_option('widget_sunriset');
		
		if ( $_POST['widget_sunriset-submit'] ) 
		{
			$newoptions['title'] = strip_tags(stripslashes($_POST['widget_sunriset-title']));
			$newoptions['long'] = strip_tags(stripslashes($_POST['widget_sunriset-long']));
			$newoptions['lat'] = strip_tags(stripslashes($_POST['widget_sunriset-lat']));
			$newoptions['offset'] = strip_tags(stripslashes($_POST['widget_sunriset-offset']));
			$newoptions['symbol'] = strip_tags(stripslashes($_POST['widget_sunriset-symbol']));
		}
		if ( $options != $newoptions ) 
		{
			$options = $newoptions;
			update_option('widget_sunriset', $options);
		}
						
		$title = attribute_escape($options['title']);
		$long = attribute_escape($options['long']);
		$lat = attribute_escape($options['lat']);
		$offset = attribute_escape($options['offset']);

		echo '<p><label for="sunriset-title">';
		echo 'Titre: <input style="width: 250px;" id="widget_sunriset-title" name="widget_sunriset-title" type="text" value="';
		echo $title;
		echo '" />';
		echo '</label></p>';
		echo '<p><label for="sunriset-title">';
		echo 'Longitude (Est: + , Ouest: - ): <input style="width: 250px;" id="widget_sunriset-long" name="widget_sunriset-long" type="text" value="';
		echo $long;
		echo '" />';
		echo '</label></p>';
		echo '<p><label for="sunriset-title">';
		echo 'Latitude (Nord: + , Sud: - ) : <input style="width: 250px;" id="widget_sunriset-lat" name="widget_sunriset-lat" type="text" value="';
		echo $lat;
		echo '" />';
		echo '<p><label for="sunriset-title">';
		echo 'Fuseau horaire (UTC + ?) : <input style="width: 250px;" id="widget_sunriset-offset" name="widget_sunriset-offset" type="text" value="';
		echo $offset;
		echo '" />';
		echo '</label></p>';
		echo '<p><label for="sunriset-title">';
		echo 'Symbole pour les heures (: par défaut): <input style="width: 250px;" id="widget_sunriset-symbol" name="widget_sunriset-symbol" type="text" 

value="';
		echo $symbol;
		echo '" />';
		echo '</label></p>';
		echo '<input type="hidden" id="widget_sunriset-submit" name="widget_sunriset-submit" value="1" />';
	  }
add_action("plugins_loaded", "init_sunriset");
?>