Пример #1
0
			GET | POST handlers
****************************************************************************/
// there is document ID
if ($ID > 0 && check_bitrix_sessid()) {
    // check if document exists in database
    $z = $DB->Query("SELECT ID FROM b_workflow_document WHERE ID = " . intval($ID), false, $err_mess . __LINE__);
    if (!($zr = $z->Fetch())) {
        require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
        $aMenu = array(array("ICON" => "btn_list", "TEXT" => GetMessage("FLOW_RECORDS_LIST"), "LINK" => "workflow_list.php?lang=" . LANGUAGE_ID, "TITLE" => GetMessage("FLOW_RECORDS_LIST")));
        $context = new CAdminContextMenu($aMenu);
        $context->Show();
        CAdminMessage::ShowMessage(GetMessage("FLOW_DOCUMENT_NOT_FOUND"));
        require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
        die;
    } else {
        $filename = CWorkflow::GetUniquePreview($ID);
        // save preview file
        $z = CWorkflow::GetByID($ID);
        $zr = $z->Fetch();
        $prolog = $zr["PROLOG"];
        if (strlen($prolog) > 0) {
            $title = $zr["TITLE"];
            $prolog = SetPrologTitle($prolog, $title);
        }
        $content = $zr["BODY_TYPE"] == "text" ? TxtToHTML($zr["BODY"]) : $zr["BODY"];
        $epilog = $zr["EPILOG"];
        $filesrc = $prolog . PathToWF($content, $ID) . $epilog;
        SavePreviewContent($_SERVER["DOCUMENT_ROOT"] . $filename, $filesrc);
        // store file to database
        $arFields = array("DOCUMENT_ID" => $ID, "TIMESTAMP_X" => $DB->GetNowFunction(), "FILENAME" => "'" . $DB->ForSql($filename, 255) . "'");
        $DB->Insert("b_workflow_preview", $arFields, $err_mess . __LINE__);