/[pub]/suikawiki/script/default/suikawiki-config.ph
Suika

Diff of /suikawiki/script/default/suikawiki-config.ph

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by w, Sun Jan 12 09:20:12 2003 UTC revision 1.9 by wakaba, Fri Jan 16 08:06:53 2004 UTC
# Line 1  Line 1 
1    package main;
2  use strict;  use strict;
 #  
 # You MUST modify following '$modifier_...' variables.  
 #  
 # our $modifier_dbtype = 'AnyDBM_File';  # Fast, not available on some server, page size limited.  
 # our $modifier_dbtype = 'dbmopen';      # Fast, not available on some server, page size limited.  
 #our $modifier_dbtype = 'Yuki::YukiWikiDB';     # Slow, available on all environment.  
 #our $modifier_dbtype = 'Yuki::YukiWikiDB2';     # Slow, available on all environment.  
 our $modifier_dbtype = 'Yuki::YukiWikiDBMeta';     # Slow, available on all environment.  
 our $url_cgi; {  
     my $scheme = 'http';  
     $scheme = lc $1 if $main::ENV{SERVER_PROTOCOL} =~ m#([A-Za-z0-9+.%-]+)#;  
     $url_cgi = "$scheme://$main::ENV{SERVER_NAME}:$main::ENV{SERVER_PORT}/~wakaba/wiki/wiki";  
         ## - MUST NOT include [&<>"] and/or non-URI characters  
 }  
 our %uri = (  
   external_script       => 'script/',  
 );  
 $uri{wiki} = $url_cgi;  
 $SuikaWiki::Plugin::plugin_directory = q(lib/SuikaWiki/Plugin/);  
 our %PathTo = ( ## Path to your data, from the main CGI script (NOT from this config script)  
   WikiDataBase  => q(./wikidata/page),  
 );  
 our $use_exists = 0; # If you can use 'exists' method for your DB.  
 ##############################  
 our %PageName = (  
   FrontPage     => 'HomePage',  
   IndexPage     => 'IndexPage',  
   SearchPage    => 'SearchPage',  
   CreatePage    => 'CreatePage',  
   ErrorPage     => 'ErrorPage',  
   RecentChanges => 'RecentChanges',  
   AdminSpecialPage      => "\x11\x11Admin\x11Special\x11Page\x11\x11",  
   DefaultStyleForHTML   => 'WikiHTMLStyle',  
   UserAgentList => 'WikiUserAgentList',  
 );  
 our $kanjicode = 'euc';  
 our $lang = 'ja';  
   
 $wiki::useragent::UseLog = 0;   ## Use User-Agent name log (WikiUserAgentList) or not  
 $wiki::diff::UseDiff = 1;       ## Use diff mode or not  
   
 my %vd;  
 $vd{links} = <<'EOH';  
   %link-wiki(mode=>edit,rel=>edit,class=>wiki-cmd,title=>\"%res(name=>EditThisPageLink);\");  
   %link-wiki(mode=>edit,rel=>edit,class=>wiki-cmd,title=>\"%res(name=>AdminEditThisPageLink);\",add_param=>\"admin=1\");  
   %link-wiki(rel=>view,class=>wiki-cmd,title=>\"%res(name=>ViewThisPageLink);\",up_to_date);  
   %link-wiki(rel=>myself,class=>wiki,title=>\"%res(name=>GoToMyselfLink);\");  
   %link-wiki(page=>IndexPage,rel=>index,class=>wiki,title=>\"%res(name=>GoToIndexPageLink);\");  
   %link-wiki(page=>HomePage,rel=>home,class=>wiki,title=>\"%res(name=>GoToHomePageLink);\");  
   %link-wiki(page=>WikiNews,rel=>News,class=>wiki,title=>\"%res(name=>GoToWikiNewsLink);\");  
   %link-wiki(page=>RecentChanges,rel=>News,class=>wiki,title=>\"%res(name=>GoToRecentChangesLink);\");  
   %link-wiki(page=>RecentChanges,mode=>rss,rel=>News,class=>wiki,title=>\"%res(name=>GoToRssPageLink);\",type=>\"application/xml\");  
   %link-wiki(page=>SearchPage,rel=>search,class=>wiki,title=>\"%res(name=>GoToSearchPageLink);\");  
   %link-wiki(page=>WikiHelp,mode=>read,rel=>help,class=>wiki,title=>\"%res(name=>GoToWikiHelpLink);\");  
   %link-wiki(page=>WikiPageLicense,rel=>copyright,class=>wiki,title=>\"%res(name=>GoToWikiPageLicenseLink);\");  
   %link-wiki(mode=>map,rel=>contents,class=>wiki-cmd,title=>\"%res(name=>ShowMapOfThisPageLink);\");  
   %link-wiki(mode=>RandomJump,up_to_date,rel=>lucky,class=>\"wiki randomlink\",title=>\"%res(name=>GoSomewhereLink);\");  
 EOH  
   #%link-viewcvs(href=>\"http://path-to-viewcvs/path-to-repository/\",rel=>history,class=>wiki-cmd,title=>\"%res(name=>ViewHistoryOfThisPageLink);\",hreflang=>en);  
 $vd{links} .= q(  %link-wiki(mode=>diff,rel=>history,class=>wiki-cmd,title=>\"%res(name=>ViewDiffOfThisPageLink);\");) if $wiki::diff::UseDiff;  
 $vd{links} .= <<EOH;  
   %link-wiki(href=>\\\"javascript:var%20WikiName=prompt('Please%20input%20the%20WikiName:','','Jump%20to%20SuikaWiki');if(WikiName)%7B_content.location.href='$url_cgi%3F'+encodeURIComponent(WikiName)%7D\\\",rel=>jump,class=>wiki-cmd,title=>\\\"%res(name=>JumpToLink);\\\");  
   %link-wiki(href=>\\\"javascript:var%20WikiName=prompt('Please%20input%20the%20WikiName:','','Jump%20to%20SuikaWiki');if(WikiName)%7B_content.location.href='$url_cgi%3Fmycmd=edit;mypage='+encodeURIComponent(WikiName)%7D\\\",rel=>jump,class=>wiki-cmd,title=>\\\"%res(name=>JumpToEditLink);\\\");  
 EOH  
 $vd{navbar} = <<'EOH';  
   %anchor-wiki(mode=>edit,rel=>edit,class=>wiki-cmd,label=>\\\"%res(name=>EditThisPage);\\\",title=>\\\"%res(name=>EditThisPageLong,accesskey=>E);\\\");  
   %anchor-wiki(rel=>view,up_to_date,class=>wiki-cmd,label=>\\\"%res(name=>ViewThisPage);\\\",title=>\\\"%res(name=>ViewThisPageLong);\\\");  
   %anchor-wiki(page=>CreatePage,class=>wiki,label=>\\\"%res(name=>GoToCreatePage);\\\",title=>\\\"%res(name=>GoToCreatePageLong);\\\");  
   %anchor-wiki(page=>IndexPage,class=>wiki,label=>\\\"%res(name=>GoToIndexPage);\\\",title=>\\\"%res(name=>GoToIndexPageLong);\\\");  
   %anchor-wiki(page=>HomePage,class=>wiki,label=>\\\"%res(name=>GoToHomePage);\\\",title=>\\\"%res(name=>GoToHomePageLong);\\\");  
   %anchor-wiki(page=>SearchPage,class=>wiki,label=>\\\"%res(name=>GoToSearchPage);\\\",title=>\\\"%res(name=>GoToSearchPageLong);\\\");  
   %anchor-wiki(mode=>RandomJump,up_to_date,rel=>lucky,class=>\\\"wiki randomlink\\\",label=>\\\"%res(name=>GoSomewhere);\\\",title=>\\\"%res(name=>GoSomewhereLong);\\\");  
   %anchor-wiki(page=>RecentChanges,class=>wiki,label=>\\\"%res(name=>GoToRecentChanges);\\\",title=>\\\"%res(name=>GoToRecentChangesLong);\\\");  
 EOH  
   
 our %ViewDefinition = (  
 read => {media => {type => 'text/html', charset => 1, expires => 120}, check => sub {1},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 120},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"View:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>read,add_to_toc=>0,content=>\\"%read(comment);\\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(id=>last-modified,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"LastModified=\\\\\\");%last-modified;\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"  
     <a href=\\\\\\"http://www.hyuki.com/yukiwiki/\\\\\\" title=\\\\\\"YukiWiki 2.0.beta1.2002-05-29 &copy; 2000-2002 by Hiroshi Yuki\\\\\\">%res(name=>\\\\\\"About:Name:YukiWiki\\\\\\");</a>  
     <a href=\\\\\\"http://digit.que.ne.jp/work/\\\\\\" title=\\\\\\"WalWiki 2.0.beta1.wal.1 &copy; 2000-2002 by Makio Tsukamoto\\\\\\">%res(name=>\\\\\\"About:Name:WalWiki\\\\\\");</a>  
     <a href=\\\\\\"http://suika.fam.cx/gate/cvs/wakaba/wiki/\\\\\\" title=\\\\\\"%res(name=>\\\\\\"About:SuikaWiki:JumpToCVS\\\\\\");\\\\\\">%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;</a>  
   \\");  
 ");%html-end;  
 EOH  
 map => {media => {type => 'text/html', charset => 1, expires => 120}, check => sub {1},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 120},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Map:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>\\"link-map\\",title=>\\"Map:Title\\",heading,content=>\\"  
     <p>%res(name=>\\\\\\"Map:Description\\\\\\");</p>  
     %link-map;  
   \\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");%html-end;  
 EOH  
   
 edit => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>edit,title=>\\"Edit:Title\\",heading,content=>\\"  
     %edit-form;  
     %section(level=>3,id=>edit-help,add_to_toc=>0,content=>\\\\\\"%read(page=>WikiEditHelp);\\\\\\");  
   \\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(id=>last-modified,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"LastModified=\\\\\\");%last-modified;\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");%html-end;  
 EOH  
 adminedit => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:Admin:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>edit,title=>\\"Edit:Title\\",heading,content=>\\"%edit-form(admin);\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(id=>last-modified,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"LastModified=\\\\\\");%last-modified;\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");%html-end;  
 EOH  
 -conflict => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:Conflict:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>edit-conflict,title=>\\"Edit:Conflict:Title\\",heading,content=>\\"  
     <p>%res(name=>\\\\\\"Edit:Conflict:Description\\\\\\");</p>  
     %conflict-form;  
     <p>%res(name=>\\\\\\"Edit:Conflict:Diff:Description\\\\\\");</p>  
     %conflict-diff;  
   \\");  
   %section(level=>2,id=>edit,title=>\\"Edit:Title\\",heading,content=>\\"  
     <p>%res(name=>\\\\\\"Edit:Conflict:Edit:Description\\\\\\");</p>  
     %edit-form;  
     %section(level=>3,id=>edit-help,add_to_toc=>0,content=>\\\\\\"%read(page=>WikiEditHelp);\\\\\\");  
   \\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");%html-end;  
 EOH  
 -wrote => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:Wrote:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   <p>%res(name=>\\"Edit:SavedSuccessfully\\");</p>  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");%html-end;  
 EOH  
 -deleted => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:Deleted:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   <p>%res(name=>\\"Edit:PageIsDeletedSuccessfully\\");</p>  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");%html-end;  
 EOH  
 -error => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Error:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>error,title=>\\"Error:Title\\",heading,content=>\\"  
     <p>%error-message;</p>  
   \\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");%html-end;  
 EOH  
   
 css => {media => {type => 'text/css', charset => 1, expires => 3600},  
   check => sub { ref $_[0]->format_converter ($_[0]->{magic} => 'CSS') ? 1 : 0 },  
   template => '%read(to=>CSS);'},  
 rss => {media => {type => 'application/rss+xml', charset => 1, expires => 3600},  
   check => sub { ref $_[0]->format_converter ($_[0]->{magic} => 'RSS') ? 1 : 0 },  
   template => '%read(to=>RSS);'},  
 -UnsupportedMediaType => {media => {type => 'text/html', charset => 1, expires => -1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => -1},  
   check => sub {1}, template => <<EOH},  
 %html-start;%html-head(title=>"%page-name;",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,title=>\\"UnsupportedMediaType:Title\\",heading,content=>\\"  
     %res(name=>\\\\\\"UnsupportedMediaType:Description\\\\\\");  
   \\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");%html-end;  
 EOH  
 );  
   
   
 $ViewDefinition{diff} = {media => {type => 'text/html', charset => 1, expires => 120},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 120},  
   template => <<EOH, check => sub {1}} if $wiki::diff::UseDiff;  
 %html-start;%html-head(title=>"%res(name=>\\"Diff:WebPageTitle\\");",link_meta=>"  
   %style-wiki(type=>\\"text/css\\",page=>\\"$PageName{DefaultStyleForHTML}\\");  
 $vd{links}");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>\\"diff\\",title=>\\"Diff:Title\\",heading,content=>\\"  
     <p>%res(name=>\\\\\\"Diff:Notice\\\\\\");</p>  
     %diff-between-previous;  
   \\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");  
 EOH  
3    
4  1;  ## [OBSOLETE] URI (or part of URI) of Wiki CGI script itself and its external addons
5            ## Note: If your Wiki CGI script URI is <http://foo.example/path/to/wiki.cgi>,
6            ##              cookie-path: /path/to/
7            ##              script-short-name: wiki.cgi
8            ##       URI parts MUST NOT contains "&" and/or non-URI characters.
9      our %uri = (
10        cookie_path         => '/~wakaba/-temp/expwiki/',
11        external_script     => '../wiki/script/',
12        script_short_name   => 'wiki',
13        ## If you use CVS repository of WikiDatabase,
14        #cvs_repository     => 'http://path-to-viewcvs/path-to-repository/',
15      );
16      $uri{wiki_abs} = "http://".($main::ENV{HTTP_HOST} || $main::ENV{SERVER_NAME}.($main::ENV{SERVER_PORT}==80?'':":$main::ENV{SERVER_PORT}"))."$uri{cookie_path}$uri{script_short_name}";
17      $main::url_cgi = $uri{wiki_abs};
18      $uri{wiki} = qq($uri{cookie_path}$uri{script_short_name});    
19    
20    ## Path to modules and databases
21      push @main::INC, qw'lib ../wiki/lib lib';
22    
23    ## These lines should be removed after utf8 support
24    $Message::Util::Formatter::Base::Token = qr/[\w._+\x80-\xFF-]+/;
25    require Message::Util::Formatter::Base;
26    
27    ## Constructing a new instance of the WikiEngine
28      require SuikaWiki::Implementation;
29      our $WIKI = SuikaWiki::Implementation->new;
30    
31      ## Obsolete interface
32      our %PathTo = (       ## Path to your data, relative to the main CGI script (NOT to this config script)
33        CachePrefix         => q(./wikidata/.cache.),  # WikiPlugin
34        TempPrefix  => q(./wikidata/.tmp.),            # WikiPlugin, Image
35        convert     => q(/usr/X11R6/bin/convert),      # Image
36      );
37    
38    ## Filesystem path mapping
39      for (
40         [db__content__dir        => q"./wikidata/page"],
41         [db__content__error_log  => q"./wikidata/log/db-content.log"],
42         [db__lock__dir           => q"./wikidata/lock/"],
43      ) {
44        $WIKI->{config}->{path_to}->{$_->[0]} = $_->[1];
45      }
46    
47    ## Debug mode
48      $WIKI->{config}->{debug} = {
49        general => 1,
50        db => 0,
51        view => 1,
52      };
53    
54    ## WikiPlugin
55      push @{$WIKI->{event}->{plugin_manager_loaded}}, sub {
56        my $wiki = shift;
57        $wiki->{plugin}->load_directory (qw(
58          lib/SuikaWiki/Plugin/
59          misc/plugins/
60          misc/plugins/format/
61          misc/plugins/view/
62        ));
63        require 'wikidata/config.ph';
64      };
65    
66    ## WikiDatabase : Mapping logical to physical
67      push @{$WIKI->{event}->{database_loaded}}, sub {
68          ## Main content
69          $WIKI->{db}->_set_prop_db (content => {-db_open => sub {
70            require SuikaWiki::DB::FileSystem::YukiWikiDBNS;
71            SuikaWiki::DB::FileSystem::YukiWikiDBNS->new
72              (directory => $WIKI->{config}->{path_to}->{db__content__dir},
73               logfile   => $WIKI->{config}->{path_to}->{db__content__error_log},
74               suffix    => '.txt',
75               -lock => &{$WIKI->{var}->{db}->{lock_prop}} ('content'));
76          }, -db_close => sub {
77            my %opt = @_;
78            $opt{prop_info}->{-db}->close;
79            delete $opt{prop_info}->{-db};
80          }});
81          
82          ## Last modified
83          $WIKI->{db}->_set_prop_db (lastmodified => {-db_open => sub {
84            require SuikaWiki::DB::FileSystem::SuikaWikiMetaInfo09;
85            SuikaWiki::DB::FileSystem::SuikaWikiMetaInfo09->new
86              (directory => $WIKI->{config}->{path_to}->{db__content__dir},
87               -lock => &{$WIKI->{var}->{db}->{lock_prop}} ('lastmodified'));
88          }, -prop => 'last_modified', -db_close => sub {
89            my %opt = @_;
90            $opt{prop_info}->{-db}->close;
91            delete $opt{prop_info}->{-db};
92          }});
93      
94      ## OBSOLETE interface for transition
95      ## Don't remove until WikiResource is reimplemented
96        $WIKI->{db}->get (content => ['dummy']);
97        *main::database = $WIKI->{db}->{prop}->{content}->{-db}->{db_hash};
98        $SuikaWiki::Plugin::DB = $WIKI->{db};
99        for (@{$SuikaWiki::Plugin::On{WikiDatabaseLoaded}||[]}) { &{$_} }
100        
101        package wiki::dummy;
102        sub meta {undef};
103        sub list_items {};
104        sub STORE {};
105      };
106    
107      ## WikiName of special purpose WikiPages
108      $WIKI->{config}->{page} = {
109        Default         => [qw/HomePage/],
110        NewPageTemplate => [qw/Wiki NewPageTemplate/],
111      };
112      
113      ## [OBSOLETE] Name of Special WikiPage (linked as parts of navigations)
114      our %PageName = (
115        FrontPage   => 'HomePage',
116        InterWikiName       => 'Wiki//InterWikiName',
117        MenuBar     => 'Wiki//MenuBar',
118        RefererDontRecord   => 'Wiki//Referer//IgnoreSite',
119        RefererSiteName     => 'Wiki//Referer//SiteName',
120        ResourceNS  => 'Wiki//Resource//',
121        StyleList   => 'Wiki//Style//List//',
122      );
123      
124      ## WikiNamespace constants
125      $WIKI->{config}->{name}->{space}->{separator} = '//';
126      $WIKI->{config}->{name}->{space}->{separator_reg} = qr#//#;
127      
128      ## Default character code
129      $WIKI->{config}->{charset}->{internal} = 'euc-jp';
130      $WIKI->{config}->{charset}->{output} = 'iso-2022-jp';
131      $WIKI->{config}->{charset}->{uri_param} = ''; # auto detect
132      $WIKI->{config}->{charset}->{uri_param_encode} = 'euc-jp';
133      $WIKI->{config}->{charset}->{uri_query} = ''; # auto detect
134      $WIKI->{config}->{charset}->{uri_query_encode} = 'euc-jp';
135      $WIKI->{config}->{charset}->{uri_path_info} = 'utf-8';
136      
137      ## Expires duration templates
138      $WIKI->{config}->{entity}->{expires} = {
139        edit      => {delta => 60},
140        view      => {delta => 2*3600},
141        lm_flaged => {delta => 30*24*3600},
142      };
143    
144    
145    =head1 NAME
146    
147    suikawiki-config.ph --- SuikaWiki: Configuration of the wiki
148    
149    =head1 LICENSE
150    
151    Copyright 2003 Wakaba <w@suika.fam.cx>
152    
153    This program is free software; you can redistribute it and/or
154    modify it under the same terms as Perl itself.
155    
156    =cut
157    
158    1; # $Date$

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.9

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24