403Webshell
Server IP : 5.129.245.98  /  Your IP : 216.73.216.246
Web Server : Apache/2.4.66 (Debian)
System : Linux 1b8c17c336b9 6.8.0-111-generic #111-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 11 23:16:02 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/html/wp-content/plugins/wpai-acf-add-on/src/fields/acf/select/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/wp-content/plugins/wpai-acf-add-on/src/fields/acf/select/FieldSelect.php
<?php

namespace wpai_acf_add_on_pro\fields\acf\select;

use pmai_acf_add_on\ACFService;
use pmai_acf_add_on\fields\Field;

/**
 * Class FieldSelect
 * @package pmai_acf_add_on\fields\acf\select
 */
class FieldSelect extends Field {

    /**
     *  Field type key
     */
    public $type = 'select';

    /**
     *
     * Parse field data
     *
     * @param $xpath
     * @param $parsingData
     * @param array $args
     */
    public function parse($xpath, $parsingData, $args = array()) {
        parent::parse($xpath, $parsingData, $args);
        $values = array();
        switch ($this->getOption('is_multiple_field')){
            case 'yes':
                $values = array_fill(0, $this->getOption('count'), $this->getOption('multiple_value'));
                if (is_array($this->getOption('multiple_value'))){
                    $this->setOption('is_multiple', TRUE);
                }
                break;
            default:
                if ("" != $this->getOption('xpath')) {
                    $field = $this->getData('field');
                    $values = $this->getByXPath($this->getOption('xpath'));

                    if (!empty($field['multiple']) || isset($field['field_type']) && in_array($field['field_type'], array('checkbox', 'multi_select'))) {
                        foreach ($values as $key => $value) {
                            $values[$key] = array_map('trim', explode(",", $value));
                        }
                        $this->setOption('is_multiple', TRUE);
                    }
                }
                break;
        }
        $this->setOption('values', $values);
    }

    /**
     * @param $importData
     * @param array $args
     * @return mixed
     */
    public function import($importData, $args = array()) {
        $isUpdated = parent::import($importData, $args);
        if (!$isUpdated){
            return FALSE;
        }
        ACFService::update_post_meta($this, $this->getPostID(), $this->getFieldName(), $this->getFieldValue());
    }

    /**
     * @return false|int|mixed|string
     */
    public function getFieldValue() {

        $value = parent::getFieldValue();

        $parsedData = $this->getParsedData();

        $field_post = get_post($parsedData['id']);
        if ($field_post){
            $field_post_options = unserialize($field_post->post_content);
            if (!empty($field_post_options['save_custom'])){
                $current_choice = (!empty($value) and is_array($value)) ? $value : array();
                foreach ($current_choice as $choice){
                    if (!isset($field_post_options['choices'][$choice])){
                        $field_post_options['choices'][$choice] = $choice;
                    }
                }
                wp_update_post(array(
                    'post_content' => maybe_serialize($field_post_options),
                    'ID' => $parsedData['id']
                ));
            }
        }

        if ($parsedData['is_multiple']) {
            $value = (!empty($value) && is_array($value)) ? $value : array();
        }
        return $value;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit