setting_key = $settings_key; $this->isMultiple = $isMultiple; $this->formId = $form_id; } public function setSettingsKey($key) { $this->setting_key = $key; } public function setIsMultiple($isMultiple) { $this->isMultiple = $isMultiple; } public function setFormId($formId) { $this->formId = $formId; } public function setJasonType($type) { $this->isJsonValue = $type; } public function save($settings) { return wpFluent()->table('fluentform_form_meta') ->insert(array( 'meta_key' => $this->setting_key, 'form_id' => $this->formId, 'value' => json_encode($settings) )); } public function update($settingsId, $settings) { return wpFluent()->table('fluentform_form_meta') ->where('id', $settingsId) ->update(array( 'value' => json_encode($settings) )); } public function get($settingsId) { $settings = wpFluent()->table('fluentform_form_meta') ->where('form_id', $this->formId) ->where('meta_key', $this->setting_key) ->find($settingsId); $settings->formattedValue = $this->getFormattedValue($settings); return $settings; } public function getAll() { $settingsQuery = wpFluent()->table('fluentform_form_meta') ->where('form_id', $this->formId) ->where('meta_key', $this->setting_key); if($this->isMultiple) { $settings = $settingsQuery->get(); foreach ($settings as $setting) { $setting->formattedValue = $this->getFormattedValue($setting); } } else { $settings = $settingsQuery->first(); $settings->formattedValue = $this->getFormattedValue($settings); } return $settings; } public function delete($settingsId) { return wpFluent()->table('fluentform_form_meta') ->where('meta_key', $this->setting_key) ->where('form_id', $this->formId) ->where('id', $settingsId) ->delete(); } public function deleteAll() { } private function getFormattedValue($setting) { if($this->isJsonValue) return json_decode($setting->value, true); return $setting->value; } }