public function canDisplayAttributes()
{
$display_attributes = $this->params->get('display_attributes', 1);
$display_attributes_access_levels = $this->params->get('display_attributes_access_levels', '');
// 0) Display price for no one
if ($display_attributes == 0) {
return false;
}
// 1) Display price for all
if ($display_attributes == 1) {
return true;
}
// 2) Based on access levels
if ($display_attributes == 2) {
$levels = $this->user->getAuthorisedViewLevels();
if (!is_array($display_attributes_access_levels)) {
if (in_array((int) $display_attributes_access_levels, $levels)) {
return true;
}
} else {
if (count(array_intersect($display_attributes_access_levels, $levels))) {
return true;
}
}
return false;
}
// 3) Based on customer group
// If user is inside at least on customer group which allows displaying the attributes, the attributes can be displayed for him
if ($display_attributes == 3) {
$userGroups = PhocacartGroup::getGroupsById($this->user->id, 1, 2);
if (!empty($userGroups)) {
foreach ($userGroups as $k => $v) {
if ($v['display_attributes'] == 1 && $v['published'] == 1) {
return true;
}
}
}
return false;
}
return true;
// As default, display attributes
}