/*
public static function storeSpecificationsById($productId, $specsArray) {
if ((int)$productId > 0) {
$db =Factory::getDBO();
$query = ' DELETE '
.' FROM #__phocacart_specifications'
. ' WHERE product_id = '. (int)$productId;
$db->setQuery($query);
$db->execute();
if (!empty($specsArray)) {
$values = array();
foreach($specsArray as $k => $v) {
// Don't store empty specification
if ($v['title'] == '') {
continue;
}
if(empty($v['alias'])) {
$v['alias'] = $v['title'];
}
$v['alias'] = PhocacartUtils::getAliasName($v['alias']);
if(empty($v['alias_value'])) {
$v['alias_value'] = $v['value'];
}
// When no value, then no alias
if ($v['alias_value'] != '') {
$v['alias_value'] = PhocacartUtils::getAliasName($v['alias_value']);
}
if(empty($v['group_id'])) {
$v['group_id'] = 0;
}
// correct simple xml
if (empty($v['title'])) {$v['title'] = '';}
if (empty($v['alias'])) {$v['alias'] = '';}
if (empty($v['value'])) {$v['value'] = '';}
if (empty($v['alias_value'])) {$v['alias_value'] = '';}
if (empty($v['group_id'])) {$v['group_id'] = '';}
$values[] = '('.(int)$productId.', '.$db->quote($v['title']).', '.$db->quote($v['alias']).', '.$db->quote($v['value']).', '.$db->quote($v['alias_value']).', '.(int)$v['group_id'].')';
}
if (!empty($values)) {
$valuesString = implode(',', $values);
$query = ' INSERT INTO #__phocacart_specifications (product_id, title, alias, value, alias_value, group_id)'
.' VALUES '.(string)$valuesString;
$db->setQuery($query);
$db->execute();
}
}
}
}
*/
public static function getSpecificationGroupsAndSpecifications($productId)
{
$db = Factory::getDBO();
$query = 'SELECT s.id, s.title, s.alias, s.value, s.alias_value, s.image, s.image_medium, s.image_small, s.color, g.id as groupid, g.title as grouptitle' . ' FROM #__phocacart_specifications AS s' . ' LEFT JOIN #__phocacart_specification_groups AS g ON g.id = s.group_id' . ' WHERE s.product_id = ' . (int) $productId . ' ORDER by g.ordering';
$db->setQuery($query);
$specs = $db->loadObjectList();
$specsA = array();
if (!empty($specs)) {
foreach ($specs as $k => $v) {
$specsA[$v->groupid][0] = $v->grouptitle;
$specsA[$v->groupid][$v->id]['title'] = $v->title;
$specsA[$v->groupid][$v->id]['value'] = $v->value;
}
}
return $specsA;
}