From: ikawhero Date: Wed, 20 Sep 2006 14:17:21 +0000 (+0000) Subject: Adding tables for customisable user profile fields. See MDL-474 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=adecf1c475a8d6eca5f93ea7e8418f165dbdacc3;p=moodle.git Adding tables for customisable user profile fields. See MDL-474 --- diff --git a/lib/db/install.xml b/lib/db/install.xml index a4885dc4dd..44da08c6ea 100644 --- a/lib/db/install.xml +++ b/lib/db/install.xml @@ -1,5 +1,5 @@ - @@ -1031,7 +1031,7 @@ - +
@@ -1047,6 +1047,43 @@
+ + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + +
diff --git a/lib/db/mysql.php b/lib/db/mysql.php index ca97e574b2..775fbe6946 100644 --- a/lib/db/mysql.php +++ b/lib/db/mysql.php @@ -2249,6 +2249,43 @@ function main_upgrade($oldversion=0) { } } + /// Tables for customisable user profile fields + if ($oldversion < 2006092000) { + execute_sql("CREATE TABLE {$CFG->prefix}user_info_field ( + id BIGINT(10) NOT NULL auto_increment, + name VARCHAR(255) NOT NULL default '', + datatype VARCHAR(255) NOT NULL default '', + categoryid BIGINT(10) unsigned NOT NULL default 0, + sortorder BIGINT(10) unsigned NOT NULL default 0, + required TINYINT(2) unsigned NOT NULL default 0, + locked TINYINT(2) unsigned NOT NULL default 0, + visible SMALLINT(4) unsigned NOT NULL default 0, + defaultdata LONGTEXT, + CONSTRAINT PRIMARY KEY (id));", true); + + execute_sql("ALTER TABLE {$CFG->prefix}user_info_field COMMENT='Customisable user profile fields';", true); + + execute_sql("CREATE TABLE {$CFG->prefix}user_info_category ( + id BIGINT(10) NOT NULL auto_increment, + name VARCHAR(255) NOT NULL default '', + sortorder BIGINT(10) unsigned NOT NULL default 0, + CONSTRAINT PRIMARY KEY (id));", true); + + execute_sql("ALTER TABLE {$CFG->prefix}user_info_category COMMENT='Customisable fields categories';", true); + + execute_sql("CREATE TABLE {$CFG->prefix}user_info_data ( + id BIGINT(10) NOT NULL auto_increment, + userid BIGINT(10) unsigned NOT NULL default 0, + fieldid BIGINT(10) unsigned NOT NULL default 0, + data LONGTEXT NOT NULL, + CONSTRAINT PRIMARY KEY (id));", true); + + execute_sql("ALTER TABLE {$CFG->prefix}user_info_data COMMENT='Data for the customisable user fields';", true); + + + } + + return $result; } diff --git a/lib/db/mysql.sql b/lib/db/mysql.sql index ba379b8690..9cbeee2b52 100644 --- a/lib/db/mysql.sql +++ b/lib/db/mysql.sql @@ -1030,3 +1030,37 @@ INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message' INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'remove contact', 'user', 'CONCAT(firstname," ",lastname)'); INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'block contact', 'user', 'CONCAT(firstname," ",lastname)'); INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'unblock contact', 'user', 'CONCAT(firstname," ",lastname)'); + +CREATE TABLE prefix_user_info_field ( + id BIGINT(10) NOT NULL auto_increment, + name VARCHAR(255) NOT NULL default '', + datatype VARCHAR(255) NOT NULL default '', + categoryid BIGINT(10) unsigned NOT NULL default 0, + sortorder BIGINT(10) unsigned NOT NULL default 0, + required TINYINT(2) unsigned NOT NULL default 0, + locked TINYINT(2) unsigned NOT NULL default 0, + visible SMALLINT(4) unsigned NOT NULL default 0, + defaultdata LONGTEXT, +CONSTRAINT PRIMARY KEY (id) +); + +ALTER TABLE prefix_user_info_field COMMENT='Customisable user profile fields'; + +CREATE TABLE prefix_user_info_category ( + id BIGINT(10) NOT NULL auto_increment, + name VARCHAR(255) NOT NULL default '', + sortorder BIGINT(10) unsigned NOT NULL default 0, +CONSTRAINT PRIMARY KEY (id) +); + +ALTER TABLE prefix_user_info_category COMMENT='Customisable fields categories'; + +CREATE TABLE prefix_user_info_data ( + id BIGINT(10) NOT NULL auto_increment, + userid BIGINT(10) unsigned NOT NULL default 0, + fieldid BIGINT(10) unsigned NOT NULL default 0, + data LONGTEXT NOT NULL, +CONSTRAINT PRIMARY KEY (id) +); + +ALTER TABLE prefix_user_info_data COMMENT='Data for the customisable user fields'; diff --git a/lib/db/postgres7.php b/lib/db/postgres7.php index 17de9708c3..9a1fafe3b3 100644 --- a/lib/db/postgres7.php +++ b/lib/db/postgres7.php @@ -1849,6 +1849,42 @@ function main_upgrade($oldversion=0) { } } + /// Tables for customisable user profile fields + if ($oldversion < 2006092000) { + execute_sql("CREATE TABLE {$CFG->prefix}user_info_field ( + id BIGSERIAL, + name VARCHAR(255) NOT NULL default '', + datatype VARCHAR(255) NOT NULL default '', + categoryid BIGINT NOT NULL default 0, + sortorder BIGINT NOT NULL default 0, + required SMALLINT NOT NULL default 0, + locked SMALLINT NOT NULL default 0, + visible SMALLINT NOT NULL default 0, + defaultdata TEXT, + CONSTRAINT {$CFG->prefix}userinfofiel_id_pk PRIMARY KEY (id));", true); + + execute_sql("COMMENT ON TABLE {$CFG->prefix}user_info_field IS 'Customisable user profile fields';", true); + + execute_sql("CREATE TABLE {$CFG->prefix}user_info_category ( + id BIGSERIAL, + name VARCHAR(255) NOT NULL default '', + sortorder BIGINT NOT NULL default 0, + CONSTRAINT {$CFG->prefix}userinfocate_id_pk PRIMARY KEY (id));", true); + + execute_sql("COMMENT ON TABLE {$CFG->prefix}user_info_category IS 'Customisable fields categories';", true); + + execute_sql("CREATE TABLE {$CFG->prefix}user_info_data ( + id BIGSERIAL, + userid BIGINT NOT NULL default 0, + fieldid BIGINT NOT NULL default 0, + data TEXT NOT NULL, + CONSTRAINT {$CFG->prefix}userinfodata_id_pk PRIMARY KEY (id));", true); + + execute_sql("COMMENT ON TABLE {$CFG->prefix}user_info_data IS 'Data for the customisable user fields';", true); + + } + + return $result; } diff --git a/lib/db/postgres7.sql b/lib/db/postgres7.sql index f4dd5694ae..e9985ecafb 100644 --- a/lib/db/postgres7.sql +++ b/lib/db/postgres7.sql @@ -793,3 +793,38 @@ INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message' INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'remove contact', 'user', 'firstname||\' \'||lastname'); INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'block contact', 'user', 'firstname||\' \'||lastname'); INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'unblock contact', 'user', 'firstname||\' \'||lastname'); + + +CREATE TABLE prefix_user_info_field ( + id BIGSERIAL, + name VARCHAR(255) NOT NULL default '', + datatype VARCHAR(255) NOT NULL default '', + categoryid BIGINT NOT NULL default 0, + sortorder BIGINT NOT NULL default 0, + required SMALLINT NOT NULL default 0, + locked SMALLINT NOT NULL default 0, + visible SMALLINT NOT NULL default 0, + defaultdata TEXT, +CONSTRAINT prefix_userinfofiel_id_pk PRIMARY KEY (id) +); + +COMMENT ON TABLE prefix_user_info_field IS 'Customisable user profile fields'; + +CREATE TABLE prefix_user_info_category ( + id BIGSERIAL, + name VARCHAR(255) NOT NULL default '', + sortorder BIGINT NOT NULL default 0, +CONSTRAINT prefix_userinfocate_id_pk PRIMARY KEY (id) +); + +COMMENT ON TABLE prefix_user_info_category IS 'Customisable fields categories'; + +CREATE TABLE prefix_user_info_data ( + id BIGSERIAL, + userid BIGINT NOT NULL default 0, + fieldid BIGINT NOT NULL default 0, + data TEXT NOT NULL, +CONSTRAINT prefix_userinfodata_id_pk PRIMARY KEY (id) +); + +COMMENT ON TABLE prefix_user_info_data IS 'Data for the customisable user fields';