imce.install in IMCE 6.2
Same filename and directory in other branches
Installs, updates, and uninstalls IMCE.
File
imce.installView source
<?php
/**
* @file
* Installs, updates, and uninstalls IMCE.
*/
/**
* Implementation of hook_install().
*/
function imce_install() {
drupal_install_schema('imce');
module_load_include('inc', 'imce', 'inc/imce.core.profiles');
imce_install_profiles();
}
/**
* Implementation of hook_uninstall().
*/
function imce_uninstall() {
drupal_uninstall_schema('imce');
variable_del('imce_profiles');
variable_del('imce_roles_profiles');
variable_del('imce_settings_textarea');
variable_del('imce_settings_replace');
variable_del('imce_settings_thumb_method');
variable_del('imce_settings_disable_private');
variable_del('imce_custom_content');
variable_del('imce_custom_process');
variable_del('imce_custom_init');
variable_del('imce_custom_scan');
variable_del('imce_custom_response');
}
/**
* Implementation of hook_schema().
*/
function imce_schema() {
$schema['imce_files'] = array(
'description' => 'Stores files created by IMCE.',
'fields' => array(
'fid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
'description' => 'The {files}.fid that belongs to IMCE.',
),
),
'primary key' => array(
'fid',
),
);
return $schema;
}
/**
* Update from 5.x to 6.x.
*/
function imce_update_6000() {
module_load_include('inc', 'imce', 'inc/imce.core.profiles');
imce_install_profiles();
return array();
}
/**
* New option: total user quota.
*/
function imce_update_6001() {
$profiles = variable_get('imce_profiles', array());
foreach ($profiles as $id => $profile) {
$profiles[$id]['tuquota'] = 0;
}
variable_set('imce_profiles', $profiles);
return array();
}
/**
* Make file browser tab optional in user profiles.
*/
function imce_update_6002() {
$profiles = variable_get('imce_profiles', array());
foreach ($profiles as $id => $profile) {
$profiles[$id]['usertab'] = isset($profiles[$id]['usertab']) ? $profiles[$id]['usertab'] : 1;
}
variable_set('imce_profiles', $profiles);
return array(
array(
'success' => TRUE,
'query' => 'File browser tab in user profiles was made optional.',
),
);
}
/**
* Convert 6.x-1.x to 6.x-2.x
*/
function imce_update_6200() {
//delete deprecated variables.cancelled!
return array();
}
/**
* Introduce {imce_files} db table where IMCE files are stored.
*/
function imce_update_6201() {
$ret = array();
if (db_table_exists('imce_files')) {
return $ret;
}
$table = array(
'description' => 'Stores files created by IMCE.',
'fields' => array(
'fid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
'description' => 'The {files}.fid that belongs to IMCE.',
),
),
'primary key' => array(
'fid',
),
);
db_create_table($ret, 'imce_files', $table);
return $ret;
}
/**
* Fixes misconfigurations where anonymous user is given User-1 profile
*/
function imce_update_6202() {
$roles = variable_get('imce_roles_profiles', array());
$rid = DRUPAL_ANONYMOUS_RID;
if (!empty($roles[$rid]['pid']) && $roles[$rid]['pid'] == 1) {
$roles[$rid]['pid'] = '0';
variable_set('imce_roles_profiles', $roles);
}
return array();
}
Functions
Name | Description |
---|---|
imce_install | Implementation of hook_install(). |
imce_schema | Implementation of hook_schema(). |
imce_uninstall | Implementation of hook_uninstall(). |
imce_update_6000 | Update from 5.x to 6.x. |
imce_update_6001 | New option: total user quota. |
imce_update_6002 | Make file browser tab optional in user profiles. |
imce_update_6200 | Convert 6.x-1.x to 6.x-2.x |
imce_update_6201 | Introduce {imce_files} db table where IMCE files are stored. |
imce_update_6202 | Fixes misconfigurations where anonymous user is given User-1 profile |