function word_link_exchange_export_form_submit in Word Link 8
Same name and namespace in other branches
- 7.2 modules/word_link_exchange/word_link_exchange.module \word_link_exchange_export_form_submit()
- 7 modules/word_link_exchange/word_link_exchange.module \word_link_exchange_export_form_submit()
Export for word_link_exchange_export_form.
File
- modules/
word_link_exchange/ word_link_exchange.module, line 421 - Code for the Word link exchange module.
Code
function word_link_exchange_export_form_submit($form, &$form_state) {
// Get all words from DB.
$links = word_link_get_link();
// Get right delimiter.
switch ($form_state['values']['delimiter']) {
case 'comma':
$delimiter = ',';
break;
case 'semicolon':
$delimiter = ';';
break;
case 'tabulation':
$delimiter = "\t";
break;
case 'pipe':
$delimiter = '|';
break;
case 'space':
$delimiter = ' ';
break;
case 'currency_sign':
$delimiter = '¤';
break;
case 'custom_delimiter':
$delimiter = $form_state['values']['delimiter_custom'];
break;
}
// Get right line ending.
switch ($form_state['values']['line_ending']) {
case 'unix':
$line_ending = "\n";
break;
case 'mac':
$line_ending = "\r";
break;
case 'ms':
$line_ending = "\r\n";
break;
}
// Check if there is write access and prepare file.
$filename = file_unmanaged_save_data('', 'public://' . 'word_link_' . format_date(REQUEST_TIME, 'custom', 'd\\_m\\_Y\\TH\\_i') . '.csv', 'FILE_EXISTS_REPLACE');
if ($filename) {
$file = (object) array(
'filename' => basename($filename),
'filepath' => drupal_realpath($filename),
'filesize' => filesize($filename),
);
}
else {
drupal_set_message(t('The file could not be created.'), 'error');
return;
}
$operations = array();
foreach ($links as $link) {
$values = array(
'text',
'case_sensitive',
'url',
'url_title',
'class',
'visibility',
'except',
);
$string = '';
foreach ($values as $value) {
if ($value != 'except') {
$string .= $link->{$value};
$string .= $delimiter;
}
else {
$string .= '"' . str_replace(array(
"\r\n",
"\n",
"\r",
), '|', trim($link->{$value})) . '"';
$string .= $line_ending;
}
}
$operations[] = array(
'word_link_exchange_write_file',
array(
$string,
$file,
),
);
}
$batch = array(
'title' => t('Exporting links...'),
'operations' => $operations,
'finished' => 'word_link_exchange_export_batch_finish',
);
batch_set($batch);
}