Changeset 1085 for trunk/lib/OpenGuides/CGI.pm
- Timestamp:
- 06/17/07 00:57:32 (19 months ago)
- Files:
-
- 1 modified
-
trunk/lib/OpenGuides/CGI.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/OpenGuides/CGI.pm
r1084 r1085 137 137 138 138 my %prefs = OpenGuides::CGI->get_prefs_from_cookie( 139 config => $config 139 config => $config, 140 cookies => \@cookies 140 141 ); 141 142 142 143 Croaks unless an L<OpenGuides::Config> object is supplied as C<config>. 143 144 Returns default values for any parameter not specified in cookie. 145 146 If C<cookies> is provided, this overrides any cookies submitted by the 147 browser. 144 148 145 149 =cut … … 150 154 croak "Config object not an OpenGuides::Config" 151 155 unless UNIVERSAL::isa( $config, "OpenGuides::Config" ); 152 my %cookies = CGI::Cookie->fetch;153 156 my $cookie_name = $class->_get_cookie_name( config => $config ); 157 my %cookies; 158 if ( my $cookies = $args{cookies} ) { 159 if (ref $cookies ne 'ARRAY') { 160 $cookies = [ $cookies ]; 161 } 162 %cookies = map { $_->name => $_ } @{ $cookies }; 163 } 164 else { 165 %cookies = CGI::Cookie->fetch; 166 } 154 167 my %data; 155 168 if ( $cookies{$cookie_name} ) { … … 157 170 } 158 171 159 return $class->get_prefs_from_hash( %data ); 172 my %long_forms = ( 173 user => "username", 174 gclink => "include_geocache_link", 175 prevab => "preview_above_edit_box", 176 lltrad => "latlong_traditional", 177 omithlplks => "omit_help_links", 178 rcmined => "show_minor_edits_in_rc", 179 defedit => "default_edit_type", 180 exp => "cookie_expires", 181 trackrc => "track_recent_changes_views", 182 gmaps => "display_google_maps", 183 ); 184 my %long_data = map { $long_forms{$_} => $data{$_} } keys %long_forms; 185 186 return $class->get_prefs_from_hash( %long_data ); 160 187 } 161 188 … … 174 201 display_google_maps => 1, 175 202 ); 176 my %long_forms = (177 user => "username",178 gclink => "include_geocache_link",179 prevab => "preview_above_edit_box",180 lltrad => "latlong_traditional",181 omithlplks => "omit_help_links",182 rcmined => "show_minor_edits_in_rc",183 defedit => "default_edit_type",184 exp => "cookie_expires",185 trackrc => "track_recent_changes_views",186 gmaps => "display_google_maps",187 );188 203 my %return; 189 foreach my $key ( keys %long_forms ) { 190 my $long_key = $long_forms{$key}; 191 if ( defined $data{$key} ) { 192 $return{$long_key} = $data{$key}; 193 } else { 194 $return{$long_key} = $defaults{$long_key}; 195 } 196 } 204 foreach my $key ( keys %data ) { 205 $return{$key} = defined $data{$key} ? $data{$key} : $defaults{$key}; 206 } 207 197 208 return %return; 198 209 }
