function check_for_schedule(&$focus, $workflow_id, $time_array) { // Check to see if it exists $wflow_schedule = new WorkFlowSchedule(); $is_update = $wflow_schedule->check_existing_trigger($focus->id, $workflow_id); if (isset($time_array['parameters'])) { $wflow_schedule->parameters = $time_array['parameters']; } // If new record, set the data if (!$is_update) { $wflow_schedule->bean_id = $focus->id; $wflow_schedule->workflow_id = $workflow_id; $wflow_schedule->target_module = $focus->module_dir; } $wflow_schedule->set_time_interval($focus, $time_array, $is_update); if (!empty($wflow_schedule->date_expired)) { $wflow_schedule->save(); } }
<?php if (!defined('sugarEntry') || !sugarEntry) { die('Not A Valid Entry Point'); } /* * Your installation or use of this SugarCRM file is subject to the applicable * terms available at * http://support.sugarcrm.com/06_Customer_Center/10_Master_Subscription_Agreements/. * If you do not agree to all of the applicable terms or do not have the * authority to bind the entity as an authorized representative, then do not * install or use this SugarCRM file. * * Copyright (C) SugarCRM Inc. All rights reserved. */ require_once 'modules/WorkFlow/WorkFlowSchedule.php'; global $app_list_strings, $app_strings, $current_language; $mod_strings = return_module_language('en_us', 'WorkFlow'); //run as admin global $current_user; $current_user = Scheduler::initUser(); $process_object = new WorkFlowSchedule(); $process_object->process_scheduled(); unset($process_object); //sugar_cleanup(); // moved to cron.php
/** * Delete all schedules for the workflow * * @return void */ public function deleteSchedules() { $query = "SELECT id FROM workflow_schedules WHERE workflow_schedules.workflow_id = '" . $this->db->quote($this->id) . "'"; $result = $this->db->query($query, true, "Error getting workflow_schedules for workflow_id: " . $this->id); // Remove each workflow schedule by id $removeExpired = array(); $workflowSchedule = new WorkFlowSchedule(); while ($row = $this->db->fetchByAssoc($result)) { $removeExpired[] = $row['id']; } $workflowSchedule->remove_expired($removeExpired); }