/**
  * @param $context \Workflow\VTEntity
  */
 public function handleTask(&$context)
 {
     //        $importState = $context->getEnvironment("_internal");
     $pause_rows = $this->get("pause_rows");
     $importHash = $context->getEnvironment('_import_hash');
     $importer = \Workflow\Importer::getInstance($importHash);
     if ($pause_rows !== -1 && !empty($pause_rows)) {
         if ($importer->get("seek") - $importer->get("lastPause") >= $pause_rows && $importer->get("total") > $importer->get("seek")) {
             $debugValue = $importer->get("seek");
             $importer->set("lastPause", $importer->get('seek'));
             //                $context->setEnvironment("_internal", $importState);
             \Workflow\Queue::addEntry($this, $this->getWorkflow()->getUser(), $context, "static", time() + 864000 * 3, 1);
             $totalRows = $importer->get("total");
             $seek = $importer->get("seek");
             $importParams = $importer->get("importParams");
             if (!empty($importParams['skipfirst'])) {
                 $totalRows -= 1;
                 $seek -= 1;
             }
             $result = array("done" => $seek, 'total' => $totalRows, "ready" => false, 'debug' => $debugValue);
             $importer->set("execID", $this->getExecId());
             echo json_encode($result);
             exit;
         }
     }
     do {
         $row = $importer->getNextRow();
         $importer->set("seek", $importer->get("seek") + 1);
         //            $importer->get("seek")++;
         if ($row == false) {
             return "no";
         }
     } while (count($row) == 1 && empty($row[0]));
     // leere Zeilen am Ende der Datei werden nicht wieder in das Environment geschrieben und somit nicht mitgezählt!
     //        $context->setEnvironment("_internal", $importState);
     #$importState["pos"]++;
     #$context->setEnvironment("_internal", $importState);
     $cols = $this->get("cols");
     $csv = array();
     foreach ($cols as $index => $colKey) {
         $csv[$colKey] = $row[$index];
     }
     $context->setEnvironment("csv", $csv);
     return "yes";
 }
Example #2
0
 public function delayUntilWfFinished($execID, $context)
 {
     ${"GLOBALS"}["cmvugfpteo"] = "context";
     $this->_waitUntilWfFinishedQueueId = \Workflow\Queue::addEntry($this, $context->getUser(), ${${"GLOBALS"}["cmvugfpteo"]}, "running", time() + 300, 0, ${${"GLOBALS"}["qbrhynst"]});
 }
Example #3
0
 public function handleReturn(Exception $exp = null)
 {
     ${"GLOBALS"}["xhomifgcend"] = "exp";
     if (${${"GLOBALS"}["ersyqfm"]} === null) {
         if (isset($this->_objWorkflow)) {
             $this->checkUserQueue($this->_objWorkflow->getLastExecID());
             ${${"GLOBALS"}["idjaqwrixvz"]} = array("result" => "ready");
             ${${"GLOBALS"}["jbcvqlrloubk"]} = $this->_objWorkflow->getSuccessRedirection();
             if (${${"GLOBALS"}["jbcvqlrloubk"]} !== false) {
                 ${"GLOBALS"}["dqdsybzr"] = "result";
                 ${${"GLOBALS"}["dqdsybzr"]}["redirection"] = ${${"GLOBALS"}["jbcvqlrloubk"]};
                 ${${"GLOBALS"}["idjaqwrixvz"]}["redirection_target"] = $this->_objWorkflow->getSuccessRedirectionTarget();
             }
         } else {
             ${${"GLOBALS"}["idjaqwrixvz"]} = array("result" => "ready");
         }
         ${"GLOBALS"}["lburztt"] = "result";
         Workflow2::${${"GLOBALS"}["fiflovy"]} = false;
         die(json_encode(${${"GLOBALS"}["lburztt"]}));
     }
     ${"GLOBALS"}["bgnkrlnluya"] = "exp";
     if (${${"GLOBALS"}["xhomifgcend"]} instanceof \Workflow\RequestValuesException) {
         $svcmbeqp = "result";
         ${"GLOBALS"}["dvezbpy"] = "fields";
         ${${"GLOBALS"}["vyusgbxkhknd"]} = \Workflow\Queue::addEntry($exp->getTask(), $exp->getContext()->getUser(), $exp->getContext(), "static", false, 1, false);
         \Workflow\Userqueue::add("requestValue", ${${"GLOBALS"}["vyusgbxkhknd"]}, $exp->getMessage(), $this->_objWorkflow->getLastExecID(), array());
         $cvpulpbmvu = "fields";
         $nbyydxlevp = "enableError";
         ${$svcmbeqp} = array("result" => "ready");
         ${${"GLOBALS"}["dvezbpy"]} = $exp->getFields();
         foreach (${${"GLOBALS"}["vjvvxtyxgio"]} as ${${"GLOBALS"}["orcciwacpoo"]} => ${${"GLOBALS"}["bjudgmb"]}) {
             ${"GLOBALS"}["ihmbyreyp"] = "key";
             ${"GLOBALS"}["yxutovlkobh"] = "fields";
             ${"GLOBALS"}["uhzromvror"] = "value";
             ${${"GLOBALS"}["bjudgmb"]}["default"] = trim(\Workflow\VTTemplate::parse(${${"GLOBALS"}["uhzromvror"]}["default"], $this->_objWorkflow->getContext()));
             ${${"GLOBALS"}["yxutovlkobh"]}[${${"GLOBALS"}["ihmbyreyp"]}] = ${${"GLOBALS"}["bjudgmb"]};
         }
         Workflow2::${$nbyydxlevp} = false;
         die(json_encode(array("result" => "reqvalues", "request_message" => $exp->getMessage(), "fields_key" => $exp->getKey(), "execId" => $this->_objWorkflow->getLastExecID() . "##" . $exp->getTask()->getBlockId(), "fields" => ${$cvpulpbmvu})));
     }
     ${"GLOBALS"}["buukyxqqu"] = "enableError";
     Workflow2::error_handler(${${"GLOBALS"}["bgnkrlnluya"]});
     Workflow2::${${"GLOBALS"}["buukyxqqu"]} = false;
 }
Example #4
0
 public function handleExecutionStack()
 {
     ${"GLOBALS"}["vvdwifv"] = "sql";
     $ysboqcvvmqn = "sql";
     $yefjmqvhk = "result";
     global $adb;
     while (!$this->isEmptyExecutionStack()) {
         $vuwbyhrzj = "task";
         ${"GLOBALS"}["kifmpg"] = "sql";
         ${"GLOBALS"}["ufxsnqd"] = "currentBlockObj";
         $dbjqipfn = "sql";
         $vogwmjujihl = "return";
         ${$vuwbyhrzj} = $this->popExecutionStack();
         ${"GLOBALS"}["xqmksmwa"] = "currentBlock";
         ${"GLOBALS"}["nttgkbbdy"] = "start";
         $this->_execID = $task->getExecId();
         $bkfdycqd = "return";
         if (wfIsCli()) {
             echo "Start Block WF " . $this->_workflowID . " - " . $task->getBlockId() . "\n";
         }
         $task->setWorkflowId($this->_workflowID);
         ${${"GLOBALS"}["nttgkbbdy"]} = microtime(true);
         $this->_runCounter++;
         Workflow2::log($this->_context->getWsId(), $this->_workflowID, $task->getBlockId(), "  Start Block");
         Workflow2::${${"GLOBALS"}["xqmksmwa"]} = $task->getBlockId();
         $xqytwvo = "prevTask";
         Workflow2::${${"GLOBALS"}["ufxsnqd"]} = ${${"GLOBALS"}["xvljlxgvcmv"]};
         ${$bkfdycqd} = $task->handleTask($this->_context);
         if ($this->_context->getId() != $this->_origContextID) {
             ${"GLOBALS"}["iyyhcrfps"] = "task";
             throw new \Exception("A task [ID" . $task->getBlockId() . "] manipulate the Workflow Context Record. This is a bug. Please report and attach: [ERR13," . $this->_context->getId() . "," . $this->_origContextID . "," . get_class(${${"GLOBALS"}["iyyhcrfps"]}) . "]!");
         }
         Workflow2::${${"GLOBALS"}["crlzdxnru"]} = $task->getBlockId();
         Workflow2::log($this->_context->getWsId(), $this->_workflowID, $task->getBlockId(), "  Finish Block");
         ${${"GLOBALS"}["rkikzcpnm"]} = $task->getStat();
         if (!empty(${${"GLOBALS"}["rkikzcpnm"]})) {
             ${${"GLOBALS"}["qyhcfvm"]} = gzcompress(serialize(${${"GLOBALS"}["rkikzcpnm"]}), 4);
         } else {
             ${"GLOBALS"}["hehckanlbyo"] = "statBlob";
             ${${"GLOBALS"}["hehckanlbyo"]} = "";
         }
         ${${"GLOBALS"}["axeidqrnp"]} = $task->getPrevTask();
         ${$dbjqipfn} = "INSERT INTO vtiger_wf_log SET durationms = ?, execID = ?, blockID = ?, workflow_id = ?, timestamp = NOW(), lastBlockID = ?, crmid = ?, lastBlockOutput = ?, `data` = ?";
         $adb->pquery(${${"GLOBALS"}["kifmpg"]}, array((microtime(true) - ${${"GLOBALS"}["skvipzgj"]}) * 1000, $task->getExecId(), $task->getBlockId(), $this->_workflowID, ${$xqytwvo} != false ? $prevTask->getBlockId() : $task->getBlockId(), $this->_context->getId(), $task->getPrevOutput(), ${${"GLOBALS"}["qyhcfvm"]}));
         if (${$vogwmjujihl} !== false) {
             $whxsmcdtqed = "return";
             $xnsoymy = "return";
             ${"GLOBALS"}["yqvlat"] = "return";
             ${"GLOBALS"}["pvclrbbyo"] = "return";
             $vzqmrtbjeduk = "return";
             if (empty(${${"GLOBALS"}["pkdopgvbw"]})) {
                 ${${"GLOBALS"}["yqvlat"]} = false;
             }
             if (!is_array(${${"GLOBALS"}["pkdopgvbw"]}) && ${$whxsmcdtqed} !== false) {
                 ${$xnsoymy} = array(${${"GLOBALS"}["pvclrbbyo"]});
             }
             if (isset($_COOKIE["stefanDebug"]) && $_COOKIE["stefanDebug"] >= "1") {
                 ${"GLOBALS"}["jfpyigb"] = "return";
                 echo "Result:";
                 var_dump(${${"GLOBALS"}["jfpyigb"]});
                 echo "<br>";
             }
             if (!empty(${$vzqmrtbjeduk}["delay"])) {
                 $rvecnbracqp = "return";
                 ${"GLOBALS"}["slmjepijkss"] = "return";
                 $nxgntcyeqxsw = "return";
                 Queue::addEntry(${${"GLOBALS"}["xvljlxgvcmv"]}, $this->_user, $this->_context, ${${"GLOBALS"}["slmjepijkss"]}["checkmode"], ${$nxgntcyeqxsw}["delay"], !empty(${${"GLOBALS"}["pkdopgvbw"]}["locked"]) ? 1 : 0, !empty(${$rvecnbracqp}["field"]) ? ${${"GLOBALS"}["pkdopgvbw"]}["field"] : false);
                 continue;
             }
             if ($this->_runCounter < 150) {
                 $anxjxoorxli = "return";
                 ${"GLOBALS"}["vejlujbsbrts"] = "nextTasks";
                 ${${"GLOBALS"}["fkglgqgrnv"]} = $task->getNextTasks(${$anxjxoorxli});
                 ${${"GLOBALS"}["fkglgqgrnv"]} = array_reverse(${${"GLOBALS"}["vejlujbsbrts"]});
                 foreach (${${"GLOBALS"}["fkglgqgrnv"]} as ${${"GLOBALS"}["dnhhev"]}) {
                     $ssztcc = "nextTask";
                     $this->pushExecutionStack(${$ssztcc});
                 }
             }
         }
     }
     ${${"GLOBALS"}["vvdwifv"]} = "SELECT id FROM vtiger_wf_queue WHERE execID = '" . $this->_execID . "'";
     ${$yefjmqvhk} = $adb->query(${$ysboqcvvmqn}, true);
     if ($adb->num_rows(${${"GLOBALS"}["jegtsurybn"]}) == 0) {
         $this->_context->unlinkTempFiles($this->_execID);
     }
     $this->_context->save();
     restore_error_handler();
 }
Example #5
0
 public function requestValues($key, $FormGeneratorExport, \Workflow\Task $task, $message, \Workflow\VTEntity $context, $stoppable = false, $pausable = true)
 {
     $mndrwhpuj = "task";
     ${"GLOBALS"}["kbujsddy"] = "key";
     ${${"GLOBALS"}["kwdblthgt"]} = \Workflow\Queue::addEntry(${$mndrwhpuj}, $context->getUser(), ${${"GLOBALS"}["bbubyao"]}, "static", false, 1, false);
     ${"GLOBALS"}["dcchgyp"] = "message";
     $offyxyihf = "FormGeneratorExport";
     $nkajnsmoki = "stoppable";
     \Workflow\Userqueue::add("requestValue", ${${"GLOBALS"}["kwdblthgt"]}, ${${"GLOBALS"}["vlxiew"]}, $task->getExecId(), array("result" => "reqvalues", "request_message" => ${${"GLOBALS"}["dcchgyp"]}, "stoppable" => ${$nkajnsmoki}, "crmId" => $context->getId(), "blockId" => $task->getBlockId(), "fields_key" => ${${"GLOBALS"}["kbujsddy"]}, "execId" => $task->getExecId() . "##" . $task->getBlockId(), "handler" => "\\Workflow\\Preset\\FormGenerator", "handlerConfig" => ${$offyxyihf}, "pausable" => ${${"GLOBALS"}["imlegs"]}));
 }