public function setConfig($config = array(), $id = null) { $id = $this->getId($id); if ($id <= 0) { $name = wa()->getConfig()->getGeneralSettings('name'); if (!$name) { $name = date('c'); } $description = ''; if (($raw = waRequest::request('profile')) && is_array($raw)) { if (!empty($raw['name'])) { $name = $raw['name']; } if (!empty($raw['description'])) { $description = $raw['description']; } } $id = $this->addConfig($name, $description); } $fields = array('id' => $id, 'plugin' => $this->plugin); $data = array('config' => json_encode($config)); if (!empty($this->name)) { $data['name'] = $this->name; } $this->model->updateByField($fields, $data); return $id; }