72 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/**
 | 
						|
 * @file
 | 
						|
 * .install file for Pathologic.
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * Re-enable Pathologic under Drupal 7, preserving settings from Drupal 6.
 | 
						|
 */
 | 
						|
function pathologic_update_7000($sandbox) {
 | 
						|
  // Make sure {d6_upgrade_filter} exists. It won't exist for people upgrading
 | 
						|
  // from beta versions of the D7 version of Pathologic on native D7 sites (not
 | 
						|
  // upgraded from D6).
 | 
						|
  if (db_table_exists('d6_upgrade_filter')) {
 | 
						|
    // Get all Pathologic data from {d6_upgrade_filter}.
 | 
						|
    $rez = db_select('d6_upgrade_filter', 'dup')
 | 
						|
      ->fields('dup')
 | 
						|
      ->condition('module', 'pathologic')
 | 
						|
      ->execute();
 | 
						|
    while ($instance = $rez->fetchObject()) {
 | 
						|
      // Load the format
 | 
						|
      if ($format = filter_format_load($instance->format)) {
 | 
						|
        // Load filters.
 | 
						|
        $format->filters = array();
 | 
						|
        // Add the filters
 | 
						|
        foreach (filter_list_format($instance->format) as $filter_name => $filter) {
 | 
						|
          $format->filters[$filter_name] = (array)$filter;
 | 
						|
        }
 | 
						|
        // Add Pathologic
 | 
						|
        $format->filters['pathologic'] = array(
 | 
						|
          'weight' => $instance->weight,
 | 
						|
          'status' => 1,
 | 
						|
          'settings' => array(
 | 
						|
            'absolute' => variable_get('filter_pathologic_absolute_' . $instance->format, TRUE),
 | 
						|
            'local_paths' => variable_get('filter_pathologic_local_paths_' . $instance->format, ''),
 | 
						|
          ),
 | 
						|
        );
 | 
						|
        // Save the format
 | 
						|
        filter_format_save($format);
 | 
						|
        // Unset old variables
 | 
						|
        variable_del('filter_pathologic_absolute_' . $instance->format);
 | 
						|
        variable_del('filter_pathologic_local_paths_' . $instance->format);
 | 
						|
      }
 | 
						|
    }
 | 
						|
    // Delete Pathologic data from {d6_upgrade_filter}…?
 | 
						|
    // No, maybe we don't want to actually do that…?
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Convert obsolete "absolute" setting to modern "protocol_style" setting for
 | 
						|
 * each filter instance.
 | 
						|
 */
 | 
						|
function pathologic_update_7200(&$sandbox) {
 | 
						|
  foreach (filter_formats() as $format) {
 | 
						|
    // @see http://drupal.org/node/1304930
 | 
						|
    if (empty($format->filters)) {
 | 
						|
      $format->filters = array();
 | 
						|
      // Add the filters
 | 
						|
      foreach (filter_list_format($format->format) as $filter_name => $filter) {
 | 
						|
        $format->filters[$filter_name] = (array)$filter;
 | 
						|
      }
 | 
						|
    }
 | 
						|
    if (isset($format->filters['pathologic'])) {
 | 
						|
      $format->filters['pathologic']['settings']['protocol_style'] = $format->filters['pathologic']['settings']['absolute'] ? 'full' : 'path';
 | 
						|
      unset($format->filters['pathologic']['settings']['absolute']);
 | 
						|
      filter_format_save($format);
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 |