# fluentform/1.2.4/app/Modules/Integration/BaseIntegration.php

Fluent Forms – Customizable Contact Forms, Survey, Quiz, &amp; Conversational Form Builder, version 1.2.4. 103 lines.

- Page: https://pluginprobe.com/plugins/fluentform/1.2.4/code/app/Modules/Integration/BaseIntegration.php
- Raw: https://pluginprobe.com/plugins/fluentform/1.2.4/raw/app/Modules/Integration/BaseIntegration.php
- Modified: 2018-01-04T13:54:28+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluentform/1.2.4/code/app/Modules/Integration/BaseIntegration.php#L10-L20`.

```php
<?php namespace FluentForm\App\Modules\Integration;

class BaseIntegration 
{
	private $setting_key = '';
	private $isMultiple = false;
	private $formId = false;
	private $isJsonValue = true;
	
	public function __construct($settings_key = '', $form_id = false, $isMultiple = false) 
	{
		$this->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;
	}
}
```
