X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=web-utils.lisp;h=da7d6b73918bdd50e21b27c9be90628eec154c54;hp=40cb04018bed71dfd1883a0c09880261a7eda2f3;hb=86a868a95313178cdc7a83d35856ccf5c2cf315f;hpb=5a98249634e8c85ca4a84d47d35204847440125b diff --git a/web-utils.lisp b/web-utils.lisp index 40cb040..da7d6b7 100644 --- a/web-utils.lisp +++ b/web-utils.lisp @@ -45,7 +45,7 @@ (defun base-url! (url) (setq *base-url* url)) -(defun make-url (page-name &key (base-dir *base-url*) (format :html) (vars nil)) +(defun make-url (page-name &key (base-dir *base-url*) (format :html) vars anchor) (let ((amp (case format (:html "&") @@ -56,34 +56,18 @@ (if vars (let ((first-var (first vars))) (concatenate 'string - "?" (car first-var) "=" (cadr first-var) + "?" (car first-var) "=" (cdr first-var) (mapcar-append-string #'(lambda (var) - (when (and (car var) (cadr var)) + (when (and (car var) (cdr var)) (concatenate 'string - amp (car var) "=" (cadr var)))) + amp (string-downcase (car var)) "=" (cdr var)))) (rest vars)))) + "") + (if anchor + (concatenate 'string "#" anchor) "")))) -(defun make-url-new (page-name &key (base-dir *base-url*) (format :html) - (vars nil)) - (let ((amp (ecase format - (:html "&") - ((:xml :ie-xml) "&")))) - (concatenate 'string - base-dir page-name - (if vars - (let ((first-var (first vars))) - (concatenate 'string - "?" (car first-var) "=" (cadr first-var) - (mapcar-append-string - #'(lambda (var) - (when (and (car var) (cadr var)) - (concatenate 'string - amp (car var) "=" (cadr var)))) - (rest vars)))) - "")))) - (defun decode-uri-query-string (s) "Decode a URI query string field" (declare (simple-string s)