danielebarchiesi@4
|
1 <?php
|
danielebarchiesi@4
|
2
|
danielebarchiesi@4
|
3 /**
|
danielebarchiesi@4
|
4 * @file
|
danielebarchiesi@4
|
5 * .install file for Pathologic.
|
danielebarchiesi@4
|
6 */
|
danielebarchiesi@4
|
7
|
danielebarchiesi@4
|
8 /**
|
danielebarchiesi@4
|
9 * Re-enable Pathologic under Drupal 7, preserving settings from Drupal 6.
|
danielebarchiesi@4
|
10 */
|
danielebarchiesi@4
|
11 function pathologic_update_7000($sandbox) {
|
danielebarchiesi@4
|
12 // Make sure {d6_upgrade_filter} exists. It won't exist for people upgrading
|
danielebarchiesi@4
|
13 // from beta versions of the D7 version of Pathologic on native D7 sites (not
|
danielebarchiesi@4
|
14 // upgraded from D6).
|
danielebarchiesi@4
|
15 if (db_table_exists('d6_upgrade_filter')) {
|
danielebarchiesi@4
|
16 // Get all Pathologic data from {d6_upgrade_filter}.
|
danielebarchiesi@4
|
17 $rez = db_select('d6_upgrade_filter', 'dup')
|
danielebarchiesi@4
|
18 ->fields('dup')
|
danielebarchiesi@4
|
19 ->condition('module', 'pathologic')
|
danielebarchiesi@4
|
20 ->execute();
|
danielebarchiesi@4
|
21 while ($instance = $rez->fetchObject()) {
|
danielebarchiesi@4
|
22 // Load the format
|
danielebarchiesi@4
|
23 if ($format = filter_format_load($instance->format)) {
|
danielebarchiesi@4
|
24 // Load filters.
|
danielebarchiesi@4
|
25 $format->filters = array();
|
danielebarchiesi@4
|
26 // Add the filters
|
danielebarchiesi@4
|
27 foreach (filter_list_format($instance->format) as $filter_name => $filter) {
|
danielebarchiesi@4
|
28 $format->filters[$filter_name] = (array)$filter;
|
danielebarchiesi@4
|
29 }
|
danielebarchiesi@4
|
30 // Add Pathologic
|
danielebarchiesi@4
|
31 $format->filters['pathologic'] = array(
|
danielebarchiesi@4
|
32 'weight' => $instance->weight,
|
danielebarchiesi@4
|
33 'status' => 1,
|
danielebarchiesi@4
|
34 'settings' => array(
|
danielebarchiesi@4
|
35 'absolute' => variable_get('filter_pathologic_absolute_' . $instance->format, TRUE),
|
danielebarchiesi@4
|
36 'local_paths' => variable_get('filter_pathologic_local_paths_' . $instance->format, ''),
|
danielebarchiesi@4
|
37 ),
|
danielebarchiesi@4
|
38 );
|
danielebarchiesi@4
|
39 // Save the format
|
danielebarchiesi@4
|
40 filter_format_save($format);
|
danielebarchiesi@4
|
41 // Unset old variables
|
danielebarchiesi@4
|
42 variable_del('filter_pathologic_absolute_' . $instance->format);
|
danielebarchiesi@4
|
43 variable_del('filter_pathologic_local_paths_' . $instance->format);
|
danielebarchiesi@4
|
44 }
|
danielebarchiesi@4
|
45 }
|
danielebarchiesi@4
|
46 // Delete Pathologic data from {d6_upgrade_filter}…?
|
danielebarchiesi@4
|
47 // No, maybe we don't want to actually do that…?
|
danielebarchiesi@4
|
48 }
|
danielebarchiesi@4
|
49 }
|
danielebarchiesi@4
|
50
|
danielebarchiesi@4
|
51 /**
|
danielebarchiesi@4
|
52 * Convert obsolete "absolute" setting to modern "protocol_style" setting for
|
danielebarchiesi@4
|
53 * each filter instance.
|
danielebarchiesi@4
|
54 */
|
danielebarchiesi@4
|
55 function pathologic_update_7200(&$sandbox) {
|
danielebarchiesi@4
|
56 foreach (filter_formats() as $format) {
|
danielebarchiesi@4
|
57 // @see http://drupal.org/node/1304930
|
danielebarchiesi@4
|
58 if (empty($format->filters)) {
|
danielebarchiesi@4
|
59 $format->filters = array();
|
danielebarchiesi@4
|
60 // Add the filters
|
danielebarchiesi@4
|
61 foreach (filter_list_format($format->format) as $filter_name => $filter) {
|
danielebarchiesi@4
|
62 $format->filters[$filter_name] = (array)$filter;
|
danielebarchiesi@4
|
63 }
|
danielebarchiesi@4
|
64 }
|
danielebarchiesi@4
|
65 if (isset($format->filters['pathologic'])) {
|
danielebarchiesi@4
|
66 $format->filters['pathologic']['settings']['protocol_style'] = $format->filters['pathologic']['settings']['absolute'] ? 'full' : 'path';
|
danielebarchiesi@4
|
67 unset($format->filters['pathologic']['settings']['absolute']);
|
danielebarchiesi@4
|
68 filter_format_save($format);
|
danielebarchiesi@4
|
69 }
|
danielebarchiesi@4
|
70 }
|
danielebarchiesi@4
|
71 }
|