Example #1
0
 function process(Mobile_API_Request $request)
 {
     $response = new Mobile_API_Response();
     global $adb;
     global $current_language;
     $current_language = Mobile_API_Session::get('language');
     //never trust an entry
     $sSearch = vtlib_purify($request->get('term'));
     $sResult = "";
     $arrayName = array();
     $ModuleArray = explode(',', vtlib_purify($request->get('relmodule')));
     $ModuleLabels = array();
     foreach ($ModuleArray as $Module) {
         $translatedModule = getTranslatedString($Module, 'Mobile');
         $arrayName[$translatedModule] = array();
         $moduleWSID = Mobile_WS_Utils::getEntityModuleWSId($Module);
         // get related module fields
         $query = "SELECT tablename,fieldname,entityidfield FROM vtiger_entityname WHERE modulename = ?";
         $result = $adb->pquery($query, array($Module));
         if (!$result or $adb->num_rows($result) == 0) {
             $response->setError(1407, 'Error: Could not fetch entity info');
             return $response;
         }
         $tablename = $adb->query_result($result, 0, 'tablename');
         $fieldname = $adb->query_result($result, 0, 'fieldname');
         $entityidfield = $adb->query_result($result, 0, 'entityidfield');
         $fieldname = explode(',', $fieldname);
         $fieldname = $fieldname[0];
         //START DATABASE ACCOUNT SEARCH
         $minhaquery = "SELECT " . $fieldname . "," . $entityidfield . " FROM " . $tablename . " \n\t\t\t\t\t\t\tINNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = " . $tablename . "." . $entityidfield . "\n\t\t\t\t\t\t\tWHERE deleted = 0 AND " . $fieldname . " LIKE ? ORDER BY " . $fieldname . "";
         $params = $sSearch . "%";
         $result = $adb->pquery($minhaquery, array($params));
         if (!$result) {
             $response->setError(1408, 'Error: Could not fetch entity data');
             return $response;
         }
         for ($i = 0; $i < $adb->num_rows($result); $i++) {
             $arrayName[$translatedModule][] = array($moduleWSID . 'x' . $adb->query_result($result, $i, $entityidfield), decode_html($adb->query_result($result, $i, $fieldname)));
         }
     }
     $sResult = $arrayName;
     $sResult = json_encode($sResult);
     $response->setResult($sResult);
     return $response;
 }
Example #2
0
 function sessionGet($key, $defvaule = '')
 {
     return Mobile_API_Session::get($key, $defvalue);
 }