function uc_product_power_tools_class_settings in Ubercart Product Power Tools 7
Same name and namespace in other branches
- 6.2 uc_product_power_tools.admin.inc \uc_product_power_tools_class_settings()
- 6 uc_product_power_tools.admin.inc \uc_product_power_tools_class_settings()
Administration settings form.
See also
uc_product_power_tools_class_settings()
1 string reference to 'uc_product_power_tools_class_settings'
- uc_product_power_tools_menu in ./
uc_product_power_tools.module - Implements hook_menu().
File
- ./
uc_product_power_tools.admin.inc, line 125 - Settings and config for uc_product_power_tools module.
Code
function uc_product_power_tools_class_settings() {
$tmp = explode("/", $_GET['q']);
$prodclass = $tmp[4];
$data = db_query('SELECT * FROM {uc_power_tools} WHERE pcid = :pcid', array(
':pcid' => $prodclass,
))
->fetchAssoc();
$class = $prodclass != 'product' ? db_query('SELECT name from {uc_product_classes} WHERE pcid = :pcid', array(
':pcid' => $prodclass,
))
->fetchAssoc() : array(
'name' => 'Default Ubercart Product Content Type',
);
$sign_flag = variable_get('uc_sign_after_amount', FALSE);
$currency_sign = variable_get('uc_currency_sign', '$');
// ------------
// Issue #883544
// Feature Request
// Ability to clone an existing product class' settings.
//
$form = array();
if (count(_get_available_clone_classes($prodclass)) > 0) {
$form['clone_class'] = array(
'#type' => 'fieldset',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#title' => t('Clone Settings of Existing Product Class'),
);
$form['clone_class']['clone_from'] = array(
'#type' => 'radios',
'#default_value' => 0,
'#options' => _get_available_clone_classes($prodclass),
);
$form['clone_class']['clone_submit'] = array(
'#type' => 'submit',
'#value' => t('Clone'),
);
}
// ------------
$form['product_class'] = array(
'#type' => 'hidden',
'#value' => $prodclass,
);
$form['power_tools'] = array(
'#type' => 'fieldset',
'#title' => t('@class "Power Tools" Settings', array(
'@class' => $class['name'],
)),
'#collapsible' => FALSE,
);
$form['power_tools']['autosku'] = array(
'#type' => 'fieldset',
'#title' => t('Auto SKU Generation'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['autosku']['asku'] = array(
'#type' => 'radios',
'#default_value' => isset($data['asku']) ? $data['asku'] : 0,
'#options' => array(
0 => t('Show SKU field on product entry form'),
2 => t('Show SKU field, but for new products give the option to Automatically Generate from replacement pattern below:'),
3 => t('Disable (show but do not allow editing) SKU field and Automatically Generate from replacement pattern below:'),
1 => t('Hide SKU field and Automatically Generate from replacement pattern below:'),
),
);
$description = t('This string will be used as SKU.');
$description .= ' ' . t('Use the syntax [token] if you want to insert a replacement pattern.<br />Note: CCK Fields that are not assigned to products in this product class will return no value. If using the Auto Node Title module, [title] and [title-raw] will return "ant".');
$form['power_tools']['autosku']['asku_pattern'] = array(
'#type' => 'textarea',
'#title' => t('Pattern for the SKU'),
'#description' => $description,
'#default_value' => isset($data['asku_settings']) ? $data['asku_settings'] : '',
);
if (module_exists('token')) {
$form['power_tools']['autosku']['token_help'] = array(
'#title' => t('Replacement patterns'),
'#type' => 'fieldset',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#description' => t('Prefer raw-text replacements for text to avoid problems with HTML entities!'),
);
$form['power_tools']['autosku']['token_help']['help'] = array(
'#theme' => 'token_tree',
'#token_types' => array(
'node',
'user',
),
);
}
$form['power_tools']['pricing'] = array(
'#type' => 'fieldset',
'#title' => t('Prices'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['pricing']['lp'] = array(
'#type' => 'fieldset',
'#title' => t('List Price'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['pricing']['lp']['lponoff'] = array(
'#type' => 'radios',
'#default_value' => isset($data['lp']) ? $data['lp'] : 0,
'#options' => array(
t('Show List Price field on product entry form'),
t('Hide List Price field & Use Sell Price Value entered on product form'),
t('Hide List Price field & Use default value below:'),
t('Show List Price field & Use default value below:'),
),
);
$form['power_tools']['pricing']['lp']['lp_settings'] = array(
'#type' => 'textfield',
'#size' => 32,
'#title' => t('List price'),
'#required' => FALSE,
'#default_value' => isset($data['lp_settings']) ? $data['lp_settings'] : 0,
'#size' => 20,
'#maxlength' => 35,
'#field_prefix' => $sign_flag ? '' : $currency_sign,
'#field_suffix' => $sign_flag ? $currency_sign : '',
);
$form['power_tools']['pricing']['cost'] = array(
'#type' => 'fieldset',
'#title' => t('Cost'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['pricing']['cost']['costonoff'] = array(
'#type' => 'radios',
'#default_value' => isset($data['cost']) ? $data['cost'] : 0,
'#options' => array(
t('Show Cost field on product entry form'),
t('Hide Cost field & Use default value below:'),
t('Show Cost field & Use default value below:'),
),
);
$form['power_tools']['pricing']['cost']['cost_settings'] = array(
'#type' => 'textfield',
'#size' => 32,
'#title' => t('Cost'),
'#required' => FALSE,
'#default_value' => isset($data['cost_settings']) ? $data['cost_settings'] : 0,
'#size' => 20,
'#maxlength' => 35,
'#field_prefix' => $sign_flag ? '' : $currency_sign,
'#field_suffix' => $sign_flag ? $currency_sign : '',
);
$form['power_tools']['pricing']['sp'] = array(
'#type' => 'fieldset',
'#title' => t('Sell Price'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['pricing']['sp']['sponoff'] = array(
'#type' => 'radios',
'#default_value' => isset($data['sp']) ? $data['sp'] : 0,
'#options' => array(
t('Show Sell Price field on product entry form'),
t('Hide Sell Price field & Use default value below:'),
t('Show Sell Price field & Use default value below:'),
),
);
$form['power_tools']['pricing']['sp']['sp_settings'] = array(
'#type' => 'textfield',
'#size' => 32,
'#title' => t('Sell price'),
'#required' => FALSE,
'#default_value' => isset($data['sp_settings']) ? $data['sp_settings'] : 0,
'#size' => 20,
'#maxlength' => 35,
'#field_prefix' => $sign_flag ? '' : $currency_sign,
'#field_suffix' => $sign_flag ? $currency_sign : '',
);
$form['power_tools']['qtys'] = array(
'#type' => 'fieldset',
'#title' => t('Quantities'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['qtys']['dq'] = array(
'#type' => 'fieldset',
'#title' => t('Default Quantity'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['qtys']['dq']['dqonoff'] = array(
'#type' => 'radios',
'#default_value' => isset($data['dq']) ? $data['dq'] : 0,
'#options' => array(
t('Show Default Quantity field on product entry form'),
t('Hide Default Quantity field & Use default value below:'),
t('Show Default Quantity field & Use default value below:'),
),
);
$form['power_tools']['qtys']['dq']['dq_settings'] = array(
'#type' => 'textfield',
'#size' => 32,
'#title' => t('Default Quantity'),
'#description' => t('Default quantity to add to cart'),
'#required' => FALSE,
'#default_value' => isset($data['dq_settings']) ? $data['dq_settings'] : 1,
'#size' => 20,
);
$form['power_tools']['qtys']['pq'] = array(
'#type' => 'fieldset',
'#title' => t('Package Quantity'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['qtys']['pq']['pqonoff'] = array(
'#type' => 'radios',
'#default_value' => isset($data['pq']) ? $data['pq'] : 0,
'#options' => array(
t('Show Default Package Quantity field on product entry form'),
t('Hide Default Package Quantity field & Use default value below:'),
t('Show Default Package Quantity field & Use default value below:'),
),
);
$form['power_tools']['qtys']['pq']['pq_settings'] = array(
'#type' => 'textfield',
'#size' => 32,
'#title' => t('Package Quantity'),
'#description' => t('For a package containing only this product, how many are in it?'),
'#required' => FALSE,
'#default_value' => isset($data['pq_settings']) ? $data['pq_settings'] : 1,
'#size' => 20,
);
$form['power_tools']['lpos'] = array(
'#type' => 'fieldset',
'#title' => t('List Position'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['lpos']['lposonoff'] = array(
'#type' => 'radios',
'#default_value' => isset($data['lpos']) ? $data['lpos'] : 0,
'#options' => array(
t('Show List Position field on product entry form'),
t('Hide List Position field & Use default value below:'),
),
);
$form['power_tools']['lpos']['lpos_settings'] = array(
'#type' => 'weight',
'#delta' => 25,
'#title' => t('List Position'),
'#description' => t('List Position weight of products of this class.'),
'#required' => FALSE,
'#default_value' => isset($data['lpos_settings']) ? $data['lpos_settings'] : 0,
);
$form['power_tools']['ship'] = array(
'#type' => 'fieldset',
'#title' => t('Shipping'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['ship']['ship_settings'] = array(
'#type' => 'radios',
'#default_value' => isset($data['ship']) ? $data['ship'] : 0,
'#options' => array(
0 => t('Product is Shippable. Show checkbox & all shipping fields on product entry form & use default values below:'),
1 => t('Product is Shippable. Hide checkbox, but show other shipping fields on product entry form & use default values below:'),
5 => t('Product is Shippable. Hide checkbox & all shipping fields on product entry form & use default values below:'),
2 => t('Product is NOT Shippable. Hide checkbox, but show other shipping fields on product entry form & use default values below:'),
3 => t('Product is NOT Shippable. Hide checkbox & all shipping fields on product entry form & use default values below:'),
4 => t('Show checkbox but hide all shipping fields on product entry form & use default values below:'),
),
);
$form['power_tools']['ship']['weight'] = array(
'#weight' => 15,
'#attributes' => array(
'class' => array(
'uc-inline-form',
'clearfix',
),
),
);
$form['power_tools']['ship']['weight']['weight'] = array(
'#type' => 'textfield',
'#title' => t('Weight'),
'#default_value' => isset($data['weight']) ? $data['weight'] : 0,
'#size' => 10,
'#maxlength' => 15,
);
$units = array(
'lb' => t('Pounds'),
'kg' => t('Kilograms'),
'oz' => t('Ounces'),
'g' => t('Grams'),
);
$form['power_tools']['ship']['weight']['weight_units'] = array(
'#type' => 'select',
'#title' => t('Unit of measurement'),
'#default_value' => isset($data['weight_units']) ? $data['weight_units'] : variable_get('uc_weight_unit', 'lb'),
'#options' => $units,
);
$form['power_tools']['ship']['dimensions'] = array(
'#type' => 'fieldset',
'#title' => t('Dimensions'),
'#description' => t('Physical dimensions of the packaged product.'),
'#weight' => 20,
'#attributes' => array(
'class' => array(
'uc-inline-form',
'clearfix',
),
),
);
$form['power_tools']['ship']['dimensions']['length_units'] = array(
'#type' => 'select',
'#title' => t('Units of measurement'),
'#options' => array(
'in' => t('Inches'),
'ft' => t('Feet'),
'cm' => t('Centimeters'),
'mm' => t('Millimeters'),
),
'#default_value' => isset($data['length_units']) ? $data['length_units'] : variable_get('uc_length_unit', 'in'),
);
$form['power_tools']['ship']['dimensions']['length'] = array(
'#type' => 'textfield',
'#title' => t('Length'),
'#default_value' => isset($data['length']) ? $data['length'] : 0,
'#size' => 10,
);
$form['power_tools']['ship']['dimensions']['width'] = array(
'#type' => 'textfield',
'#title' => t('Width'),
'#default_value' => isset($data['width']) ? $data['width'] : 0,
'#size' => 10,
);
$form['power_tools']['ship']['dimensions']['height'] = array(
'#type' => 'textfield',
'#title' => t('Height'),
'#default_value' => isset($data['height']) ? $data['height'] : 0,
'#size' => 10,
);
$stock_disabled = !module_exists('uc_stock');
$form['power_tools']['stock'] = array(
'#type' => 'fieldset',
'#title' => t('Stock'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['power_tools']['stock']['stockonoff'] = array(
'#type' => 'radios',
'#options' => array(
t('Do not set stock level'),
t('Set stock level using default value below'),
),
'#default_value' => isset($data['stock']) ? $data['stock'] : 0,
'#description' => t('If setting a default stock level, stock will be set to active for products of this type.'),
'#disabled' => $stock_disabled,
);
$form['power_tools']['stock']['stock_settings'] = array(
'#type' => 'textfield',
'#title' => t('Default Stock'),
'#description' => t('Default Stock level for products of this class.'),
'#required' => FALSE,
'#default_value' => isset($data['stock_settings']) ? $data['stock_settings'] : 0,
'#size' => 20,
'#disabled' => $stock_disabled,
);
$form['power_tools']['stock']['stock_threshold'] = array(
'#type' => 'textfield',
'#title' => t('Notification Threshold'),
'#description' => t('When stock drops below this level you will be notified.'),
'#required' => FALSE,
'#default_value' => isset($data['stock_threshold']) ? $data['stock_threshold'] : 0,
'#size' => 20,
'#disabled' => $stock_disabled,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
'#weight' => 10,
);
return $form;
}