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/

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/FieldPageLink.php
<?php

namespace wpai_acf_add_on_pro\fields\acf;

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

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

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

    /**
     *
     * Parse field data
     *
     * @param $xpath
     * @param $parsingData
     * @param array $args
     */
    public function parse($xpath, $parsingData, $args = array()) {
        parent::parse($xpath, $parsingData, $args);
        $values = $this->getByXPath($xpath);
        $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() {
        $post_ids = array();
        $entries = explode(",", parent::getFieldValue());
        $field = $this->getData('field');
        if ( ! empty($entries) and is_array($entries) ) {
            $entries = array_map('trim', $entries);
            $entries = array_filter($entries);
            foreach ($entries as $ev) {
                $args = array(
                    'name' => $ev,
                    'post_type' => empty($field['post_type']) ? 'any' : $field['post_type'],
                    'post_status' => 'any',
                    'numberposts' => 1
                );
                $my_posts = get_posts($args);
                if ($my_posts) {
                    $post_ids[] = $my_posts[0]->ID;
                }
                elseif (ctype_digit($ev)) {
                    $args = array(
                      'post_type' => empty($field['post_type']) ? 'any' : $field['post_type'],
                      'numberposts' => 1,
                      'post__in'=> [$ev]
                    );
                    $my_posts = get_posts($args);
                    if ($my_posts) {
                      $post_ids[] = $my_posts[0]->ID;
                    }
                }
            }
        }
        if (!empty($post_ids)) {
            return empty($field['multiple']) ? array_shift($post_ids) : $post_ids;
        }
        return '';
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit