diff --git a/modules/system/system.install b/modules/system/system.install index 1161d6c..4c60ae8 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -3025,6 +3025,26 @@ function system_update_7074() { } /** + * Convert menu_links query strings into arrays. + */ +function system_update_7075() { + $query = db_select('menu_links', 'ml', array('fetch' => PDO::FETCH_ASSOC)) + ->fields('ml', array('mlid', 'options')); + foreach ($query->execute() as $menu_link) { + $menu_link['options'] = unserialize($menu_link['options']); + if (isset($menu_link['options']['query']) && is_string($menu_link['options']['query'])) { + $menu_link['options']['query'] = drupal_get_query_array($menu_link['options']['query']); + db_update('menu_links') + ->fields(array( + 'options' => serialize($menu_link['options']), + )) + ->condition('mlid', $menu_link['mlid'], '=') + ->execute(); + } + } +} + +/** * @} End of "defgroup updates-7.x-extra". * The next series of updates should start at 8000. */