رفتن به مطلب

مشکل مشکل از قابلی های که "محتوی غیرمنتظره"


پست های پیشنهاد شده

سلام خسته نباشی

با سایتم به نتایج بررسی سلامت فایل ها رو زدم دیگه دوتا رو اومده قابل "محتوی غیرمنتظره" هست.

من به قابل رو درست کردم تا شد ولی دوباره همون دیگه

از دوتاشو قابل که نوشته اینم:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

XenForo                                            src/XF/Data/Currency.php                                                                                             محتوی غیرمنتظره                                                                                 ZarinPal                                            src/addons/ParsForo/ZarinPal/_data/templates.xml                                                                                             محتوی غیرمنتظره                                         

 

 اینو با قابل Currency.php و templates.xml دیگه مشکل نداره :|

اما افزونه پرداخت زرین پال هست , نصب کردم دیگه ولی با اینه قابل Currency.php عوض کردم برای اینجا رو  ببینید.

<?php


namespace XF\Data;


class Currency

{

    protected $popularCurrencies = [

        'IRR', 'CAD', 'EUR', 'GBP', 'USD'

    ];


    public function getCurrencyOptions($popular = false)

    {

        $output = [];

        foreach ($this->getCurrencyData() AS $code => $info)

        {

            if ($popular)

            {

                if (in_array($code, $this->popularCurrencies))

                {

                    $output[$code] = $info['code'] . ' - ' . \XF::phrase($info['phrase']);

                }

            }

            else

            {

                $output[$code] = $info['code'] . ' - ' . \XF::phrase($info['phrase']);

            }

        }

        return $output;

    }


    public function languageFormat($value, $currencyCode, \XF\Language $language = null, $format = null)

    {

        $language = $language ?: \XF::language();


        if ($currency = $this->getCurrency($currencyCode))

        {

            return $language->currencyFormat($value, $currency['symbol'], $currency['precision'], $format);

        }

        else

        {

            return $language->currencyFormat($value, $currencyCode, 2, $format);

        }

    }


    public function getCurrencyData()

    {

        // TODO: periodically check to see if FA has more icons available


        return [

            'AED' => ['code' => 'AED', 'symbol' => 'AED',    'precision' => 2, 'phrase' => 'currency.aed'],

            'AFN' => ['code' => 'AFN', 'symbol' => 'AFN',    'precision' => 2, 'phrase' => 'currency.afn'],

            'ALL' => ['code' => 'ALL', 'symbol' => 'ALL',    'precision' => 2, 'phrase' => 'currency.all'],

            'AMD' => ['code' => 'AMD', 'symbol' => 'AMD',    'precision' => 2, 'phrase' => 'currency.amd'],

            'AOA' => ['code' => 'AOA', 'symbol' => 'AOA',    'precision' => 2, 'phrase' => 'currency.aoa'],

            'ARS' => ['code' => 'ARS', 'symbol' => 'ARS',    'precision' => 2, 'phrase' => 'currency.ars'],

            'AUD' => ['code' => 'AUD', 'symbol' => 'AU$',    'precision' => 2, 'phrase' => 'currency.aud'],

            'AWG' => ['code' => 'AWG', 'symbol' => 'AWG',    'precision' => 2, 'phrase' => 'currency.awg'],

            'AZN' => ['code' => 'AZN', 'symbol' => 'AZN',    'precision' => 2, 'phrase' => 'currency.azn'],

            'BAM' => ['code' => 'BAM', 'symbol' => 'BAM',    'precision' => 2, 'phrase' => 'currency.bam'],

            'BBD' => ['code' => 'BBD', 'symbol' => 'BBD',    'precision' => 2, 'phrase' => 'currency.bbd'],

            'BDT' => ['code' => 'BDT', 'symbol' => 'BDT',    'precision' => 2, 'phrase' => 'currency.bdt'],

            'BGN' => ['code' => 'BGN', 'symbol' => 'BGN',    'precision' => 2, 'phrase' => 'currency.bgn'],

            'BHD' => ['code' => 'BHD', 'symbol' => 'BHD',    'precision' => 3, 'phrase' => 'currency.bhd'],

            'BIF' => ['code' => 'BIF', 'symbol' => 'BIF',    'precision' => 0, 'phrase' => 'currency.bif'],

            'BMD' => ['code' => 'BMD', 'symbol' => 'BMD',    'precision' => 2, 'phrase' => 'currency.bmd'],

            'BND' => ['code' => 'BND', 'symbol' => 'BND',    'precision' => 2, 'phrase' => 'currency.bnd'],

            'BOB' => ['code' => 'BOB', 'symbol' => 'BOB',    'precision' => 2, 'phrase' => 'currency.bob'],

            'BRL' => ['code' => 'BRL', 'symbol' => 'R$',    'precision' => 2, 'phrase' => 'currency.brl'],

            'BWP' => ['code' => 'BWP', 'symbol' => 'BWP',    'precision' => 2, 'phrase' => 'currency.bwp'],

            'BYN' => ['code' => 'BYN', 'symbol' => 'BYN',    'precision' => 0, 'phrase' => 'currency.byn'],

            'BZD' => ['code' => 'BZD', 'symbol' => 'BZD',    'precision' => 2, 'phrase' => 'currency.bzd'],

            'CAD' => ['code' => 'CAD', 'symbol' => 'CA$',    'precision' => 2, 'phrase' => 'currency.cad'],

            'CDF' => ['code' => 'CDF', 'symbol' => 'CDF',    'precision' => 2, 'phrase' => 'currency.cdf'],

            'CHF' => ['code' => 'CHF', 'symbol' => 'CHF',    'precision' => 2, 'phrase' => 'currency.chf'],

            'CLP' => ['code' => 'CLP', 'symbol' => 'CLP',    'precision' => 0, 'phrase' => 'currency.clp'],

            'CNY' => ['code' => 'CNY', 'symbol' => '¥',        'precision' => 2, 'phrase' => 'currency.cny'],

            'COP' => ['code' => 'COP', 'symbol' => 'COP',    'precision' => 2, 'phrase' => 'currency.cop'],

            'CRC' => ['code' => 'CRC', 'symbol' => 'CRC',    'precision' => 2, 'phrase' => 'currency.crc'],

            'CVE' => ['code' => 'CVE', 'symbol' => 'CVE',    'precision' => 2, 'phrase' => 'currency.cve'],

            'CZK' => ['code' => 'CZK', 'symbol' => 'CZK',    'precision' => 2, 'phrase' => 'currency.czk'],

            'DJF' => ['code' => 'DJF', 'symbol' => 'DJF',    'precision' => 0, 'phrase' => 'currency.djf'],

            'DKK' => ['code' => 'DKK', 'symbol' => 'DKK',    'precision' => 2, 'phrase' => 'currency.dkk'],

            'DOP' => ['code' => 'DOP', 'symbol' => 'DOP',    'precision' => 2, 'phrase' => 'currency.dop'],

            'DZD' => ['code' => 'DZD', 'symbol' => 'DZD',    'precision' => 2, 'phrase' => 'currency.dzd'],

            'EGP' => ['code' => 'EGP', 'symbol' => 'EGP',    'precision' => 2, 'phrase' => 'currency.egp'],

            'ERN' => ['code' => 'ERN', 'symbol' => 'ERN',    'precision' => 2, 'phrase' => 'currency.ern'],

            'ETB' => ['code' => 'ETB', 'symbol' => 'ETB',    'precision' => 2, 'phrase' => 'currency.etb'],

            'EUR' => ['code' => 'EUR', 'symbol' => '€',        'precision' => 2, 'phrase' => 'currency.eur', 'fa' => 'fa-euro-sign'],

            'GBP' => ['code' => 'GBP', 'symbol' => '£',        'precision' => 2, 'phrase' => 'currency.gbp', 'fa' => 'fa-pound-sign'],

            'GEL' => ['code' => 'GEL', 'symbol' => 'GEL',    'precision' => 2, 'phrase' => 'currency.gel'],

            'GHS' => ['code' => 'GHS', 'symbol' => 'GHS',    'precision' => 2, 'phrase' => 'currency.ghs'],

            'GNF' => ['code' => 'GNF', 'symbol' => 'GNF',    'precision' => 0, 'phrase' => 'currency.gnf'],

            'GTQ' => ['code' => 'GTQ', 'symbol' => 'GTQ',    'precision' => 2, 'phrase' => 'currency.gtq'],

            'GYD' => ['code' => 'GYD', 'symbol' => 'GYD',    'precision' => 2, 'phrase' => 'currency.gyd'],

            'HKD' => ['code' => 'HKD', 'symbol' => 'HK$',    'precision' => 2, 'phrase' => 'currency.hkd'],

            'HNL' => ['code' => 'HNL', 'symbol' => 'HNL',    'precision' => 2, 'phrase' => 'currency.hnl'],

            'HRK' => ['code' => 'HRK', 'symbol' => 'HRK',    'precision' => 2, 'phrase' => 'currency.hrk'],

            'HUF' => ['code' => 'HUF', 'symbol' => 'HUF',    'precision' => 2, 'phrase' => 'currency.huf'],

            'IDR' => ['code' => 'IDR', 'symbol' => 'IDR',    'precision' => 2, 'phrase' => 'currency.idr'],

            'ILS' => ['code' => 'ILS', 'symbol' => '₪',        'precision' => 2, 'phrase' => 'currency.ils', 'fa' => 'fa-shekel-sign'],

            'INR' => ['code' => 'INR', 'symbol' => '₹',        'precision' => 2, 'phrase' => 'currency.inr', 'fa' => 'fa-rupee-sign'],

            'IQD' => ['code' => 'IQD', 'symbol' => 'IQD',    'precision' => 3, 'phrase' => 'currency.iqd'],

            'IRR' => ['code' => 'IRR', 'symbol' => 'ریال',    'precision' => 0, 'phrase' => 'currency.irr'],

            'ISK' => ['code' => 'ISK', 'symbol' => 'ISK',    'precision' => 0, 'phrase' => 'currency.isk'],

            'JMD' => ['code' => 'JMD', 'symbol' => 'JMD',    'precision' => 2, 'phrase' => 'currency.jmd'],

            'JOD' => ['code' => 'JOD', 'symbol' => 'JOD',    'precision' => 3, 'phrase' => 'currency.jod'],

            'JPY' => ['code' => 'JPY', 'symbol' => '¥',        'precision' => 0, 'phrase' => 'currency.jpy', 'fa' => 'fa-yen-sign'],

            'KES' => ['code' => 'KES', 'symbol' => 'KES',    'precision' => 2, 'phrase' => 'currency.kes'],

            'KHR' => ['code' => 'KHR', 'symbol' => 'KHR',    'precision' => 2, 'phrase' => 'currency.khr'],

            'KMF' => ['code' => 'KMF', 'symbol' => 'KMF',    'precision' => 0, 'phrase' => 'currency.kmf'],

            'KRW' => ['code' => 'KRW', 'symbol' => '₩',        'precision' => 0, 'phrase' => 'currency.krw', 'fa' => 'fa-won-sign'],

            'KWD' => ['code' => 'KWD', 'symbol' => 'KWD',    'precision' => 3, 'phrase' => 'currency.kwd'],

            'KZT' => ['code' => 'KZT', 'symbol' => 'KZT',    'precision' => 2, 'phrase' => 'currency.kzt'],

            'LBP' => ['code' => 'LBP', 'symbol' => 'LBP',    'precision' => 2, 'phrase' => 'currency.lbp'],

            'LKR' => ['code' => 'LKR', 'symbol' => 'LKR',    'precision' => 2, 'phrase' => 'currency.lkr'],

            'LRD' => ['code' => 'LRD', 'symbol' => 'LRD',    'precision' => 2, 'phrase' => 'currency.lrd'],

            'LTL' => ['code' => 'LTL', 'symbol' => 'LTL',    'precision' => 2, 'phrase' => 'currency.ltl'],

            'LYD' => ['code' => 'LYD', 'symbol' => 'LYD',    'precision' => 3, 'phrase' => 'currency.lyd'],

            'MAD' => ['code' => 'MAD', 'symbol' => 'MAD',    'precision' => 2, 'phrase' => 'currency.mad'],

            'MDL' => ['code' => 'MDL', 'symbol' => 'MDL',    'precision' => 2, 'phrase' => 'currency.mdl'],

            'MGA' => ['code' => 'MGA', 'symbol' => 'MGA',    'precision' => 2, 'phrase' => 'currency.mga'],

            'MKD' => ['code' => 'MKD', 'symbol' => 'MKD',    'precision' => 2, 'phrase' => 'currency.mkd'],

            'MMK' => ['code' => 'MMK', 'symbol' => 'MMK',    'precision' => 2, 'phrase' => 'currency.mmk'],

            'MOP' => ['code' => 'MOP', 'symbol' => 'MOP',    'precision' => 2, 'phrase' => 'currency.mop'],

            'MUR' => ['code' => 'MUR', 'symbol' => 'MUR',    'precision' => 2, 'phrase' => 'currency.mur'],

            'MXN' => ['code' => 'MXN', 'symbol' => 'MX$',    'precision' => 2, 'phrase' => 'currency.mxn'],

            'MYR' => ['code' => 'MYR', 'symbol' => 'MYR',    'precision' => 2, 'phrase' => 'currency.myr'],

            'MZN' => ['code' => 'MZN', 'symbol' => 'MZN',    'precision' => 2, 'phrase' => 'currency.mzn'],

            'NAD' => ['code' => 'NAD', 'symbol' => 'NAD',    'precision' => 2, 'phrase' => 'currency.nad'],

            'NGN' => ['code' => 'NGN', 'symbol' => 'NGN',    'precision' => 2, 'phrase' => 'currency.ngn'],

            'NIO' => ['code' => 'NIO', 'symbol' => 'NIO',    'precision' => 2, 'phrase' => 'currency.nio'],

            'NOK' => ['code' => 'NOK', 'symbol' => 'NOK',    'precision' => 2, 'phrase' => 'currency.nok'],

            'NPR' => ['code' => 'NPR', 'symbol' => 'NPR',    'precision' => 2, 'phrase' => 'currency.npr'],

            'NZD' => ['code' => 'NZD', 'symbol' => 'NZ$',    'precision' => 2, 'phrase' => 'currency.nzd'],

            'OMR' => ['code' => 'OMR', 'symbol' => 'OMR',    'precision' => 3, 'phrase' => 'currency.omr'],

            'PAB' => ['code' => 'PAB', 'symbol' => 'PAB',    'precision' => 2, 'phrase' => 'currency.pab'],

            'PEN' => ['code' => 'PEN', 'symbol' => 'PEN',    'precision' => 2, 'phrase' => 'currency.pen'],

            'PHP' => ['code' => 'PHP', 'symbol' => 'PHP',    'precision' => 2, 'phrase' => 'currency.php'],

            'PKR' => ['code' => 'PKR', 'symbol' => 'PKR',    'precision' => 2, 'phrase' => 'currency.pkr'],

            'PLN' => ['code' => 'PLN', 'symbol' => 'PLN',    'precision' => 2, 'phrase' => 'currency.pln'],

            'PYG' => ['code' => 'PYG', 'symbol' => 'PYG',    'precision' => 0, 'phrase' => 'currency.pyg'],

            'QAR' => ['code' => 'QAR', 'symbol' => 'QAR',    'precision' => 2, 'phrase' => 'currency.qar'],

            'RON' => ['code' => 'RON', 'symbol' => 'RON',    'precision' => 2, 'phrase' => 'currency.ron'],

            'RSD' => ['code' => 'RSD', 'symbol' => 'RSD',    'precision' => 2, 'phrase' => 'currency.rsd'],

            'RUB' => ['code' => 'RUB', 'symbol' => 'RUB',    'precision' => 2, 'phrase' => 'currency.rub', 'fa' => 'fa-ruble-sign'],

            'RWF' => ['code' => 'RWF', 'symbol' => 'RWF',    'precision' => 0, 'phrase' => 'currency.rwf'],

            'SAR' => ['code' => 'SAR', 'symbol' => 'SAR',    'precision' => 2, 'phrase' => 'currency.sar'],

            'SDG' => ['code' => 'SDG', 'symbol' => 'SDG',    'precision' => 2, 'phrase' => 'currency.sdg'],

            'SEK' => ['code' => 'SEK', 'symbol' => 'SEK',    'precision' => 2, 'phrase' => 'currency.sek'],

            'SGD' => ['code' => 'SGD', 'symbol' => 'SGD',    'precision' => 2, 'phrase' => 'currency.sgd'],

            'SOS' => ['code' => 'SOS', 'symbol' => 'SOS',    'precision' => 2, 'phrase' => 'currency.sos'],

            'STD' => ['code' => 'STD', 'symbol' => 'STD',    'precision' => 2, 'phrase' => 'currency.std'],

            'SYP' => ['code' => 'SYP', 'symbol' => 'SYP',    'precision' => 2, 'phrase' => 'currency.syp'],

            'THB' => ['code' => 'THB', 'symbol' => '฿',        'precision' => 2, 'phrase' => 'currency.thb'],

            'TND' => ['code' => 'TND', 'symbol' => 'TND',    'precision' => 3, 'phrase' => 'currency.tnd'],

            'TOP' => ['code' => 'TOP', 'symbol' => 'TOP',    'precision' => 2, 'phrase' => 'currency.top'],

            'TRY' => ['code' => 'TRY', 'symbol' => 'TRY',    'precision' => 2, 'phrase' => 'currency.try', 'fa' => 'fa-lira-sign'],

            'TTD' => ['code' => 'TTD', 'symbol' => 'TTD',    'precision' => 2, 'phrase' => 'currency.ttd'],

            'TWD' => ['code' => 'TWD', 'symbol' => 'NT$',    'precision' => 2, 'phrase' => 'currency.twd'],

            'TZS' => ['code' => 'TZS', 'symbol' => 'TZS',    'precision' => 2, 'phrase' => 'currency.tzs'],

            'UAH' => ['code' => 'UAH', 'symbol' => 'UAH',    'precision' => 2, 'phrase' => 'currency.uah'],

            'UGX' => ['code' => 'UGX', 'symbol' => 'UGX',    'precision' => 0, 'phrase' => 'currency.ugx'],

            'USD' => ['code' => 'USD', 'symbol' => '$',        'precision' => 2, 'phrase' => 'currency.usd', 'fa' => 'fa-dollar-sign'],

            'UYU' => ['code' => 'UYU', 'symbol' => 'UYU',    'precision' => 2, 'phrase' => 'currency.uyu'],

            'UZS' => ['code' => 'UZS', 'symbol' => 'UZS',    'precision' => 2, 'phrase' => 'currency.uzs'],

            'VEF' => ['code' => 'VEF', 'symbol' => 'VEF',    'precision' => 2, 'phrase' => 'currency.vef'],

            'VND' => ['code' => 'VND', 'symbol' => '₫',        'precision' => 0, 'phrase' => 'currency.vnd'],

            'XAF' => ['code' => 'XAF', 'symbol' => 'FCFA',    'precision' => 0, 'phrase' => 'currency.xaf'],

            'XOF' => ['code' => 'XOF', 'symbol' => 'CFA',    'precision' => 0, 'phrase' => 'currency.xof'],

            'YER' => ['code' => 'YER', 'symbol' => 'YER',    'precision' => 2, 'phrase' => 'currency.yer'],

            'ZAR' => ['code' => 'ZAR', 'symbol' => 'ZAR',    'precision' => 2, 'phrase' => 'currency.zar'],

            'ZMK' => ['code' => 'ZMK', 'symbol' => 'ZMK',    'precision' => 0, 'phrase' => 'currency.zmk']

        ];

    }


    protected function getCurrency(&$currencyCode)

    {

        $currencyCode = strtoupper($currencyCode);

        $data = $this->getCurrencyData();


        return isset($data[$currencyCode]) ? $data[$currencyCode] : null;

    }


    public function getCurrencySymbol($currencyCode)

    {

        $currency = $this->getCurrency($currencyCode);


        return $currency ? $currency['symbol'] : '';

    }


    public function getCurrencyFa($currencyCode)

    {

        $currency = $this->getCurrency($currencyCode);


        return isset($currency['fa']) ? $currency['fa'] : '';

    }


    public function getCurrencyFormats()

    {

        return [

            '{symbol}{value}',

            '{symbol} {value}',

            '{value}{symbol}',

            '{value} {symbol}'

        ];

    }


    public function getCurrencyFormatExamples(\XF\Language $language = null)

    {

        $language = $language ?: \XF::language();


        $currencyFormats = [];

        foreach ($this->getCurrencyFormats() AS $currencyFormat)

        {

            $currencyFormats[$currencyFormat] = $this->languageFormat('1234.50', 'USD', $language, $currencyFormat);

        }


        return $currencyFormats;

    }

}

 

و زرین پال در قابل templates.xml رو ببینید که مشکل داره؟

<?xml version="1.0" encoding="utf-8"?>

<templates>

  <template type="admin" title="payment_profile_ZarinPal" version_id="1" version_string="1.0.0"><![CDATA[

<xf:textboxrow name="options[zarinpal_merchant]" value="{$profile.options.zarinpal_merchant}"

    label="{{ phrase('zarinpal_merchant_id') }}"

    hint="{{ phrase('required') }}">

</xf:textboxrow>

<xf:checkboxrow>

    <xf:option name="options[zarinpal_testmode]" selected="$profile.options.zarinpal_testmode" label="{{ phrase('zarinpal_test_mode') }}" />

</xf:checkboxrow>

<xf:checkboxrow>

    <xf:option name="options[zarinpal_zaringate]" selected="$profile.options.zarinpal_zaringate" label="{{ phrase('zarinpal_zaringate') }}" />

</xf:checkboxrow>

<xf:checkboxrow>

    <xf:option name="options[zarinpal_sepgate]" selected="$profile.options.zarinpal_sepgate" label="{{ phrase('zarinpal_sepgate') }}" />

</xf:checkboxrow>

<xf:hiddenval name="options[legacy]" value="{{ $profile.options.legacy ? 1 : 0 }}" />

]]></template>

  <template type="public" title="payment_initiate_ZarinPal" version_id="1" version_string="1.0.0"><![CDATA[<xf:css src="payment_initiate.less" />

<xf:title>{{ phrase('zarinpal_confirm_payment_details') }}</xf:title>

<form action="{$endpointUrl}" class="block block--paymentInitiate" method="GET">

    <div class="block-container">

        <div class="block-body">

            <xf:formrow controlid="element">

                <div class="formRow-explain">{{ phrase('payments_processed_securely_by_x', {'link': 'https://zarinpal.com/', 'provider': 'ZarinPal'}) }}</div>

            </xf:formrow>

            <hr class="formRowSep" />

            <xf:formrow label="" rowtype="button">

                <xf:button type="submit" icon="payment">

                    {{ phrase('pay_x', {'cost': $purchase.cost|currency($purchase.currency)}) }}

                </xf:button>

            </xf:formrow>

            <xf:foreach loop="$payment" value="$value" key="$name">

                <input type="hidden" name="{$name}" value="{$value}" />

            </xf:foreach>

        </div>

    </div>

</form>]]></template>

</templates>

و تصویر برام رو ببینید.

hym89muhlrfih4am.png

متشکرم.

ایدی تلگرام: t.me/parsacr7_ac

ویرایش شده توسط ParsaCr766295
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...