00001 /* 00002 global_content.hpp 00003 00004 00005 */ 00006 #ifndef Global_Content_Hpp 00007 #define Global_Content_Hpp 00008 class global_content 00009 { 00010 private: 00011 00012 protected: 00013 long long m_id; 00014 long long m_site_id; 00015 string m_name; 00016 string m_content; 00017 00018 public: 00019 global_content & operator = ( const global_content & in ) 00020 { 00021 id( in.id() ); 00022 site_id( in.site_id() ); 00023 name( in.name() ); 00024 content( in.content() ); 00025 return * this; 00026 } 00027 global_content() 00028 :m_id(0),m_site_id(0) 00029 { 00030 ; 00031 } 00032 virtual ~global_content() 00033 { 00034 ; 00035 } 00036 00037 // Property Access Methods 00038 // Gets 00039 long long id( void ) const {return m_id;} 00040 long long site_id( void ) const {return m_site_id;} 00041 string name( void ) const {return m_name;} 00042 string content( void ) const {return m_content;} 00043 00044 // Sets 00045 void id( long long in ){m_id=in;} 00046 void site_id( long long in ){m_site_id=in;} 00047 void name( string in ){m_name=in;} 00048 void content( string in ){m_content=in;} 00049 }; 00050 00051 typedef map<string,global_content> global_content_map; 00052 00053 class global_contents : public global_content_map, protected read_base 00054 { 00055 private: 00056 string getSiteSql( long long site_id ) 00057 { 00058 // load page from lookup url 00059 ocString sql = "select id, site_id, name, content " 00060 "from metasite.global_content " 00061 "where site_id = "; 00062 sql.append(site_id); 00063 return sql; 00064 } 00065 void propset( global_content & gc ) 00066 { 00067 gc.id(atoll(rs.getField(0).format().c_str())); 00068 gc.site_id(atoll(rs.getField(1).format().c_str())); 00069 gc.name(rs.getField(2).format()); 00070 gc.content(rs.getField(3).format()); 00071 } 00072 public: 00073 global_contents():read_base() 00074 { 00075 ; 00076 } 00077 ~global_contents() 00078 { 00079 ; 00080 } 00081 00082 bool load( long long site_id ) 00083 { 00084 bool breturn=false; 00085 00086 // load the template info by id from the db. 00087 for( bool ok=rs.open(getSiteSql(site_id)); ok; ok=rs.next() ) 00088 { 00089 global_content gc; 00090 propset(gc); 00091 insert( make_pair(gc.name(),gc) ); 00092 } 00093 rs.close(); 00094 00095 // return result of load 00096 return breturn; 00097 } 00098 }; 00099 #endif
1.5.5