function system_enable
Search API
7.x system.install | system_enable() |
6.x system.install | system_enable() |
4.x system.install | system_enable() |
5.x system.install | system_enable() |
Implementation of hook_enable.
This is meant to be called during initial installation. We will make all of the database changes we need to make in order to have FlightPath up and running.
1 call to system_enable()
- install_perform_install in ./
install.php - Actually performs the installation of FlightPath
File
- modules/
system/ system.install, line 18 - The install file for the System module
Code
function system_enable() {
// Set up our default roles
db_query("INSERT INTO roles (rid, name)
VALUES (1, 'anonymous user'),
(2, 'authenticated user')");
// Add in the anonymous user into the users table (uid = 0)
db_query("INSERT INTO users (user_id, cwid, user_name) VALUES (0, 0, 'anonymous')");
// Let's figure out what the current schema value is for this system module...
$info_contents = file_get_contents("modules/system/system.info");
// From the info_contents variable, split up and place into an array.
$info_details_array = array();
$lines = explode("\n", $info_contents);
foreach ($lines as $line) {
if (trim($line) == "") {
continue;
}
$temp = explode("=", trim($line));
$info_details_array [trim($temp [0])] = trim(substr($line, strlen($temp [0]) + 1));
}
// Set up the modules table-- add the system module first.
db_query("INSERT INTO modules (`path`, `name`, `version`, `enabled`, `weight`, `type`, `schema`)
VALUES ('modules/system', 'system', 'core', 1, '-999', 'module', '?') ", $info_details_array ["schema"]);
// Let's perform installations on the other modules we want enabled by default.
$modules = array("admin", "advise", "comments", "student_search", "update_status", "content", "announcements", "tinymce", "course_search", "blank_degrees", "user",
"batch", 'stats', 'smtp', 'prereqs', 'lassie', 'calendar', 'alerts', 'audit', 'engagements', 'notify', 'student_files', 'encryption',
'student_priority', 'student_profile', 'masquerade');
foreach ($modules as $module) {
$info_contents = file_get_contents("modules/$module/$module.info");
// From the info_contents variable, split up and place into an array.
$info_details_array = array();
$lines = explode("\n", $info_contents);
foreach ($lines as $line) {
if (trim($line) == "") {
continue;
}
$temp = explode("=", trim($line));
$info_details_array [trim($temp [0])] = trim(substr($line, strlen($temp [0]) + 1));
}
$schema = 0;
if (isset($info_details_array ['schema'])) {
$schema = $info_details_array ['schema'];
}
system_enable_module(array("module" => $module, "path" => "modules/$module", "version" => "core", "schema" => $schema));
}
/*
// Set up some blocks for the system module by default.
db_query("INSERT INTO blocks (section, region, module, delta, weight)
VALUES ('system_main', 'right_col', 'system', 'tools', 1),
('system_main', 'right_col', 'system', 'admin_tools', 2),
('system_main', 'left_col', 'announcements', 'primary', 0),
('system_login', 'left_col', 'blocks', 'block_1', 0),
('system_login', 'right_col', 'system', 'login_form', 0),
('system_login', 'top', 'blocks', 'block_2', 0)
");
*/
// Set up some basic permissions for authenticated user.
db_query("INSERT INTO role_permissions (rid, perm)
VALUES
(2, 'access_logged_in_content'),
(2, 'view_comments') ");
// Add some default variable values, to make things a little easier on first-run.
variable_set("earliest_catalog_year", date("Y"));
variable_set("current_catalog_year", date("Y"));
variable_set("current_draft_catalog_year", date("Y"));
// Do we have "clean URLs" enabled?
$test = system_check_clean_urls();
variable_set("clean_urls", $test);
}