Plugin Directory

Changeset 519692


Ignore:
Timestamp:
03/16/2012 06:01:08 AM (14 years ago)
Author:
rxn
Message:

put city info on file

Location:
sunrise-sunset/trunk
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • sunrise-sunset/trunk/functions.php

    r397296 r519692  
    11<?php
    22
    3 //place holder functions.php
    43
    5 ?>
     4
     5function populateLatitude()
     6{
     7    //    $latitude = array('America/Chicago' => 41.51, 'America/Los_Angeles' => 34.30, 'America/New_York' => 40.47, 'US/Arizona' => 33.29);
     8
     9    $latitude = array();
     10
     11    global $CITIES;
     12    foreach ($CITIES as $city) {
     13        $latitude[$city->getTimezone] = $city->getLatitude();
     14    }
     15    return $latitude;
     16
     17}
     18
  • sunrise-sunset/trunk/sunrisesunset.php

    r397296 r519692  
    2525*/
    2626
     27
     28require_once "city.php";
     29require_once "functions.php";
     30
    2731add_action("widgets_init", "register_sunrise_sunset");
    28 function register_sunrise_sunset() {
     32function register_sunrise_sunset()
     33{
    2934    register_widget('sunrise_sunset');
    3035}
    3136
     37class sunrise_sunset extends WP_Widget
     38{
    3239
    33 class sunrise_sunset extends WP_Widget {
     40    private $_cities;
     41    private $_latitude;
     42    private $_longitude;
     43
     44    private function populateCities()
     45    {
     46        $lines = file(dirname(__FILE__) . '/cities.txt');
     47        foreach ($lines as $line) {
     48            $pieces = explode(":", $line);
     49            $this->_cities[] = new City($pieces[0], $pieces[1], $pieces[2], $pieces[3]);
     50        }
     51    }
    3452
    3553
    36     function sunrise_sunset() {
     54    private function populateLatLong()
     55    {
    3756
     57//        $longitude = array('America/Chicago' => -87.39, 'America/Los_Angeles' => -118.15, 'America/New_York' => -73.58, 'US/Arizona' => -122.04);
     58
     59        foreach ($this->_cities as $city) {
     60            $this->_latitude[$city->getTimezone()] = $city->getLatitude();
     61            $this->_longitude[$city->getTimezone()] = $city->getLongitude();
     62        }
     63
     64    }
     65
     66    function sunrise_sunset()
     67    {
    3868        $widget_ops = array('classname' => 'sunrise_sunset_widget'
    3969        , 'description' => 'Displays Sunrise and Sunset Times');
    4070
    4171        $this->WP_Widget('ss_widget_bio', 'Sunrise Sunset', $widget_ops);
     72
     73        $this->populateCities();
     74        $this->populateLatLong();
    4275    }
    4376
    44     function form($instance) {
     77    function form($instance)
     78    {
    4579        $defaults = array(
    4680            'title' => 'Sunrise Sunset Times',
    4781            'timezone' => 'Time Zone', 'ss-plugin');
    4882
    49         $instance = wp_parse_args((array) $instance, $defaults);
     83        $instance = wp_parse_args((array)$instance, $defaults);
    5084        $title = strip_tags($instance['title']);
    5185        $timezone = strip_tags($instance['timezone']);
    5286
    5387        ?>
    54         <p><?php echo 'Title' ?>:
    55             <input class="widefat" name="<?php echo $this->get_field_name('title'); ?>"
    56                    type="text" value="<?php echo esc_attr($title); ?>"/>
    57         </p>
     88    <p><?php echo 'Title' ?>:
     89        <input class="widefat" name="<?php echo $this->get_field_name('title'); ?>"
     90               type="text" value="<?php echo esc_attr($title); ?>"/>
     91    </p>
    5892
    59         <p><?php echo 'Time Zone'; ?>:
     93        <p><?php echo 'Cities'; ?>:
    6094
    6195        <?php
     
    6397        $select_box = sprintf('<select name="%s">', $this->get_field_name('timezone'));
    6498
    65         if ($instance['timezone'] == 'America/Chicago') {
    66             $select_box .= sprintf('<option value="%s" selected="yes">%s</option>', 'America/Chicago', 'Chicago');
    67         } else {
    68             $select_box .= sprintf('<option value="%s">%s</option>', 'America/Chicago', 'Chicago');
     99        foreach ($this->_cities as $city) {
     100            if ($instance['timezone'] == $city->getTimezone()) {
     101                $select_box .= sprintf('<option value="%s" selected="yes">%s</option>', $city->getTimezone(), $city->getName());
     102            } else {
     103                $select_box .= sprintf('<option value="%s">%s</option>', $city->getTimezone(), $city->getName());
     104            }
    69105        }
    70 
    71         if ($instance['timezone'] == 'America/New_York') {
    72             $select_box .= sprintf('<option value="%s" selected="yes">%s</option>', 'America/New_York', 'New_York');
    73         } else {
    74             $select_box .= sprintf('<option value="%s">%s</option>', 'America/New_York', 'New_York');
    75         }
    76 
    77         if ($instance['timezone'] == 'America/Los_Angeles') {
    78             $select_box .= sprintf('<option value="%s" selected="yes">%s</option>', 'America/Los_Angeles', 'Los_Angeles');
    79         } else {
    80             $select_box .= sprintf('<option value="%s">%s</option>', 'America/Los_Angeles', 'Los_Angeles');
    81         }
    82 
    83         if ($instance['timezone'] == 'US/Arizona') {
    84             $select_box .= sprintf('<option value="%s" selected="yes">%s</option>', 'US/Arizona', 'Arizona');
    85         } else {
    86             $select_box .= sprintf('<option value="%s">%s</option>', 'US/Arizona', 'Arizona');
    87         }
    88         // add arizona here
    89106
    90107        $select_box .= '</select>';
     
    93110
    94111    // save our widget
    95     function update($new_instance, $old_instance) {
     112    function update($new_instance, $old_instance)
     113    {
    96114        $instance = $old_instance;
    97115        $instance['title'] = strip_tags($new_instance['title']);
     
    101119
    102120    // display our widget
    103     function widget($args, $instance) {
     121    function widget($args, $instance)
     122    {
    104123        extract($args);
    105124
     
    124143
    125144
    126     function ss_get_sunset($instance) {
     145    function ss_get_sunset($instance)
     146    {
    127147
    128 //        add arizona here
    129         $latitude = array('America/Chicago' => 41.51, 'America/Los_Angeles' => 34.30, 'America/New_York' => 40.47, 'US/Arizona' => 33.29);
    130         $longitude = array('America/Chicago' => -87.39, 'America/Los_Angeles' => -118.15, 'America/New_York' => -73.58, 'US/Arizona' => -122.04);
    131 
    132 
     148//        $latitude = populateLatitude();
     149//
     150//        $longitude = array('America/Chicago' => -87.39, 'America/Los_Angeles' => -118.15, 'America/New_York' => -73.58, 'US/Arizona' => -122.04);
    133151
    134152        $target_time_zone = $instance['timezone'];
     
    148166
    149167        // determine sunrise time
    150         $sunrise = date_sunrise(time(), SUNFUNCS_RET_STRING, $latitude[$target_time_zone], $longitude[$target_time_zone], $zenith, $tzoffset);
     168        $sunrise = date_sunrise(time(), SUNFUNCS_RET_STRING, $this->_latitude[$target_time_zone], $this->_longitude[$target_time_zone], $zenith, $tzoffset);
    151169        $sunrise_time = date($time_format, strtotime(date("Y-m-d") . ' ' . $sunrise));
    152170
    153171
    154172        // determine sunset time
    155         $sunset = date_sunset(time(), SUNFUNCS_RET_STRING, $latitude[$target_time_zone], $longitude[$target_time_zone], $zenith, $tzoffset);
     173        $sunset = date_sunset(time(), SUNFUNCS_RET_STRING, $this->_latitude[$target_time_zone], $this->_longitude[$target_time_zone], $zenith, $tzoffset);
    156174        $sunset_time = date($time_format, strtotime(date("Y-m-d") . ' ' . $sunset));
    157175
Note: See TracChangeset for help on using the changeset viewer.