Updates newsletter option creation logic and fixes a bug that results in

them being wiped clean
This commit is contained in:
Vlad
2017-02-23 13:53:36 -05:00
parent 6ee1c23f9a
commit a1cd56c419
3 changed files with 68 additions and 11 deletions

View File

@@ -5,4 +5,20 @@ if(!defined('ABSPATH')) exit;
class NewsletterOption extends Model {
public static $_table = MP_NEWSLETTER_OPTION_TABLE;
static function createOrUpdate($data = array()) {
if(!is_array($data) && empty($data)) return;
$newsletter_option = self::where('option_field_id', $data['option_field_id'])
->where('newsletter_id', $data['newsletter_id'])
->findOne();
if(empty($newsletter_option)) $newsletter_option = self::create();
$newsletter_option->newsletter_id = $data['newsletter_id'];
$newsletter_option->option_field_id = $data['option_field_id'];
$newsletter_option->value = $data['value'];
$newsletter_option->save();
return $newsletter_option;
}
}