🏡 index : ~doyle/koselig.git

author Jordan Doyle <jordan@doyle.wf> 2016-10-16 10:05:08.0 +00:00:00
committer Jordan Doyle <jordan@doyle.wf> 2016-10-16 10:05:08.0 +00:00:00
commit
2a92baf7c03672d9cb6850821a3bcd2bcb25da9e [patch]
tree
b331674043e7e944f4451560fcf75c7935427cd9
parent
97db6451b80016618a8007df80f15237e6d9f5df
download
2a92baf7c03672d9cb6850821a3bcd2bcb25da9e.tar.gz

remove subkeys if the user didnt ask for them specifically



Diff

 src/Models/Post.php | 34 +++++++++++++++++++++-------------
 1 file changed, 21 insertions(+), 13 deletions(-)

diff --git a/src/Models/Post.php b/src/Models/Post.php
index 6a84bc0..755aa78 100644
--- a/src/Models/Post.php
+++ b/src/Models/Post.php
@@ -94,27 +94,35 @@ class Post extends Model

        $meta = $this->getMeta($key);

        foreach ($meta as $key => $value)
        {
            if (is_serialized($value)) {
                $value = @unserialize($value);
            }
        if (!is_array($meta)) {
            $meta = [$key => $meta];
            $wantsArray = false;
        } else {
            $wantsArray = true;
        }

            $field = $this->getMeta('_' . $key);
        foreach ($meta as $k => $value)
        {
            $field = $this->getMeta('_' . $k);

            if (!acf_is_field_key($field)) {
                unset($meta[$key]);
                unset($meta[$k]);
                continue;
            }

            $field = get_field_object($field, $key, false, false);
            if (is_serialized($value)) {
                $value = @unserialize($value);
            }

            $field = get_field_object($field, $k, false, false);

            if (acf_is_sub_field($field)) {
                unset($meta[$key]);
            // unset subfields if the user didn't ask for it specifically
            if (((is_array($key) && !in_array($k, $key)) && $k !== $key || $key === null) && acf_is_sub_field($field)) {
                unset($meta[$k]);
                continue;
            }

            $value = Action::filter('acf/load_value', $value, $key, $field);
            $value = Action::filter('acf/load_value', $value, $k, $field);
            $value = Action::filter('acf/load_value/type=' . $field['type'], $value, $this->ID, $field);
            $value = Action::filter('acf/load_value/name=' . $field['_name'], $value, $this->ID, $field);
            $value = Action::filter('acf/load_value/key=' . $field['key'], $value, $this->ID, $field);
@@ -123,10 +131,10 @@ class Post extends Model
                $value = acf_format_value($value, $this->ID, $field);
            }

            $meta[$key] = $value;
            $meta[$k] = $value;
        }

        return $meta;
        return $wantsArray ? $meta : collect($meta)->first();
    }

    /**