Exemplo n.º 1
0
 function GetByFilename($FILENAME, $SITE_ID, $arFilter = false)
 {
     if (!is_array($arFilter)) {
         $arFilter = array("!STATUS_ID" => 1);
     }
     $obQueryWhere = new CSQLWhere();
     $obQueryWhere->SetFields(array("STATUS_ID" => array("TABLE_ALIAS" => "D", "FIELD_NAME" => "D.STATUS_ID", "FIELD_TYPE" => "int", "JOIN" => false)));
     $strSqlWhere = $obQueryWhere->GetQuery($arFilter);
     $err_mess = CWorkflowStatus::err_mess() . "<br>Function: GetByFilename<br>Line: ";
     global $DB, $USER;
     $MAX_LOCK = intval(COption::GetOptionString("workflow", "MAX_LOCK_TIME", "60"));
     $uid = intval($USER->GetID());
     $strSql = "\n\t\t\tSELECT\n\t\t\t\tD.*,\n\t\t\t\t" . $DB->DateToCharFunction("D.DATE_ENTER") . " DATE_ENTER,\n\t\t\t\t" . $DB->DateToCharFunction("D.DATE_MODIFY") . " DATE_MODIFY,\n\t\t\t\t" . $DB->DateToCharFunction("D.DATE_LOCK") . " DATE_LOCK,\n\t\t\t\tconcat('(',UM.LOGIN,') ',ifnull(UM.NAME,''),' ',ifnull(UM.LAST_NAME,'')) MUSER_NAME,\n\t\t\t\tconcat('(',UE.LOGIN,') ',ifnull(UE.NAME,''),' ',ifnull(UE.LAST_NAME,'')) EUSER_NAME,\n\t\t\t\tconcat('(',UL.LOGIN,') ',ifnull(UL.NAME,''),' ',ifnull(UL.LAST_NAME,'')) LUSER_NAME,\n\t\t\t\tS.TITLE STATUS_TITLE,\n\t\t\t\tif (D.DATE_LOCK is null, 'green',\n\t\t\t\t\tif(DATE_ADD(D.DATE_LOCK, interval {$MAX_LOCK} MINUTE)<now(), 'green',\n\t\t\t\t\t\tif(D.LOCKED_BY={$uid}, 'yellow', 'red'))) LOCK_STATUS\n\t\t\tFROM\n\t\t\t\tb_workflow_document D\n\t\t\t\tLEFT JOIN b_user UM ON (UM.ID = D.MODIFIED_BY)\n\t\t\t\tLEFT JOIN b_user UE ON (UE.ID = D.ENTERED_BY)\n\t\t\t\tLEFT JOIN b_user UL ON (UL.ID = D.LOCKED_BY)\n\t\t\t\tLEFT JOIN b_workflow_status S ON (S.ID = D.STATUS_ID)\n\t\t\tWHERE\n\t\t\t\tSITE_ID = '" . $DB->ForSql($SITE_ID, 2) . "'\n\t\t\t\tAND D.FILENAME = '" . $DB->ForSql($FILENAME, 255) . "'\n\t\t\t\t" . ($strSqlWhere ? "AND " . $strSqlWhere : "") . "\n\t\t";
     $res = $DB->Query($strSql, false, $err_mess . __LINE__);
     return $res;
 }
Exemplo n.º 2
0
 function SetPermissions($STATUS_ID, $arGroups, $PERMISSION_TYPE = 1)
 {
     global $DB;
     $STATUS_ID = intval($STATUS_ID);
     $PERMISSION_TYPE = intval($PERMISSION_TYPE);
     $err_mess = CWorkflowStatus::err_mess() . "<br>Function: SetPermissions<br>Line: ";
     $DB->Query("DELETE FROM b_workflow_status2group WHERE STATUS_ID = " . $STATUS_ID . " AND PERMISSION_TYPE = " . $PERMISSION_TYPE, false, $err_mess . __LINE__);
     if (is_array($arGroups) && ($PERMISSION_TYPE == 1 || $PERMISSION_TYPE == 2)) {
         foreach ($arGroups as $GROUP_ID) {
             $GROUP_ID = intval($GROUP_ID);
             $arFields = array("STATUS_ID" => $STATUS_ID, "GROUP_ID" => $GROUP_ID, "PERMISSION_TYPE" => $PERMISSION_TYPE);
             $DB->Insert("b_workflow_status2group", $arFields, $err_mess . __LINE__);
         }
     }
 }
Exemplo n.º 3
0
 function GetNextSort()
 {
     $err_mess = CWorkflowStatus::err_mess() . "<br>Function: GetNextSort<br>Line: ";
     global $DB;
     $strSql = "SELECT max(C_SORT) MAX_SORT FROM b_workflow_status";
     $z = $DB->Query($strSql, false, $err_mess . __LINE__);
     $zr = $z->Fetch();
     return intval($zr["MAX_SORT"]) + 100;
 }