00001
00002
00003
00004
00005
00006
00007 #include <iostream>
00008 #include <iomanip>
00009 #include "cgiTemplates.h"
00010 #include "connectstring"
00011 #include "forms.h"
00012 #include "ocTypes.h"
00013 #include "ocString.h"
00014 #include "read_write_base.hpp"
00015 #include "forms_base.hpp"
00016 #include "list_base.hpp"
00017
00018 #include "openLogin.h"
00019 #include "siteLimit.h"
00020
00021 using namespace std;
00022 openLogin oLogin;
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 class page_menu: public read_write_base
00039 {
00040 public:
00041 identifier id;
00042 long long site_id;
00043 long long menu_id;
00044 long long page_id;
00045 int place_order;
00046 int collapsible;
00047
00048 page_menu():read_write_base(),id(0LL),menu_id(0LL),page_id(0LL),place_order(0),collapsible(0)
00049 {
00050
00051 data_name("metasite.page_menus");
00052
00053 addDXMap( new llongXfer("id", &id ));
00054 addDXMap( new llongXfer("site_id", &site_id ));
00055 addDXMap( new llongXfer("menu_id", & menu_id));
00056 addDXMap( new llongXfer("page_id", &page_id ));
00057 addDXMap( new intXfer("place_order", &place_order ));
00058 addDXMap( new intXfer("collapsible", &collapsible ));
00059 }
00060 };
00061
00062 class page_menu_form: public page_menu, public forms_base
00063 {
00064 public:
00065 page_menu_form(cgiScript & script):page_menu(),forms_base(script){setKey(*this);}
00066 virtual ~page_menu_form(){;}
00067
00068 void form_id_transfer( void )
00069 {
00070 llongFXfer( "id", id );
00071 }
00072 void form_data_transfer( void )
00073 {
00074
00075 llongFXfer( "site_id", site_id );
00076 llongFXfer( "menu_id",menu_id );
00077 llongFXfer( "page_id",page_id );
00078 intFXfer("place_order",place_order );
00079 intFXfer("collapsible",collapsible );
00080 }
00081
00082 bool dbf_action( string mode, changeMap & changes )
00083 {
00084 return db_action( mode, changes );
00085 }
00086
00087
00088 bool form_display( void )
00089 {
00090 bool breturn = true;
00091 string siteLimitation = siteFocus(oLogin);
00092 ocString sql = "select id, name from metasite.sites";
00093 if( siteLimitation.length() != 0 )
00094 {
00095 sql += " where id ";
00096 sql += siteLimitation;
00097 }
00098 script << makeTop("page_menu_ui.cgi", "Page - Menu Assignment");
00099
00100 script << formTemplate.getParagraph("advanced_begin")
00101 << makeStaticBox("Id", "id", id, "12")
00102 << "<br class='clearall'>" << endl
00103 << makeComboBox( "Site", "site_id", site_id,
00104 sql );
00105 sql = "select id, name from metasite.pages ";
00106 sql += " where id = ";
00107 sql.append(page_id);
00108 script << makeComboBox( "Page", "page_id", page_id,
00109 sql )
00110 << "<br class='clearall'>" << endl;
00111 script << formTemplate.getParagraph("advanced_end");
00112
00113 sql = "select id, name from metasite.menus ";
00114 if( siteLimitation.length() != 0 )
00115 {
00116 sql += " where site_id ";
00117 sql += siteLimitation;
00118 }
00119 script << makeComboBox( "Menu", "menu_id", menu_id,
00120 sql );
00121
00122 script << makeTextBox("Place Order","place_order",place_order,"8")
00123 << makeBoolBox( "Collapsible?", "collapsible", (bool) collapsible )
00124 << "<br class='clearall'>" << endl
00125 << makeButtons( key() );
00126
00127 script << makeBottom( m_result ) << endl;
00128 return breturn;
00129 }
00130 };
00131
00132
00133 int main( int argcount, char ** args )
00134 {
00135 cgiScript script( "text/html", false );
00136 page_menu_form myFrm(script);
00137
00138 if( oLogin.testLoginStatus() )
00139 {
00140 script.closeHeader();
00141 cgiTemplates pgoo;
00142 pgoo.load("Templates/adminPane.htmp");
00143
00144 script << ocString(pgoo.getParagraph("top"))
00145 .replaceAll("$heading$","SITES");
00146
00147 myFrm.loadControlTemplates("Templates/childdivform.htmp");
00148 myFrm.form_action();
00149 myFrm.form_display();
00150
00151 ocString end = pgoo.getParagraph("bottom");
00152 script << end;
00153 }
00154 else
00155 {
00156 script.Redirect("signIn.html");
00157 }
00158 }
00159
00160
00161 #include "read_write_base.cpp"
00162 #include "forms_base.cpp"