Index: content.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/cck/content.install,v retrieving revision 1.10 diff -u -F^f -r1.10 content.install --- content.install 12 Jun 2006 19:36:54 -0000 1.10 +++ content.install 20 Jun 2006 15:10:51 -0000 @@ -35,6 +35,13 @@ function content_install() { description mediumtext NOT NULL, PRIMARY KEY (field_name,type_name) ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;"); + db_query("CREATE TABLE {node_field_instance_permissions} ( + field_name varchar(32) NOT NULL default '', + type_name varchar(32) NOT NULL default '', + permission varchar(32) NOT NULL default '', + role_rid int(11) NOT NULL, + PRIMARY KEY (field_name,type_name, role_rid) + ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;"); break; case 'pgsql': @@ -65,6 +72,13 @@ function content_install() { description text NOT NULL, PRIMARY KEY (field_name,type_name) )"); + db_query("CREATE TABLE {node_field_instance_permissions} ( + field_name varchar(32) NOT NULL default '', + type_name varchar(32) NOT NULL default '', + permission varchar(32) NOT NULL default '', + role_rid int(11) NOT NULL, + PRIMARY KEY (field_name,type_name,role_rid) + )"); break; } } @@ -184,3 +198,32 @@ function content_update_5() { function content_update_6() { return array(update_sql('DELETE FROM {cache}')); } + +/** + * Add per-field-instance permissions + **/ +function content_update_7() { + switch ($GLOBALS['db_type']) { + case 'mysql': + case 'mysqli': + $ret[] = update_sql("CREATE TABLE {node_field_instance_permissions} ( + field_name varchar(32) NOT NULL default '', + type_name varchar(32) NOT NULL default '', + permission varchar(32) NOT NULL default '', + role_rid int(11) NOT NULL, + PRIMARY KEY (field_name,type_name, role_rid) + ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;"); + break; + case 'pgsql': + $ret[] = update_sql("CREATE TABLE {node_field_instance_permissions} ( + field_name varchar(32) NOT NULL default '', + type_name varchar(32) NOT NULL default '', + permission varchar(32) NOT NULL default '', + role_rid int(11) NOT NULL, + PRIMARY KEY (field_name,type_name,role_rid) + )"); + break; + } + + return $ret; +} \ No newline at end of file