1 package plugin::presentation::PresentationHandler;
\r
2 ################################################################################
\r
4 # JavaScript¤ò»È¤Ã¤Æ¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó¤ò¹Ô¤¤¤Þ¤¹¡£
\r
6 ################################################################################
\r
12 return bless $self,$class;
\r
18 my $cgi = $wiki->get_CGI;
\r
19 my $pagename = $cgi->param("page");
\r
21 $wiki->set_title("¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó: $pagename");
\r
23 my @lines = split(/\n/, $wiki->get_page($pagename));
\r
28 foreach my $line (@lines){
\r
29 if(index($line, '!!!')==0){
\r
31 push(@pages, {title=>$title, content=>$wiki->process_wiki($content)});
\r
33 $title = $wiki->process_wiki($line);
\r
36 $content .= $line . "\n";
\r
40 push(@pages, {title=>$title, content=>$wiki->process_wiki($content)});
\r
43 print "Content-Type: text/html;charset=EUC-JP\n";
\r
44 print "Pragma: no-cache\n";
\r
45 print "Cache-Control: no-cache\n\n";
\r
49 <title>¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó¡§ @{[Util::escapeHTML($pagename)]}</title>
\r
52 <style type="text/css">
\r
55 <script language="JavaScript">
\r
56 var presen_page = 0;
\r
57 var presen_data = new Array($#pages);
\r
60 foreach my $page (@pages){
\r
62 var data = new Object();
\r
63 data.title = '@{[&escapeJavaScript($page->{title})]}';
\r
64 data.content = '@{[escapeJavaScript($page->{content})]}';
\r
65 presen_data[$count] = data;
\r
71 function showNextPage(){
\r
72 var div = document.getElementById('presentation');
\r
73 if(presen_page == presen_data.length){
\r
74 div.innerHTML = "¥¹¥é¥¤¥É¥·¥ç¡¼¤Ï½ªÎ»¤·¤Þ¤·¤¿¡£";
\r
77 div.innerHTML = presen_data[presen_page].title +
\r
78 presen_data[presen_page].content;
\r
84 function backToFirst(){
\r
89 function showPrevPage(){
\r
90 if(presen_page > 1){
\r
97 function exitPresentation(){
\r
98 location.href='@{[$wiki->config('script_name').'?page='.Util::escapeHTML($pagename)]}'
\r
101 <div class="presen_menu">
\r
102 <a href="javascript:backToFirst();">ºÇ½é</a>
\r
103 <a href="javascript:showPrevPage();">Á°¤Ø</a>
\r
104 <a href="javascript:showNextPage();">¼¡¤Ø</a>
\r
105 <a href="javascript:exitPresentation();">½ªÎ»</a>
\r
107 <div id="presentation" onMouseUp ="javascript:showNextPage();">
\r
108 ¥¯¥ê¥Ã¥¯¤¹¤ë¤È¥¹¥é¥¤¥É¥·¥ç¡¼¤ò³«»Ï¤·¤Þ¤¹¡£
\r
117 #===============================================================================
\r
118 # ¥×¥ì¥¼¥ó¥â¡¼¥É¤ÎCSS¤òÊֵѤ·¤Þ¤¹¡£
\r
119 #===============================================================================
\r
121 return <<END_OF_CSS;
\r
135 #===============================================================================
\r
136 # JavaScript¤Îʸ»úÎó¤Ë¥¨¥¹¥±¡¼¥×¤·¤Þ¤¹¡£
\r
137 #===============================================================================
\r
138 sub escapeJavaScript {
\r
140 $value =~ s/\n/\\n/g;
\r
141 $value =~ s/'/\\'/g;
\r
145 #===============================================================================
\r
146 # ¥á¥Ë¥å¡¼¤ò͸ú¤Ë¤·¤Þ¤¹¡£
\r
147 #===============================================================================
\r
151 my $pagename = $wiki->get_CGI()->param("page");
\r
153 $wiki->add_menu("¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó",$wiki->config('script_name').
\r
154 "?action=PRESEN&page=".&Util::url_encode($pagename));
\r