From dffd70073cba2f542940ab3c5b48bbbb81a1f49d Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Tue, 13 May 2008 20:53:11 +0000 Subject: [PATCH] fixed: WeatherData asset is broken --- docs/changelog/7.x.x.txt | 1 + .../weatherdatatmpl0000001.wgpkg | Bin 0 -> 1941 bytes lib/WebGUI/Asset/Wobject/WeatherData.pm | 50 ++++++++++++------ 3 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 docs/upgrades/packages-7.5.11/weatherdatatmpl0000001.wgpkg diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index a0a4c5a1b..fd71d8d79 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -58,6 +58,7 @@ - removed legacy wgFieldUserData table - fixed: Thingy: Importing data can fail with some internal field Ids - fixed: Thingy: Problem with add_url tmpl_var permissions + - fixed: WeatherData asset is broken 7.5.10 - fix: Syntax error in GetCsMail diff --git a/docs/upgrades/packages-7.5.11/weatherdatatmpl0000001.wgpkg b/docs/upgrades/packages-7.5.11/weatherdatatmpl0000001.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..a771249b71030fc636f0ca08138a7b8facb2f37b GIT binary patch literal 1941 zcmV;G2Wt2qiwFP!00000|Ls`+Q`^Q8=jZ+vH_o(yNi1154n-K=&_Igkg^(7f^tJBG zoTamLMb_!vop78^{`c;lbdqdrNZ*7`f4~fue7E2CcK0JWTMz%~bUJ(e{?-;=Uo@_y z`gFEDuj6%hJDr}_-y&Y;MR#wD0O`Yja;2#R)1vECWOt~$Zy%h4k8#pm?-2D*+A>yq z_4l{E;@Hw`n!x>L6QbS}L?jSp=g#{wjQX~pQWrk|t8by41TX4t~*tQsPov>wzakn8- zoBe?ci^i@y1Tqy!o@ualSzhI9*q}hW?=dnFA|oP~uSGyns&a6pFhkQx!pKC(kV%MW zXWSxl9_kqGp#^>o(JZ1US4;_s6myl)6bO63r1T=elo)2e-_JfAU?%u1B1#6ZQ3rR% zLY~it5MxLdp^0AF<*L`|M3c+~N zNMI4lNYcf@6sn*-XK0B(5lM)Gf40SCrL10SkMG~9(hE1m0UMN8%R5-ff4y$&UR^Ja z1`~;grK%5X7q5=K30ZXTs@Q8r|MRq#GVKAZEp$!ER5^tWG^MJjqFg?+sw^i-czUgB zAs7bhdYz`)K_q_JOOFS75lq+cFszgM>iTJdt_EF48Icdntn5HR9Y`KHqjgVs)jivP{ zFjEtmqO~KJr>vaXts22~44Shzu9jt*!5f$*X5d`0$@lMuzJHAK(Dz4n=2QdQgtjED z#w0mmQ<^85{KVP37F|v=vxu-@uioMcXB@h=Ivv$D&)x{lr%=<_sLg(3M9x^6n~wFF zMqsRRGw@q91N3s!L>OjZUhnW-G*Te*n0=t&%iBM zi{tx$OJ_GM)vo#8DBTqDJsOM|u1f+TB@1-2AaF3D1(UaLz9-;P3KLSYG*}Rx62Nn0 zcuM+Cp9o1}Xsb**wlN`uDWxFqA(`fBfM;NPhx}oQu=@d&+5XS**~NvEYo0i#=!wJC z@N|U^X{SPNqhNm6IUsxxiXew01msw(fC5+==@@pNJzK+!0t_>Z@I$h~`z!ygX%y1p zr=-V{0v;It4kXyo;#~&7`6X3sduJUR`UJ$t=BRw4wB%`2trTXqd(Tmzp($2&$l)Ow zw;){O)&~0u7W}P&5Dj@R5lC2( zRU;`R7a*e+UTyzH9j4Z;4%2-K`R2A^y!pK>dzA!WRz+}+XO{@&K{2*7VPk zY${iuCd`x!BBd3RgIp>=omlZzQ0|nB)d6Sw4Vz={G!Y&kgvK*xLJDWpT#K`1Zb$go zuqg<59P!jz^gYINYgP&vZsj`Wr`Z6|Na6z0RlCJ+yKR??+@N^y?mi2qJkd=0Fk>Pf z`X@gRvBQk80YVR&Ip;i(LW!w%j*~2=X7{zA@XT?)=xsA2#&tEpZ)59t{Pa0d{3G;= zbEabf<*Wb;v!^gAAQCt$Ah-aLHW`nHSma=LnT|R)8#y3pyzQ;q{o-sUJgmbbRt2YO 0.5.3 is released. + my $old_get_weather = \&Weather::Com::Base::get_weather; + *Weather::Com::Base::get_weather = sub { + my $self = shift; + $self->{LINKS} = 1; + return $self->$old_get_weather(@_); + }; +} + use WebGUI::International; use base 'WebGUI::Asset::Wobject'; use WebGUI::Utility; @@ -116,25 +126,35 @@ sub view { next unless defined $weather; foreach my $foundLocation(@{$weather->find($location)}) { - my $conditions = $foundLocation->current_conditions->description; + my $current_conditions = $foundLocation->current_conditions; + my $conditions = $current_conditions->description; $conditions =~ s/\b(\w)/uc($1)/eg; - my $tempC = $foundLocation->current_conditions->temperature; + my $tempC = $current_conditions->temperature; my $tempF; $tempF = sprintf("%.0f",(((9/5)*$tempC) + 32)) if($tempC); - my $icon = $foundLocation->current_conditions->icon || "na"; - + my $icon = $current_conditions->icon || "na"; + push(@{$var{'ourLocations.loop'}}, { - query => $location, - cityState => $foundLocation->name || $location, - sky => $conditions || 'N/A', - tempF => (defined $tempF)?$tempF:'N/A', - tempC => (defined $tempC)?$tempC:'N/A', - smallIcon => $url->extras("wobject/WeatherData/small_icons/".$icon.".png"), - mediumIcon => $url->extras("wobject/WeatherData/medium_icons/".$icon.".png"), - largeIcon => $url->extras("wobject/WeatherData/large_icons/".$icon.".png"), - iconUrl => $url->extras("wobject/WeatherData/medium_icons/".$icon.".png"), - iconAlt => $conditions, - }); + query => $location, + cityState => $foundLocation->name || $location, + sky => $conditions || 'N/A', + tempF => (defined $tempF)?$tempF:'N/A', + tempC => (defined $tempC)?$tempC:'N/A', + smallIcon => $url->extras("wobject/WeatherData/small_icons/".$icon.".png"), + mediumIcon => $url->extras("wobject/WeatherData/medium_icons/".$icon.".png"), + largeIcon => $url->extras("wobject/WeatherData/large_icons/".$icon.".png"), + iconUrl => $url->extras("wobject/WeatherData/medium_icons/".$icon.".png"), + iconAlt => $conditions, + }); + if (!$var{links_loop}) { + $var{links_loop} = []; + for my $lnk (@{$foundLocation->current_conditions->{WEATHER}{lnks}{link}} ) { + push @{$var{links_loop}}, { + link_url => $lnk->{l}, + link_title => $lnk->{t}, + }; + } + } } } }