Show
Ignore:
Timestamp:
11/12/07 14:18:19 (1 year ago)
Author:
rambo
Message:

forward port r13387

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.services.at/cron/check.php

    r3012 r13399  
    3131        $qb = midcom_services_at_entry::new_query_builder(); 
    3232        $qb->add_constraint('start', '<=', time()); 
     33        $qb->begin_group('OR'); 
     34            $qb->add_constraint('host', '=', $_MIDGARD['host']); 
     35            $qb->add_constraint('host', '=', 0); 
     36        $qb->end_group(); 
    3337        $qb->add_constraint('status', '=', MIDCOM_SERVICES_AT_STATUS_SCHEDULED); 
    3438        debug_add('Executing QB'); 
     
    5256            $_MIDCOM->auth->drop_sudo(); 
    5357            $_MIDCOM->componentloader->load($entry->component); 
    54             $interface = str_replace('.', '_', $entry->component) . '_interface'; 
    5558            $args = $entry->arguments; 
    5659            $args['midcom_services_at_entry_object'] = $entry; 
    57             $mret = call_user_func 
    58                     ( 
    59                         array 
    60                         ( 
    61                             $interface, 
    62                             $entry->method 
    63                         ),  
    64                         $args, 
    65                         $this 
    66                     ); 
     60            $interface =& $_MIDCOM->componentloader->get_interface_class($entry->component); 
     61            $method =& $entry->method; 
     62            $mret = $interface->$method($args, $this); 
    6763            if ($mret !== true) 
    6864            { 
    69                 $error = "call_user_func(array({$interface}, {$entry->method}), {$entry->arguments}) returned '{$mret}', errstr: " . mgd_errstr(); 
     65                $error = "\$interface->{$method}(\$args, \$this) returned '{$mret}', errstr: " . mgd_errstr(); 
    7066                $this->print_error($error); 
    7167                debug_add($error, MIDCOM_LOG_ERROR); 
     68                debug_add('$interface is ' . get_class($interface)); 
     69                debug_print_r('$args', $args); 
    7270                //PONDER: Delete instead ? (There is currently nothing we do with failed entries) 
    7371                $entry->status = MIDCOM_SERVICES_AT_STATUS_FAILED;