/** * @param $type * @return mixed */ public function findAll($type) { $items = $this->connection->selectQuery()->table($this->table_map[$type])->execute(); if ($type === ResourceType::TV) { $result = []; foreach ($items as $key => $item) { $item = (array) $item; $t_items = $this->connection->selectQuery()->table($this->tv_templates_table)->fields(['templateid'])->where('tmplvarid', $item['id'])->execute(); $t_values = []; foreach ($t_items->asArray() as $t_item) { $t_values[] = $t_item->templateid; } $item['templates'] = $t_values; $c_items = $this->connection->selectQuery()->table($this->tv_content_values_table)->fields(['contentid', 'value'])->where('tmplvarid', $item['id'])->execute(); $c_values = []; foreach ($c_items->asArray() as $c_item) { $c_values[$c_item->contentid] = StringUtil::specialEscape($c_item->value); } $item['content_values'] = $c_values; $result[$key] = (object) $item; } $items = $result; } return $items; }
protected function specialEscape($str) { return StringUtil::specialEscape($str); }