X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=web-utils.lisp;h=1614fe4fa33703501a03bdf859596db8b5474159;hp=0f41c1275fec17e8b58ffcf9fc1ceff9afeaffd5;hb=4a5b626f01db51b02f969adb33ddad6aa9ee303a;hpb=45326a2fd9e7761899d593d7f528abf455453b0b diff --git a/web-utils.lisp b/web-utils.lisp index 0f41c12..1614fe4 100644 --- a/web-utils.lisp +++ b/web-utils.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: web-utils.lisp,v 1.9 2002/10/18 05:14:49 kevin Exp $ +;;;; $Id: web-utils.lisp,v 1.10 2003/06/06 21:59:30 kevin Exp $ ;;;; ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -16,8 +16,7 @@ ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(in-package :kmrcl) -(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))) +(in-package #:kmrcl) ;;; HTML/XML constants @@ -65,3 +64,22 @@ amp (car var) "=" (cadr var)))) (rest vars)))) "")))) + +(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)))) + ""))))