function webform2pdf_update_7300 in Webform2PDF 7.3
Same name and namespace in other branches
- 7.4 webform2pdf.install \webform2pdf_update_7300()
Convert the webform2pdf template.
File
- ./
webform2pdf.install, line 308 - Webform2pdf module install/schema hooks.
Code
function webform2pdf_update_7300(&$sandbox) {
$sandbox['#finished'] = 0;
// Multi-part update.
if (!isset($sandbox['webform2pdf_convert'])) {
db_change_field('webform2pdf', 'format', 'format', array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
));
$sandbox['webform2pdf_convert'] = 0;
$sandbox['webform2pdf_count'] = db_query("SELECT COUNT(nid) FROM {webform2pdf}")
->fetchField();
}
else {
$result = db_select('filter_format', 'f')
->fields('f', array(
'format',
))
->condition('status', 0, '>')
->execute();
$i = 0;
while ($filter = $result
->fetchAssoc()) {
$i++;
$filters[$i] = $filter['format'];
}
$results = db_query_range("SELECT nid, format, p_body FROM {webform2pdf} ORDER BY nid", $sandbox['webform2pdf_convert'], 100);
foreach ($results as $setting) {
$node = node_load($setting->nid);
foreach ($node->webform['components'] as $component) {
if ($component['type'] == 'select') {
$tokens['%' . $component['form_key'] . '-nl'] = '%nl[' . $component['form_key'] . ']';
$tokens['%' . $component['form_key'] . '-all'] = '%all[' . $component['form_key'] . ']';
$tokens['%' . $component['form_key'] . '-all-nl'] = '%all_nl[' . $component['form_key'] . ']';
}
$tokens['%' . $component['form_key']] = '%value[' . $component['form_key'] . ']';
}
$p_body = strtr($setting->p_body, $tokens);
db_update('webform2pdf')
->fields(array(
'format' => $filters[$setting->format],
))
->fields(array(
'p_body' => $p_body,
))
->condition('nid', $setting->nid)
->execute();
$sandbox['webform2pdf_convert']++;
}
$sandbox['#finished'] = $sandbox['webform2pdf_convert'] / $sandbox['webform2pdf_count'];
if ($sandbox['webform2pdf_convert'] == $sandbox['webform2pdf_count']) {
return t('Migrated webform to pdf format settings');
}
}
}