Author: GilmarSantosJr
Date: 2007-10-25 23:15:19 -0500 (Thu, 25 Oct 2007)
New Revision: 15421
Added:
twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/parts.gif
twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/sitemap.gif
twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/sitetree.gif
Modified:
twiki/scratch/TWikiStandAlone/
twiki/scratch/TWikiStandAlone/bin/setlib.cfg
twiki/scratch/TWikiStandAlone/data/TWiki/IfStatements.txt
twiki/scratch/TWikiStandAlone/data/TWiki/TWikiDocGraphics.txt
twiki/scratch/TWikiStandAlone/lib/MANIFEST
twiki/scratch/TWikiStandAlone/lib/Monitor.pm
twiki/scratch/TWikiStandAlone/lib/TWiki.spec
twiki/scratch/TWikiStandAlone/lib/TWiki/Configure/UI.pm
twiki/scratch/TWikiStandAlone/lib/TWiki/Configure/UIs/Value.pm
twiki/scratch/TWikiStandAlone/lib/TWiki/Engine/HTTP.pm
twiki/scratch/TWikiStandAlone/lib/TWiki/If/Node.pm
twiki/scratch/TWikiStandAlone/lib/TWiki/Query/HoistREs.pm
twiki/scratch/TWikiStandAlone/lib/TWiki/UI.pm
twiki/scratch/TWikiStandAlone/lib/TWiki/Users.pm
twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/quiet.gif
twiki/scratch/TWikiStandAlone/twikiplugins/GenPDFAddOn/data/TWiki/GenPDFAddOn.txt
twiki/scratch/TWikiStandAlone/twikiplugins/GenPDFAddOn/lib/TWiki/Contrib/GenPDF.pm
twiki/scratch/TWikiStandAlone/twikiplugins/MailerContrib/test/unit/MailerContrib/MailerContribSuite.pm
twiki/scratch/TWikiStandAlone/twikiplugins/TWikiUserMappingContrib/data/Main/TWikiAdminGroup.txt
twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/Fn_IF.pm
twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/FuncUsersTests.pm
twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/RegisterTests.pm
twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/TWikiFnTestCase.pm
Log:
Item4662: TSA
* Updated Monitor.pm, so it can be used with persistend engines
* Added $TWiki::cfg{BehindProxy} option
* Updated HTTP engine to consider $TWiki::cfg{BehindProxy} and X-Forwarded-For HTTP header
* Merged from MAIN, rev 15420
Property changes on: twiki/scratch/TWikiStandAlone
___________________________________________________________________
Name: svk:merge
- 1677e817-7831-46d5-99df-29670531d6f3:/local/MAIN:761
6fe119f3-adff-0310-8d65-eaf721ad8dcd:/local/twiki:13731
a00a5322-12db-0310-a70b-8735589c885e:/branches/TWikiRelease04x00:11417
a00a5322-12db-0310-a70b-8735589c885e:/twiki/branches/DEVELOP:8671
a00a5322-12db-0310-a70b-8735589c885e:/twiki/branches/MAIN:15401
a00a5322-12db-0310-a70b-8735589c885e:/twiki/branches/TWikiRelease04x00:11683
a00a5322-12db-0310-a70b-8735589c885e:/twiki/trunk:1767
da601d30-f818-0410-9a57-a822fe5a4a93:/local/terceiro/TopicTranslationsPlugin:10084
db3699c8-1c30-0410-a7fc-e1c66c7c2fc9:/twiki/enhanced-diff:1757
+ 1677e817-7831-46d5-99df-29670531d6f3:/local/MAIN:761
6fe119f3-adff-0310-8d65-eaf721ad8dcd:/local/twiki:13731
a00a5322-12db-0310-a70b-8735589c885e:/branches/TWikiRelease04x00:11417
a00a5322-12db-0310-a70b-8735589c885e:/twiki/branches/DEVELOP:8671
a00a5322-12db-0310-a70b-8735589c885e:/twiki/branches/MAIN:15420
a00a5322-12db-0310-a70b-8735589c885e:/twiki/branches/TWikiRelease04x00:11683
a00a5322-12db-0310-a70b-8735589c885e:/twiki/trunk:1767
da601d30-f818-0410-9a57-a822fe5a4a93:/local/terceiro/TopicTranslationsPlugin:10084
db3699c8-1c30-0410-a7fc-e1c66c7c2fc9:/twiki/enhanced-diff:1757
Modified: twiki/scratch/TWikiStandAlone/bin/setlib.cfg
===================================================================
--- twiki/scratch/TWikiStandAlone/bin/setlib.cfg 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/bin/setlib.cfg 2007-10-26 04:15:19 UTC (rev 15421)
@@ -22,6 +22,7 @@
# for development, you can enable ASSERTS by adding
# $ENV{TWIKI_ASSERTS} = 1;
+# $ENV{TWIKI_MONITOR} = 1;
# to your bin/LocalLib.cfg
use vars qw( $twikiLibPath @localPerlLibPath );
Modified: twiki/scratch/TWikiStandAlone/data/TWiki/IfStatements.txt
===================================================================
--- twiki/scratch/TWikiStandAlone/data/TWiki/IfStatements.txt 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/data/TWiki/IfStatements.txt 2007-10-26 04:15:19 UTC (rev 15421)
@@ -24,18 +24,18 @@
1. TWiki variable defined or not
<verbatim>
-%IF{"defined WIKINAME" then="WIKINAME is defined" else="WIKINAME is not defined"}%
+%IF{"defined 'WIKINAME'" then="WIKINAME is defined" else="WIKINAME is not defined"}%
</verbatim>
2. Compare TWiki variable
<verbatim>
-You are %IF{ "$ WIKINAME='TWikiGuest' and not defined OPEN_DAY" then="not" }% allowed to
+You are %IF{ "$ WIKINAME='TWikiGuest' and not defined 'OPEN_DAY'" then="not" }% allowed to
%IF{ "context view" then="view" else="edit"}% this TWiki today.
</verbatim>
3. URL parameter
<verbatim>
-%IF{ "defined search" then="Search: $percntURLPARAM{search}$percnt" else="No search passed in"}%
+%IF{ "defined 'search'" then="Search: $percntURLPARAM{search}$percnt" else="No search passed in"}%
</verbatim>
4. Range test on URL parameter
Modified: twiki/scratch/TWikiStandAlone/data/TWiki/TWikiDocGraphics.txt
===================================================================
--- twiki/scratch/TWikiStandAlone/data/TWiki/TWikiDocGraphics.txt 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/data/TWiki/TWikiDocGraphics.txt 2007-10-26 04:15:19 UTC (rev 15421)
@@ -1,4 +1,4 @@
-%META:TOPICINFO{author="TWikiContributor" date="1190703677" format="1.1" version="$Rev$"}%
+%META:TOPICINFO{author="TWikiContributor" date="1193349525" format="1.1" version="$Rev$"}%
---+!! TWiki Documentation Graphics and Filetype icons
This is the TWiki icon library. The graphics can be used in topics and by web applications.
@@ -43,6 +43,7 @@
| <img src="%ATTACHURLPATH%/move.gif" alt="Move" title="Move" /> | =move.gif= | Move | =%<nop>ICON{move}%= |
| <img src="%ATTACHURLPATH%/note.gif" alt="Note" title="Note" /> | =note.gif= | Note | =%<nop>ICON{note}%= |
| <img src="%ATTACHURLPATH%/parked.gif" alt="Parked" title="Parked" /> | =parked.gif= | Parked | =%<nop>ICON{parked}%= |
+| <img src="%ATTACHURLPATH%/parts.gif" alt="Parts" title="Parts" /> | =parts.gif= | Parts | =%<nop>ICON{parts}%= |
| <img src="%ATTACHURLPATH%/pencil.gif" alt="Pencil / Refactor / Edit" title="Pencil / Refactor / Edit" /> | =pencil.gif= | Pencil / Refactor / Edit | =%<nop>P%=, =%<nop>ICON{pencil}%= |
| <img src="%ATTACHURLPATH%/phone.gif" alt="Phone" title="Phone" /> | =phone.gif= | Phone | =%<nop>ICON{phone}%= |
| <img src="%ATTACHURLPATH%/photo.gif" alt="Photo" title="Photo" /> | =photo.gif= | Photo, 13x10 | =<img src="%<nop>ICONURL{photo}%" width="13" height="10" alt="Photo" border="0" />= |
@@ -50,6 +51,8 @@
| <img src="%ATTACHURLPATH%/question.gif" alt="Question" title="Question" /> | =question.gif= | Question | =%<nop>ICON{question}%= |
| <img src="%ATTACHURLPATH%/quiet.gif" alt="Quiet" title="Quiet" /> | =quiet.gif= | Quiet | =%<nop>ICON{quiet}%= |
| <img src="%ATTACHURLPATH%/rfc.gif" alt="Request for comments" title="Request for comments" /> | =rfc.gif= | Request for comments | =%<nop>ICON{rfc}%= |
+| <img src="%ATTACHURLPATH%/sitemap.gif" alt="Site map" title="Site map" /> | =sitemap.gif= | Site map | =%<nop>ICON{sitemap}%= |
+| <img src="%ATTACHURLPATH%/sitetree.gif" alt="Site tree" title="Site tree" /> | =sitetree.gif= | Site tree | =%<nop>ICON{sitetree}%= |
| <img src="%ATTACHURLPATH%/skype.gif" alt="Skype" title="Skype" /> | =skype.gif= | Skype | =%<nop>ICON{skype}%= |
| <img src="%ATTACHURLPATH%/sort.gif" alt="Sort" title="Sort" /> | =sort.gif= | Sort | =%<nop>ICON{sort}%= |
| <img src="%ATTACHURLPATH%/stargold.gif" alt="Gold star, favorites" title="Gold star, favorites" /> | =stargold.gif= | Gold star, favorites | =%<nop>ICON{stargold}%= |
@@ -183,8 +186,11 @@
%TABLE{headeralign="left" databg="#ffffff,#ffffff" databgsorted="#f5f5f5"}%
| * * | *File Name* | *Description* | *Write...* |
| <img src="%ATTACHURLPATH%/home.gif" alt="Home" title="Home" /> | =home.gif= | Home | =%<nop>ICON{home}%= |
+| <img src="%ATTACHURLPATH%/sitemap.gif" alt="Site map" title="Site map" /> | =sitemap.gif= | Site map | =%<nop>ICON{sitemap}%= |
+| <img src="%ATTACHURLPATH%/sitetree.gif" alt="Site tree" title="Site tree" /> | =sitetree.gif= | Site tree | =%<nop>ICON{sitetree}%= |
+| <img src="%ATTACHURLPATH%/topicbacklinks.gif" alt="Topic back-links" title="Topic back-links" /> | =topicbacklinks.gif= | Topic back-links | =%<nop>ICON{topicbacklinks}%= |
+| <img src="%ATTACHURLPATH%/arrowdot.gif" alt="Meet here (arrows to red dot)" title="Meet here (arrows to red dot)" /> | =arrowdot.gif= | Meet here (arrows to red dot) | =%<nop>ICON{arrowdot}%= |
| <img src="%ATTACHURLPATH%/external.gif" alt="External site" title="External site" /> | =external.gif= | External site | =%<nop>ICON{external}%= |
-| <img src="%ATTACHURLPATH%/arrowdot.gif" alt="Meet here (arrows to red dot)" title="Meet here (arrows to red dot)" /> | =arrowdot.gif= | Meet here (arrows to red dot) | =%<nop>ICON{arrowdot}%= |
| <img src="%ATTACHURLPATH%/left.gif" alt="Left" title="Left" /> | =left.gif= | Left | =%<nop>ICON{left}%= |
| <img src="%ATTACHURLPATH%/right.gif" alt="Right" title="Right" /> | =right.gif= | Right | =%<nop>ICON{right}%= |
| <img src="%ATTACHURLPATH%/up.gif" alt="Up" title="Up" /> | =up.gif= | Up | =%<nop>ICON{up}%= |
@@ -355,230 +361,252 @@
__Related Topics:__ TWikiSkins, DeveloperDocumentationCategory, AdminDocumentationCategory
-__Contributors:__ Most icons on this page were originally designed by TWiki:Main.PeterThoeny. All icons were recreated by TWiki:Main.ArthurClemens, except for led-color icons, dot graph and line graph images.
+__Contributors:__ Most icons on this page were originally designed by TWiki:Main.PeterThoeny. Many icons were recreated by TWiki:Main.ArthurClemens.
-%META:FILEATTACHMENT{name="addon.gif" attr="" autoattached="1" comment="" date="1169565034" path="addon.gif" size="370" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="application.gif" attr="" autoattached="1" comment="" date="1169565034" path="application.gif" size="356" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowbdown.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowbdown.gif" size="101" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowbleft.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowbleft.gif" size="98" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowbright.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowbright.gif" size="97" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowbup.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowbup.gif" size="101" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowdot.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowdot.gif" size="159" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowdown.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowdown.gif" size="97" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowleft.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowleft.gif" size="97" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowright-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowright-small.gif" size="100" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowright.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowright.gif" size="97" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="arrowup.gif" attr="" autoattached="1" comment="" date="1169565034" path="arrowup.gif" size="97" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="as.gif" attr="" autoattached="1" comment="" date="1169565034" path="as.gif" size="379" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="attachfile.gif" attr="" autoattached="1" comment="" date="1169565034" path="attachfile.gif" size="121" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="bat.gif" attr="" autoattached="1" comment="" date="1169565034" path="bat.gif" size="377" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="bmp.gif" attr="" autoattached="1" comment="" date="1169565034" path="bmp.gif" size="378" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="book.gif" attr="" autoattached="1" comment="" date="1169565034" path="book.gif" size="361" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="bubble.gif" attr="" autoattached="1" comment="" date="1169565034" path="bubble.gif" size="342" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="building.gif" attr="" autoattached="1" comment="" date="1169565034" path="building.gif" size="133" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="buildings.gif" attr="" autoattached="1" comment="" date="1169565034" path="buildings.gif" size="167" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="c.gif" attr="" autoattached="1" comment="" date="1169565034" path="c.gif" size="372" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="cachetopic.gif" attr="" autoattached="1" comment="" date="1169565034" path="cachetopic.gif" size="163" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="changes-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="changes-small.gif" size="86" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="changes.gif" attr="" autoattached="1" comment="" date="1169565034" path="changes.gif" size="118" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="checked.gif" attr="" autoattached="1" comment="" date="1169565034" path="checked.gif" size="118" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="choice-cancel.gif" attr="" autoattached="1" comment="" date="1169565034" path="choice-cancel.gif" size="347" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="choice-no.gif" attr="" autoattached="1" comment="" date="1169565034" path="choice-no.gif" size="166" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="choice-yes.gif" attr="" autoattached="1" comment="" date="1169565034" path="choice-yes.gif" size="159" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="closed.gif" attr="" autoattached="1" comment="" date="1169565034" path="closed.gif" size="379" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="code.gif" attr="" autoattached="1" comment="" date="1169565035" path="code.gif" size="374" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="days.gif" attr="" autoattached="1" comment="" date="1169565034" path="days.gif" size="161" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="detail.gif" attr="" autoattached="1" comment="" date="1169565034" path="detail.gif" size="118" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dll.gif" attr="" autoattached="1" comment="" date="1169565034" path="dll.gif" size="376" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="doc.gif" attr="" autoattached="1" comment="" date="1169565034" path="doc.gif" size="381" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="done.gif" attr="" autoattached="1" comment="" date="1169565034" path="done.gif" size="313" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_ld.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_ld.gif" size="106" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_lr.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_lr.gif" size="105" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_lrd.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_lrd.gif" size="108" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_rd.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_rd.gif" size="107" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_ud.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_ud.gif" size="108" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_udl.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_udl.gif" size="109" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_udlr.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_udlr.gif" size="111" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_udr.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_udr.gif" size="109" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_ul.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_ul.gif" size="106" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_ulr.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_ulr.gif" size="108" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="dot_ur.gif" attr="" autoattached="1" comment="" date="1169565034" path="dot_ur.gif" size="106" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="down.gif" attr="" autoattached="1" comment="" date="1169565034" path="down.gif" size="199" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="download.gif" attr="" autoattached="1" comment="" date="1169565034" path="download.gif" size="120" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="edittopic.gif" attr="" autoattached="1" comment="" date="1169565034" path="edittopic.gif" size="219" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="else.gif" attr="" autoattached="1" comment="" date="1169565034" path="else.gif" size="366" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="eml.gif" attr="" autoattached="1" comment="" date="1169565034" path="eml.gif" size="359" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="empty.gif" attr="" autoattached="1" comment="" date="1169565034" path="empty.gif" size="100" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="exe.gif" attr="" autoattached="1" comment="" date="1169565034" path="exe.gif" size="372" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="external.gif" attr="" autoattached="1" comment="" date="1169565034" path="external.gif" size="79" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="filter.gif" attr="" autoattached="1" comment="" date="1169565034" path="filter.gif" size="341" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="fla.gif" attr="" autoattached="1" comment="" date="1169565034" path="fla.gif" size="378" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="flag-gray-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="flag-gray-small.gif" size="145" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="flag-gray.gif" attr="" autoattached="1" comment="" date="1169565034" path="flag-gray.gif" size="125" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="flag.gif" attr="" autoattached="1" comment="" date="1169565034" path="flag.gif" size="124" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="folder.gif" attr="" autoattached="1" comment="" date="1169565034" path="folder.gif" size="553" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="fon.gif" attr="" autoattached="1" comment="" date="1169565034" path="fon.gif" size="378" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="gear.gif" attr="" autoattached="1" comment="" date="1169565034" path="gear.gif" size="596" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="gif.gif" attr="" autoattached="1" comment="" date="1169565034" path="gif.gif" size="374" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="globe.gif" attr="" autoattached="1" comment="" date="1169565034" path="globe.gif" size="601" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="go_back.gif" attr="" autoattached="1" comment="" date="1169565034" path="go_back.gif" size="235" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="go_end.gif" attr="" autoattached="1" comment="" date="1169565034" path="go_end.gif" size="240" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="go_fb.gif" attr="" autoattached="1" comment="" date="1169565034" path="go_fb.gif" size="242" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="go_ff.gif" attr="" autoattached="1" comment="" date="1169565034" path="go_ff.gif" size="242" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="go_forward.gif" attr="" autoattached="1" comment="" date="1169565034" path="go_forward.gif" size="234" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="go_start.gif" attr="" autoattached="1" comment="" date="1169565034" path="go_start.gif" size="236" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="group.gif" attr="" autoattached="1" comment="" date="1169565034" path="group.gif" size="182" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="h.gif" attr="" autoattached="1" comment="" date="1169565034" path="h.gif" size="375" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="hand.gif" attr="" autoattached="1" comment="" date="1169565034" path="hand.gif" size="344" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="help.gif" attr="" autoattached="1" comment="" date="1169565034" path="help.gif" size="212" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="hlp.gif" attr="" autoattached="1" comment="" date="1169565034" path="hlp.gif" size="370" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="home.gif" attr="" autoattached="1" comment="" date="1169565034" path="home.gif" size="342" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="hourglass.gif" attr="" autoattached="1" comment="" date="1169565034" path="hourglass.gif" size="371" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="html.gif" attr="" autoattached="1" comment="" date="1169565034" path="html.gif" size="376" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="index.gif" attr="" autoattached="1" comment="" date="1169565034" path="index.gif" size="100" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="indexlist.gif" attr="" autoattached="1" comment="" date="1169565034" path="indexlist.gif" size="102" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="info.gif" attr="" autoattached="1" comment="" date="1169565034" path="info.gif" size="212" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="java.gif" attr="" autoattached="1" comment="" date="1169565034" path="java.gif" size="375" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="jpg.gif" attr="" autoattached="1" comment="" date="1169565034" path="jpg.gif" size="375" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="js.gif" attr="" autoattached="1" comment="" date="1169565034" path="js.gif" size="378" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="key.gif" attr="" autoattached="1" comment="" date="1169565034" path="key.gif" size="91" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-aqua.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-aqua.gif" size="951" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-blue.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-blue.gif" size="944" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-box-aqua.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-box-aqua.gif" size="393" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-box-blue.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-box-blue.gif" size="393" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-box-gray.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-box-gray.gif" size="389" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-box-green.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-box-green.gif" size="393" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-box-orange.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-box-orange.gif" size="393" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-box-purple.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-box-purple.gif" size="393" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-box-red.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-box-red.gif" size="393" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-box-yellow.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-box-yellow.gif" size="393" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-gray.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-gray.gif" size="935" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-green.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-green.gif" size="944" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-orange.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-orange.gif" size="951" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-purple.gif" attr="" autoattached="1" comment="" date="1169565035" path="led-purple.gif" size="951" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-red.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-red.gif" size="943" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="led-yellow.gif" attr="" autoattached="1" comment="" date="1169565034" path="led-yellow.gif" size="944" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="left.gif" attr="" autoattached="1" comment="" date="1169565034" path="left.gif" size="195" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_ld.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_ld.gif" size="106" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_lr.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_lr.gif" size="105" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_lrd.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_lrd.gif" size="111" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_rd.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_rd.gif" size="106" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_ud.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_ud.gif" size="114" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_udl.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_udl.gif" size="116" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_udlr.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_udlr.gif" size="116" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_udr.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_udr.gif" size="115" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_ul.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_ul.gif" size="111" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_ulr.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_ulr.gif" size="112" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="line_ur.gif" attr="" autoattached="1" comment="" date="1169565034" path="line_ur.gif" size="111" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="lock.gif" attr="" autoattached="1" comment="" date="1169565034" path="lock.gif" size="221" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="lockfolder.gif" attr="" autoattached="1" comment="" date="1169565034" path="lockfolder.gif" size="213" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="lockfoldergray.gif" attr="" autoattached="1" comment="" date="1169565034" path="lockfoldergray.gif" size="156" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="locktopic.gif" attr="" autoattached="1" comment="" date="1169565034" path="locktopic.gif" size="217" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="locktopicgray.gif" attr="" autoattached="1" comment="" date="1169565034" path="locktopicgray.gif" size="159" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="logout.gif" attr="" autoattached="1" comment="" date="1169565034" path="logout.gif" size="221" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="mail.gif" attr="" autoattached="1" comment="" date="1169565034" path="mail.gif" size="224" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="map.gif" attr="" autoattached="1" comment="" date="1181928995" path="map.gif" size="932" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="mdb.gif" attr="" autoattached="1" comment="" date="1169565034" path="mdb.gif" size="385" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="minus.gif" attr="" autoattached="1" comment="" date="1169565034" path="minus.gif" size="83" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="monospace.gif" attr="" autoattached="1" comment="" date="1169565034" path="monospace.gif" size="145" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="more-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="more-small.gif" size="84" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="more.gif" attr="" autoattached="1" comment="" date="1169565034" path="more.gif" size="118" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="mov.gif" attr="" autoattached="1" comment="" date="1169565034" path="mov.gif" size="379" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="move.gif" attr="" autoattached="1" comment="" date="1169565034" path="move.gif" size="204" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="mp3.gif" attr="" autoattached="1" comment="" date="1169565034" path="mp3.gif" size="377" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="new.gif" attr="" autoattached="1" comment="" date="1169565034" path="new.gif" size="298" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="newtopic.gif" attr="" autoattached="1" comment="" date="1169565034" path="newtopic.gif" size="340" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="note.gif" attr="" autoattached="1" comment="" date="1169565034" path="note.gif" size="222" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="notify.gif" attr="" autoattached="1" comment="" date="1169565034" path="notify.gif" size="347" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="package.gif" attr="" autoattached="1" comment="" date="1169565034" path="package.gif" size="173" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="parked.gif" attr="" autoattached="1" comment="" date="1169565034" path="parked.gif" size="225" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="pdf.gif" attr="" autoattached="1" comment="" date="1169565034" path="pdf.gif" size="375" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="pencil.gif" attr="" autoattached="1" comment="" date="1169565034" path="pencil.gif" size="539" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="person.gif" attr="" autoattached="1" comment="" date="1169565034" path="person.gif" size="166" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="persons.gif" attr="" autoattached="1" comment="" date="1169565034" path="persons.gif" size="172" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="photo.gif" attr="" autoattached="1" comment="" date="1169565034" path="photo.gif" size="328" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="pl.gif" attr="" autoattached="1" comment="" date="1169565034" path="pl.gif" size="380" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="plugin.gif" attr="" autoattached="1" comment="" date="1169565034" path="plugin.gif" size="357" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="plus.gif" attr="" autoattached="1" comment="" date="1169565034" path="plus.gif" size="90" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="png.gif" attr="" autoattached="1" comment="" date="1169565034" path="png.gif" size="378" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="ppt.gif" attr="" autoattached="1" comment="" date="1169565034" path="ppt.gif" size="373" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="printtopic.gif" attr="" autoattached="1" comment="" date="1169565034" path="printtopic.gif" size="221" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="proportional.gif" attr="" autoattached="1" comment="" date="1169565034" path="proportional.gif" size="137" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="ps.gif" attr="" autoattached="1" comment="" date="1169565034" path="ps.gif" size="362" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="psd.gif" attr="" autoattached="1" comment="" date="1169565034" path="psd.gif" size="369" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="puzzle.gif" attr="" autoattached="1" comment="" date="1169565034" path="puzzle.gif" size="332" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="py.gif" attr="" autoattached="1" comment="" date="1169565034" path="py.gif" size="382" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="question.gif" attr="" autoattached="1" comment="" date="1169565034" path="question.gif" size="214" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="ram.gif" attr="" autoattached="1" comment="" date="1169565034" path="ram.gif" size="373" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="recentchanges.gif" attr="" autoattached="1" comment="" date="1169565035" path="recentchanges.gif" size="220" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="refreshtopic.gif" attr="" autoattached="1" comment="" date="1169565034" path="refreshtopic.gif" size="229" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="reg.gif" attr="" autoattached="1" comment="" date="1169565034" path="reg.gif" size="377" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="rfc.gif" attr="" autoattached="1" comment="" date="1169565034" path="rfc.gif" size="369" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="right.gif" attr="" autoattached="1" comment="" date="1169565034" path="right.gif" size="194" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="rss-feed.gif" attr="" autoattached="1" comment="" date="1169565034" path="rss-feed.gif" size="227" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="rss-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="rss-small.gif" size="122" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="save.gif" attr="" autoattached="1" comment="" date="1169565034" path="save.gif" size="222" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="search-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="search-small.gif" size="554" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="searchpackage.gif" attr="" autoattached="1" comment="" date="1169565034" path="searchpackage.gif" size="383" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="searchtag.gif" attr="" autoattached="1" comment="" date="1169565034" path="searchtag.gif" size="380" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="searchtopic.gif" attr="" autoattached="1" comment="" date="1169565034" path="searchtopic.gif" size="580" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="sh.gif" attr="" autoattached="1" comment="" date="1169565034" path="sh.gif" size="380" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="skin.gif" attr="" autoattached="1" comment="" date="1169565034" path="skin.gif" size="356" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="sniff.gif" attr="" autoattached="1" comment="" date="1169565034" path="sniff.gif" size="368" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="sort.gif" attr="" autoattached="1" comment="" date="1169565034" path="sort.gif" size="129" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="stargold.gif" attr="" autoattached="1" comment="" date="1169565034" path="stargold.gif" size="338" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="starred.gif" attr="" autoattached="1" comment="" date="1169565034" path="starred.gif" size="226" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="statistics.gif" attr="" autoattached="1" comment="" date="1169565034" path="statistics.gif" size="118" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="stop.gif" attr="" autoattached="1" comment="" date="1169565034" path="stop.gif" size="159" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="swf.gif" attr="" autoattached="1" comment="" date="1169565034" path="swf.gif" size="380" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tablesortdiamond.gif" attr="" autoattached="1" comment="" date="1169565034" path="tablesortdiamond.gif" size="369" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tablesortdown.gif" attr="" autoattached="1" comment="" date="1169565034" path="tablesortdown.gif" size="351" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tablesortup.gif" attr="" autoattached="1" comment="" date="1169565034" path="tablesortup.gif" size="351" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-black.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-black.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-blue.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-blue.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-brown.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-brown.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-green.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-green.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-magenta.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-magenta.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-orange.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-orange.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-purple.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-purple.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-red.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-red.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag-yellow.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag-yellow.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tag.gif" attr="" autoattached="1" comment="" date="1169565034" path="tag.gif" size="348" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="target.gif" attr="" autoattached="1" comment="" date="1169565034" path="target.gif" size="261" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="tip.gif" attr="" autoattached="1" comment="" date="1169565034" path="tip.gif" size="233" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="todo.gif" attr="" autoattached="1" comment="" date="1169565034" path="todo.gif" size="318" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="toggleclose-mini.gif" attr="" autoattached="1" comment="" date="1169565034" path="toggleclose-mini.gif" size="51" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="toggleclose-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="toggleclose-small.gif" size="135" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="toggleclose.gif" attr="" autoattached="1" comment="" date="1169565034" path="toggleclose.gif" size="142" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="togglecloseleft-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="togglecloseleft-small.gif" size="135" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="toggleopen-mini.gif" attr="" autoattached="1" comment="" date="1169565034" path="toggleopen-mini.gif" size="51" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="toggleopen-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="toggleopen-small.gif" size="136" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="toggleopen.gif" attr="" autoattached="1" comment="" date="1169565034" path="toggleopen.gif" size="143" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="toggleopenleft-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="toggleopenleft-small.gif" size="135" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="toggleopenleft.gif" attr="" autoattached="1" comment="" date="1169565034" path="toggleopenleft.gif" size="141" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="topicbacklinks.gif" attr="" autoattached="1" comment="" date="1169565034" path="topicbacklinks.gif" size="130" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="topicdiffs.gif" attr="" autoattached="1" comment="" date="1169565034" path="topicdiffs.gif" size="157" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="trash.gif" attr="" autoattached="1" comment="" date="1169565034" path="trash.gif" size="224" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="ttf.gif" attr="" autoattached="1" comment="" date="1169565034" path="ttf.gif" size="378" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="twiki.gif" attr="" autoattached="1" comment="" date="1169565034" path="twiki.gif" size="585" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="txt.gif" attr="" autoattached="1" comment="" date="1169565034" path="txt.gif" size="375" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="unchecked.gif" attr="" autoattached="1" comment="" date="1169565034" path="unchecked.gif" size="96" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="up.gif" attr="" autoattached="1" comment="" date="1169565034" path="up.gif" size="199" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="updated.gif" attr="" autoattached="1" comment="" date="1169565034" path="updated.gif" size="401" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="vsd.gif" attr="" autoattached="1" comment="" date="1169565034" path="vsd.gif" size="373" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="video.gif" attr="" autoattached="1" comment="" date="1169565034" path="video.gif" size="329" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="viewtopic.gif" attr="" autoattached="1" comment="" date="1169565034" path="viewtopic.gif" size="118" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="warning.gif" attr="" autoattached="1" comment="" date="1169565034" path="warning.gif" size="215" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="watch.gif" attr="" autoattached="1" comment="" date="1169565034" path="watch.gif" size="237" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="wav.gif" attr="" autoattached="1" comment="" date="1169565034" path="wav.gif" size="377" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="web-bg-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="web-bg-small.gif" size="77" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="web-bg.gif" attr="" autoattached="1" comment="" date="1169565034" path="web-bg.gif" size="85" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="wip.gif" attr="" autoattached="1" comment="" date="1169565034" path="wip.gif" size="594" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="wrench.gif" attr="" autoattached="1" comment="" date="1169565034" path="wrench.gif" size="377" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="wri.gif" attr="" autoattached="1" comment="" date="1169565034" path="wri.gif" size="382" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="xls.gif" attr="" autoattached="1" comment="" date="1169565034" path="xls.gif" size="374" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="xml-feed.gif" attr="" autoattached="1" comment="" date="1169565034" path="xml-feed.gif" size="223" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="xml-small.gif" attr="" autoattached="1" comment="" date="1169565034" path="xml-small.gif" size="100" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="xml.gif" attr="" autoattached="1" comment="" date="1169565034" path="xml.gif" size="376" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="xsl.gif" attr="" autoattached="1" comment="" date="1169565034" path="xsl.gif" size="375" user="UnknownUser" version=""}%
-%META:FILEATTACHMENT{name="zip.gif" attr="" autoattached="1" comment="" date="1169565034" path="zip.gif" size="383" user="UnknownUser" version=""}%
+%META:FILEATTACHMENT{name="addon.gif" attr="" comment="" date="1169565034" path="addon.gif" size="370" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="application.gif" attr="" comment="" date="1169565034" path="application.gif" size="356" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowbdown.gif" attr="" comment="" date="1169565034" path="arrowbdown.gif" size="101" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowbleft.gif" attr="" comment="" date="1169565034" path="arrowbleft.gif" size="98" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowbright.gif" attr="" comment="" date="1169565034" path="arrowbright.gif" size="97" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowbup.gif" attr="" comment="" date="1169565034" path="arrowbup.gif" size="101" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowdot.gif" attr="" comment="" date="1169565034" path="arrowdot.gif" size="159" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowdown.gif" attr="" comment="" date="1169565034" path="arrowdown.gif" size="97" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowleft.gif" attr="" comment="" date="1169565034" path="arrowleft.gif" size="97" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowright-small.gif" attr="" comment="" date="1169565034" path="arrowright-small.gif" size="100" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowright.gif" attr="" comment="" date="1169565034" path="arrowright.gif" size="97" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="arrowup.gif" attr="" comment="" date="1169565034" path="arrowup.gif" size="97" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="as.gif" attr="" comment="" date="1169565034" path="as.gif" size="379" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="attachfile.gif" attr="" comment="" date="1169565034" path="attachfile.gif" size="121" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="bat.gif" attr="" comment="" date="1169565034" path="bat.gif" size="377" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="blank.gif" attr="" comment="" date="1193349525" path="blank.gif" size="110" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="blank-bg.gif" attr="" comment="" date="1193349525" path="blank-bg.gif" size="118" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="bmp.gif" attr="" comment="" date="1169565034" path="bmp.gif" size="378" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="book.gif" attr="" comment="" date="1169565034" path="book.gif" size="361" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="bubble.gif" attr="" comment="" date="1169565034" path="bubble.gif" size="342" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="building.gif" attr="" comment="" date="1169565034" path="building.gif" size="133" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="buildings.gif" attr="" comment="" date="1169565034" path="buildings.gif" size="167" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="c.gif" attr="" comment="" date="1169565034" path="c.gif" size="372" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="cachetopic.gif" attr="" comment="" date="1169565034" path="cachetopic.gif" size="163" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="changes-small.gif" attr="" comment="" date="1169565034" path="changes-small.gif" size="86" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="changes.gif" attr="" comment="" date="1169565034" path="changes.gif" size="118" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="checked.gif" attr="" comment="" date="1169565034" path="checked.gif" size="118" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="choice-cancel.gif" attr="" comment="" date="1169565034" path="choice-cancel.gif" size="347" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="choice-no.gif" attr="" comment="" date="1169565034" path="choice-no.gif" size="166" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="choice-yes.gif" attr="" comment="" date="1169565034" path="choice-yes.gif" size="159" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="closed.gif" attr="" comment="" date="1169565034" path="closed.gif" size="379" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="code.gif" attr="" comment="" date="1169565035" path="code.gif" size="374" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="days.gif" attr="" comment="" date="1169565034" path="days.gif" size="161" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="detail.gif" attr="" comment="" date="1169565034" path="detail.gif" size="118" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dll.gif" attr="" comment="" date="1169565034" path="dll.gif" size="376" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="doc.gif" attr="" comment="" date="1169565034" path="doc.gif" size="381" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="done.gif" attr="" comment="" date="1169565034" path="done.gif" size="313" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_ld.gif" attr="" comment="" date="1169565034" path="dot_ld.gif" size="106" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_lr.gif" attr="" comment="" date="1169565034" path="dot_lr.gif" size="105" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_lrd.gif" attr="" comment="" date="1169565034" path="dot_lrd.gif" size="108" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_rd.gif" attr="" comment="" date="1169565034" path="dot_rd.gif" size="107" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_ud.gif" attr="" comment="" date="1169565034" path="dot_ud.gif" size="108" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_udl.gif" attr="" comment="" date="1169565034" path="dot_udl.gif" size="109" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_udlr.gif" attr="" comment="" date="1169565034" path="dot_udlr.gif" size="111" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_udr.gif" attr="" comment="" date="1169565034" path="dot_udr.gif" size="109" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_ul.gif" attr="" comment="" date="1169565034" path="dot_ul.gif" size="106" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_ulr.gif" attr="" comment="" date="1169565034" path="dot_ulr.gif" size="108" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="dot_ur.gif" attr="" comment="" date="1169565034" path="dot_ur.gif" size="106" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="down.gif" attr="" comment="" date="1169565034" path="down.gif" size="199" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="download.gif" attr="" comment="" date="1169565034" path="download.gif" size="120" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="edittable.gif" attr="" comment="" date="1193349525" path="edittable.gif" size="906" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="edittopic.gif" attr="" comment="" date="1169565034" path="edittopic.gif" size="219" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="else.gif" attr="" comment="" date="1169565034" path="else.gif" size="366" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="eml.gif" attr="" comment="" date="1169565034" path="eml.gif" size="359" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="empty.gif" attr="" comment="" date="1169565034" path="empty.gif" size="100" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="exe.gif" attr="" comment="" date="1169565034" path="exe.gif" size="372" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="external.gif" attr="" comment="" date="1169565034" path="external.gif" size="79" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="fax.gif" attr="" comment="" date="1193349525" path="fax.gif" size="122" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="feed.gif" attr="" comment="" date="1193349525" path="feed.gif" size="1023" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="filter.gif" attr="" comment="" date="1169565034" path="filter.gif" size="341" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="fla.gif" attr="" comment="" date="1169565034" path="fla.gif" size="378" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="flag-gray-small.gif" attr="" comment="" date="1169565034" path="flag-gray-small.gif" size="145" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="flag-gray.gif" attr="" comment="" date="1169565034" path="flag-gray.gif" size="125" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="flag.gif" attr="" comment="" date="1169565034" path="flag.gif" size="124" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="folder.gif" attr="" comment="" date="1169565034" path="folder.gif" size="553" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="fon.gif" attr="" comment="" date="1169565034" path="fon.gif" size="378" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="gear.gif" attr="" comment="" date="1169565034" path="gear.gif" size="596" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="gif.gif" attr="" comment="" date="1169565034" path="gif.gif" size="374" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="globe.gif" attr="" comment="" date="1169565034" path="globe.gif" size="601" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="go_back.gif" attr="" comment="" date="1169565034" path="go_back.gif" size="235" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="go_end.gif" attr="" comment="" date="1169565034" path="go_end.gif" size="240" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="go_fb.gif" attr="" comment="" date="1169565034" path="go_fb.gif" size="242" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="go_ff.gif" attr="" comment="" date="1169565034" path="go_ff.gif" size="242" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="go_forward.gif" attr="" comment="" date="1169565034" path="go_forward.gif" size="234" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="go_start.gif" attr="" comment="" date="1169565034" path="go_start.gif" size="236" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="group.gif" attr="" comment="" date="1169565034" path="group.gif" size="182" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="h.gif" attr="" comment="" date="1169565034" path="h.gif" size="375" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="hand.gif" attr="" comment="" date="1169565034" path="hand.gif" size="344" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="help.gif" attr="" comment="" date="1169565034" path="help.gif" size="212" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="hlp.gif" attr="" comment="" date="1169565034" path="hlp.gif" size="370" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="home.gif" attr="" comment="" date="1169565034" path="home.gif" size="342" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="hourglass.gif" attr="" comment="" date="1169565034" path="hourglass.gif" size="371" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="html.gif" attr="" comment="" date="1169565034" path="html.gif" size="376" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="index.gif" attr="" comment="" date="1169565034" path="index.gif" size="100" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="indexlist.gif" attr="" comment="" date="1169565034" path="indexlist.gif" size="102" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="info.gif" attr="" comment="" date="1169565034" path="info.gif" size="212" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="java.gif" attr="" comment="" date="1169565034" path="java.gif" size="375" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="jpg.gif" attr="" comment="" date="1169565034" path="jpg.gif" size="375" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="js.gif" attr="" comment="" date="1169565034" path="js.gif" size="378" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="key.gif" attr="" comment="" date="1169565034" path="key.gif" size="91" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-aqua.gif" attr="" comment="" date="1169565034" path="led-aqua.gif" size="951" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-blue.gif" attr="" comment="" date="1169565034" path="led-blue.gif" size="944" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-box-aqua.gif" attr="" comment="" date="1169565034" path="led-box-aqua.gif" size="393" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-box-blue.gif" attr="" comment="" date="1169565034" path="led-box-blue.gif" size="393" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-box-gray.gif" attr="" comment="" date="1169565034" path="led-box-gray.gif" size="389" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-box-green.gif" attr="" comment="" date="1169565034" path="led-box-green.gif" size="393" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-box-orange.gif" attr="" comment="" date="1169565034" path="led-box-orange.gif" size="393" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-box-purple.gif" attr="" comment="" date="1169565034" path="led-box-purple.gif" size="393" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-box-red.gif" attr="" comment="" date="1169565034" path="led-box-red.gif" size="393" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-box-yellow.gif" attr="" comment="" date="1169565034" path="led-box-yellow.gif" size="393" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-gray.gif" attr="" comment="" date="1169565034" path="led-gray.gif" size="935" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-green.gif" attr="" comment="" date="1169565034" path="led-green.gif" size="944" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-orange.gif" attr="" comment="" date="1169565034" path="led-orange.gif" size="951" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-purple.gif" attr="" comment="" date="1169565035" path="led-purple.gif" size="951" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-red.gif" attr="" comment="" date="1169565034" path="led-red.gif" size="943" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="led-yellow.gif" attr="" comment="" date="1169565034" path="led-yellow.gif" size="944" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="left.gif" attr="" comment="" date="1169565034" path="left.gif" size="195" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_ld.gif" attr="" comment="" date="1169565034" path="line_ld.gif" size="106" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_lr.gif" attr="" comment="" date="1169565034" path="line_lr.gif" size="105" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_lrd.gif" attr="" comment="" date="1169565034" path="line_lrd.gif" size="111" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_rd.gif" attr="" comment="" date="1169565034" path="line_rd.gif" size="106" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_ud.gif" attr="" comment="" date="1169565034" path="line_ud.gif" size="114" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_udl.gif" attr="" comment="" date="1169565034" path="line_udl.gif" size="116" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_udlr.gif" attr="" comment="" date="1169565034" path="line_udlr.gif" size="116" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_udr.gif" attr="" comment="" date="1169565034" path="line_udr.gif" size="115" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_ul.gif" attr="" comment="" date="1169565034" path="line_ul.gif" size="111" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_ulr.gif" attr="" comment="" date="1169565034" path="line_ulr.gif" size="112" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="line_ur.gif" attr="" comment="" date="1169565034" path="line_ur.gif" size="111" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="lock.gif" attr="" comment="" date="1169565034" path="lock.gif" size="221" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="lockfolder.gif" attr="" comment="" date="1169565034" path="lockfolder.gif" size="213" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="lockfoldergray.gif" attr="" comment="" date="1169565034" path="lockfoldergray.gif" size="156" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="locktopic.gif" attr="" comment="" date="1169565034" path="locktopic.gif" size="217" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="locktopicgray.gif" attr="" comment="" date="1169565034" path="locktopicgray.gif" size="159" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="logout.gif" attr="" comment="" date="1169565034" path="logout.gif" size="221" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="mail.gif" attr="" comment="" date="1169565034" path="mail.gif" size="224" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="map.gif" attr="" comment="" date="1181928995" path="map.gif" size="932" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="mdb.gif" attr="" comment="" date="1169565034" path="mdb.gif" size="385" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="minus.gif" attr="" comment="" date="1169565034" path="minus.gif" size="83" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="mobile.gif" attr="" comment="" date="1193349525" path="mobile.gif" size="333" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="monospace.gif" attr="" comment="" date="1169565034" path="monospace.gif" size="145" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="more-small.gif" attr="" comment="" date="1169565034" path="more-small.gif" size="84" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="more.gif" attr="" comment="" date="1169565034" path="more.gif" size="118" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="mov.gif" attr="" comment="" date="1169565034" path="mov.gif" size="379" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="move.gif" attr="" comment="" date="1169565034" path="move.gif" size="204" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="mp3.gif" attr="" comment="" date="1169565034" path="mp3.gif" size="377" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="new.gif" attr="" comment="" date="1169565034" path="new.gif" size="298" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="newtopic.gif" attr="" comment="" date="1169565034" path="newtopic.gif" size="340" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="note.gif" attr="" comment="" date="1169565034" path="note.gif" size="222" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="notify.gif" attr="" comment="" date="1169565034" path="notify.gif" size="347" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="package.gif" attr="" comment="" date="1169565034" path="package.gif" size="173" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="parked.gif" attr="" comment="" date="1169565034" path="parked.gif" size="225" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="parts.gif" attr="" comment="" date="1193349525" path="parts.gif" size="908" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="pdf.gif" attr="" comment="" date="1169565034" path="pdf.gif" size="375" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="pencil.gif" attr="" comment="" date="1169565034" path="pencil.gif" size="539" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="person.gif" attr="" comment="" date="1169565034" path="person.gif" size="166" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="persons.gif" attr="" comment="" date="1169565034" path="persons.gif" size="172" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="phone.gif" attr="" comment="" date="1193349525" path="phone.gif" size="116" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="photo.gif" attr="" comment="" date="1169565034" path="photo.gif" size="328" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="pl.gif" attr="" comment="" date="1169565034" path="pl.gif" size="380" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="plugin.gif" attr="" comment="" date="1169565034" path="plugin.gif" size="357" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="plus.gif" attr="" comment="" date="1169565034" path="plus.gif" size="90" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="png.gif" attr="" comment="" date="1169565034" path="png.gif" size="378" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="ppt.gif" attr="" comment="" date="1169565034" path="ppt.gif" size="373" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="printtopic.gif" attr="" comment="" date="1169565034" path="printtopic.gif" size="221" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="proportional.gif" attr="" comment="" date="1169565034" path="proportional.gif" size="137" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="ps.gif" attr="" comment="" date="1169565034" path="ps.gif" size="362" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="psd.gif" attr="" comment="" date="1169565034" path="psd.gif" size="369" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="puzzle.gif" attr="" comment="" date="1169565034" path="puzzle.gif" size="332" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="py.gif" attr="" comment="" date="1169565034" path="py.gif" size="382" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="question.gif" attr="" comment="" date="1169565034" path="question.gif" size="214" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="quiet.gif" attr="" comment="" date="1193349525" path="quiet.gif" size="977" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="ram.gif" attr="" comment="" date="1169565034" path="ram.gif" size="373" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="recentchanges.gif" attr="" comment="" date="1169565035" path="recentchanges.gif" size="220" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="refreshtopic.gif" attr="" comment="" date="1169565034" path="refreshtopic.gif" size="229" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="reg.gif" attr="" comment="" date="1169565034" path="reg.gif" size="377" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="rfc.gif" attr="" comment="" date="1169565034" path="rfc.gif" size="369" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="right.gif" attr="" comment="" date="1169565034" path="right.gif" size="194" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="rss-feed.gif" attr="" comment="" date="1169565034" path="rss-feed.gif" size="227" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="rss-small.gif" attr="" comment="" date="1169565034" path="rss-small.gif" size="122" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="save.gif" attr="" comment="" date="1169565034" path="save.gif" size="222" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="search-small.gif" attr="" comment="" date="1169565034" path="search-small.gif" size="554" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="searchpackage.gif" attr="" comment="" date="1169565034" path="searchpackage.gif" size="383" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="searchtag.gif" attr="" comment="" date="1169565034" path="searchtag.gif" size="380" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="searchtopic.gif" attr="" comment="" date="1169565034" path="searchtopic.gif" size="580" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="sh.gif" attr="" comment="" date="1169565034" path="sh.gif" size="380" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="sitemap.gif" attr="" comment="" date="1193349525" path="sitemap.gif" size="090" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="sitetree.gif" attr="" comment="" date="1193349525" path="sitetree.gif" size="892" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="skin.gif" attr="" comment="" date="1169565034" path="skin.gif" size="356" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="skype.gif" attr="" comment="" date="1193349525" path="skype.gif" size="588" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="sniff.gif" attr="" comment="" date="1169565034" path="sniff.gif" size="368" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="sort.gif" attr="" comment="" date="1169565034" path="sort.gif" size="129" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="stargold.gif" attr="" comment="" date="1169565034" path="stargold.gif" size="338" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="starred.gif" attr="" comment="" date="1169565034" path="starred.gif" size="226" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="statistics.gif" attr="" comment="" date="1169565034" path="statistics.gif" size="118" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="stop.gif" attr="" comment="" date="1169565034" path="stop.gif" size="159" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="swf.gif" attr="" comment="" date="1169565034" path="swf.gif" size="380" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="table.gif" attr="" comment="" date="1193349525" path="table.gif" size="136" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tablesortdiamond.gif" attr="" comment="" date="1169565034" path="tablesortdiamond.gif" size="369" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tablesortdown.gif" attr="" comment="" date="1169565034" path="tablesortdown.gif" size="351" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tablesortup.gif" attr="" comment="" date="1169565034" path="tablesortup.gif" size="351" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-black.gif" attr="" comment="" date="1169565034" path="tag-black.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-blue.gif" attr="" comment="" date="1169565034" path="tag-blue.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-brown.gif" attr="" comment="" date="1169565034" path="tag-brown.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-green.gif" attr="" comment="" date="1169565034" path="tag-green.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-magenta.gif" attr="" comment="" date="1169565034" path="tag-magenta.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-orange.gif" attr="" comment="" date="1169565034" path="tag-orange.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-purple.gif" attr="" comment="" date="1169565034" path="tag-purple.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-red.gif" attr="" comment="" date="1169565034" path="tag-red.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag-yellow.gif" attr="" comment="" date="1169565034" path="tag-yellow.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tag.gif" attr="" comment="" date="1169565034" path="tag.gif" size="348" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="target.gif" attr="" comment="" date="1169565034" path="target.gif" size="261" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="tip.gif" attr="" comment="" date="1169565034" path="tip.gif" size="233" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="todo.gif" attr="" comment="" date="1169565034" path="todo.gif" size="318" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="toggleclose-mini.gif" attr="" comment="" date="1169565034" path="toggleclose-mini.gif" size="51" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="toggleclose-small.gif" attr="" comment="" date="1169565034" path="toggleclose-small.gif" size="135" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="toggleclose.gif" attr="" comment="" date="1169565034" path="toggleclose.gif" size="142" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="togglecloseleft-small.gif" attr="" comment="" date="1169565034" path="togglecloseleft-small.gif" size="135" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="toggleopen-mini.gif" attr="" comment="" date="1169565034" path="toggleopen-mini.gif" size="51" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="toggleopen-small.gif" attr="" comment="" date="1169565034" path="toggleopen-small.gif" size="136" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="toggleopen.gif" attr="" comment="" date="1169565034" path="toggleopen.gif" size="143" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="toggleopenleft-small.gif" attr="" comment="" date="1169565034" path="toggleopenleft-small.gif" size="135" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="toggleopenleft.gif" attr="" comment="" date="1169565034" path="toggleopenleft.gif" size="141" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="topicbacklinks.gif" attr="" comment="" date="1169565034" path="topicbacklinks.gif" size="130" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="topicdiffs.gif" attr="" comment="" date="1169565034" path="topicdiffs.gif" size="157" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="trash.gif" attr="" comment="" date="1169565034" path="trash.gif" size="224" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="ttf.gif" attr="" comment="" date="1169565034" path="ttf.gif" size="378" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="twiki.gif" attr="" comment="" date="1169565034" path="twiki.gif" size="585" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="txt.gif" attr="" comment="" date="1169565034" path="txt.gif" size="375" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="unchecked.gif" attr="" comment="" date="1169565034" path="unchecked.gif" size="96" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="up.gif" attr="" comment="" date="1169565034" path="up.gif" size="199" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="updated.gif" attr="" comment="" date="1169565034" path="updated.gif" size="401" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-bo.gif" attr="" comment="" date="1193349525" path="uweb-bo.gif" size="158" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-bo12.gif" attr="" comment="" date="1193349525" path="uweb-bo12.gif" size="890" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-g.gif" attr="" comment="" date="1193349525" path="uweb-g.gif" size="999" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-gs.gif" attr="" comment="" date="1193349525" path="uweb-gs.gif" size="978" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-m12.gif" attr="" comment="" date="1193349525" path="uweb-m12.gif" size="925" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-o.gif" attr="" comment="" date="1193349525" path="uweb-o.gif" size="1004" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-o12.gif" attr="" comment="" date="1193349525" path="uweb-o12.gif" size="935" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-oo.gif" attr="" comment="" date="1193349525" path="uweb-oo.gif" size="915" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="uweb-os.gif" attr="" comment="" date="1193349525" path="uweb-o2.gif" size="985" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="vsd.gif" attr="" comment="" date="1169565034" path="vsd.gif" size="373" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="video.gif" attr="" comment="" date="1169565034" path="video.gif" size="329" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="viewtopic.gif" attr="" comment="" date="1169565034" path="viewtopic.gif" size="118" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="warning.gif" attr="" comment="" date="1169565034" path="warning.gif" size="215" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="watch.gif" attr="" comment="" date="1169565034" path="watch.gif" size="237" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="wav.gif" attr="" comment="" date="1169565034" path="wav.gif" size="377" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="web-bg-small.gif" attr="" comment="" date="1169565034" path="web-bg-small.gif" size="77" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="web-bg.gif" attr="" comment="" date="1169565034" path="web-bg.gif" size="85" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="wip.gif" attr="" comment="" date="1169565034" path="wip.gif" size="594" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="wrench.gif" attr="" comment="" date="1169565034" path="wrench.gif" size="377" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="wri.gif" attr="" comment="" date="1169565034" path="wri.gif" size="382" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="xls.gif" attr="" comment="" date="1169565034" path="xls.gif" size="374" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="xml-feed.gif" attr="" comment="" date="1169565034" path="xml-feed.gif" size="223" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="xml-small.gif" attr="" comment="" date="1169565034" path="xml-small.gif" size="100" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="xml.gif" attr="" comment="" date="1169565034" path="xml.gif" size="376" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="xsl.gif" attr="" comment="" date="1169565034" path="xsl.gif" size="375" user="TWikiContributor" version=""}%
+%META:FILEATTACHMENT{name="zip.gif" attr="" comment="" date="1169565034" path="zip.gif" size="383" user="TWikiContributor" version=""}%
Modified: twiki/scratch/TWikiStandAlone/lib/MANIFEST
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/MANIFEST 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/MANIFEST 2007-10-26 04:15:19 UTC (rev 15421)
@@ -99,7 +99,7 @@
data/TWiki/DontNotify.txt 0644
data/TWiki/EditDoesNotIncreaseTheRevision.txt 0644
data/TWiki/ExampleTopicTemplate.txt 0644
-data/TWiki/FormatTokens.txt
+data/TWiki/FormatTokens.txt 0644
data/TWiki/FileAttachment.txt 0644
data/TWiki/FileAttribute.txt 0644
data/TWiki/ForceNewRevision.txt 0644
@@ -782,6 +782,7 @@
pub/TWiki/TWikiDocGraphics/locktopicgray.gif 0644
pub/TWiki/TWikiDocGraphics/logout.gif 0644
pub/TWiki/TWikiDocGraphics/mail.gif 0644
+pub/TWiki/TWikiDocGraphics/map.gif 0644
pub/TWiki/TWikiDocGraphics/mdb.gif 0644
pub/TWiki/TWikiDocGraphics/minus.gif 0644
pub/TWiki/TWikiDocGraphics/mobile.gif 0644
@@ -797,6 +798,7 @@
pub/TWiki/TWikiDocGraphics/notify.gif 0644
pub/TWiki/TWikiDocGraphics/package.gif 0644
pub/TWiki/TWikiDocGraphics/parked.gif 0644
+pub/TWiki/TWikiDocGraphics/parts.gif 0644
pub/TWiki/TWikiDocGraphics/pdf.gif 0644
pub/TWiki/TWikiDocGraphics/pencil.gif 0644
pub/TWiki/TWikiDocGraphics/person.gif 0644
@@ -830,6 +832,8 @@
pub/TWiki/TWikiDocGraphics/searchtag.gif 0644
pub/TWiki/TWikiDocGraphics/searchtopic.gif 0644
pub/TWiki/TWikiDocGraphics/sh.gif 0644
+pub/TWiki/TWikiDocGraphics/sitemap.gif 0644
+pub/TWiki/TWikiDocGraphics/sitetree.gif 0644
pub/TWiki/TWikiDocGraphics/skin.gif 0644
pub/TWiki/TWikiDocGraphics/skype.gif 0644
pub/TWiki/TWikiDocGraphics/sniff.gif 0644
Modified: twiki/scratch/TWikiStandAlone/lib/Monitor.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/Monitor.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/Monitor.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -89,11 +89,15 @@
}
sub END {
+ writeReport();
+}
+
+sub writeReport {
return unless ($ENV{TWIKI_MONITOR});
MARK('END');
- my $lastbm;
- my $firstbm;
- my %mash;
+# my $lastbm;
+# my $firstbm;
+# my %mash;
# foreach my $bm (@times) {
# $firstbm = $bm unless $firstbm;
# if ($lastbm) {
@@ -104,6 +108,7 @@
# }
# $lastbm = $bm;
# }
+# @times = ();
my %methods;
foreach my $call (@methodStats) {
$methods{$call->{method}} = {count=>0,min=>99999999,max=>0} unless defined($methods{$call->{method}} );
@@ -126,6 +131,7 @@
.sprintf('%6.3f', $methods{$method}{max}).' | '
.timestr($methods{$method}{total})." | $method |";
}
+ @methodStats = ();
print STDERR "\n";
}
Modified: twiki/scratch/TWikiStandAlone/lib/TWiki/Configure/UI.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/TWiki/Configure/UI.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/TWiki/Configure/UI.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -215,12 +215,14 @@
return 0;
}
- if (crypt($pass, $TWiki::cfg{Password}) ne $TWiki::cfg{Password}) {
+ # If a password has been defined, check that it has been used
+ if ($TWiki::cfg{Password} &&
+ crypt($pass, $TWiki::cfg{Password}) ne $TWiki::cfg{Password}) {
print CGI::div({class=>'error'}, "Password incorrect");
return 0;
}
- # Password is correct
+ # Password is correct, or no password defined
# Change the password if so requested
my $newPass = $TWiki::query->param('newCfgP');
Modified: twiki/scratch/TWikiStandAlone/lib/TWiki/Configure/UIs/Value.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/TWiki/Configure/UIs/Value.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/TWiki/Configure/UIs/Value.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -49,7 +49,7 @@
$info .= $check;
$isBroken = 1;
}
- if ($check eq 'NOT USED IN THIS CONFIGURATION') {
+ if ($check && $check eq 'NOT USED IN THIS CONFIGURATION') {
$isUnused = 1;
}
}
Modified: twiki/scratch/TWikiStandAlone/lib/TWiki/Engine/HTTP.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/TWiki/Engine/HTTP.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/TWiki/Engine/HTTP.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -165,6 +165,13 @@
my ( $this, $req ) = @_;
$req->header( $_ => $this->{r}->header($_) )
foreach $this->{r}->header_field_names;
+ if ( $TWiki::cfg{BehindProxy} ) {
+ if ( my $source = $req->header('X-Forwarded-For') ) {
+ my $ip = (split /[, ]+/, $source)[-1];
+ $req->remoteAddress($1)
+ if defined $ip and $ip =~ /^((?:\d{1,3}\.){3}\d{1,3})$/;
+ }
+ }
my $user;
if ( $TWiki::cfg{LoginManager} eq 'TWiki::LoginManager::ApacheLogin' ) {
my ( $pass, $htPasswd );
Modified: twiki/scratch/TWikiStandAlone/lib/TWiki/If/Node.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/TWiki/If/Node.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/TWiki/If/Node.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -23,10 +23,24 @@
}
}
+# Used wherever a plain string is expected, this method suppresses automatic
+# lookup of names in meta-data
+sub _evaluate {
+ my $this = shift;
+ my $result;
+
+ if (!ref( $this->{op})) {
+ return $this->{params}[0];
+ } else {
+ return $this->evaluate(@_);
+ }
+}
+
sub OP_context {
- my( $this, %domain ) = @_;
+ my $this = shift;
my $a = $this->{params}->[0];
- my $text = $a->evaluate() || '';
+ my $text = $a->_evaluate(@_) || '';
+ my %domain = @_;
my $session = $domain{tom}->session;
throw Error::Simple('No context in which to evaluate "'.
$a->stringify().'"') unless $session;
@@ -34,14 +48,15 @@
}
sub OP_allows {
- my( $this, %domain ) = @_;
+ my $this = shift;
my $a = $this->{params}->[0]; # topic name (string)
my $b = $this->{params}->[1]; # access mode (string)
- my $mode = $b->evaluate() || 'view';
+ my $mode = $b->_evaluate(@_) || 'view';
+ my %domain = @_;
my $session = $domain{tom}->session;
throw Error::Simple('No context in which to evaluate "'.
$a->stringify().'"') unless $session;
- my $str = $a->evaluate();
+ my $str = $a->evaluate(@_);
return 0 unless $str;
my ($web, $topic) = $session->normalizeWebTopicName(
$session->{webName}, $str);
@@ -59,33 +74,36 @@
}
sub OP_istopic {
- my( $this, %domain ) = @_;
+ my $this = shift;
my $a = $this->{params}->[0];
- my $session = $domain{tom}->{_session};
+ my %domain = @_;
+ my $session = $domain{tom}->session;
throw Error::Simple('No context in which to evaluate "'.
$a->stringify().'"') unless $session;
my ($web, $topic) = $session->normalizeWebTopicName(
- $session->{webName}, $a->evaluate() || '');
+ $session->{webName}, $a->_evaluate(@_) || '');
return $session->{store}->topicExists($web, $topic) ? 1 : 0;
}
sub OP_isweb {
- my( $this, %domain ) = @_;
+ my $this = shift;
my $a = $this->{params}->[0];
- my $session = $domain{tom}->{_session};
+ my %domain = @_;
+ my $session = $domain{tom}->session;
throw Error::Simple('No context in which to evaluate "'.
$a->stringify().'"') unless $session;
- my $web = $a->evaluate() || '';
+ my $web = $a->_evaluate(@_) || '';
return $session->{store}->webExists($web) ? 1 : 0;
}
sub OP_dollar {
- my( $this, %domain ) = @_;
+ my $this = shift;
my $a = $this->{params}->[0];
+ my %domain = @_;
my $session = $domain{tom}->session;
throw Error::Simple('No context in which to evaluate "'.
$a->stringify().'"') unless $session;
- my $text = $a->evaluate() || '';
+ my $text = $a->_evaluate(@_) || '';
if( $text && defined( $session->{request}->param( $text ))) {
return $session->{request}->param( $text );
}
@@ -97,30 +115,33 @@
}
sub OP_defined {
- my( $this, %domain ) = @_;
+ my $this = shift;
my $a = $this->{params}->[0];
- my $session = $domain{tom}->{_session};
+ my %domain = @_;
+ my $session = $domain{tom}->session;
throw Error::Simple('No context in which to evaluate "'.
$a->stringify().'"') unless $session;
- my $eval = $a->evaluate();
+ my $eval = $a->_evaluate(@_);
return 0 unless $eval;
return 1 if( defined( $session->{request}->param( $eval )));
return 1 if( defined(
$session->{prefs}->getPreferencesValue( $eval )));
return 1 if( defined( $session->{SESSION_TAGS}{$eval} ));
+ return 1 if( defined( $TWiki::functionTags{$eval} ));
return 0;
}
sub OP_ingroup {
- my( $this, %domain ) = @_;
+ my $this = shift;
my $a = $this->{params}->[0]; # user cUID/ loginname / WikiName / WebDotWikiName :( (string)
my $b = $this->{params}->[1]; # group name (string
- my $session = $domain{tom}->{_session};
+ my %domain = @_;
+ my $session = $domain{tom}->session;
throw Error::Simple('No context in which to evaluate "'.
$a->stringify().'"') unless $session;
- my $user = $session->{users}->getCanonicalUserID($a->evaluate());
+ my $user = $session->{users}->getCanonicalUserID($a->evaluate(@_));
return 0 unless $user;
- my $group = $b->evaluate();
+ my $group = $b->_evaluate(@_);
return 0 unless $group;
return 1 if( $session->{users}->isInGroup($user, $group) );
return 0;
Modified: twiki/scratch/TWikiStandAlone/lib/TWiki/Query/HoistREs.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/TWiki/Query/HoistREs.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/TWiki/Query/HoistREs.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -29,7 +29,7 @@
# second level LHS is a field access
# second level RHS is a static string or number
-sub MONITOR_HOIST { 0 }
+sub MONITOR_HOIST { 1 }
=pod
@@ -179,7 +179,13 @@
}
} elsif (!ref($node->{op}) && $node->{op} eq $TWiki::Infix::Node::NAME) {
- if ($node->{params}[0] eq 'text') {
+ if ($node->{params}[0] eq 'name') {
+ # Special case for the topic name
+ return undef;
+ } elsif ($node->{params}[0] eq 'web') {
+ # Special case for the web name
+ return undef;
+ } elsif ($node->{params}[0] eq 'text') {
# Special case for the text body
return "\000RHS\001";
} else {
Modified: twiki/scratch/TWikiStandAlone/lib/TWiki/UI.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/TWiki/UI.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/TWiki/UI.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -122,6 +122,8 @@
sub handleRequest {
my $req = prepare(@_);
if ( ref $req ) {
+ use Data::Dumper;
+ print STDERR Dumper($req);
my $res = dispatch($req);
finalize( $res, $req );
return $res->status;
Modified: twiki/scratch/TWikiStandAlone/lib/TWiki/Users.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/TWiki/Users.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/TWiki/Users.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -243,7 +243,9 @@
$login = $plogin if $plogin;
# if we get here without a login id, we are a guest
- my $cUID = $this->getCanonicalUserID( $login ) || $this->getCanonicalUserID( $TWiki::cfg{DefaultUserLogin} );
+ my $cUID;
+ $cUID = $this->getCanonicalUserID( $login ) if (defined($login) && ($login ne ''));
+ $cUID = $cUID || $this->getCanonicalUserID( $TWiki::cfg{DefaultUserLogin} );
return $cUID;
}
@@ -520,17 +522,26 @@
sub getWikiName {
my ($this, $cUID ) = @_;
- return 'UnknownUser' unless $cUID;
+ return 'UnknownUser' unless defined($cUID);
return $this->{getWikiName}->{$cUID} if (defined($this->{getWikiName}->{$cUID}));
my $legacycUID = $this->getCanonicalUserID($cUID);
- my $wikiname = $this->_getMapping($legacycUID)->getWikiName($legacycUID) if ($legacycUID && $this->_getMapping($legacycUID));
- if (defined($TWiki::cfg{RenderLoggedInButUnknownUsers} ) || ($TWiki::cfg{RenderLoggedInButUnknownUsers}) ) {
- $this->{getWikiName}->{$cUID} = $wikiname || "UnknownUser (<nop>$cUID)";
- } else {
- $this->{getWikiName}->{$cUID} = $wikiname || "$cUID";
- }
+ my $wikiname;
+ $wikiname = $this->_getMapping($legacycUID)->getWikiName($legacycUID) if (defined($legacycUID) && ($legacycUID ne '') && $this->_getMapping($legacycUID));
+
+ if (!defined($wikiname)) {
+ if (defined($TWiki::cfg{RenderLoggedInButUnknownUsers} ) &&
+ ($TWiki::cfg{RenderLoggedInButUnknownUsers}) ) {
+ $wikiname = "UnknownUser (<nop>$cUID)";
+ } else {
+ $wikiname = "$cUID";
+ }
+ }
+
+ my ( $web, $topic ) = $this->{session}->normalizeWebTopicName( $TWiki::cfg{UsersWebName}, $wikiname );
+ $this->{getWikiName}->{$cUID} = $topic;
+
return $this->{getWikiName}->{$cUID};
}
@@ -782,12 +793,15 @@
used for debugging to ensure we are actually passing a canonical_id
+These ASSERTS have been disabled, as they have been made dangerous and misleading
+due to the legacy cUID code
+
=cut
sub ASSERT_IS_CANONICAL_USER_ID {
my( $this, $user_id ) = @_;
- $this->_getMapping($user_id)->ASSERT_IS_CANONICAL_USER_ID($user_id) if ($this->_getMapping($user_id));
+ #$this->_getMapping($user_id)->ASSERT_IS_CANONICAL_USER_ID($user_id) if ($this->_getMapping($user_id));
}
=pod
@@ -796,11 +810,14 @@
used for debugging to ensure we are actually passing a user login
+These ASSERTS have been disabled, as they have been made dangerous and misleading
+due to the legacy cUID code
+
=cut
sub ASSERT_IS_USER_LOGIN_ID {
my( $this, $user_login ) = @_;
- $this->_getMapping(undef, $user_login)->ASSERT_IS_USER_LOGIN_ID($user_login) if ($this->_getMapping(undef, $user_login));
+ #$this->_getMapping(undef, $user_login)->ASSERT_IS_USER_LOGIN_ID($user_login) if ($this->_getMapping(undef, $user_login));
}
@@ -810,11 +827,14 @@
used for debugging to ensure we are actually passing a user display_name (commonly a WikiWord Name)
+These ASSERTS have been disabled, as they have been made dangerous and misleading
+due to the legacy cUID code
+
=cut
sub ASSERT_IS_USER_DISPLAY_NAME {
my( $this, $user_display ) = @_;
- $this->_getMapping(undef, undef, $user_display)->ASSERT_IS_USER_DISPLAY_NAME($user_display) if ($this->_getMapping(undef, undef, $user_display));
+ #$this->_getMapping(undef, undef, $user_display)->ASSERT_IS_USER_DISPLAY_NAME($user_display) if ($this->_getMapping(undef, undef, $user_display));
}
1;
Modified: twiki/scratch/TWikiStandAlone/lib/TWiki.spec
===================================================================
--- twiki/scratch/TWikiStandAlone/lib/TWiki.spec 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/lib/TWiki.spec 2007-10-26 04:15:19 UTC (rev 15421)
@@ -544,6 +544,24 @@
# '^.*$' to allow all environment variables to be seen (not recommended).
$TWiki::cfg{AccessibleENV} = '^(HTTP_\w+|REMOTE_\w+|SERVER_\w+|REQUEST_\w+|MOD_PERL)$';
+# **BOOLEAN EXPERT**
+# If you are using HTTP engine it's <b>really</b> recommended to run it
+# behind a proxy. <br />
+#
+# Check this option only if you are using HTTP engine <b>and</b> running
+# behind a proxy. <br/>
+#
+# If you are running behind a proxy with this unchecked then
+# <code>%ENV{"REMOTE_ADDR"}%</code> will always return proxy's IP
+# (and <b>{Sessions}{UseIPMatching}</b> will be useless)<br/>
+#
+# If you are not running behind a proxy and leave this checked then an
+# attacker can perform an IP Spoofing by sending a fake
+# <code>X-Forwarded-For</code> HTTP header. <br/>
+#
+# This option matters only to HTTP engine.
+$TWiki::cfg{BehindProxy} = 0;
+
#---+ Anti-spam measures
# Standard TWiki incorporates some simple anti-spam measures to protect
Added: twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/parts.gif
===================================================================
(Binary files differ)
Property changes on: twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/parts.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/quiet.gif
===================================================================
(Binary files differ)
Added: twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/sitemap.gif
===================================================================
(Binary files differ)
Property changes on: twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/sitemap.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/sitetree.gif
===================================================================
(Binary files differ)
Property changes on: twiki/scratch/TWikiStandAlone/pub/TWiki/TWikiDocGraphics/sitetree.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: twiki/scratch/TWikiStandAlone/twikiplugins/GenPDFAddOn/data/TWiki/GenPDFAddOn.txt
===================================================================
--- twiki/scratch/TWikiStandAlone/twikiplugins/GenPDFAddOn/data/TWiki/GenPDFAddOn.txt 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/twikiplugins/GenPDFAddOn/data/TWiki/GenPDFAddOn.txt 2007-10-26 04:15:19 UTC (rev 15421)
@@ -151,8 +151,9 @@
---++ Add-On Info
| Add-on Author: | TWiki:Main/BrianSpinar, TWiki:Main/WadeTurland |
-| Add-on Version: | 31 Aug 2007 |
+| Add-on Version: | 23 Oct 2007 |
| Change History: | |
+| 23 Oct 2007 | Fixed Bugs:Item4452 & Bugs:Item4885, compatibility with Perl 5.6 and missing images with SSL certificates |
| 31 Aug 2007 | Fixed Bugs:Item4530, improper rendering of lists |
| 13196 | Removed =nop= tags before sending to htmldoc, fixed Bugs:Item3549 |
| 11673 | TWiki:Main/RickMach updated MIME type to pdf from x-pdf, fixed bug preventing disabling the TOC |
Modified: twiki/scratch/TWikiStandAlone/twikiplugins/GenPDFAddOn/lib/TWiki/Contrib/GenPDF.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/twikiplugins/GenPDFAddOn/lib/TWiki/Contrib/GenPDF.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/twikiplugins/GenPDFAddOn/lib/TWiki/Contrib/GenPDF.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -50,7 +50,7 @@
use CGI;
use TWiki::Func;
use TWiki::UI::View;
-use File::Temp;
+use File::Temp qw( tempfile );
use Error qw( :try );
use vars qw( $VERSION $RELEASE );
@@ -245,19 +245,27 @@
# FIXME - should this be a preference?
$text =~ s/<span class="twikiNewLink".*?>([\w\s]+)<.*?\/span>/$1/gs;
- # Fix the image tags for links relative to web server root and
- # fully qualify any unqualified URLs (to make it portable to another host)
+ # Fix the image tags to use hard-desk path range than url paths.
+ # This is needed in case wiki requires read authentication like SSL client
+ # certificates.
+ # Fully qualify any unqualified URLs (to make it portable to another host)
my $url = TWiki::Func::getUrlHost();
- $text =~ s/<img(.*?) src="\//<img$1 src="$url\//sgi;
+ my $pdir = TWiki::Func::getPubDir();
+ my $purlp = TWiki::Func::getPubUrlPath();
+
+ $text =~ s!<img(.*?) src="($url)?$purlp!<img$1 src="$pdir\/!sgi;
$text =~ s/<a(.*?) href="(?!#)\//<a$1 href="$url\//sgi;
# Save it to a file
- my $fh = new File::Temp(TEMPLATE => 'GenPDFAddOnXXXXXXXXXX',
- DIR => File::Spec->tmpdir(),
- SUFFIX => '.html');
+ my ($fh, $name) = tempfile('GenPDFAddOnXXXXXXXXXX',
+ DIR => File::Spec->tmpdir(),
+ SUFFIX => '.html');
+ open $fh, ">$name";
+
print $fh $text;
- return $fh;
+ close $fh;
+ return $name;
}
@@ -356,10 +364,14 @@
# FIXME - should this be a preference?
$html =~ s/<span class="twikiNewLink".*?>([\w\s]+)<.*?\/span>/$1/gs;
- # Fix the image tags for links relative to web server root and
- # fully qualify any unqualified URLs (to make it portable to another host)
+ # Fix the image tags to use hard-disk path rather than relative url paths for
+ # images. Needed if wiki requires authentication like SSL client certifcates.
+ # Fully qualify any unqualified URLs (to make it portable to another host)
my $url = TWiki::Func::getUrlHost();
- $html =~ s/<img(.*?) src="\//<img$1 src="$url\//sgi;
+ my $pdir = TWiki::Func::getPubDir();
+ my $purlp = TWiki::Func::getPubUrlPath();
+
+ $html =~ s!<img(.*?) src="($url)?$purlp!<img$1 src="$pdir\/!sgi;
$html =~ s/<a(.*?) href="\//<a$1 href="$url\//sgi;
# link internally if we include the topic
for my $wikiword (@$refTopics) {
@@ -391,34 +403,33 @@
# HTMLDOC location
# $TWiki::htmldocCmd must be set in TWiki.cfg
- use constant {
- BANNER => "",
- TITLE => "",
- SUBTITLE => "",
- HEADERTOPIC => "",
- TITLETOPIC => "",
- SKIN => "print.pattern",
- RECURSIVE => undef,
- FORMAT => "pdf14",
- TOCLEVELS => 5,
- PAGESIZE => "a4",
- ORIENTATION => "portrait",
- WIDTH => 860,
- HEADERSHIFT => 0,
- KEYWORDS => '%FORMFIELD{"KeyWords"}%',
- SUBJECT => '%FORMFIELD{"TopicHeadline"}%',
- TOCHEADER => "...",
- TOCFOOTER => "..i",
- HEADFOOTFONT => "",
- BODYIMAGE => "",
- LOGOIMAGE => "",
- NUMBEREDTOC => undef,
- DUPLEX => undef,
- PERMISSIONS => undef,
- MARGINS => undef,
- BODYCOLOR => undef,
- };
+ use constant BANNER => "";
+ use constant TITLE => "";
+ use constant SUBTITLE => "";
+ use constant HEADERTOPIC => "";
+ use constant TITLETOPIC => "";
+ use constant SKIN => "print.pattern";
+ use constant RECURSIVE => undef;
+ use constant FORMAT => "pdf14";
+ use constant TOCLEVELS => 5;
+ use constant PAGESIZE => "a4";
+ use constant ORIENTATION => "portrait";
+ use constant WIDTH => 860;
+ use constant HEADERSHIFT => 0;
+ use constant KEYWORDS => '%FORMFIELD{"KeyWords"}%';
+ use constant SUBJECT => '%FORMFIELD{"TopicHeadline"}%';
+ use constant TOCHEADER => "...";
+ use constant TOCFOOTER => "..i";
+ use constant HEADFOOTFONT => "";
+ use constant BODYIMAGE => "";
+ use constant LOGOIMAGE => "";
+ use constant NUMBEREDTOC => undef;
+ use constant DUPLEX => undef;
+ use constant PERMISSIONS => undef;
+ use constant MARGINS => undef;
+ use constant BODYCOLOR => undef;
+
# header/footer topic
$prefs{'hftopic'} = $query->param('pdfheadertopic') || TWiki::Func::getPreferencesValue("GENPDFADDON_HEADERTOPIC") || HEADERTOPIC;
@@ -632,11 +643,13 @@
$htmlData =~ s|.*(<!DOCTYPE)|$1|s;
# Save this to a temp file for htmldoc processing
- my $contentFile = new File::Temp(TEMPLATE => 'GenPDFAddOnXXXXXXXXXX',
- DIR => File::Spec->tmpdir(),
- #UNLINK => 0, # DEBUG
- SUFFIX => '.html');
- print $contentFile $hfData . $htmlData;
+ my ($cfh, $contentFile) = tempfile('GenPDFAddOnXXXXXXXXXX',
+ DIR => File::Spec->tmpdir(),
+ #UNLINK => 0, # DEBUG
+ SUFFIX => '.html');
+ open $cfh, ">$contentFile";
+ print $cfh $hfData . $htmlData;
+ close $cfh;
push @contentFiles, $contentFile;
}
@@ -644,10 +657,10 @@
my $titleFile = _createTitleFile($webName);
# Create a temp file for output
- my $outputFile = new File::Temp(TEMPLATE => 'GenPDFAddOnXXXXXXXXXX',
- DIR => File::Spec->tmpdir(),
- #UNLINK => 0, # DEBUG
- SUFFIX => '.pdf');
+ my ($ofh, $outputFile) = tempfile('GenPDFAddOnXXXXXXXXXX',
+ DIR => File::Spec->tmpdir(),
+ #UNLINK => 0, # DEBUG
+ SUFFIX => '.pdf');
# Convert contentFile to PDF using HTMLDOC
my @htmldocArgs;
@@ -686,7 +699,7 @@
push @htmldocArgs, @contentFiles;
- print STDERR "Calling htmldoc with args: @htmldocArgs\n";
+# print STDERR "Calling htmldoc with args: @htmldocArgs\n";
# Disable CGI feature of newer versions of htmldoc
# (thanks to Brent Roberts for this fix)
@@ -722,10 +735,15 @@
} catch Error::Simple with {
};
- while(<$outputFile>){
- print;
+ open $ofh, $outputFile;
+ while(<$ofh>){
+ print;
}
- close $outputFile;
+ close $ofh;
+
+ # Cleaning up temporary files
+ unlink $outputFile, $titleFile;
+ unlink @contentFiles;
}
1;
Modified: twiki/scratch/TWikiStandAlone/twikiplugins/MailerContrib/test/unit/MailerContrib/MailerContribSuite.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/twikiplugins/MailerContrib/test/unit/MailerContrib/MailerContribSuite.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/twikiplugins/MailerContrib/test/unit/MailerContrib/MailerContribSuite.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -67,6 +67,7 @@
"TestGroup", " * Set GROUP = TestUser3\n");
# Must create a new twiki to force re-registration of users
+ $TWiki::cfg{EnableEmail} = 1;
$this->{twiki} = new TWiki();
$this->{twiki}->net->setMailHandler(\&TWikiFnTestCase::sentMail);
@TWikiFnTestCase::mails = ();
Modified: twiki/scratch/TWikiStandAlone/twikiplugins/TWikiUserMappingContrib/data/Main/TWikiAdminGroup.txt
===================================================================
--- twiki/scratch/TWikiStandAlone/twikiplugins/TWikiUserMappingContrib/data/Main/TWikiAdminGroup.txt 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/twikiplugins/TWikiUserMappingContrib/data/Main/TWikiAdminGroup.txt 2007-10-26 04:15:19 UTC (rev 15421)
@@ -1,7 +1,13 @@
%META:TOPICINFO{author="TWikiContributor" date="1111931141" format="1.0" version="$Rev$"}%
---+ TWiki Administrator Group
-<div style="background-color:yellow">
+
+ * Member list (comma-separated list):
+ * Set GROUP =
+ * Persons/group who can change the list:
+ * Set ALLOWTOPICCHANGE = TWikiAdminGroup
+
+<sticky><div style="background-color:yellow"></sticky>
__How to add the first administrator__ %BR%
If you haven't previously set up an administrator, follow these steps:
1 Authenticate as the internal TWiki administrator using the [[%SCRIPTURL{login}%/%WEB%/%TOPIC%?sudo=sudo;origurl=%SCRIPTURL{"view"}%/%BASEWEB%/%BASETOPIC%][internal admin login]] (use the username suggested, and the password you set in =configure=).
@@ -9,14 +15,10 @@
1 Insert the wikinames of admin users in the TWiki Administrator Group by listing them in the GROUP setting %BR% (example =* Set GROUP = <nop>JohnSmith, <nop>JamesBond=)
1 Save this topic
1 [[%LOGOUTURL%][Logout]] from the Internal TWikiAdminUser
- 1 Verify that new members show up properly in the group listing at %USERSWEB%.TWikiGroups </li> <li type="a">Make sure always to keep this topic write protected by keeping the already defined ALLOWTOPICCHANGE setting
+ 1 Verify that new members show up properly in the group listing at %USERSWEB%.TWikiGroups
+ 1 Make sure always to keep this topic write protected by keeping the already defined ALLOWTOPICCHANGE setting
1 The ALLOWTOPICHANGE and ALLOWTOPICRENAME settings in [[%SYSTEMWEB%.TWikiPreferences]] and [[%USERSWEB%.TWikiPreferences]] have already been set to this group (<nop>TWikiAdminGroup), restricting edit of site-wide preferences to the TWiki Administrator Group
-</div>
-
- * Member list (comma-separated list):
- * Set GROUP =
- * Persons/group who can change the list:
- * Set ALLOWTOPICCHANGE = TWikiAdminGroup
+<sticky></div></sticky>
__Related topics:__ %WIKIUSERSTOPIC%, TWikiAdminUser, TWikiGroups, %SYSTEMWEB%.TWikiAccessControl
---
@@ -25,5 +27,3 @@
---
__%X% NOTE:__ If you lock yourself out of <nop>TWikiAdminGroup during setup activities, or have forgotten the configure password, you can edit this group topic at file system level using any text file editor (as a last resort.)
---
-
-
Modified: twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/Fn_IF.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/Fn_IF.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/Fn_IF.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -14,6 +14,532 @@
return $self;
}
+sub test_1 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='B'", then=>0, else=>1);
+}
+
+sub test_2 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'!='B'", then=>1, else=>0);
+}
+
+sub test_3 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='A'", then=>1, else=>0);
+}
+
+sub test_4 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='B'", then=>0, else=>1);
+}
+
+sub test_5 {
+ my $this = shift;
+ $this->simpleTest(test => 'context test', then=>1, else=>0);
+}
+
+sub test_5a {
+ my $this = shift;
+ $this->simpleTest(test => 'context \'test\'', then=>1, else=>0);
+}
+
+sub test_6 {
+ my $this = shift;
+ $this->simpleTest(test => "{Fnargle}='Fleeble'", then=>1, else=>0);
+}
+
+sub test_7 {
+ my $this = shift;
+ $this->simpleTest(test => "{A}{B}='C'", then=>1, else=>0);
+}
+
+sub test_8 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => '$ WIKINAME = \''.$u->getWikiName($this->{twiki}->{user})."'", then=>1, else=>0);
+}
+
+sub test_8a {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => '$ \'WIKINAME\' = \''.$u->getWikiName($this->{twiki}->{user})."'", then=>1, else=>0);
+}
+
+sub test_9 {
+ my $this = shift;
+ $this->simpleTest(test => 'defined EDITBOXHEIGHT', then=>1, else=>0);
+}
+
+sub test_9a {
+ my $this = shift;
+ $this->simpleTest(test => 'defined \'EDITBOXHEIGHT\'', then=>1, else=>0);
+}
+
+sub test_10 {
+ my $this = shift;
+ $this->simpleTest(test => '0>1', then=>0, else=>1);
+}
+
+sub test_11 {
+ my $this = shift;
+ $this->simpleTest(test => '1>0', then=>1, else=>0);
+}
+
+sub test_12 {
+ my $this = shift;
+ $this->simpleTest(test => '1<0', then=>0, else=>1);
+}
+
+sub test_13 {
+ my $this = shift;
+ $this->simpleTest(test => '0<1', then=>1, else=>0);
+}
+
+sub test_14 {
+ my $this = shift;
+ $this->simpleTest(test => "0>=\t1", then=>0, else=>1);
+}
+
+sub test_15 {
+ my $this = shift;
+ $this->simpleTest(test => '1>=0', then=>1, else=>0);
+}
+
+sub test_16 {
+ my $this = shift;
+ $this->simpleTest(test => '1>=1', then=>1, else=>0);
+}
+
+sub test_17 {
+ my $this = shift;
+ $this->simpleTest(test => '1<=0', then=>0, else=>1);
+}
+
+sub test_18 {
+ my $this = shift;
+ $this->simpleTest(test => '0<=1', then=>1, else=>0);
+}
+
+sub test_19 {
+ my $this = shift;
+ $this->simpleTest(test => '1<=1', then=>1, else=>0);
+}
+
+sub test_20 {
+ my $this = shift;
+ $this->simpleTest(test => "not 'A'='B'", then=>1, else=>0);
+}
+
+sub test_21 {
+ my $this = shift;
+ $this->simpleTest(test => "not NOT 'A'='B'", then=>0, else=>1);
+}
+
+sub test_22 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='A' AND 'B'='B'", then=>1, else=>0);
+}
+
+sub test_23 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='A' and 'B'='B'", then=>1, else=>0);
+}
+
+sub test_24 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='A' and 'B'='B'", then=>1, else=>0);
+}
+
+sub test_25 {
+ my $this = shift;
+ $this->simpleTest(test => "('A'='B' or 'A'='A') and ('B'='B')", then=>1, else=>0);
+}
+
+sub test_26 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='B' or 'B'='B'", then=>1, else=>0);
+}
+
+sub test_27 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='A' or 'B'='A'", then=>1, else=>0);
+}
+
+sub test_28 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'='B' or 'B'='A'", then=>0, else=>1);
+}
+
+sub test_29 {
+ my $this = shift;
+ $this->simpleTest(test => "\$PUBURLPATH='".$TWiki::cfg{PubUrlPath}."'", then=>1, else =>0);
+}
+
+sub test_29a {
+ my $this = shift;
+ $this->simpleTest(test => "\$'PUBURLPATH'='".$TWiki::cfg{PubUrlPath}."'", then=>1, else =>0);
+}
+
+sub test_30 {
+ my $this = shift;
+ $this->simpleTest(test => "'A'~'B'", then=>0, else=>1);
+}
+
+sub test_31 {
+ my $this = shift;
+ $this->simpleTest(test => "'ABLABA'~'*B?AB*'", then=>1, else=>0);
+}
+
+sub test_32 {
+ my $this = shift;
+ $this->simpleTest(test => '\"BABBA\"~\"*BB?\"', then=>1, else=>0);
+}
+
+sub test_33 {
+ my $this = shift;
+ $this->simpleTest(test => "lc('FRED')='fred'", then=>1, else=>0);
+}
+
+sub test_34 {
+ my $this = shift;
+ $this->simpleTest(test => "('FRED')=uc 'fred'", then=>1, else=>0);
+}
+
+sub test_35 {
+ my $this = shift;
+ $this->simpleTest(test => "d2n('2007-03-26')=".TWiki::Time::parseTime('2007-03-26', 1), then=>1, else=>0);
+}
+
+sub test_36 {
+ my $this = shift;
+ $this->simpleTest(test => "d2n('wibble')=1174863600", then=>0, else=>1);
+}
+
+sub test_37 {
+ my $this = shift;
+ $this->simpleTest(test => "1 = 1 > 0", then=>1, else=>0);
+}
+
+sub test_38 {
+ my $this = shift;
+ $this->simpleTest(test => "1 > 1 = 0", then=>1, else=>0);
+}
+
+sub test_39 {
+ my $this = shift;
+ $this->simpleTest(test => "not 1 = 2", then=>1, else=>0);
+}
+
+sub test_40 {
+ my $this = shift;
+ $this->simpleTest(test => "not not 1 and 1", then=>1, else=>0);
+}
+
+sub test_41 {
+ my $this = shift;
+ $this->simpleTest(test => "0 or not not 1 and 1", then=>1, else=>0);
+}
+
+sub test_42 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$this->{twiki}->{user}."' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_43 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$this->{twiki}->{user}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_44 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$this->{twiki}->{user}."' ingroup '$TWiki::cfg{SuperAdminGroup}'",
+ then=>0, else=>1);
+}
+
+sub test_45 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$this->{twiki}->{user}."' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_46 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERNAME%' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_47 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERNAME%' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_48 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERNAME%' ingroup '$TWiki::cfg{SuperAdminGroup}'", then=>0, else=>1);
+}
+
+sub test_49 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERNAME%' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_50 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$username\"}%' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_51 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$username\"}%' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test52_ {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$username\"}%' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1);
+}
+
+sub test_53 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$username\"}%' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_54 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$wikiname\"}%' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_55 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$wikiname\"}%' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_56 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$wikiname\"}%' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1);
+}
+
+sub test_57 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$wikiname\"}%' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_58 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$wikiusername\"}%' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_59 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$wikiusername\"}%' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_60 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$wikiusername\"}%' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1);
+}
+
+sub test_61 {
+ my $this = shift;
+ $this->simpleTest(test => "'%USERINFO{format=\"\$wikiusername\"}%' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_62 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getWikiName($this->{twiki}->{user})."' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_63 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getWikiName($this->{twiki}->{user})."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_64 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getWikiName($this->{twiki}->{user})."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1);
+}
+
+sub test_65 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getWikiName($this->{twiki}->{user})."' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_66 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{AdminUserWikiName}."' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_67 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{AdminUserWikiName}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_68 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{AdminUserWikiName}."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>1, else=>0);
+}
+
+sub test_69 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{AdminUserWikiName}."' ingroup 'GropeGroup'", then=>0, else=>1);
+}
+
+sub test_70 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{DefaultUserWikiName}."' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_71 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{DefaultUserWikiName}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_72 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{DefaultUserWikiName}."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1);
+}
+
+sub test_73 {
+ my $this = shift;
+ $this->simpleTest(test => "'$TWiki::cfg{DefaultUserWikiName}' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_74 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{AdminUserLogin}."' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_75 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{AdminUserLogin}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_76 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{AdminUserLogin}."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>1, else=>0);
+}
+
+sub test_77 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{AdminUserLogin}."' ingroup 'GropeGroup'", then=>0, else=>1);
+}
+
+sub test_78 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{DefaultUserLogin}."' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_79 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{DefaultUserLogin}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_80 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{DefaultUserLogin}."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1);
+}
+
+sub test_81 {
+ my $this = shift;
+ $this->simpleTest(test => "'".$TWiki::cfg{DefaultUserLogin}."' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_82 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getCanonicalUserID($TWiki::cfg{AdminUserLogin})."' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_83 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getCanonicalUserID($TWiki::cfg{AdminUserLogin})."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_84 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getCanonicalUserID($TWiki::cfg{AdminUserLogin})."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>1, else=>0);
+}
+
+sub test_85 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getCanonicalUserID($TWiki::cfg{AdminUserLogin})."' ingroup 'GropeGroup'", then=>0, else=>1);
+}
+
+sub test_86 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getCanonicalUserID($TWiki::cfg{DefaultUserLogin})."' ingroup 'TWikiGuest'", then=>0, else=>1);
+}
+
+sub test_87 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getCanonicalUserID($TWiki::cfg{DefaultUserLogin})."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1);
+}
+
+sub test_88 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getCanonicalUserID($TWiki::cfg{DefaultUserLogin})."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1);
+}
+
+sub test_89 {
+ my $this = shift;
+ my $u = $this->{twiki}->{users};
+ $this->simpleTest(test => "'".$u->getCanonicalUserID($TWiki::cfg{DefaultUserLogin})."' ingroup 'GropeGroup'", then=>1, else=>0);
+}
+
+sub test_90 {
+ my $this = shift;
+ $this->simpleTest(test => "isweb 'TWiki'", then=>1, else=>0);
+}
+
+sub test_91 {
+ my $this = shift;
+ $this->simpleTest(test => "isweb 'Not a web'", then=>0, else=>1);
+}
+
+sub test_92 {
+ my $this = shift;
+ $this->simpleTest(test => "istopic \$'TWiki'", then=>0, else=>1);
+}
+
+sub test_93 {
+ my $this = shift;
+ $this->simpleTest(test => "istopic \$'Not a web'", then=>0, else=>1);
+}
+
+sub test_94 {
+ my $this = shift;
+ $this->simpleTest(test => "isweb \$ 'SYSTEMWEB'", then=>1, else=>0);
+}
+
+sub test_95 {
+ my $this = shift;
+ $this->simpleTest(test => 'defined \'SYSTEMWEB\'', then=>1, else=>0);
+}
+
+sub test_96 {
+ my $this = shift;
+ $this->simpleTest(test => 'defined SYSTEMWEB', then=>1, else=>0);
+}
+
+sub test_97 {
+ my $this = shift;
+ $this->simpleTest(test => 'defined \'IF\'', then=>1, else=>0);
+}
+
+sub test_98 {
+ my $this = shift;
+ $this->simpleTest(test => 'defined IF', then=>1, else=>0);
+}
+
+
sub set_up {
my $this = shift;
$this->SUPER::set_up(@_);
@@ -25,115 +551,19 @@
" * Set GROUP = ".$u->getWikiName($this->{twiki}->{user})."\n");
}
-sub test_correctIF {
- my $this = shift;
+sub simpleTest {
+ my ($this, %test) = @_;
$this->{twiki}->enterContext('test');
$TWiki::cfg{Fnargle} = 'Fleeble';
$TWiki::cfg{A}{B} = 'C';
- my $u = $this->{twiki}->{users};
- my @tests = (
- { test => "'A'='B'", then=>0, else=>1 },
- { test => "'A'!='B'", then=>1, else=>0 },
- { test => "'A'='A'", then=>1, else=>0 },
- { test => "'A'='B'", then=>0, else=>1 },
- { test => 'context test', then=>1, else=>0 },
- { test => "{Fnargle}='Fleeble'", then=>1, else=>0 },
- { test => "{A}{B}='C'", then=>1, else=>0 },
- { test => '$ WIKINAME = \''.$u->getWikiName($this->{twiki}->{user})."'",
- then=>1, else=>0 },
- { test => 'defined EDITBOXHEIGHT', then=>1, else=>0 },
- { test => '0>1', then=>0, else=>1 },
- { test => '1>0', then=>1, else=>0 },
- { test => '1<0', then=>0, else=>1 },
- { test => '0<1', then=>1, else=>0 },
- { test => "0>=\t1", then=>0, else=>1 },
- { test => '1>=0', then=>1, else=>0 },
- { test => '1>=1', then=>1, else=>0 },
- { test => '1<=0', then=>0, else=>1 },
- { test => '0<=1', then=>1, else=>0 },
- { test => '1<=1', then=>1, else=>0 },
- { test => "not 'A'='B'", then=>1, else=>0 },
- { test => "not NOT 'A'='B'", then=>0, else=>1 },
- { test => "'A'='A' AND 'B'='B'", then=>1, else=>0 },
- { test => "'A'='A' and 'B'='B'", then=>1, else=>0 },
- { test => "'A'='A' and 'B'='B'", then=>1, else=>0 },
- { test => "('A'='B' or 'A'='A') and ('B'='B')", then=>1, else=>0 },
- { test => "'A'='B' or 'B'='B'", then=>1, else=>0 },
- { test => "'A'='A' or 'B'='A'", then=>1, else=>0 },
- { test => "'A'='B' or 'B'='A'", then=>0, else=>1 },
- { test => "\$PUBURLPATH='".$TWiki::cfg{PubUrlPath}."'", then=>1, else =>0 },
- { test => "'A'~'B'", then=>0, else=>1 },
- { test => "'ABLABA'~'*B?AB*'", then=>1, else=>0 },
- { test => '\"BABBA\"~\"*BB?\"', then=>1, else=>0 },
- { test => "lc('FRED')='fred'", then=>1, else=>0 },
- { test => "('FRED')=uc 'fred'", then=>1, else=>0 },
- { test => "d2n('2007-03-26')=".TWiki::Time::parseTime('2007-03-26', 1), then=>1, else=>0 },
- { test => "d2n('wibble')=1174863600", then=>0, else=>1 },
- { test => "1 = 1 > 0", then=>1, else=>0 },
- { test => "1 > 1 = 0", then=>1, else=>0 },
- { test => "not 1 = 2", then=>1, else=>0 },
- { test => "not not 1 and 1", then=>1, else=>0 },
- { test => "0 or not not 1 and 1", then=>1, else=>0 },
- { test => $this->{twiki}->{user}." ingroup TWikiGuest", then=>0, else=>1 },
- { test => $this->{twiki}->{user}." ingroup ThereHadBetterBeNoSuchGroup", then=>0, else=>1 },
- { test => $this->{twiki}->{user}." ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => $this->{twiki}->{user}." ingroup GropeGroup", then=>1, else=>0 },
- { test => "%USERNAME% ingroup TWikiGuest", then=>0, else=>1 },
- { test => "%USERNAME% ingroup ThereHadBetterBeNoSuchGroup", then=>0, else=>1 },
- { test => "%USERNAME% ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => "%USERNAME% ingroup GropeGroup", then=>1, else=>0 },
- { test => "%USERINFO{format=\"\$username\"}% ingroup TWikiGuest", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$username\"}% ingroup ThereHadBetterBeNoSuchGroup", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$username\"}% ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$username\"}% ingroup GropeGroup", then=>1, else=>0 },
- { test => "%USERINFO{format=\"\$wikiname\"}% ingroup TWikiGuest", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$wikiname\"}% ingroup ThereHadBetterBeNoSuchGroup", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$wikiname\"}% ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$wikiname\"}% ingroup GropeGroup", then=>1, else=>0 },
- { test => "%USERINFO{format=\"\$wikiusername\"}% ingroup TWikiGuest", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$wikiusername\"}% ingroup ThereHadBetterBeNoSuchGroup", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$wikiusername\"}% ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => "%USERINFO{format=\"\$wikiusername\"}% ingroup GropeGroup", then=>1, else=>0 },
- { test => $u->getWikiName($this->{twiki}->{user})." ingroup TWikiGuest", then=>0, else=>1 },
- { test => $u->getWikiName($this->{twiki}->{user})." ingroup ThereHadBetterBeNoSuchGroup", then=>0, else=>1 },
- { test => $u->getWikiName($this->{twiki}->{user})." ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => $u->getWikiName($this->{twiki}->{user})." ingroup GropeGroup", then=>1, else=>0 },
- { test => "'".$TWiki::cfg{AdminUserWikiName}."' ingroup 'TWikiGuest'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{AdminUserWikiName}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{AdminUserWikiName}."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>1, else=>0 },
- { test => "'".$TWiki::cfg{AdminUserWikiName}."' ingroup 'GropeGroup'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{DefaultUserWikiName}."' ingroup 'TWikiGuest'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{DefaultUserWikiName}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{DefaultUserWikiName}."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{DefaultUserWikiName}."' ingroup 'GropeGroup'", then=>1, else=>0 },
- { test => "'".$TWiki::cfg{AdminUserLogin}."' ingroup 'TWikiGuest'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{AdminUserLogin}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{AdminUserLogin}."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>1, else=>0 },
- { test => "'".$TWiki::cfg{AdminUserLogin}."' ingroup 'GropeGroup'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{DefaultUserLogin}."' ingroup 'TWikiGuest'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{DefaultUserLogin}."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{DefaultUserLogin}."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => "'".$TWiki::cfg{DefaultUserLogin}."' ingroup 'GropeGroup'", then=>1, else=>0 },
- { test => "'".$u->getCanonicalUserID($TWiki::cfg{AdminUserLogin})."' ingroup 'TWikiGuest'", then=>0, else=>1 },
- { test => "'".$u->getCanonicalUserID($TWiki::cfg{AdminUserLogin})."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1 },
- { test => "'".$u->getCanonicalUserID($TWiki::cfg{AdminUserLogin})."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>1, else=>0 },
- { test => "'".$u->getCanonicalUserID($TWiki::cfg{AdminUserLogin})."' ingroup 'GropeGroup'", then=>0, else=>1 },
- { test => "'".$u->getCanonicalUserID($TWiki::cfg{DefaultUserLogin})."' ingroup 'TWikiGuest'", then=>0, else=>1 },
- { test => "'".$u->getCanonicalUserID($TWiki::cfg{DefaultUserLogin})."' ingroup 'ThereHadBetterBeNoSuchGroup'", then=>0, else=>1 },
- { test => "'".$u->getCanonicalUserID($TWiki::cfg{DefaultUserLogin})."' ingroup '".$TWiki::cfg{SuperAdminGroup}."'", then=>0, else=>1 },
- { test => "'".$u->getCanonicalUserID($TWiki::cfg{DefaultUserLogin})."' ingroup 'GropeGroup'", then=>1, else=>0 },
- );
-
my $meta = new TWiki::Meta($this->{twiki}, $this->{test_web},
$this->{test_topic});
- foreach my $test (@tests) {
- my $text = '%IF{"'.$test->{test}.'" then="'.
- $test->{then}.'" else="'.$test->{else}.'"}%';
- my $result = $this->{twiki}->handleCommonTags(
- $text, $this->{test_web}, $this->{test_topic}, $meta);
- $this->assert_equals('1', $result, $text." => ".$result);
- }
+ my $text = '%IF{"'.$test{test}.'" then="'.
+ $test{then}.'" else="'.$test{else}.'"}%';
+ my $result = $this->{twiki}->handleCommonTags(
+ $text, $this->{test_web}, $this->{test_topic}, $meta);
+ $this->assert_equals('1', $result, $text." => ".$result);
}
sub test_INCLUDEparams {
Modified: twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/FuncUsersTests.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/FuncUsersTests.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/FuncUsersTests.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -81,6 +81,12 @@
if ($this->{twiki}->inContext('registration_supported') && $this->{twiki}->inContext('registration_enabled')) {
try {
$this->registerUser('usera', 'User', 'A', 'user@...');
+ $this->registerUser('usera86', 'User', 'A86', 'user86@...');
+ $this->registerUser('user86a', 'User86', 'A', 'user86a@...');
+ #this should fail... as its the same as the one above
+ #$this->registerUser('user862a', 'User', '86A', 'user862a@...');
+ #this one does fail..
+ #$this->registerUser('86usera', '86User', 'A', 'user86a@...');
$this->registerUser('userb', 'User', 'B', 'user@...');
$this->registerUser('userc', 'User', 'C', 'userc@...');
$this->{twiki}->{store}->saveTopic(
@@ -158,7 +164,7 @@
if ($TWiki::cfg{UserMappingManager} eq 'TWiki::Users::BaseUserMapping') {
@correctList = qw/TWikiContributor TWikiGuest TWikiRegistrationAgent UnknownUser/;
} else {
- @correctList = qw/TWikiContributor TWikiGuest TWikiRegistrationAgent UnknownUser ScumBag UserA UserB UserC/;
+ @correctList = qw/TWikiContributor TWikiGuest TWikiRegistrationAgent UnknownUser ScumBag User86A UserA UserA86 UserB UserC/;
}
push @correctList, $TWiki::cfg{AdminUserWikiName};
my $correct = join(',', sort @correctList);
@@ -187,7 +193,7 @@
@correctList = qw/TWikiContributor TWikiGuest TWikiRegistrationAgent UnknownUser/;
} else {
#TODO: should reture WikiName's - trouble is that this means wikiname==loginname - and they were registered with them different
- @correctList = qw/TWikiContributor TWikiGuest TWikiRegistrationAgent UnknownUser scum usera userb userc/;
+ @correctList = qw/TWikiContributor TWikiGuest TWikiRegistrationAgent UnknownUser scum user86a usera usera86 userb userc/;
}
push @correctList, $TWiki::cfg{AdminUserWikiName};
my $correct = join(',', sort @correctList);
@@ -375,11 +381,28 @@
$this->assert_str_equals($usera_cUID, TWiki::Func::getCanonicalUserID('UserA'));
$this->assert_str_equals($usera_cUID, TWiki::Func::getCanonicalUserID($TWiki::cfg{UsersWebName}.'.'.'UserA'));
+
+# $this->registerUser('usera86', 'User', 'A86', 'user86@...');
+ my $usera86_cUID = $this->{twiki}->{users}->getCanonicalUserID('usera86');
+ $this->assert_str_equals($usera86_cUID, TWiki::Func::getCanonicalUserID($usera86_cUID));
+ $this->assert_str_equals($usera86_cUID, TWiki::Func::getCanonicalUserID('usera86'));
+ $this->assert_str_equals($usera86_cUID, TWiki::Func::getCanonicalUserID('UserA86'));
+ $this->assert_str_equals($usera86_cUID, TWiki::Func::getCanonicalUserID($TWiki::cfg{UsersWebName}.'.'.'UserA86'));
+# $this->registerUser('user86a', 'User86', 'A', 'user86a@...');
+ my $user86a_cUID = $this->{twiki}->{users}->getCanonicalUserID('user86a');
+ $this->assert_str_equals($user86a_cUID, TWiki::Func::getCanonicalUserID($user86a_cUID));
+ $this->assert_str_equals($user86a_cUID, TWiki::Func::getCanonicalUserID('user86a'));
+ $this->assert_str_equals($user86a_cUID, TWiki::Func::getCanonicalUserID('User86A'));
+ $this->assert_str_equals($user86a_cUID, TWiki::Func::getCanonicalUserID($TWiki::cfg{UsersWebName}.'.'.'User86A'));
+# $this->registerUser('user862a', 'User', '86A', 'user862a@...');
+# $this->registerUser('86usera', '86User', 'A', 'user86a@...');
+
#TODO: consider how to render unkown user's
$this->assert_null($this->{twiki}->{users}->getCanonicalUserID('nonexistantuser'));
$this->assert_null(TWiki::Func::getCanonicalUserID('nonexistantuser'));
$this->assert_null(TWiki::Func::getCanonicalUserID('NonExistantUser'));
$this->assert_null(TWiki::Func::getCanonicalUserID($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser'));
+ $this->assert_null(TWiki::Func::getCanonicalUserID($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser86'));
#TODO: consider what to return for GROUPs
# $this->assert_null($this->{twiki}->{users}->getCanonicalUserID('AandBGroup'));
@@ -415,6 +438,21 @@
$this->assert_str_equals('UserA', TWiki::Func::getWikiName('usera'));
$this->assert_str_equals('UserA', TWiki::Func::getWikiName('UserA'));
$this->assert_str_equals('UserA', TWiki::Func::getWikiName($TWiki::cfg{UsersWebName}.'.'.'UserA'));
+
+# $this->registerUser('usera86', 'User', 'A86', 'user86@...');
+ my $usera86_cUID = $this->{twiki}->{users}->getCanonicalUserID('usera86');
+ $this->assert_str_equals('UserA86', TWiki::Func::getWikiName($usera86_cUID));
+ $this->assert_str_equals('UserA86', TWiki::Func::getWikiName('usera86'));
+ $this->assert_str_equals('UserA86', TWiki::Func::getWikiName('UserA86'));
+ $this->assert_str_equals('UserA86', TWiki::Func::getWikiName($TWiki::cfg{UsersWebName}.'.'.'UserA86'));
+# $this->registerUser('user86a', 'User86', 'A', 'user86a@...');
+ my $user86a_cUID = $this->{twiki}->{users}->getCanonicalUserID('user86a');
+ $this->assert_str_equals('User86A', TWiki::Func::getWikiName($user86a_cUID));
+ $this->assert_str_equals('User86A', TWiki::Func::getWikiName('user86a'));
+ $this->assert_str_equals('User86A', TWiki::Func::getWikiName('User86A'));
+ $this->assert_str_equals('User86A', TWiki::Func::getWikiName($TWiki::cfg{UsersWebName}.'.'.'User86A'));
+# $this->registerUser('user862a', 'User', '86A', 'user862a@...');
+# $this->registerUser('86usera', '86User', 'A', 'user86a@...');
#TODO: consider how to render unkown user's
#$TWiki::cfg{RenderLoggedInButUnknownUsers} is false, or undefined
@@ -424,7 +462,8 @@
$this->assert_str_equals($TWiki::cfg{DefaultUserWikiName}, TWiki::Func::getWikiName($nonexistantuser_cUID));
$this->assert_str_equals('nonexistantuser', TWiki::Func::getWikiName('nonexistantuser'));
$this->assert_str_equals('NonExistantUser', TWiki::Func::getWikiName('NonExistantUser'));
- $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.NonExistantUser', TWiki::Func::getWikiName($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser'));
+ $this->assert_str_equals('NonExistantUser', TWiki::Func::getWikiName($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser'));
+ $this->assert_str_equals('NonExistantUser86', TWiki::Func::getWikiName($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser86'));
#TODO: consider how to render unkown user's
#my $AandBGroup_cUID = $this->{twiki}->{users}->getCanonicalUserID('AandBGroup');
@@ -458,14 +497,32 @@
$this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'UserA', TWiki::Func::getWikiUserName('UserA'));
$this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'UserA', TWiki::Func::getWikiUserName($TWiki::cfg{UsersWebName}.'.'.'UserA'));
+# $this->registerUser('usera86', 'User', 'A86', 'user86@...');
+ my $usera86_cUID = $this->{twiki}->{users}->getCanonicalUserID('usera86');
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'UserA86', TWiki::Func::getWikiUserName($usera86_cUID));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'UserA86', TWiki::Func::getWikiUserName('usera86'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'UserA86', TWiki::Func::getWikiUserName('UserA86'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'UserA86', TWiki::Func::getWikiUserName($TWiki::cfg{UsersWebName}.'.'.'UserA86'));
+# $this->registerUser('user86a', 'User86', 'A', 'user86a@...');
+ my $user86a_cUID = $this->{twiki}->{users}->getCanonicalUserID('user86a');
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'User86A', TWiki::Func::getWikiUserName($user86a_cUID));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'User86A', TWiki::Func::getWikiUserName('user86a'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'User86A', TWiki::Func::getWikiUserName('User86A'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'User86A', TWiki::Func::getWikiUserName($TWiki::cfg{UsersWebName}.'.'.'User86A'));
+# $this->registerUser('user862a', 'User', '86A', 'user862a@...');
+# $this->registerUser('86usera', '86User', 'A', 'user86a@...');
+
+
#TODO: consider how to render unkown user's
- $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'TWikiUserMapping_NonExistantUser', TWiki::Func::getWikiUserName('TWikiUserMapping_NonExistantUser'));
- my $nonexistantuser_cUID = $this->{twiki}->{users}->getCanonicalUserID('nonexistantuser');
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'NonExistantUserAsdf', TWiki::Func::getWikiUserName('NonExistantUserAsdf'));
+ my $nonexistantuser_cUID = $this->{twiki}->{users}->getCanonicalUserID('nonexistantuserasdf');
$this->annotate($nonexistantuser_cUID); #returns guest
$this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.$TWiki::cfg{DefaultUserWikiName}, TWiki::Func::getWikiUserName($nonexistantuser_cUID));
- $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'nonexistantuser', TWiki::Func::getWikiUserName('nonexistantuser'));
- $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser', TWiki::Func::getWikiUserName('NonExistantUser'));
- $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.$TWiki::cfg{UsersWebName}.'.'.'NonExistantUser', TWiki::Func::getWikiUserName($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'nonexistantuserasdf', TWiki::Func::getWikiUserName('nonexistantuserasdf'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'nonexistantuserasdfqwer', TWiki::Func::getWikiUserName('nonexistantuserasdfqwer'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'NonExistantUserAsdf', TWiki::Func::getWikiUserName('NonExistantUserAsdf'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'NonExistantUserAsdf', TWiki::Func::getWikiUserName($TWiki::cfg{UsersWebName}.'.'.'NonExistantUserAsdf'));
+ $this->assert_str_equals($TWiki::cfg{UsersWebName}.'.'.'NonExistantUserAsdf86', TWiki::Func::getWikiUserName($TWiki::cfg{UsersWebName}.'.'.'NonExistantUserAsdf86'));
#TODO: consider how to render unkown user's
#my $AandBGroup_cUID = $this->{twiki}->{users}->getCanonicalUserID('AandBGroup');
@@ -498,11 +555,27 @@
$this->assert_str_equals('usera', TWiki::Func::wikiToUserName('UserA'));
$this->assert_str_equals('usera', TWiki::Func::wikiToUserName($TWiki::cfg{UsersWebName}.'.'.'UserA'));
+# $this->registerUser('usera86', 'User', 'A86', 'user86@...');
+ my $usera86_cUID = $this->{twiki}->{users}->getCanonicalUserID('usera86');
+ $this->assert_str_equals('usera86', TWiki::Func::wikiToUserName($usera86_cUID));
+ $this->assert_str_equals('usera86', TWiki::Func::wikiToUserName('usera86'));
+ $this->assert_str_equals('usera86', TWiki::Func::wikiToUserName('UserA86'));
+ $this->assert_str_equals('usera86', TWiki::Func::wikiToUserName($TWiki::cfg{UsersWebName}.'.'.'UserA86'));
+# $this->registerUser('user86a', 'User86', 'A', 'user86a@...');
+ my $user86a_cUID = $this->{twiki}->{users}->getCanonicalUserID('user86a');
+ $this->assert_str_equals('user86a', TWiki::Func::wikiToUserName($user86a_cUID));
+ $this->assert_str_equals('user86a', TWiki::Func::wikiToUserName('user86a'));
+ $this->assert_str_equals('user86a', TWiki::Func::wikiToUserName('User86A'));
+ $this->assert_str_equals('user86a', TWiki::Func::wikiToUserName($TWiki::cfg{UsersWebName}.'.'.'User86A'));
+# $this->registerUser('user862a', 'User', '86A', 'user862a@...');
+# $this->registerUser('86usera', '86User', 'A', 'user86a@...');
+
#TODO: consider how to render unkown user's
$this->assert_null(TWiki::Func::wikiToUserName('TWikiUserMapping_NonExistantUser'));
$this->assert_null(TWiki::Func::wikiToUserName('nonexistantuser'));
$this->assert_null(TWiki::Func::wikiToUserName('NonExistantUser'));
$this->assert_null(TWiki::Func::wikiToUserName($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser'));
+ $this->assert_null(TWiki::Func::wikiToUserName($TWiki::cfg{UsersWebName}.'.'.'NonExistantUser86'));
#TODO: consider how to render unkown user's
#my $AandBGroup_cUID = $this->{twiki}->{users}->getCanonicalUserID('AandBGroup');
Modified: twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/RegisterTests.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/RegisterTests.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/RegisterTests.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -92,6 +92,7 @@
$systemWeb,
$TWiki::cfg{SystemWebName});
$TWiki::cfg{SystemWebName} = $systemWeb;
+ $TWiki::cfg{EnableEmail} = 1;
} catch TWiki::AccessControlException with {
$this->assert(0,shift->stringify());
Modified: twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/TWikiFnTestCase.pm
===================================================================
--- twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/TWikiFnTestCase.pm 2007-10-25 23:33:23 UTC (rev 15420)
+++ twiki/scratch/TWikiStandAlone/twikiplugins/UnitTestContrib/test/unit/TWikiFnTestCase.pm 2007-10-26 04:15:19 UTC (rev 15421)
@@ -44,6 +44,7 @@
$TWiki::cfg{UserMappingManager} = 'TWiki::Users::TWikiUserMapping';
$TWiki::cfg{LoginManager} = 'TWiki::LoginManager::TemplateLogin';
$TWiki::cfg{Register}{EnableNewUserRegistration} = 1;
+ $TWiki::cfg{RenderLoggedInButUnknownUsers} = 0;
$TWiki::cfg{Register}{NeedVerification} = 0;
$TWiki::cfg{MinPasswordLength} = 0;
|