Now all modules are in core modules folder

This commit is contained in:
Manuel Cillero 2017-08-08 12:14:45 +02:00
parent 5ba1cdfa0b
commit 05b6a91b0c
1907 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,183 @@
<?php
/**
* @file
* Install, uninstall and update functions for the SuiteDesk Team module
*/
/**
* @function
* Implementation of hook_install().
*/
function stormteam_install() {
drupal_install_schema('stormteam');
variable_set('node_options_stormteam', array('status'));
}
/**
* @function
* Implementation of hook_disable().
*/
function stormteam_disable() {
drupal_set_message(t('Nodes of type "Team" have not been deleted on disabling SuiteDesk Team. Please note that they will now have reduced functionality, and will not be protected by SuiteDesk Team access controls.'), 'warning');
}
/**
* @function
* Implementation of hook_uninstall().
*/
function stormteam_uninstall() {
drupal_uninstall_schema('stormteam');
}
/**
* @function
* Implementation of hook_schema().
*/
function stormteam_schema() {
$schema['stormteam'] = array(
'fields' => array(
'vid' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'nid' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0),
'mnid' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0
),
),
'primary key' => array(
'vid',
'nid',
'mnid',
),
'indexes' => array(
'vid' => array('vid'),
'nid' => array('nid'),
'mnid' => array('mnid'),
),
);
return $schema;
}
/**
* @function
* Implementation of hook_update_N().
* Removes 0:N from members array
*/
function stormteam_update_6101() {
$ret = array();
$sql = "SELECT ste.members, ste.vid FROM {stormteam} ste";
$results = db_query($sql);
while ($team = db_fetch_object($results)) {
$members_array = unserialize($team->members);
if (array_key_exists(0, $members_array)) {
unset($members_array[0]);
}
$team->members = serialize($members_array);
$sql = "UPDATE {stormteam} SET members='%s' WHERE vid=%d";
$result = db_query($sql, $team->members, $team->vid);
$ret[] = array('success' => $result !== FALSE, 'query' => 'Removed 0:N from vid '. $team->vid);
}
return $ret;
}
/**
* Implements hook_update_N().
*
* Migrate members serialized array to member node id
*/
function stormteam_update_6200() {
$ret = array();
$new_schema = array();
$new_schema['stormteam_6200'] = array(
'fields' => array(
'vid' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'nid' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0
),
'mnid' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0
),
),
'primary key' => array(
'vid',
'nid',
'mnid',
),
);
// Create the new table with a temporary name
db_create_table($ret, 'stormteam_6200', $new_schema['stormteam_6200']);
// Check for collisions between org names and person names
$result = db_query("SELECT * FROM {stormteam}");
$mapping = array();
while ($team = db_fetch_object($result)) {
$members = unserialize($team->members);
// Generate the mapping array and save it to the database
foreach ($members as $nid => $fullname) {
$mapping = new stdClass();
$mapping->nid = $team->nid;
$mapping->vid = $team->vid;
$mapping->mnid = $nid;
$result_insert = db_query('INSERT INTO {stormteam_6200} VALUES (%d, %d, %d)', $mapping->vid, $mapping->nid, $mapping->mnid);
if (FALSE === $result_insert) {
// Write failed, abort the update
$mapping = FALSE;
break 2;
}
}
}
if (FALSE === $mapping) {
// Abort the changes
$ret['#abort'] = array('success' => FALSE, 'query' => "Unable to map team members to nodes. Failed to write data to new table.");
// Remove the new table
db_drop_table($ret, 'stormteam_6200');
// Return the failed update
return $ret;
}
// Remove the old table
db_drop_table($ret, 'stormteam');
// Rename the table to the proper name
db_rename_table($ret, 'stormteam_6200', 'stormteam');
return $ret;
}
/**
* Improve primary keys and indexes
*/
function stormteam_update_6201() {
$return = array();
db_add_index($return, 'stormteam', 'vid', array('vid'));
db_add_index($return, 'stormteam', 'nid', array('nid'));
db_add_index($return, 'stormteam', 'mnid', array('mnid'));
return $return;
}