Skip to content

Commit

Permalink
fixed redirect of news
Browse files Browse the repository at this point in the history
  • Loading branch information
peterstadler committed Jun 20, 2014
1 parent d2a0b35 commit dcd1ebc
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
2 changes: 1 addition & 1 deletion controller.xql
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ else if (matches($exist:path, '^/A00\d{4}/?$')) then
controller:redirect-docID($exist-vars, $exist:resource)

(: Andere Dokumenten - Weiterleitung :)
else if (matches($exist:path, '^/(de/|en/)?A\d{6}/?$') and config:get-doctype-by-id($exist:resource) ne 'persons') then
else if (matches($exist:path, '^/(de/|en/)?A0[3456]\d{4}/?$')) then
controller:redirect-docID($exist-vars, $exist:resource)

(: Personen - Briefliste :)
Expand Down
10 changes: 6 additions & 4 deletions modules/controller.xqm
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ declare function controller:redirect-docID($exist-vars as map(*), $requestID as
let $doc := core:doc($requestID)
let $docID := $doc/tei:*/string(@xml:id)
let $docType := config:get-doctype-by-id($docID) (: Die originale Darstellung der doctypes, also 'persons', 'letters' etc:)
let $displayName := controller:display-name($exist-vars, $docType, 'persons') (: Die Darstellung als URL, also 'Korrespondenz', 'Tagebücher' etc. :)
let $displayName := controller:display-name($exist-vars, $docType) (: Die Darstellung als URL, also 'Korrespondenz', 'Tagebücher' etc. :)
let $authorID := wega:getAuthorOfTeiDoc($doc)
return
if($docType eq 'persons') then controller:redirect-absolute($docID, $exist-vars('lang'))
Expand All @@ -79,10 +79,12 @@ declare function controller:error($exist-vars as map(*), $errorCode as xs:int) {
:
: @author Peter Stadler
:)
declare %private function controller:display-name($exist-vars as map(*), $docType as xs:string, $menuID as xs:string) as xs:string {
let $menu := doc(config:get-option('menusFile'))//id($menuID)
declare %private function controller:display-name($exist-vars as map(*), $docType as xs:string) as xs:string {
let $displayName :=
if($docType eq 'letters') then 'correspondence'
else $docType
return
encode-for-uri(lang:get-language-string($menu/entry[docType = $docType]/string(displayName), $exist-vars('lang')))
encode-for-uri(lang:get-language-string($displayName, $exist-vars('lang')))
};

(:
Expand Down

0 comments on commit dcd1ebc

Please sign in to comment.