/[drupal]/contributions/modules/viewfield/viewfield.install
ViewVC logotype

Contents of /contributions/modules/viewfield/viewfield.install

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.6 - (show annotations) (download) (as text)
Sun May 24 05:33:35 2009 UTC (6 months ago) by darrenoh
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +25 -9 lines
File MIME type: text/x-php
#416922 by Darren Oh: Fixed upgrade for existing fields.
#434920 by Darren Oh: Fixed argument defaults being lost on save.
1 <?php
2 // $Id: viewfield.install,v 1.5 2009/04/20 15:43:37 darrenoh Exp $
3
4 /**
5 * @file
6 * Installation functions.
7 */
8
9 /**
10 * Implementation of hook_install().
11 */
12 function viewfield_install() {
13 drupal_load('module', 'content');
14 content_notify('install', 'viewfield');
15 }
16
17 /**
18 * Implementation of hook_uninstall().
19 */
20 function viewfield_uninstall() {
21 drupal_load('module', 'content');
22 content_notify('uninstall', 'viewfield');
23 }
24
25 /**
26 * Implementation of hook_enable().
27 *
28 * Notify content module when this module is enabled.
29 */
30 function viewfield_enable() {
31 drupal_load('module', 'content');
32 content_notify('enable', 'viewfield');
33 }
34
35 /**
36 * Implementation of hook_disable().
37 *
38 * Notify content module when this module is disabled.
39 */
40 function viewfield_disable() {
41 drupal_load('module', 'content');
42 content_notify('disable', 'viewfield');
43 }
44
45 /**
46 * Implementation of hook_update_N().
47 */
48 function viewfield_update_6000() {
49 if ($abort = content_check_update('viewfield')) {
50 return $abort;
51 }
52 $ret = array();
53 $result = db_query("SELECT * FROM {content_node_field} WHERE type = 'viewfield'");
54 while ($field = db_fetch_array($result)) {
55 $field_result = db_query("SELECT * FROM {content_node_field_instance} WHERE field_name = '%s'", $field['field_name']);
56 while ($instance = db_fetch_array($field_result)) {
57 $instance['widget_settings'] = unserialize($instance['widget_settings']);
58 $widget_settings = serialize(array('force_default' => $instance['widget_settings']['force_default']));
59 $instance['display_settings'] = unserialize($instance['display_settings']);
60 foreach ($instance['display_settings'] as $display_context => $display_setting) {
61 $instance['display_settings'][$display_context]['format'] = $display_setting['format'] == 'hidden' ? $display_setting['format'] : 'default';
62 }
63 $display_settings = serialize($instance['display_settings']);
64 $update = db_query("UPDATE {content_node_field_instance} SET widget_settings = '%s', display_settings = '%s' WHERE field_name = '%s' AND type_name = '%s'", $widget_settings, $display_settings, $instance['field_name'], $instance['type_name']);
65 $ret[] = array('success' => $result !== FALSE, 'query' => "UPDATE {content_node_field_instance} SET widget_settings = '$widget_settings', display_settings = '$display_settings' WHERE field_name = '$instance[field_name]' AND type_name = '$instance[type_name]'");
66 }
67 $display = $display_setting['format'] == 'block' ? 'block_1' : 'default';
68 $field['global_settings'] = unserialize($field['global_settings']);
69 $field['global_settings']['token_enabled'] = TRUE;
70 $super_default_widget = $field['global_settings']['super_default_widget'][0][$field['field_name']];
71 $field['global_settings']['super_default_widget'] = array(
72 'vname' => empty($super_default_widget['vnames']) ? NULL : $super_default_widget['vnames'] .'|'. $display,
73 'vargs' => $super_default_widget['vargs'],
74 );
75 $global_settings = serialize($field['global_settings']);
76 $update = db_query("UPDATE {content_node_field} SET global_settings = '%s' WHERE field_name = '%s'", $global_settings, $field['field_name']);
77 $ret[] = array('success' => $update !== FALSE, 'query' => "UPDATE {content_node_field} SET global_settings = '$global_settings' WHERE field_name = '$field[field_name]'");
78 }
79 return $ret;
80 }

  ViewVC Help
Powered by ViewVC 1.1.2