Changeset 1794
- Timestamp:
- 2000-12-15T13:03:42+13:00 (23 years ago)
- Location:
- trunk/gsdl
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/macros/status.dm
r1494 r1794 28 28 </tr> 29 29 </table> 30 <center> 31 <table width=_pagewidth_><tr><td> 30 32 } 31 33 32 34 _infofooter_ { 35 </td></tr></table> 33 36 <p> _iconblankbar_ 34 37 </body> … … 65 68 <a href="_gwcgi_?e=_compressedoptions_&a=um&uma=listusers" target=infoframe>_textlistusers_</a><br> 66 69 <a href="_gwcgi_?e=_compressedoptions_&a=um&uma=adduser" target=infoframe>_textaddusers_</a><br> 70 <a href="_gwcgi_?e=_compressedoptions_&a=um&uma=changepasswd" target=infoframe>_textchangepasswd_</a> 67 71 ) 68 72 … … 73 77 <a href="_gwcgi_?e=_compressedoptions_&a=status&sp=browserinfo" target=infoframe>_textbrowsers_</a><br> 74 78 <a href="_gwcgi_?e=_compressedoptions_&a=status&sp=protocolinfo" target=infoframe>_textprotocols_</a> 79 80 <p><b>_textconfigfiles_</b><br> 81 <a href="_gwcgi_?e=_compressedoptions_&a=status&sp=gsdlsite" target=infoframe>_textgsdlsite_</a><br> 82 <a href="_gwcgi_?e=_compressedoptions_&a=status&sp=maincfg" target=infoframe>_textmaincfg_</a> 75 83 76 84 <p><b>_textlogs_</b><br> … … 84 92 _textlistusers_ {list users} 85 93 _textaddusers_ {add a new user} 94 _textchangepasswd_ {change password} 86 95 87 96 _textinfo_ {Information} … … 91 100 _textbrowsers_ {browsers} 92 101 _textprotocols_ {protocols} 102 103 _textconfigfiles_ {Configuration files} 104 _textgsdlsite_ {gsdlsite.cfg} 105 _textmaincfg_ {main.cfg}_ 93 106 94 107 _textlogs_ {Logs} … … 132 145 </center> 133 146 } 147 148 _maincfg_ { 149 <form name="maincfgform" method=post action="_gwcgi_"> 150 <input type=hidden name="sp" value="changemaincfg"> 151 <input type=hidden name="e" value="_decodedcompressedoptions_"> 152 <p>_If_(_maincfgfile_,<textarea name="cfgfile" cols=72 rows=18 wrap=off> 153 _maincfgfile_ 154 </textarea><input type=submit value="Submit Changes"><input type=reset>, 155 Error opening main.cfg) 156 </form> 157 } 158 159 _changemaincfgfail_ { 160 <html> 161 <body bgcolor="\#ffffff" text="\#000000"> 162 Failed to update main.cfg 163 _footer_ 164 } 165 166 _changemaincfgsuccess_ { 167 <html> 168 <body bgcolor="\#ffffff" text="\#000000"> 169 main.cfg updated successfully 170 _footer_ 171 } 172 -
trunk/gsdl/macros/users.dm
r1129 r1794 139 139 package userschangepasswd 140 140 141 _pagetitle_ {Change password} 142 _imagethispage_ {_imagegreenstone_} 141 _header_ { 142 <html> 143 <head> 144 <title>Change password</title> 145 </head> 146 <body bgcolor="#ffffff" text="#000000" link="#006666" 147 alink="#cc9900" vlink="#666633"> 148 } 143 149 144 150 _content_ { … … 168 174 package userschangepasswdok 169 175 170 _pagetitle_ {Change password} 171 _imagethispage_ {_imagegreenstone_} 176 _header_ { 177 <html> 178 <head> 179 <title>Change password</title> 180 </head> 181 <body bgcolor="#ffffff" text="#000000" link="#006666" 182 alink="#cc9900" vlink="#666633"> 183 } 172 184 173 185 _content_ { -
trunk/gsdl/src/recpt/statusaction.cpp
r1759 r1794 27 27 #include "fileutil.h" 28 28 #include "htmlutils.h" 29 #include "gsdltools.h" 29 30 #include <assert.h> 30 31 … … 744 745 outconvertclass &outconvert, 745 746 ostream &textout, ostream &/*logout*/) { 746 if (recpt == NULL) return; 747 const recptconf &rcinfo = recpt->get_configinfo (); 748 text_t initfilename = filename_cat (rcinfo.gsdlhome, "etc", "initout.txt"); 747 748 text_t initfilename = filename_cat (gsdlhome, "etc", "initout.txt"); 749 749 char *cinitfilename = initfilename.getcstr(); 750 750 if (cinitfilename == NULL) return; … … 788 788 outconvertclass &outconvert, 789 789 ostream &textout, ostream &logout) { 790 if (recpt == NULL) return; 791 const recptconf &rcinfo = recpt->get_configinfo (); 792 text_t errfilename = filename_cat (rcinfo.gsdlhome, "etc", "errout.txt"); 790 791 text_t errfilename = filename_cat (gsdlhome, "etc", "errout.txt"); 793 792 char *cerrfilename = errfilename.getcstr(); 794 793 if (cerrfilename == NULL) return; … … 828 827 829 828 textout << outconvert << disp << "_status:infofooter_\n"; 829 } 830 831 void statusaction::output_gsdlsite (cgiargsclass &/*args*/, displayclass &disp, 832 outconvertclass &outconvert, 833 ostream &textout, ostream &logout) { 834 835 textout << outconvert << disp << "_status:infoheader_(gsdlsite.cfg)\n"; 836 textout << outconvert << "<h2>gsdlsite.cfg</h2>\n"; 837 logout << flush; 838 839 #ifdef GSDL_USE_IOS_H 840 ifstream gsdlsitein ("gsdlsite.cfg", ios::in | ios::nocreate); 841 #else 842 ifstream gsdlsitein ("gsdlsite.cfg", ios::in); 843 #endif 844 845 if (gsdlsitein) { 846 textout << "<p>The gsdlsite.cfg configuration file contains the\n" 847 << "following information:\n\n"; 848 text_t gsdlsite = "<p><pre>\n"; 849 850 char c; 851 gsdlsitein.get(c); 852 while (!gsdlsitein.eof ()) { 853 gsdlsite.push_back(c); 854 gsdlsitein.get(c); 855 } 856 857 gsdlsite += "</pre>\n"; 858 gsdlsitein.close(); 859 textout << outconvert << gsdlsite; 860 861 } else { 862 textout << "Couldn't read gsdlsite.cfg configuration file\n"; 863 } 864 865 textout << outconvert << disp << "_status:infofooter_\n"; 866 } 867 868 void statusaction::output_maincfg (cgiargsclass &/*args*/, displayclass &disp, 869 outconvertclass &outconvert, 870 ostream &textout, ostream &/*logout*/) { 871 872 text_t maincfgfile = filename_cat (gsdlhome, "etc", "main.cfg"); 873 874 textout << outconvert << disp << "_status:infoheader_(main.cfg)\n" 875 << "<h2>main.cfg</h2>\n" 876 << "<p>The main configuration file, " 877 << maincfgfile << ", contains the following information:<br>\n\n" 878 << "(Note that only users belonging to the \"administrator\" group " 879 << "may edit this file)<br>\n" 880 << "_status:maincfg_<br>\n" 881 << "_status:infofooter_\n"; 882 } 883 884 void statusaction::change_maincfg (cgiargsclass &args, displayclass &disp, 885 outconvertclass &outconvert, 886 ostream &textout, ostream &logout) { 887 888 // write out the contents of the cfgfile argument to main.cfg 889 text_t cfgfile = filename_cat(gsdlhome, "etc", "main.cfg"); 890 char *cfgfilec = cfgfile.getcstr(); 891 #ifdef __WIN32__ 892 ofstream cfg_out (cfgfilec, ios::binary); 893 #else 894 ofstream cfg_out (cfgfilec); 895 #endif 896 897 if (cfg_out) { 898 // lock the file 899 int fd = GSDL_GET_FILEDESC(cfg_out); 900 int lock_val = 1; 901 GSDL_LOCK_FILE (fd); 902 if (lock_val != 0) { 903 logout << "statusaction::change_maincfg: Error: Couldn't lock file " << cfgfilec << "\n"; 904 cfg_out.close(); 905 textout << outconvert << disp << "_status:changemaincfgfail_"; 906 907 } else { 908 909 outconvertclass text_t2ascii; 910 cfg_out << text_t2ascii << args["cfgfile"]; 911 GSDL_UNLOCK_FILE (fd); 912 cfg_out.close(); 913 textout << outconvert << disp << "_status:changemaincfgsuccess_"; 914 } 915 } else { 916 logout << "statusaction::change_maincfg: Error: Couldn't open file " << cfgfilec << "for writing\n"; 917 textout << outconvert << disp << "_status:changemaincfgfail_"; 918 } 830 919 } 831 920 … … 869 958 arg_ainfo.defaultstatus = cgiarginfo::good; 870 959 arg_ainfo.argdefault = "frameset"; 871 arg_ainfo.savedarginfo = cgiarginfo:: can;960 arg_ainfo.savedarginfo = cgiarginfo::must; 872 961 argsinfo.addarginfo (NULL, arg_ainfo); 873 962 … … 880 969 arg_ainfo.savedarginfo = cgiarginfo::can; 881 970 argsinfo.addarginfo (NULL, arg_ainfo); 971 972 arg_ainfo.shortname = "cfgfile"; 973 arg_ainfo.longname = "configuration file contents"; 974 arg_ainfo.multiplechar = true; 975 arg_ainfo.defaultstatus = cgiarginfo::weak; 976 arg_ainfo.argdefault = ""; 977 arg_ainfo.savedarginfo = cgiarginfo::mustnot; 978 argsinfo.addarginfo (NULL, arg_ainfo); 882 979 } 883 980 … … 885 982 } 886 983 887 bool statusaction::check_cgiargs (cgiargsinfoclass &/*argsinfo*/, cgiargsclass & /*args*/,984 bool statusaction::check_cgiargs (cgiargsinfoclass &/*argsinfo*/, cgiargsclass &args, 888 985 ostream &/*logout*/) { 986 987 // only users belonging to the "administrator" group may edit 988 // the main.cfg file 989 if (args["sp"] == "maincfg" || args["sp"] == "changemaincfg") { 990 args["uan"] = "1"; 991 args["ug"] = "administrator"; 992 } 889 993 return true; 890 994 } … … 895 999 response = content; 896 1000 response_data = "text/html"; 1001 } 1002 1003 1004 void statusaction::define_internal_macros (displayclass &disp, cgiargsclass &args, 1005 recptprotolistclass * /*protos*/, ostream &logout) { 1006 1007 // define_internal_macros sets the following macros: 1008 // _maincfgfile_ the contents of the main.cfg configuration file 1009 1010 if (args["sp"] == "maincfg") { 1011 1012 // read in main.cfg 1013 text_t maincfg = filename_cat(gsdlhome, "etc", "main.cfg"); 1014 char *maincfgc = maincfg.getcstr(); 1015 1016 #ifdef GSDL_USE_IOS_H 1017 ifstream cfg_ifs (maincfgc, ios::in | ios::nocreate); 1018 #else 1019 ifstream cfg_ifs (maincfgc, ios::in); 1020 #endif 1021 1022 if (cfg_ifs) { 1023 text_t cfgtext; 1024 char c; 1025 cfg_ifs.get(c); 1026 while (!cfg_ifs.eof ()) { 1027 cfgtext.push_back(c); 1028 cfg_ifs.get(c); 1029 } 1030 cfg_ifs.close(); 1031 1032 // define it as a macro 1033 disp.setmacro("maincfgfile", "status", dm_safe(cfgtext)); 1034 1035 } else { 1036 logout << "statusaction::define_internal_macros: couldn't open configuration file (" 1037 << maincfgc << ") for reading\n"; 1038 disp.setmacro("maincfgfile", "status", ""); 1039 } 1040 delete maincfgc; 1041 } 897 1042 } 898 1043 … … 955 1100 else if (arg_sp == "initlog") output_initlog (args, disp, outconvert, textout, logout); 956 1101 else if (arg_sp == "errorlog") output_errorlog (args, disp, outconvert, textout, logout); 1102 else if (arg_sp == "gsdlsite") output_gsdlsite (args, disp, outconvert, textout, logout); 1103 else if (arg_sp == "maincfg") output_maincfg (args, disp, outconvert, textout, logout); 1104 else if (arg_sp == "changemaincfg") change_maincfg (args, disp, outconvert, textout, logout); 957 1105 else { 958 1106 output_errorpage (outconvert, textout, logout, -
trunk/gsdl/src/recpt/statusaction.h
r1285 r1794 83 83 ostream &textout, ostream &logout); 84 84 85 void output_gsdlsite (cgiargsclass &args, displayclass &disp, 86 outconvertclass &outconvert, 87 ostream &textout, ostream &logout); 88 89 void output_maincfg (cgiargsclass &args, displayclass &disp, 90 outconvertclass &outconvert, 91 ostream &textout, ostream &logout); 92 93 void change_maincfg (cgiargsclass &args, displayclass &disp, 94 outconvertclass &outconvert, 95 ostream &textout, ostream &logout); 96 85 97 void output_errorpage (outconvertclass &outconvert, 86 98 ostream &textout, ostream &logout, … … 102 114 ostream &logout); 103 115 116 117 void define_internal_macros (displayclass &disp, cgiargsclass &args, 118 recptprotolistclass *protos, ostream &logout); 119 104 120 bool do_action (cgiargsclass &args, recptprotolistclass *protos, 105 121 browsermapclass *browsers, displayclass &disp,
Note:
See TracChangeset
for help on using the changeset viewer.