get("workflow")); $baseTop = intval($request->get("top")); $block = $request->get("blockid"); /** * @var $settingsModel Settings_Workflow2_Module_Model */ $settingsModel = Settings_Vtiger_Module_Model::getInstance("Settings:Workflow2"); $settings = ""; $text = ""; $duplicateId = $request->get("duplicateId"); if(!empty($duplicateId)) { $sql = "SELECT * FROM vtiger_wfp_blocks WHERE id = ".intval($duplicateId); $result = $adb->query($sql); $duplicate = $adb->raw_query_result_rowdata($result, 0); $block = $duplicate["type"]; if(strlen($duplicate["settings"]) > 4) { //Zend_Json::$useBuiltinEncoderDecoder = true; $settings = \Workflow\VtUtils::json_decode($duplicate["settings"]); $settings = \Workflow\VtUtils::json_encode($settings); } $text = $duplicate["text"]." Copy"; } if(!empty($_SESSION["mWFB"])) { $sql = "SELECT COUNT(*) as num FROM vtiger_wfp_blocks WHERE workflow_id = ".$workflowID; $result = $adb->query($sql);if($adb->query_result($result, 0, "num") > $_SESSION["mWFB"]) { die("false"); } } list($top, $left) = $settingsModel->getFreeBlockPos($workflowID, $baseTop); $currentUser = \Users_Record_Model::getCurrentUserModel(); $sql = "INSERT INTO vtiger_wfp_blocks SET workflow_id = ".$workflowID.", active = 1, text = ?, `type` = ?, x = '".intval($left)."', y = '".intval($top)."', settings = ?, env_vars = '', colorlayer = '', modified = NOW(), modified_by = ? "; $adb->pquery($sql, array($text, $block, $settings, $currentUser->id), true); $blockID = \Workflow\VtUtils::LastDBInsertID(); \Workflow2::updateWorkflow($workflowID); /* $sql = "SELECT * FROM vtiger_wf_types WHERE `type` = '".$block."'"; $result = $adb->query($sql); $type = $adb->raw_query_result_rowdata($result); */ // $outputs = json_decode($type["output"], true); // $designerObj = new \Workflow\Designer(); $outputPoints = $designerObj->getOutputPoints($block); $personInputPoints= $designerObj->getPersonPoints($block); // $html = ""; // $html .= ''; $html = $designerObj->getBlockHtml($blockID, $block, $top, $left); //$html .= '
'.getTranslatedString($type["text"], $type["module"]).''.(!empty($text)?'
'.$text.'':'').'
'.($block!="start"?'':'').'
 
'; $return = array( "blockID" => $blockID, "html" => $html, "outputPoints" => $outputPoints, "personPoints" => $personInputPoints ); echo json_encode($return); } }