Overview
Comment:Added method to get all input keys. Made get from forms be liberal and take either string or symbol
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | selfcontained
Files: files | file ages | folders
SHA1: a7378b56d41a1ac43a500b9516ed98b6409b9534
User & Date: matt on 2014-04-17 06:26:40
Other Links: branch diff | manifest | tags
Context
2014-09-03
05:46
Converted to using openssl for crypt. Added type checks to password compare to fix empty password compare failing check-in: 1936d7e2b4 user: matt tags: selfcontained
2014-04-17
06:26
Added method to get all input keys. Made get from forms be liberal and take either string or symbol check-in: a7378b56d4 user: matt tags: selfcontained
2013-11-18
06:24
Added note to makefile on compiling on bluehost check-in: 6dcf12e9a9 user: kiatoaco tags: selfcontained
Changes

Modified formdat.scm from [24de706a4e] to [5b06a4d3e0].

31
32
33
34
35
36
37
38







39
40
41
42
43
44
45
31
32
33
34
35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51







-
+
+
+
+
+
+
+







(define-inline (formdat:formdat-get-data   vec)    (vector-ref  vec 0))
(define-inline (formdat:formdat-set-data!  vec val)(vector-set! vec 0 val))

(define (formdat:initialize self)
  (formdat:formdat-set-data! self (make-hash-table)))

(define (formdat:get self key)
  (hash-table-ref/default (formdat:formdat-get-data self) key #f))
  (hash-table-ref/default 
   (formdat:formdat-get-data self)
   (cond 
    ((symbol? key) key)
    ((string? key) (string->symbol key))
    (else key))
   #f))

;; change to convert data to list and append val if already exists
;; or is a list
(define (formdat:set! self key val)
  (let ((prev-val (formdat:get self key))
        (ht       (formdat:formdat-get-data self)))
    (if prev-val

Modified session.scm from [4f8d6422ab] to [c6e3f73d0d].

728
729
730
731
732
733
734










735
736
737
738
739
740
741
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751







+
+
+
+
+
+
+
+
+
+







	(if (or (string? key)(number? key)(symbol? key))
	    (if (and (vector? formdat)(eq? (vector-length formdat) 1)(hash-table? (vector-ref formdat 0)))
		(formdat:get formdat key)
		(begin
		  (session:log self "ERROR: formdat: " formdat " is not of class <formdat>")
		  #f))
	    (session:log self "ERROR: bad key " key)))))

;; This one will get the first value found regardless of form
(define (session:get-input-keys self)
  (let* ((formdat (sdat-get-formdat self)))
    (if (not formdat) #f
	(if (and (vector? formdat)(eq? (vector-length formdat) 1)(hash-table? (vector-ref formdat 0)))
	    (formdat:keys formdat)
	    (begin
	      (session:log self "ERROR: formdat: " formdat " is not of class <formdat>")
	      #f)))))

(define (session:run-actions self)
  (let* ((action    (session:get-param self 'action))
	 (page      (sdat-get-page self)))
    ;; (print "action=" action " page=" page)
    (if action
	(let ((action-lst  (string-split action ".")))

Modified setup.scm from [2f0f47315f] to [e52dd0f926].

87
88
89
90
91
92
93



94
95
96
97
98
99
100
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103







+
+
+







  (sdat-get-sessionvars s:session))

;; inputs
;;
(define (s:get-input key)
  (session:get-input s:session key))

(define (s:get-input-keys)
  (session:get-input-keys s:session))

(define (s:load-model model)
  (session:load-model s:session model))

(define (s:model-path model)
  (session:model-path s:session model))

;; share data between pages calls. NOTE: This is not persistent