403Webshell
Server IP : 103.191.208.88  /  Your IP : 216.73.216.44
Web Server : Microsoft-IIS/10.0
System : Windows NT COSMIC 10.0 build 20348 (Windows Server 2022) AMD64
User : IWPD_1831(willswel_) ( 0)
PHP Version : 8.2.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  D:/Inetpub/vhosts/willswell.com/httpdocs/wp-content/plugins/fluentform/app/Models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : D:/Inetpub/vhosts/willswell.com/httpdocs/wp-content/plugins/fluentform/app/Models/FormMeta.php
<?php

namespace FluentForm\App\Models;

use FluentForm\Framework\Support\Arr;

// phpcs:disable WordPress.DB.SlowDBQuery.slow_db_query_meta_key -- This class uses custom meta table (fluentform_form_meta), not WordPress postmeta
class FormMeta extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'fluentform_form_meta';

    /**
     * Indicates if the model should be timestamped.
     *
     * @var bool
     */
    public $timestamps = false;

    /**
     * A formMeta is owned by a form.
     *
     * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo
     */
    public function form()
    {
        return $this->belongsTo(Form::class, 'form_id', 'id');
    }

    public static function prepare($attributes, $predefinedForm)
    {
        $formMeta = [];
    
        $formMeta[] = [
            'meta_key' => 'formSettings',
            'value'    => json_encode(Form::getFormsDefaultSettings()),
        ];
    
        $formMeta[] = [
            'meta_key' => 'template_name',
            'value'    => Arr::get($attributes, 'predefined', Arr::get($attributes, 'type', '')),
        ];
    
        if (isset($predefinedForm['notifications'])) {
            $formMeta[] = [
                'meta_key' => 'notifications',
                'value'    => json_encode($predefinedForm['notifications']),
            ];
        }
    
        if (Arr::get($attributes, 'predefined') == 'conversational') {
            $formMeta[] = [
                'meta_key' => 'is_conversion_form',
                'value'    => 'yes',
            ];
        }

        return $formMeta;
    }

    public static function retrieve($key, $formId = null, $default  = null)
    {
        $meta = static::when($formId, function ($q) use ($formId) {
            return $q->where('form_id', $formId);
        })
            ->where('meta_key', $key)
            ->first();

        if ($meta && isset($meta->value)) {
            $value = json_decode($meta->value, true);
            if (JSON_ERROR_NONE == json_last_error()) {
                return $value;
            }
            return $meta->value;
        }

        return $default;
    }

    public static function store(Form $form, $formMeta)
    {
        foreach ($formMeta as $meta) {
            $metaValue = $meta['value'];

            if (is_array($metaValue) || is_object($metaValue)) {
                $metaValue = wp_json_encode($metaValue);
            }

            $meta['value'] = trim(preg_replace('/\s+/', ' ', (string) $metaValue));

            $form->formMeta()->create([
                'meta_key' => $meta['meta_key'],
                'value'    => $meta['value'],
            ]);
        }
    }

    public static function persist($formId, $metaKey, $metaValue)
    {
        if (is_array($metaValue) || is_object($metaValue)) {
            $metaValue = json_encode($metaValue);
        }

        return static::updateOrCreate(
            ['form_id' => $formId, 'meta_key' => $metaKey],
            ['value' => $metaValue]
        );
    }

    public static function remove($formId, $metaKey)
    {
        static::where('form_id', $formId)
            ->where('meta_key', $metaKey)
            ->delete();
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit