Name: WikiEdit FullName: SuikaWiki: WikiPage editing core URI: IW:SuikaWiki:SuikaWiki Description: This module provides editing modes of WikiPage. Without this module, the Wiki is to be uneditable. Initialize: my $NS_XHTML1 = 'http://www.w3.org/1999/xhtml'; my $HAS_XML = SuikaWiki::Plugin->feature ('SuikaWiki::Markup::XML'); { Name: wikiview/edit-form FullName: Edit-form of WikiPage Format: if (not &main::is_editable ($o->{page})) { $r = '
'.$o->resource('Error:ThisPageIsUneditable',escape=>1).'
'; } elsif (!$p->{admin} && &main::is_frozen ($o->{page})) { $r = ''.$o->resource('Error:ThisPageIsUneditable',escape=>1).'
'; } else { $r = ''.$o->resource('Error:PasswordIsNotSpecified',escape=>1).'
' if $p->{admin}; $r .= &main::editform (page => $o->{page}, admin => $p->{admin}); } } { Name: wikiview/conflict-form FullName: Edit-form of WikiPage (conflict) Format: $r = &main::editform (page => $o->{page}, content => $o->{param}->{mymsg}, last_modified => $o->{param}->{myLastModified}, frozen=>0, conflict=>1); } { Name: wikiview/conflict-diff FullName: Edit-form of WikiPage (conflict) Format: require Algorithm::Diff; for (Algorithm::Diff::diff([split /\x0D?\x0A/, $o->{param}->{mymsg}],[split /\x0D?\x0A/, $main::database{$o->{page}}])){ for (@{$_}) { my ($sign, $lineno, $text) = @{$_}; my $ename = $sign eq '+' ? 'ins' : $sign eq '-' ? 'del' : 'span'; $r .= qq(<$ename class="line">@{[$o->escape($lineno)]} @{[$o->escape($sign)]} @{[$o->escape($text)]}$ename>\n); } $r .= "\n"; } $r =~ s/\n+$/\n/; $r = qq($r); } MODULE: SuikaWiki::View->template ('links')->add_line (q(%link-wiki(mode=>edit,rel=>edit,class=>wiki-cmd,title=>{%res(name=>EditThisPageLink);}p,up-to-date); %link-wiki(mode=>adminedit,rel=>edit,class=>wiki-cmd,title=>{%res(name=>AdminEditThisPageLink);}p,up-to-date);)); SuikaWiki::View->definition (edit => { media => {type => 'text/html', charset => 1, expires => 60}, #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60}, template => <<'EOH'}); %html-document(title=>{%res(name=>{Edit:WebPageTitle});}p,link-meta=>{%predefined-template(name=>links);%html-meta(name=>ROBOTS,content=>NOINDEX);}p,content=>{ %section(level=>1,add-to-toc=>0,type=>body,title=>{%page-name;}p,heading,content=>{ %section(id=>tools1,class=>tools,add-to-toc=>0,content=>{%predefined-template(name=>navbar);}p); %section(level=>2,id=>edit,title=>{%res(name=>{Edit:Title});}p,heading,content=>{ %edit-form; %section(level=>3,id=>edit-help,add-to-toc=>0,content=>{%read(page=>{Wiki//Help//Edit});}p); }p); %section(level=>2,id=>children,title=>{%res(name=>{Children:Title});}p,heading, content=>{%page-list(ns=>{%page-name;}p,recursive=>0,type=>both,template=>{ %wiki-link(label=>{%ns-short-page-or-ns-name;}p); });}p); %section(level=>2,id=>see-also,title=>{%res(name=>SeeAlso);}p,heading,content=>{%search-result;}p); %section(level=>2,id=>referer,title=>{%res(name=>Referer);}p,heading,content=>{%referer-list;}p); %section(id=>last-modified,add_to_toc=>0,content=>{%res(name=>{LastModified=});%last-modified;}p); %section(level=>2,id=>toc,title=>{%res(name=>{TOC:Title};}p,heading,add_to_toc=>0,content=>{%toc(drag);}p); %section(class=>tools,add_to_toc=>0,content=>{%predefined-template(name=>navbar);}p); %section(id=>footer,add-to-toc=>0,content=>{%predefined-template(name=>footer);}p); }p); }p); EOH SuikaWiki::View->definition (adminedit => { media => {type => 'text/html', charset => 1, expires => 60}, xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60}, template => <<'EOH'}); %html-document(title=>{%res(name=>{Edit:Admin:WebPageTitle});}p,link-meta=>{%predefined-template(name=>links);%html-meta(name=>ROBOTS,content=>NOINDEX);}p,content=>{ %section(level=>1,add-to-toc=>0,type=>body,title=>{%page-name;}p,heading,content=>{ %section(id=>tools1,class=>tools,add-to-toc=>0,content=>{%predefined-template(name=>navbar);}p); %section(level=>2,id=>edit,title=>{%res(name=>{Edit:Title});}p,heading,content=>{%edit-form(admin);}p); %section(level=>2,title=>{%res(name=>{Edit:Rename:Title});}p,heading,content=>{ %wp-rename-form(content=>{ %format(context=>form_input,template=>{ %text(id=>to,label=>{%res(name=>{Edit:Rename:To=});}p,size=>10,default=>{%page-name;}p); %submit; }); }p); }p); %section(id=>last-modified,add_to_toc=>0,content=>{%res(name=>{LastModified=});%last-modified;}p); %section(level=>2,id=>toc,title=>{%res(name=>{TOC:Title});}p,heading,add_to_toc=>0,content=>{%toc(drag);}p); %section(class=>tools,add_to_toc=>0,content=>{%predefined-template(name=>navbar);}p); %section(id=>footer,add-to-toc=>0,content=>{%predefined-template(name=>footer);}p); }p); }p); EOH SuikaWiki::View->definition (-conflict => { media => {type => 'text/html', charset => 1, expires => 60}, #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60}, template => <<'EOH'}); %html-document(title=>{%res(name=>{Edit:Conflict:WebPageTitle});}p,link-meta=>{%predefined-template(name=>links);%html-meta(name=>ROBOTS,content=>NOINDEX);}p,content=>{ %section(level=>1,add-to-toc=>0,type=>body,title=>{%page-name;}p,heading,content=>{ %section(id=>tools1,class=>tools,add-to-toc=>0,content=>{%predefined-template(name=>navbar);}p); %section(level=>2,title=>{%res(name=>{Edit:Conflict:Title});}p,heading,content=>{ %paragraph(content=>{%res(name=>{Edit:Conflict:Description});}p); %conflict-form; %section(level=>3,id=>edit-conflict-diff,title=>{%res(name=>{Edit:Conflict:Diff:Title});}p,heading,content=>{ %paragraph(content=>{%res(name=>{Edit:Conflict:Diff:Description});}p); %conflict-diff; }p); }p); %section(level=>2,id=>edit,title=>{%res(name=>{Edit:Title});}p,heading,content=>{ %paragraph(name=>{%res(name=>{Edit:Conflict:Edit:Description});}p); %edit-form; %section(level=>3,id=>edit-help,add-to-toc=>0,content=>{%read(page=>{Wiki//Help//Edit});}p); }p); %section(level=>2,id=>toc,title=>{%res(name=>{TOC:Title});}p,heading,add_to_toc=>0,content=>{%toc(drag);}p); %section(class=>tools,add_to_toc=>0,content=>{%predefined-template(name=>navbar);}p); %section(id=>footer,add-to-toc=>0,content=>{%predefined-template(name=>footer);}p); }p); }p); EOH SuikaWiki::View->definition (-wrote => { media => {type => 'text/html', charset => 1, expires => 60}, xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60}, template => <<'EOH'}); %html-document(title=>{%res(name=>{Edit:Wrote:WebPageTitle});}p,link-meta=>{%predefined-template(name=>links);%html-meta(name=>ROBOTS,content=>NOINDEX);}p,content=>{ %section(level=>1,add-to-toc=>0,type=>body,title=>{%page-name;}p,heading,content=>{ %section(id=>tools1,class=>tools,add-to-toc=>0,content=>{%predefined-template(name=>navbar);}p); %section(level=>2,add-to-toc=>0,content=>{ %paragraph(content=>{%res(name=>{Edit:SavedSuccessfully});}p); }p); %section(id=>footer,add-to-toc=>0,content=>{%predefined-template(name=>footer);}p); }p); }p); EOH SuikaWiki::View->definition (-deleted => { media => {type => 'text/html', charset => 1, expires => 60}, xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60}, template => <<'EOH'}); %html-document(title=>{%res(name=>{Edit:Deleted:WebPageTitle});}p,link-meta=>{%predefined-template(name=>links);%html-meta(name=>ROBOTS,content=>NOINDEX);}p,content=>{ %section(level=>1,add-to-toc=>0,type=>body,title=>{%page-name;}p,heading,content=>{ %section(id=>tools1,class=>tools,add-to-toc=>0,content=>{%predefined-template(name=>navbar);}p); %section(level=>2,add-to-toc=>0,content=>{ %paragraph(content=>{%res(name=>{Edit:PageIsDeletedSuccessfully});}p); }p); %section(id=>footer,add-to-toc=>0,content=>{%predefined-template(name=>footer);}p); }p); }p); EOH POD:LICENSE: Copyright 2003 Wakaba