| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | <?php/** * Implementation of hook_install(). */function context_install() {  // Nothing todo...}/** * Implementation of hook_uninstall(). */function context_uninstall() {  drupal_uninstall_schema('context');  variable_del('context_ui_show_empty_regions');  variable_del('context_reaction_block_disable_core');  variable_del('context_reaction_block_all_regions');}/** * Implementation of hook_schema(). */function context_schema() {  $schema = array();  $schema['context'] = array(    'description' => 'Storage for normal (user-defined) contexts.',    'export' => array(      'key' => 'name',      'identifier' => 'context',      'default hook' => 'context_default_contexts',  // Function hook name.      'status' => 'context_status',      'api' => array(        'owner' => 'context',        'api' => 'context',  // Base name for api include files.        'minimum_version' => 3,        'current_version' => 3,      ),      'export callback' => 'context_export',    ),    'fields' => array(      'name' => array(        'description' => 'The primary identifier for a context.',        'type' => 'varchar',        'length' => 255,        'not null' => TRUE,        'default' => '',      ),      'description' => array(        'description' => 'Description for this context.',        'type' => 'varchar',        'length' => 255,        'not null' => TRUE,        'default' => '',      ),      'tag' => array(        'description' => 'Tag for this context.',        'type' => 'varchar',        'length' => 255,        'not null' => TRUE,        'default' => '',      ),      'conditions' => array(        'description' => 'Serialized storage of all context condition settings.',        'type' => 'text',        'serialize' => TRUE,      ),      'reactions' => array(        'description' => 'Serialized storage of all context reaction settings.',        'type' => 'text',        'serialize' => TRUE,      ),      'condition_mode' => array(        'description' => 'Condition mode for this context.',        'type' => 'int',        'default' => 0,      ),    ),    'primary key' => array('name'),  );  return $schema;}/** * Update 7000: Handle adjustments to split of theme reaction to support D7 preprocess split between _page and _html */function context_update_7000() {  drupal_load('module', 'ctools');  drupal_load('module', 'context');  $updated = array();  $contexts = context_load(NULL, TRUE);  foreach ($contexts as $c) {    // if the old data is in the old reaction and the new reaction hasn't been saved, migrate the old data to the new reaction    if (isset($c->reactions['theme']) &&        isset($c->reactions['theme']['class']) &&        !empty($c->reactions['theme']['class']) &&        !isset($c->reactions['theme_html'])    ) {      $c->reactions['theme_html']['class'] = $c->reactions['theme']['class'];      context_save($c);      $updated[] = $c->name;    }  }  if (empty($updated)) {    $ret = t('No contexts requiring migration detected.');  }  else {    $ret = t('The following contexts had theme reaction data migrated: @names', array('@names' => join(', ', $updated)));  }  return $ret;}
 |