Overview
Comment:completed support for switching from pages/<pagename>_(view|ctrl).scm or pages/<pagename>/(view|control).scm
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7836d134f76a5f2a85852f2f427d9e3f8d06789e
User & Date: matt on 2011-05-23 00:27:48
Other Links: manifest | tags
Context
2011-05-24
02:44
checking in minor output clean up check-in: 00c7439634 user: matt tags: trunk
2011-05-23
00:27
completed support for switching from pages/<pagename>_(view|ctrl).scm or pages/<pagename>/(view|control).scm check-in: 7836d134f7 user: matt tags: trunk
2011-05-22
21:13
Added support for putting pages in path pages/<pagename>_(view|ctrl).scm check-in: 4439a046b2 user: matt tags: trunk
Changes

Modified session.scm from [7c09cb436b] to [b5a2e53329].

72
73
74
75
76
77
78
79
80


81
82
83
84
85
86
87
72
73
74
75
76
77
78


79
80
81
82
83
84
85
86
87







-
-
+
+







  (slot-set! self 'pagedat     '())
  (slot-set! self 'alt-page-dat #f)
  (slot-set! self 'sroot       "./")
  (slot-set! self 'session-cookie #f)
  (slot-set! self 'curr-err #f)
  (slot-set! self 'log-port (current-error-port))
  (slot-set! self 'seen-pages '())
  (slot-set! self 'page-dir-style 'oldstyle) ;; onedir:        pages/<pagename>_(view|control).scm
                                             ;; anything else: pages/<pagename>/(view|control).scm 
  (slot-set! self 'page-dir-style #t) ;; #t : pages/<pagename>_(view|control).scm
                                      ;; #f : pages/<pagename>/(view|control).scm 
  (slot-set! self 'debugmode #f)
  (for-each (lambda (slot-name)
              (slot-set! self slot-name (make-hash-table)))
            (list 'pagevars 'sessionvars 'globalvars 'pagevars-before 
		  'sessionvars-before 'globalvars-before))
  (slot-set! self 'domain "locahost")   ;; end of defaults
  (initialize-slots self (session:read-config self))
496
497
498
499
500
501
502


503

504
505
506
507
508
509
510
511
512
513
514
515
516
517
518

519

520
521
522
523
524
525
526
496
497
498
499
500
501
502
503
504

505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521

522
523
524
525
526
527
528
529







+
+
-
+















+
-
+







	  (loop (read-line p)(append res (list hed)))))))

;; May 2011, putting all pages into one directory for the following reasons:
;;   1. want filename to reflect page name (emacs limitation)
;;   2. that's it! no other reason. could make it configurable ...
(define-method (session:call-parts (self <session>) page parts)
  (slot-set! self 'curr-page page)
  (session:log self "page-dir-style: " (slot-ref self 'page-dir-style))
  (let* ((dir-style ;; (equal? (slot-ref self 'page-dir-style) "onedir")) ;; flag #t for onedir, #f for old style
  (let* ((dir-style (eq? (slot-ref self 'page-dir-style) 'onedir)) ;; flag #t for onedir, #f for old style
	  (slot-ref self 'page-dir-style))
	 (dir     (string-append (slot-ref self 'sroot) 
				 (if dir-style 
				     (conc "/pages/")
				     (conc "/pages/" page))))
	 (control (string-append dir (if dir-style 
					 (conc page "_ctrl.scm")
					 "/control.scm")))
	 (view    (string-append dir (if dir-style 
					 (conc page "_view.scm")
					 "/view.scm")))
	 (load-view    (and (file-exists? view)
			    (or (eq? parts 'both)(eq? parts 'view))))
	 (load-control (and (file-exists? control)
			    (or (eq? parts 'both)(eq? parts 'control))))
	 (view-dat   '()))
    (session:log self "dir-style: " dir-style)
    ;;   (sugar "/home/matt/kiatoa/stml/sugar.scm" ))
 ;;   (sugar "/home/matt/kiatoa/stml/sugar.scm" ))
    ;; (print "dir=" dir " control=" control " view=" view " load-view=" load-view " load=control=" load-control)
    (if load-control
	(begin
	  (load control)
	  (session:set-called! self page)))
    ;; move this to where it gets exectuted only once
    ;;