Example #1
0
/**
 * 2015-12-28
 * @param string[] $filter [optional]
 * @param int|string|null|bool|StoreInterface $store [optional]
 * @return array(array(string => string))
 */
function df_currencies_options(array $filter = [], $store = null)
{
    return dfcf(function (array $filter = [], $store = null) {
        /** @var array(string => string) $all */
        $all = df_currencies_ctn($store);
        return df_map_to_options(!$filter ? $all : dfa_select_ordered($all, $filter));
    }, func_get_args());
}
Example #2
0
/**
* 2015-02-07
* Функция предназначена для работы только с ассоциативными массивами!
* Фантастически лаконичное и красивое решение!
* Вынес его в отдельную функцию, чтобы не забыть!
* Например:
		$source = array(
			'RU' => 'Россия', 'KZ' => 'Казахстан', 'TJ' => 'Таджикистан','US' => 'США','CA' => 'Канада'
		);
		$priorityKeys = array('TJ', 'CA');
		print_r(dfa_prepend_by_keys($source, $priorityKeys));
* Вернёт:
	 Array
	 (
		 [TJ] => Таджикистан
		 [CA] => Канада
		 [RU] => Россия
		 [KZ] => Казахстан
		 [US] => США
	 )
* http://3v4l.org/QYffO
* Обратите внимание, что @uses array_flip() корректно работает с пустыми массивами:
	print_r(array_flip(array()));
* вернёт array()
* http://3v4l.org/Kd01X
* @uses dfa_prepend()
* @used-by Df_Directory_Model_Resource_Country_Collection::toOptionArrayRm()
* @param array(string => mixed) $source
* @param string[] $priorityKeys
* @return array(string => mixed)
*/
function dfa_prepend_by_keys(array $source, array $priorityKeys)
{
    return dfa_prepend($source, dfa_select_ordered($source, $priorityKeys));
}
Example #3
0
 /**
  * 2016-08-07
  * @used-by \Dfe\AllPay\Settings::methodsLabels()
  * @param string[]|null $keys [optional]
  * @return array(string => string)
  */
 public function options($keys = null)
 {
     /** @var array(string => string) $options */
     $options = $this->map();
     return df_translate_a(is_null($keys) ? $options : dfa_select_ordered($options, $keys));
 }
Example #4
0
/**
 * 2016-08-08
 * @used-by \Df\Payment\Charge::iia()
 * @used-by \Df\Payment\Method::iia()
 * @param II|OP|QP $payment
 * @param string|string[]|null $keys  [optional]
 * @return mixed|array(string => mixed)
 */
function dfp_iia(II $payment, $keys = null)
{
    /** @var mixed|array(string => mixed) $result */
    if (is_null($keys)) {
        $result = $payment->getAdditionalInformation();
    } else {
        if (!is_array($keys)) {
            $keys = df_tail(func_get_args());
        }
        $result = 1 === count($keys) ? $payment->getAdditionalInformation(df_first($keys)) : dfa_select_ordered($payment->getAdditionalInformation(), $keys);
    }
    return $result;
}
Example #5
0
 /**
  * 2016-05-21
  * @param string[] ...$keys
  * @return mixed|array(string => mixed)
  */
 protected function iia(...$keys)
 {
     return !$keys ? $this->ii()->getAdditionalInformation() : (1 === count($keys) ? $this->ii()->getAdditionalInformation(df_first($keys)) : dfa_select_ordered($this->ii()->getAdditionalInformation(), $keys));
 }