Fix error on a redirect page with no link
https://lists.sr.ht/~cadence/breezewiki-discuss/%3CCY2G0E3G55N3.ANW2QREUS5SO%40nixnetmail.com%3E
This commit is contained in:
parent
b8ccd6cc3e
commit
8c914a22c3
2 changed files with 12 additions and 6 deletions
|
@ -124,16 +124,19 @@
|
||||||
#:head-data head-data
|
#:head-data head-data
|
||||||
#:siteinfo (siteinfo-fetch wikiname)
|
#:siteinfo (siteinfo-fetch wikiname)
|
||||||
))
|
))
|
||||||
(define redirect-msg ((query-selector (attribute-selector 'class "redirectMsg") body)))
|
|
||||||
(define redirect-query-parameter (dict-ref (url-query (request-uri req)) 'redirect "yes"))
|
(define redirect-query-parameter (dict-ref (url-query (request-uri req)) 'redirect "yes"))
|
||||||
|
(define redirect-msg ((query-selector (attribute-selector 'class "redirectMsg") body)))
|
||||||
|
(define redirect-msg-a (if redirect-msg
|
||||||
|
((query-selector (λ (t a c) (eq? t 'a)) redirect-msg))
|
||||||
|
#f))
|
||||||
(define headers
|
(define headers
|
||||||
(build-headers
|
(build-headers
|
||||||
always-headers
|
always-headers
|
||||||
; redirect-query-parameter: only the string "no" is significant:
|
; redirect-query-parameter: only the string "no" is significant:
|
||||||
; https://github.com/Wikia/app/blob/fe60579a53f16816d65dad1644363160a63206a6/includes/Wiki.php#L367
|
; https://github.com/Wikia/app/blob/fe60579a53f16816d65dad1644363160a63206a6/includes/Wiki.php#L367
|
||||||
(when (and redirect-msg
|
(when (and redirect-msg-a
|
||||||
(not (equal? redirect-query-parameter "no")))
|
(not (equal? redirect-query-parameter "no")))
|
||||||
(let* ([dest (get-attribute 'href (bits->attributes ((query-selector (λ (t a c) (eq? t 'a)) redirect-msg))))]
|
(let* ([dest (get-attribute 'href (bits->attributes redirect-msg-a))]
|
||||||
[value (bytes-append #"0;url=" (string->bytes/utf-8 dest))])
|
[value (bytes-append #"0;url=" (string->bytes/utf-8 dest))])
|
||||||
(header #"Refresh" value)))))
|
(header #"Refresh" value)))))
|
||||||
(when (config-true? 'debug)
|
(when (config-true? 'debug)
|
||||||
|
|
|
@ -80,16 +80,19 @@
|
||||||
#:title title
|
#:title title
|
||||||
#:head-data head-data
|
#:head-data head-data
|
||||||
#:siteinfo siteinfo))
|
#:siteinfo siteinfo))
|
||||||
(define redirect-msg ((query-selector (attribute-selector 'class "redirectMsg") body)))
|
|
||||||
(define redirect-query-parameter (dict-ref (url-query (request-uri req)) 'redirect "yes"))
|
(define redirect-query-parameter (dict-ref (url-query (request-uri req)) 'redirect "yes"))
|
||||||
|
(define redirect-msg ((query-selector (attribute-selector 'class "redirectMsg") body)))
|
||||||
|
(define redirect-msg-a (if redirect-msg
|
||||||
|
((query-selector (λ (t a c) (eq? t 'a)) redirect-msg))
|
||||||
|
#f))
|
||||||
(define headers
|
(define headers
|
||||||
(build-headers
|
(build-headers
|
||||||
always-headers
|
always-headers
|
||||||
; redirect-query-parameter: only the string "no" is significant:
|
; redirect-query-parameter: only the string "no" is significant:
|
||||||
; https://github.com/Wikia/app/blob/fe60579a53f16816d65dad1644363160a63206a6/includes/Wiki.php#L367
|
; https://github.com/Wikia/app/blob/fe60579a53f16816d65dad1644363160a63206a6/includes/Wiki.php#L367
|
||||||
(when (and redirect-msg
|
(when (and redirect-msg-a
|
||||||
(not (equal? redirect-query-parameter "no")))
|
(not (equal? redirect-query-parameter "no")))
|
||||||
(let* ([dest (get-attribute 'href (bits->attributes ((query-selector (λ (t a c) (eq? t 'a)) redirect-msg))))]
|
(let* ([dest (get-attribute 'href (bits->attributes redirect-msg-a))]
|
||||||
[value (bytes-append #"0;url=" (string->bytes/utf-8 dest))])
|
[value (bytes-append #"0;url=" (string->bytes/utf-8 dest))])
|
||||||
(header #"Refresh" value)))))
|
(header #"Refresh" value)))))
|
||||||
(when (config-true? 'debug)
|
(when (config-true? 'debug)
|
||||||
|
|
Loading…
Reference in a new issue