Changeset 1724
- Timestamp:
- 04/02/08 18:36:46 (23 months ago)
- Files:
-
- 1 modified
-
branches/release-33/lib/MT/XMLRPCServer.pm (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/release-33/lib/MT/XMLRPCServer.pm
r1419 r1724 204 204 205 205 my @categories; 206 my $changed = 0; 206 207 207 208 if ($param->{page}) { … … 224 225 $folder->basename($basename); 225 226 $folder->label($basename); 227 $changed = 1; 226 228 $folder->save 227 229 or die _fault(MT->translate("Saving folder failed: [_1]", … … 236 238 elsif (my $cats = $item->{categories}) { 237 239 if (@$cats) { 238 my $cat_class = MT->model('category');239 # The spec says to ignore invalid category names.240 @categories = grep { defined } $cat_class->search({241 blog_id => $entry->blog_id,242 label => $cats,243 });244 }240 my $cat_class = MT->model('category'); 241 # The spec says to ignore invalid category names. 242 @categories = grep { defined } $cat_class->search({ 243 blog_id => $entry->blog_id, 244 label => $cats, 245 }); 246 } 245 247 } 246 248 … … 281 283 } 282 284 283 1;285 $changed; 284 286 } 285 287 … … 372 374 $entry->save; 373 375 374 $class->_save_placements($entry, $item, \%param); 376 my $changed = $class->_save_placements($entry, $item, \%param); 377 378 my @types = ( $obj_type ); 379 if ($changed) { 380 push @types, 'folder'; # folders are the only type that can be 381 # created in _save_placements 382 } 383 $blog->touch( @types ); 384 $blog->save; 375 385 376 386 MT->run_callbacks("api_post_save.$obj_type", $mt, $entry, $orig_entry); … … 436 446 die _fault(MT->translate("Invalid entry ID '[_1]'", $entry_id)); 437 447 } 448 require MT::Blog; 449 my $blog = MT::Blog->load($blog_id) 450 or die _fault(MT->translate("Invalid blog ID '[_1]'", $blog_id)); 438 451 my($author, $perms) = $class->_login($user, $pass, $entry->blog_id); 439 452 die _fault(MT->translate("Invalid login")) unless $author; … … 483 496 $entry->save; 484 497 485 $class->_save_placements($entry, $item, \%param); 498 my $changed = $class->_save_placements($entry, $item, \%param); 499 my @types = ( $obj_type ); 500 if ($changed) { 501 push @types, 'folder'; # folders are the only type that can be 502 # created in _save_placements 503 } 504 $blog->touch( @types ); 486 505 487 506 MT->run_callbacks("api_post_save.$obj_type", $mt, $entry, … … 1001 1020 my $iter = MT::Entry->load_iter({ 1002 1021 blog_id => $blog->id, 1022 class => '*', 1003 1023 status => MT::Entry::FUTURE()}, 1004 1024 {'sort' => 'authored_on', … … 1013 1033 my $total_changed = 0; 1014 1034 my @results; 1035 my %types; 1015 1036 foreach my $entry_id (@queue) { 1016 1037 my $entry = MT::Entry->load($entry_id); … … 1021 1042 or die $entry->errstr; 1022 1043 1044 $types{$entry->class} = 1; 1023 1045 start_background_task(sub { 1024 1046 $mt->rebuild_entry( Entry => $entry, Blog => $blog ) … … 1029 1051 } 1030 1052 } 1053 $blog->touch( keys %types ) if $changed; 1054 $blog->save if $changed && (keys %types); 1055 1031 1056 if ($changed) { 1032 1057 $mt->rebuild_indexes( Blog => $blog ) … … 1125 1150 $asset->mime_type($file->{type}); 1126 1151 $asset->save; 1152 1153 $blog->touch('asset'); 1154 $blog->save; 1127 1155 1128 1156 MT->run_callbacks(
