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

Revision 28899, 3.2 KB (checked in by ak19, 4 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
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 browser.