View source
<?php
function webfm_install() {
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
db_query("CREATE TABLE {webfm_file} (\n fid int(10) NOT NULL auto_increment,\n uid int(10) NOT NULL default '0',\n fpath longtext NOT NULL,\n fname varchar(255) NOT NULL default '',\n fsize int(10) NOT NULL default '0',\n fmime varchar(255) NOT NULL default '',\n ftitle varchar(255) NOT NULL default '',\n fdesc text NOT NULL,\n fcreatedate int(11) NOT NULL default '0',\n flang varchar(16) NOT NULL default '',\n fpublisher varchar(255) NOT NULL default '',\n fformat varchar(255) NOT NULL default '',\n fversion int(10) NOT NULL default '0',\n PRIMARY KEY (`fid`)\n ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
db_query("CREATE TABLE {webfm_attach} (\n nid int(10) NOT NULL default '0',\n fid int(10) NOT NULL default '0',\n list tinyint(4) NOT NULL default '0',\n weight int(10) NOT NULL default '0',\n PRIMARY KEY (`nid`,`fid`)\n ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
break;
case 'pgsql':
db_query("CREATE TABLE {webfm_file} (\n fid SERIAL NOT NULL,\n uid integer NOT NULL default 0,\n fpath text NOT NULL,\n fname varchar(255) NOT NULL default '',\n fsize integer NOT NULL default 0,\n fmime varchar(255) NOT NULL default '',\n ftitle varchar(255) NOT NULL default '',\n fdesc text NOT NULL default '',\n fcreatedate numeric(11) NOT NULL default 0,\n flang varchar(16) NOT NULL default '',\n fpublisher varchar(255) NOT NULL default '',\n fformat varchar(255) NOT NULL default '',\n fversion integer NOT NULL default 0,\n PRIMARY KEY (fid)\n ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
db_query("CREATE TABLE {webfm_attach} (\n nid integer NOT NULL default 0,\n fid integer NOT NULL default 0,\n list smallint NOT NULL default 0,\n weight integer NOT NULL default '0',\n PRIMARY KEY (nid,fid)\n ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
break;
default:
drupal_set_message('webfm_install currently supports MySQL and Postgres database only', error);
break;
}
}
function webfm_uninstall() {
db_query('DROP TABLE {webfm_file}');
db_query('DROP TABLE {webfm_attach}');
variable_del('webfm_root_dir');
variable_del('webfm_ftp_enable');
variable_del('webfm_ftp_root_dir');
variable_del('webfm_icon_dir');
variable_del('webfm_attach_body');
variable_del('webfm_attach_desc');
variable_del('webfm_attach_date');
variable_del('webfm_attach_size');
variable_del('webfm_debug');
variable_del('webfm_cron');
variable_del('webfm_frbdn');
variable_del('webfm_max_resolution');
variable_del('webfm_ie_dd_list_offset');
variable_del('webfm_ie_dd_tree_offset');
$roles = user_roles(1, 'access webfm');
foreach ($roles as $rid => $role) {
variable_del('webfm_extensions_' . $rid);
variable_del('webfm_uploadsize_' . $rid);
variable_del('webfm_usersize_' . $rid);
}
$types = node_get_types();
foreach ($types as $type) {
if ($type->type) {
variable_del('webfm_attach_' . $type->type);
}
}
}