[Gd-chatter] r10788 - in trunk/libraries/koala: sources/examples/wiki sources/koala www/wiki

cgay at gwydiondylan.org cgay at gwydiondylan.org
Wed Jun 7 07:56:31 CEST 2006


Author: cgay
Date: Wed Jun  7 07:56:28 2006
New Revision: 10788

Modified:
   trunk/libraries/koala/sources/examples/wiki/classes.dylan
   trunk/libraries/koala/sources/examples/wiki/library.dylan
   trunk/libraries/koala/sources/examples/wiki/wiki.dylan
   trunk/libraries/koala/sources/koala/dsp-taglib.dylan
   trunk/libraries/koala/www/wiki/admin.dsp
   trunk/libraries/koala/www/wiki/edit.dsp
   trunk/libraries/koala/www/wiki/header.dsp
   trunk/libraries/koala/www/wiki/login.dsp
   trunk/libraries/koala/www/wiki/wiki.css
Log:
bug: 7219
* Added a way to specify a title for specialized pages like <login-page>.
* Slightly improved display of "form notes".


Modified: trunk/libraries/koala/sources/examples/wiki/classes.dylan
==============================================================================
--- trunk/libraries/koala/sources/examples/wiki/classes.dylan	(original)
+++ trunk/libraries/koala/sources/examples/wiki/classes.dylan	Wed Jun  7 07:56:28 2006
@@ -3,7 +3,11 @@
 
 define web-class <wiki-page-diff> (<object>)
   data content :: <string>;
-  data author :: <string> = if (current-user()) current-user().username else "foobar" end; //XXX: use IP here
+  data author :: <string> = if (current-user())
+                              current-user().username
+                            else
+                              "foobar"  //XXX: use IP here
+                            end;
   data page-version :: <integer>;
   data timestamp :: <date> = current-date();
   data comment :: <string>;
@@ -30,7 +34,8 @@
 define method find-backlinks (title)
   let res = make(<stretchy-vector>);
   for (page in sort(key-sequence(storage(<wiki-page-content>))))
-    if (subsequence-position(latest-text(storage(<wiki-page-content>)[page]), concatenate("[[", title, "]]")))
+    if (subsequence-position(latest-text(storage(<wiki-page-content>)[page]),
+                             concatenate("[[", title, "]]")))
       add!(res, storage(<wiki-page-content>)[page])
     end;
   end;

Modified: trunk/libraries/koala/sources/examples/wiki/library.dylan
==============================================================================
--- trunk/libraries/koala/sources/examples/wiki/library.dylan	(original)
+++ trunk/libraries/koala/sources/examples/wiki/library.dylan	Wed Jun  7 07:56:28 2006
@@ -40,10 +40,9 @@
   use xml-rpc-common,
     import: { base64-encode, base64-decode };
   use strings, import: { index-of, case-insensitive-equal? };
-  use web-framework, exclude: { respond-to-get, respond-to-post };
+  use web-framework, exclude: { respond-to-get, respond-to-post, slot-type };
   use users;
   use storage;
-  use simple-xml;
   use sequence-diff;
   use substring-search;
 end;

Modified: trunk/libraries/koala/sources/examples/wiki/wiki.dylan
==============================================================================
--- trunk/libraries/koala/sources/examples/wiki/wiki.dylan	(original)
+++ trunk/libraries/koala/sources/examples/wiki/wiki.dylan	Wed Jun  7 07:56:28 2006
@@ -21,6 +21,7 @@
 end;
 
 define class <wiki-page> (<dylan-server-page>)
+  slot page-title :: false-or(<string>) = #f, init-keyword: page-title:;
 end;
 
 define generic page-editable? (page :: <wiki-page>) => (editable? :: <boolean>);
@@ -68,7 +69,7 @@
   dynamic-bind (*title* = get-query-value("title") | *default-title*,
                 *version* = ignore-errors(string-to-integer(get-query-value("v"))),
                 *content* = page-content(*title*, version: *version*, format: #"html")
-                            | "(no content)")
+                              | "(no content)")
     next-method();    // process the DSP template
   end;
 end;
@@ -125,6 +126,7 @@
 define page new-page (<wiki-page>)
     (url: "/wiki/new.dsp",
      source: "wiki/edit.dsp")
+  keyword page-title:, init-value: "(new page)";
 end;
 
 define method respond-to-get
@@ -138,6 +140,7 @@
 define page login-page (<wiki-page>)
     (url: "/wiki/login.dsp",
      source: "wiki/login.dsp")
+  keyword page-title:, init-value: "Login";
 end;
 
 define method respond-to-post (page :: <login-page>,
@@ -372,7 +375,7 @@
     (page :: <wiki-page>, response :: <response>)
     (v :: <boolean>, for-url :: <boolean>)
   let out = output-stream(response);
-  let title = *title* | "(no title)";
+  let title = *title* | page-title(page) | "(no title)";
   write(out, title);
   if (*title* & v)
     let wiki-page = find-page(*title*);

Modified: trunk/libraries/koala/sources/koala/dsp-taglib.dylan
==============================================================================
--- trunk/libraries/koala/sources/koala/dsp-taglib.dylan	(original)
+++ trunk/libraries/koala/sources/koala/dsp-taglib.dylan	Wed Jun  7 07:56:28 2006
@@ -266,6 +266,7 @@
     let messages = choose(rcurry(instance?, <form-message>), notes);
     let errors = choose(rcurry(instance?, <form-error>), notes);
     let out = output-stream(response);
+    write(out, "<div class=\"form-notes\">\n");
     unless(empty?(messages))
       write(out, "<div class=\"form-note-message\">\n");
       do(curry(display-form-note, out), messages);
@@ -276,6 +277,7 @@
       do(curry(display-form-note, out), errors);
       format(out, "</ul></div>\n");
     end;
+    write(out, "</div>\n");
   end;
 end;
 

Modified: trunk/libraries/koala/www/wiki/admin.dsp
==============================================================================
--- trunk/libraries/koala/www/wiki/admin.dsp	(original)
+++ trunk/libraries/koala/www/wiki/admin.dsp	Wed Jun  7 07:56:28 2006
@@ -8,10 +8,7 @@
 
 <body>
   <%dsp:include url="header.dsp"/>
-
-  <div id="form-notes">
   <dsp:show-form-notes/>
-  </div>
   <div id="content">
     <h1>Dylan Wiki Administration</h1>
     <wiki:privilege value="remove">

Modified: trunk/libraries/koala/www/wiki/edit.dsp
==============================================================================
--- trunk/libraries/koala/www/wiki/edit.dsp	(original)
+++ trunk/libraries/koala/www/wiki/edit.dsp	Wed Jun  7 07:56:28 2006
@@ -15,9 +15,7 @@
 
   <%dsp:include url="header.dsp"/>
 
-  <div id="form-notes">
   <dsp:show-form-notes/>
-  </div>
 
   <dsp:if test="login?">
     <dsp:then>

Modified: trunk/libraries/koala/www/wiki/header.dsp
==============================================================================
--- trunk/libraries/koala/www/wiki/header.dsp	(original)
+++ trunk/libraries/koala/www/wiki/header.dsp	Wed Jun  7 07:56:28 2006
@@ -17,6 +17,5 @@
       <a href="/wiki/edit.dsp?title=<wiki:show-title v="true" for-url="true"/>">Edit This Page</a>&nbsp;&nbsp;
     </dsp:when>
   </div>
-  <dsp:show-form-notes/>
 </div>
 <!-- begin user-generated page content -->

Modified: trunk/libraries/koala/www/wiki/login.dsp
==============================================================================
--- trunk/libraries/koala/www/wiki/login.dsp	(original)
+++ trunk/libraries/koala/www/wiki/login.dsp	Wed Jun  7 07:56:28 2006
@@ -14,8 +14,8 @@
         Logged in as <wiki:username/>. <a href="/wiki/logout.dsp">Logout</a>
       </dsp:then>
       <dsp:else>
-        You need to have Cookies enabled to continue.<br>
         <dsp:show-form-notes/>
+        Note: You must have Cookies enabled to continue.<br>
         <form action="/wiki/login.dsp" method="post">
           <div class="login">
             Username: <input type="text" name="username" size="20"/> <br/>

Modified: trunk/libraries/koala/www/wiki/wiki.css
==============================================================================
--- trunk/libraries/koala/www/wiki/wiki.css	(original)
+++ trunk/libraries/koala/www/wiki/wiki.css	Wed Jun  7 07:56:28 2006
@@ -124,6 +124,18 @@
   margin: 0; padding: 0
 }
 
+.form-notes
+{
+  margin: 0.2em;
+  background: #ffcccc;
+  border: 1px solid #000000;
+}
+
+.form-note-errors
+{
+  color: #ff0000
+}
+
 /*
  * content
  */



More information about the chatter mailing list