function mobile_codes_process_arguments in Mobile Codes 5
Same name and namespace in other branches
- 6 mobile_codes.module \mobile_codes_process_arguments()
1 call to mobile_codes_process_arguments()
- mobile_codes_generate in ./
mobile_codes.module - Generate a mobile code
File
- ./
mobile_codes.module, line 178 - Mobile Codes core functions
Code
function mobile_codes_process_arguments(&$arguments) {
$values = array();
// Load preset
if (!isset($arguments['preset'])) {
$arguments['preset'] = 1;
}
if ($preset = mobile_codes_load_preset($arguments['preset'])) {
$arguments['preset'] = $preset->pid;
$arguments += $preset->data;
}
else {
drupal_set_message(t('Mobile Codes Preset "%preset" does not exist.', array(
'%preset' => $arguments['preset'],
)), 'warning');
return FALSE;
}
// Set Name
if (!isset($arguments['name'])) {
$arguments['name'] = '';
}
// Set Data type
switch ($arguments['data']) {
case 'link':
case 'text':
$values['mode'] = 'TEXT';
break;
case 'phone':
$values['mode'] = 'NUMBER';
break;
default:
$arguments['data'] = 'link';
$values['mode'] = 'TEXT';
break;
}
// Set Size
switch (drupal_strtolower($arguments['size'])) {
case 's':
case 'sml':
case 'small':
$values['size'] = array(
'dm' => '0.12',
'qr' => '2',
);
break;
case 'm':
case 'med':
case 'medium':
default:
$values['size'] = array(
'dm' => '0.18',
'qr' => '4',
);
break;
case 'l':
case 'lrg':
case 'large':
$values['size'] = array(
'dm' => '0.24',
'qr' => '6',
);
break;
}
// Set Code type
switch ($arguments['type']) {
case 'dm':
$values['text'] = array(
'data' => 'BARCODE',
'size' => 'X',
'margin_encoding' => '',
);
break;
case 'qr':
default:
$values['text'] = array(
'data' => 'DATA',
'size' => 'MODULE_SIZE',
'margin_encoding' => '&MARGIN=2&ENCODING=BYTE',
);
break;
}
return $values;
}