public function execute()
 {
     $id = waRequest::post('id');
     if (is_numeric($id)) {
         $modelNotifierRule = new shopNotifierRuleModel();
         $result = $modelNotifierRule->getById($id);
         $result['data_contact'] = json_decode($result['data_contact'], true);
         if (count((array) $result['data_contact']['contact']) > 1) {
             $ids_contact = implode(',', (array) $result['data_contact']['contact']);
         } else {
             if (count((array) $result['data_contact']['contact']) == 1) {
                 foreach ($result['data_contact']['contact'] as $c) {
                     $ids_contact = $c;
                 }
             }
         }
         if (isset($ids_contact)) {
             $result['contacts'] = array();
             $collection = new waContactsCollection('/id/' . $ids_contact . '/');
             $result['contacts'] = $collection->getContacts('*');
         }
         if (array_key_exists("group", $result['data_contact']) && count($result['data_contact']['group'])) {
             $result['groups'] = array();
             $modelContactCategory = new waContactCategoryModel();
             foreach ($result['data_contact']['group'] as $group_id) {
                 $result['groups'][$group_id] = $modelContactCategory->getById($group_id);
             }
         }
         $result['state_name'] = (array) json_decode($result['state_name']);
         $this->response['result'] = $result;
         $this->response['message'] = 'ok';
     } else {
         $this->response['message'] = 'fail';
     }
 }
 public function execute()
 {
     $data = waRequest::post('settings');
     unset($data['search_name']);
     if (isset($data['data_contact']) && is_array($data['data_contact'])) {
         if ($data['config_name'] != '') {
             if ($data['from'] != '') {
                 $info = $data;
                 $modelNotifierRule = new shopNotifierRuleModel();
                 $data_contact = json_encode($info['data_contact']);
                 unset($info['data_contact']);
                 $info['data_contact'] = $data_contact;
                 $state_name = json_encode($info['state_name']);
                 unset($info['state_name']);
                 $info['state_name'] = $state_name;
                 $info['group_senders'] = ifset($info['group_senders'], 0);
                 $info['save_to_order_log'] = ifset($info['save_to_order_log'], 0);
                 $result = $modelNotifierRule->getByField('config_name', $data['config_name']);
                 $val_update = '';
                 $column_insert = '';
                 $value_insert = '';
                 $len = count($info);
                 $i = 0;
                 foreach ($info as $key => $value) {
                     $i++;
                     if ($len == $i) {
                         $value_insert .= "'" . $value . "'";
                         $column_insert .= $key;
                         $val_update .= $key . "='" . $value . "'";
                     } else {
                         $value_insert .= "'" . $value . "', ";
                         $column_insert .= $key . ', ';
                         $val_update .= $key . "='" . $value . "',";
                     }
                 }
                 if ($result) {
                     $modelNotifierRule->updateById($result['id'], $info);
                     //                        query("UPDATE shop_notifier_rule SET ".$val_update." WHERE id = '".$result['id']."'");
                     $data['id'] = $result['id'];
                 } else {
                     $data['id'] = $modelNotifierRule->insert($info);
                     //query("INSERT INTO shop_notifier_rule (".$column_insert.") VALUES (".$value_insert.")");
                 }
                 $this->response['data'] = $data;
                 $this->response['message'] = 'ok';
             } else {
                 $this->response['message'] = 'fail_send_email';
             }
         } else {
             $this->response['message'] = 'fail_config_name_null';
         }
     } else {
         $this->response['message'] = 'fail_data_contact';
     }
 }