function uc_product_feature_edit in Ubercart 7.3
Handles adding or editing product features.
1 string reference to 'uc_product_feature_edit'
- uc_product_menu in uc_product/
uc_product.module - Implements hook_menu().
File
- uc_product/
uc_product.admin.inc, line 157 - Product administration menu items.
Code
function uc_product_feature_edit($node, $fid, $pfid) {
$func = uc_product_feature_data($fid, 'callback');
if (function_exists($func)) {
$form_state = array(
'build_info' => array(
'args' => array(
$node,
),
),
'wrapper_callback' => 'uc_product_feature_form',
);
if ($pfid == 'add') {
$form_state['build_info']['args'][] = array();
$build = drupal_build_form($func, $form_state);
}
elseif (intval($pfid) > 0) {
$feature = uc_product_feature_load($pfid);
if (isset($feature)) {
$form_state['build_info']['args'][] = $feature;
$build = drupal_build_form($func, $form_state);
}
}
else {
drupal_goto('node/' . $node->nid . '/edit/features');
}
}
else {
drupal_set_message(t('Error: Attempted to add a non-existent product feature type.'), 'error');
drupal_goto('node/' . $node->nid . '/edit/features');
}
if (empty($build)) {
drupal_set_message(t('Error: No form data was returned for that operation.'), 'error');
drupal_goto('node/' . $node->nid . '/edit/features');
}
return $build;
}