Changeset 503 for cybozu2ical/trunk/lib
- Timestamp:
- 08/28/08 01:56:21 (4 months ago)
- Location:
- cybozu2ical/trunk/lib/WWW
- Files:
-
- 2 modified
-
CybozuOffice6/Calendar.pm (modified) (6 diffs)
-
CybozuOffice7/Calendar.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
cybozu2ical/trunk/lib/WWW/CybozuOffice6/Calendar.pm
r502 r503 4 4 use strict; 5 5 use warnings; 6 7 use base qw( Class::Accessor::Fast );8 6 9 7 use Carp; … … 23 21 } 24 22 25 __PACKAGE__->mk_accessors(qw( url host username userid password ua input_encoding )); 23 sub url { shift->_accessor('url', @_) } 24 sub host { shift->_accessor('host', @_) } 25 sub username { shift->_accessor('username', @_) } 26 sub userid { shift->_accessor('userid', @_) } 27 sub password { shift->_accessor('password', @_) } 28 sub ua { shift->_accessor('ua', @_) } 29 sub input_encoding { shift->_accessor('input_encoding', @_) } 30 sub _accessor { 31 my $this = shift; 32 my $key = shift; 33 $this->{$key} = shift if @_; 34 $this->{$key}; 35 } 26 36 27 37 sub request { … … 138 148 package WWW::CybozuOffice6::Calendar::Event; 139 149 140 use base qw( Class::Accessor::Fast );141 142 150 sub new { 143 151 my $class = shift; … … 151 159 } 152 160 153 __PACKAGE__->mk_accessors(qw( id start end summary description created modified is_full_day comment )); 161 sub id { shift->_accessor('id', @_) } 162 sub start { shift->_accessor('start', @_) } 163 sub end { shift->_accessor('end', @_) } 164 sub summary { shift->_accessor('summary', @_) } 165 sub description { shift->_accessor('description', @_) } 166 sub created { shift->_accessor('created', @_) } 167 sub modified { shift->_accessor('modified', @_) } 168 sub is_full_day { shift->_accessor('is_full_day', @_) } 169 sub comment { shift->_accessor('comment', @_) } 170 sub _accessor { 171 my $this = shift; 172 my $key = shift; 173 $this->{$key} = shift if @_; 174 $this->{$key}; 175 } 154 176 155 177 sub parse { … … 207 229 package WWW::CybozuOffice6::Calendar::RecurrentEvent; 208 230 209 use base qw( Class::Accessor::Fast WWW::CybozuOffice6::Calendar::Event ); 210 211 __PACKAGE__->mk_accessors(qw( rrule frequency frequency_value until )); 231 use base qw( WWW::CybozuOffice6::Calendar::Event ); 232 233 sub rrule { shift->_accessor('rrule', @_) } 234 # for compatibility 235 sub frequency { shift->_accessor('frequency', @_) } 236 sub frequency_value { shift->_accessor('frequency_value', @_) } 237 sub until { shift->_accessor('until', @_) } 212 238 213 239 sub exdates { … … 241 267 242 268 # until 243 if ($param{until_date} =~ m!^(\d+)/(\d+)/(\d+)$! ) {269 if ($param{until_date} =~ m!^(\d+)/(\d+)/(\d+)$! || $param{until_date} =~ m!^da\.(\d+)\.(\d+)\.(\d+)$!) { 244 270 my %args = (year => $1, month => $2, day => $3); 245 271 my $until; -
cybozu2ical/trunk/lib/WWW/CybozuOffice7/Calendar.pm
r502 r503 105 105 106 106 my %param; 107 @param{qw(id created start_date end_date start_time end_time abbrev summary description)} = @fields[0,1,8..11,12..14];107 @param{qw(id created freq freq_value start_date end_date start_time end_time abbrev summary description)} = @fields[0,1,4,5,8..11,12..14]; 108 108 109 109 $param{time_zone} = $this->{time_zone} || 'Asia/Tokyo'; 110 110 111 my $item = WWW::CybozuOffice6::Calendar::Event->new(%param); 111 my $item; 112 if (!$param{freq}) { 113 $item = WWW::CybozuOffice6::Calendar::Event->new(%param); 114 } 115 else { 116 @param{qw(end_date until_date)} = @fields[8,9]; 117 if ($num_fields > 14) { 118 my @exdates = @fields[14..$num_fields]; 119 $param{exdates} = \@exdates; 120 } 121 my $freq = $param{freq}; 122 if ($freq =~ /^[1-5]$/) { 123 $param{freq} = 'm'; 124 my @week_str = ('SU', 'MO', 'TU', 'WE', 'TH', 'FR', 'SA'); 125 $param{freq_value} = $freq . $week_str[$param{freq_value}]; 126 } 127 $item = WWW::CybozuOffice6::Calendar::RecurrentEvent->new(%param); 128 } 112 129 113 130 next unless $item;
![(please configure the [header_logo] section in trac.ini)](/public/chrome/common/trac_banner.png)