Пример #1
0
 /**
  * For updating smart campaigns members in background
  *
  * @param array $args handler arguments
  * @param object &$handler reference to the cron_handler object calling this method.
  * @return boolean indicating success/failure
  */
 function background_update_campaign_members($args, &$handler)
 {
     if (!array_key_exists('campaign_guid', $args)) {
         $msg = 'Campaign GUID not found in arguments list';
         debug_add($msg, MIDCOM_LOG_ERROR);
         $handler->print_error($msg);
         return false;
     }
     midcom::get('auth')->request_sudo();
     try {
         $campaign = new org_openpsa_directmarketing_campaign_dba($args['campaign_guid']);
     } catch (midcom_error $e) {
         $msg = "{$args['campaign_guid']} is not a valid campaign GUID";
         debug_add($msg, MIDCOM_LOG_ERROR);
         $handler->print_error($msg);
         return false;
     }
     $stat = $campaign->update_smart_campaign_members();
     if (!$stat) {
         $msg = 'Error while calling campaign->update_smart_campaign_members(), see error log for details';
         debug_add($msg, MIDCOM_LOG_ERROR);
         $handler->print_error($msg);
         return false;
     }
     midcom::get('auth')->drop_sudo();
     return true;
 }
Пример #2
0
 /**
  * Check if this message is attached to a smart campaign, if so update the campaign members
  */
 private function _check_campaign_up_to_date()
 {
     midcom::get('auth')->request_sudo('org.openpsa.directmarketing');
     $campaign = new org_openpsa_directmarketing_campaign_dba($this->campaign);
     midcom::get('auth')->drop_sudo();
     if ($campaign->orgOpenpsaObtype == org_openpsa_directmarketing_campaign_dba::TYPE_SMART) {
         $campaign->update_smart_campaign_members();
     }
 }