source: main/trunk/greenstone2/runtime-src/src/recpt/pageaction.h@ 28899

Last change on this file since 28899 was 28899, checked in by ak19, 10 years ago

Third commit for security, for ensuring cgiargs macros are websafe. This time all the changes to the runtime action classes.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1/**********************************************************************
2 *
3 * pageaction.h --
4 * Copyright (C) 1999 The New Zealand Digital Library Project
5 *
6 * A component of the Greenstone digital library software
7 * from the New Zealand Digital Library Project at the
8 * University of Waikato, New Zealand.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 *
24 *********************************************************************/
25
26
27#ifndef PAGEACTION_H
28#define PAGEACTION_H
29
30
31#include "gsdlconf.h"
32#include "action.h"
33#include "receptionist.h"
34
35
36class pageaction : public action {
37
38protected:
39 receptionist *recpt;
40
41 text_tset classify_meta;
42
43public:
44 pageaction ();
45 virtual ~pageaction ();
46
47 void set_receptionist (receptionist *therecpt) {recpt=therecpt;}
48
49 text_t get_action_name () {return "p";}
50
51 bool check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args,
52 recptprotolistclass *protos, ostream &logout);
53
54 void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
55 response_t &response,text_t &response_data,
56 ostream &logout);
57
58 void define_internal_macros (displayclass &disp, cgiargsclass &args,
59 recptprotolistclass *protos, ostream &logout);
60
61 bool do_action (cgiargsclass &args, recptprotolistclass *protos,
62 browsermapclass *browsers, displayclass &disp,
63 outconvertclass &outconvert, ostream &textout,
64 ostream &logout);
65
66 void configure (const text_t &key, const text_tarray &cfgline);
67
68 protected:
69
70 void home_images (displayclass &disp, recptprotolistclass *protos,
71 cgiargsclass &args, const recptconf &configinfo, ostream &logout);
72
73 void home_pulldown (displayclass &disp, recptprotolistclass *protos,
74 cgiargsclass &args, const recptconf &configinfo, ostream &logout);
75
76 void homepagestyle (displayclass &disp, recptprotolistclass *protos,
77 cgiargsclass &args, ostream &logout);
78
79
80
81 void set_collectionlist_macro (displayclass &disp, recptprotolistclass *protos,
82 cgiargsclass &args, ostream &logout);
83
84 void set_documentation_macro (displayclass &disp);
85
86 void set_macro_to_file_contents (displayclass &disp, const text_t &macroname,
87 const text_t &packagename, const text_t &filename, bool encode=false);
88
89 void set_language_encoding_macros(displayclass &disp, cgiargsclass &args,
90 recptprotolistclass *protos, ColInfoResponse_t *cinfo,
91 ostream &logout);
92
93
94
95 bool status_disabled;
96 bool collector_disabled;
97 bool depositor_disabled;
98 bool translator_disabled;
99 bool gliapplet_disabled;
100
101};
102
103
104#endif
Note: See TracBrowser for help on using the repository browser.