File: presentit.pike

package info (click to toggle)
libroxen-presentit 1.0-7
  • links: PTS
  • area: main
  • in suites: woody
  • size: 44 kB
  • sloc: makefile: 36
file content (106 lines) | stat: -rw-r--r-- 2,616 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//
// This is a Roxen module.
//
// Written by Bill Welliver, <hww3@riverweb.com>
//
//

string cvs_version = "$Id: presentit.pike,v 1.1 1998/01/12 14:43:46 hww3 Exp $";

#include <module.h>
inherit "module";
inherit "roxenlib";

array register_module()
{
  return ({ MODULE_PARSER,
            "PresentIt!",
            "Creates Slideshows and presentations.<p>"
		"For more information, see <a "
		"href=http://www.riverweb.com/modules/presentit>"
		"http://www.riverweb.com/modules/presentit</a>.\n"
		"", ({}), 1
            });
}

void create()
{

}

string|void check_variable(string variable, mixed set_to)
{

}

string container_slide(string tag_name, mapping arguments,
		string contents,object id, object file, mapping defines)
  {
  string retval="";
  if(!id->misc->slides) id->misc->slides=({});
  mapping s=(["name":arguments->name,
		"description":contents,
		"src":arguments->src
		]);
  id->misc->slides+=({s}); 
  return retval;
  }

int i;
mixed container_presentit(string tag_name, mapping arguments,
			string contents, object id,
			mapping defines)
{

string retval=parse_html(contents,([]),(["slide":container_slide]),id);

if(!id->variables->slide) id->variables->slide=0;
int slide=(int)id->variables->slide;

int previousslide;
if (id->variables->slide==0) previousslide=sizeof(id->misc->slides)-1;
else previousslide=slide-1;
int nextslide=slide+1;
if (nextslide==sizeof(id->misc->slides)) nextslide=0;
retval+="<table border=3><tr><td>"
	"<img src=\""+ id->misc->slides[slide]->src
		+ "\"></td></tr></table>\n"
		"<font size=+2>"+id->misc->slides[slide]->name
		+ "</font>\n<br>" +id->misc->slides[slide]->description
		+"<p>\n";
if(!arguments->backward)
	retval+="<gtext href=\"" +id->not_query+ "?slide="+ previousslide
		+ "\" magic=\"Previous Slide\">"
		"&lt; Back</gtext> ";
else retval+="<a href=\""+id->not_query+ "?slide="+previousslide + 
                "\"><img alt=Backward src=\""+arguments->backward+"\"></a>";

if(!arguments->quit)
	retval+="&nbsp; <gtext href=\"" + arguments->home
		+ "\" magic=\"Exit Slideshow\">Quit</gtext>\n";
else retval+="<a href=\""+arguments->home+ 
                "\"><img alt=Quit src=\""+arguments->quit+"\"></a>";

if(!arguments->forward)
	retval+=" &nbsp; <gtext href=\"" + id->not_query+ "?slide=" +nextslide 
		+"\" magic=\"Next Slide\">Next &gt;</gtext><p>\n";
else retval+="<a href=\""+id->not_query+ "?slide="+nextslide + 
                "\"><img alt=Forward src=\""+arguments->forward+"\"></a>";

return retval;
}
void start(){

  i=0;

}

mapping query_container_callers() { return
(["presentit":container_presentit ]); }