[ Index ] |
|
Code source de CMS made simple 1.0.5 |
1 <?php 2 3 echo "<p>Adding content table..."; 4 5 $dbdict = NewDataDictionary($db); 6 $flds = " 7 content_id I, 8 content_name C(255), 9 type C(25), 10 owner_id I, 11 parent_id I, 12 template_id I, 13 item_order I, 14 hierarchy C(255), 15 default_content I1, 16 menu_text C(255), 17 content_alias C(255), 18 show_in_menu I1, 19 markup C(25), 20 active I1, 21 cachable I1, 22 create_date DT, 23 modified_date DT 24 "; 25 $taboptarray = array('mysql' => 'TYPE=MyISAM'); 26 $sqlarray = $dbdict->CreateTableSQL(cms_db_prefix()."content", $flds, $taboptarray); 27 $dbdict->ExecuteSQLArray($sqlarray); 28 29 $db->CreateSequence(cms_db_prefix()."content_seq"); 30 31 echo "[done]</p>"; 32 33 echo "<p>Adding content_props table..."; 34 35 $dbdict = NewDataDictionary($db); 36 $flds = " 37 content_prop_id I, 38 content_id I, 39 type C(25), 40 prop_name C(255), 41 param1 C(255), 42 param2 C(255), 43 param3 C(255), 44 content X, 45 create_date DT, 46 modified_date DT 47 "; 48 $taboptarray = array('mysql' => 'TYPE=MyISAM'); 49 $sqlarray = $dbdict->CreateTableSQL(cms_db_prefix()."content_props", $flds, $taboptarray); 50 $dbdict->ExecuteSQLArray($sqlarray); 51 52 $db->CreateSequence(cms_db_prefix()."content_props_seq"); 53 54 echo "[done]</p>"; 55 56 echo "<p>Converting existing content..."; 57 58 $query = "SELECT * from ".cms_db_prefix()."pages ORDER BY hierarchy_position"; 59 $result = $db->Execute($query); 60 61 if ($result && $result->RecordCount() > 0) 62 { 63 $idmap = array(); 64 65 while ($row = $result->FetchRow()) 66 { 67 $newid = $db->GenID(cms_db_prefix()."content_seq"); 68 $idmap[$row['page_id']] = $newid; 69 70 $contentquery = "INSERT INTO ".cms_db_prefix()."content (content_id, content_name, type, owner_id, parent_id, item_order, create_date, modified_date, active, default_content, template_id, content_alias, menu_text, show_in_menu, markup) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 71 $contentresult = $db->Execute($contentquery, array( 72 $newid, 73 $row['page_title'], 74 $row['page_type'], 75 $row['owner'], 76 $row['parent_id'], 77 $row['item_order'], 78 $row['create_date'], 79 trim($db->DBTimeStamp(time()), "'"), 80 $row['active'], 81 $row['default_page'], 82 $row['template_id'], 83 $row['page_alias'], 84 $row['menu_text'], 85 $row['show_in_menu'], 86 'html' 87 )); 88 89 $type = $row['page_type']; 90 91 switch ($type) 92 { 93 case 'content': 94 $newcontent = @ContentManager::LoadContentFromId($newid); 95 if ($newcontent !== FALSE) 96 { 97 $oldcontent = $row['page_content']; 98 99 #Fix for dhtmlmenu 100 $oldcontent = str_replace('{dhtmlmenu', "{cms_module module='phplayers'", $oldcontent); 101 102 $newcontent->mCachable = true; 103 104 $newcontent->SetPropertyValue('content_en', $oldcontent); 105 $newcontent->SetPropertyValue('head_tags', $row['head_tags']); 106 $newcontent->Save(); 107 } 108 break; 109 case 'link': 110 $newcontent = @ContentManager::LoadContentFromId($newid); 111 if ($newcontent !== FALSE) 112 { 113 $newcontent->SetPropertyValue('url', $row['page_url']); 114 $newcontent->Save(); 115 } 116 break; 117 default: 118 break; 119 } 120 121 } 122 123 #Fix parent ids 124 $query = "UPDATE ".cms_db_prefix()."content SET parent_id = -1 WHERE parent_id = 0"; 125 $result = $db->Execute($query); 126 127 $query = "SELECT content_id, parent_id from ".cms_db_prefix()."content"; 128 $result = $db->Execute($query); 129 130 if ($result && $result->RecordCount() > 0) 131 { 132 while ($row = $result->FetchRow()) 133 { 134 if (isset($row['parent_id']) && $row['parent_id'] > -1) 135 { 136 $newquery = "UPDATE ".cms_db_prefix()."content SET parent_id = ? WHERE content_id = ?"; 137 $db->Execute($newquery, array( 138 $idmap[$row['parent_id']], 139 $row['content_id'] 140 )); 141 } 142 } 143 } 144 145 $query = "UPDATE ".cms_db_prefix()."content SET parent_id = -1 WHERE parent_id IS NULL"; 146 $result = $db->Execute($query); 147 148 $query = "UPDATE ".cms_db_prefix()."content SET content_alias = '' WHERE content_alias IS NULL"; 149 $result = $db->Execute($query); 150 } 151 152 echo '[done]</p>'; 153 154 @ob_flush(); 155 156 echo '<p>Adding module_deps table...'; 157 158 $dbdict = NewDataDictionary($db); 159 $flds = " 160 parent_module C(25), 161 child_module C(25), 162 minimum_version C(25), 163 create_date DT, 164 modified_date DT 165 "; 166 $taboptarray = array('mysql' => 'TYPE=MyISAM'); 167 $sqlarray = $dbdict->CreateTableSQL(cms_db_prefix()."module_deps", $flds, $taboptarray); 168 $dbdict->ExecuteSQLArray($sqlarray); 169 170 echo '[done]</p>'; 171 172 echo '<p>Updating hierarchy positions...'; 173 174 @ContentManager::SetAllHierarchyPositions(); 175 176 echo '[done]</p>'; 177 178 echo '<p>Changing dhtmlmenu to phplayers module on templates...'; 179 180 $alltemplates = TemplateOperations::LoadTemplates(); 181 foreach ($alltemplates as $onetemplate) 182 { 183 #Fix for dhtmlmenu 184 $onetemplate->content = str_replace('{dhtmlmenu', "{cms_module module='phplayers'", $onetemplate->content); 185 $onetemplate->Save(); 186 } 187 188 echo '[done]</p>'; 189 190 echo '<p>"Installing" phplayers module (if necessary)... '; 191 192 $query = "SELECT * from ".cms_db_prefix()."modules WHERE module_name = 'PHPLayers'"; 193 $result = $db->Execute($query); 194 195 if ($result && $result->RecordCount() < 1) 196 { 197 $query = "INSERT INTO ".cms_db_prefix()."modules (module_name, status, version, active) VALUES ('PHPLayers', 'Installed', '1.0', 1)"; 198 $result = $db->Execute($query); 199 } 200 201 echo '[done]</p>'; 202 203 echo '<p>Updating additional_users to new content ids...'; 204 205 $dbdict = NewDataDictionary($db); 206 $sqlarray = $dbdict->AddColumnSQL(cms_db_prefix()."additional_users", "content_id I"); 207 $dbdict->ExecuteSQLArray($sqlarray); 208 209 $query = "SELECT * from ".cms_db_prefix()."additional_users"; 210 $result = $db->Execute($query); 211 212 if ($result && $result->RecordCount() > 0) 213 { 214 while ($row = $result->FetchRow()) 215 { 216 $query2 = "UPDATE ".cms_db_prefix()."additional_users SET content_id = ? WHERE additional_users_id = ?"; 217 $db->Execute($query2, array($idmap[$row['page_id']], $row['additional_users_id'])); 218 } 219 } 220 221 echo '[done]</p>'; 222 223 echo '<p>Updating schema version... '; 224 225 $query = "UPDATE ".cms_db_prefix()."version SET version = 9"; 226 $db->Execute($query); 227 228 echo '[done]</p>'; 229 230 # vim:ts=4 sw=4 noet 231 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Tue Apr 3 18:50:37 2007 | par Balluche grâce à PHPXref 0.7 |