function doWorkflowAction($idartlang, $action) { global $cfg, $idcat; switch ($action) { case "last": $artAllocations = new WorkflowArtAllocations(); $artAllocations->select("idartlang = '{$idartlang}'"); if ($obj = $artAllocations->next()) { $usersequence = new WorkflowUserSequence(); $usersequence->loadByPrimaryKey($obj->get("idusersequence")); $workflowitem = $usersequence->getWorkflowItem(); $idworkflow = $workflowitem->get("idworkflow"); $newpos = $workflowitem->get("position") - 1; if ($newpos < 1) { $newpos = 1; } $workflowitems = new WorkflowItems(); $workflowitems->select("idworkflow = '{$idworkflow}' AND position = '" . Contenido_Security::escapeDB($newpos, NULL) . "'"); if ($nextObj = $workflowitems->next()) { $userSequences = new WorkflowUserSequences(); $idworkflowitem = $nextObj->get("idworkflowitem"); $userSequences->select("idworkflowitem = '{$idworkflowitem}'"); if ($nextSeqObj = $userSequences->next()) { $obj->set("lastusersequence", $obj->get("idusersequence")); $obj->set("idusersequence", $nextSeqObj->get("idusersequence")); $obj->set("laststatus", "last"); $obj->store(); } } } break; case "next": $artAllocations = new WorkflowArtAllocations(); $artAllocations->select("idartlang = '{$idartlang}'"); if ($obj = $artAllocations->next()) { $usersequence = new WorkflowUserSequence(); $usersequence->loadByPrimaryKey($obj->get("idusersequence")); $workflowitem = $usersequence->getWorkflowItem(); $idworkflow = $workflowitem->get("idworkflow"); $newpos = $workflowitem->get("position") + 1; $workflowitems = new WorkflowItems(); $workflowitems->select("idworkflow = '{$idworkflow}' AND position = '" . Contenido_Security::escapeDB($newpos, NULL) . "'"); if ($nextObj = $workflowitems->next()) { $userSequences = new WorkflowUserSequences(); $idworkflowitem = $nextObj->get("idworkflowitem"); $userSequences->select("idworkflowitem = '{$idworkflowitem}'"); if ($nextSeqObj = $userSequences->next()) { $obj->set("lastusersequence", '10'); $obj->set("idusersequence", $nextSeqObj->get("idusersequence")); $obj->set("laststatus", "confirm"); $obj->store(); } } else { $workflowitems->select("idworkflow = '{$idworkflow}' AND position = '" . Contenido_Security::escapeDB($workflowitem->get("position"), NULL) . "'"); if ($nextObj = $workflowitems->next()) { $userSequences = new WorkflowUserSequences(); $idworkflowitem = $nextObj->get("idworkflowitem"); $userSequences->select("idworkflowitem = '{$idworkflowitem}'"); if ($nextSeqObj = $userSequences->next()) { $obj->set("lastusersequence", $obj->get("idusersequence")); $obj->set("idusersequence", $nextSeqObj->get("idusersequence")); $obj->set("laststatus", "confirm"); $obj->store(); } } } } break; case "reject": $artAllocations = new WorkflowArtAllocations(); $artAllocations->select("idartlang = '{$idartlang}'"); if ($obj = $artAllocations->next()) { $usersequence = new WorkflowUserSequence(); $usersequence->loadByPrimaryKey($obj->get("idusersequence")); $workflowitem = $usersequence->getWorkflowItem(); $idworkflow = $workflowitem->get("idworkflow"); $newpos = 1; $workflowitems = new WorkflowItems(); $workflowitems->select("idworkflow = '{$idworkflow}' AND position = '" . Contenido_Security::escapeDB($newpos, NULL) . "'"); if ($nextObj = $workflowitems->next()) { $userSequences = new WorkflowUserSequences(); $idworkflowitem = $nextObj->get("idworkflowitem"); $userSequences->select("idworkflowitem = '{$idworkflowitem}'"); if ($nextSeqObj = $userSequences->next()) { $obj->set("lastusersequence", $obj->get("idusersequence")); $obj->set("idusersequence", $nextSeqObj->get("idusersequence")); $obj->set("laststatus", "reject"); $obj->store(); } } } break; case "revise": $db = new DB_Contenido(); $sql = "SELECT idart, idlang FROM " . $cfg["tab"]["art_lang"] . " WHERE idartlang = '" . Contenido_Security::escapeDB($idartlang, $db) . "'"; $db->query($sql); $db->next_record(); $idart = $db->f("idart"); $idlang = $db->f("idlang"); $newidart = conCopyArticle($idart, $idcat, "foo"); break; default: } }
* * $Id$ * }} * */ define('CON_FRAMEWORK', true); // Contenido startup process include_once '../../../includes/startup.php'; cInclude("includes", "cfg_language_de.inc.php"); cInclude("includes", "functions.con.php"); plugin_include('workflow', 'classes/class.workflow.php'); plugin_include('workflow', 'includes/functions.workflow.php'); $workflowartallocations = new WorkflowArtAllocations(); $workflowusersequences = new WorkflowUserSequences(); $workflowartallocations->select(); while ($obj = $workflowartallocations->next()) { $starttime = $obj->get("starttime"); $idartlang = $obj->get("idartlang"); $lastidusersequence = $obj->get("lastusersequence"); $usersequence = getCurrentUserSequence($idartlang, 0); if ($usersequence != $lastidusersequence) { $workflowusersequences->select("idusersequence = '{$usersequence}'"); if ($wfobj = $workflowusersequences->next()) { $wfitem = $wfobj->get("idworkflowitem"); $pos = $wfobj->get("position"); $timeunit = $wfobj->get("timeunit"); $timelimit = $wfobj->get("timelimit"); } $starttime = strtotime(substr_replace(substr(substr($starttime, 0, 2) . chunk_split(substr($starttime, 2, 6), 2, "-") . chunk_split(substr($starttime, 8), 2, ":"), 0, 19), " ", 10, 1)); switch ($timeunit) { case "Seconds":
$wfu = new WorkflowUserSequences(); $users = new User(); $db2 = new DB_Contenido(); ob_start(); if ($usershow == "") { $usershow = $auth->auth["uid"]; } if (!$perm->have_perm_area_action($area, "workflow_task_user_select")) { $usershow = $auth->auth["uid"]; } if ($action == "workflow_do_action") { $selectedAction = "wfselect" . $modidartlang; doWorkflowAction($modidartlang, $GLOBALS[$selectedAction]); } $wfa->select(); while ($wfaitem = $wfa->next()) { $wfaid = $wfaitem->get("idartallocation"); $usersequence[$wfaid] = $wfaitem->get("idusersequence"); $lastusersequence[$wfaid] = $wfaitem->get("lastusersequence"); $article[$wfaid] = $wfaitem->get("idartlang"); } if (is_array($usersequence)) { foreach ($usersequence as $key => $value) { $wfu->select("idusersequence = '{$value}'"); if ($obj = $wfu->next()) { $userids[$key] = $obj->get("iduser"); } } } if (is_array($userids)) { foreach ($userids as $key => $value) {