public static function workflow_save() { $podname = isset($_GET['podname']) ? $_GET['podname'] : ""; $workflow_id = isset($_GET['workflow-id']) ? $_GET['workflow-id'] : ""; $code = isset($_GET['code']) ? $_GET['code'] : ""; $record_id = isset($_GET['record-id']) ? $_GET['record-id'] : ""; $user_id = isset($_GET['user-id']) ? $_GET['user-id'] : ""; $last_sender_id = isset($_GET['last-sender-id']) ? $_GET['last-sender-id'] : ""; $chosen_option = isset($_GET['chosen-option']) ? $_GET['chosen-option'] : ""; $remarks = isset($_GET['remarks']) ? $_GET['remarks'] : ""; $e_signature = isset($_GET['e-signature']) ? $_GET['e-signature'] : ""; $message = ""; if ($podname == "") { $message .= "<div>No Podname</div>"; } if ($workflow_id == "") { $message .= "<div>No Workflow ID</div>"; } if ($code == "") { $message .= "<div>No Workflow Code</div>"; } if ($record_id == "") { $message .= "<div>No Record ID</div>"; } if ($user_id == "") { $message .= "<div>No User ID</div>"; } if ($chosen_option == "") { $message .= "<div>Procedure Not Exist</div>"; } if ($remarks == "") { $message .= "<div>Please Fill The Notes.</div>"; } if ($e_signature == "") { $message .= "<div>Please Fill The e-Signature</div>"; } // Check Signature $user_pod = pods("user", $user_id); if ($user_pod->field("e_signature") == "") { $message .= "<div>You are not authorized because you don't have any e-signature in the system.</div>"; } if ($user_pod->field("e_signature") != $e_signature) { $message .= "<div>Your e-Signature is not correct.</div>"; } if ($message != "") { return $message; } // Add The Message $choosen_option_tokens = explode('|', $chosen_option); $choosen_option_direction = $choosen_option_tokens[0]; $choosen_option_message_code = $choosen_option_tokens[1]; $choosen_option_text = $choosen_option_tokens[2]; dms_messages::add_message($choosen_option_message_code, $podname, $record_id, TRUE); $workflow_data = array(); // Find recipient_user_id if ($choosen_option_direction == "next") { $current_workflow_pod = pods("jomiz_dms_workflow", array("where" => "workflow_code = '{$code}'")); $groups = $current_workflow_pod->field("groups"); foreach ($groups as $group) { $group_pod = pods("jomiz_dms_groups", array("where" => "t.id = " . $group['id'] . " AND members.id = {$user_id}")); while ($group_pod->fetch()) { $managers = $group_pod->field("managers"); foreach ($managers as $manager) { $single_workflow_data = array(); $single_workflow_data["workflow_code"] = $workflow_id; $single_workflow_data["pod_name"] = $podname; $single_workflow_data["record_id"] = $record_id; $single_workflow_data["option_chosed"] = "{$choosen_option_direction}|{$choosen_option_message_code}"; $single_workflow_data["chosen_option_direction"] = $choosen_option_direction; $single_workflow_data["chosen_option_message_code"] = $choosen_option_message_code; $single_workflow_data["chosen_option_text"] = $choosen_option_text; $single_workflow_data["remarks"] = $remarks; $single_workflow_data["sender_user"] = $user_id; $single_workflow_data["recipient_user"] = $manager['ID']; $single_workflow_data["is_last_step_performed"] = 1; $workflow_data[] = $single_workflow_data; } } } } elseif ($choosen_option_direction == "back") { $single_workflow_data = array(); $single_workflow_data["workflow_code"] = $workflow_id; $single_workflow_data["pod_name"] = $podname; $single_workflow_data["record_id"] = $record_id; $single_workflow_data["option_chosed"] = "{$choosen_option_direction}|{$choosen_option_message_code}"; $single_workflow_data["chosen_option_direction"] = $choosen_option_direction; $single_workflow_data["chosen_option_message_code"] = $choosen_option_message_code; $single_workflow_data["chosen_option_text"] = $choosen_option_text; $single_workflow_data["remarks"] = $remarks; $single_workflow_data["sender_user"] = $user_id; $single_workflow_data["recipient_user"] = $last_sender_id; $single_workflow_data["is_last_step_performed"] = 1; $workflow_data[] = $single_workflow_data; } else { // Stop $single_workflow_data = array(); $single_workflow_data["workflow_code"] = $workflow_id; $single_workflow_data["pod_name"] = $podname; $single_workflow_data["record_id"] = $record_id; $single_workflow_data["option_chosed"] = "{$choosen_option_direction}|{$choosen_option_message_code}"; $single_workflow_data["chosen_option_direction"] = $choosen_option_direction; $single_workflow_data["chosen_option_message_code"] = $choosen_option_message_code; $single_workflow_data["chosen_option_text"] = $choosen_option_text; $single_workflow_data["remarks"] = $remarks; $single_workflow_data["sender_user"] = $user_id; $single_workflow_data["is_last_step_performed"] = 1; $workflow_data[] = $single_workflow_data; } dms_messages::add_message($choosen_option_message_code, $podname, $record_id, TRUE); //Update Other Steps To Indicate The Last Performed Step global $wpdb; settype($record_id, "integer"); $where = array("pod_name" => $podname, "record_id" => $record_id); $update_result = $wpdb->update("jomiz_pods_jomiz_dms_data_workflow", array("is_last_step_performed" => 0), $where); $new_workflow_pod = pods("jomiz_dms_data_workflow"); foreach ($workflow_data as $single_workflow_data) { $new_workflow_pod->add($single_workflow_data); } return $message; }