(: : Copyright (c) 2004 raff@aromatic.org : original source: xfaqtor (see following copyright) : : : Copyright (c) 2004 Mark Logic Corporation : : Licensed under the Apache License, Version 2.0 (the "License"); : you may not use this file except in compliance with the License. : You may obtain a copy of the License at : : http://www.apache.org/licenses/LICENSE-2.0 : : Unless required by applicable law or agreed to in writing, software : distributed under the License is distributed on an "AS IS" BASIS, : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. : See the License for the specific language governing permissions and : limitations under the License. : : The use of the Apache License does not indicate that this project is : affiliated with the Apache Software Foundation. :) import module "http://www.w3.org/2003/05/xpath-functions" at "xqlog-lib.xqy" import module "http://www.w3.org/2003/05/xpath-functions" at "xqlog-display.xqy" if (not(is-login())) then xdmp:redirect-response("login.xqy") else xdmp:set-response-content-type("text/html"), {get-title()}

Edit log

{ let $title := xdmp:get-request-field("title") let $content := xdmp:get-request-field("content") (: Get the old category, then try getting the new category with the first :) (: value acting as a fallback default. :) let $category := xdmp:get-request-field("old-category", "") let $category := if ($category = "") then xdmp:get-request-field("new-category", "") else $category let $logid := xdmp:get-request-field("logid") let $state := xdmp:get-request-field("state", "") let $cancel := xdmp:get-request-field("cancel") return (: Do some input data checking :) if ($cancel) then xdmp:redirect-response("admin.xqy") else if ($logid = "") then
The 'logid' parameter is missing
{ print-go-home() }
else if (not($logid castable as xs:integer)) then
The 'logid' parameter must be an integer
{ print-go-home() }
else if (normalize-space($title) = "") then
No title provided
{ print-go-admin() }
else if (normalize-space($content) = "") then
No content provided
{ print-go-admin() }
else if ($category = "") then
No category provided
{ print-go-admin() }
else let $log := get-log(xs:integer($logid)) return if (empty($log)) then
Log id '{ $logid }' unknown
{ print-go-admin() }
else let $chg := change-log($log, $category, $title, $content, $state) return
Your changes have been made.
{ print-go-admin() }
}