ruleName = JText::translate('VBOREPORTOPTIONSEXTRAS');
$this->ruleDescr = JText::translate('VBO_CONDTEXT_RULE_OPTS_DESCR');
$this->ruleId = basename(__FILE__);
}
/**
* Displays the rule parameters.
*
* @return void
*/
public function renderParams()
{
$this->vbo_app->loadSelect2();
$options = $this->loadOptions();
$current_options = $this->getParam('options', array());
?>
getProperty('rooms', array());
if (!is_array($opt_booked) || !count($opt_booked)) {
return false;
}
$all_opt_ids = array();
foreach ($opt_booked as $book) {
if (empty($book['optionals'])) {
continue;
}
$parts = explode(';', $book['optionals']);
foreach ($parts as $optvals) {
if (empty($optvals)) {
continue;
}
$parts_two = explode(':', $optvals);
array_push($all_opt_ids, (int)$parts_two[0]);
}
}
if (!count($all_opt_ids)) {
return false;
}
$allowed_options = $this->getParam('options', array());
$one_found = false;
foreach ($all_opt_ids as $idopt) {
if (in_array($idopt, $allowed_options)) {
$one_found = true;
break;
}
}
// return true if at least one option booked is in the parameters
return $one_found;
}
/**
* Internal function for this rule only.
*
* @return array
*/
protected function loadOptions()
{
$options = array();
$dbo = JFactory::getDbo();
$q = "SELECT `id`, `name` FROM `#__vikbooking_optionals` ORDER BY `name` ASC;";
$dbo->setQuery($q);
$dbo->execute();
if ($dbo->getNumRows()) {
$options = $dbo->loadAssocList();
}
return $options;
}
}