1<?php
2
3/**
4 * Class arConnector
5 *
6 * @author  Fabian Schmid <fs@studer-raimann.ch>
7 *
8 * @description
9 *
10 * @version 2.0.7
11 */
12abstract class arConnector
13{
14
15    /**
16     * @param ActiveRecord $ar
17     */
18    abstract public function nextID(ActiveRecord $ar);
19
20
21    /**
22     * @param ActiveRecord $ar
23     */
24    abstract public function checkConnection(ActiveRecord $ar);
25
26
27    /**
28     * @param ActiveRecord $ar
29     * @param              $fields
30     */
31    abstract public function installDatabase(ActiveRecord $ar, $fields);
32
33
34    /**
35     * @param ActiveRecord $ar
36     */
37    abstract public function updateDatabase(ActiveRecord $ar);
38
39
40    /**
41     * @param ActiveRecord $ar
42     */
43    abstract public function resetDatabase(ActiveRecord $ar);
44
45
46    /**
47     * @param ActiveRecord $ar
48     */
49    abstract public function truncateDatabase(ActiveRecord $ar);
50
51
52    /**
53     * @param ActiveRecord $ar
54     */
55    abstract public function checkTableExists(ActiveRecord $ar);
56
57
58    /**
59     * @param ActiveRecord $ar
60     * @param              $field_name
61     */
62    abstract public function checkFieldExists(ActiveRecord $ar, $field_name);
63
64
65    /**
66     * @param ActiveRecord $ar
67     * @param              $field_name
68     */
69    abstract public function removeField(ActiveRecord $ar, $field_name);
70
71
72    /**
73     * @param ActiveRecord $ar
74     * @param              $old_name
75     * @param              $new_name
76     */
77    abstract public function renameField(ActiveRecord $ar, $old_name, $new_name);
78
79
80    /**
81     * @param ActiveRecord $ar
82     */
83    abstract public function create(ActiveRecord $ar);
84
85
86    /**
87     * @param ActiveRecord $ar
88     */
89    abstract public function read(ActiveRecord $ar);
90
91
92    /**
93     * @param ActiveRecord $ar
94     */
95    abstract public function update(ActiveRecord $ar);
96
97
98    /**
99     * @param ActiveRecord $ar
100     */
101    abstract public function delete(ActiveRecord $ar);
102
103
104    /**
105     * @param ActiveRecordList $arl
106     */
107    abstract public function readSet(ActiveRecordList $arl);
108
109
110    /**
111     * @param ActiveRecordList $arl
112     *
113     * @return int
114     */
115    abstract public function affectedRows(ActiveRecordList $arl);
116
117
118    /**
119     * @param $value
120     * @param $type
121     *
122     * @return string
123     */
124    abstract public function quote($value, $type);
125
126
127    /**
128     * @param ActiveRecord $ar
129     */
130    abstract public function updateIndices(ActiveRecord $ar);
131
132
133    /**
134     * @param $value
135     * @return string
136     */
137    public function fixDate($value)
138    {
139        return $value;
140    }
141}
142