| 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 |
}
|