| 13 |
* Install the initial schema. |
* Install the initial schema. |
| 14 |
*/ |
*/ |
| 15 |
function filemanager_install() { |
function filemanager_install() { |
| 16 |
switch ($GLOBALS['db_type']) { |
if (!db_table_exists('file')) { |
| 17 |
case 'mysql': |
switch ($GLOBALS['db_type']) { |
| 18 |
case 'mysqli': |
case 'mysql': |
| 19 |
db_query( |
case 'mysqli': |
| 20 |
<<<MYSQL_UPDATE |
db_query( |
| 21 |
CREATE TABLE {file} ( |
<<<MYSQL_UPDATE |
| 22 |
fid int(10) unsigned NOT NULL, |
CREATE TABLE {file} ( |
| 23 |
area varchar(255) NOT NULL, |
fid int(10) unsigned NOT NULL, |
| 24 |
directory tinyint(3) NOT NULL, |
area varchar(255) NOT NULL, |
| 25 |
filename varchar(255) NOT NULL, |
directory tinyint(3) NOT NULL, |
| 26 |
mimetype varchar(255) NOT NULL, |
filename varchar(255) NOT NULL, |
| 27 |
size int(12) NOT NULL, |
mimetype varchar(255) NOT NULL, |
| 28 |
active char(1) NOT NULL, |
size int(12) NOT NULL, |
| 29 |
working char(1) NOT NULL, |
active char(1) NOT NULL, |
| 30 |
private char(1) NOT NULL, |
working char(1) NOT NULL, |
| 31 |
PRIMARY KEY (fid) |
private char(1) NOT NULL, |
| 32 |
) /*!40100 DEFAULT CHARACTER SET utf8 */; |
PRIMARY KEY (fid) |
| 33 |
|
) /*!40100 DEFAULT CHARACTER SET utf8 */; |
| 34 |
MYSQL_UPDATE |
MYSQL_UPDATE |
|
); |
|
|
break; |
|
|
|
|
|
case 'pgsql': |
|
|
db_query( |
|
|
<<<PGSQL_UPDATE |
|
|
CREATE TABLE {file} ( |
|
|
fid serial PRIMARY KEY CONSTRAINT file_fid_positive CHECK (fid > 0), |
|
|
area varchar(255) NOT NULL, |
|
|
directory smallint NOT NULL, |
|
|
filename varchar(255) NOT NULL, |
|
|
mimetype varchar(255) NOT NULL, |
|
|
size integer NOT NULL, |
|
|
active char(1) NOT NULL, |
|
|
working char(1) NOT NULL, |
|
|
private char(1) NOT NULL |
|
| 35 |
); |
); |
| 36 |
|
break; |
| 37 |
|
|
| 38 |
|
case 'pgsql': |
| 39 |
|
db_query( |
| 40 |
|
<<<PGSQL_UPDATE |
| 41 |
|
CREATE TABLE {file} ( |
| 42 |
|
fid serial PRIMARY KEY CONSTRAINT file_fid_positive CHECK (fid > 0), |
| 43 |
|
area varchar(255) NOT NULL, |
| 44 |
|
directory smallint NOT NULL, |
| 45 |
|
filename varchar(255) NOT NULL, |
| 46 |
|
mimetype varchar(255) NOT NULL, |
| 47 |
|
size integer NOT NULL, |
| 48 |
|
active char(1) NOT NULL, |
| 49 |
|
working char(1) NOT NULL, |
| 50 |
|
private char(1) NOT NULL |
| 51 |
|
); |
| 52 |
PGSQL_UPDATE |
PGSQL_UPDATE |
| 53 |
); |
); |
| 54 |
break; |
break; |
| 55 |
|
} |
| 56 |
|
} |
| 57 |
|
} |
| 58 |
|
|
| 59 |
|
/** |
| 60 |
|
* Uninstall table |
| 61 |
|
*/ |
| 62 |
|
function filemanager_uninstall() { |
| 63 |
|
db_query('DROP TABLE {file}'); |
| 64 |
|
variable_del('filemanager_max_filecount'); |
| 65 |
|
variable_del('filemanager_max_size'); |
| 66 |
|
variable_del('filemanager_private_path'); |
| 67 |
|
variable_del('filemanager_public_path'); |
| 68 |
|
variable_del('filemanager_public_url'); |
| 69 |
|
variable_del('filemanager_working_maxage'); |
| 70 |
|
variable_del('filemanager_working_sizelimit'); |
| 71 |
|
$fa = variable_get( 'file_areas', NULL ); |
| 72 |
|
foreach( $fa['areas'] as $key => $val ) { |
| 73 |
|
variable_del('filemanager_area_limit_'. $key); |
| 74 |
|
variable_del('filemanager_force_private_'. $key); |
| 75 |
} |
} |
| 76 |
|
variable_del('file_areas'); |
| 77 |
} |
} |