This commit is contained in:
2024-12-31 11:07:09 +01:00
parent df7915205d
commit e089172b15
1916 changed files with 165422 additions and 271 deletions

View File

@ -0,0 +1,65 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2020 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
JLoader::register('ACF_Field', JPATH_PLUGINS . '/system/acf/helper/plugin.php');
if (!class_exists('ACF_Field'))
{
Factory::getApplication()->enqueueMessage('Advanced Custom Fields System Plugin is missing', 'error');
return;
}
class PlgFieldsACFPayPal extends ACF_Field
{
/**
* Override the field type
*
* @var string
*/
protected $overrideType = 'ACFPayPal';
/**
* Update the label of the field in filters.
*
* @param \Bluecoder\Component\Jfilters\Administrator\Model\Filter\Option\Collection $options
*
* @return \Bluecoder\Component\Jfilters\Administrator\Model\Filter\Option\Collection
*/
public function onJFiltersOptionsAfterCreation(\Bluecoder\Component\Jfilters\Administrator\Model\Filter\Option\Collection $options)
{
// Make sure it is a field of that type
if ($options->getFilterItem()->getAttributes()->get('type') !== $this->_name)
{
return $options;
}
foreach ($options as $option)
{
$optionData = $option->getData();
$value = is_string($optionData->value) ? json_decode($optionData->value, true) : $optionData->value;
if (!is_array($value) || !isset($value['item_name']) || empty($value['item_name']))
{
continue;
}
$option->setLabel($value['item_name']);
}
return $options;
}
}

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<extension type="plugin" version="3.7.0" group="fields" method="upgrade">
<name>ACF_PAYPAL</name>
<description>ACF_PAYPAL_DESC</description>
<author>Tassos Marinos</author>
<creationDate>April 2020</creationDate>
<copyright>Copyright (C) 2020 Tassos Marinos. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>info@tassos.gr</authorEmail>
<authorUrl>www.tassos.gr</authorUrl>
<version>1.0</version>
<scriptfile>script.install.php</scriptfile>
<files>
<filename plugin="acfpaypal">acfpaypal.php</filename>
<filename>script.install.helper.php</filename>
<filename>version.php</filename>
<folder>fields</folder>
<folder>language</folder>
<folder>params</folder>
<folder>tmpl</folder>
</files>
<media folder="media" destination="plg_fields_acfpaypal">
<folder>css</folder>
<folder>img</folder>
</media>
</extension>

View File

@ -0,0 +1,57 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2020 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Form\Field\TextField;
use Joomla\CMS\Language\Text;
class JFormFieldACFPayPal extends TextField
{
/**
* Renders the PayPal settings when viewing a specific item
*
* @return string The field input markup.
*/
protected function getInput()
{
$required = (bool) $this->required;
$requiredAtt = ($required) ? ' required="required"' : '';
$value = is_string($this->value) ? json_decode($this->value) : $this->value;
// get overriden values or fall back to default
$itemName = isset($value->item_name) ? $value->item_name : '';
$price = isset($value->price) ? $value->price : '';
return '
<div class="acf-paypal-item-settings">
<div class="control-group">
<div class="control-label">
<label for="' . $this->id . '_item_name" class="hasPopover" data-content="' . Text::_('ACF_PAYPAL_ITEM_NAME_DESC') . '" data-original-title="' . Text::_('ACF_PAYPAL_ITEM_NAME') . '">' . Text::_('ACF_PAYPAL_ITEM_NAME') . '</label>
</div>
<div class="controls">
<input id="' . $this->id . '_item_name" type="text" name="' . $this->name . '[item_name]" value="' . $itemName . '" placeholder="' . Text::_('ACF_PAYPAL_ITEM_NAME_HINT') . '" class="form-control input-xlarge w-100"' . $requiredAtt . ($this->disabled ? ' disabled' : '') . ' />
</div>
</div>
<div class="control-group">
<div class="control-label">
<label for="' . $this->id . '_price" class="hasPopover" data-content="' . Text::_('ACF_PAYPAL_PRICE_DESC') . '" data-original-title="' . Text::_('ACF_PAYPAL_PRICE') . '">' . Text::_('ACF_PAYPAL_PRICE') . '</label>
</div>
<div class="controls">
<input id="' . $this->id . '_price" type="text" name="' . $this->name . '[price]" value="' . $price . '" placeholder="' . Text::_('ACF_PAYPAL_PRICE_HINT') . '" class="form-control input-xlarge w-100"' . $requiredAtt . ($this->disabled ? ' disabled' : '') . ' />
</div>
</div>
</div>
';
}
}

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Camps - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Estableix el nom i el preu del producte o servei que vens."
ACF_PAYPAL_PAYMENT_TYPE="Tipus de pagament"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Estableix un tipus de pagament.<br><strong>Pagament: Pagament únic.<br><strong>Donatiu</strong>: Una donació voluntària.<br><strong>Subscripció</strong>: Un pagament recurrent."
ACF_PAYPAL_CHECKOUT="Pagament"
ACF_PAYPAL_DONATION="Donació"
ACF_PAYPAL_SUBSCRIPTION="Subscripció"
ACF_PAYPAL_ACCOUNT="Adreça de correu electrònic Paypal"
ACF_PAYPAL_ACCOUNT_DESC="Estableix la teva adreça de correu electrònic PayPal on rebràs els diners. Aquesta adreça ha de ser d'un compte PayPal de negoci."
ACF_PAYPAL_PRICE="Preu"
ACF_PAYPAL_PRICE_DESC="Estableix el preu del producte o el servei que vens."
ACF_PAYPAL_PRICE_HINT="Preu de producte"
ACF_PAYPAL_ITEM_NAME="Nom de l'ítem"
ACF_PAYPAL_ITEM_NAME_DESC="Establei el nom de l'ítem que es mostrarà a la pàgina de pagament Paypal."
ACF_PAYPAL_ITEM_NAME_HINT="Nom del producte"
ACF_PAYPAL_CURRENCY="Divisa"
ACF_PAYPAL_CURRENCY_DESC="Escull la divisa en què els usuaris pagaran els productes o serveis que subministres."
ACF_PAYPAL_BILLING_INTERVAL="Interval de facturació"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Estableix la duració de la subscripció en dies."
ACF_PAYPAL_LANGUAGE="Idioma"
ACF_PAYPAL_LANGUAGE_DESC="Estableix si mantenir l'idioma per defecte o aplicar un idioma específic a la pàgina de pagament PayPal."
ACF_PAYPAL_LANGUAGE_LOCALE="Idioma local"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Estableix l'idioma local a utilitzar a la pàgina de pagament PayPal"
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Codis d'idioma local suportats"
ACF_PAYPAL_FIXED="Fixat"
ACF_PAYPAL_RETURN_URL="URL de retorn"
ACF_PAYPAL_RETURN_URL_DESC="Estableix l'URL on es redireccionarà l'usuari en completar la transacció."
ACF_PAYPAL_CANCEL_URL="URL de cancel·lació"
ACF_PAYPAL_CANCEL_URL_DESC="Estableix l'URL on es redireccionarà l'usuari en cas de cancel·lar la transacció."
ACF_PAYPAL_BUTTON_TYPE="Tipus de botó"
ACF_PAYPAL_BUTTON_TYPE_DESC="Escull el tipus de botó, pot ser un estil del llistat predefinit o utilitzar una imatge personalitzada com botó PayPal"
ACF_PAYPAL_STYLE="Estil"
ACF_PAYPAL_STYLE_SELECTOR="Estil de botó"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Escull un botó del nostre llistat predefinit."
ACF_PAYPAL_BUTTON_IMAGE="Imatge de botó"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Estableix una imatge com el teu botó PayPal."
ACF_PAYPAL_NEW_TAB="Obre PayPal a una nova pestanya"
ACF_PAYPAL_NEW_TAB_DESC="Activa obrir Paypal en una nova pestanya."
ACF_PAYPAL_SANDBOX_MODE="Mode calaix de sorra"
ACF_PAYPAL_SANDBOX_MODE_DESC="Activa el mode calaix de sorra, utilitzat per depurar el botó PayPal durant el desenvolupament."
ACF_PAYPAL_SANDBOX_ACCOUNT="Adreçá de correu electrònic calaix de sorra"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Escriu la teva adreça de correu electrònic PayPal calaix de sorra. Si es deixa en blanc, s'utilitzarà l'adreça de correu electrònic PayPal."

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Felter - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Angiv navnet og prisen på produktet eller servicen som du sælger."
ACF_PAYPAL_PAYMENT_TYPE="Betalingstype"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Vælg en betalingstype.<br><strong>Tjek ud</strong>: En engangsbetaling.<br><strong>Donation</strong>: En frivillig donation.<br><strong>Abonnement</strong>: En gentagende betaling."
ACF_PAYPAL_CHECKOUT="Tjek ud"
ACF_PAYPAL_DONATION="Donation"
ACF_PAYPAL_SUBSCRIPTION="Abonnement"
ACF_PAYPAL_ACCOUNT="PayPal e-mailadresse"
ACF_PAYPAL_ACCOUNT_DESC="Sæt din PayPal E-mailadresse hvortil du vil modtage betalingerne. Denne e-mail skal tilhøre en forretnings PayPal konto."
ACF_PAYPAL_PRICE="Pris"
ACF_PAYPAL_PRICE_DESC="Angiv prisen for produktet eller servicen som du sælger."
ACF_PAYPAL_PRICE_HINT="Produktpris"
ACF_PAYPAL_ITEM_NAME="Elementnavn"
ACF_PAYPAL_ITEM_NAME_DESC="Sæt elementnavnet der skal vises på PayPal udtjeningssiden."
ACF_PAYPAL_ITEM_NAME_HINT="Produktnavn"
ACF_PAYPAL_CURRENCY="Valuta"
ACF_PAYPAL_CURRENCY_DESC="Vælg valutaen som dine brugere skal betale i for dit produkt eller servicen som du leverer."
ACF_PAYPAL_BILLING_INTERVAL="Faktureringsinterval"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Angiv varigheden af abonnementet i dage."
ACF_PAYPAL_LANGUAGE="Sprog"
ACF_PAYPAL_LANGUAGE_DESC="Angiv om standardsproget skal bibeholdes eller om et specifikt sprog skal anvendes på PayPal tjek ud siden."
ACF_PAYPAL_LANGUAGE_LOCALE="Sprog"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Sæt sproget der skal anvendes på PayPal tjek ud siden."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Understøttede lokaliseringskoderLocale Codes"
ACF_PAYPAL_FIXED="Fast"
ACF_PAYPAL_RETURN_URL="Returnerings URL"
ACF_PAYPAL_RETURN_URL_DESC="Angiv URL'en hvortil brugeren vil blive omdirigeret til efter en gennemført transaktion."
ACF_PAYPAL_CANCEL_URL="Annullerings URL"
ACF_PAYPAL_CANCEL_URL_DESC="Angiv URL'en som brugeren vil blive omdirigeret til efter annullering af transaktionen."
ACF_PAYPAL_BUTTON_TYPE="Knaptype"
ACF_PAYPAL_BUTTON_TYPE_DESC="Vælg knaptypen. Enten en stil fra vores præ-definerede lists med knapper, eller anvend et brugerdefineret billede som din PayPal knap."
ACF_PAYPAL_STYLE="Stil"
ACF_PAYPAL_STYLE_SELECTOR="Knapstil"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Vælg en knap fra vores prædefinerede liste."
ACF_PAYPAL_BUTTON_IMAGE="Knapbillede"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Angiv et billede som din PayPal knap."
ACF_PAYPAL_NEW_TAB="Åben PayPal i en ny fanen new tab"
ACF_PAYPAL_NEW_TAB_DESC="Aktiver at åbne PayPal i en ny fane."
ACF_PAYPAL_SANDBOX_MODE="Sandkassetilstandbox Mode"
ACF_PAYPAL_SANDBOX_MODE_DESC="Angiv om sandkassetilstand skal aktiveres. Anvendes til at fejlsøge PayPal knappen under udvililng."
ACF_PAYPAL_SANDBOX_ACCOUNT="Sandkasse e-mailadresse"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Angiv din sandkasse PayPal e-mailadresse. hvis efterladt tom, så vil PayPal e-mailadressen blive anvendt."

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Felder - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Legen Sie den Namen und den Preis des Produkts oder der Dienstleistung fest, die Sie verkaufen."
ACF_PAYPAL_PAYMENT_TYPE="Zahlungsart"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Wählen Sie eine Zahlungsart aus. <br> <strong> Checkout </strong>: Eine einmalige Zahlung. <br> <strong> Spende </strong>: Eine freiwillige Spende. <br> <strong> Abonnement </stark>: Eine wiederkehrende Zahlung. "
ACF_PAYPAL_CHECKOUT="Kasse"
ACF_PAYPAL_DONATION="Spende"
ACF_PAYPAL_SUBSCRIPTION="Abonnement"
ACF_PAYPAL_ACCOUNT="PayPal-E-Mail-Adresse"
ACF_PAYPAL_ACCOUNT_DESC="Legen Sie Ihre PayPal-E-Mail-Adresse fest, an die Sie das Geld erhalten. Diese E-Mail muss zu einem geschäftlichen PayPal-Konto gehören."
ACF_PAYPAL_PRICE="Preis"
ACF_PAYPAL_PRICE_DESC="Legen Sie den Preis für das Produkt oder die Dienstleistung fest, die Sie verkaufen."
ACF_PAYPAL_PRICE_HINT="Produktpreis"
ACF_PAYPAL_ITEM_NAME="Elementname"
ACF_PAYPAL_ITEM_NAME_DESC="Legen Sie den Artikelnamen fest, der auf der PayPal-Checkout-Seite angezeigt werden soll."
ACF_PAYPAL_ITEM_NAME_HINT="Produktname"
ACF_PAYPAL_CURRENCY="Währung"
ACF_PAYPAL_CURRENCY_DESC="Wählen Sie die Währung aus, die Ihre Benutzer für Ihre von Ihnen angebotenen Produkte oder Dienstleistungen bezahlen."
ACF_PAYPAL_BILLING_INTERVAL="Abrechnungsintervall"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Legen Sie die Dauer des Abonnements in Tagen fest."
ACF_PAYPAL_LANGUAGE="Sprache"
ACF_PAYPAL_LANGUAGE_DESC="Legen Sie fest, ob die Standardsprache beibehalten oder eine bestimmte Sprache auf der PayPal-Checkout-Seite angewendet werden soll."
ACF_PAYPAL_LANGUAGE_LOCALE="Sprachgebietsschema"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Legen Sie das Gebietsschema der Sprache fest, die auf der PayPal-Checkout-Seite verwendet werden soll."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Unterstützte Gebietsschema-Codes"
ACF_PAYPAL_FIXED="Behoben"
ACF_PAYPAL_RETURN_URL="Abschluss URL "
ACF_PAYPAL_RETURN_URL_DESC="Legen Sie die URL fest, unter der der Benutzer nach erfolgreichem Abschluss der Transaktion umgeleitet wird."
ACF_PAYPAL_CANCEL_URL="URL abbrechen"
ACF_PAYPAL_CANCEL_URL_DESC="Legen Sie die URL fest, unter der der Benutzer nach Abbruch der Transaktion umgeleitet wird."
ACF_PAYPAL_BUTTON_TYPE="Schaltflächentyp"
ACF_PAYPAL_BUTTON_TYPE_DESC="Wählen Sie den Schaltflächentyp aus, entweder einen Stil aus unserer vordefinierten Liste von Schaltflächen oder verwenden Sie ein benutzerdefiniertes Bild als PayPal-Schaltfläche."
ACF_PAYPAL_STYLE="Stil"
ACF_PAYPAL_STYLE_SELECTOR="Schaltflächenstil"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Wählen Sie eine Schaltfläche aus unserer vordefinierten Liste aus."
ACF_PAYPAL_BUTTON_IMAGE="Schaltflächenbild"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Legen Sie ein Bild als PayPal-Schaltfläche fest."
ACF_PAYPAL_NEW_TAB="PayPal in neuem Tab öffnen"
ACF_PAYPAL_NEW_TAB_DESC="Aktivieren Sie das Öffnen von PayPal in einem neuen Tab."
ACF_PAYPAL_SANDBOX_MODE="Sandbox-Modus"
ACF_PAYPAL_SANDBOX_MODE_DESC="Legen Sie fest, ob der Sandbox-Modus aktiviert werden soll, der zum Debuggen der PayPal-Schaltfläche während der Entwicklung verwendet wird."
ACF_PAYPAL_SANDBOX_ACCOUNT="Sandbox-E-Mail-Adresse"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Geben Sie Ihre Sandbox-PayPal-E-Mail-Adresse ein. Wenn diese Option leer bleibt, wird die PayPal-E-Mail-Adresse verwendet."

View File

@ -0,0 +1,52 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Fields - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Set the name and the price of the product or the service you are selling."
ACF_PAYPAL_PAYMENT_TYPE="Payment Type"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Select a payment type.<br><strong>Checkout</strong>: A one time payment.<br><strong>Donation</strong>: A voluntary donation.<br><strong>Subscription</strong>: A recurring payment."
ACF_PAYPAL_CHECKOUT="Checkout"
ACF_PAYPAL_DONATION="Donation"
ACF_PAYPAL_SUBSCRIPTION="Subscription"
ACF_PAYPAL_ACCOUNT="PayPal Email Address"
ACF_PAYPAL_ACCOUNT_DESC="Set your PayPal Email Address where you will receive the funds. This email needs to belong to a business PayPal account."
ACF_PAYPAL_PRICE="Price"
ACF_PAYPAL_PRICE_DESC="Set the price for the product or the service you are selling."
ACF_PAYPAL_PRICE_HINT="Product Price"
ACF_PAYPAL_ITEM_NAME="Item Name"
ACF_PAYPAL_ITEM_NAME_DESC="Set the item name to display on the PayPal checkout page."
ACF_PAYPAL_ITEM_NAME_HINT="Product Name"
ACF_PAYPAL_CURRENCY="Currency"
ACF_PAYPAL_CURRENCY_DESC="Select the currency which your users will pay for your products or services you are providing."
ACF_PAYPAL_BILLING_INTERVAL="Billing Interval"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Set the duration of the subscription in days."
ACF_PAYPAL_LANGUAGE="Language"
ACF_PAYPAL_LANGUAGE_DESC="Set whether to keep the default language or apply a specific language on the PayPal checkout page."
ACF_PAYPAL_LANGUAGE_LOCALE="Language Locale"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Set the locale of the language to be used in the PayPal checkout page."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Supported Locale Codes"
ACF_PAYPAL_FIXED="Fixed"
ACF_PAYPAL_RETURN_URL="Return URL"
ACF_PAYPAL_RETURN_URL_DESC="Set the URL where the user will be redirected after successfully completing the transaction."
ACF_PAYPAL_CANCEL_URL="Cancel URL"
ACF_PAYPAL_CANCEL_URL_DESC="Set the URL where the user will be redirected after cancelling the transaction."
ACF_PAYPAL_BUTTON_TYPE="Button Type"
ACF_PAYPAL_BUTTON_TYPE_DESC="Select the button type, either a style from our pre-defined list of buttons or use a custom image as your PayPal button."
ACF_PAYPAL_STYLE="Style"
ACF_PAYPAL_STYLE_SELECTOR="Button Style"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Select a button from our pre-defined list."
ACF_PAYPAL_BUTTON_IMAGE="Button Image"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Set an image as your PayPal button."
ACF_PAYPAL_NEW_TAB="Open PayPal in new tab"
ACF_PAYPAL_NEW_TAB_DESC="Enable to open PayPal in a new tab."
ACF_PAYPAL_SANDBOX_MODE="Sandbox Mode"
ACF_PAYPAL_SANDBOX_MODE_DESC="Set whether to enable sandbox mode, used for debugging the PayPal button during development."
ACF_PAYPAL_SANDBOX_ACCOUNT="Sandbox Email Address"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Enter your sandbox PayPal Email Address. If left empty, the PayPal Email Address will be used."
ACF_PAYPAL_ALLOW_EMPTY_VALUE="Allow User to set price"
ACF_PAYPAL_ALLOW_EMPTY_VALUE_DESC="By enabling this option, you can leave the item price empty and let the user set a custom price on PayPal, during checkout."

View File

@ -0,0 +1,9 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
ACF_PAYPAL="Fields - ACF PayPal"
ACF_PAYPAL_DESC="Collect donations from around the world, allow your shoppers to buy products or subscribe to your services with a PayPal button."

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Campos - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Establezca el nombre y el precio del producto o servicio que está vendiendo."
ACF_PAYPAL_PAYMENT_TYPE="Tipo de pago"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Seleccione un tipo de pago.<br><strong>Verificado</strong>: Un pago único.<br><strong>Donación</strong>: Una donación voluntaria.<br><strong>Suscripción</strong>: Un pago recurrente."
ACF_PAYPAL_CHECKOUT="Verificado"
ACF_PAYPAL_DONATION="Donación"
ACF_PAYPAL_SUBSCRIPTION="Suscripción"
ACF_PAYPAL_ACCOUNT="Dirección Email de Paypal"
ACF_PAYPAL_ACCOUNT_DESC="Establezca su dirección de correo electrónico de PayPal donde recibirá los fondos. Este correo electrónico debe pertenecer a una cuenta comercial de PayPal."
ACF_PAYPAL_PRICE="Precio"
ACF_PAYPAL_PRICE_DESC="Establezca el precio del producto o servicio que está vendiendo."
ACF_PAYPAL_PRICE_HINT="Precio del Producto"
ACF_PAYPAL_ITEM_NAME="Nombre del árticulo"
ACF_PAYPAL_ITEM_NAME_DESC="Configure el nombre del artículo para que se muestre en la página de pago de PayPal."
ACF_PAYPAL_ITEM_NAME_HINT="Nombre del Producto"
ACF_PAYPAL_CURRENCY="Moneda"
ACF_PAYPAL_CURRENCY_DESC="Seleccione la moneda en la que sus usuarios pagarán por los productos o servicios que ofrece."
ACF_PAYPAL_BILLING_INTERVAL="Intervalo de Facturación"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Establece la duración de la suscripción en días."
ACF_PAYPAL_LANGUAGE="Idioma"
ACF_PAYPAL_LANGUAGE_DESC="Establezca si desea mantener el idioma predeterminado o aplicar un idioma específico en la página de pago de PayPal."
ACF_PAYPAL_LANGUAGE_LOCALE="Idioma Local"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Establezca la configuración regional del idioma que se utilizará en la página de pago de PayPal."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Códigos de configuración regional admitidos"
ACF_PAYPAL_FIXED="Fijo"
ACF_PAYPAL_RETURN_URL="URL de retorno"
ACF_PAYPAL_RETURN_URL_DESC="Establezca la URL donde se redirigirá al usuario después de completar con éxito la transacción."
ACF_PAYPAL_CANCEL_URL="Cancelar URL"
ACF_PAYPAL_CANCEL_URL_DESC="Establezca la URL donde se redirigirá al usuario después de cancelar la transacción."
ACF_PAYPAL_BUTTON_TYPE="Tipo de Botón"
ACF_PAYPAL_BUTTON_TYPE_DESC="Seleccione el tipo de botón, ya sea un estilo de nuestra lista predefinida de botones o use una imagen personalizada como su botón de PayPal."
ACF_PAYPAL_STYLE="Estilo"
ACF_PAYPAL_STYLE_SELECTOR="Estilo del Botón"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Seleccione un botón de nuestra lista predefinida."
ACF_PAYPAL_BUTTON_IMAGE="Imagen del Botón"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Establezca una imagen como su botón de PayPal."
ACF_PAYPAL_NEW_TAB="Abrir PayPal en una pestaña nueva"
ACF_PAYPAL_NEW_TAB_DESC="Habilite para abrir PayPal en una nueva pestaña."
ACF_PAYPAL_SANDBOX_MODE="Modo Pruebas (Sandbox)"
ACF_PAYPAL_SANDBOX_MODE_DESC="Establezca si desea habilitar el modo sandbox, que se usa para depurar el botón de PayPal durante el desarrollo."
ACF_PAYPAL_SANDBOX_ACCOUNT="Dirección de correo electrónico de la zona de pruebas"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Ingrese su dirección de correo electrónico de PayPal de sandbox. Si se deja en blanco, se utilizará la dirección de correo electrónico de PayPal."

View File

@ -0,0 +1,9 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
ACF_PAYPAL="Campos - ACF PayPal"
ACF_PAYPAL_DESC="Recopile donaciones de todo el mundo, permita que sus compradores compren productos o se suscriban a sus servicios con un botón de PayPal."

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Champs - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Définissez le nom et le prix du produit ou du service que vous vendez"
ACF_PAYPAL_PAYMENT_TYPE="Type de paiement"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Sélectionnez un type de paiement.<br><strong>Achat</strong>: un paiement unique.<br><strong>Don</strong>: un don volontaire.<br><strong>Souscription</strong>: un paiement périodique."
ACF_PAYPAL_CHECKOUT="Achat"
ACF_PAYPAL_DONATION="Don"
ACF_PAYPAL_SUBSCRIPTION="Souscription"
ACF_PAYPAL_ACCOUNT="Adresse électronique PayPal"
ACF_PAYPAL_ACCOUNT_DESC="Saisissez l'adresse e-mail PayPal sur laquelle vous recevez les fonds. Cela nécessite un compte PayPal Business"
ACF_PAYPAL_PRICE="Prix"
ACF_PAYPAL_PRICE_DESC="Saisissez le prix du produit ou du service que vous vendez"
ACF_PAYPAL_PRICE_HINT="Prix du produit"
ACF_PAYPAL_ITEM_NAME="Nom de l'élément"
ACF_PAYPAL_ITEM_NAME_DESC="Notez le nom de l'élément qui sera affiché sur la page de paiement PayPal"
ACF_PAYPAL_ITEM_NAME_HINT="Nom du produit"
ACF_PAYPAL_CURRENCY="Devise"
ACF_PAYPAL_CURRENCY_DESC="Saisissez la devise dans laquelle vos acheteurs paieront les produits ou services que vous proposez"
ACF_PAYPAL_BILLING_INTERVAL="Intervalle de paiement"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Saisissez la durée de souscription en jours"
ACF_PAYPAL_LANGUAGE="Langue"
ACF_PAYPAL_LANGUAGE_DESC="Définissez si vous préférez utiliser la langue par défaut ou une langue personnalisée sur la page de paiement PayPal"
ACF_PAYPAL_LANGUAGE_LOCALE="Langue locale"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Définissez la langue locale à utiliser sur la page de paiement PayPal"
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Codes de langue locale supportés"
ACF_PAYPAL_FIXED="Définie"
ACF_PAYPAL_RETURN_URL="URL de retour"
ACF_PAYPAL_RETURN_URL_DESC="Saisissez l'URL vers laquelle rediriger l'acheteur après validation de la transaction"
ACF_PAYPAL_CANCEL_URL="URL d'annulation"
ACF_PAYPAL_CANCEL_URL_DESC="Saisissez l'adresse où rediriger l'acheteur en cas d'annulation de la transaction"
ACF_PAYPAL_BUTTON_TYPE="Type de bouton"
ACF_PAYPAL_BUTTON_TYPE_DESC="Sélectionnez le type de bouton, soit un des styles prédéfinis de la liste, soit une image personnalisée pour votre bouton PayPal"
ACF_PAYPAL_STYLE="Style"
ACF_PAYPAL_STYLE_SELECTOR="Style de bouton"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Sélectionnez un bouton dans cete liste"
ACF_PAYPAL_BUTTON_IMAGE="Image du bouton"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Définissez une image personnalisée comme bouton PayPal"
ACF_PAYPAL_NEW_TAB="Ouvrir PayPal dans un nouvel onglet"
ACF_PAYPAL_NEW_TAB_DESC="Permet d'ouvrir la page de paiement PayPal dans un nouvel onglet"
ACF_PAYPAL_SANDBOX_MODE="Mode Sandbox"
ACF_PAYPAL_SANDBOX_MODE_DESC="Choisissez d'activer le mode test Sandbox afin de déboguer l'usage du bouton PayPal pendant la phase de développement"
ACF_PAYPAL_SANDBOX_ACCOUNT="Adresse e-mail pour Sandbox"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Saisissez votre adresse e-mail Sandbox. Si ce champ est laissé vide, l'adresse standard PayPal sera utilisée"

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Campi - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Imposta il nome e il prezzo del prodotto che stai vendendo."
ACF_PAYPAL_PAYMENT_TYPE="Tipo di Pagamento"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Seleziona un tipo di pagamento.<br><strong>Checkout</strong>: Un pagamento unico.<br><strong>Donazione</strong>: Una donazione volontaria.<br><strong>Iscrizione</strong>: Un pagamento periodico."
ACF_PAYPAL_CHECKOUT="Checkout"
ACF_PAYPAL_DONATION="Donazione"
ACF_PAYPAL_SUBSCRIPTION="Iscrizione"
ACF_PAYPAL_ACCOUNT="Indirizzo Email PayPal"
ACF_PAYPAL_ACCOUNT_DESC="Imposta l'indirizzo email di PayPal dove riceverai il denaro. Questa email deve appartenere a un account PayPal business."
ACF_PAYPAL_PRICE="Prezzo"
ACF_PAYPAL_PRICE_DESC="Imposta il prezzo per il prodotto o il servizio che stai vendendo."
ACF_PAYPAL_PRICE_HINT="Prezzo Prodotto"
ACF_PAYPAL_ITEM_NAME="Nome dell'articolo"
ACF_PAYPAL_ITEM_NAME_DESC="Imposta il nome dell'articolo da mostrare sulla pagine di checkout di PayPal."
ACF_PAYPAL_ITEM_NAME_HINT="Nome Prodotto"
ACF_PAYPAL_CURRENCY="Moneta"
ACF_PAYPAL_CURRENCY_DESC="Seleziona la valuta con cui i tuoi utenti pagheranno per i prodotti o servizi che stai offrendo."
ACF_PAYPAL_BILLING_INTERVAL="Intervallo di fatturazione"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Imposta la durata dell'iscrizione in giorni."
ACF_PAYPAL_LANGUAGE="Lingua"
ACF_PAYPAL_LANGUAGE_DESC="Imposta se mantenere la lingua predefinita o applicare una lingua specifica nella pagina di pagamento di PayPal."
ACF_PAYPAL_LANGUAGE_LOCALE="Locale della lingua"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Imposta il locale della lingua da usare nella pagina di checkout di PayPal."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Codice di locale supportati"
ACF_PAYPAL_FIXED="Fissato"
ACF_PAYPAL_RETURN_URL="URL di restituzione"
ACF_PAYPAL_RETURN_URL_DESC="Imposta l'URL a cui verrà reindirizzato l'utente dopo aver completato con successo la transazione."
ACF_PAYPAL_CANCEL_URL="URL di cancellazione"
ACF_PAYPAL_CANCEL_URL_DESC="Imposta l'URL a cui verrà reindirizzato l'utente dopo aver annullato la transazione."
ACF_PAYPAL_BUTTON_TYPE="Tipo di pulsante"
ACF_PAYPAL_BUTTON_TYPE_DESC="Seleziona il tipo di pulsante: utilizza per il pulsante PayPal uno stile dal nostro elenco predefinito di pulsanti o un'immagine personalizzata."
ACF_PAYPAL_STYLE="Stile"
ACF_PAYPAL_STYLE_SELECTOR="Stile del pulsante"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Seleziona un pulsante dal nostro elenco predefinito."
ACF_PAYPAL_BUTTON_IMAGE="Immagine del pulsante"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Imposta un'immagine come pulsante PayPal."
ACF_PAYPAL_NEW_TAB="Apri PayPal in una nuova scheda"
ACF_PAYPAL_NEW_TAB_DESC="Abilita per aprire PayPal in una nuova scheda."
ACF_PAYPAL_SANDBOX_MODE="Modalità sandbox"
ACF_PAYPAL_SANDBOX_MODE_DESC="Imposta se abilitare la modalità sandbox, utilizzata per il debug del pulsante PayPal durante lo sviluppo."
ACF_PAYPAL_SANDBOX_ACCOUNT="Indirizzo e-mail sandbox"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Inserisci il tuo indirizzo e-mail della sandbox di PayPal. Se lasciato vuoto, verrà utilizzato l'indirizzo e-mail PayPal."

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Velden - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Stel naam en prijs in van het product of dienst dat je verkoopt."
ACF_PAYPAL_PAYMENT_TYPE="Betalingswijze"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Selecteer een betalingswijze.<br><strong>Afrekenen</strong>: Een eenmalige betaling.<br><strong>Donatie</strong>: Een vrijwillige donatie.<br><strong>Abonnement</strong>: Een terugkerende betaling."
ACF_PAYPAL_CHECKOUT="Afrekenen"
ACF_PAYPAL_DONATION="Donatie"
ACF_PAYPAL_SUBSCRIPTION="Abonnement"
ACF_PAYPAL_ACCOUNT="Paypal E-mailadres"
ACF_PAYPAL_ACCOUNT_DESC="Stel het PayPal-e-mailadres in waar het geld op zal worden ontvangen. Dit e-mailadres moet bij een zakelijke PayPal-rekening horen."
ACF_PAYPAL_PRICE="Prijs"
ACF_PAYPAL_PRICE_DESC="Stel de prijs in voor het product of de dienst dat je verkoopt."
ACF_PAYPAL_PRICE_HINT="Product Prijs"
ACF_PAYPAL_ITEM_NAME="Item Naam"
ACF_PAYPAL_ITEM_NAME_DESC="Stel de naam van het item in dat op de PayPal-afrekenpagina zal worden weergegeven."
ACF_PAYPAL_ITEM_NAME_HINT="ProductNaam"
ACF_PAYPAL_CURRENCY="Muntsoort"
ACF_PAYPAL_CURRENCY_DESC="Selecteer de muntsoort waarmee jouw klanten zullen gaan betalen voor de producten of services die je levert."
ACF_PAYPAL_BILLING_INTERVAL="Factureringsinterval"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Stel in dagen de duur van het abonnement in."
ACF_PAYPAL_LANGUAGE="Taal"
ACF_PAYPAL_LANGUAGE_DESC="Stel in of je de standaardtaal wil houden of een specifieke taal wilt gebruiken op de PayPal-afrekenpagina."
ACF_PAYPAL_LANGUAGE_LOCALE="Taalinstelling"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Stel de taal in van de taal die moet worden gebruikt op de PayPal-betaalpagina."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Ondersteunde landcodes"
ACF_PAYPAL_FIXED="Vastgezet"
ACF_PAYPAL_RETURN_URL="Terugkerende URL"
ACF_PAYPAL_RETURN_URL_DESC="Stel de URL in waarnaar de klant wordt omgeleid nadat de transactie is voltooid."
ACF_PAYPAL_CANCEL_URL="URL bij Annulering"
ACF_PAYPAL_CANCEL_URL_DESC="Stel de URL in waarnaar de klant wordt omgeleid nadat de transactie is geannuleerd."
ACF_PAYPAL_BUTTON_TYPE="Knoptype"
ACF_PAYPAL_BUTTON_TYPE_DESC="Selecteer een knoptype. Gebruik een stijl uit onze vooraf gedefinieerde lijst met knoppen of gebruik een andere afbeelding als PayPal-knop."
ACF_PAYPAL_STYLE="Stijl"
ACF_PAYPAL_STYLE_SELECTOR="Knopstijl"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Selecteer een knop uit onze vooraf gedefinieerde lijst."
ACF_PAYPAL_BUTTON_IMAGE="Knop Afbeelding"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Stel een afbeelding in als PayPal knop."
ACF_PAYPAL_NEW_TAB="Laat Paypal in een nieuw tabblad"
ACF_PAYPAL_NEW_TAB_DESC="Schakel in om PayPal in een nieuw tabblad te openen."
ACF_PAYPAL_SANDBOX_MODE="Sandbox-modus"
ACF_PAYPAL_SANDBOX_MODE_DESC="Zet de sandbox-modus aan of uit. Voor het opsporen van eventuele fouten tijdens het instellen van de PayPal-knop."
ACF_PAYPAL_SANDBOX_ACCOUNT="E-mailadres sandbox"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Voer uw sandbox PayPal-e-mailadres in. Indien leeg gelaten, wordt het PayPal-e-mailadres gebruikt."

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Поля - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Установите название и цену продукта или услуги, которую вы продаете."
ACF_PAYPAL_PAYMENT_TYPE="Тип оплаты"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Выберите тип платежа. <br> <strong> Оформить заказ </ strong>: одноразовый платеж. <br> <strong> Пожертвование </ strong>: добровольное пожертвование. <br> <strong> Подписка </ strong>: регулярный платеж. "
ACF_PAYPAL_CHECKOUT="Оформить заказ"
ACF_PAYPAL_DONATION="Пожертвование"
ACF_PAYPAL_SUBSCRIPTION="Подписка"
ACF_PAYPAL_ACCOUNT="Адрес электронной почты PayPal"
ACF_PAYPAL_ACCOUNT_DESC="Установите свой адрес электронной почты PayPal, на который вы будете получать средства. Это письмо должно принадлежать бизнес-счету PayPal."
ACF_PAYPAL_PRICE="Цена"
ACF_PAYPAL_PRICE_DESC="Установите цену на продукт или услугу, которую вы продаете."
ACF_PAYPAL_PRICE_HINT="Цена продукта"
ACF_PAYPAL_ITEM_NAME="Имя элемента"
ACF_PAYPAL_ITEM_NAME_DESC="Установить имя элемента для отображения на странице оформления платежей PayPal."
ACF_PAYPAL_ITEM_NAME_HINT="Название продукта"
ACF_PAYPAL_CURRENCY="Валюта"
ACF_PAYPAL_CURRENCY_DESC="Выберите валюту, которую ваши пользователи будут платить за ваши продукты или услуги, которые вы предоставляете."
ACF_PAYPAL_BILLING_INTERVAL="Платежный интервал"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Установить продолжительность подписки в днях."
ACF_PAYPAL_LANGUAGE="Язык"
ACF_PAYPAL_LANGUAGE_DESC="Установить, сохранять ли язык по умолчанию или применять определенный язык на странице оплаты PayPal."
ACF_PAYPAL_LANGUAGE_LOCALE="Языковой стандарт"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Установите языковой стандарт для использования на странице оформления платежей PayPal."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Поддерживаемые коды локалей"
ACF_PAYPAL_FIXED="Фиксированный"
ACF_PAYPAL_RETURN_URL="Обратный URL"
ACF_PAYPAL_RETURN_URL_DESC="Установить URL, куда пользователь будет перенаправлен после успешного завершения транзакции."
ACF_PAYPAL_CANCEL_URL="Отменить URL"
ACF_PAYPAL_CANCEL_URL_DESC="Установить URL, куда пользователь будет перенаправлен после отмены транзакции."
ACF_PAYPAL_BUTTON_TYPE="Тип кнопки"
ACF_PAYPAL_BUTTON_TYPE_DESC="Выберите тип кнопки, либо стиль из нашего предварительно определенного списка кнопок, либо используйте пользовательское изображение в качестве кнопки PayPal."
ACF_PAYPAL_STYLE="Стиль"
ACF_PAYPAL_STYLE_SELECTOR="Стиль кнопки"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Выберите кнопку из нашего предварительно определенного списка."
ACF_PAYPAL_BUTTON_IMAGE="Изображение кнопки"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Установить изображение в качестве кнопки PayPal."
ACF_PAYPAL_NEW_TAB="Открыть PayPal в новой вкладке"
ACF_PAYPAL_NEW_TAB_DESC="Включить, чтобы открыть PayPal в новой вкладке."
ACF_PAYPAL_SANDBOX_MODE="Режим песочницы"
ACF_PAYPAL_SANDBOX_MODE_DESC="Установить, включить ли режим песочницы, используемый для отладки кнопки PayPal во время разработки."
ACF_PAYPAL_SANDBOX_ACCOUNT="Адрес электронной почты песочницы"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Введите свой адрес электронной почты PayPal для песочницы. Если оставить его пустым, будет использован адрес электронной почты PayPal."

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Fält - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Ange namn och pris på produkten eller tjänsten du säljer."
ACF_PAYPAL_PAYMENT_TYPE="Betalningstyp"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Välj betalningstyp.<br><strong>Checka ut</strong>: Engångsbetalning.<br><strong>Donation</strong>: En frivillig donation.<br><strong>Prenumeration</strong>: En återkommande betalning."
ACF_PAYPAL_CHECKOUT="Checka ut"
ACF_PAYPAL_DONATION="Donation"
ACF_PAYPAL_SUBSCRIPTION="Prenumeration"
ACF_PAYPAL_ACCOUNT="PayPal E-postadress"
ACF_PAYPAL_ACCOUNT_DESC="Ange din PayPal e-postadress där du får pengarna. Det här e-postmeddelandet måste tillhöra ett PayPal företagskonto."
ACF_PAYPAL_PRICE="Pris"
ACF_PAYPAL_PRICE_DESC="Ange pris på produkten eller tjänsten du säljer."
ACF_PAYPAL_PRICE_HINT="Produktens pris"
ACF_PAYPAL_ITEM_NAME="Artikelnamn"
ACF_PAYPAL_ITEM_NAME_DESC="Ange artikelnamnet som ska visas på PayPal kassasida."
ACF_PAYPAL_ITEM_NAME_HINT="Produktnamn"
ACF_PAYPAL_CURRENCY="Valuta"
ACF_PAYPAL_CURRENCY_DESC="Välj i vilken valuta användarna ska betala för dina produkter eller tjänster som du tillhandahåller."
ACF_PAYPAL_BILLING_INTERVAL="Betalningsintervall"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Ställ in prenumerationens varaktighet i dagar."
ACF_PAYPAL_LANGUAGE="Språk"
ACF_PAYPAL_LANGUAGE_DESC="Ange om du vill behålla standardspråket eller tillämpa ett visst språk på PayPal-kassans sida."
ACF_PAYPAL_LANGUAGE_LOCALE="Språk"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Ange språk som ska användas på PayPal kassasida."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Språkkoder som stöds"
ACF_PAYPAL_FIXED="Fast"
ACF_PAYPAL_RETURN_URL="Retur URL"
ACF_PAYPAL_RETURN_URL_DESC="Ange URL dit användaren kommer att omdirigeras efter att transaktionen har slutförts."
ACF_PAYPAL_CANCEL_URL="Avbryt URL"
ACF_PAYPAL_CANCEL_URL_DESC="Ange URL dit användaren kommer att omdirigeras efter att transaktionen har avbrutits."
ACF_PAYPAL_BUTTON_TYPE="Knapp typ"
ACF_PAYPAL_BUTTON_TYPE_DESC="Välj knapptyp, antingen en stil från vår fördefinierade lista med knappar eller använd en anpassad bild som din PayPal-knapp."
ACF_PAYPAL_STYLE="Stil"
ACF_PAYPAL_STYLE_SELECTOR="Knapp stil"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Välj en knapp från vår fördefinierade lista."
ACF_PAYPAL_BUTTON_IMAGE="Knapp bild"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Ange en bild som din PayPal-knapp."
ACF_PAYPAL_NEW_TAB="Öppna PayPal i en ny flik."
ACF_PAYPAL_NEW_TAB_DESC="Aktivera för att öppna PayPal i en ny flik."
ACF_PAYPAL_SANDBOX_MODE="Testläge"
ACF_PAYPAL_SANDBOX_MODE_DESC="Ange om du vill aktivera testläge, som används för att felsöka PayPal-knappen under utveckling."
ACF_PAYPAL_SANDBOX_ACCOUNT="Test e-postadress"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Ange din test e-postadress PayPal. Om fältet lämnas tomt kommer PayPal e-postadressen att användas."

View File

@ -0,0 +1,50 @@
; @package Advanced Custom Fields
; @version 2.8.8 Pro
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_FIELDS_ACFPAYPAL_LABEL="ACF - PayPal"
ACF_PAYPAL="Поля - ACF PayPal"
ACF_PAYPAL_VALUE_DESC="Встановіть назву та ціну товару чи послуги, яку ви продаєте."
ACF_PAYPAL_PAYMENT_TYPE="Тип оплати"
ACF_PAYPAL_PAYMENT_TYPE_DESC="Вибір способу оплати. strong>: Повторний платіж. "
ACF_PAYPAL_CHECKOUT="Оформити замовлення"
ACF_PAYPAL_DONATION="Пожертвування"
ACF_PAYPAL_SUBSCRIPTION="Підписка"
ACF_PAYPAL_ACCOUNT="Адреса електронної пошти PayPal"
ACF_PAYPAL_ACCOUNT_DESC="Встановіть свою електронну адресу PayPal, де ви отримаєте кошти. Цей електронний лист повинен належати до ділового облікового запису PayPal."
ACF_PAYPAL_PRICE="Ціна"
ACF_PAYPAL_PRICE_DESC="Встановити ціну на товар або послугу, яку ви продаєте."
ACF_PAYPAL_PRICE_HINT="Ціна продукту"
ACF_PAYPAL_ITEM_NAME="Назва елемента"
ACF_PAYPAL_ITEM_NAME_DESC="Встановити ім'я товару для відображення на сторінці оформлення замовлення PayPal."
ACF_PAYPAL_ITEM_NAME_HINT="Назва продукту"
ACF_PAYPAL_CURRENCY="Валюта"
ACF_PAYPAL_CURRENCY_DESC="Виберіть валюту, яку платитимуть ваші користувачі за ваші продукти чи послуги, які ви надаєте."
ACF_PAYPAL_BILLING_INTERVAL="Інтервал виставлення рахунків"
ACF_PAYPAL_BILLING_INTERVAL_DESC="Встановити тривалість передплати в днях."
ACF_PAYPAL_LANGUAGE="Мова"
ACF_PAYPAL_LANGUAGE_DESC="Встановіть, чи потрібно зберігати мову за замовчуванням чи застосовувати певну мову на сторінці оформлення замовлення PayPal."
ACF_PAYPAL_LANGUAGE_LOCALE="Мова"
ACF_PAYPAL_LANGUAGE_LOCALE_DESC="Встановіть мову мови, яка буде використовуватися на сторінці оформлення замовлення PayPal."
ACF_PAYPAL_SUPPORTED_LOCALE_CODES="Підтримувані локальні коди"
ACF_PAYPAL_FIXED="Виправлено"
ACF_PAYPAL_RETURN_URL="URL-адреса повернення"
ACF_PAYPAL_RETURN_URL_DESC="Встановіть URL, куди буде переспрямований користувач після успішного завершення транзакції."
ACF_PAYPAL_CANCEL_URL="Скасувати URL"
ACF_PAYPAL_CANCEL_URL_DESC="Встановіть URL, куди буде переспрямований користувач після скасування транзакції."
ACF_PAYPAL_BUTTON_TYPE="Тип кнопки"
ACF_PAYPAL_BUTTON_TYPE_DESC="Виберіть тип кнопки, або стиль із нашого попередньо визначеного списку кнопок, або використовуйте власне зображення як вашу кнопку PayPal."
ACF_PAYPAL_STYLE="Стиль"
ACF_PAYPAL_STYLE_SELECTOR="Стиль кнопки"
ACF_PAYPAL_STYLE_SELECTOR_DESC="Виберіть кнопку з нашого попередньо визначеного списку."
ACF_PAYPAL_BUTTON_IMAGE="Зображення кнопки"
ACF_PAYPAL_BUTTON_IMAGE_DESC="Встановити зображення як вашу кнопку PayPal."
ACF_PAYPAL_NEW_TAB="Відкрити PayPal у новій вкладці"
ACF_PAYPAL_NEW_TAB_DESC="Увімкнути, щоб відкрити PayPal на новій вкладці."
ACF_PAYPAL_SANDBOX_MODE="Режим пісочниці"
ACF_PAYPAL_SANDBOX_MODE_DESC="Встановити, чи потрібно активувати режим пісочниці, що використовується для налагодження кнопки PayPal під час розробки."
ACF_PAYPAL_SANDBOX_ACCOUNT="Електронна адреса пісочниці"
ACF_PAYPAL_SANDBOX_ACCOUNT_DESC="Введіть електронну адресу PayPal у вашій пісочниці. Якщо залишити порожнім, буде використана електронна адреса PayPal."

View File

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<form>
<fields name="fieldparams">
<fieldset name="fieldparams">
<field name="type" type="radio"
label="ACF_PAYPAL_PAYMENT_TYPE"
description="ACF_PAYPAL_PAYMENT_TYPE_DESC"
default="checkout"
class="btn-group btn-group-yesno">
<option value="checkout">ACF_PAYPAL_CHECKOUT</option>
<option value="donation">ACF_PAYPAL_DONATION</option>
<option value="subscription">ACF_PAYPAL_SUBSCRIPTION</option>
</field>
<field name="paypal_account" type="text"
label="ACF_PAYPAL_ACCOUNT"
description="ACF_PAYPAL_ACCOUNT_DESC"
hint="johndoe@example.com"
required="true"
/>
<field name="currency" type="NR_Currencies"
label="ACF_PAYPAL_CURRENCY"
description="ACF_PAYPAL_CURRENCY_DESC"
required="true"
/>
<field name="allow_empty_value" type="NRToggle"
label="ACF_PAYPAL_ALLOW_EMPTY_VALUE"
description="ACF_PAYPAL_ALLOW_EMPTY_VALUE_DESC"
showon="type:checkout"
/>
<field name="billing_interval" type="nrnumber"
label="ACF_PAYPAL_BILLING_INTERVAL"
description="ACF_PAYPAL_BILLING_INTERVAL_DESC"
showon="type:subscription"
hint="30"
class="input-small"
addon="days"
/>
<field name="button_style" type="radio"
label="ACF_PAYPAL_BUTTON_TYPE"
description="ACF_PAYPAL_BUTTON_TYPE_DESC"
default="style"
class="btn-group btn-group-yesno">
<option value="style">ACF_PAYPAL_STYLE</option>
<option value="image">NR_IMAGE</option>
</field>
<field name="button_style_selector" type="NRImagesSelector"
images="/media/plg_fields_acfpaypal/img"
width="550px"
height="60px"
columns="3"
label="ACF_PAYPAL_STYLE_SELECTOR"
description="ACF_PAYPAL_STYLE_SELECTOR_DESC"
showon="button_style:style"
/>
<field name="button_style_image" type="media"
directory="acfpaypal"
label="ACF_PAYPAL_BUTTON_IMAGE"
description="ACF_PAYPAL_BUTTON_IMAGE_DESC"
showon="button_style:image"
/>
<field name="language" type="radio"
label="ACF_PAYPAL_LANGUAGE"
description="ACF_PAYPAL_LANGUAGE_DESC"
default="auto"
class="btn-group btn-group-yesno">
<option value="auto">NR_AUTO</option>
<option value="fixed">ACF_PAYPAL_FIXED</option>
</field>
<field name="language_locale" type="nrtext"
label="ACF_PAYPAL_LANGUAGE_LOCALE"
description="ACF_PAYPAL_LANGUAGE_LOCALE_DESC"
url="https://developer.paypal.com/docs/api/reference/locale-codes/#supported-locale-codes"
urltext="ACF_PAYPAL_SUPPORTED_LOCALE_CODES"
showon="language:fixed"
default="en_US"
/>
<field name="return_url" type="text"
label="ACF_PAYPAL_RETURN_URL"
description="ACF_PAYPAL_RETURN_URL_DESC"
class="input-xxlarge"
hint="http://"
/>
<field name="cancel_url" type="text"
label="ACF_PAYPAL_CANCEL_URL"
description="ACF_PAYPAL_CANCEL_URL_DESC"
class="input-xxlarge"
hint="http://"
/>
<field name="new_tab" type="NRToggle"
label="ACF_PAYPAL_NEW_TAB"
description="ACF_PAYPAL_NEW_TAB_DESC"
/>
<field name="sandbox_mode" type="NRToggle"
label="ACF_PAYPAL_SANDBOX_MODE"
description="ACF_PAYPAL_SANDBOX_MODE_DESC"
/>
<field name="sandbox_account" type="text"
label="ACF_PAYPAL_SANDBOX_ACCOUNT"
description="ACF_PAYPAL_SANDBOX_ACCOUNT_DESC"
hint="johndoe@example.com"
showon="sandbox_mode:1"
/>
</fieldset>
</fields>
</form>

View File

@ -0,0 +1,691 @@
<?php
/**
* Installer Script Helper
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2016 Tassos Marinos All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
defined('_JEXEC') or die;
use Joomla\CMS\Installer\Installer;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\Filesystem\File;
use Joomla\Filesystem\Folder;
class PlgFieldsAcfpaypalInstallerScriptHelper
{
public $name = '';
public $alias = '';
public $extname = '';
public $extension_type = '';
public $plugin_folder = 'system';
public $module_position = 'status';
public $client_id = 1;
public $install_type = 'install';
public $show_message = true;
public $autopublish = true;
public $db = null;
public $app = null;
public $installedVersion;
public function __construct(&$params)
{
$this->extname = $this->extname ?: $this->alias;
$this->db = Factory::getDbo();
$this->app = Factory::getApplication();
$this->installedVersion = $this->getVersion($this->getInstalledXMLFile());
}
/**
* Preflight event
*
* @param string
* @param JAdapterInstance
*
* @return boolean
*/
public function preflight($route, $adapter)
{
if (!in_array($route, array('install', 'update')))
{
return;
}
Factory::getLanguage()->load('plg_system_novaraininstaller', JPATH_PLUGINS . '/system/novaraininstaller');
if ($this->show_message && $this->isInstalled())
{
$this->install_type = 'update';
}
if ($this->onBeforeInstall() === false)
{
return false;
}
}
/**
* Preflight event
*
* @param string
* @param JAdapterInstance
*
* @return boolean
*/
public function postflight($route, $adapter)
{
Factory::getLanguage()->load($this->getPrefix() . '_' . $this->extname, $this->getMainFolder());
if (!in_array($route, array('install', 'update')))
{
return;
}
if ($this->onAfterInstall() === false)
{
return false;
}
if ($route == 'install' && $this->autopublish)
{
$this->publishExtension();
}
if ($this->show_message)
{
$this->addInstalledMessage();
}
Factory::getCache()->clean('com_plugins');
Factory::getCache()->clean('_system');
}
public function isInstalled()
{
if (!is_file($this->getInstalledXMLFile()))
{
return false;
}
$query = $this->db->getQuery(true)
->select('extension_id')
->from('#__extensions')
->where($this->db->quoteName('type') . ' = ' . $this->db->quote($this->extension_type))
->where($this->db->quoteName('element') . ' = ' . $this->db->quote($this->getElementName()));
$this->db->setQuery($query, 0, 1);
$result = $this->db->loadResult();
return empty($result) ? false : true;
}
public function getMainFolder()
{
switch ($this->extension_type)
{
case 'plugin' :
return JPATH_SITE . '/plugins/' . $this->plugin_folder . '/' . $this->extname;
case 'component' :
return JPATH_ADMINISTRATOR . '/components/com_' . $this->extname;
case 'module' :
return JPATH_ADMINISTRATOR . '/modules/mod_' . $this->extname;
case 'library' :
return JPATH_SITE . '/libraries/' . $this->extname;
}
}
public function getInstalledXMLFile()
{
return $this->getXMLFile($this->getMainFolder());
}
public function getCurrentXMLFile()
{
return $this->getXMLFile(__DIR__);
}
public function getXMLFile($folder)
{
switch ($this->extension_type)
{
case 'module' :
return $folder . '/mod_' . $this->extname . '.xml';
default :
return $folder . '/' . $this->extname . '.xml';
}
}
public function foldersExist($folders = array())
{
foreach ($folders as $folder)
{
if (is_dir($folder))
{
return true;
}
}
return false;
}
public function publishExtension()
{
switch ($this->extension_type)
{
case 'plugin' :
$this->publishPlugin();
case 'module' :
$this->publishModule();
}
}
public function publishPlugin()
{
$query = $this->db->getQuery(true)
->update('#__extensions')
->set($this->db->quoteName('enabled') . ' = 1')
->where($this->db->quoteName('type') . ' = ' . $this->db->quote('plugin'))
->where($this->db->quoteName('element') . ' = ' . $this->db->quote($this->extname))
->where($this->db->quoteName('folder') . ' = ' . $this->db->quote($this->plugin_folder));
$this->db->setQuery($query);
$this->db->execute();
}
public function publishModule()
{
// Get module id
$query = $this->db->getQuery(true)
->select('id')
->from('#__modules')
->where($this->db->quoteName('module') . ' = ' . $this->db->quote('mod_' . $this->extname))
->where($this->db->quoteName('client_id') . ' = ' . (int) $this->client_id);
$this->db->setQuery($query, 0, 1);
$id = $this->db->loadResult();
if (!$id)
{
return;
}
// check if module is already in the modules_menu table (meaning is is already saved)
$query->clear()
->select('moduleid')
->from('#__modules_menu')
->where($this->db->quoteName('moduleid') . ' = ' . (int) $id);
$this->db->setQuery($query, 0, 1);
$exists = $this->db->loadResult();
if ($exists)
{
return;
}
// Get highest ordering number in position
$query->clear()
->select('ordering')
->from('#__modules')
->where($this->db->quoteName('position') . ' = ' . $this->db->quote($this->module_position))
->where($this->db->quoteName('client_id') . ' = ' . (int) $this->client_id)
->order('ordering DESC');
$this->db->setQuery($query, 0, 1);
$ordering = $this->db->loadResult();
$ordering++;
// publish module and set ordering number
$query->clear()
->update('#__modules')
->set($this->db->quoteName('published') . ' = 1')
->set($this->db->quoteName('ordering') . ' = ' . (int) $ordering)
->set($this->db->quoteName('position') . ' = ' . $this->db->quote($this->module_position))
->where($this->db->quoteName('id') . ' = ' . (int) $id);
$this->db->setQuery($query);
$this->db->execute();
// add module to the modules_menu table
$query->clear()
->insert('#__modules_menu')
->columns(array($this->db->quoteName('moduleid'), $this->db->quoteName('menuid')))
->values((int) $id . ', 0');
$this->db->setQuery($query);
$this->db->execute();
}
public function addInstalledMessage()
{
Factory::getApplication()->enqueueMessage(
Text::sprintf(
Text::_($this->install_type == 'update' ? 'NRI_THE_EXTENSION_HAS_BEEN_UPDATED_SUCCESSFULLY' : 'NRI_THE_EXTENSION_HAS_BEEN_INSTALLED_SUCCESSFULLY'),
'<strong>' . Text::_($this->name) . '</strong>',
'<strong>' . $this->getVersion() . '</strong>',
$this->getFullType()
)
);
}
public function getPrefix()
{
switch ($this->extension_type)
{
case 'plugin';
return Text::_('plg_' . strtolower($this->plugin_folder));
case 'component':
return Text::_('com');
case 'module':
return Text::_('mod');
case 'library':
return Text::_('lib');
default:
return $this->extension_type;
}
}
public function getElementName($type = null, $extname = null)
{
$type = is_null($type) ? $this->extension_type : $type;
$extname = is_null($extname) ? $this->extname : $extname;
switch ($type)
{
case 'component' :
return 'com_' . $extname;
case 'module' :
return 'mod_' . $extname;
case 'plugin' :
default:
return $extname;
}
}
public function getFullType()
{
return Text::_('NRI_' . strtoupper($this->getPrefix()));
}
public function isPro()
{
$versionFile = __DIR__ . "/version.php";
// If version file does not exist we assume a PRO version
if (!is_file($versionFile))
{
return true;
}
// Load version file
require_once $versionFile;
return (bool) $NR_PRO;
}
public function getVersion($file = '')
{
$file = $file ?: $this->getCurrentXMLFile();
if (!is_file($file))
{
return '';
}
$xml = Installer::parseXMLInstallFile($file);
if (!$xml || !isset($xml['version']))
{
return '';
}
return $xml['version'];
}
/**
* Checks wether the extension can be installed or not
*
* @return boolean
*/
public function canInstall()
{
// The extension is not installed yet. Accept Install.
if (!$installed_version = $this->getVersion($this->getInstalledXMLFile()))
{
return true;
}
// Path to extension's version file
$versionFile = $this->getMainFolder() . "/version.php";
$NR_PRO = true;
// If version file does not exist we assume we have a PRO version installed
if (file_exists($versionFile))
{
require_once($versionFile);
}
// The free version is installed. Accept install.
if (!(bool)$NR_PRO)
{
return true;
}
// Current package is a PRO version. Accept install.
if ($this->isPro())
{
return true;
}
// User is trying to update from PRO version to FREE. Do not accept install.
Factory::getLanguage()->load($this->getPrefix() . '_' . $this->extname, __DIR__);
Factory::getApplication()->enqueueMessage(
Text::_('NRI_ERROR_PRO_TO_FREE'), 'error'
);
Factory::getApplication()->enqueueMessage(
html_entity_decode(
Text::sprintf(
'NRI_ERROR_UNINSTALL_FIRST',
'<a href="http://www.tassos.gr/joomla-extensions/' . $this->getUrlAlias() . '" target="_blank">',
'</a>',
Text::_($this->name)
)
), 'error'
);
return false;
}
/**
* Returns the URL alias of the extension.
*
* @return string
*/
private function getUrlAlias()
{
$alias = $this->alias;
switch ($alias)
{
case 'smilepack':
$alias = 'smile-pack';
break;
case 'convertforms':
$alias = 'convert-forms';
break;
case 'rstbox':
$alias = 'engagebox';
break;
case 'gsd':
$alias = 'google-structured-data';
break;
}
// ACF
if ($this->plugin_folder === 'fields' && ($alias === 'acf' || $this->startsWith($alias, 'acf')))
{
$alias = 'advanced-custom-fields';
}
return $alias;
}
/**
* Checks whether string starts with substring.
*
* @param string $string
* @param string $query
*
* @return bool
*/
public static function startsWith($string, $query)
{
return substr($string, 0, strlen($query)) === $query;
}
/**
* Checks if current version is newer than the installed one
* Used for Novarain Framework
*
* @return boolean [description]
*/
public function isNewer()
{
if (!$installed_version = $this->getVersion($this->getInstalledXMLFile()))
{
return true;
}
$package_version = $this->getVersion();
return version_compare($installed_version, $package_version, '<=');
}
/**
* Helper method triggered before installation
*
* @return bool
*/
public function onBeforeInstall()
{
if (!$this->canInstall())
{
return false;
}
}
/**
* Helper method triggered after installation
*/
public function onAfterInstall()
{
}
/**
* Delete files
*
* @param array $folders
*/
public function deleteFiles($files = array())
{
foreach ($files as $key => $file)
{
if (!is_file($file))
{
continue;
}
File::delete($file);
}
}
/**
* Deletes folders
*
* @param array $folders
*/
public function deleteFolders($folders = array())
{
foreach ($folders as $folder)
{
if (!is_dir($folder))
{
continue;
}
Folder::delete($folder);
}
}
public function dropIndex($table, $index)
{
$db = $this->db;
// Check if index exists first
$query = 'SHOW INDEX FROM ' . $db->quoteName('#__' . $table) . ' WHERE KEY_NAME = ' . $db->quote($index);
$db->setQuery($query);
$db->execute();
if (!$db->loadResult())
{
return;
}
// Remove index
$query = 'ALTER TABLE ' . $db->quoteName('#__' . $table) . ' DROP INDEX ' . $db->quoteName($index);
$db->setQuery($query);
$db->execute();
}
public function dropUnwantedTables($tables) {
if (!$tables) {
return;
}
foreach ($tables as $table) {
$query = "DROP TABLE IF EXISTS #__".$this->db->escape($table);
$this->db->setQuery($query);
$this->db->execute();
}
}
public function dropUnwantedColumns($table, $columns) {
if (!$columns || !$table) {
return;
}
$db = $this->db;
// Check if columns exists in database
function qt($n) {
return(Factory::getDBO()->quote($n));
}
$query = 'SHOW COLUMNS FROM #__'.$table.' WHERE Field IN ('.implode(",", array_map("qt", $columns)).')';
$db->setQuery($query);
$rows = $db->loadColumn(0);
// Abort if we don't have any rows
if (!$rows) {
return;
}
// Let's remove the columns
$q = "";
foreach ($rows as $key => $column) {
$comma = (($key+1) < count($rows)) ? "," : "";
$q .= "drop ".$this->db->escape($column).$comma;
}
$query = "alter table #__".$table." $q";
$db->setQuery($query);
$db->execute();
}
public function fetch($table, $columns = "*", $where = null, $singlerow = false) {
if (!$table) {
return;
}
$db = $this->db;
$query = $db->getQuery(true);
$query
->select($columns)
->from("#__$table");
if (isset($where)) {
$query->where("$where");
}
$db->setQuery($query);
return ($singlerow) ? $db->loadObject() : $db->loadObjectList();
}
/**
* Load the Novarain Framework
*
* @return boolean
*/
public function loadFramework()
{
if (is_file(JPATH_PLUGINS . '/system/nrframework/autoload.php'))
{
include_once JPATH_PLUGINS . '/system/nrframework/autoload.php';
}
}
/**
* Re-orders plugin after passed array of plugins
*
* @param string $plugin Plugin element name
* @param array $lowerPluginOrder Array of plugin element names
*
* @return boolean
*/
public function pluginOrderAfter($lowerPluginOrder)
{
if (!is_array($lowerPluginOrder) || !count($lowerPluginOrder))
{
return;
}
$db = $this->db;
// Get plugins max order
$query = $db->getQuery(true);
$query
->select($db->quoteName('b.ordering'))
->from($db->quoteName('#__extensions', 'b'))
->where($db->quoteName('b.element') . ' IN ("'.implode("\",\"",$lowerPluginOrder).'")')
->order('b.ordering desc');
$db->setQuery($query);
$maxOrder = $db->loadResult();
if (is_null($maxOrder))
{
return;
}
// Get plugin details
$query
->clear()
->select(array($db->quoteName('extension_id'), $db->quoteName('ordering')))
->from($db->quoteName('#__extensions'))
->where($db->quoteName('element') . ' = ' . $db->quote($this->alias));
$db->setQuery($query);
$pluginInfo = $db->loadObject();
if (!isset($pluginInfo->ordering) || $pluginInfo->ordering > $maxOrder)
{
return;
}
// Update the new plugin order
$object = new stdClass();
$object->extension_id = $pluginInfo->extension_id;
$object->ordering = ($maxOrder + 1);
try {
$db->updateObject('#__extensions', $object, 'extension_id');
} catch (Exception $e) {
return $e->getMessage();
}
}
}

View File

@ -0,0 +1,43 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2019 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\Filesystem\File;
require_once __DIR__ . '/script.install.helper.php';
class PlgFieldsACFPayPalInstallerScript extends PlgFieldsACFPayPalInstallerScriptHelper
{
public $alias = 'acfpaypal';
public $extension_type = 'plugin';
public $plugin_folder = "fields";
public $show_message = false;
/**
* Helper method triggered before installation
*
* @return bool
*/
public function onBeforeInstall()
{
// If version.php doesn't exist, copy it from the system plugin
if ($this->isInstalled() && !file_exists($this->getMainFolder() . '/version.php'))
{
$systemVersionPath = JPATH_SITE . '/plugins/system/acf/version.php';
$result = File::copy($systemVersionPath, $this->getMainFolder() . '/version.php');
}
return parent::onBeforeInstall();
}
}

View File

@ -0,0 +1,119 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2019 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die;
use Joomla\CMS\Uri\Uri;
// Setup variables
if (!$field->value)
{
return;
}
$type = $fieldParams->get('type', 'checkout');
$paypal_account = $fieldParams->get('paypal_account', '');
$sandbox_mode = (bool) $fieldParams->get('sandbox_mode', '');
$sandbox_account = $fieldParams->get('sandbox_account', '');
$paypal_account = (!$sandbox_mode) ? $paypal_account : $sandbox_account;
// get value data
$data = isset($field->value) && is_string($field->value) ? json_decode($field->value) : (object) $field->value;
// Setup variables
$item_name = (isset($data->item_name) && !empty($data->item_name)) ? $data->item_name : '';
$price = (isset($data->price) && !empty($data->price)) ? $data->price : '';
// Do not render if name and price are empty except if we are rendering a checkout or donation button,
// which do not require a fixed amount
if ((empty($item_name) || empty($price)) && !in_array($type, ['checkout', 'donation']))
{
return;
}
/**
* Checkout button types can be rendered with no price set (users can then define a custom price on PayPal).
*
* However, some users do not want their checkout button to appear when no price is set.
*/
if ($type === 'checkout' && empty($price) && ! (bool) $fieldParams->get('allow_empty_value'))
{
return;
}
// Setup variables
$currency = $fieldParams->get('currency', 'USD');
$billing_interval = $fieldParams->get('billing_interval', '');
$language = $fieldParams->get('language', 'auto');
$language_locale = $fieldParams->get('language_locale', '');
$return_url = $fieldParams->get('return_url', '');
$cancel_url = $fieldParams->get('cancel_url', '');
$button_style = $fieldParams->get('button_style', 'style');
$button_style_selector = $fieldParams->get('button_style_selector', '');
$button_style_image = $fieldParams->get('button_style_image', '');
$new_tab = (bool) $fieldParams->get('new_tab', '');
$new_tab = ($new_tab) ? ' target="_blank"' : '';
// base url
$base_url = (!$sandbox_mode) ? 'https://www.paypal.com/cgi-bin/webscr' : 'https://www.sandbox.paypal.com/cgi-bin/webscr';
$image_name = ($button_style == 'style') ? $button_style_selector : $button_style_image;
$image_url = ($button_style == 'style') ? Uri::root() . $image_name : $button_style_image;
// command
$command = '_xclick';
switch ($type) {
case 'donation':
$command = '_donations';
break;
case 'subscription':
$command = '_xclick-subscriptions';
break;
}
?>
<form method="post" action="<?php echo $base_url; ?>"<?php echo $new_tab; ?>>
<input type="hidden" name="cmd" value="<?php echo $command; ?>">
<input type="hidden" name="business" value="<?php echo $paypal_account; ?>">
<input type="hidden" name="currency_code" value="<?php echo $currency; ?>">
<?php
if (!empty($item_name))
{
?><input type="hidden" name="item_name" value="<?php echo $item_name; ?>"><?php
}
if (!empty($price))
{
if ($type == 'subscription')
{
?>
<input type="hidden" name="p3" value="<?php echo $billing_interval; ?>">
<input type="hidden" name="t3" value="D">
<?php
}
?><input type="hidden" name="<?php echo ($type == 'subscription') ? 'a3' : 'amount'; ?>" value="<?php echo $price; ?>"><?php
}
if (!empty($return_url))
{
?><input type="hidden" name="return" value="<?php echo $return_url; ?>"><?php
}
if (!empty($cancel_url))
{
?><input type="hidden" name="cancel_return" value="<?php echo $cancel_url; ?>"><?php
}
if ($language == 'fixed' && !empty($language_locale))
{
?><input type="hidden" name="lc" value="<?php echo $language_locale; ?>"><?php
}
?>
<input type="image" src="<?php echo $image_url; ?>" style="border:none;max-width: 100%;" />
</form>

View File

@ -0,0 +1,14 @@
<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2018 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted Access');
$NR_PRO = "1";