tbrehm
2012-02-13 f038c0a4cecc7a7a56b6d175c3ec42c1f80a4ac7
interface/lib/classes/remoting_lib.inc.php
@@ -208,7 +208,13 @@
                                break;
                                case 'INTEGER':
                                        $new_record[$key] = intval($record[$key]);
                              //* We use + 0 to force the string to be a number as
                              //* intval return value is too limited on 32bit systems
                                        if(intval($record[$key]) == 2147483647) {
                                 $new_record[$key] = $record[$key] + 0;
                              } else {
                                 $new_record[$key] = intval($record[$key]);
                              }
                                break;
                                case 'DOUBLE':
@@ -294,7 +300,7 @@
        * @return record
        */
        function encode($record) {
      global $app;
                if(is_array($record)) {
                        foreach($this->formDef['fields'] as $key => $field) {
@@ -303,14 +309,14 @@
                                switch ($field['datatype']) {
                                case 'VARCHAR':
                                        if(!@is_array($record[$key])) {
                                                $new_record[$key] = (isset($record[$key]))?mysql_real_escape_string($record[$key]):'';
                                                $new_record[$key] = (isset($record[$key]))?$app->db->quote($record[$key]):'';
                                        } else {
                                                $new_record[$key] = implode($field['separator'],$record[$key]);
                                        }
                                break;
                                case 'TEXT':
                                        if(!is_array($record[$key])) {
                                                $new_record[$key] = mysql_real_escape_string($record[$key]);
                                                $new_record[$key] = $app->db->quote($record[$key]);
                                        } else {
                                                $new_record[$key] = implode($field['separator'],$record[$key]);
                                        }
@@ -347,7 +353,7 @@
                                        //if($key == 'refresh') die($record[$key]);
                                break;
                                case 'DOUBLE':
                                        $new_record[$key] = mysql_real_escape_string($record[$key]);
                                        $new_record[$key] = $app->db->quote($record[$key]);
                                break;
                                case 'CURRENCY':
                                        $new_record[$key] = str_replace(",",".",$record[$key]);
@@ -530,11 +536,16 @@
                                                if($field['formtype'] == 'PASSWORD') {
                                                        $sql_insert_key .= "`$key`, ";
                                                        if($field['encryption'] == 'CRYPT') {
                                                                $record[$key] = $app->auth->crypt_password(stripslashes($record[$key]));
                                                $record[$key] = $app->auth->crypt_password(stripslashes($record[$key]));
                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                          } elseif ($field['encryption'] == 'MYSQL') {
                                                $sql_insert_val .= "PASSWORD('".$app->db->quote($record[$key])."'), ";
                                          } elseif ($field['encryption'] == 'CLEARTEXT') {
                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        } else {
                                                                $record[$key] = md5($record[$key]);
                                                                $record[$key] = md5(stripslashes($record[$key]));
                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        }
                                          $sql_insert_val .= "'".$record[$key]."', ";
                                                } elseif ($field['formtype'] == 'CHECKBOX') {
                                                        $sql_insert_key .= "`$key`, ";
                                          if($record[$key] == '') {
@@ -639,7 +650,11 @@
            foreach($primary_id as $key => $val) {
               $key = $app->db->quote($key);
               $val = $app->db->quote($val);
               $sql_where .= "$key = '$val' AND ";
               if(stristr($val,'%')) {
                  $sql_where .= "$key like '$val' AND ";
               } else {
                  $sql_where .= "$key = '$val' AND ";
               }
            }
            $sql_where = substr($sql_where,0,-5);
            $sql = "SELECT * FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$sql_where;