function getCurrentUserSequence($idartlang, $defaultidworkflow) { $wfaa = new WorkflowArtAllocations(); $wfaa->select("idartlang = '{$idartlang}'"); $idusersequence = 0; if ($associatedUserSequence = $wfaa->next()) { $idusersequence = $associatedUserSequence->get("idusersequence"); } if ($idusersequence == 0) { if ($associatedUserSequence != false) { $newObj = $associatedUserSequence; } else { $newObj = $wfaa->create($idartlang); if (!$newObj) { /* Try to load */ $newObj = new WorkflowArtAllocation(); echo $wfaa->lasterror; return false; } } /* Get the first idusersequence for the new item */ $workflowItems = new WorkflowItems(); $workflowItems->select("idworkflow = '{$defaultidworkflow}' AND position = '1'"); if ($obj = $workflowItems->next()) { $firstitem = $obj->get("idworkflowitem"); } $workflowUserSequences = new WorkflowUserSequences(); $workflowUserSequences->select("idworkflowitem = '{$firstitem}' AND position = '1'"); if ($obj = $workflowUserSequences->next()) { $firstIDUserSequence = $obj->get("idusersequence"); } $newObj->set("idusersequence", $firstIDUserSequence); $newObj->store(); $idusersequence = $newObj->get("idusersequence"); $associatedUserSequence = $newObj; } return $idusersequence; }