Пример #1
0
 function InstallDB($arParams = array())
 {
     global $DB, $DBType, $APPLICATION;
     $this->errors = false;
     // Database tables creation
     $bDBInstall = !$DB->Query("SELECT 'x' FROM b_workflow_document WHERE 1=0", true);
     if ($bDBInstall) {
         $this->errors = $DB->RunSQLBatch($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/workflow/install/db/" . $DBType . "/install.sql");
     }
     if ($this->errors !== false) {
         $APPLICATION->ThrowException(implode("<br>", $this->errors));
         return false;
     } else {
         RegisterModule("workflow");
         CModule::IncludeModule("workflow");
         if ($bDBInstall) {
             $obWorkflowStatus = new CWorkflowStatus();
             $obWorkflowStatus->Add(array("~TIMESTAMP_X" => $DB->GetNowFunction(), "C_SORT" => 300, "ACTIVE" => "Y", "TITLE" => GetMessage("FLOW_INSTALL_PUBLISHED"), "IS_FINAL" => "Y", "NOTIFY" => "N"));
             $obWorkflowStatus->Add(array("~TIMESTAMP_X" => $DB->GetNowFunction(), "C_SORT" => 100, "ACTIVE" => "Y", "TITLE" => GetMessage("FLOW_INSTALL_DRAFT"), "IS_FINAL" => "N", "NOTIFY" => "N"));
             $obWorkflowStatus->Add(array("~TIMESTAMP_X" => $DB->GetNowFunction(), "C_SORT" => 200, "ACTIVE" => "Y", "TITLE" => GetMessage("FLOW_INSTALL_READY"), "IS_FINAL" => "N", "NOTIFY" => "Y"));
         }
         RegisterModuleDependences("main", "OnPanelCreate", "workflow", "CWorkflow", "OnPanelCreate", "200");
         RegisterModuleDependences("main", "OnChangeFile", "workflow", "CWorkflow", "OnChangeFile");
         //agents
         CAgent::RemoveAgent("CWorkflow::CleanUp();", "workflow");
         CAgent::AddAgent("CWorkflow::CleanUp();", "workflow", "N");
         return true;
     }
 }
Пример #2
0
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/workflow/include.php";
IncludeModuleLangFile(__FILE__);
define("HELP_FILE", "workflow_status_list.php");
$ID = intval($ID);
$message = false;
$aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("FLOW_EDIT_RECORD"), "ICON" => "workflow_edit", "TITLE" => GetMessage("FLOW_EDIT_RECORD")));
$tabControl = new CAdminTabControl("tabControl", $aTabs);
if ((strlen($save) > 0 || strlen($apply) > 0) && $REQUEST_METHOD == "POST" && $WORKFLOW_RIGHT == "W" && check_bitrix_sessid()) {
    $obWorkflowStatus = new CWorkflowStatus();
    $arFields = array("~TIMESTAMP_X" => $DB->GetNowFunction(), "C_SORT" => $C_SORT, "ACTIVE" => $ACTIVE != "Y" ? "N" : "Y", "TITLE" => $TITLE, "DESCRIPTION" => $DESCRIPTION, "NOTIFY" => $NOTIFY != "Y" ? "N" : "Y");
    if ($ID > 0) {
        $res = $obWorkflowStatus->Update($ID, $arFields);
    } else {
        $ID = $obWorkflowStatus->Add($arFields);
        $res = $ID > 0;
    }
    if ($res) {
        $obWorkflowStatus->SetPermissions($ID, $arPERMISSION_M, 1);
        $obWorkflowStatus->SetPermissions($ID, $arPERMISSION_E, 2);
        if ($apply != "") {
            LocalRedirect("/bitrix/admin/workflow_status_edit.php?ID=" . $ID . "&lang=" . LANG . "&" . $tabControl->ActiveTabParam());
        } else {
            LocalRedirect("/bitrix/admin/workflow_status_list.php?lang=" . LANG);
        }
    } else {
        if ($e = $APPLICATION->GetException()) {
            $message = new CAdminMessage(GetMessage("FLOW_ERROR"), $e);
        }
    }