public function setCriterias($criterias, $json = false)
{
if (true === $json && is_string($criterias)) {
$this->_criterias = json_decode($criterias, true);
return $this;
}
$aListFieldsToGet = array('criteriaColumn', 'criteriaSort', 'criteriaShow', 'criteria', 'criteriaAndOrRow', 'criteriaAndOrColumn', 'rows', 'TableList');
$data = array();
$data['criteriaColumnCount'] = count($criterias['criteriaColumn']);
foreach ($aListFieldsToGet as $field) {
if (isset($criterias[$field])) {
$data[$field] = $criterias[$field];
}
}
/* Limit amount of rows */
if (!isset($data['rows'])) {
$data['rows'] = 0;
} else {
$data['rows'] = min(max(0, intval($data['rows'])), 100);
}
for ($i = 0; $i <= $data['rows']; $i++) {
$data['Or' . $i] = $criterias['Or' . $i];
}
$this->_criterias = $data;
return $this;
}