00001 <#1>
00002 #intial release of database
00003 <#2>
00004 # adding forum tables
00005 DROP TABLE IF EXISTS frm_posts_tree;
00006 CREATE TABLE frm_posts_tree (
00007 fpt_pk bigint(20) NOT NULL auto_increment,
00008 thr_fk bigint(20) NOT NULL default '0',
00009 pos_fk bigint(20) NOT NULL default '0',
00010 parent_pos bigint(20) NOT NULL default '0',
00011 lft int(11) NOT NULL default '0',
00012 rgt int(11) NOT NULL default '0',
00013 depth int(11) NOT NULL default '0',
00014 date datetime NOT NULL default '0000-00-00 00:00:00',
00015 PRIMARY KEY (fpt_pk)
00016 ) TYPE=MyISAM;
00017
00018 DROP TABLE IF EXISTS frm_data;
00019 CREATE TABLE frm_data (
00020 top_pk bigint(20) NOT NULL auto_increment,
00021 top_frm_fk bigint(20) NOT NULL default '0',
00022 top_name varchar(255) NOT NULL default '',
00023 top_description varchar(255) NOT NULL default '',
00024 top_num_posts int(11) NOT NULL default '0',
00025 top_num_threads int(11) NOT NULL default '0',
00026 top_last_post varchar(50) NOT NULL default '',
00027 top_mods varchar(100) NOT NULL default '',
00028 top_last_modified datetime NOT NULL default '0000-00-00 00:00:00',
00029 visits int(11) NOT NULL default '0',
00030 PRIMARY KEY (top_pk)
00031 ) TYPE=MyISAM;
00032
00033 DROP TABLE IF EXISTS frm_posts;
00034 CREATE TABLE frm_posts (
00035 pos_pk bigint(20) NOT NULL auto_increment,
00036 pos_top_fk bigint(20) NOT NULL default '0',
00037 pos_thr_fk bigint(20) NOT NULL default '0',
00038 pos_usr_id bigint(20) NOT NULL default '0',
00039 pos_message text NOT NULL,
00040 pos_date datetime NOT NULL default '0000-00-00 00:00:00',
00041 pos_update datetime NOT NULL default '0000-00-00 00:00:00',
00042 PRIMARY KEY (pos_pk)
00043 ) TYPE=MyISAM;
00044
00045 DROP TABLE IF EXISTS frm_threads;
00046 CREATE TABLE frm_threads (
00047 thr_pk bigint(20) NOT NULL auto_increment,
00048 thr_top_fk bigint(20) NOT NULL default '0',
00049 thr_subject varchar(255) NOT NULL default '',
00050 thr_usr_id bigint(20) NOT NULL default '0',
00051 thr_num_posts int(11) NOT NULL default '0',
00052 thr_last_post varchar(50) NOT NULL default '',
00053 thr_date datetime NOT NULL default '0000-00-00 00:00:00',
00054 thr_update datetime NOT NULL default '0000-00-00 00:00:00',
00055 thr_last_modified datetime NOT NULL default '0000-00-00 00:00:00',
00056 visits int(11) NOT NULL default '0',
00057 PRIMARY KEY (thr_pk)
00058 ) TYPE=MyISAM;
00059
00060 <#3>
00061 # set system adminstrator login to root/homer
00062 UPDATE usr_data SET
00063 login='root',
00064 passwd='dfa8327f5bfa4c672a04f9b38e348a70'
00065 WHERE usr_id='6';
00066
00067 <#4>
00068 # change column in `frm_data`
00069 ALTER TABLE `frm_data` CHANGE `top_last_modified` `top_date` DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;
00070
00071 # new column in `frm_data`
00072 ALTER TABLE `frm_data` ADD `top_update` DATETIME NOT NULL;
00073
00074 # new column in `frm_data`
00075 ALTER TABLE `frm_data` ADD `update_user` INT NOT NULL ;
00076
00077 # new column in `frm_data`
00078 ALTER TABLE `frm_data` ADD `top_usr_id` BIGINT( 20 ) NOT NULL ;
00079
00080 # delete column in `frm_threads`
00081 ALTER TABLE `frm_threads` DROP `thr_last_modified`;
00082
00083 <#5>
00084 # There are some old wrong entries in rbac_templates => delete them
00085 DELETE FROM rbac_templates
00086 WHERE parent='152';
00087
00088 <#6>
00089 # new forum operation in `rbac_operations`
00090 INSERT INTO `rbac_operations` ( `ops_id` , `operation` , `description` )
00091 VALUES (
00092 '9', 'edit post', 'edit forum articles'
00093 );
00094
00095 # new operation link in `rbac_ta`
00096 INSERT INTO `rbac_ta` ( `typ_id` , `ops_id` )
00097 VALUES (
00098 '14', '9'
00099 );
00100
00101 <#7>
00102 # change data type in `frm_data`
00103 ALTER TABLE `frm_data` CHANGE `top_mods` `top_mods` INT NOT NULL ;
00104
00105 # new forum operation in `rbac_operations`
00106 INSERT INTO `rbac_operations` ( `ops_id` , `operation` , `description` )
00107 VALUES (
00108 '10', 'delete post', 'delete forum articles'
00109 );
00110
00111 # new operation link in `rbac_ta`
00112 INSERT INTO `rbac_ta` ( `typ_id` , `ops_id` )
00113 VALUES (
00114 '14', '10'
00115 );
00116
00117 <#8>
00118 # new column in `frm_posts`
00119 ALTER TABLE `frm_posts` ADD `update_user` INT NOT NULL ;
00120
00121 <#9>
00122 # delete operation create of root folder and add operation delete
00123 UPDATE rbac_ta SET ops_id='6' WHERE typ_id='33' AND ops_id='5';
00124
00125 <#10>
00126 # set missing primary key an auto increment flag for some lo_tables
00127 ALTER TABLE `lo_attribute_name_leaf` DROP PRIMARY KEY , ADD PRIMARY KEY ( `leaf_id` );
00128 ALTER TABLE `lo_attribute_name_leaf` CHANGE `leaf_id` `leaf_id` INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT;
00129
00130 ALTER TABLE `lo_attribute` DROP PRIMARY KEY ,ADD PRIMARY KEY ( `attribute_id` );
00131 ALTER TABLE `lo_attribute` CHANGE `attribute_id` `attribute_id` INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT;
00132
00133 ALTER TABLE `lo_attribute_namespace_leaf` DROP PRIMARY KEY ,ADD PRIMARY KEY ( `leaf_id` );
00134 ALTER TABLE `lo_attribute_namespace_leaf` CHANGE `leaf_id` `leaf_id` INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT;
00135
00136 <#11>
00137 # new object-types: note folder object, note object
00138 INSERT INTO object_data (type,title,description,owner,create_date,last_update) VALUES ('typ', 'notf', 'Note Folder Object', -1, '2002-12-21 00:04:00', '2002-12-21 00:04:00');
00139 INSERT INTO object_data (type,title,description,owner,create_date,last_update) VALUES ('typ', 'note', 'Note Object', -1, '2002-12-21 00:04:00', '2002-12-21 00:04:00');
00140
00141 # new table note_data
00142 DROP TABLE IF EXISTS note_data;
00143 CREATE TABLE note_data (
00144 note_id int(11) NOT NULL default '0',
00145 lo_id int(11) NOT NULL default '0',
00146 text text,
00147 create_date datetime NOT NULL default '0000-00-00 00:00:00',
00148 last_update datetime NOT NULL default '0000-00-00 00:00:00',
00149 important enum('y','n') NOT NULL default 'n',
00150 good enum('y','n') NOT NULL default 'n',
00151 question enum('y','n') NOT NULL default 'n',
00152 bad enum('y','n') NOT NULL default 'n',
00153 PRIMARY KEY (note_id)
00154 ) TYPE=MyISAM;
00155
00156 <#12>
00157 # many changes in LO-repository
00158
00159 # remove old tables
00160 DROP TABLE IF EXISTS `lo_attribute` ,
00161 `lo_attribute_name_leaf` ,
00162 `lo_attribute_namespace_leaf` ,
00163 `lo_attribute_value_leaf` ,
00164 `lo_cdata_leaf` ,
00165 `lo_comment_leaf` ,
00166 `lo_element_name_leaf` ,
00167 `lo_element_namespace_leaf` ,
00168 `lo_entity_reference_leaf` ,
00169 `lo_pi_data_leaf` ,
00170 `lo_pi_target_leaf` ,
00171 `lo_text_leaf` ,
00172 `lo_tree` ;
00173
00174 # add new tables
00175 DROP TABLE IF EXISTS lo_attribute_idx;
00176 CREATE TABLE lo_attribute_idx (
00177 node_id int(10) unsigned NOT NULL default '0',
00178 attribute_id smallint(5) unsigned NOT NULL default '0',
00179 value_id smallint(5) unsigned NOT NULL default '0',
00180 KEY node_id (node_id)
00181 ) TYPE=MyISAM;
00182
00183 DROP TABLE IF EXISTS lo_attribute_name;
00184 CREATE TABLE lo_attribute_name (
00185 attribute_id smallint(5) unsigned NOT NULL auto_increment,
00186 attribute char(32) NOT NULL default '',
00187 PRIMARY KEY (attribute_id),
00188 UNIQUE KEY attribute (attribute)
00189 ) TYPE=MyISAM;
00190
00191 DROP TABLE IF EXISTS lo_attribute_namespace;
00192 CREATE TABLE lo_attribute_namespace (
00193 attribute_id smallint(5) unsigned NOT NULL auto_increment,
00194 node_id int(10) unsigned NOT NULL default '0',
00195 namespace char(64) NOT NULL default '',
00196 PRIMARY KEY (attribute_id)
00197 ) TYPE=MyISAM;
00198
00199 DROP TABLE IF EXISTS lo_attribute_value;
00200 CREATE TABLE lo_attribute_value (
00201 value_id smallint(5) unsigned NOT NULL auto_increment,
00202 value char(32) NOT NULL default '0',
00203 PRIMARY KEY (value_id)
00204 ) TYPE=MyISAM;
00205
00206 DROP TABLE IF EXISTS lo_cdata;
00207 CREATE TABLE lo_cdata (
00208 node_id int(10) unsigned NOT NULL auto_increment,
00209 cdata text NOT NULL,
00210 PRIMARY KEY (node_id)
00211 ) TYPE=MyISAM;
00212
00213 DROP TABLE IF EXISTS lo_comment;
00214 CREATE TABLE lo_comment (
00215 node_id int(10) unsigned NOT NULL auto_increment,
00216 comment text NOT NULL,
00217 PRIMARY KEY (node_id)
00218 ) TYPE=MyISAM;
00219
00220 DROP TABLE IF EXISTS lo_element_idx;
00221 CREATE TABLE lo_element_idx (
00222 node_id int(10) unsigned NOT NULL default '0',
00223 element_id smallint(5) unsigned NOT NULL default '0',
00224 PRIMARY KEY (node_id)
00225 ) TYPE=MyISAM;
00226
00227 DROP TABLE IF EXISTS lo_element_name;
00228 CREATE TABLE lo_element_name (
00229 element_id smallint(5) unsigned NOT NULL auto_increment,
00230 element char(32) NOT NULL default '',
00231 PRIMARY KEY (element_id),
00232 UNIQUE KEY element (element)
00233 ) TYPE=MyISAM;
00234
00235 DROP TABLE IF EXISTS lo_element_namespace;
00236 CREATE TABLE lo_element_namespace (
00237 element_id smallint(5) unsigned NOT NULL auto_increment,
00238 node_id int(10) unsigned NOT NULL default '0',
00239 namespace char(64) NOT NULL default '',
00240 PRIMARY KEY (element_id)
00241 ) TYPE=MyISAM;
00242
00243 DROP TABLE IF EXISTS lo_entity_reference;
00244 CREATE TABLE lo_entity_reference (
00245 element_id smallint(5) unsigned NOT NULL auto_increment,
00246 node_id int(10) unsigned NOT NULL default '0',
00247 entity_reference char(128) NOT NULL default '',
00248 PRIMARY KEY (element_id)
00249 ) TYPE=MyISAM;
00250
00251 DROP TABLE IF EXISTS lo_pi_data;
00252 CREATE TABLE lo_pi_data (
00253 leaf_id int(10) unsigned NOT NULL auto_increment,
00254 node_id int(10) unsigned NOT NULL default '0',
00255 leaf_text text NOT NULL,
00256 PRIMARY KEY (leaf_id)
00257 ) TYPE=MyISAM;
00258
00259 DROP TABLE IF EXISTS lo_pi_target;
00260 CREATE TABLE lo_pi_target (
00261 leaf_id int(10) unsigned NOT NULL auto_increment,
00262 node_id int(10) unsigned NOT NULL default '0',
00263 leaf_text text NOT NULL,
00264 PRIMARY KEY (leaf_id)
00265 ) TYPE=MyISAM;
00266
00267 DROP TABLE IF EXISTS lo_text;
00268 CREATE TABLE lo_text (
00269 node_id int(10) unsigned NOT NULL default '0',
00270 textnode text NOT NULL,
00271 PRIMARY KEY (node_id),
00272 FULLTEXT KEY textnode (textnode)
00273 ) TYPE=MyISAM;
00274
00275 DROP TABLE IF EXISTS lo_tree;
00276 CREATE TABLE lo_tree (
00277 node_id int(10) unsigned NOT NULL auto_increment,
00278 lo_id mediumint(8) unsigned NOT NULL default '0',
00279 parent_node_id int(10) unsigned NOT NULL default '0',
00280 lft smallint(5) unsigned NOT NULL default '0',
00281 rgt smallint(5) unsigned NOT NULL default '0',
00282 node_type_id tinyint(3) unsigned NOT NULL default '0',
00283 depth smallint(5) unsigned NOT NULL default '0',
00284 prev_sibling_node_id int(10) unsigned NOT NULL default '0',
00285 next_sibling_node_id int(10) unsigned NOT NULL default '0',
00286 first_child_node_id int(10) unsigned NOT NULL default '0',
00287 struct tinyint(3) unsigned NOT NULL default '0',
00288 PRIMARY KEY (node_id),
00289 KEY lo_id (lo_id)
00290 ) TYPE=MyISAM;
00291
00292 # remove old LO entries
00293 <?php
00294 $query = "SELECT obj_id FROM object_data WHERE type = 'lo'";
00295 $result = $this->db->query($query);
00296
00297 while ($data = $result->fetchRow(DB_FETCHMODE_ASSOC))
00298 {
00299 $obj_id = $data["obj_id"];
00300
00301 $query = "DELETE FROM tree WHERE child = '".$obj_id."'";
00302 $this->db->query($query);
00303 }
00304
00305 $query = "DELETE FROM object_data WHERE type = 'lo'";
00306 $this->db->query($query);
00307 ?>
00308 # remove legacy forum objects
00309 DELETE FROM tree WHERE child = '172';
00310 DELETE FROM tree WHERE child = '174';
00311 DELETE FROM tree WHERE child = '178';
00312 DELETE FROM object_data WHERE obj_id = '172';
00313 DELETE FROM object_data WHERE obj_id = '174';
00314 DELETE FROM object_data WHERE obj_id = '178';
00315 DELETE FROM rbac_pa WHERE obj_id = '172';
00316 DELETE FROM rbac_pa WHERE obj_id = '174';
00317 DELETE FROM rbac_pa WHERE obj_id = '178';
00318
00319 # db performance tuning: setting several indexes and shortened some data columns
00320 ALTER TABLE `object_data` ADD INDEX (`type`);
00321 ALTER TABLE `rbac_fa` DROP PRIMARY KEY;
00322 ALTER TABLE `rbac_fa` DROP PRIMARY KEY, ADD PRIMARY KEY (`rol_id`);
00323 ALTER TABLE `rbac_operations` CHANGE `operation` `operation` CHAR(32) NOT NULL;
00324 ALTER TABLE `rbac_operations` ADD UNIQUE (`operation`);
00325 ALTER TABLE `rbac_templates` ADD INDEX (`rol_id`);
00326 ALTER TABLE `rbac_templates` ADD INDEX (`type`);
00327 ALTER TABLE `rbac_templates` ADD INDEX (`ops_id`);
00328 ALTER TABLE `rbac_templates` ADD INDEX (`parent`);
00329 ALTER TABLE `rbac_ua` DROP PRIMARY KEY;
00330 ALTER TABLE `rbac_ua` ADD INDEX (`usr_id`);
00331 ALTER TABLE `rbac_ua` ADD INDEX (`rol_id`);
00332 ALTER TABLE `settings` DROP PRIMARY KEY;
00333 ALTER TABLE `settings` DROP PRIMARY KEY ,
00334 ADD PRIMARY KEY (`keyword`);
00335 ALTER TABLE `tree` CHANGE `tree` `tree` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL;
00336 ALTER TABLE `tree` CHANGE `child` `child` INT(10) UNSIGNED DEFAULT '0' NOT NULL;
00337 ALTER TABLE `tree` CHANGE `parent` `parent` INT(10) UNSIGNED DEFAULT NULL;
00338 ALTER TABLE `tree` CHANGE `lft` `lft` INT(10) UNSIGNED DEFAULT '0' NOT NULL;
00339 ALTER TABLE `tree` CHANGE `rgt` `rgt` INT(10) UNSIGNED DEFAULT '0' NOT NULL;
00340 ALTER TABLE `tree` CHANGE `depth` `depth` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL;
00341 ALTER TABLE `usr_data` CHANGE `usr_id` `usr_id` INT(10) UNSIGNED DEFAULT '0' NOT NULL;
00342 ALTER TABLE `usr_pref` CHANGE `usr_id` `usr_id` INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL;
00343 ALTER TABLE `tree` ADD INDEX (`child`);
00344 ALTER TABLE `tree` ADD INDEX (`parent`);
00345
00346 <#13>
00347 #due to problems changed index back for rbac_fa
00348 ALTER TABLE `rbac_fa` DROP PRIMARY KEY, ADD PRIMARY KEY (rol_id,parent);
00349
00350 <#14>
00351 #fixed bug of update #12
00352 #tree tree shouldn't be unsigned, otherwise trash bin doesn't work
00353 ALTER TABLE `tree` CHANGE `tree` `tree` INT(10) DEFAULT '0' NOT NULL;
00354
00355 <#15>
00356 #drop unnecessary column
00357 <?php
00358 $query = "DESCRIBE note_data";
00359 $result = $this->db->query($query);
00360
00361 while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC))
00362 {
00363 $data[] = $row["Field"];
00364 }
00365
00366 if (in_array("last_update",$data))
00367 {
00368 $query = "ALTER TABLE note_data DROP COLUMN last_update";
00369 $this->db->query($query);
00370 }
00371 ?>
00372 <#16>
00373 #modified usr_data
00374 ALTER TABLE usr_data CHANGE surname lastname CHAR( 30 ) NOT NULL;
00375 ALTER TABLE usr_data ADD institution VARCHAR( 80 ) AFTER email ,
00376 ADD street VARCHAR( 40 ) AFTER institution ,
00377 ADD city VARCHAR( 40 ) AFTER street ,
00378 ADD zipcode VARCHAR( 10 ) AFTER city ,
00379 ADD country VARCHAR( 40 ) AFTER zipcode ,
00380 ADD phone VARCHAR( 40 ) AFTER country ;
00381
00382 <#17>
00383 #introducing reference id table
00384 DROP TABLE IF EXISTS object_reference;
00385 CREATE TABLE object_reference (
00386 ref_id INT NOT NULL AUTO_INCREMENT,
00387 obj_id INT NOT NULL ,
00388 PRIMARY KEY (ref_id)
00389 ) TYPE=MyISAM;
00390
00391 <#18>
00392 #migrate existing objects
00393 <?php
00394 $tree_objects = array("frm","grp","cat","root","adm","lngf","objf","usrf","rolf","lm","le","lo","crs");
00395
00396 $query = "SELECT type,obj_id FROM object_data ORDER by obj_id";
00397 $result = $this->db->query($query);
00398
00399 while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC))
00400 {
00401 $data[$row["obj_id"]] = $row["type"];
00402 }
00403
00404 foreach ($data as $_id => $_type)
00405 {
00406 if (in_array($_type,$tree_objects))
00407 {
00408 $query = "INSERT INTO object_reference (ref_id,obj_id) VALUES ('".$_id."','".$_id."')";
00409 $this->db->query($query);
00410 }
00411 }
00412 ?>
00413 <#19>
00414 #enlarge several user fields to 32 letters
00415 ALTER TABLE usr_data CHANGE login login VARCHAR( 32 ) NOT NULL;
00416 ALTER TABLE usr_data CHANGE firstname firstname VARCHAR( 32 ) NOT NULL;
00417 ALTER TABLE usr_data CHANGE lastname lastname VARCHAR( 32 ) NOT NULL;
00418 ALTER TABLE usr_data CHANGE title title VARCHAR( 32 ) NOT NULL;
00419
00420 <#20>
00421 # init mail functions
00422 DROP TABLE IF EXISTS mail;
00423 CREATE TABLE mail (
00424 mail_id int(11) NOT NULL auto_increment,
00425 user_id int(11) NOT NULL default '0',
00426 folder_id int(11) NOT NULL default '0',
00427 sender_id int(11) default NULL,
00428 attachments varchar(255) default NULL,
00429 send_time datetime NOT NULL default '0000-00-00 00:00:00',
00430 timest timestamp(14) NOT NULL,
00431 rcp_to varchar(255) default NULL,
00432 rcp_cc varchar(255) default NULL,
00433 rcp_bcc varchar(255) default NULL,
00434 m_status varchar(16) default NULL,
00435 m_type varchar(16) default NULL,
00436 m_email tinyint(1) default NULL,
00437 m_subject varchar(255) default NULL,
00438 m_message text,
00439 PRIMARY KEY (mail_id)
00440 ) TYPE=MyISAM;
00441
00442 DROP TABLE IF EXISTS mail_attachment;
00443 CREATE TABLE mail_attachment (
00444 mail_id int(11) NOT NULL default '0',
00445 path text NOT NULL,
00446 PRIMARY KEY (mail_id)
00447 ) TYPE=MyISAM;
00448
00449 DROP TABLE IF EXISTS mail_obj_data;
00450 CREATE TABLE mail_obj_data (
00451 obj_id int(11) NOT NULL auto_increment,
00452 user_id int(11) NOT NULL default '0',
00453 title char(70) NOT NULL default '',
00454 type char(16) NOT NULL default '',
00455 PRIMARY KEY (obj_id,user_id)
00456 ) TYPE=MyISAM;
00457
00458 DROP TABLE IF EXISTS mail_options;
00459 CREATE TABLE mail_options (
00460 user_id int(11) NOT NULL default '0',
00461 linebreak tinyint(4) NOT NULL default '0',
00462 signature text NOT NULL,
00463 KEY user_id (user_id,linebreak)
00464 ) TYPE=MyISAM;
00465
00466 DROP TABLE IF EXISTS mail_saved;
00467 CREATE TABLE mail_saved (
00468 user_id int(11) NOT NULL default '0',
00469 attachments varchar(255) default NULL,
00470 rcp_to varchar(255) default NULL,
00471 rcp_cc varchar(255) default NULL,
00472 rcp_bcc varchar(255) default NULL,
00473 m_type varchar(16) default NULL,
00474 m_email tinyint(1) default NULL,
00475 m_subject varchar(255) default NULL,
00476 m_message text
00477 ) TYPE=MyISAM;
00478
00479 DROP TABLE IF EXISTS mail_tree;
00480 CREATE TABLE mail_tree (
00481 tree int(11) NOT NULL default '0',
00482 child int(11) unsigned NOT NULL default '0',
00483 parent int(11) unsigned default NULL,
00484 lft int(11) unsigned NOT NULL default '0',
00485 rgt int(11) unsigned NOT NULL default '0',
00486 depth smallint(5) unsigned NOT NULL default '0',
00487 KEY child (child),
00488 KEY parent (parent)
00489 ) TYPE=MyISAM;
00490
00491 <#21>
00492 <?php
00493 $query = "SELECT usr_id FROM usr_data";
00494 $result = $this->db->query($query);
00495 $counter = 1;
00496 while($row = $result->fetchRow(DB_FETCHMODE_OBJECT))
00497 {
00498 $parent = $counter + 1;
00499 $query = "INSERT INTO mail_tree ".
00500 "SET tree = '".$row->usr_id."',".
00501 "child = '".++$counter."',".
00502 "parent = '0',".
00503 "lft = '1',".
00504 "rgt = '12',".
00505 "depth = '1'";
00506 $res2 = $this->db->query($query);
00507 $query = "INSERT INTO mail_obj_data ".
00508 "SET obj_id = '".$counter."',".
00509 "user_id = '".$row->usr_id."',".
00510 "title = 'a_root',".
00511 "type = 'root'";
00512 $res3 = $this->db->query($query);
00513 $query = "INSERT INTO mail_tree ".
00514 "SET tree = '".$row->usr_id."',".
00515 "child = '".++$counter."',".
00516 "parent = '".$parent."',".
00517 "lft = '2',".
00518 "rgt = '3',".
00519 "depth = '2'";
00520 $res2 = $this->db->query($query);
00521 $query = "INSERT INTO mail_obj_data ".
00522 "SET obj_id = '".$counter."',".
00523 "user_id = '".$row->usr_id."',".
00524 "title = 'b_inbox',".
00525 "type = 'inbox'";
00526 $res3 = $this->db->query($query);
00527 $query = "INSERT INTO mail_tree ".
00528 "SET tree = '".$row->usr_id."',".
00529 "child = '".++$counter."',".
00530 "parent = '".$parent."',".
00531 "lft = '4',".
00532 "rgt = '5',".
00533 "depth = '2'";
00534 $res2 = $this->db->query($query);
00535 $query = "INSERT INTO mail_obj_data ".
00536 "SET obj_id = '".$counter."',".
00537 "user_id = '".$row->usr_id."',".
00538 "title = 'c_trash',".
00539 "type = 'trash'";
00540 $res3 = $this->db->query($query);
00541 $query = "INSERT INTO mail_tree ".
00542 "SET tree = '".$row->usr_id."',".
00543 "child = '".++$counter."',".
00544 "parent = '".$parent."',".
00545 "lft = '6',".
00546 "rgt = '7',".
00547 "depth = '2'";
00548 $res2 = $this->db->query($query);
00549 $query = "INSERT INTO mail_obj_data ".
00550 "SET obj_id = '".$counter."',".
00551 "user_id = '".$row->usr_id."',".
00552 "title = 'd_drafts',".
00553 "type = 'drafts'";
00554 $res3 = $this->db->query($query);
00555 $query = "INSERT INTO mail_tree ".
00556 "SET tree = '".$row->usr_id."',".
00557 "child = '".++$counter."',".
00558 "parent = '".$parent."',".
00559 "lft = '8',".
00560 "rgt = '9',".
00561 "depth = '2'";
00562 $res2 = $this->db->query($query);
00563 $query = "INSERT INTO mail_obj_data ".
00564 "SET obj_id = '".$counter."',".
00565 "user_id = '".$row->usr_id."',".
00566 "title = 'e_sent',".
00567 "type = 'sent'";
00568 $res3 = $this->db->query($query);
00569 $query = "INSERT INTO mail_tree ".
00570 "SET tree = '".$row->usr_id."',".
00571 "child = '".++$counter."',".
00572 "parent = '".$parent."',".
00573 "lft = '10',".
00574 "rgt = '11',".
00575 "depth = '2'";
00576 $res2 = $this->db->query($query);
00577 $query = "INSERT INTO mail_obj_data ".
00578 "SET obj_id = '".$counter."',".
00579 "user_id = '".$row->usr_id."',".
00580 "title = 'z_local',".
00581 "type = 'local'";
00582 $res3 = $this->db->query($query);
00583 $query = "INSERT INTO mail_options ".
00584 "SET user_id = '".$row->usr_id."',".
00585 "linebreak = '60'";
00586 $res4 = $this->db->query($query);
00587 }
00588 ?>
00589 <#22>
00590 CREATE TABLE addressbook (
00591 addr_id int(11) NOT NULL auto_increment,
00592 user_id int(11) NOT NULL default '0',
00593 login varchar(40) default NULL,
00594 firstname varchar(40) default NULL,
00595 lastname varchar(40) default NULL,
00596 email varchar(40) default NULL,
00597 PRIMARY KEY (addr_id)
00598 ) TYPE=MyISAM;
00599
00600 <#23>
00601 UPDATE settings
00602 SET value = 'y'
00603 WHERE keyword = 'mail_allow_smtp';
00604
00605 <#24>
00606 DROP TABLE IF EXISTS bookmark_tree;
00607 CREATE TABLE bookmark_tree (
00608 tree int(11) NOT NULL default '0',
00609 child int(11) unsigned NOT NULL default '0',
00610 parent int(11) unsigned default NULL,
00611 lft int(11) unsigned NOT NULL default '0',
00612 rgt int(11) unsigned NOT NULL default '0',
00613 depth smallint(5) unsigned NOT NULL default '0',
00614 KEY child (child),
00615 KEY parent (parent)
00616 ) TYPE=MyISAM;
00617
00618 DROP TABLE IF EXISTS bookmark_data;
00619 CREATE TABLE bookmark_data (
00620 obj_id int(11) NOT NULL auto_increment,
00621 user_id int(11) NOT NULL default '0',
00622 title varchar(200) NOT NULL default '',
00623 target varchar(200) NOT NULL default '',
00624 type char(4) NOT NULL default '',
00625 PRIMARY KEY (obj_id,user_id)
00626 ) TYPE=MyISAM;
00627
00628 <#25>
00629 <?php
00630 $query = "SELECT usr_id FROM usr_data";
00631 $result = $this->db->query($query);
00632 while($row = $result->fetchRow(DB_FETCHMODE_OBJECT))
00633 {
00634 $query = "INSERT INTO bookmark_tree ".
00635 "SET tree = '".$row->usr_id."',".
00636 "child = '1',".
00637 "parent = '0',".
00638 "lft = '1',".
00639 "rgt = '2',".
00640 "depth = '1'";
00641 $res2 = $this->db->query($query);
00642 }
00643 ?>
00644 INSERT INTO bookmark_data (obj_id, user_id, title, target, type)
00645 VALUES (1, 0, 'dummy', '', 'dum');
00646
00647 <#26>
00648 DROP TABLE IF EXISTS grp_data;
00649 CREATE TABLE grp_data (
00650 grp_id int(11) NOT NULL,
00651 status int(11),
00652 PRIMARY KEY(grp_id)
00653 ) TYPE=MyISAM;
00654 <#27>
00655 <?php
00656
00657
00658 $query = "SELECT MAX(obj_id) FROM object_data";
00659 $res = $this->db->query($query);
00660 while($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
00661 {
00662 $max_id = $row["MAX(obj_id)"];
00663 }
00664 ++$max_id;
00665 $query = "INSERT INTO object_data ".
00666 "VALUES ('".$max_id."','mail','Mail Settings','Mail settings object','-1',now(),now())";
00667 $this->db->query($query);
00668
00669
00670 $query = "SELECT * FROM tree".
00671 "WHERE child = '9' ".
00672 "AND tree = '1'";
00673 $res = $this->db->getRow($query);
00674
00675 $left = $res->lft;
00676 $lft = $left + 1;
00677 $rgt = $left + 2;
00678
00679
00680 $query = "UPDATE tree SET ".
00681 "lft = CASE ".
00682 "WHEN lft > ".$left." ".
00683 "THEN lft + 2 ".
00684 "ELSE lft ".
00685 "END, ".
00686 "rgt = CASE ".
00687 "WHEN rgt > ".$left." ".
00688 "THEN rgt + 2 ".
00689 "ELSE rgt ".
00690 "END ".
00691 "WHERE tree = '1'";
00692 $this->db->query($query);
00693
00694
00695 $query = "INSERT INTO tree (tree,child,parent,lft,rgt,depth) ".
00696 "VALUES ".
00697 "('1','".$max_id."','9','".$lft."','".$rgt."','2')";
00698 $this->db->query($query);
00699
00700
00701 $query = "INSERT INTO object_reference VALUES('".$max_id."','".$max_id."')";
00702 $this->db->query($query);
00703
00704
00705 $query = "SELECT MAX(ops_id) FROM rbac_operations ";
00706 $res = $this->db->query($query);
00707 while($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
00708 {
00709 $max_ops_id = $row["MAX(ops_id)"];
00710 }
00711 ++$max_ops_id;
00712
00713
00714 $query = "INSERT INTO rbac_operations ".
00715 "VALUES('".$max_ops_id."','smtp mail','send external mail')";
00716 $res = $this->db->query($query);
00717
00718
00719 $permissions = addslashes(serialize(array("1","2","3","4","$max_ops_id")));
00720 $query = "INSERT INTO rbac_pa VALUES('2','".$permissions."','".$max_id."','".$max_id."')";
00721 $this->db->query($query);
00722
00723
00724 $query = "DELETE FROM rbac_ta WHERE typ_id = '19' AND ops_id IN('5','6')";
00725 $this->db->query($query);
00726
00727
00728 $query = "INSERT INTO rbac_ta VALUES('19','".$max_ops_id."')";
00729 $this->db->query($query);
00730
00731 ?>
00732
00733 <#28>
00734 <?php
00735
00736 $query = "SELECT MAX(ops_id) FROM rbac_operations ";
00737 $res = $this->db->query($query);
00738 while($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
00739 {
00740 $max_ops_id = $row["MAX(ops_id)"];
00741 }
00742 ++$max_ops_id;
00743
00744
00745 $query = "INSERT INTO rbac_operations ".
00746 "VALUES('".$max_ops_id."','system message','allow to send system messages')";
00747 $res = $this->db->query($query);
00748
00749
00750 $query = "INSERT INTO rbac_ta VALUES('19','".$max_ops_id."')";
00751 $this->db->query($query);
00752 ?>
00753
00754 <#29>
00755 DROP TABLE IF EXISTS lm_structure_object;
00756 CREATE TABLE lm_structure_object (
00757 lm_id int(11) NOT NULL default '0',
00758 child int(11) unsigned NOT NULL default '0',
00759 parent int(11) unsigned default NULL,
00760 lft int(11) unsigned NOT NULL default '0',
00761 rgt int(11) unsigned NOT NULL default '0',
00762 depth smallint(5) unsigned NOT NULL default '0',
00763 KEY child (child),
00764 KEY parent (parent)
00765 ) TYPE=MyISAM;
00766
00767 DROP TABLE IF EXISTS lm_page_object;
00768 CREATE TABLE lm_page_object (
00769 page_id int(11) NOT NULL auto_increment,
00770 lm_id int(11),
00771 content blob,
00772 PRIMARY KEY (page_id)
00773 ) TYPE=MyISAM;
00774
00775 DROP TABLE IF EXISTS meta_data;
00776 CREATE TABLE meta_data (
00777 obj_id int(11) NOT NULL,
00778 obj_type char(3) NOT NULL,
00779 title varchar(200) NOT NULL default '',
00780 PRIMARY KEY (obj_id, obj_type)
00781 ) TYPE=MyISAM;
00782
00783 <#30>
00784
00785 ALTER TABLE lm_structure_object RENAME AS lm_tree;
00786
00787 ALTER TABLE lm_page_object MODIFY page_id int(11) NOT NULL;
00788
00789 CREATE TABLE lm_data (
00790 obj_id int(11) NOT NULL auto_increment,
00791 title varchar(200) NOT NULL default '',
00792 type char(2) NOT NULL default '',
00793 PRIMARY KEY (obj_id)
00794 ) TYPE=MyISAM;
00795
00796 <#31>
00797
00798 ALTER TABLE lm_data ADD COLUMN lm_id int(11) NOT NULL;
00799
00800 <#32>
00801
00802 DELETE FROM lm_data;
00803 DELETE FROM lm_tree;
00804 DELETE FROM lm_page_object;
00805 DELETE FROM meta_data;
00806 INSERT INTO lm_data (obj_id, title, type, lm_id) VALUES (1, 'dummy', 'du', 0);
00807
00808 <#33>
00809
00810 # new column in `frm_posts`
00811 ALTER TABLE `frm_posts` ADD `pos_cens` tinyint(4) NOT NULL;
00812
00813 # new column in `frm_posts`
00814 ALTER TABLE `frm_posts` ADD `pos_cens_com` text NOT NULL ;
00815
00816 <?php
00817
00818 $query = "UPDATE frm_posts SET pos_cens = 0 WHERE pos_cens != 0";
00819 $res = $this->db->query($query);
00820
00821 ?>
00822 <#34>
00823 <?php
00824 $query = "SELECT * FROM object_data WHERE type='mail'";
00825 $res = $this->db->query($query);
00826 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00827 {
00828 $obj_id = $row->obj_id;
00829 }
00830
00831 $query = "DELETE FROM tree ".
00832 "WHERE tree = '1' ".
00833 "AND child = '".$obj_id."'";
00834 $res = $this->db->query($query);
00835
00836
00837 $query = "DELETE FROM object_reference ".
00838 "WHERE ref_id = '".$obj_id."'";
00839 $res = $this->db->query($query);
00840
00841
00842 $query = "SELECT * FROM tree ".
00843 "WHERE child = '9' ".
00844 "AND tree = '1'";
00845 $res = $this->db->query($query);
00846 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00847 {
00848 $left = $row->lft;
00849 $lft = $left + 1;
00850 $rgt = $left + 2;
00851 }
00852
00853
00854 $query = "INSERT INTO object_reference SET obj_id = '".$obj_id."'";
00855 $res = $this->db->query($query);
00856
00857
00858 $query = "SELECT * FROM object_reference WHERE obj_id ='".$obj_id."'";
00859 $res = $this->db->query($query);
00860 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00861 {
00862 $ref_id = $row->ref_id;
00863 }
00864
00865 $query = "UPDATE tree SET ".
00866 "lft = CASE ".
00867 "WHEN lft > ".$left." ".
00868 "THEN lft + 2 ".
00869 "ELSE lft ".
00870 "END, ".
00871 "rgt = CASE ".
00872 "WHEN rgt > ".$left." ".
00873 "THEN rgt + 2 ".
00874 "ELSE rgt ".
00875 "END ".
00876 "WHERE tree = '1'";
00877 $this->db->query($query);
00878
00879
00880 $query = "INSERT INTO tree (tree,child,parent,lft,rgt,depth) ".
00881 "VALUES ".
00882 "('1','".$ref_id."','9','".$lft."','".$rgt."','3')";
00883 $this->db->query($query);
00884 ?>
00885 <#35>
00886 <?php
00887 $query = "SELECT * FROM object_data,object_reference WHERE object_data.type='mail' AND object_data.obj_id = object_reference.obj_id";
00888 $res = $this->db->query($query);
00889 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00890 {
00891 $ref_id = $row->ref_id;
00892 }
00893
00894 $query = "DELETE FROM rbac_pa WHERE obj_id = '".$ref_id."'";
00895 $res = $this->db->query($query);
00896
00897
00898 $query = "INSERT INTO rbac_pa ".
00899 " VALUES('2','a:6:{i:0;s:1:\"1\";i:1;s:1:\"3\";i:2;s:2:\"11\";i:3;s:2:\"12\";i:4;s:1:\"2\";i:5;s:1:\"4\";}','".$ref_id."','".$ref_id."')";
00900 $res = $this->db->query($query);
00901 ?>
00902
00903 <#36>
00904 <?php
00905 $query = "SELECT * FROM object_data,object_reference WHERE object_data.type='mail' AND object_data.obj_id = object_reference.obj_id";
00906 $res = $this->db->query($query);
00907 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00908 {
00909 $ref_id = $row->ref_id;
00910 }
00911
00912 $query = "DELETE FROM rbac_pa WHERE obj_id = '".$ref_id."'";
00913 $res = $this->db->query($query);
00914
00915
00916 $query = "INSERT INTO rbac_pa ".
00917 " VALUES('2','a:6:{i:0;s:1:\"1\";i:1;s:1:\"3\";i:2;s:2:\"11\";i:3;s:2:\"12\";i:4;s:1:\"2\";i:5;s:1:\"4\";}','".$ref_id."','".$ref_id."')";
00918 $res = $this->db->query($query);
00919
00920 ?>
00921
00922 <#37>
00923 ALTER TABLE meta_data ADD column language VARCHAR(200) NOT NULL DEFAULT '';
00924 ALTER TABLE meta_data ADD column keyword BLOB NOT NULL DEFAULT '';
00925 ALTER TABLE meta_data ADD column description BLOB NOT NULL DEFAULT '';
00926
00927 <#38>
00928 ALTER TABLE meta_data DROP column keyword;
00929 CREATE TABLE meta_keyword(
00930 obj_id int(11) NOT NULL,
00931 obj_type char(3) NOT NULL,
00932 language char(2) NOT NULL,
00933 keyword varchar(200) NOT NULL default ''
00934 ) TYPE=MyISAM;
00935
00936 <#39>
00937 UPDATE object_data SET title='lm' WHERE title='le' AND type='typ';
00938 UPDATE object_data SET type='lm' WHERE type='le';
00939
00940 <#40>
00941 INSERT INTO object_data (type, title, description, owner, create_date, last_update) VALUES
00942 ('typ', 'slm', 'SCORM Learning Module', -1, now(), now());
00943
00944 <#41>
00945 <?php
00946 $query = "SELECT * FROM object_data WHERE type='typ' AND title='slm'";
00947 $res = $this->db->query($query);
00948 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
00949 $slm_id = $row->obj_id;
00950
00951 $query = "SELECT * FROM object_data WHERE type='typ' AND title='lm'";
00952 $res = $this->db->query($query);
00953 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
00954 $lm_id = $row->obj_id;
00955
00956 $query = "SELECT * FROM rbac_ta WHERE typ_id='$lm_id'";
00957 $res = $this->db->query($query);
00958 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00959 {
00960 $query = "INSERT INTO rbac_ta (typ_id, ops_id) VALUES ('$slm_id','".$row->ops_id."')";
00961 $this->db->query($query);
00962 }
00963 ?>
00964
00965 <#42>
00966 UPDATE rbac_templates SET type='lm' WHERE type='le';
00967
00968 <#43>
00969 <?php
00970
00971 $query = "SELECT * FROM rbac_templates WHERE type='lm'";
00972 $res = $this->db->query($query);
00973 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00974 {
00975 $query = "INSERT INTO rbac_templates (rol_id, type, ops_id, parent) ".
00976 "VALUES ('".$row->rol_id."','slm','".$row->ops_id."','".$row->parent."')";
00977 $this->db->query($query);
00978 }
00979 ?>
00980
00981
00982 <#44>
00983 # adding group tree table
00984 DROP TABLE IF EXISTS grp_tree;
00985
00986 CREATE TABLE grp_tree (
00987 tree int(11) NOT NULL default '0',
00988 child int(11) unsigned NOT NULL default '0',
00989 parent int(11) unsigned NOT NULL default '0',
00990 lft int(11) unsigned NOT NULL default '0',
00991 rgt int(11) unsigned NOT NULL default '0',
00992 depth smallint(5) unsigned NOT NULL default '0',
00993 perm tinyint(1) unsigned NOT NULL default '0',
00994 PRIMARY KEY (tree,child,parent)
00995 ) TYPE=MyISAM;
00996
00997 <#45>
00998 <?php
00999 $q = "INSERT INTO object_data ".
01000 "(type,title,description,owner,create_date,last_update) ".
01001 "VALUES ".
01002 "('rolt','grp_Admin_rolt','Administrator role template of groups',-1,now(),now())";
01003 $this->db->query($q);
01004
01005 $q = "INSERT INTO rbac_fa (rol_id,parent,assign,parent_obj) ".
01006 "VALUES (LAST_INSERT_ID(),8,'n',9)";
01007 $this->db->query($q);
01008
01009
01010 $ops = array();
01011 $ops[0] = array("bm",5,6,3,2,4);
01012 $ops[1] = array("crs",5,6,3,2);
01013 $ops[2] = array("fold",5,6,3,2,4);
01014 $ops[3] = array("frm",5,6,3,2);
01015 $ops[4] = array("grp",6,3,2,4,1,8,7);
01016 $ops[5] = array("lm",5,6,3,2);
01017 $ops[6] = array("mob",5,6,3,2);
01018 $ops[7] = array("slm",5,6,3,2);
01019 $ops[8] = array("rolf",2,3,4);
01020
01021 foreach ($ops as $object)
01022 {
01023 foreach ($object as $ops_id)
01024 {
01025 if(!is_string($ops_id))
01026 {
01027 $q = "INSERT INTO rbac_templates (rol_id,type,ops_id,parent)".
01028 "VALUES (LAST_INSERT_ID(),'".$object[0]."',".$ops_id.",8)";
01029 $this->db->query($q);
01030
01031 }
01032 }
01033 }
01034
01035
01036 $q = "INSERT INTO object_data ".
01037 "(type,title,description,owner,create_date,last_update) ".
01038 "VALUES ".
01039 "('rolt','grp_Member_rolt','Member role template of groups',-1,now(),now())";
01040 $this->db->query($q);
01041
01042
01043
01044
01045 $q = "INSERT INTO rbac_fa (rol_id,parent,assign,parent_obj) ".
01046 "VALUES (LAST_INSERT_ID(),8,'n',9)";
01047 $this->db->query($q);
01048
01049 $ops = array();
01050 $ops[0] = array("bm",5,6,3,2,4);
01051 $ops[1] = array("crs",5,6,3,2);
01052 $ops[2] = array("fold",5,6,3,2,4);
01053 $ops[3] = array("frm",5,6,3,2);
01054 $ops[4] = array("grp",3,2,4,8,7);
01055 $ops[5] = array("lm",5,6,3,2);
01056 $ops[5] = array("slm",5,6,3,2);
01057 $ops[7] = array("mob",5,6,3,2);
01058
01059
01060 foreach ($ops as $object)
01061 {
01062 foreach ($object as $ops_id)
01063 {
01064 if(!is_string($ops_id))
01065 {
01066 $q = "INSERT INTO rbac_templates (rol_id,type,ops_id,parent)".
01067 "VALUES (LAST_INSERT_ID(),'".$object[0]."',".$ops_id.",8)";
01068 $this->db->query($q);
01069
01070 }
01071 }
01072 }
01073 $q = "INSERT INTO object_data ".
01074 "(type,title,description,owner,create_date,last_update) ".
01075 "VALUES ".
01076 "('rolt','grp_Status_closed','Group role template',-1,now(),now())";
01077 $this->db->query($q);
01078
01079 $ops = array("grp",2);
01080 foreach ($ops as $ops_id)
01081 {
01082 if(!is_string($ops_id))
01083 {
01084 $q = "INSERT INTO rbac_templates (rol_id,type,ops_id,parent)".
01085 "VALUES (LAST_INSERT_ID(),'".$ops[0]."',".$ops_id.",8)";
01086 $this->db->query($q);
01087 }
01088 }
01089
01090 $q = "INSERT INTO object_data ".
01091 "(type,title,description,owner,create_date,last_update) ".
01092 "VALUES ".
01093 "('rolt','grp_Status_open','Group role template',-1,now(),now())";
01094 $this->db->query($q);
01095
01096 $ops = array("grp",2,7);
01097 foreach ($ops as $ops_id)
01098 {
01099 if(!is_string($ops_id))
01100 {
01101 $q = "INSERT INTO rbac_templates (rol_id,type,ops_id,parent)".
01102 "VALUES (LAST_INSERT_ID(),'".$ops[0]."',".$ops_id.",8)";
01103 $this->db->query($q);
01104 }
01105 }
01106 ?>
01107
01108 <#46>
01109 CREATE TABLE media_object
01110 (
01111 id int NOT NULL DEFAULT '0',
01112 mime varchar(100),
01113 width varchar(10),
01114 height varchar(10),
01115 file varchar(200),
01116 caption text,
01117 PRIMARY KEY (id)
01118 );
01119
01120 <#47>
01121 CREATE TABLE mob_parameter
01122 (
01123 mob_id int NOT NULL,
01124 name varchar(50),
01125 value text,
01126 INDEX (mob_id)
01127 );
01128
01129 <#48>
01130 <?php
01131 global $mySetup;
01132
01133 $db_name = $mySetup->getDbName();
01134 $fields = mysql_list_fields($db_name, "usr_data");
01135 $numfields = mysql_num_fields($fields);
01136 $got_hobby = false;
01137 for($i=0; $i < $numfields; $i++)
01138 {
01139 $fname = mysql_field_name($fields, $i);
01140 if ($fname == "hobby")
01141 {
01142 $got_hobby = true;
01143 }
01144 }
01145 if(!$got_hobby)
01146 {
01147 $q = "ALTER TABLE usr_data ADD COLUMN hobby TEXT NOT NULL DEFAULT ''";
01148 $this->db->query($q);
01149 }
01150
01151 ?>
01152
01153 <#49>
01154 ALTER TABLE lm_page_object MODIFY COLUMN content LONGTEXT NOT NULL DEFAULT '';
01155
01156 <#50>
01157 DROP TABLE IF EXISTS meta_technical;
01158 CREATE TABLE meta_technical (
01159 tech_id int NOT NULL auto_increment,
01160 obj_id int(11) NOT NULL,
01161 obj_type char(3) NOT NULL,
01162 size varchar(50) NOT NULL default '',
01163 install_remarks TEXT NOT NULL default '',
01164 install_remarks_lang char(2) NOT NULL default '',
01165 other_requirements TEXT NOT NULL default '',
01166 other_requirements_lang char(2) NOT NULL default '',
01167 duration varchar(50) NOT NULL default '',
01168 PRIMARY KEY (tech_id),
01169 INDEX (obj_id, obj_type)
01170 ) TYPE=MyISAM;
01171
01172 <#51>
01173 DROP TABLE IF EXISTS meta_techn_loc;
01174 CREATE TABLE meta_techn_loc (
01175 tech_id int NOT NULL,
01176 location varchar(150),
01177 INDEX (tech_id)
01178 );
01179
01180 <#52>
01181 DROP TABLE IF EXISTS learning_module;
01182 CREATE TABLE learning_module(
01183 id int NOT NULL PRIMARY KEY,
01184 default_layout varchar(100) NOT NULL DEFAULT 'toc2win'
01185 );
01186
01187 <#53>
01188 ALTER TABLE media_object DROP COLUMN mime;
01189 ALTER TABLE media_object DROP COLUMN file;
01190 ALTER TABLE media_object DROP COLUMN caption;
01191 ALTER TABLE media_object ADD COLUMN halign ENUM('Left', 'Center', 'Right') NOT NULL DEFAULT 'Right';
01192
01193 <#54>
01194 ALTER TABLE meta_technical ADD COLUMN format VARCHAR(200) NOT NULL DEFAULT '';
01195
01196 <#55>
01197 ALTER TABLE learning_module ADD COLUMN stylesheet INT NOT NULL DEFAULT '0';
01198
01199 <#56>
01200 DROP TABLE IF EXISTS style;
01201 CREATE TABLE style (
01202 style_id INT NOT NULL,
01203 tag VARCHAR(100),
01204 class VARCHAR(100),
01205 parameter VARCHAR(100),
01206 value VARCHAR(100)
01207 );
01208
01209 <#57>
01210 #adding permission settings for role templates
01211 <?php
01212 $query = "SELECT * FROM object_data WHERE type='typ' AND title='rolt'";
01213 $res = $this->db->query($query);
01214 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
01215 $rolt_id = $row->obj_id;
01216
01217 $query = "SELECT * FROM object_data WHERE type='typ' AND title='role'";
01218 $res = $this->db->query($query);
01219 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
01220 $role_id = $row->obj_id;
01221
01222 $query = "SELECT * FROM rbac_ta WHERE typ_id='$role_id'";
01223 $res = $this->db->query($query);
01224 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
01225 {
01226 $query = "INSERT INTO rbac_ta (typ_id, ops_id) VALUES ('$rolt_id','".$row->ops_id."')";
01227 $this->db->query($query);
01228 }
01229
01230 $query = "DELETE FROM rbac_templates WHERE type='rolt'";
01231 $this->db->query($query);
01232
01233 $query = "SELECT * FROM rbac_templates WHERE type='role'";
01234 $res = $this->db->query($query);
01235 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
01236 {
01237 $query = "INSERT INTO rbac_templates (rol_id, type, ops_id, parent) ".
01238 "VALUES ('".$row->rol_id."','rolt','".$row->ops_id."','".$row->parent."')";
01239 $this->db->query($query);
01240 }
01241 ?>
01242
01243 <#58>
01244 DROP TABLE IF EXISTS style;
01245 DROP TABLE IF EXISTS style_parameter;
01246 CREATE TABLE style_parameter (
01247 id INT AUTO_INCREMENT NOT NULL DEFAULT '0' PRIMARY KEY,
01248 style_id INT NOT NULL,
01249 tag VARCHAR(100),
01250 class VARCHAR(100),
01251 parameter VARCHAR(100),
01252 value VARCHAR(100));
01253
01254 <#59>
01255 # accommodating rbac tables. removing all obsolete entries
01256 REPLACE INTO rbac_templates (rol_id , type, ops_id, parent) VALUES ('2','objf','4','8');
01257 REPLACE INTO rbac_ta (typ_id, ops_id) VALUES ('24','4');
01258 REPLACE INTO rbac_templates (rol_id , type, ops_id, parent) VALUES ('2','usrf','6','8');
01259 REPLACE INTO rbac_ta (typ_id, ops_id) VALUES ('22','6');
01260 DELETE FROM rbac_templates WHERE type IN ('usr','typ','rolt','lng','role','lo','uset','note','le','fold','bm');
01261 DELETE FROM object_data WHERE type='typ' AND title='uset';
01262 DELETE FROM rbac_ta WHERE typ_id IN ('12','26','27','29','30','31','32');
01263 <?php
01264 $query = "SELECT * FROM object_data WHERE type='typ' AND title='note'";
01265 $res = $this->db->query($query);
01266 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
01267 $id = $row->obj_id;
01268
01269 $query = "DELETE FROM rbac_ta WHERE typ_id='$id'";
01270 $this->db->query($query);
01271 ?>
01272 # set only create permission for non rbac protected objects to admin role
01273 REPLACE INTO rbac_templates (rol_id , type, ops_id, parent) VALUES ('2','role','5','8');
01274 REPLACE INTO rbac_ta (typ_id, ops_id) VALUES ('30','5');
01275 REPLACE INTO rbac_templates (rol_id , type, ops_id, parent) VALUES ('2','role','5','8');
01276 REPLACE INTO rbac_ta (typ_id, ops_id) VALUES ('30','5');
01277 REPLACE INTO rbac_templates (rol_id , type, ops_id, parent) VALUES ('2','rolt','5','8');
01278 REPLACE INTO rbac_ta (typ_id, ops_id) VALUES ('27','5');
01279 REPLACE INTO rbac_templates (rol_id , type, ops_id, parent) VALUES ('2','usr','5','8');
01280 REPLACE INTO rbac_ta (typ_id, ops_id) VALUES ('12','5');
01281 REPLACE INTO rbac_templates (rol_id , type, ops_id, parent) VALUES ('2','lo','5','8');
01282 REPLACE INTO rbac_ta (typ_id, ops_id) VALUES ('31','5');
01283 <#60>
01284 ALTER TABLE grp_tree ADD COLUMN ref_id int(11);
01285 <#61>
01286 ALTER TABLE learning_module ADD COLUMN page_header
01287 ENUM ('st_title','pg_title','none') DEFAULT 'st_title';
01288 <#62>
01289 # remove obsolete columns in rbac tables
01290 ALTER TABLE rbac_fa DROP parent_obj;
01291 ALTER TABLE rbac_pa DROP set_id;
01292 <#63>
01293 # add primary key to rbac_ua (required for REPLACE statement)
01294 ALTER TABLE rbac_ua ADD PRIMARY KEY (usr_id,rol_id);
01295 <#64>
01296 # add table for db-driven sessionmanagement
01297 CREATE TABLE usr_session (
01298 session_id VARCHAR(32) NOT NULL,
01299 expires INT NOT NULL,
01300 data TEXT NOT NULL,
01301 ctime INT NOT NULL,
01302 user_id INT(10) unsigned NOT NULL,
01303 PRIMARY KEY (session_id),
01304 INDEX (expires),
01305 INDEX (user_id)
01306 );
01307
01308 <#65>
01309 ALTER TABLE meta_technical DROP COLUMN format;
01310 ALTER TABLE meta_techn_loc ADD COLUMN nr int;
01311
01312 <#66>
01313 DROP TABLE IF EXISTS meta_techn_format;
01314 CREATE TABLE meta_techn_format (
01315 tech_id int NOT NULL,
01316 format varchar(150),
01317 nr int,
01318 INDEX (tech_id)
01319 );
01320
01321 <#67>
01322 DROP TABLE IF EXISTS media_object;
01323 CREATE TABLE media_item
01324 (
01325 id int NOT NULL DEFAULT '0',
01326 width VARCHAR(10),
01327 height VARCHAR(10),
01328 halign ENUM('Left', 'Center', 'Right', 'LeftFloat', 'RightFloat'),
01329 caption TEXT,
01330 PRIMARY KEY (id)
01331 );
01332
01333 <#68>
01334 ALTER TABLE mob_parameter CHANGE mob_id med_item_id INT NOT NULL;
01335
01336 <#69>
01337 ALTER TABLE media_item ADD COLUMN nr INT NOT NULL;
01338 ALTER TABLE media_item ADD COLUMN purpose ENUM ('Standard', 'Fullscreen', 'Additional');
01339
01340 <#70>
01341 ALTER TABLE media_item ADD COLUMN mob_id INT NOT NULL;
01342
01343 <#71>
01344 ALTER TABLE media_item MODIFY id INT NOT NULL DEFAULT '0' AUTO_INCREMENT;
01345
01346 <#72>
01347 ALTER TABLE meta_techn_loc ADD COLUMN type ENUM ('LocalFile', 'Reference')
01348 NOT NULL DEFAULT 'LocalFile';
01349 <#73>
01350 <?php
01351 $query = "SELECT value FROM settings WHERE keyword='setup_passwd'";
01352 $res = $this->db->query($query);
01353
01354 if ($res->numRows())
01355 {
01356 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
01357 $encrypted_passwd = md5($row->value);
01358
01359 $query = "DELETE FROM settings WHERE keyword='setup_passwd'";
01360 $this->db->query($query);
01361
01362 $query = "INSERT INTO settings (keyword,value) VALUES ('setup_passwd','".$encrypted_passwd."')";
01363 $this->db->query($query);
01364 }
01365 ?>
01366 <#74>
01367 CREATE TABLE `XmlNestedSet` (
01368 `ns_book_fk` int(11) NOT NULL default '0',
01369 `ns_type` char(50) NOT NULL default '',
01370 `ns_tag_fk` int(11) default NULL,
01371 `ns_l` int(11) default NULL,
01372 `ns_r` int(11) default NULL,
01373 KEY `ns_tag_fk` (`ns_tag_fk`),
01374 KEY `ns_l` (`ns_l`),
01375 KEY `ns_r` (`ns_r`),
01376 KEY `ns_book_fk` (`ns_book_fk`)
01377 ) TYPE=MyISAM;
01378 CREATE TABLE `XmlParam` (
01379 `tag_fk` int(11) NOT NULL default '0',
01380 `param_name` char(50) NOT NULL default '',
01381 `param_value` char(255) NOT NULL default '',
01382 KEY `tag_fk` (`tag_fk`)
01383 ) TYPE=MyISAM;
01384 CREATE TABLE `XmlTags` (
01385 `tag_pk` int(11) NOT NULL auto_increment,
01386 `tag_depth` int(11) NOT NULL default '0',
01387 `tag_name` char(50) NOT NULL default '',
01388 PRIMARY KEY (`tag_pk`)
01389 ) TYPE=MyISAM;
01390 CREATE TABLE `XmlValue` (
01391 `tag_value_pk` int(11) NOT NULL auto_increment,
01392 `tag_fk` int(11) NOT NULL default '0',
01393 `tag_value` text NOT NULL,
01394 PRIMARY KEY (`tag_value_pk`),
01395 KEY `tag_fk` (`tag_fk`)
01396 ) TYPE=MyISAM;
01397
01398 INSERT INTO object_data (type,title,description,owner,create_date,last_update) VALUES ('typ','dbk','Digilib Book',-1,now(),now());
01399 <?php
01400 $query = "SELECT * FROM object_data WHERE type='typ' AND title='dbk'";
01401 $res = $this->db->query($query);
01402 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
01403 $id = $row->obj_id;
01404 $this->db->query("INSERT INTO rbac_ta (typ_id,ops_id) VALUES ('$id','1') ");
01405 $this->db->query("INSERT INTO rbac_ta (typ_id,ops_id) VALUES ('$id','2') ");
01406 $this->db->query("INSERT INTO rbac_ta (typ_id,ops_id) VALUES ('$id','3') ");
01407 $this->db->query("INSERT INTO rbac_ta (typ_id,ops_id) VALUES ('$id','4') ");
01408 $this->db->query("INSERT INTO rbac_ta (typ_id,ops_id) VALUES ('$id','5') ");
01409 $this->db->query("INSERT INTO rbac_ta (typ_id,ops_id) VALUES ('$id','6') ");
01410 ?>
01411
01412 <#75>
01413 DROP TABLE IF EXISTS scorm_tree;
01414 CREATE TABLE scorm_tree (
01415 slm_id int(11) NOT NULL default '0',
01416 child int(11) unsigned NOT NULL default '0',
01417 parent int(11) unsigned default NULL,
01418 lft int(11) unsigned NOT NULL default '0',
01419 rgt int(11) unsigned NOT NULL default '0',
01420 depth smallint(5) unsigned NOT NULL default '0',
01421 KEY child (child),
01422 KEY parent (parent)
01423 ) TYPE=MyISAM;
01424
01425 DROP TABLE IF EXISTS scorm_object;
01426 CREATE TABLE scorm_object (
01427 obj_id int(11) NOT NULL auto_increment,
01428 title VARCHAR(200),
01429 type CHAR(3),
01430 slm_id INT NOT NULL,
01431 PRIMARY KEY (obj_id)
01432 ) TYPE=MyISAM;
01433
01434 <#76>
01435 CREATE TABLE sc_manifest (
01436 obj_id int(11) NOT NULL,
01437 import_id VARCHAR(200),
01438 version VARCHAR(200),
01439 xml_base VARCHAR(200),
01440 PRIMARY KEY (obj_id)
01441 ) TYPE=MyISAM;
01442
01443 <#77>
01444 CREATE TABLE sc_organizations (
01445 obj_id int(11) NOT NULL,
01446 default_organization VARCHAR(200),
01447 PRIMARY KEY (obj_id)
01448 ) TYPE=MyISAM;
01449
01450 <#78>
01451 CREATE TABLE sc_organization (
01452 obj_id int(11) NOT NULL,
01453 import_id VARCHAR(200),
01454 structure VARCHAR(200),
01455 PRIMARY KEY (obj_id)
01456 ) TYPE=MyISAM;
01457
01458
01459 <#79>
01460 CREATE TABLE sc_item (
01461 obj_id int(11) NOT NULL,
01462 import_id VARCHAR(200),
01463 identifierref VARCHAR(200),
01464 isvisible ENUM('', 'true', 'false') DEFAULT '',
01465 parameters TEXT,
01466 prereq_type VARCHAR(200),
01467 prerequisites TEXT,
01468 maxtimeallowed VARCHAR(30),
01469 timelimitaction VARCHAR(30),
01470 datafromlms TEXT,
01471 masteryscore VARCHAR(200),
01472 PRIMARY KEY (obj_id)
01473 ) TYPE=MyISAM;
01474
01475 <#80>
01476 CREATE TABLE sc_resources (
01477 obj_id int(11) NOT NULL,
01478 xml_base VARCHAR(200),
01479 PRIMARY KEY (obj_id)
01480 ) TYPE=MyISAM;
01481
01482 <#81>
01483 CREATE TABLE sc_resource (
01484 obj_id int(11) NOT NULL,
01485 import_id VARCHAR(200),
01486 type VARCHAR(30),
01487 scormtype ENUM('sco', 'asset'),
01488 href VARCHAR(250),
01489 xml_base VARCHAR(200),
01490 PRIMARY KEY (obj_id)
01491 ) TYPE=MyISAM;
01492
01493 <#82>
01494 CREATE TABLE sc_resource_file (
01495 id INT NOT NULL AUTO_INCREMENT,
01496 res_id int(11),
01497 href TEXT,
01498 PRIMARY KEY (id)
01499 ) TYPE=MyISAM;
01500
01501 <#83>
01502 CREATE TABLE sc_resource_dependency (
01503 id INT NOT NULL AUTO_INCREMENT,
01504 res_id int(11),
01505 identifierref VARCHAR(200),
01506 PRIMARY KEY (id)
01507 ) TYPE=MyISAM;
01508
01509 <#84>
01510 ALTER TABLE sc_resource_file ADD COLUMN nr INT;
01511 ALTER TABLE sc_resource_dependency ADD COLUMN nr INT;
01512
01513 <#85>
01514 ALTER TABLE sc_resource CHANGE type resourcetype VARCHAR(30);
01515
01516 <#86>
01517 CREATE TABLE `scorm_tracking` (
01518 `sc_item_id` int(11) NOT NULL default '0',
01519 `usr_id` int(11) NOT NULL default '0',
01520 `entry` enum('ab-initio','resume','') NOT NULL default 'ab-initio',
01521 `exit` enum('time-out','suspend','logout','') NOT NULL default 'time-out',
01522 `lesson_location` varchar(255) NOT NULL default '',
01523 `credit` enum('credit','no-credit') NOT NULL default 'credit',
01524 `raw` decimal(10,0) NOT NULL default '0',
01525 `session_time` time NOT NULL default '00:00:00',
01526 `total_time` time NOT NULL default '00:00:00',
01527 `comments` text NOT NULL,
01528 `lesson_status` enum('passed','completed','failed','incomplete','browsed','not attempted') NOT NULL default 'passed',
01529 `launch_data` text NOT NULL,
01530 `suspend_data` text NOT NULL,
01531 `mastery_score` decimal(10,0) NOT NULL default '0',
01532 PRIMARY KEY (`sc_item_id`,`sc_item_id`,`usr_id`)
01533 ) TYPE=MyISAM;
01534
01535 <#87>
01536 ALTER TABLE media_item ADD COLUMN location VARCHAR(200);
01537 ALTER TABLE media_item ADD COLUMN location_type ENUM('LocalFile', 'Reference') NOT NULL DEFAULT 'LocalFile';
01538 ALTER TABLE media_item ADD COLUMN format VARCHAR(200);
01539
01540 <#88>
01541 ALTER TABLE lm_page_object CHANGE lm_id parent_id int;
01542 ALTER TABLE lm_page_object ADD COLUMN parent_type CHAR(4) DEFAULT 'lm';
01543
01544 <#89>
01545 DROP TABLE IF EXISTS role_data;
01546 CREATE TABLE role_data (role_id int(11) NOT NULL default '0',
01547 allow_register tinyint(1) unsigned NOT NULL default '0',
01548 PRIMARY KEY (role_id)) TYPE=MyISAM;
01549 <?php
01550 $query = "SELECT DISTINCT rol_id FROM rbac_fa WHERE assign='y'";
01551 $res = $this->db->query($query);
01552 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
01553 {
01554 $query = "INSERT INTO role_data (role_id,allow_register) VALUES ('".$row->rol_id."','0')";
01555 $this->db->query($query);
01556 }
01557 ?>
01558 <#90>
01559 DELETE FROM settings WHERE keyword='institution';
01560 DELETE FROM settings WHERE keyword='city';
01561 DELETE FROM settings WHERE keyword='country';
01562 DELETE FROM settings WHERE keyword='email';
01563 DELETE FROM settings WHERE keyword='errors';
01564 DELETE FROM settings WHERE keyword='feedback';
01565 DELETE FROM settings WHERE keyword='phone';
01566 DELETE FROM settings WHERE keyword='street';
01567 DELETE FROM settings WHERE keyword='zipcode';
01568
01569 <#91>
01570 <?php
01571 $q = "INSERT INTO object_data ".
01572 "(type,title,description,owner,create_date,last_update) ".
01573 "VALUES ".
01574 "('rolt','lm_Author_rolt','Author role template of learning modules',-1,now(),now())";
01575 $this->db->query($q);
01576
01577 $q = "INSERT INTO rbac_fa (rol_id,parent,assign) ".
01578 "VALUES (LAST_INSERT_ID(),8,'n')";
01579 $this->db->query($q);
01580
01581
01582 $ops = array();
01583 $ops[4] = array("lm",6,3,2,4,1,8,7);
01584 $ops[8] = array("rolf",2,3,4);
01585
01586 foreach ($ops as $object)
01587 {
01588 foreach ($object as $ops_id)
01589 {
01590 if(!is_string($ops_id))
01591 {
01592 $q = "INSERT INTO rbac_templates (rol_id,type,ops_id,parent)".
01593 "VALUES (LAST_INSERT_ID(),'".$object[0]."',".$ops_id.",8)";
01594 $this->db->query($q);
01595
01596 }
01597 }
01598 }
01599 ?>
01600
01601 <#92>
01602 <?php
01603
01604 $q = "SELECT * FROM object_data WHERE title='lm_Author_rolt'";
01605 $set = $this->db->query($q);
01606 $row = $set->fetchRow(DB_FETCHMODE_ASSOC);
01607
01608 $q = "DELETE FROM rbac_fa WHERE rol_id ='".$row["obj_id"]."'";
01609 $this->db->query($q);
01610
01611 $q = "DELETE FROM rbac_templates WHERE rol_id ='".$row["obj_id"]."'";
01612 $this->db->query($q);
01613
01614 $q = "DELETE FROM object_data WHERE title='lm_Author_rolt'";
01615 $this->db->query($q);
01616
01617 ?>
01618
01619 <#93>
01620 INSERT INTO object_data (type, title, description, owner, create_date, last_update) VALUES
01621 ('typ', 'glo', 'Glossary', -1, now(), now());
01622
01623 <#94>
01624 <?php
01625 $query = "SELECT * FROM object_data WHERE type='typ' AND title='glo'";
01626 $res = $this->db->query($query);
01627 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
01628 $glo_id = $row->obj_id;
01629
01630 $query = "SELECT * FROM object_data WHERE type='typ' AND title='lm'";
01631 $res = $this->db->query($query);
01632 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
01633 $lm_id = $row->obj_id;
01634
01635 $query = "SELECT * FROM rbac_ta WHERE typ_id='$lm_id'";
01636 $res = $this->db->query($query);
01637 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
01638 {
01639 $query = "INSERT INTO rbac_ta (typ_id, ops_id) VALUES ('$glo_id','".$row->ops_id."')";
01640 $this->db->query($query);
01641 }
01642 ?>
01643
01644 <#95>
01645 <?php
01646 $q = "SELECT * FROM rbac_templates WHERE type = 'lm'";
01647 $t_set = $this->db->query($q);
01648 while($t_rec = $t_set->fetchRow(DB_FETCHMODE_ASSOC))
01649 {
01650 $q = "INSERT INTO rbac_templates (rol_id,type,ops_id,parent) VALUES".
01651 " ('".$t_rec["rol_id"]."','glo','".$t_rec["ops_id"].
01652 "','".$t_rec["parent"]."')";
01653 $this->db->query($q);
01654 }
01655 ?>
01656
01657 <#96>
01658 <?php
01659 $q = "SELECT usr_id FROM usr_data WHERE login='anonymous' AND passwd='".md5("anonymous")."'";
01660 $res = $this->db->query($q);
01661 if ($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
01662 {
01663 $user_id = $row->obj_id;
01664
01665 $q = "INSERT INTO rbac_ua ".
01666 "(usr_id,rol_id,default_role) ".
01667 "VALUES ".
01668 "(".$user_id.",".$role_id.",'y')";
01669 $this->db->query($q);
01670
01671 $q = "INSERT INTO settings ".
01672 "(keyword,value) ".
01673 "VALUES ".
01674 "('anonymous_user_id','".$user_id."')";
01675 $this->db->query($q);
01676 }
01677 else
01678 {
01679 $q = "INSERT INTO object_data ".
01680 "(type,title,description,owner,create_date,last_update) ".
01681 "VALUES ".
01682 "('usr','Anonymous','Anonymous user account. DO NOT DELETE!',-1,now(),now())";
01683 $this->db->query($q);
01684
01685 $res = $this->db->query("SELECT LAST_INSERT_ID()");
01686 $row = $res->fetchRow();
01687 $user_id = $row[0];
01688
01689 $q = "INSERT INTO usr_data ".
01690 "(usr_id,login,passwd,firstname,lastname,gender,email,last_update,create_date) ".
01691 "VALUES ".
01692 "(".$user_id.",'anonymous','".md5("anonymous")."','anonymous','anonymous','m','nomail',now(),now())";
01693 $this->db->query($q);
01694
01695 $q = "INSERT INTO rbac_ua ".
01696 "(usr_id,rol_id,default_role) ".
01697 "VALUES ".
01698 "(".$user_id.",".$role_id.",'y')";
01699 $this->db->query($q);
01700
01701 $q = "INSERT INTO settings ".
01702 "(keyword,value) ".
01703 "VALUES ".
01704 "('anonymous_user_id',".$user_id.")";
01705 $this->db->query($q);
01706 }
01707 ?>