$vals = array();
$kval = str_replace('.', '_', $key);
if (is_array($value['vals'])) {
- for ($i = 0; $i < count($value['vals']); $i++) {
- $cond[] = "{$key} = :{$kval}{$i}";
- $vals[":{$kval}{$i}"] = $value['vals'][$i];
+ if ($value['operator'] == 'IN') {
+ // IN operator is treated separately
+ $tcond = [];
+ for ($i = 0; $i < count($value['vals']); $i++) {
+ $tcond[] = ":{$kval}{$i}";
+ $vals[":{$kval}{$i}"] = $value['vals'][$i];
+ }
+ $cond[] = "{$key} {$value['operator']} (" . implode(',', $tcond) . ')';
+ } else {
+ // other operators
+ for ($i = 0; $i < count($value['vals']); $i++) {
+ $cond[] = "{$key} = :{$kval}{$i}";
+ $vals[":{$kval}{$i}"] = $value['vals'][$i];
+ }
}
} else {
$cond[] = "$key = :$kval";
$objectuuid = $this->Request->contains('objectuuid') && $misc->isValidName($this->Request['objectuuid']) ? $this->Request['objectuuid'] : null;
$objectstatus = $this->Request->contains('objectstatus') && $misc->isValidState($this->Request['objectstatus']) ? $this->Request['objectstatus'] : null;
$jobname = $this->Request->contains('jobname') && $misc->isValidName($this->Request['jobname']) ? $this->Request['jobname'] : null;
+ $jobids = $this->Request->contains('jobids') && $misc->isValidIdsList($this->Request['jobids']) ? explode(',', $this->Request['jobids']) : [];
$params = [];
if (!empty($objecttype)) {
$params['Job.Name']['operator'] = '';
$params['Job.Name']['vals'] = $jobname;
}
+ if (count($jobids) > 0) {
+ $params['Job.JobId']['operator'] = 'IN';
+ $params['Job.JobId']['vals'] = $jobids;
+ }
+
$objects = $this->getModule('object')->getObjects($params, $limit);
$this->output = $objects;
$this->error = ObjectError::ERROR_NO_ERRORS;