2012-03-15 15:06:45 +01:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Application model for Cake.
|
|
|
|
*
|
|
|
|
* This file is application-wide model file. You can put all
|
|
|
|
* application-wide model-related methods here.
|
|
|
|
*
|
|
|
|
* PHP 5
|
|
|
|
*
|
|
|
|
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
2012-09-25 15:41:58 +02:00
|
|
|
* Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
2012-03-15 15:06:45 +01:00
|
|
|
*
|
|
|
|
* Licensed under The MIT License
|
|
|
|
* Redistributions of files must retain the above copyright notice.
|
|
|
|
*
|
2012-09-25 15:41:58 +02:00
|
|
|
* @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
2012-03-15 15:06:45 +01:00
|
|
|
* @link http://cakephp.org CakePHP(tm) Project
|
|
|
|
* @package app.Model
|
|
|
|
* @since CakePHP(tm) v 0.2.9
|
|
|
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
|
|
|
*/
|
|
|
|
|
|
|
|
App::uses('Model', 'Model');
|
2012-09-20 11:34:41 +02:00
|
|
|
App::uses('LogableBehavior', 'Assets.models/behaviors');
|
2012-03-15 15:06:45 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Application model for Cake.
|
|
|
|
*
|
|
|
|
* Add your application-wide methods in the class below, your models
|
|
|
|
* will inherit them.
|
|
|
|
*
|
|
|
|
* @package app.Model
|
|
|
|
*/
|
|
|
|
class AppModel extends Model {
|
2012-12-18 04:50:52 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Model Name
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public $name;
|
|
|
|
|
|
|
|
public function __construct($id = false, $table = null, $ds = null) {
|
|
|
|
parent::__construct($id, $table, $ds);
|
|
|
|
|
|
|
|
$this->name = get_class($this);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* generateAllFor<FieldName>
|
|
|
|
**/
|
|
|
|
public function generateAllFor($field, $newValvue, $oldValue, $recursive = -1) {
|
|
|
|
App::uses('CamelCase', 'Lib');
|
|
|
|
$camelCase = new CamelCase();
|
|
|
|
$fieldFromCamelCase = $camelCase->fromCamelCase($field);
|
|
|
|
$succes = $this->generateSomethings($this->name . '.' . $fieldFromCamelCase, $newValvue, $oldValue, $recursive);
|
|
|
|
return $succes;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function generateSomethings($theThing, $newValue, $oldValue, $recursive) {
|
|
|
|
$successes = array();
|
|
|
|
$this->recursive = $recursive;
|
|
|
|
$result = $this->updateAll(
|
|
|
|
array($theThing => $newValue),
|
|
|
|
array($theThing => $oldValue == 'null' ? null : $oldValue)
|
|
|
|
);
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
|
2012-12-19 14:34:40 +01:00
|
|
|
public function notUsedCall($method, $params) {
|
2012-12-19 11:30:10 +01:00
|
|
|
// Notice (8): Undefined index: Id [CORE/Cake/Model/Model.php, line 2673]
|
|
|
|
// Notice (8): Undefined index: Id [CORE/Cake/Model/Model.php, line 2650]
|
|
|
|
|
|
|
|
if (strpos($method, 'findBy') === 0) {
|
|
|
|
debug($method);
|
|
|
|
parent::__call($method, $params);
|
|
|
|
debug($methodArgs);
|
|
|
|
}
|
|
|
|
|
2012-12-18 04:50:52 +01:00
|
|
|
if (strpos ($method, 'generateAllFor') === 0) {
|
|
|
|
// massage the args
|
2012-12-19 11:30:10 +01:00
|
|
|
$methodArgs = $params;
|
2012-12-18 17:44:07 +01:00
|
|
|
$methodArgs[0] = str_replace('generateAllFor', '', $method); // TODO
|
|
|
|
//array_unshift($methodArgs, str_replace('generateAllFor', '', $method));
|
2012-12-18 04:50:52 +01:00
|
|
|
// do the actual call
|
2012-12-18 17:44:07 +01:00
|
|
|
return call_user_func_array(array($this, 'generateAllFor'), $methodArgs);
|
2012-12-18 04:50:52 +01:00
|
|
|
}
|
2012-12-19 11:30:10 +01:00
|
|
|
|
2012-12-18 04:50:52 +01:00
|
|
|
return false;
|
|
|
|
}
|
2012-03-15 15:06:45 +01:00
|
|
|
}
|