~ubuntu-branches/ubuntu/hoary/moodle/hoary

« back to all changes in this revision

Viewing changes to lib/adodb/drivers/adodb-vfp.inc.php

  • Committer: Bazaar Package Importer
  • Author(s): Isaac Clerencia
  • Date: 2004-12-29 00:49:52 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20041229004952-gliyqzpj2w3e7clx
Tags: 1.4.3-1
* Urgency high as upstream release fixes several security bugs
* New upstream release
* Write database creation errors and warn the user about it, 
closes: #285842, #285842

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
/* 
3
 
V4.20 22 Feb 2004  (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved.
4
 
  Released under both BSD license and Lesser GPL library license. 
5
 
  Whenever there is any discrepancy between the two licenses, 
6
 
  the BSD license will take precedence. 
7
 
Set tabs to 4 for best viewing.
8
 
  
9
 
  Latest version is available at http://php.weblogs.com/
10
 
  
11
 
  Microsoft Visual FoxPro data driver. Requires ODBC. Works only on MS Windows.
12
 
*/
13
 
 
14
 
if (!defined('_ADODB_ODBC_LAYER')) {
15
 
        include(ADODB_DIR."/drivers/adodb-odbc.inc.php");
16
 
}
17
 
if (!defined('ADODB_VFP')){
18
 
define('ADODB_VFP',1);
19
 
class ADODB_vfp extends ADODB_odbc {
20
 
        var $databaseType = "vfp";      
21
 
        var $fmtDate = "{^Y-m-d}";
22
 
        var $fmtTimeStamp = "{^Y-m-d, h:i:sA}";
23
 
        var $replaceQuote = "'+chr(39)+'" ;
24
 
        var $true = '.T.';
25
 
        var $false = '.F.';
26
 
        var $hasTop = 'top';            // support mssql SELECT TOP 10 * FROM TABLE
27
 
        var $upperCase = 'upper';
28
 
        var $_bindInputArray = false; // strangely enough, setting to true does not work reliably
29
 
        var $sysTimeStamp = 'datetime()';
30
 
        var $sysDate = 'date()';
31
 
        var $ansiOuter = true;
32
 
        var $hasTransactions = false;
33
 
        var $curmode = SQL_CUR_USE_ODBC ; // See sqlext.h, SQL_CUR_DEFAULT == SQL_CUR_USE_DRIVER == 2L
34
 
        
35
 
        function ADODB_vfp()
36
 
        {
37
 
                $this->ADODB_odbc();
38
 
        }
39
 
        
40
 
        function BeginTrans() { return false;}
41
 
        
42
 
        // quote string to be sent back to database
43
 
        function qstr($s,$nofixquotes=false)
44
 
        {
45
 
                if (!$nofixquotes) return  "'".str_replace("\r\n","'+chr(13)+'",str_replace("'",$this->replaceQuote,$s))."'";
46
 
                return "'".$s."'";
47
 
        }
48
 
 
49
 
        
50
 
        // TOP requires ORDER BY for VFP
51
 
        function &SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0)
52
 
        {
53
 
                if (!preg_match('/ORDER[ \t\r\n]+BY/is',$sql)) $sql .= ' ORDER BY 1';
54
 
                return ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
55
 
        }
56
 
 
57
 
 
58
 
};
59
 
 
60
 
 
61
 
class  ADORecordSet_vfp extends ADORecordSet_odbc {     
62
 
        
63
 
        var $databaseType = "vfp";              
64
 
 
65
 
        
66
 
        function ADORecordSet_vfp($id,$mode=false)
67
 
        {
68
 
                return $this->ADORecordSet_odbc($id,$mode);
69
 
        }
70
 
 
71
 
        function MetaType($t,$len=-1)
72
 
        {
73
 
                if (is_object($t)) {
74
 
                        $fieldobj = $t;
75
 
                        $t = $fieldobj->type;
76
 
                        $len = $fieldobj->max_length;
77
 
                }
78
 
                switch (strtoupper($t)) {
79
 
                case 'C':
80
 
                        if ($len <= $this->blobSize) return 'C';
81
 
                case 'M':
82
 
                        return 'X';
83
 
                         
84
 
                case 'D': return 'D';
85
 
                
86
 
                case 'T': return 'T';
87
 
                
88
 
                case 'L': return 'L';
89
 
                
90
 
                case 'I': return 'I';
91
 
                
92
 
                default: return 'N';
93
 
                }
94
 
        }
95
 
}
96
 
 
97
 
} //define
 
1
<?php
 
2
/* 
 
3
V4.51 29 July 2004  (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved.
 
4
  Released under both BSD license and Lesser GPL library license. 
 
5
  Whenever there is any discrepancy between the two licenses, 
 
6
  the BSD license will take precedence. 
 
7
Set tabs to 4 for best viewing.
 
8
  
 
9
  Latest version is available at http://adodb.sourceforge.net
 
10
  
 
11
  Microsoft Visual FoxPro data driver. Requires ODBC. Works only on MS Windows.
 
12
*/
 
13
 
 
14
// security - hide paths
 
15
if (!defined('ADODB_DIR')) die();
 
16
 
 
17
if (!defined('_ADODB_ODBC_LAYER')) {
 
18
        include(ADODB_DIR."/drivers/adodb-odbc.inc.php");
 
19
}
 
20
if (!defined('ADODB_VFP')){
 
21
define('ADODB_VFP',1);
 
22
class ADODB_vfp extends ADODB_odbc {
 
23
        var $databaseType = "vfp";      
 
24
        var $fmtDate = "{^Y-m-d}";
 
25
        var $fmtTimeStamp = "{^Y-m-d, h:i:sA}";
 
26
        var $replaceQuote = "'+chr(39)+'" ;
 
27
        var $true = '.T.';
 
28
        var $false = '.F.';
 
29
        var $hasTop = 'top';            // support mssql SELECT TOP 10 * FROM TABLE
 
30
        var $_bindInputArray = false; // strangely enough, setting to true does not work reliably
 
31
        var $sysTimeStamp = 'datetime()';
 
32
        var $sysDate = 'date()';
 
33
        var $ansiOuter = true;
 
34
        var $hasTransactions = false;
 
35
        var $curmode = SQL_CUR_USE_ODBC ; // See sqlext.h, SQL_CUR_DEFAULT == SQL_CUR_USE_DRIVER == 2L
 
36
        
 
37
        function ADODB_vfp()
 
38
        {
 
39
                $this->ADODB_odbc();
 
40
        }
 
41
        
 
42
        function Time()
 
43
        {
 
44
                return time();
 
45
        }
 
46
        
 
47
        function BeginTrans() { return false;}
 
48
        
 
49
        // quote string to be sent back to database
 
50
        function qstr($s,$nofixquotes=false)
 
51
        {
 
52
                if (!$nofixquotes) return  "'".str_replace("\r\n","'+chr(13)+'",str_replace("'",$this->replaceQuote,$s))."'";
 
53
                return "'".$s."'";
 
54
        }
 
55
 
 
56
        
 
57
        // TOP requires ORDER BY for VFP
 
58
        function &SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0)
 
59
        {
 
60
                $this->hasTop = preg_match('/ORDER[ \t\r\n]+BY/is',$sql) ? 'top' : false;
 
61
                return ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
 
62
        }
 
63
        
 
64
 
 
65
 
 
66
};
 
67
 
 
68
 
 
69
class  ADORecordSet_vfp extends ADORecordSet_odbc {     
 
70
        
 
71
        var $databaseType = "vfp";              
 
72
 
 
73
        
 
74
        function ADORecordSet_vfp($id,$mode=false)
 
75
        {
 
76
                return $this->ADORecordSet_odbc($id,$mode);
 
77
        }
 
78
 
 
79
        function MetaType($t,$len=-1)
 
80
        {
 
81
                if (is_object($t)) {
 
82
                        $fieldobj = $t;
 
83
                        $t = $fieldobj->type;
 
84
                        $len = $fieldobj->max_length;
 
85
                }
 
86
                switch (strtoupper($t)) {
 
87
                case 'C':
 
88
                        if ($len <= $this->blobSize) return 'C';
 
89
                case 'M':
 
90
                        return 'X';
 
91
                         
 
92
                case 'D': return 'D';
 
93
                
 
94
                case 'T': return 'T';
 
95
                
 
96
                case 'L': return 'L';
 
97
                
 
98
                case 'I': return 'I';
 
99
                
 
100
                default: return 'N';
 
101
                }
 
102
        }
 
103
}
 
104
 
 
105
} //define
98
106
?>
 
 
b'\\ No newline at end of file'