webform_steps.install in Webform steps 7.2
File
webform_steps.install
View source
<?php
function webform_steps_install() {
if (!function_exists('webform_page_labels')) {
module_enable(array(
'webform_steps_w3',
), FALSE);
}
}
function webform_steps_update_7200() {
if (!function_exists('template_preprocess_webform_progressbar')) {
module_enable(array(
'webform_steps_w3',
), FALSE);
variable_set('webform_progressbar_style', array(
'progressbar_bar',
'progressbar_pagebreak_labels',
));
}
}
function webform_steps_update_7201() {
if (module_exists('webform_steps_w3')) {
$sql = <<<SQL
INSERT INTO {webform_steps_w3_progressbar}
(nid, progressbar_bar, progressbar_pagebreak_labels, progressbar_label_first)
SELECT nid, 1, 1, 'Start' FROM {webform}
SQL;
db_query($sql);
}
elseif (function_exists('template_preprocess_webform_progressbar')) {
$sql = <<<SQL
UPDATE {webform}
SET progressbar_bar=1, progressbar_pagebreak_labels=1, progressbar_label_first='Start'
SQL;
db_query($sql);
}
$sql = "SELECT DISTINCT nid FROM {webform_component} WHERE type='pagebreak'";
$nids = db_query($sql)
->fetchCol();
foreach ($nids as $nid) {
$node = node_load($nid);
$node->webform['progressbar_bar'] = 1;
$node->webform['progressbar_pagebreak_labels'] = 1;
$node->webform['progressbar_label_first'] = 'Start';
$components =& $node->webform['components'];
$breaks = array();
$first_fieldset = array(
1 => NULL,
);
foreach ($components as $cid => &$component) {
$p = $component['page_num'];
if ($component['type'] == 'pagebreak') {
$breaks[$p] =& $component;
$first_fieldset[$p] = NULL;
}
if ($component['type'] == 'fieldset' && !$first_fieldset[$p]) {
$first_fieldset[$p] = $component;
if ($p == 1) {
$node->webform['progressbar_label_first'] = $component['name'];
}
else {
$breaks[$p]['name'] = $component['name'];
}
}
}
node_save($node);
}
}