|
|
@ -4,6 +4,7 @@ namespace App; |
|
|
|
|
|
|
|
use Illuminate\Database\Eloquent\Model; |
|
|
|
use Illuminate\Support\Facades\Input; |
|
|
|
use Form; |
|
|
|
|
|
|
|
class Setting extends Model |
|
|
|
{ |
|
|
@ -39,6 +40,79 @@ class Setting extends Model |
|
|
|
]; |
|
|
|
} |
|
|
|
|
|
|
|
public function getListValueAttribute() |
|
|
|
{ |
|
|
|
switch($this->type) { |
|
|
|
case 'image': |
|
|
|
if(!empty($this->value)) { |
|
|
|
$value = '<a href="'.asset('storage/'.$this->value).'" title="View" target="_blank">View</a>'; |
|
|
|
} else { |
|
|
|
$value = '- not set -'; |
|
|
|
} |
|
|
|
break; |
|
|
|
case 'boolean': |
|
|
|
if((bool)$this->value === true) { |
|
|
|
$value = 'Yes'; |
|
|
|
} else { |
|
|
|
$value = 'No'; |
|
|
|
} |
|
|
|
break; |
|
|
|
case 'select': |
|
|
|
if(!empty($this->value) || $this->value !== 'none') { |
|
|
|
$options = (array)json_decode($this->options); |
|
|
|
$value = $options[$this->value]; |
|
|
|
} else { |
|
|
|
$value = '- not set -'; |
|
|
|
} |
|
|
|
break; |
|
|
|
default: |
|
|
|
$value = $this->value; |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
return $value; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public function getEditValueAttribute() |
|
|
|
{ |
|
|
|
switch($this->type) { |
|
|
|
case 'image': |
|
|
|
$value = ''; |
|
|
|
if(isset($this->value) && !empty($this->value)) { |
|
|
|
$value .= '<a class="setting-view-image" href="'.asset('storage/'.$this->value).'" title="View" target="_blank"><img src="'.asset('storage/'.$this->value).'" /></a>'; |
|
|
|
} |
|
|
|
$value .= Form::file('value', ['class' => 'form-control']); |
|
|
|
if(isset($this->value) && !empty($this->value)) { |
|
|
|
$value .= '<a class="settinglink" href="'.route('settings.clear', $this->id).'" title="Remove">Reset back to default</a>'; |
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
case 'boolean': |
|
|
|
$checked = false; |
|
|
|
if(isset($this->value) && (bool)$this->value === true) $checked = true; |
|
|
|
$set_checked = ($checked) ? ' checked="checked"' : ''; |
|
|
|
$value = ' |
|
|
|
<label class="switch"> |
|
|
|
<input type="hidden" name="value" value="0" /> |
|
|
|
<input type="checkbox" name="value" value="1"'.$set_checked.' /> |
|
|
|
<span class="slider round"></span> |
|
|
|
</label>'; |
|
|
|
|
|
|
|
break; |
|
|
|
case 'select': |
|
|
|
$options = json_decode($this->options); |
|
|
|
$value = Form::select('value', $options, null, ['class' => 'form-control']); |
|
|
|
break; |
|
|
|
default: |
|
|
|
$value = Form::text('value', null, ['class' => 'form-control']); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
return $value; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public function group() |
|
|
|
{ |
|
|
|
return $this->belongsTo('App\SettingGroup', 'group_id'); |
|
|
@ -85,4 +159,42 @@ class Setting extends Model |
|
|
|
{ |
|
|
|
return array_key_exists($key, Setting::$cache); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @return html |
|
|
|
*/ |
|
|
|
public static function search() |
|
|
|
{ |
|
|
|
$output = ''; |
|
|
|
$homepage_search = self::fetch('homepage_search'); |
|
|
|
$search_provider = self::where('key', '=', 'search_provider')->first(); |
|
|
|
|
|
|
|
$options = (array)json_decode($search_provider->options); |
|
|
|
$name = $options[$search_provider->value]; |
|
|
|
if((bool)$homepage_search && (bool)$search_provider->value) { |
|
|
|
switch($search_provider->value) { |
|
|
|
case 'google': |
|
|
|
$url = 'https://www.google.com/search'; |
|
|
|
$var = 'q'; |
|
|
|
break; |
|
|
|
case 'ddg': |
|
|
|
$url = 'https://duckduckgo.com/'; |
|
|
|
$var = 'q'; |
|
|
|
break; |
|
|
|
case 'bing': |
|
|
|
$url = 'https://www.bing.com/search'; |
|
|
|
$var = 'q'; |
|
|
|
break; |
|
|
|
} |
|
|
|
$output .= '<div class="searchform">'; |
|
|
|
$output .= Form::open(['url' => $url, 'method' => 'get']); |
|
|
|
$output .= '<div class="input-container">'; |
|
|
|
$output .= Form::text($var, null, ['class' => 'homesearch', 'placeholder' => $name.' search...']); |
|
|
|
$output .= '<button type="submit">Search</button>'; |
|
|
|
$output .= '</div>'; |
|
|
|
$output .= Form::close(); |
|
|
|
$output .= '</div>'; |
|
|
|
} |
|
|
|
return $output; |
|
|
|
} |
|
|
|
} |
|
|
|