|
aohavkbs, http://www.tomshw.it/forum/members/buy-glucophage.html glucophage conveniente, tndgogaw, http://www.tomshw.it/forum/members/comprar-zyprexa.html zyprexa conveniente, vtyyhpgn, http://www.tomshw.it/forum/members/comprar-desyrel.html desyrel conveniente, fxjgwxxe, http://www.tomshw.it/forum/members/comprar-cytotec.html cytotec prezzo ridotto, sazxpbxj, |
Assignment2DavidSix degrees Online version: http://ernie.art.yale.edu/~davidyun/weather/ index.php <?php // Get the weather functions require 'weather_fns.php'; ?> <html> <head> <title>Six Degrees</title> <style type="text/css" title="text/css"> <!-- body { /*background-color: FFFF66#F7F7F0;*/ background-color: #F7F7F0; margin:0px; padding: 0px; } td { font-family: Times, Georgia, serif; font-size: 11px; /* line-height: 16px; */ color: #000000; font-weight: normal; } #imgtype { float:left; font-size: 13px; color:#000; background-color:#000; } #condition { float:left; font-size: 23px; color:#000; background-color:#000; } #clearboth { clear: both; } #container { text-align: left; width: 605px; margin-left: auto; margin-right: auto; font-family: times, serif; } #city { float: left; } --> </style> </head> <body> <div align="center"> <table width="100%" height="100%"> <tr align="center" valign="middle"> <td> <table cellpadding="0" cellspacing="0" border="0" width="800"> <tr> <td> <form method="GET" action="<?php echo $_SERVER['PHP_SELF']; ?>"> Enter your zip: <input type="text" name="zip" size="5" value="<?php echo $_REQUEST['zip']; ?>" maxlength="5"/> <input type="submit" name="go" value="Go" /> </form> <br /> </td> <td> <?php $rand = rand(1, 10000000); if ($_REQUEST['zip']) { ?> <form method="GET" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="hidden" name="zip" value="<?php echo $_REQUEST['zip']; ?>"/> <input type="hidden" name="rand" value="<?php echo $rand; ?>"/> <input type="submit" name="refresh" value="Refresh" /> </form> <?php } ?> </td> </tr> <tr> <td valign="top" height="300"> <?php if ($_REQUEST['zip']) { $zip = $_REQUEST['zip']; // echo "<div id='city'>"; display_weather($zip); echo "\n</td>\n\n"; // echo "<div id='city'>"; echo "\n<td valign=\"top\" height=\"300\">\n\n"; display_weather(false); } ?> </td> </tr> <tr> <td colspan="2" height="50"> </td> </tr> </table> </td> </tr> </table> </div> </body> </html> weather_fns.php <?php // Get the cities list require 'cities.php'; function display_weather ($zip) { global $cities, $countryCodes; if ($zip) { $weather = get_yahooweather($zip); } else { // Loop until finding weather for a random city while (empty($city)) { // Get a random city $randomcity = rand(0,count($cities)); // Check the weather for that city $weather = get_yahooweather($cities[$randomcity]); $city = $weather['city']; } } $city = $weather['city']; $region = trim($weather['region']); $country = $weather['country']; $temperature = $weather['temperature']; $condition = $weather['condition']; $date = $weather['date']; // Check to make sure the city value is returned if (empty($city)) { echo "Sorry, we couldn't find the weather for your zip code. Please try again."; return false; } // Set the image search query if (!empty($region) && $region!="") { $citysearch = $city." ".$region; } else { $citysearch = $city." ".$countryCodes["$country"]; } echo "\n\n<!-- Searched Yahoo images for: ".$citysearch." -->\n\n"; // Get the image from Yahoo image search $imageinfo = get_yahooimage(rawurlencode($citysearch)); $height = $imageinfo['height']; $url = $imageinfo['url']; // Set the color for this temp range if ($temperature >= 0 && $temperature < 5) { $tempcolor = "0000FF"; } if ($temperature >= 5 && $temperature < 10) { $tempcolor = "004AFF"; } if ($temperature >= 10 && $temperature < 15) { $tempcolor = "0073FF"; } if ($temperature >= 15 && $temperature < 20) { $tempcolor = "00A3FF"; } if ($temperature >= 20 && $temperature < 25) { $tempcolor = "00CCFF"; } if ($temperature >= 25 && $temperature < 30) { $tempcolor = "00E6FF"; } if ($temperature >= 30 && $temperature < 35) { $tempcolor = "00FFFF"; } if ($temperature >= 35 && $temperature < 40) { $tempcolor = "00FFB3"; } if ($temperature >= 40 && $temperature < 45) { $tempcolor = "7FFF00"; } if ($temperature >= 45 && $temperature < 50) { $tempcolor = "CEFF00"; } if ($temperature >= 50 && $temperature < 55) { $tempcolor = "FFFF00"; } if ($temperature >= 55 && $temperature < 60) { $tempcolor = "FFE600"; } if ($temperature >= 60 && $temperature < 65) { $tempcolor = "FFCC00"; } if ($temperature >= 65 && $temperature < 70) { $tempcolor = "FFAE00"; } if ($temperature >= 70 && $temperature < 75) { $tempcolor = "FF9900"; } if ($temperature >= 75 && $temperature < 80) { $tempcolor = "FF7F00"; } if ($temperature >= 80 && $temperature < 85) { $tempcolor = "FF4F00"; } if ($temperature >= 85 && $temperature < 90) { $tempcolor = "FF0000"; } if ($temperature >= 90 && $temperature < 95) { $tempcolor = "FF4545"; } if ($temperature >= 95 && $temperature < 100) { $tempcolor = "FF6868"; } if ($temperature >= 100 && $temperature < 105) { $tempcolor = "FF8787"; } if ($temperature >= 105 && $temperature < 110) { $tempcolor = "FF9E9E"; } echo "\t<div style='background: #".$tempcolor." url(".$url.") top left no-repeat; width:400; height:300; cursor:hand;' onClick=\"window.open('".$url."','image')\">\n"; echo "\n\t<div id='imgtype' style='background-color: #".$tempcolor."'>".$city; if (!empty($region) && $region!="") { echo ", ".$region; } if (!empty($country)) { echo ", ".$countryCodes["$country"]; } echo "</div>\n"; echo "\t<div id='clearboth'>\n"; echo "\t<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />\n"; echo "\t<div id='condition' style='background-color: #".$tempcolor."'>Currently ".$temperature."°</div>\n"; echo "\t<div id='clearboth'>\n"; echo "\t<div id='condition' style='background-color: #".$tempcolor."'>and ".$condition."</div>\n"; echo "\t</div>\n"; echo "\t<br />"; //display_image ($city,$country); } function display_image ($city, $country) { $imageinfo = get_yahooimage(rawurlencode($city)); $src = $imageinfo['url']; $height = $imageinfo['height']; $width = $imageinfo['width']; echo "<div style='z-index:1;'><img src='$src' width='400' border='0'/></div>"; } function get_yahooimage ($query) { // ----- LOAD THE XML (RSS) FEED // First just load the file as straight data. We need to alter it before we can begin. $xmlContents = file_get_contents("http://api.search.yahoo.com/ImageSearchService/V1/imageSearch?appid=6degrees&query=$query&results=10"); echo "\n\n<!--".$query."-->\n\n"; // Now load the string into SimpleXML $xml = simplexml_load_string($xmlContents); // ----- LOOP THROUGH RESULTS TO FIND AN IMAGE foreach ($xml->Result as $result) { $url = $result->Url; $height = $result->Height; $width = $result->Width; $fileSize = $result->FileSize; settype($fileSize,'int'); // Make sure you have an link that works, // and return it when you find one if (fopen($url,'r')) { return array ('url'=>$url, 'width'=>$width, 'height'=>$height); } } } function get_yahooweather ($citycode) { // ----- LOAD THE XML (RSS) FEED // First just load the file as straight data. We need to alter it before we can begin. $xmlContents = file_get_contents("http://xml.weather.yahoo.com/forecastrss?p=$citycode"); $xmlContents = str_replace("yweather:", "", $xmlContents); $xmlContents = str_replace("geo:", "", $xmlContents); // Now load the string into SimpleXML $xml = simplexml_load_string($xmlContents); // ----- FOR CONVENIENCE, LOAD DATA WE CARE ABOUT INTO VARIABLES // <channel> node contains some of the info $channel = $xml->channel; // Location name: only the attributes are meaningful $location = $channel->location; $city = $location["city"]; // e.g. "New Haven" $region = $location["region"]; // e.g. "CT" $country = $location["country"]; // e.g. "US" // Units info: only the attributes are meaningful $units = $channel->units; $tempUnits = $units["temperature"]; // e.g. "F" // <item> node is within the <channel> node, contains additional info $item = $channel->item; // Condition data: only the attributes are meaningful $condition = $item->condition; $conditionText = $condition["text"]; // e.g. "Mostly Cloudy" (corresponds to code below) $conditionCode = $condition["code"]; // e.g. "26" (47 possibilities) $temp = $condition["temp"]; // e.g. 57 $date = $condition["date"]; // e.g. Tue, 29 Nov 2005 3:56 pm PST // Make an array of the basic elements we need $simpleWeather = array('city'=>$city,'region'=>$region,'country'=>$country,'temperature'=>$temp,'condition'=>$conditionText,'date'=>$date); return $simpleWeather; /* // <forecast> nodes are within the item nodes, one per forecasted day. // So this will be an array. $forecasts = $item->forecast; $distanceUnits = $units["distance"]; // e.g. "mi" $pressureUnits = $units["pressure"]; // e.g. "in" $speedUnits = $units["speed"]; // e.g. "mph" // Wind data: only the attributes are meaningful $wind = $channel->wind; $windChill = $wind["chill"]; // e.g. "57" $windDir = $wind["direction"]; // e.g. "350" $windSpeed = $wind["speed"]; // e.g. "7" // Atmosphere data: only the attributes are meaningful $atmosphere = $channel->atmosphere; $humidity = $atmosphere["humidity"]; // e.g. "93"; $visibility = $atmosphere["visibility"]; // e.g. "1609"; $pressure = $atmosphere["pressure"]; // e.g. "30.12"; $rising = $atmosphere["rising"]; // e.g. "0"; // Astronomy data: only the attributes are meaningful $astronomy = $channel->astronomy; $sunrise = $astronomy["sunrise"]; // e.g. "7:02 am"; $sunset = $astronomy["sunset"]; // e.g. "4:51 pm"; $lat = $item->lat; // Latitude, e.g. "37.39" $long = $item->long; // Longitude, e.g. "122.03" */ } ?> cities.php <?php $cities = array( // Format: // "yahoo city code", // City, Country (or State) /* "NIXX0013", // Maiduguri, Nigeria "IZXX0008", // Baghdad, Iraq "AFXX0003", // Kabul, Afghanistan "PKXX0006", // Pakistan "HAXX0004", // Port-au-Prince, Haiti "PKXX0011", // Pakistan "SOXX0002", // Somalia "KNXX0006", // Pyongyang, North Korea "USDC0001" // Washington, DC */ // New York Times, International Section // Sunday, March 19, 2006, 19:16 EST "IZXX0008", // Baghdad, Iraq "USDC0001", // Washington, DC "BOXX0005", // MINSK, Belarus "FRXX0076", // Paris, France "CHXX0255", // DONGXIANG, China "SPXX0050", // MADRID, Spain "YIXX0005", // BELGRADE, Serbia (yahoo calls it Yugoslavia) "ISXX0010", // JERUSALEM, Israel "IRXX0018", // TEHRAN, Iran "NLXX0016", // THE HAGUE, the Netherlands "USLA0079", // CHALMETTE, Louisiana "IZXX0008", // Baghdad, Iraq "AFXX0003", // GHAZNI, Afghanistan (Kabul was the closest city on Yahoo) "USAS0001", // PAGO PAGO, American Samoa "MXJO0693", // JUCHITAN, Mexico "AEXX0004", //DUBAI, United Arab Emirates // BBC News, Home Page // Sunday, March 19, 2006, 20:16 EST "BOXX0005", // MINSK, Belarus "ASXX0060", //Queensland at Innisfail, Australia "FRXX0076", // Paris, France "WEXX0005", // Ramallah, Palestinian Authority "INXX0188" //Guwahati, India ); $countryCodes = array( "NI"=>"Nigeria", "HA"=>"Haiti", "KN"=>"North Korea", "IZ"=>"Iraq", "AF"=>"Afghanistan", "PK"=>"Pakistan", "US"=>"United States", "SO"=>"Somalia", "FR"=>"France", "CH"=>"China", "SP"=>"Spain", "YI"=>"Serbia", "IS"=>"Israel", "IR"=>"Iran", "NL"=>"the Netherlands", "MX"=>"Mexico", "AS"=>"Australia", "WE"=>"Palestinian Authority", "IN"=>"India", "BO"=>"Belarus" ); ?> |