Example #1
0
 function initData($blockData)
 {
     $this->_label = $blockData['label'];
     if (isset($blockData['fields'])) {
         $this->_fields = Mobile_UI_FieldModel::buildModelsFromResponse($blockData['fields']);
     }
 }
Example #2
0
 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;
 }