HEX
Server: nginx/1.18.0
System: Linux vcwordpress 5.15.0-174-generic #184-Ubuntu SMP Fri Mar 13 18:41:50 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/newfaith.focalat.com/new-faith/wp-content/plugins/give/src/Helpers/ArrayDataSet.php
<?php

namespace Give\Helpers;

class ArrayDataSet
{
    /**
     * This function will return array with renamed keys.
     *
     * This function only support one dimensional array.
     * You can pass a multi dimensional array but only zero level array keys will be renamed.
     *
     * @since 2.7.0
     *
     * @param array $renameTo Pass array of existing key name as key and new key name as value.
     *
     * @param array $array
     *
     * @return array
     */
    public static function renameKeys($array, $renameTo)
    {
        // Rename key if property name exist for them.
        foreach ($renameTo as $oldKey => $newKey) {
            if (array_key_exists($oldKey, $array)) {
                $array[$newKey] = $array[$oldKey];
                unset($array[$oldKey]);
            }
        }

        return $array;
    }

    /**
     * Return whether or not array contains required keys.
     *
     * This function only support one dimensional array.
     *
     * @since 2.7.0
     *
     * @param array $array
     * @param array $requiredKeys Array of required keys.
     *
     * @return bool
     */
    public static function hasRequiredKeys($array, $requiredKeys)
    {
        return (bool)array_intersect_key($array, array_flip($requiredKeys));
    }

    /**
     *  Return array with grouped under specific key.
     *
     * @param array  $array
     * @param array  $itemsToMove
     * @param string $arrayKey
     *
     * @return mixed
     */
    public static function moveArrayItemsUnderArrayKey($array, $itemsToMove, $arrayKey)
    {
        foreach ($itemsToMove as $key) {
            if (array_key_exists($key, $array)) {
                $array[$arrayKey][$key] = $array[$key];
                unset($array[$key]);
            }
        }

        return $array;
    }

    /**
     * Creates a new array from the old one with all of the index keys converted to camel case.
     * This is only intended for associative arrays.
     *
     * @since 2.8.0
     *
     * @param $array
     *
     * @return array
     */
    public static function camelCaseKeys($array)
    {
        $newArray = [];

        foreach ($array as $key => $value) {
            $studlyKey = ucwords(str_replace(['-', '_'], ' ', $key));
            $studlyKey = lcfirst(str_replace(' ', '', $studlyKey));

            $newArray[$studlyKey] = $value;
        }

        return $newArray;
    }

    /**
     * Creates a comma separated string and each value enclosed with single quote from array.
     *
     * @since 2.10.0
     *
     * @param array $array
     *
     * @return string
     */
    public static function getStringSeparatedByCommaEnclosedWithSingleQuote($array)
    {
        return sprintf(
            '\'%s\'',
            implode('\',\'', $array)
        );
    }
}