00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <string>
00014
00015 #include "openLogger.h"
00016 using namespace std;
00017 #include "services.hpp"
00018
00019
00020 string baseUrl;
00021
00022 #include "w3intranet.h"
00023
00024 class services_List: public list_base
00025 {
00026 public:
00027
00028 services_List(cgiScript&sc,Session_Obj & session):list_base(sc,session){;}
00029 ~services_List(){;}
00030
00031 bool list_display( void )
00032 {
00033 bool breturn = true;
00034
00035 hotCol=-2;
00036 editLink = listTemplate.getParagraph("hotcolumn");
00037 editLink = editLink.replace("$prog$","servicesUI.meta");
00038 emitFilter( "servicesUI.meta",
00039 " <B>FILTER (by menu_name)</B>" );
00040 string heading =
00041 "<a class='sortcol' href='servicesUI.meta?sort=id'>id</a>|"
00042 "<a class='sortcol' href='servicesUI.meta?sort=sequence'>sequence</a>|"
00043 "<a class='sortcol' href='servicesUI.meta?sort=tree_depth'>tree_depth</a>|"
00044 "<a class='sortcol' href='servicesUI.meta?sort=enabled'>enabled</a>|"
00045 "<a class='sortcol' href='servicesUI.meta?sort=cat_name'>cat_name</a>|"
00046 "<a class='sortcol' href='servicesUI.meta?sort=menu_name'>menu_name</a>|"
00047 "<a class='sortcol' href='servicesUI.meta?sort=uri'>uri</a>|"
00048 "<a class='sortcol' href='servicesUI.meta?sort=local_uri'>local_uri</a>|"
00049 "<a class='sortcol' href='servicesUI.meta?sort=secure'>secure</a>|"
00050 "<a class='sortcol' href='servicesUI.meta?sort=xml_params'>xml_params</a>"
00051 ;
00052 emitHeadings(heading);
00053 getFilteredData(
00054 "id, "
00055 "sequence, "
00056 "tree_depth, "
00057 "enabled, "
00058 "cat_name, "
00059 "menu_name, "
00060 "uri, "
00061 "local_uri, "
00062 "secure, "
00063 "xml_params "
00064 ,"services",
00065 "menu_name like '$filter$%'" );
00066 emitData();
00067 emitNavigation("servicesUI.meta");
00068 emitEnd();
00069 return breturn;
00070 }
00071 };
00072
00073 class services_form: public services_Obj, public forms_base
00074 {
00075 public:
00076 services_form(cgiScript & script):services_Obj(),forms_base(script){setKey(*this);}
00077 virtual ~services_form(){;}
00078
00079 void form_id_transfer( void )
00080 {
00081 llongFXfer( "id", id );
00082 }
00083 void form_data_transfer( void )
00084 {
00085 intFXfer( "sequence", sequence);
00086 shortFXfer( "tree_depth", tree_depth);
00087 boolFXfer( "enabled", enabled);
00088 stringFXfer( "cat_name", cat_name);
00089 stringFXfer( "menu_name", menu_name);
00090 stringFXfer( "uri", uri);
00091 boolFXfer( "local_uri", local_uri);
00092 boolFXfer( "secure", secure);
00093 stringFXfer( "xml_params", xml_params);
00094
00095 }
00096
00097 bool dbf_action( string mode, changeMap & changes )
00098 {
00099 return db_action( mode, changes );
00100 }
00101
00102
00103 bool form_display( void )
00104 {
00105 bool breturn = true;
00106 ocString sql;
00107
00108 script << makeTop("servicesUI.meta", "services")
00109 << formTemplate.getParagraph("advanced_begin");
00110 script << makeStaticBox("id", "id", id ,"8");
00111 script << "<br class='clearall'>" << endl;
00112 script << formTemplate.getParagraph("advanced_end");
00113
00114 script << makeTextBox("sequence", "sequence", sequence ,"8","8");
00115 script << "<br class='clearall'>" << endl;
00116 script << makeTextBox("tree_depth", "tree_depth", tree_depth ,"4","4");
00117 script << "<br class='clearall'>" << endl;
00118 script << makeBoolBox("enabled", "enabled", enabled );
00119 script << "<br class='clearall'>" << endl;
00120 script << makeTextBox("cat_name", "cat_name", cat_name ,"25");
00121 script << "<br class='clearall'>" << endl;
00122 script << makeTextBox("menu_name", "menu_name", menu_name ,"25");
00123 script << "<br class='clearall'>" << endl;
00124 script << makeTextBox("uri", "uri", uri ,"225" ,"25");
00125 script << "<br class='clearall'>" << endl;
00126 script << makeBoolBox("local_uri", "local_uri", local_uri );
00127 script << "<br class='clearall'>" << endl;
00128 script << makeBoolBox("secure", "secure", secure );
00129 script << "<br class='clearall'>" << endl;
00130
00131 script << makeTextArea( "xml_params", "xml_params", xml_params, "4", "50" );
00132
00133 script << "<br class='clearall'>" << endl;
00134
00135 script << makeButtons( key() );
00136 script << makeBottom( m_result ) << endl;
00137 return breturn;
00138 }
00139 };
00140
00141 bool intraMain(page & pg ,cgiScript & script)
00142 {
00143
00144 services_form myFrm(script);
00145 services_List mylist(script,oLogin.Session());
00146
00147 script.closeHeader();
00148
00149
00150 myFrm.loadControlTemplates("Templates/divform.htmp");
00151 myFrm.form_action();
00152 myFrm.form_display();
00153
00154 mylist.loadListTemplates("Templates/navlist.htmp");
00155 mylist.list_display();
00156
00157
00158
00159 return true;
00160 }
00161
00162
00163 int main(int argc, char ** argv)
00164 {
00165 baseUrl = "servicesUI.meta";
00166
00167 cgiScript script("text/html",false);
00168 bool isSignedOn = check(script);
00169 script.closeHeader();
00170 page pg(script);
00171 script.ScriptName() =
00172 ocString( script.ScriptName().c_str()).replace("servicesUI.meta","services").c_str();
00173 writelog( "load page" );
00174 if( pg.load() )
00175 {
00176 writelog( "instance of page control" );
00177 page_control ctrl(pg);
00178 ctrl.addOp ( "servicelist", new servicelist_functor(pg,script,isSignedOn) );
00179 ctrl.addOp ( "userinterface", new form_functor(pg,script,isSignedOn) );
00180 writelog( "page control emit" );
00181 ctrl.emit();
00182 }
00183 else
00184 {
00185 script << "<html><head><title>Page Unavailable</title></head>" << endl
00186 << "<body><h1>Sorry</h1>" << endl
00187 << "<p>The page you requested "
00188 << script.ScriptName()
00189 << " is not available</p></body></html>";
00190 }
00191 return 0;
00192 }
00193
00194
00195 #include "read_write_base.cpp"
00196 #include "forms_base.cpp"