-
Notifications
You must be signed in to change notification settings - Fork 102
/
BaseI18nLocaleValues.class.php
228 lines (209 loc) · 6.36 KB
/
BaseI18nLocaleValues.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
<?php
/**
* BaseI18NLocaleValues class
*
*/
abstract class BaseI18nLocaleValues extends DataManager {
/**
* Column name => Column type map
*
* @var array
* @static
*/
static private $columns = array(
'id' => DATA_TYPE_INTEGER,
'locale_id' => DATA_TYPE_INTEGER,
'name' => DATA_TYPE_STRING,
'description' => DATA_TYPE_STRING,
'category_id' => DATA_TYPE_INTEGER,
'created_on' => DATA_TYPE_DATETIME,
'created_by_id' => DATA_TYPE_INTEGER,
'updated_on' => DATA_TYPE_DATETIME,
'updated_by_id' => DATA_TYPE_INTEGER
);
/**
* Construct
*
* @return BaseI18nLocaleValues
*/
function __construct() {
parent::__construct('I18nLocaleValue', 'i18n_values', true);
} // __construct
// -------------------------------------------------------
// Description methods
// -------------------------------------------------------
/**
* Return array of object columns
*
* @access public
* @param void
* @return array
*/
function getColumns() {
return array_keys(self::$columns);
} // getColumns
/**
* Return column type
*
* @access public
* @param string $column_name
* @return string
*/
function getColumnType($column_name) {
if (isset(self::$columns[$column_name])) {
return self::$columns[$column_name];
} else {
return DATA_TYPE_STRING;
} // if
} // getColumnType
/**
* Return array of PK columns. If only one column is PK returns its name as string
*
* @access public
* @param void
* @return array or string
*/
function getPkColumns() {
return 'id';
} // getPkColumns
/**
* Return name of first auto_increment column if it exists
*
* @access public
* @param void
* @return string
*/
function getAutoIncrementColumn() {
return 'id';
} // getAutoIncrementColumn
// -------------------------------------------------------
// Finders
// -------------------------------------------------------
/**
* Do a SELECT query over database with specified arguments
*
* @access public
* @param array $arguments Array of query arguments. Fields:
*
* - one - select first row
* - conditions - additional conditions
* - order - order by string
* - offset - limit offset, valid only if limit is present
* - limit
*
* @return one or I18nLocaleValues objects
* @throws DBQueryError
*/
function find($arguments = null) {
if (isset($this) && instance_of($this, 'I18nLocaleValues')) {
return parent::find($arguments);
} else {
return I18nLocaleValues::instance()->find($arguments);
} // if
} // find
/**
* Find all records
*
* @access public
* @param array $arguments
* @return one or I18nLocaleValues objects
*/
function findAll($arguments = null) {
if (isset($this) && instance_of($this, 'I18nLocaleValues')) {
return parent::findAll($arguments);
} else {
return I18nLocaleValues::instance()->findAll($arguments);
} // if
} // findAll
/**
* Find one specific record
*
* @access public
* @param array $arguments
* @return I18NLocaleValue
*/
function findOne($arguments = null) {
if (isset($this) && instance_of($this, 'I18nLocaleValues')) {
return parent::findOne($arguments);
} else {
return I18nLocaleValues::instance()->findOne($arguments);
} // if
} // findOne
/**
* Return object by its PK value
*
* @access public
* @param mixed $id
* @param boolean $force_reload If true cache will be skipped and data will be loaded from database
* @return I18NLocale
*/
function findById($id, $force_reload = false) {
if (isset($this) && instance_of($this, 'I18nLocaleValues')) {
return parent::findById($id, $force_reload);
} else {
return I18nLocaleValues::instance()->findById($id, $force_reload);
} // if
} // findById
/**
* Return number of rows in this table
*
* @access public
* @param string $conditions Query conditions
* @return integer
*/
function count($condition = null) {
if (isset($this) && instance_of($this, 'I18nLocaleValues')) {
return parent::count($condition);
} else {
return I18nLocaleValues::instance()->count($condition);
} // if
} // count
/**
* Delete rows that match specific conditions. If $conditions is NULL all rows from table will be deleted
*
* @access public
* @param string $conditions Query conditions
* @return boolean
*/
function delete($condition = null) {
if (isset($this) && instance_of($this, 'I18nLocaleValues')) {
return parent::delete($condition);
} else {
return I18nLocaleValues::instance()->delete($condition);
} // if
} // delete
/**
* This function will return paginated result. Result is an array where first element is
* array of returned object and second populated pagination object that can be used for
* obtaining and rendering pagination data using various helpers.
*
* Items and pagination array vars are indexed with 0 for items and 1 for pagination
* because you can't use associative indexing with list() construct
*
* @access public
* @param array $arguments Query argumens (@see find()) Limit and offset are ignored!
* @param integer $items_per_page Number of items per page
* @param integer $current_page Current page number
* @return array
*/
function paginate($arguments = null, $items_per_page = 10, $current_page = 1) {
if (isset($this) && instance_of($this, 'I18nLocaleValues')) {
return parent::paginate($arguments, $items_per_page, $current_page);
} else {
return I18NLocaleValues::instance()->paginate($arguments, $items_per_page, $current_page);
} // if
} // paginate
/**
* Return manager instance
*
* @return I18nLocaleValues
*/
function instance() {
static $instance;
if (!instance_of($instance, 'I18nLocaleValues')) {
$instance = new I18nLocaleValues();
} // if
return $instance;
} // instance
} // BaseI18nLocaleValues
?>