123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- <?php
- /**
- * @file
- * This is the installation file for the Background Process module
- */
- /**
- * Implements of hook_enable().
- */
- function background_process_enable() {
- $_SESSION['background_process_determine_default_service_host'] = TRUE;
- }
- /**
- * Implements of hook_schema().
- */
- function background_process_schema() {
- $schema = array();
- $schema['background_process'] = array(
- 'fields' => array(
- 'handle' => array(
- 'type' => 'varchar',
- 'length' => 255,
- 'not null' => TRUE,
- 'default' => '',
- ),
- 'callback' => array(
- 'type' => 'text',
- 'not null' => FALSE,
- ),
- 'args' => array(
- 'type' => 'blob',
- 'not null' => FALSE,
- ),
- 'uid' => array(
- 'type' => 'int',
- 'not null' => TRUE,
- 'default' => 0,
- ),
- 'token' => array(
- 'type' => 'varchar',
- 'length' => 32,
- 'not null' => TRUE,
- 'default' => '',
- ),
- 'service_host' => array(
- 'type' => 'varchar',
- 'length' => 64,
- 'not null' => TRUE,
- 'default' => '',
- ),
- 'start_stamp' => array(
- 'type' => 'varchar',
- 'length' => '18',
- 'not null' => FALSE,
- ),
- 'exec_status' => array(
- 'type' => 'int',
- 'size' => 'normal',
- 'not null' => TRUE,
- 'default' => 0,
- ),
- ),
- 'primary key' => array('handle'),
- );
- return $schema;
- }
- /**
- * Implements hook_uninstall().
- */
- function background_process_uninstall() {
- // Removing process variables.
- variable_del('background_process_service_timeout');
- variable_del('background_process_connection_timeout');
- variable_del('background_process_stream_timeout');
- variable_del('background_process_service_groups');
- variable_del('background_process_default_service_group');
- variable_del('background_process_service_hosts');
- variable_del('background_process_default_service_host');
- variable_del('background_process_cleanup_age');
- variable_del('background_process_queues');
- variable_del('background_process_derived_default_host');
- variable_del('background_process_token');
- }
- /**
- * Implements hook_requirements().
- */
- function background_process_requirements($phase) {
- $response = array();
- switch ($phase) {
- case 'install':
- return $response;
- case 'runtime':
- $response['title'] = 'Background Process';
- $response['value'] = t('OK');
- $response['severity'] = REQUIREMENT_OK;
- if (ini_get('safe_mode')) {
- $desc = t('Safe mode enabled. Background Process is unable to control maximum execution time for background processes. This may cause background processes to end prematurely.');
- if ($response['severity'] < REQUIREMENT_WARNING) {
- $response['severity'] = REQUIREMENT_WARNING;
- $response['value'] = t('Safe mode enabled');
- $response['description'] = $desc;
- }
- else {
- $response['description'] .= '<br/>' . $desc;
- }
- }
- $result = array();
- $result['background_process'] = $response;
- return $result;
- }
- }
- /**
- * Major version upgrade of Drupal
- */
- function background_process_update_7000(&$context) {
- $context['sandbox']['major_version_upgrade'] = array(
- 7101 => TRUE,
- 7102 => TRUE,
- 7103 => TRUE,
- 7104 => TRUE,
- 7105 => TRUE,
- 7106 => TRUE,
- );
- }
- /**
- * Add status column to background_process table.
- */
- function background_process_update_7101() {
- if (!empty($context['sandbox']['major_version_upgrade'][7101])) {
- // This udate is already part of latest 6.x
- return;
- }
- db_add_field('background_process', 'status', array(
- 'type' => 'int',
- 'size' => 'normal',
- 'not null' => TRUE,
- 'default' => 0,
- ));
- }
- /**
- * Determine default service host
- */
- function background_process_update_7102() {
- }
- /**
- * Determine default service host
- */
- function background_process_update_7103() {
- }
- /**
- * Change start column from double to numeric
- */
- function background_process_update_7104() {
- if (!empty($context['sandbox']['major_version_upgrade'][7104])) {
- // This udate is already part of latest 6.x
- return;
- }
- db_change_field('background_process', 'start', 'start', array(
- 'type' => 'numeric',
- 'precision' => '16',
- 'scale' => '6',
- 'not null' => FALSE,
- ));
- }
- /**
- * Re-determine default service host.
- */
- function background_process_update_7105() {
- if (!empty($context['sandbox']['major_version_upgrade'][7105])) {
- // This udate is already part of latest 6.x
- return;
- }
- $_SESSION['background_process_determine_default_service_host'] = TRUE;
- }
- /**
- * Change schema to SQL 99 compliance
- */
- function background_process_update_7106() {
- if (!empty($context['sandbox']['major_version_upgrade'][7106])) {
- // This udate is already part of latest 6.x
- return;
- }
- db_change_field('background_process', 'start', 'start_stamp', array(
- 'type' => 'varchar',
- 'length' => '18',
- 'not null' => FALSE,
- ));
- db_change_field('background_process', 'status', 'exec_status', array(
- 'type' => 'int',
- 'size' => 'normal',
- 'not null' => TRUE,
- 'default' => 0,
- ));
- }
|