10
* Core settings function
12
function udheader_admin_settings() {
13
$tid = intval(arg(3)); // @deprecated arg()
15
$edit = db_fetch_array(db_query('SELECT * FROM {udheader} WHERE tid = :tid', array(':tid' => $tid)));
16
$output .= drupal_get_form('udheader_linkform', $edit, TRUE);
19
$output .= drupal_get_form('udheader_linkform', $edit, FALSE);
20
$output .= t('<h2>Header Maps</h2>');
21
$output .= udheader_view_list();
27
* Build form to add/edit location links
29
function udheader_linkform($form, &$form_state, $edit = array(), $individual = FALSE) {
30
// Get available node types
31
$node_types = node_type_get_names();
32
$node_types['udheader_default'] .= 'Default';
35
$dir = drupal_get_path('module', 'udheader') . "/images/left/";
36
$handle = opendir($dir);
37
while (false !== ($file = readdir($handle))) {
38
if ($file != '.' && $file != '..') {
39
$images['left'][$file] = $file;
45
$dir = drupal_get_path('module', 'udheader') . "/images/center/";
46
$handle = opendir($dir);
47
while (false !== ($file = readdir($handle))) {
48
if ($file != '.' && $file != '..') {
49
$images['center'][$file] = $file;
55
$dir = drupal_get_path('module', 'udheader') . "/images/right/";
56
$handle = opendir($dir);
57
while (false !== ($file = readdir($handle))) {
58
if ($file != '.' && $file != '..') {
59
$images['right'][$file] = $file;
66
$c = $edit['tid'] > 0 ? FALSE : TRUE;
67
$t = $edit['tid'] > 0 ? 'Edit' : 'Add';
68
$form['udheader'] = array(
69
'#type' => 'fieldset',
70
'#title' => t($t . ' Header'),
75
$form['udheader']['tid'] = array(
77
'#value' => $edit['tid'],
79
$form['udheader']['node'] = array(
81
'#title' => t('Node Type'),
82
'#options' => $node_types,
83
'#default_value' => t($edit['node']),
84
'#description' => t('Select the node type which the header will be applied for.'),
86
$form['udheader']['left'] = array(
88
'#title' => t('Left Image'),
89
'#options' => $images['left'],
90
'#default_value' => t($edit['leftimg']),
91
'#description' => t('Select the image to be used on the left side of the header.'),
93
$form['udheader']['center'] = array(
95
'#title' => t('Center Image'),
96
'#options' => $images['center'],
97
'#default_value' => t($edit['centerimg']),
98
'#description' => t('Select the image to be used in the center of the header.'),
100
$form['udheader']['centertext'] = array(
101
'#type' => 'textarea',
102
'#title' => t('Text to be displayed in the center of the masthead'),
103
'#default_value' => t($edit['centertext']),
105
$form['udheader']['right'] = array(
107
'#title' => t('Right Image'),
108
'#options' => $images['right'],
109
'#default_value' => t($edit['rightimg']),
110
'#description' => t('Select the image to be used on the right side of the header.'),
112
$form['udheader']['righttext'] = array(
113
'#type' => 'textarea',
114
'#title' => t('Text to be displayed in the right part of the masthead'),
115
'#default_value' => $edit['righttext'],
117
$form['udheader']['submit'] = array(
119
'#value' => $edit['tid'] > 0 ? 'Update' : 'Add',
123
$form['udheader']['delete'] = array(
125
'#value' => 'Delete',
133
* Build list of existing linked locations
135
function udheader_view_list() {
136
$imgmaps = db_query('SELECT * FROM {udheader}');
138
$headers = array('Node Type', 'Left Image', 'Center Image', 'Right Image', 'Edit');
140
while ($imgmap = db_fetch_object($imgmaps)) {
141
$tid = strval($imgmap->tid);
142
array_push($rows, array(
145
t($imgmap->centerimg),
146
t($imgmap->rightimg),
147
l(t('edit'), 'admin/config/udheader/' . $tid),
151
return theme('table', array('header' => $headers, 'rows' => $rows));
155
* Add/Delete/Update location link to database
157
function udheader_linkform_submit($form, &$form_state) {
159
$form_state['redirect'] = 'admin/config/udheader';
161
$op = $form_state['clicked_button']['#post']['op'];
162
$tid = $form_state['clicked_button']['#post']['tid'];
163
$node = $form_state['clicked_button']['#post']['node'];
164
$left = $form_state['clicked_button']['#post']['left'];
165
$center = $form_state['clicked_button']['#post']['center'];
166
$centertext = $form_state['clicked_button']['#post']['centertext'];
167
$right = $form_state['clicked_button']['#post']['right'];
168
$righttext = $form_state['clicked_button']['#post']['righttext'];
171
if ($op == 'Update') {
172
// TODO Please review the conversion of this statement to the D7 database API syntax.
173
/* db_query('UPDATE {udheader} SET node="%s", leftimg="%s", centerimg="%s", centertext="%s", rightimg="%s", righttext="%s" WHERE tid=%d', $node, $left, $center, $centertext, $right, $righttext, $tid) */
174
$rslt = db_update('udheader')
178
'centerimg' => $center,
179
'centertext' => $centertext,
180
'rightimg' => $right,
181
'righttext' => $righttext,
183
->condition('tid', $tid)
188
if ($op == 'Delete') {
189
// TODO Please review the conversion of this statement to the D7 database API syntax.
190
/* db_query('DELETE FROM {udheader} WHERE tid=%d', $tid) */
191
$rslt = db_delete('udheader')
192
->condition('tid', $tid)
198
// TODO Please review the conversion of this statement to the D7 database API syntax.
199
/* db_query('INSERT INTO {udheader} (node, leftimg, centerimg, centertext, rightimg, righttext) VALUES ("%s", "%s", "%s", "%s", "%s", "%s")', $node, $left, $center, $centertext, $right, $righttext) */
200
$rslt = $id = db_insert('udheader')
204
'centerimg' => $center,
205
'centertext' => $centertext,
206
'rightimg' => $right,
207
'righttext' => $righttext,
214
drupal_set_message(t('Record modification made.'));
218
trigger_error(t('Record modification failed.'));