function initData($blockData) { $this->_label = $blockData['label']; if (isset($blockData['fields'])) { $this->_fields = Mobile_UI_FieldModel::buildModelsFromResponse($blockData['fields']); } }
function prepareWhereClause($fieldnames = false) { $whereClause = ''; $searchString = $this->criterias['search']; $fieldnames = isset($this->criterias['fieldnames']) ? $this->criterias['fieldnames'] : false; include_once 'include/Webservices/DescribeObject.php'; $describeInfo = vtws_describe($this->moduleName, $this->getUser()); $fieldinfos = array(); if ($fieldnames === false) { foreach ($describeInfo['fields'] as $fieldinfo) { $fieldmodel = new Mobile_UI_FieldModel(); $fieldmodel->initData($fieldinfo); if (!$fieldmodel->isReferenceType()) { $fieldinfos[$fieldinfo['name']] = $fieldmodel; } } } else { foreach ($describeInfo['fields'] as $fieldinfo) { if (in_array($fieldinfo['name'], $fieldnames)) { $fieldmodel = new Mobile_UI_FieldModel(); $fieldmodel->initData($fieldinfo); if (!$fieldmodel->isReferenceType()) { $fieldinfos[$fieldinfo['name']] = $fieldmodel; } } } } if (isset($fieldinfos['id'])) { unset($fieldinfos['id']); } if (!empty($fieldinfos)) { $fieldinfos['_'] = ''; // Hack to build the where clause at once $whereClause = sprintf("WHERE %s", implode(" LIKE '%{$searchString}%' OR ", array_keys($fieldinfos))); $whereClause = rtrim($whereClause, 'OR _'); } return $whereClause; }