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'; } }