diff --git a/uc_attribute/uc_attribute.admin.inc b/uc_attribute/uc_attribute.admin.inc index 7359e0a..33f575e 100644 --- a/uc_attribute/uc_attribute.admin.inc +++ b/uc_attribute/uc_attribute.admin.inc @@ -22,9 +22,9 @@ function uc_attribute_admin() { $display_types = _uc_attribute_display_types(); $query = db_select('uc_attributes', 'a')->extend('PagerDefault')->extend('TableSort') - ->fields('a', array('aid', 'name', 'label', 'required', 'ordering', 'display')) - ->orderByHeader($header) - ->limit(30); + ->fields('a', array('aid', 'name', 'label', 'required', 'ordering', 'display')) + ->orderByHeader($header) + ->limit(30); $rows = array(); @@ -166,9 +166,7 @@ function uc_attribute_delete_confirm($form, &$form_state, $attribute) { $count = db_query("SELECT COUNT(*) FROM {uc_product_attributes} WHERE aid = :aid", array(':aid' => $attribute->aid))->fetchField(); - $output = confirm_form($form, t('Are you sure you want to delete the attribute %name?', array('%name' => $attribute->name)), - 'admin/store/products/attributes', format_plural($count, 'There is 1 product with this attribute.', 'There are @count products with this attribute.'), - t('Delete'), t('Cancel')); + $output = confirm_form($form, t('Are you sure you want to delete the attribute %name?', array('%name' => $attribute->name)), 'admin/store/products/attributes', format_plural($count, 'There is 1 product with this attribute.', 'There are @count products with this attribute.'), t('Delete'), t('Cancel')); return $output; } @@ -185,35 +183,35 @@ function uc_attribute_delete_confirm_submit($form, &$form_state) { if ($options) { db_delete('uc_class_attribute_options') - ->condition('oid', $options, 'IN') - ->execute(); + ->condition('oid', $options, 'IN') + ->execute(); db_delete('uc_product_options') - ->condition('oid', $options, 'IN') - ->execute(); + ->condition('oid', $options, 'IN') + ->execute(); } if ($nodes = db_query("SELECT nid FROM {uc_product_attributes} WHERE aid = :aid", array(':aid' => $attribute->aid))->fetchCol()) { db_delete('uc_product_adjustments') - ->condition('nid', $nodes, 'IN') - ->execute(); + ->condition('nid', $nodes, 'IN') + ->execute(); } db_delete('uc_class_attributes') - ->condition('aid', $form_state['values']['aid']) - ->execute(); + ->condition('aid', $form_state['values']['aid']) + ->execute(); db_delete('uc_product_attributes') - ->condition('aid', $form_state['values']['aid']) - ->execute(); + ->condition('aid', $form_state['values']['aid']) + ->execute(); db_delete('uc_attribute_options') - ->condition('aid', $form_state['values']['aid']) - ->execute(); + ->condition('aid', $form_state['values']['aid']) + ->execute(); db_delete('uc_attributes') - ->condition('aid', $form_state['values']['aid']) - ->execute(); + ->condition('aid', $form_state['values']['aid']) + ->execute(); drupal_set_message(t('Product attribute deleted.')); @@ -255,7 +253,7 @@ function uc_attribute_options_form($form, &$form_state, $attribute) { '#price' => $data->price, ), 'weight' => array( - '#markup' => (string)$data->weight, + '#markup' => (string) $data->weight, ), 'ordering' => array( '#type' => 'weight', @@ -291,11 +289,11 @@ function uc_attribute_options_form($form, &$form_state, $attribute) { function uc_attribute_options_form_submit($form, &$form_state) { foreach ($form_state['values']['options'] as $oid => $option) { db_update('uc_attribute_options') - ->fields(array( - 'ordering' => $option['ordering'], - )) - ->condition('oid', $oid) - ->execute(); + ->fields(array( + 'ordering' => $option['ordering'], + )) + ->condition('oid', $oid) + ->execute(); } drupal_set_message(t('The changes have been saved.')); @@ -498,28 +496,28 @@ function uc_attribute_option_delete_confirm_submit($form, &$form_state) { $match = 'i:' . $form_state['values']['aid'] . ';s:' . strlen($form_state['values']['oid']) . ':"' . $form_state['values']['oid'] . '";'; db_delete('uc_product_adjustments') - ->condition('combination', '%' . db_like($match) . '%', 'LIKE') - ->execute(); + ->condition('combination', '%' . db_like($match) . '%', 'LIKE') + ->execute(); $select = db_select('uc_attribute_options', 'ao') - ->where('{uc_class_attribute_options}.oid = ao.oid') - ->condition('ao.oid', $form_state['values']['oid']); + ->where('{uc_class_attribute_options}.oid = ao.oid') + ->condition('ao.oid', $form_state['values']['oid']); $select->addExpression('1'); db_delete('uc_class_attribute_options') - ->condition('', $select, 'EXISTS') - ->execute(); + ->condition('', $select, 'EXISTS') + ->execute(); $select = db_select('uc_attribute_options', 'ao') - ->where('{uc_product_options}.oid = ao.oid') - ->condition('ao.oid', $form_state['values']['oid']); + ->where('{uc_product_options}.oid = ao.oid') + ->condition('ao.oid', $form_state['values']['oid']); $select->addExpression('1'); db_delete('uc_product_options') - ->condition('', $select, 'EXISTS') - ->execute(); + ->condition('', $select, 'EXISTS') + ->execute(); db_delete('uc_attribute_options') - ->condition('oid', $form_state['values']['oid']) - ->execute(); + ->condition('oid', $form_state['values']['oid']) + ->execute(); } $form_state['redirect'] = 'admin/store/products/attributes/' . $form_state['values']['aid'] . '/options'; @@ -759,22 +757,22 @@ function uc_object_attributes_form_submit($form, &$form_state) { $id_value = $form_state['values']['id']; $select = db_select('uc_attribute_options', 'ao') - ->fields('ao', array('oid')) - ->condition('ao.aid', $remove_aids, 'IN'); + ->fields('ao', array('oid')) + ->condition('ao.aid', $remove_aids, 'IN'); db_delete($opt_table) - ->condition('oid', $select, 'IN') - ->condition($id, $id_value) - ->execute(); + ->condition('oid', $select, 'IN') + ->condition($id, $id_value) + ->execute(); db_delete($attr_table) - ->condition($id, $id_value) - ->condition('aid', $remove_aids, 'IN') - ->execute(); + ->condition($id, $id_value) + ->condition('aid', $remove_aids, 'IN') + ->execute(); if ($form_state['values']['type'] == 'product') { db_delete('uc_product_adjustments') - ->condition('nid', $id_value) - ->execute(); + ->condition('nid', $id_value) + ->execute(); } drupal_set_message(format_plural(count($remove_aids), '1 attribute has been removed.', '@count attributes have been removed.')); @@ -802,7 +800,7 @@ function uc_object_attributes_form_submit($form, &$form_state) { } $select = db_select('uc_attributes', 'a') - ->condition('aid', $aid); + ->condition('aid', $aid); $select->addExpression(':id', $id, array(':id' => $form_state['values']['id'])); $select->addField('a', 'aid'); $select->addField('a', 'label'); @@ -812,15 +810,15 @@ function uc_object_attributes_form_submit($form, &$form_state) { $select->addField('a', 'display'); db_insert($attr_table) - ->from($select) - ->execute(); + ->from($select) + ->execute(); } $num = count(array_filter($form_state['values']['add_attributes'])); if ($num > 0) { if ($form_state['values']['type'] == 'product') { db_delete('uc_product_adjustments') - ->condition('nid', $form_state['values']['id']) - ->execute(); + ->condition('nid', $form_state['values']['id']) + ->execute(); } drupal_set_message(format_plural($num, '1 attribute has been added.', '@count attributes have been added.')); } @@ -884,11 +882,11 @@ function uc_object_options_form($form, &$form_state, $object, $type) { $options = array(); $query = db_select('uc_attribute_options', 'ao') - ->fields('ao', array( - 'aid', - 'oid', - 'name', - )); + ->fields('ao', array( + 'aid', + 'oid', + 'name', + )); $query->leftJoin($table, 'po', "ao.oid = po.oid AND po.$id_type = :id", array(':id' => $id)); $query->addField('ao', 'cost', 'default_cost'); @@ -897,18 +895,18 @@ function uc_object_options_form($form, &$form_state, $object, $type) { $query->addField('ao', 'ordering', 'default_ordering'); $query->fields('po', array( - 'cost', - 'price', - 'weight', - 'ordering', - )) - ->addExpression('CASE WHEN po.ordering IS NULL THEN 1 ELSE 0 END', 'null_order'); + 'cost', + 'price', + 'weight', + 'ordering', + )) + ->addExpression('CASE WHEN po.ordering IS NULL THEN 1 ELSE 0 END', 'null_order'); $query->condition('aid', $attribute->aid) - ->orderBy('null_order') - ->orderBy('po.ordering') - ->orderBy('default_ordering') - ->orderBy('ao.name'); + ->orderBy('null_order') + ->orderBy('po.ordering') + ->orderBy('default_ordering') + ->orderBy('ao.name'); $result = $query->execute(); foreach ($result as $option) { @@ -1075,18 +1073,22 @@ function theme_uc_product_attributes($variables) { foreach (element_children($attributes) as $key) { $optionstr = ''; - foreach ((array)$attributes[$key]['#options'] as $option) { - // We only need to allow translation from the second option onward - if (empty($optionstr)) { - $optionstr .= $option; - } - else { - $optionstr .= t(', !option', array('!option' => $option)); + //BM In the case of uc_attribute_files we come here with both rendered attributes and unrendered attributes, + //only theme the unrendered attributes since at checkout there is no need to link back to the file + if (!empty($attributes[$key]['#attribute_name'])) { // <---BM added this IF + foreach ((array) $attributes[$key]['#options'] as $option) { + // We only need to allow translation from the second option onward + if (empty($optionstr)) { + $optionstr .= $option; + } + else { + $optionstr .= t(', !option', array('!option' => $option)); + } } - } - if ($optionstr != '') { - $option_rows[$key] = t('@attribute: @option', array('@attribute' => $attributes[$key]['#attribute_name'], '@option' => $optionstr)); + if ($optionstr != '') { + $option_rows[$key] = t('@attribute: @option', array('@attribute' => $attributes[$key]['#attribute_name'], '@option' => $optionstr)); + } } } @@ -1149,19 +1151,19 @@ function uc_object_options_form_submit($form, &$form_state) { foreach ($form_state['values']['attributes'] as $attribute) { if (isset($attribute['default'])) { db_update($attr_table) - ->fields(array( - 'default_option' => $attribute['default'], - )) - ->condition($id, $form_state['values']['id']) - ->condition('aid', $attribute['aid']) - ->execute(); + ->fields(array( + 'default_option' => $attribute['default'], + )) + ->condition($id, $form_state['values']['id']) + ->condition('aid', $attribute['aid']) + ->execute(); } if (isset($attribute['options'])) { db_delete($opt_table) - ->condition($id, $form_state['values']['id']) - ->condition('oid', array_keys($attribute['options']), 'IN') - ->execute(); + ->condition($id, $form_state['values']['id']) + ->condition('oid', array_keys($attribute['options']), 'IN') + ->execute(); foreach ($attribute['options'] as $oid => $option) { if ($option['select']) { @@ -1174,9 +1176,9 @@ function uc_object_options_form_submit($form, &$form_state) { $aid = $attribute['aid']; $match = 'i:' . $aid . ';s:' . strlen($oid) . ':"' . $oid . '";'; db_delete('uc_product_adjustments') - ->condition('nid', $form_state['values']['id']) - ->condition('combination', '%' . db_like($match) . '%', 'LIKE') - ->execute(); + ->condition('nid', $form_state['values']['id']) + ->condition('combination', '%' . db_like($match) . '%', 'LIKE') + ->execute(); } } } @@ -1207,19 +1209,19 @@ function uc_product_adjustments_form($form, &$form_state, $node) { $query->leftJoin('uc_attribute_options', 'ao', 'a.aid = ao.aid'); $query->leftJoin('uc_product_options', 'po', 'ao.oid = po.oid AND po.nid = :po_nid', array(':po_nid' => $nid)); $result = $query->fields('pa', array('nid', 'aid', 'ordering', 'display')) - ->fields('a', array('name', 'ordering', 'aid')) - ->fields('ao', array('aid')) - ->condition('pa.nid', $nid) - ->having('COUNT(po.oid) > 0') - ->groupBy('ao.aid') - ->groupBy('pa.aid') - ->groupBy('pa.display') - ->groupBy('a.name') - ->groupBy('pa.ordering') - ->groupBy('a.ordering') - ->groupBy('pa.nid') - ->addTag('uc_product_adjustments_form') - ->execute(); + ->fields('a', array('name', 'ordering', 'aid')) + ->fields('ao', array('aid')) + ->condition('pa.nid', $nid) + ->having('COUNT(po.oid) > 0') + ->groupBy('ao.aid') + ->groupBy('pa.aid') + ->groupBy('pa.display') + ->groupBy('a.name') + ->groupBy('pa.ordering') + ->groupBy('a.ordering') + ->groupBy('pa.nid') + ->addTag('uc_product_adjustments_form') + ->execute(); $i = 1; $attribute_names = ''; @@ -1227,7 +1229,7 @@ function uc_product_adjustments_form($form, &$form_state, $node) { $values = array(); $query = db_select('uc_product_options', "po$i")->extend('PagerDefault') - ->limit(20); + ->limit(20); $attribute_ids = array(); foreach ($result as $prod_attr) { @@ -1241,8 +1243,8 @@ function uc_product_adjustments_form($form, &$form_state, $node) { $query->addField("po$i", 'ordering', "ordering$i"); $query->condition("ao$i.aid", $prod_attr->aid) - ->orderBy("po$i.ordering") - ->orderBy("ao$i.name"); + ->orderBy("po$i.ordering") + ->orderBy("ao$i.name"); ++$i; $attribute_names .= '' . check_plain($prod_attr->name) . ''; @@ -1350,20 +1352,20 @@ function uc_product_adjustments_form_submit($form, &$form_state) { foreach ($form_state['values']['body'] as $value) { if (!empty($value['model']) && $value['model'] != $form_state['values']['default']) { db_merge('uc_product_adjustments') - ->key(array( - 'nid' => $form_state['values']['nid'], - 'combination' => $value['combo_array'], - )) - ->fields(array( - 'model' => $value['model'], - )) - ->execute(); + ->key(array( + 'nid' => $form_state['values']['nid'], + 'combination' => $value['combo_array'], + )) + ->fields(array( + 'model' => $value['model'], + )) + ->execute(); } else { db_delete('uc_product_adjustments') - ->condition('nid', $form_state['values']['nid']) - ->condition('combination', $value['combo_array']) - ->execute(); + ->condition('nid', $form_state['values']['nid']) + ->condition('combination', $value['combo_array']) + ->execute(); } } drupal_set_message(t('Product adjustments have been saved.'));