~desarrollokumbia/kumbia/0.5

« back to all changes in this revision

Viewing changes to library/kumbia/db/active_record_base/active_record_base.php

  • Committer: Deivinson Tejeda
  • Date: 2009-01-01 20:30:45 UTC
  • Revision ID: deivinsontejeda@gmail.com-20090101203045-q9xgzpp0a6vaomdh
actualizando repositorio launchpad

Show diffs side-by-side

added added

removed removed

Lines of Context:
143
143
     *
144
144
     * @var array
145
145
     */
146
 
    private $_with_default = array();
 
146
    protected $_with_default = array();
147
147
    /**
148
148
     * Nombres de atributos, es lo mismo que fields
149
149
     *
182
182
     *
183
183
     * @var array
184
184
     */
185
 
    private $_validates_length = array();
 
185
    protected $_validates_length = array();
186
186
    /**
187
187
     * Campos que ser�n validados si son numericos
188
188
     *
189
189
     * @var array
190
190
     */
191
 
    private $_validates_numericality = array();
 
191
    protected $_validates_numericality = array();
192
192
    /**
193
193
     * Campos que seran validados si son email
194
194
     *
195
195
     * @var array
196
196
     */
197
 
    private $_validates_email = array();
 
197
    protected $_validates_email = array();
198
198
    /**
199
199
     * Campos que ser�n validados si son Fecha
200
200
     *
201
201
     * @var array
202
202
     */
203
 
    private $_validates_date = array();
 
203
    protected $_validates_date = array();
204
204
    /**
205
205
     * Campos que seran validados si son unicos
206
206
     *
207
207
     * @var array
208
208
     */
209
 
    private $_validates_uniqueness = array();
 
209
    protected $_validates_uniqueness = array();
210
210
    /**
211
211
     * Campos que deberan tener valores dentro de una lista
212
212
     * establecida
213
213
     *
214
214
     * @var array
215
215
     */
216
 
    private $_validates_inclusion = array();
 
216
    protected $_validates_inclusion = array();
217
217
    /**
218
218
     * Campos que deberan tener valores por fuera de una lista
219
219
     * establecida
220
220
     *
221
221
     * @var array
222
222
     */
223
 
    private $_validates_exclusion = array();
 
223
    protected $_validates_exclusion = array();
224
224
    /**
225
225
     * Campos que seran validados contra un formato establecido
226
226
     *
227
227
     * @var array
228
228
     */
229
 
    private $_validates_format = array();
 
229
    protected $_validates_format = array();
230
230
    /**
231
231
     * Campos que son obligatorios, no pueden ser nulos
232
232
     *
233
233
     * @var array
234
234
     */
235
 
    private $_validates_presence = array();
 
235
    protected $_validates_presence = array();
236
236
    /**
237
237
     * Campos que terminan en _in
238
238
     *
239
239
     * @var array
240
240
     */
241
 
    private $_in = array();
 
241
    protected $_in = array();
242
242
    /**
243
243
     * Campos que terminan en _at
244
244
     *
245
245
     * @var array
246
246
     */
247
 
    private $_at = array();
 
247
    protected $_at = array();
248
248
    /**
249
249
     * Variable para crear una condicion basada en los
250
250
     * valores del where
251
251
     *
252
252
     * @var string
253
253
     */
254
 
    private $_where_pk;
 
254
    protected $_where_pk;
255
255
    /**
256
256
     * Indica si ya se han obtenido los metadatos del Modelo
257
257
     *
258
258
     * @var boolean
259
259
     */
260
 
    private $_dumped = false;
 
260
    protected $_dumped = false;
261
261
    /**
262
262
     * Indica si hay bloqueo sobre los warnings cuando una propiedad
263
263
     * del modelo no esta definida-
264
264
     *
265
265
     * @var boolean
266
266
     */
267
 
    private $_dump_lock = false;
 
267
    protected $_dump_lock = false;
268
268
    /**
269
269
     * Tipos de datos de los campos del modelo
270
270
     *
271
271
     * @var array
272
272
     */
273
 
    private $_data_type = array();
 
273
    protected $_data_type = array();
274
274
    /**
275
275
     * Relaciones a las cuales tiene una cardinalidad 1-1
276
276
     *
277
277
     * @var array
278
278
     */
279
 
    private $_has_one = array();
 
279
    protected $_has_one = array();
280
280
    /**
281
281
     * Relaciones a las cuales tiene una cardinalidad 1-n
282
282
     *
283
283
     * @var array
284
284
     */
285
 
    private $_has_many = array();
 
285
    protected $_has_many = array();
286
286
    /**
287
287
     * Relaciones a las cuales tiene una cardinalidad 1-1
288
288
     *
289
289
     * @var array
290
290
     */
291
 
    private $_belongs_to = array();
 
291
    protected $_belongs_to = array();
292
292
    /**
293
293
     * Relaciones a las cuales tiene una cardinalidad n-n (muchos a muchos) o 1-n inversa
294
294
     *
295
295
     * @var array
296
296
     */
297
 
    private $_has_and_belongs_to_many = array();
 
297
    protected $_has_and_belongs_to_many = array();
298
298
    /**
299
299
     * Clases de las cuales es padre la clase actual
300
300
     *
333
333
     * Obtiene el nombre de la relacion en el RDBM a partir del nombre de la clase
334
334
     *
335
335
     */
336
 
    private function _model_name()
 
336
    protected function _model_name()
337
337
    {
338
338
        if (!$this->source) {
339
339
            $this->source = uncamelize(lcfirst(get_class($this)));
625
625
     *
626
626
     * @param boolean $new_connection
627
627
     */
628
 
    private function _connect($new_connection = false)
 
628
    protected function _connect($new_connection = false)
629
629
    {
630
630
        if (!is_object($this->db) || $new_connection) {
631
631
            if ($this->mode) {
696
696
     * @param string $table
697
697
     * @return boolean
698
698
     */
699
 
    private function _dump_info($table, $schema = '')
 
699
    protected function _dump_info($table, $schema = '')
700
700
    {
701
701
        $this->_dump_lock = true;
702
702
        if (!count(ActiveRecord::get_meta_data($table))) {
1823
1823
                        unset($this->$field);
1824
1824
                    }
1825
1825
                    $use_default = in_array($field, $this->_with_default) && isset($this->$field) && (is_null($this->$field) || $this->$field == '');
1826
 
                    if (isset($this->$field) && !$use_default) {
 
1826
                    if($this->_data_type[$field] == 'datetime' && $config->database->type == 'mysql'){
 
1827
                        $this->$field = date("Y-m-d G:i:s",strtotime($this->$field));
 
1828
                                                }
 
1829
                                        if (isset($this->$field) && !$use_default) {
1827
1830
                        $fields[] = ActiveRecord::sql_sanizite($field);
1828
1831
                        if (substr($this->$field, 0, 1) == "%") {
1829
1832
                            $values[] = str_replace("%", "", $this->$field);
2600
2603
    public function paginate()
2601
2604
    {
2602
2605
        $args = func_get_args();
2603
 
        array_num_insert($args, 0, $this);
 
2606
        array_unshift($args, $this);
2604
2607
        return call_user_func_array('paginate', $args);
2605
2608
    }
2606
2609
    /**
2617
2620
    public function paginate_by_sql($sql)
2618
2621
    {
2619
2622
        $args = func_get_args();
2620
 
        array_num_insert($args, 0, $this);
 
2623
        array_unshift($args, $this);
2621
2624
        return call_user_func_array('paginate_by_sql', $args);
2622
2625
    }
 
2626
    /**
 
2627
     * Operaciones al serializar
 
2628
     *
 
2629
     **/
 
2630
    public function __sleep()
 
2631
    {
 
2632
        /**
 
2633
         * Anulando conexion a bd en el modelo
 
2634
         **/
 
2635
        $this->db = null;
 
2636
        
 
2637
        return array_keys(get_object_vars($this));
 
2638
    }
 
2639
    /**
 
2640
     * Operaciones al deserializar
 
2641
     *
 
2642
     **/
 
2643
    public function __wakeup()
 
2644
    {
 
2645
        /**
 
2646
         * Restableciendo conexion a la bd
 
2647
         **/
 
2648
        $this->_connect();
 
2649
    }
2623
2650
}
2624
2651
?>