Example #1
0
 function process(Mobile_API_Request $request)
 {
     $mode = $request->get('mode');
     $module = $this->cachedModule($request->get('module'));
     $searchIn = $this->cachedSearchFields($module->name());
     if ($mode == 'update') {
         $searchIn = array();
         foreach ($_REQUEST as $k => $v) {
             if (preg_match("/field_(.*)/i", $k, $m)) {
                 $searchIn[] = vtlib_purify($m[1]);
             }
         }
         $this->cacheSearchFields($module->name(), $searchIn);
         header("Location: index.php?_operation=listModuleRecords&module={$module->name()}&mode=search");
         exit;
     }
     $request->setDefault('record', "{$module->id()}x0");
     $wsResponse = parent::process($request);
     $wsResponseResult = $wsResponse->getResult();
     $templateRecord = Mobile_UI_ModuleRecordModel::buildModelFromResponse($wsResponseResult['record']);
     $viewer = new Mobile_UI_Viewer();
     $viewer->assign('_MODULE', $module);
     $viewer->assign('_RECORD', $templateRecord);
     $viewer->assign('_SEARCHIN', $searchIn);
     $viewer->assign('_SEARCHIN_ALL', empty($searchIn));
     $response = $viewer->process('generic/SearchConfig.tpl');
     return $response;
 }