using static
instead of self
renaming `internalCreateOrUpdate` to `_createOrUpdate` renaming `$conditions` to `$keys` adding block comment for `_createOrUpdate` method.
This commit is contained in:
@ -131,6 +131,6 @@ class CustomField extends Model {
|
|||||||
if(empty($data['params']['label']) && isset($data['name'])) {
|
if(empty($data['params']['label']) && isset($data['name'])) {
|
||||||
$data['params']['label'] = $data['name'];
|
$data['params']['label'] = $data['name'];
|
||||||
}
|
}
|
||||||
return parent::internalCreateOrUpdate($data);
|
return parent::_createOrUpdate($data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,4 @@ class Form extends Model {
|
|||||||
return $orm->whereNull('deleted_at');
|
return $orm->whereNull('deleted_at');
|
||||||
}
|
}
|
||||||
|
|
||||||
static function createOrUpdate($data = array()) {
|
|
||||||
return parent::internalCreateOrUpdate($data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -20,16 +20,26 @@ class Model extends \Sudzy\ValidModel {
|
|||||||
return parent::create();
|
return parent::create();
|
||||||
}
|
}
|
||||||
|
|
||||||
static protected function internalCreateOrUpdate($data = array(), $conditions = false, $onCreate = false) {
|
/**
|
||||||
|
* Creates a row, or updates it if already exists. It tries to find the existing
|
||||||
|
* row by `id` (if given in `$data`), or by the given `$keys`. If `$onCreate` is
|
||||||
|
* given, it's used to transform `$data` before creating the new row.
|
||||||
|
*
|
||||||
|
* @param array $data
|
||||||
|
* @param boolean $keys
|
||||||
|
* @param callable $onCreate
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
|
static protected function _createOrUpdate($data = array(), $keys = false, $onCreate = false) {
|
||||||
$model = false;
|
$model = false;
|
||||||
|
|
||||||
if(isset($data['id']) && (int)$data['id'] > 0) {
|
if(isset($data['id']) && (int)$data['id'] > 0) {
|
||||||
$model = self::findOne((int)$data['id']);
|
$model = static::findOne((int)$data['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($conditions)) {
|
if(!empty($keys)) {
|
||||||
$first = true;
|
$first = true;
|
||||||
foreach($conditions as $field => $value) {
|
foreach($keys as $field => $value) {
|
||||||
if($first) {
|
if($first) {
|
||||||
$model = static::where($field, $value);
|
$model = static::where($field, $value);
|
||||||
$first = false;
|
$first = false;
|
||||||
@ -44,7 +54,7 @@ class Model extends \Sudzy\ValidModel {
|
|||||||
if(!empty($onCreate)) {
|
if(!empty($onCreate)) {
|
||||||
$data = $onCreate($data);
|
$data = $onCreate($data);
|
||||||
}
|
}
|
||||||
$model = self::create();
|
$model = static::create();
|
||||||
$model->hydrate($data);
|
$model->hydrate($data);
|
||||||
} else {
|
} else {
|
||||||
unset($data['id']);
|
unset($data['id']);
|
||||||
@ -54,6 +64,10 @@ class Model extends \Sudzy\ValidModel {
|
|||||||
return $model->save();
|
return $model->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public function createOrUpdate($data = array()) {
|
||||||
|
return self::_createOrUpdate($data);
|
||||||
|
}
|
||||||
|
|
||||||
function getErrors() {
|
function getErrors() {
|
||||||
if(empty($this->_errors)) {
|
if(empty($this->_errors)) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -793,7 +793,7 @@ class Newsletter extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static function createOrUpdate($data = array()) {
|
static function createOrUpdate($data = array()) {
|
||||||
return parent::internalCreateOrUpdate($data, false, function($data) {
|
return parent::_createOrUpdate($data, false, function($data) {
|
||||||
// set default sender based on settings
|
// set default sender based on settings
|
||||||
if(empty($data['sender'])) {
|
if(empty($data['sender'])) {
|
||||||
$sender = Setting::getValue('sender', array());
|
$sender = Setting::getValue('sender', array());
|
||||||
|
@ -10,7 +10,7 @@ class NewsletterOption extends Model {
|
|||||||
if(!is_array($data) || empty($data['newsletter_id']) || empty($data['option_field_id'])) {
|
if(!is_array($data) || empty($data['newsletter_id']) || empty($data['option_field_id'])) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
return parent::internalCreateOrUpdate($data, array(
|
return parent::_createOrUpdate($data, array(
|
||||||
'option_field_id' => $data['option_field_id'],
|
'option_field_id' => $data['option_field_id'],
|
||||||
'newsletter_id' => $data['newsletter_id']
|
'newsletter_id' => $data['newsletter_id']
|
||||||
));
|
));
|
||||||
|
@ -25,7 +25,4 @@ class NewsletterTemplate extends Model {
|
|||||||
return $template;
|
return $template;
|
||||||
}
|
}
|
||||||
|
|
||||||
static function createOrUpdate($data = array()) {
|
|
||||||
return parent::internalCreateOrUpdate($data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ class ScheduledTaskSubscriber extends Model {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$data['processed'] = !empty($data['processed']) ? self::STATUS_PROCESSED : self::STATUS_UNPROCESSED;
|
$data['processed'] = !empty($data['processed']) ? self::STATUS_PROCESSED : self::STATUS_UNPROCESSED;
|
||||||
return parent::internalCreateOrUpdate($data, array(
|
return parent::_createOrUpdate($data, array(
|
||||||
'subscriber_id' => $data['subscriber_id'],
|
'subscriber_id' => $data['subscriber_id'],
|
||||||
'task_id' => $data['task_id']
|
'task_id' => $data['task_id']
|
||||||
));
|
));
|
||||||
|
@ -219,10 +219,6 @@ class Segment extends Model {
|
|||||||
return $query;
|
return $query;
|
||||||
}
|
}
|
||||||
|
|
||||||
static function createOrUpdate($data = array()) {
|
|
||||||
return parent::internalCreateOrUpdate($data);
|
|
||||||
}
|
|
||||||
|
|
||||||
static function getPublic() {
|
static function getPublic() {
|
||||||
return self::getPublished()->where('type', self::TYPE_DEFAULT)->orderByAsc('name');
|
return self::getPublished()->where('type', self::TYPE_DEFAULT)->orderByAsc('name');
|
||||||
}
|
}
|
||||||
|
@ -150,8 +150,8 @@ class Setting extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static function createOrUpdate($data = array()) {
|
public static function createOrUpdate($data = array()) {
|
||||||
$conditions = isset($data['name']) ? array('name' => $data['name']) : false;
|
$keys = isset($data['name']) ? array('name' => $data['name']) : false;
|
||||||
return parent::internalCreateOrUpdate($data, $conditions);
|
return parent::_createOrUpdate($data, $keys);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function deleteValue($value) {
|
public static function deleteValue($value) {
|
||||||
|
@ -37,7 +37,7 @@ class SubscriberCustomField extends Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return parent::internalCreateOrUpdate($data, array(
|
return parent::_createOrUpdate($data, array(
|
||||||
'custom_field_id' => $data['custom_field_id'],
|
'custom_field_id' => $data['custom_field_id'],
|
||||||
'subscriber_id' => $data['subscriber_id']
|
'subscriber_id' => $data['subscriber_id']
|
||||||
));
|
));
|
||||||
|
@ -151,13 +151,13 @@ class SubscriberSegment extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static function createOrUpdate($data = array()) {
|
static function createOrUpdate($data = array()) {
|
||||||
$conditions = false;
|
$keys = false;
|
||||||
if(isset($data['subscriber_id']) && isset($data['segment_id'])) {
|
if(isset($data['subscriber_id']) && isset($data['segment_id'])) {
|
||||||
$conditions = array(
|
$keys = array(
|
||||||
'subscriber_id' => (int)$data['subscriber_id'],
|
'subscriber_id' => (int)$data['subscriber_id'],
|
||||||
'segment_id' => (int)$data['segment_id']
|
'segment_id' => (int)$data['segment_id']
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return parent::internalCreateOrUpdate($data, $conditions);
|
return parent::_createOrUpdate($data, $keys);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user