-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcitc_upgrade.module
138 lines (130 loc) · 5.87 KB
/
citc_upgrade.module
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
function citc_upgrade_install() {
db_update('system')
->fields(array('schema_version' => '7200'))
->condition('name', 'citc_upgrade')
->execute();
}
/**
* Update old Hotauce Image Styles to Panopoly
*/
function citc_upgrade_update_7201() {
$result1 = db_query('SELECT data,id FROM {field_config_instance}')->fetchALL();
foreach ($result1 as $key => $value) {
$data = unserialize($value->data);
if (isset($data['display']['default']['settings']['image_style']) && $data['display']['default']['settings']['image_style'] != '') {
$data['display']['default']['settings']['image_style'] = str_replace('hotsauce','panopoly',$data['display']['default']['settings']['image_style']);
db_update('field_config_instance')
->fields(array('data' => serialize($data)))
->condition('id', $value->id)
->execute();
}
if (isset($data['display']['featured']['settings']['image_style']) && $data['display']['featured']['settings']['image_style'] != '') {
$data['display']['featured']['settings']['image_style'] = str_replace('hotsauce','panopoly',$data['display']['featured']['settings']['image_style']);
db_update('field_config_instance')
->fields(array('data' => serialize($data)))
->condition('id', $value->id)
->execute();
}
if (isset($data['display']['search_result']['settings']['image_style']) && $data['display']['search_result']['settings']['image_style'] != '') {
$data['display']['search_result']['settings']['image_style'] = str_replace('hotsauce','panopoly',$data['display']['search_result']['settings']['image_style']);
db_update('field_config_instance')
->fields(array('data' => serialize($data)))
->condition('id', $value->id)
->execute();
}
if (isset($data['display']['teaser']['settings']['image_style']) && $data['display']['teaser']['settings']['image_style'] != '') {
$data['display']['teaser']['settings']['image_style'] = str_replace('hotsauce','panopoly',$data['display']['teaser']['settings']['image_style']);
db_update('field_config_instance')
->fields(array('data' => serialize($data)))
->condition('id', $value->id)
->execute();
}
if (isset($data['widget']['settings']['preview_image_style']) && $data['widget']['settings']['preview_image_style'] != '') {
$data['widget']['settings']['preview_image_style'] = str_replace('hotsauce','panopoly',$data['widget']['settings']['preview_image_style']);
db_update('field_config_instance')
->fields(array('data' => serialize($data)))
->condition('id', $value->id)
->execute();
}
if (isset($data['widget']['settings']['manualcrop_styles_list'])) {
if (count($data['widget']['settings']['manualcrop_styles_list']) > 0) {
foreach ($data['widget']['settings']['manualcrop_styles_list'] as $key2 => $value2) {
$keynew = str_replace('hotsauce','panopoly',$key2);
$value2 = str_replace('hotsauce','panopoly',$value2);
unset($data['widget']['settings']['manualcrop_styles_list'][$key2]);
$data['widget']['settings']['manualcrop_styles_list'][$keynew] = $value2;
db_update('field_config_instance')
->fields(array('data' => serialize($data)))
->condition('id', $value->id)
->execute();
}
}
}
}
$result2 = db_query('SELECT configuration,pid FROM {panels_pane}')->fetchALL();
foreach ($result2 as $key => $value) {
$data = unserialize($value->configuration);
if(isset($data['formatter_settings'])) {
if (count($data['formatter_settings']) > 0 && isset($data['formatter_settings']['image_style'])) {
$data['formatter_settings']['image_style'] = str_replace('hotsauce','panopoly',$data['formatter_settings']['image_style']);
db_update('panels_pane')
->fields(array('configuration' => serialize($data)))
->condition('pid', $value->pid)
->execute();
}
}
}
$result3 = db_query('SELECT vid,id,display_options FROM {views_display}')->fetchALL();
foreach ($result3 as $key => $value) {
$data = unserialize($value->display_options);
if (isset($data['fields'])) {
foreach ($data['fields'] as $key2 => $value2) {
if(isset($value2['settings'])) {
if (isset($value2['settings']['image_style'])) {
$data['fields'][$key2]['settings']['image_style'] = str_replace('hotsauce','panopoly',$value2['settings']['image_style']);
db_update('views_display')
->fields(array('display_options' => serialize($data)))
->condition('vid', $value->vid)
->condition('id', $value->id)
->execute();
}
}
}
}
}
db_query('TRUNCATE cache');
db_query('TRUNCATE cache_block');
db_query('TRUNCATE cache_bootstrap');
db_query('TRUNCATE cache_entity_fieldable_panels_pane');
db_query('TRUNCATE cache_field');
db_query('TRUNCATE cache_filter');
db_query('TRUNCATE cache_form');
db_query('TRUNCATE cache_image');
db_query('TRUNCATE cache_libraries');
db_query('TRUNCATE cache_menu');
db_query('TRUNCATE cache_page');
db_query('TRUNCATE cache_panels');
db_query('TRUNCATE cache_path');
db_query('TRUNCATE cache_search_api_solr');
db_query('TRUNCATE cache_token');
db_query('TRUNCATE cache_update');
db_query('TRUNCATE cache_views');
db_query('TRUNCATE cache_views_data');
db_query('TRUNCATE ctools_css_cache');
db_query('TRUNCATE ctools_object_cache');
}
/**
* Remove field basic spolight from DB due to panopoly error
*/
function citc_upgrade_update_7202() {
$field_name = 'field_basic_spotlight_items';
db_delete('field_config')
->condition('field_name', $field_name)
->execute();
db_delete('field_config_instance')
->condition('field_name', $field_name)
->execute();
db_drop_table('field_data_field_basic_spotlight_items');
db_drop_table('field_revision_field_basic_spotlight_items');
}