r10227: updates from phoview@lynx
[kmrcl.git] / web-utils.lisp
index 40cb04018bed71dfd1883a0c09880261a7eda2f3..da7d6b73918bdd50e21b27c9be90628eec154c54 100644 (file)
@@ -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
                "&")
       (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)