Changeset 1823

Show
Ignore:
Timestamp:
04/09/08 10:05:12 (8 months ago)
Author:
takayama
Message:

Fixed BugId:67959
* Added check for result of object loading

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/release-34/lib/MT.pm.pre

    r1819 r1823  
    22802280    require MT::Entry; 
    22812281    for my $blog_id (@blogs) { 
    2282         my $blog           = MT::Blog->load($blog_id); 
     2282        my $blog           = MT::Blog->load($blog_id) 
     2283            or next; 
    22832284        my $earliest_entry = MT::Entry->load( 
    22842285            { 
  • branches/release-34/lib/MT/App.pm

    r1778 r1823  
    13521352    my $app = shift; 
    13531353    my ($commenter, $commenter_blog_id) = @_; 
    1354     my $blog = $app->model('blog')->load($commenter_blog_id); 
     1354    my $blog = $app->model('blog')->load($commenter_blog_id) 
     1355        or return $app->error($app->translate("Can\'t load blog #[_1].", $commenter_blog_id)); 
    13551356    my $url = $app->config('CGIPath') . $app->config('CommentScript'); 
    13561357    $url .= '?__mode=edit_profile'; 
     
    16141615    $param->{ 'auth_mode_' . $cfg->AuthenticationModule } = 1; 
    16151616 
    1616     my $blog  = $app->model('blog')->load( $param->{blog_id} ); 
     1617    my $blog  = $app->model('blog')->load( $param->{blog_id} ) 
     1618        or return $app->error($app->translate("Can\'t load blog #[_1].", $param->{blog_id})); 
    16171619 
    16181620    my ( $password, $hint, $url ); 
  • branches/release-34/lib/MT/App/Comments.pm

    r1804 r1823  
    234234    my $name    = $q->param('username'); 
    235235    my $blog_id = $q->param('blog_id'); 
    236     my $blog    = MT::Blog->load($blog_id); 
     236    my $blog    = MT::Blog->load($blog_id) 
     237        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    237238    my $auths   = $blog->commenter_authenticators; 
    238239    if ( $auths !~ /MovableType/ ) { 
     
    326327    my $param = {}; 
    327328    $param->{$_} = $app->param($_) foreach qw(blog_id entry_id static username); 
    328     my $blog = $app->model('blog')->load( $param->{blog_id} ); 
     329    my $blog = $app->model('blog')->load( $param->{blog_id} ) 
     330        or return $app->error($app->translate('Can\'t load blog #[_1].', $param->{blog_id})); 
    329331    my $cfg  = $app->config; 
    330332    if ( my $registration = $cfg->CommenterRegistration ) { 
     
    353355    my $user = $app->create_user_pending($param); 
    354356    unless ($user) { 
    355         my $blog = $app->model('blog')->load( $param->{blog_id} ); 
     357        my $blog = $app->model('blog')->load( $param->{blog_id} ) 
     358            or return $app->error($app->translate('Can\'t load blog #[_1].', $param->{blog_id})); 
    356359        if ( my $provider = MT->effective_captcha_provider( $blog->captcha_provider ) ) { 
    357360            $param->{captcha_fields} = $provider->form_fields( $blog->id ); 
     
    387390    my $cfg = $app->config; 
    388391 
    389     my $blog   = MT::Blog->load($blog_id); 
     392    my $blog   = MT::Blog->load($blog_id) 
     393        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    390394    my $entry  = MT::Entry->load($entry_id); 
    391395    my $author = $entry ? $entry->author : q(); 
     
    484488    $param->{$_} = $app->param($_) foreach qw(blog_id entry_id static); 
    485489 
    486     my $blog = $app->model('blog')->load($blog_id); 
     490    my $blog = $app->model('blog')->load($blog_id) 
     491        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    487492    ## Token expiration check 
    488493    require MT::Session; 
     
    493498        $commenter = MT::Author->load( $sess->name ); 
    494499        if ( $sess->start() < ( time - 60 * 60 * 24 ) ) { 
    495             $commenter->remove
     500            $commenter->remove if $commenter
    496501            $sess->remove; 
    497502            $sess = $commenter = undef; 
     
    570575    my ( $user, $entry_id, $blog_id, $ids ) = @_; 
    571576 
    572     my $blog    = MT::Blog->load($blog_id); 
     577    my $blog    = MT::Blog->load($blog_id) 
     578        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    573579    my $subject = $app->translate( "[_1] registered to the blog '[_2]'", 
    574580        $user->name, $blog->name ); 
     
    610616        return undef; 
    611617    } 
    612     my $blog = $app->model('blog')->load($blog_id); 
     618    my $blog = $app->model('blog')->load($blog_id) 
     619        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    613620    if ( my $provider = MT->effective_captcha_provider( $blog->captcha_provider ) ) { 
    614621        my $image_data = $provider->generate_captcha($app, $blog_id, $token); 
     
    726733          if $author && $author->preferred_language; 
    727734 
    728         my $blog = MT::Blog->load( $entry->blog_id ); 
     735        my $blog = MT::Blog->load( $entry->blog_id ) 
     736            or return $app->error($app->translate('Can\'t load blog #[_1].', $entry->blog_id)); 
    729737        if ( $author && $author->email ) { 
    730738            my %head = ( 
     
    806814    } 
    807815 
    808     my $blog = $app->model('blog')->load( $entry->blog_id ); 
     816    my $blog = $app->model('blog')->load( $entry->blog_id ) 
     817        or return $app->error($app->translate('Can\'t load blog #[_1].', $entry->blog_id)); 
    809818 
    810819    my $text = $q->param('text') || ''; 
     
    990999        unless ($tmpl) { 
    9911000            require MT::DefaultTemplates; 
    992             $tmpl = MT::DefaultTemplates->load({ type => 'comment_response' }); 
     1001            $tmpl = MT::DefaultTemplates->load({ type => 'comment_response' }) 
     1002                or return $app->error($app->translate("Can\'t load template")); 
    9931003            $tmpl->text( $app->translate_templatized( $tmpl->text ) ); 
    9941004        } 
     
    11541164        # for this blog only. 
    11551165        if ( my $registration = $app->config->CommenterRegistration ) { 
    1156             my $blog = MT::Blog->load($blog_id); 
     1166            my $blog = MT::Blog->load($blog_id) 
     1167                or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    11571168            if ( $registration->{Allow} && $blog->allow_commenter_regist ) { 
    11581169                my $perm = $commenter->blog_perm($blog_id); 
     
    14061417        if ( $q->param('static') eq 1 ) { 
    14071418            require MT::Entry; 
    1408             my $entry = MT::Entry->load( $q->param('entry_id') ); 
     1419            my $entry = MT::Entry->load( $q->param('entry_id') ) 
     1420                or return $app->error($app->translate('Can\'t load entry #[_1].', $q->param('entry_id'))); 
    14091421            $target = $entry->archive_url; 
    14101422            my $blog = MT::Blog->load( $entry->blog_id ); 
     
    16011613        unless ($tmpl) { 
    16021614            require MT::DefaultTemplates; 
    1603             $tmpl = MT::DefaultTemplates->load({ type => 'comment_response' }); 
     1615            $tmpl = MT::DefaultTemplates->load({ type => 'comment_response' }) 
     1616                or return $app->error($app->translate("Can\'t load template")); 
    16041617            $tmpl->text( $app->translate_templatized( $tmpl->text ) ); 
    16051618        } 
     
    16251638        unless ($tmpl) { 
    16261639            require MT::DefaultTemplates; 
    1627             $tmpl = MT::DefaultTemplates->load({ type => 'comment_preview' }); 
     1640            $tmpl = MT::DefaultTemplates->load({ type => 'comment_preview' }) 
     1641                or return $app->error($app->translate("Can\'t load template")); 
    16281642            $tmpl->text( $app->translate_templatized( $tmpl->text ) ); 
    16291643        } 
  • branches/release-34/lib/MT/App/Search/Legacy.pm

    r1420 r1823  
    303303            $blog = MT::Blog->load($app->param('blog_id')); 
    304304        } 
    305         $include = $blog->id
     305        $include = $blog->id if $blog
    306306    } 
    307307 
     
    499499        my $blog_id = $entry->blog_id; 
    500500        if ($hits{$blog_id} && $hits{$blog_id} >= $max) { 
    501             my $blog = $blogs{$blog_id} || MT::Blog->load($blog_id); 
     501            my $blog = $blogs{$blog_id} || MT::Blog->load($blog_id) 
     502                or next; 
    502503            my @res = @{ $app->{results}{$blog->name} }; 
    503504            my $count = $#res; 
     
    507508        if ($app->_search_hit($entry)) { 
    508509            my $blog = $blogs{$blog_id} || MT::Blog->load($blog_id); 
    509             $app->_store_hit_data($blog, $entry, $hits{$blog_id}++)
     510            $app->_store_hit_data($blog, $entry, $hits{$blog_id}++) if $blog
    510511        } 
    511512    } 
  • branches/release-34/lib/MT/App/Trackback.pm

    r1663 r1823  
    272272    return $app->_response( 
    273273        Error => $app->translate("This TrackBack item is disabled.") ) 
    274       if $tb->is_disabled || !$cfg->AllowPings || !$blog->allow_pings; 
     274      if $tb->is_disabled || !$cfg->AllowPings || !$blog || !$blog->allow_pings; 
    275275 
    276276    if ( $tb->passphrase && ( !$pass || $pass ne $tb->passphrase ) ) { 
  • branches/release-34/lib/MT/App/Viewer.pm

    r1174 r1823  
    157157    my $map = MT::TemplateMap->load({ archive_type => $at, 
    158158                                      blog_id => $app->{__blog_id}, 
    159                                       is_preferred => 1 }); 
     159                                      is_preferred => 1 }) 
     160        or return $app->error($app->translate("Can't load templatemap")); 
    160161    my $tmpl = MT::Template->load($map->template_id) 
    161162        or return $app->error($app->translate("Can't load template [_1]", $map->template_id)); 
     
    191192        my $map = MT::TemplateMap->load({ archive_type => 'Individual', 
    192193                                          blog_id => $app->{__blog_id}, 
    193                                           is_preferred => 1 }); 
     194                                          is_preferred => 1 }) 
     195            or return $app->error($app->translate("Can't load templatemap")); 
    194196        $tmpl = MT::Template->load($map->template_id) 
    195197            or return $app->error($app->translate("Can't load template [_1]", $map->template_id)); 
  • branches/release-34/lib/MT/Atom.pm

    r1820 r1823  
    4242    } 
    4343 
    44     my $mt_author = MT::Author->load($entry->author_id); 
     44    my $mt_author = MT::Author->load($entry->author_id) 
     45        or return undef; 
    4546    my $atom_author = new XML::Atom::Person(%param); 
    4647    $atom_author->name(encode_text($mt_author->nickname, undef, 'utf-8')); 
     
    5657    } 
    5758 
    58     my $blog = MT::Blog->load($entry->blog_id); 
     59    my $blog = MT::Blog->load($entry->blog_id) 
     60        or return undef; 
    5961    my $co = _create_issued($entry->authored_on, $blog); 
    6062    $atom->issued($co); 
     
    8284    $atom->title($asset->label);  
    8385    $atom->summary($asset->description); 
    84     my $blog = MT::Blog->load($asset->blog_id); 
     86    my $blog = MT::Blog->load($asset->blog_id) 
     87        or return undef; 
    8588    $atom->issued(_create_issued($asset->created_on, $blog));  
    8689    $atom->add_link({ rel => 'alternate', type => $asset->mime_type,  
  • branches/release-34/lib/MT/AtomServer.pm

    r1820 r1823  
    409409    my $app = shift; 
    410410    my($entry, $no_ping) = @_; 
    411     my $blog = MT::Blog->load($entry->blog_id); 
     411    my $blog = MT::Blog->load($entry->blog_id) 
     412        or return; 
    412413    $app->rebuild_entry( Entry => $entry, Blog => $blog, 
    413414                         BuildDependencies => 1 ) or return; 
     
    447448        my $blog = $thing->isa('MT::Blog') ? $thing 
    448449            : MT::Blog->load($thing->blog_id); 
     450        next unless $blog; 
    449451        my $uri = $base . '/blog_id=' . $blog->id; 
    450452 
     
    942944        my $blog = $thing->isa('MT::Blog') ? $thing 
    943945            : MT::Blog->load($thing->blog_id); 
     946        next unless $blog; 
    944947        my $uri = $base . '/blog_id=' . $blog->id; 
    945948        my $blogname = encode_text($blog->name . ' #' . $blog->id, undef, 'utf-8'); 
  • branches/release-34/lib/MT/Auth/MT.pm

    r1174 r1823  
    2121    } else { 
    2222        if ($q->param('pass') && $id) { 
    23             my $author = MT::Author->load($id); 
     23            my $author = MT::Author->load($id) 
     24                or return $app->translate('Failed to verify current password.'); 
    2425            if (!$auth->is_valid_password($author, $q->param('old_pass'))) { 
    2526                return $app->translate('Failed to verify current password.'); 
  • branches/release-34/lib/MT/Auth/OpenID.pm

    r1720 r1823  
    124124            require MT::Author; 
    125125            my $sess = MT::Session->load({id => $session}); 
    126             $cmntr = MT::Author->load({name => $sess->name, 
    127                                        type => MT::Author::COMMENTER(), 
    128                                        auth_type => $auth_type}); 
     126            if ($sess) { 
     127                $cmntr = MT::Author->load({name => $sess->name, 
     128                                           type => MT::Author::COMMENTER(), 
     129                                           auth_type => $auth_type}); 
     130            } 
    129131        } 
    130132    } 
  • branches/release-34/lib/MT/Auth/TypeKey.pm

    r1720 r1823  
    2323 
    2424    my $entry_id = $q->param('entry_id'); 
    25     my $entry = MT::Entry->load($entry_id); 
    26     my $blog = MT::Blog->load($q->param('blog_id') || $entry->blog_id); 
     25    my $entry = MT::Entry->load($entry_id) 
     26        or return 0; 
     27    my $blog = MT::Blog->load($q->param('blog_id') || $entry->blog_id) 
     28        or return 0; 
    2729 
    2830    my $ts = $q->param('ts') || ""; 
     
    8284            require MT::Session; 
    8385            require MT::Author; 
    84             my $sess = MT::Session->load({id => $session}); 
     86            my $sess = MT::Session->load({id => $session}) 
     87                or return 0; 
    8588            $cmntr = MT::Author->load({name => $sess->name, 
    8689                                       type => MT::Author::COMMENTER(), 
    87                                        auth_type => $auth_type}); 
     90                                       auth_type => $auth_type}) 
     91                or return 0; 
    8892            if ($blog->require_typekey_emails 
    8993                && !is_valid_email($cmntr->email)) 
  • branches/release-34/lib/MT/Author.pm

    r1522 r1823  
    259259        $entry = MT::Entry->load($entry); 
    260260    } 
    261     die unless $entry->isa('MT::Entry'); 
     261    die if !$entry || $entry->isa('MT::Entry'); 
    262262    my $perms = $author->permissions($entry->blog_id); 
    263263    die unless $perms->isa('MT::Permission'); 
  • branches/release-34/lib/MT/BackupRestore.pm

    r1644 r1823  
    614614    my $fmgr; 
    615615    if (exists $blogs_meta->{$asset->blog_id}) { 
     616        my $blog = MT->model('blog')->load($asset->blog_id) 
     617            or return 0; 
     618 
    616619        my $meta = $blogs_meta->{$asset->blog_id}; 
    617620        my $path = $asset->file_path; 
     
    641644        $callback->(MT->translate("ok") . "\n"); 
    642645 
    643         my $blog = MT->model('blog')->load($asset->blog_id); 
    644646        $fmgr = $blog->file_mgr; 
    645647    } 
     
    859861 
    860862    if ($obj->parent) { 
    861         my $parent = MT->model('asset')->load($obj->parent); 
     863        my $parent = MT->model('asset')->load($obj->parent) 
     864            or return $xml; 
    862865        $xml .= $parent->to_xml(@_); 
    863866        $xml .= "\n"; 
  • branches/release-34/lib/MT/Blog.pm

    r1759 r1823  
    493493    require MT::Template; 
    494494    foreach my $map (@maps) {   
    495         my $tmpl = MT::Template->load($map->template_id); 
     495        my $tmpl = MT::Template->load($map->template_id) 
     496            or return 0; 
    496497        $result++ if !$tmpl->build_dynamic; 
    497498    } 
  • branches/release-34/lib/MT/CMS/Asset.pm

    r1787 r1823  
    4444        my $place_class = $app->model('objectasset'); 
    4545        my $place_iter = $place_class->load_iter( 
    46                                                  
     46           
    4747                blog_id => $obj->blog_id || 0, 
    4848                asset_id => $obj->parent ? $obj->parent : $obj->id 
     
    5151        while (my $place = $place_iter->()) { 
    5252            my $entry_class = $app->model($place->object_ds); 
    53             my $entry = $entry_class->load($place->object_id); 
     53            my $entry = $entry_class->load($place->object_id) 
     54                or next; 
    5455            my %entry_data = ( 
    5556                id    => $place->object_id, 
     
    740741    my $id = $q->param('id'); 
    741742    my $obj = $id ? $class->load($id) : $class->new; 
     743    return unless $obj; 
    742744    my $original = $obj->clone(); 
    743745 
     
    780782        my $blog_id = $app->param('blog_id'); 
    781783        require MT::Blog; 
    782         my $blog = MT::Blog->load($blog_id); 
     784        my $blog = MT::Blog->load($blog_id) 
     785            or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    783786 
    784787        $param->{enable_archive_paths} = $blog->column('archive_path'); 
     
    929932        $param{blog_id} = $blog_id; 
    930933        require MT::Blog; 
    931         $blog = MT::Blog->load($blog_id); 
     934        $blog = MT::Blog->load($blog_id) 
     935            or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    932936        $fmgr = $blog->file_mgr; 
    933937 
  • branches/release-34/lib/MT/CMS/Blog.pm

    r1822 r1823  
    419419    return $app->return_to_dashboard( redirect => 1 ) unless $blog_id; 
    420420 
    421     my $blog = $app->model('blog')->load($blog_id); 
     421    my $blog = $app->model('blog')->load($blog_id) 
     422        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    422423    my @data; 
    423424    for my $at ( split /\s*,\s*/, $blog->archive_type ) { 
     
    557558    return $app->errtrans("Invalid request.") unless $blog_id; 
    558559 
    559     my $blog          = MT::Blog->load($blog_id); 
     560    my $blog          = MT::Blog->load($blog_id) 
     561        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    560562    my $order         = $q->param('type'); 
    561563    my @order         = split /,/, $order; 
     
    589591                require MT::Entry; 
    590592                my $entry = MT::Entry->load($obj_id); 
    591                 $edit_type = $entry->class
     593                $edit_type = $entry ? $entry->class : 'entry'
    592594            } 
    593595            $app->{goback} = 
     
    803805        if ( $q->param('entry_id') ) { 
    804806            require MT::Entry; 
    805             my $entry = MT::Entry->load( scalar $q->param('entry_id') ); 
     807            my $entry = MT::Entry->load( scalar $q->param('entry_id') ) 
     808                or return $app->error($app->translate('Can\'t load entry #[_1].', $q->param('entry_id'))); 
    806809            require MT::Blog; 
    807             my $blog = MT::Blog->load( $entry->blog_id ); 
     810            my $blog = MT::Blog->load( $entry->blog_id ) 
     811                or return $app->error($app->translate('Can\'t load blog #[_1].', $entry->blog_id)); 
    808812            require MT::CMS::Entry; 
    809813            MT::CMS::Entry::ping_continuation( $app, 
     
    942946        my $tmpl_id = $1; 
    943947        require MT::Template; 
    944         my $tmpl = MT::Template->load($tmpl_id); 
     948        my $tmpl = MT::Template->load($tmpl_id) 
     949            or return $app->error($app->translate('Can\'t load template #[_1].', $tmpl_id)); 
    945950        $param{build_type_name} = 
    946951          $app->translate( "index template '[_1]'", $tmpl->name ); 
     
    950955        my $entry_id = $1; 
    951956        require MT::Entry; 
    952         my $entry = MT::Entry->load($entry_id); 
     957        my $entry = MT::Entry->load($entry_id) 
     958            or return $app->error($app->translate('Can\'t load entry #[_1].', $entry_id)); 
    953959        $param{build_type_name} = 
    954960          $app->translate( "[_1] '[_2]'", $entry->class_label, $entry->title ); 
     
    969975    my $blog_id = $app->param('blog_id'); 
    970976    require MT::Blog; 
    971     my $blog = MT::Blog->load($blog_id); 
     977    my $blog = MT::Blog->load($blog_id) 
     978        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    972979    my $at = $blog->archive_type || ''; 
    973980    my ( @blog_at, @at, @data ); 
     
    10071014    if ( my $tmpl_id = $app->param('tmpl_id') ) { 
    10081015        require MT::Template; 
    1009         my $tmpl = MT::Template->load($tmpl_id); 
     1016        my $tmpl = MT::Template->load($tmpl_id) 
     1017            or return $app->error($app->translate('Can\'t load template #[_1].', $tmpl_id)); 
    10101018        $param{index_tmpl_id}   = $tmpl->id; 
    10111019        $param{index_tmpl_name} = $tmpl->name; 
  • branches/release-34/lib/MT/CMS/Category.pm

    r1773 r1823  
    141141    my $cat; 
    142142    if ( my $moved_cat_id = $q->param('move_cat_id') ) { 
    143         $cat = $class->load( $q->param('move_cat_id') ); 
     143        $cat = $class->load( $q->param('move_cat_id') ) 
     144            or return; 
    144145        move_category($app) or return; 
    145146    } 
     
    440441    $app->validate_magic() or return; 
    441442 
    442     my $cat        = $class->load( $app->param('move_cat_id') ); 
     443    my $cat        = $class->load( $app->param('move_cat_id') ) 
     444        or return; 
    443445    my $new_parent = $app->param('move-radio'); 
    444446 
  • branches/release-34/lib/MT/CMS/Comment.pm

    r1710 r1823  
    10581058    foreach my $id (@ids) { 
    10591059        next unless $id; 
    1060         my $obj = $class->load($id); 
     1060        my $obj = $class->load($id) 
     1061            or next; 
    10611062        unless ($perm_checked) { 
    10621063            if ( $obj->isa('MT::TBPing') && $obj->parent->isa('MT::Entry') ) { 
     
    12471248    my $blog = $parent->blog 
    12481249            || $app->model('blog')->load($q->param('blog_id')); 
     1250    return $app->error($app->translate('Can\'t load blog #[_1].', $q->param('blog_id'))) unless $blog; 
    12491251 
    12501252    require MT::Sanitize; 
     
    13181320    my $blog = $parent->blog 
    13191321            || $app->model('blog')->load($app->param('blog_id')); 
     1322    return $app->error($app->translate('Can\'t load blog #[_1].', $app->param('blog_id'))) unless $blog; 
    13201323 
    13211324    require MT::Sanitize; 
     
    13721375        || $perms->can_manage_feedback ); 
    13731376 
    1374     my $c = MT::Comment->load($id); 
     1377    my $c = MT::Comment->load($id) 
     1378        or return 0; 
    13751379    if ( $perms && $perms->can_create_post && $perms->can_publish_post ) { 
    13761380        return $c->entry->author_id == $app->user->id; 
     
    14011405    my $perms = $app->permissions; 
    14021406    require MT::Entry; 
    1403     my $entry = MT::Entry->load( $obj->entry_id ); 
     1407    my $entry = MT::Entry->load( $obj->entry_id ) 
     1408        or return 0; 
    14041409    if ( !$perms || $perms->blog_id != $entry->blog_id ) { 
    14051410        $perms ||= $author->permissions( $entry->blog_id ); 
     
    16091614    require MT::Entry; 
    16101615    foreach my $id (@obj_ids) { 
    1611         my $obj = $class->load($id); 
     1616        my $obj = $class->load($id) 
     1617            or next; 
    16121618        my $old_visible = $obj->visible || 0; 
    16131619        if ( $old_visible != $new_visible ) { 
     
    16921698    for my $id (@$comments) { 
    16931699        my $cmt = MT::Comment->load($id); 
    1694         if ( $cmt->commenter_id ) { 
     1700        if ( $cmt && $cmt->commenter_id ) { 
    16951701            $commenters{ $cmt->commenter_id . ':' . $cmt->blog_id } = 
    16961702              [ $cmt->commenter_id, $cmt->blog_id ]; 
     
    17111717    my $entry         = $app->model('entry')->load( $parent->entry_id ); 
    17121718 
    1713     unless ( $parent->is_published ) { 
     1719    if ( !$parent || $parent->is_published ) { 
    17141720        $app->error( 
    17151721            $app->translate("You can't reply to unpublished comment.") ); 
     
    17211727        return ( undef, $parent, $entry ); 
    17221728    } 
    1723  
    1724     my $blog = $app->model('blog')->load( $entry->blog_id ); 
    17251729 
    17261730    my $nick = $app->user->nickname || $app->translate('Registered User'); 
  • branches/release-34/lib/MT/CMS/Common.pm

    r1807 r1823  
    132132    my ($obj); 
    133133    if ($id) { 
    134         $obj = $class->load($id); 
     134        $obj = $class->load($id) 
     135            or return $app->error($app->translate("Invalid ID [_1]", $id)); 
    135136    } 
    136137    else { 
     
    739740            require MT::Entry; 
    740741            my $tb_center = MT::Trackback->load( $obj->tb_id ); 
    741             my $entry     = MT::Entry->load( $tb_center->entry_id ); 
     742            my $entry     = MT::Entry->load( $tb_center->entry_id ) 
     743                or return $app->error($app->translate('Can\'t load entry #[_1].', $tb_center->entry_id)); 
    742744            if ( my $ts = $obj->created_on ) { 
    743745                $row->{created_on_time_formatted} = 
     
    760762    } 
    761763    if ( $type eq 'template' ) { 
    762         my $blog = $blog_class->load( scalar $q->param('blog_id') ); 
    763764        $app->add_breadcrumb( $app->translate('Templates') ); 
    764765        $param{nav_templates} = 1; 
     
    782783    # add any breadcrumbs 
    783784    if ( $type eq 'banlist' ) { 
    784         my $blog = $blog_class->load($blog_id); 
    785785        $app->add_breadcrumb( $app->translate('IP Banning') ); 
    786786        $param{nav_config}                       = 1; 
     
    926926                    foreach (@ot) { 
    927927                        my $obj = $ot_class->load($_); 
     928                        next unless $obj; 
    928929                        $obj->remove 
    929930                          or return $app->errtrans( 'Removing tag failed: [_1]', 
     
    946947                require MT::Entry; 
    947948                require MT::Placement; 
    948                 my $blog = MT::Blog->load($blog_id); 
     949                my $blog = MT::Blog->load($blog_id) 
     950                    or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    949951                my $at   = $blog->archive_type; 
    950952                if ( $at && $at ne 'None' ) { 
  • branches/release-34/lib/MT/CMS/Entry.pm

    r1801 r1823  
    139139        my $blog_timezone = 0; 
    140140        if ($blog_id) { 
    141             my $blog = $blog_class->load($blog_id); 
     141            my $blog = $blog_class->load($blog_id) 
     142                or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    142143            $blog_timezone = $blog->server_offset(); 
    143144            if ( $type eq 'entry' ) { 
     
    836837        $fullscreen = 1; 
    837838    } 
     839    return $app->error($app->translate('Can\'t load template.')) unless $tmpl; 
    838840 
    839841    # translates naughty words when PublishCharset is NOT UTF-8 
     
    10791081    require MT::Blog; 
    10801082    my $blog_id = $app->param('blog_id'); 
    1081     my $blog    = MT::Blog->load($blog_id); 
    1082  
     1083    my $blog    = MT::Blog->load($blog_id) 
     1084        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
     1085     
    10831086    my $archive_type; 
    10841087 
     
    13491352 
    13501353        # blog_id sanity check 
    1351         next if $cat->blog_id != $obj->blog_id; 
     1354        next if !$cat || $cat->blog_id != $obj->blog_id; 
    13521355 
    13531356        my $place = MT::Placement->new; 
     
    14621465        next unless $p =~ /^category_id_(\d+)/; 
    14631466        my $id    = $1; 
    1464         my $entry = MT::Entry->load($id); 
     1467        my $entry = MT::Entry->load($id) 
     1468            or next; 
    14651469        return $app->error( $app->translate("Permission denied.") ) 
    14661470            unless $perms 
     
    18221826    my $entry_id = $app->param('entry_id'); 
    18231827    require MT::Entry; 
    1824     my $entry = MT::Entry->load($entry_id); 
     1828    my $entry = MT::Entry->load($entry_id) 
     1829        or return $app->error($app->translate('Can\'t load entry #[_1].', $entry_id)); 
    18251830    $param{url_loop} = [ map { { url => $_ } } @{ $entry->pinged_url_list } ]; 
    18261831    $param{failed_url_loop} = 
     
    20712076    my ($type)  = @_; 
    20722077    my $blog_id = $app->blog->id; 
    2073     my $blog    = $app->model('blog')->load($blog_id); 
     2078    my $blog    = $app->model('blog')->load($blog_id) 
     2079        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    20742080    my %args    = ( '_type' => $type, blog_id => $blog_id, qp => 1 ); 
    20752081    my $uri = $app->base . $app->uri( 'mode' => 'view', args => \%args ); 
     
    22862292    my $q       = $app->param; 
    22872293    my $blog_id = $q->param('blog_id'); 
    2288     my $blog    = MT::Blog->load($blog_id); 
     2294    my $blog    = MT::Blog->load($blog_id) 
     2295        or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    22892296 
    22902297    my $can_background = 
  • branches/release-34/lib/MT/CMS/Import.pm

    r1369 r1823  
    7474    if ($blog_id) { 
    7575        $param{blog_id} = $blog_id; 
    76         my $blog = $app->model('blog')->load($blog_id); 
     76        my $blog = $app->model('blog')->load($blog_id) 
     77            or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id)); 
    7778        $param{text_filters} = $app->load_text_filters( $blog->convert_paras ); 
    7879    } 
  • branches/release-34/lib/MT/CMS/Search.pm

    r1590 r1823  
    6969            'perm_check' => sub { 
    7070                my $ping = shift; 
    71                 my $tb   = MT::Trackback->load( $ping->tb_id ); 
     71                my $tb   = MT::Trackback->load( $ping->tb_id ) 
     72                    or return undef; 
    7273                if ( $tb->entry_id ) { 
    7374                    require MT::Entry; 
  • branches/release-34/lib/MT/CMS/Tag.pm

    r1615 r1823  
    227227        my $entry = MT::Entry->load($id) or next; 
    228228        next 
    229           unless $user->is_superuser 
     229          unless $entry 
     230          || $user->is_superuser 
    230231          || $perms->can_edit_entry( $entry, $user ); 
    231232 
     
    259260        my $entry = MT::Entry->load($id) or next; 
    260261        next 
    261           unless $user->is_superuser 
     262          unless $entry 
     263          || $user->is_superuser 
    262264          || $perms->can_edit_entry( $entry, $user ); 
    263265        $entry->remove_tags(@tags); 
     
    290292        my $asset = MT::Asset->load($id) or next; 
    291293        next 
    292           unless $user->is_superuser 
     294          unless $asset 
     295          || $user->is_superuser 
    293296          || $perms->can_edit_assets; 
    294297 
     
    322325        my $asset = MT::Asset->load($id) or next; 
    323326        next 
    324           unless $user->is_superuser 
     327          unless $asset 
     328          || $user->is_superuser 
    325329          || $perms->can_edit_assets; 
    326330        $asset->remove_tags(@tags); 
  • branches/release-34/lib/MT/CMS/Template.pm

    r1786 r1823  
    895895      unless $perms->can_edit_templates; 
    896896    $app->validate_magic() or return; 
    897     my $blog = MT::Blog->load( $perms->blog_id ); 
     897    my $blog = MT::Blog->load( $perms->blog_id ) 
     898        or return $app->error($app->translate('Can\'t load blog #[_1].', $perms->blog_id)); 
    898899    require MT::Template; 
    899900    my @tmpl = MT::Template->load( { blog_id => $blog->id } ); 
     
    12561257            my $at     = $1; 
    12571258            my $map_id = $2;