Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
en:extensions:workflowdesigner:execute_workflows_from_php [2014/01/05 13:56] swarnat created |
en:extensions:workflowdesigner:execute_workflows_from_php [2016/05/08 19:42] (current) swarnat |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Execution via PHP ====== | + | ====== Execution: Local with PHP ====== |
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | 2016-05-08: Updated to latest and easiest version | ||
+ | </WRAP> | ||
You could execute a workflow manually in your own vtigerCRM extension or PHP file. | You could execute a workflow manually in your own vtigerCRM extension or PHP file. | ||
Line 5: | Line 9: | ||
<code php> | <code php> | ||
- | $current_user = new Users(); | + | require_once(vglobal('root_directory')."/modules/Workflow2/autoload_wf.php"); |
- | $current_user->id = <executingUserID>; | + | |
- | $current_user = $current_user->retrieve_entity_info(<executingUserID>, "Users"); | + | |
- | $objWorkflow = new WfMain(<workflowID>, false, $current_user); | + | // The ID of the Workflow you want to execute |
+ | $workflow_id = 1; | ||
+ | // The user, which will be used for execution | ||
+ | $executionUserId = 1; | ||
+ | // Specify a CRMID if you want to execute the record in context of this record. (Important for field values) | ||
+ | $crmid = false; | ||
- | $newObj = Workflow_VTEntity::getById("<recordID>"); | + | $wfExecuter = new \Workflow\Execute(); |
- | $newObj->loadEnvironment(array("asd" => "asd")); // Variables, which will be available inside the Workflow over $env | + | $wfExecuter->setUser($executionUserId); |
+ | if(!empty($crmid)) { | ||
+ | $wfExecuter->setRecord($crmid); | ||
+ | } | ||
- | $objWorkflow->setContext($newObj); | + | // Set the $env Variable, which is initially available in Workflow |
+ | $wfExecuter->setEnvironment(array("variable" => "value", "variable2" => "value2")); | ||
- | $objWorkflow->start(); | + | $wfExecuter->runById($workflow_id); |
+ | |||
+ | // If you have created your own trigger to execute multiple workflows, you could use the following function | ||
+ | // Notice: Handling of configuration in Settings will be improved in future versions of Workflow Designer | ||
+ | // $wfExecuter->runByTrigger("TriggerKey"); | ||
</code> | </code> | ||
+ | |||
+ |