• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

sql/dbupdate_15_8_2003.php

Go to the documentation of this file.
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 // INSERT MAIL OBJECT IN object_data
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 // INSERT MAIL OBJECT IN TREE (UNDER SYSTEMSETTINGS FOLDER)
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 // SPREAD TREE
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 // INSERT NODE
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 // CREATE OBJECT REFERENCE ENTRY
00701 $query = "INSERT INTO object_reference VALUES('".$max_id."','".$max_id."')";
00702 $this->db->query($query);
00703 
00704 // ADD NEW OPERATION smtp_mail
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 // INSERT NEW OPERAION smtp_mail
00714 $query = "INSERT INTO rbac_operations ".
00715          "VALUES('".$max_ops_id."','smtp mail','send external mail')";
00716 $res = $this->db->query($query);
00717 
00718 // INSERT PERMISSIONS FOR ADMIN ROLE
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 // DELETE create AND delete OPERATION FORM OBJERCT MAIL
00724 $query = "DELETE FROM rbac_ta WHERE typ_id = '19' AND ops_id IN('5','6')";
00725 $this->db->query($query);
00726 
00727 // ADD OPERATION smtp mail FOR OBJECT MAIL
00728 $query = "INSERT INTO rbac_ta VALUES('19','".$max_ops_id."')";
00729 $this->db->query($query);
00730 
00731 ?>
00732 
00733 <#28>
00734 <?php
00735 // ADD NEW OPERATION system messages
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 // INSERT NEW OPERAION system message
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 // ADD OPERATION smtp mail FOR OBJECT MAIL
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 // set pos_cens = 0
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 // DELETE OLD MAIL ENTRY IN TREE
00831 $query = "DELETE FROM tree ".
00832          "WHERE tree = '1' ".
00833          "AND child = '".$obj_id."'";
00834 $res = $this->db->query($query);
00835 
00836 // ... AND IN object_reference
00837 $query = "DELETE FROM object_reference ".
00838          "WHERE ref_id = '".$obj_id."'";
00839 $res = $this->db->query($query);
00840 
00841 // INSERT MAIL OBJECT IN TREE (UNDER SYSTEMSETTINGS FOLDER)
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 // CREATE object_reference ENTRY
00854 $query = "INSERT INTO object_reference SET obj_id = '".$obj_id."'";
00855 $res = $this->db->query($query);
00856 
00857 // GET LAST INSERT ID
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 // SPREAD TREE
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 // INSERT NODE
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 // INSERT PERMISSIONS FOR MAIL OBJECT
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 // INSERT PERMISSIONS FOR MAIL OBJECT
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);//bm
01012 $ops[1] = array("crs",5,6,3,2);//crs
01013 $ops[2] = array("fold",5,6,3,2,4);//fold
01014 $ops[3] = array("frm",5,6,3,2);//frm
01015 $ops[4] = array("grp",6,3,2,4,1,8,7);//grp
01016 $ops[5] = array("lm",5,6,3,2);//lm
01017 $ops[6] = array("mob",5,6,3,2);//mob
01018 $ops[7] = array("slm",5,6,3,2);//slm
01019 $ops[8] = array("rolf",2,3,4);//rolf
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 //create Member role template of groups
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 $q = "SELECT LAST_INSERT_ID()";
01043 $rolt_id = $this->db->getRow($q);
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);//bm
01051 $ops[1] = array("crs",5,6,3,2);//crs
01052 $ops[2] = array("fold",5,6,3,2,4);//fold
01053 $ops[3] = array("frm",5,6,3,2);//frm
01054 $ops[4] = array("grp",3,2,4,8,7);//grp
01055 $ops[5] = array("lm",5,6,3,2);//lm
01056 $ops[5] = array("slm",5,6,3,2);//slm
01057 $ops[7] = array("mob",5,6,3,2);//mob
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);//grp
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);//grp
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);//lm
01584 $ops[8] = array("rolf",2,3,4);//rolf
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 ?>

Generated on Fri Dec 13 2013 13:52:15 for ILIAS Release_3_7_x_branch .rev 46817 by  doxygen 1.7.1