first commit

This commit is contained in:
2026-02-08 21:16:11 +01:00
commit e17b7026fd
8881 changed files with 1160453 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
<?php
/**
* @package Convert Forms
* @version 3.2.12 Free
*
* @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');
class PlgConvertFormsToolsCalculations extends JPlugin
{
/**
* Application Object
*
* @var object
*/
protected $app;
/**
* Auto loads the plugin language file
*
* @var boolean
*/
protected $autoloadLanguage = true;
/**
* We need to load our assets regardless if the form doesn't include a field that supports calculations because
* user may add a field later. Thus we ensure the Calculation Builder is properly rendered.
*
* @return void
*/
public function onConvertFormsBackendEditorDisplay()
{
JHtml::script('plg_convertformstools_calculations/calculation_builder.js', ['relative' => true, 'version' => 'auto']);
}
/**
* Add plugin fields to the form
*
* @param JForm $form
* @param object $data
*
* @return boolean
*/
public function onConvertFormsBackendRenderOptionsForm($form, $field_type)
{
if (!in_array($field_type, ['text', 'number', 'hidden']))
{
return;
}
$form->loadFile(__DIR__ . '/form/form.xml');
if ($field_type == 'number')
{
// A number field does not accept text in its value. Remove unsupported options.
$form->removeField('prefix', 'calculations');
$form->removeField('suffix', 'calculations');
$form->removeField('thousand_separator', 'calculations');
}
}
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.4.0" type="plugin" group="convertformstools" method="upgrade">
<name>PLG_CONVERTFORMSTOOLS_CALCULATIONS</name>
<description>PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC</description>
<version>1.0</version>
<creationDate>Apr 2019</creationDate>
<copyright>Copyright © 2020 Tassos Marinos All Rights Reserved</copyright>
<license>http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL</license>
<author>Tassos Marinos (Tassos.gr)</author>
<authorEmail>info@tassos.gr</authorEmail>
<authorUrl>http://www.tassos.gr</authorUrl>
<scriptfile>script.install.php</scriptfile>
<files>
<filename plugin="calculations">calculations.php</filename>
<filename>script.install.helper.php</filename>
<folder>language</folder>
<folder>form</folder>
</files>
</extension>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<form>
<fieldset name="calculations" label="PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS" addfieldpath="plugins/convertformstools/calculations/fields">
<field name="@calculations" type="nr_pro"
label="PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS"
description="Wondering how you can calculate a total based on the option selected by the user from your form? With the Convert Forms Calculations Feature, you can make simple to complex calculations using the answers you get from your form users. Example: {field.xxx} + {field.yyy} * {field.zzz}"
/>
</fieldset>
</form>

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms калкулации на полета"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Калкулации на полета"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Извършвайте математически изчисления въз основа на стойности в полетата."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Активиране калкулации"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Добави поле"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Undo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Изчисти формула"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Добави"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Изваждане"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Делене"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Умножение"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Модул"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Започни група"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Крайна група"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Формула"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Въведете формула за изчисление."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Десетични знаци"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Точност десетична запетая "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Разделител хилядни"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Десетичен разделител"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Càlculs de camps"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Càlculs de camps"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Realitza càlculs matemàtics basats en els valors dels camps."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Activar càlculs"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Afegir camp"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Desfer"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Netejar fòrmula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Sumar"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Restar"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Dividir"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Multiplicar"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Modulus"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Iniciar grup"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Finalitzar grup"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Fòrmula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Escriu una fórmula de càlcul"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Nombre sdecimals"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Precisió dels decimals"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Separador de milers"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Separador decimals"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Výpočty v polích"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Výpočty v polích"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Provádí výpočty založené na hodnotách v polích."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Zapnout výpočty"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Přidat pole"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Zpět"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Odstranit vzorec"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Přidat"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Odečítání"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Dělení"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Násobení"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Modulus"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Začátek skupiny"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Konec skupiny"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Vzorec"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Zadejte vzorec pro výpočet."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Desetinná místa"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Zaokrouhlení na desetinná místa"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Oddělovač tisíců"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Oddělovač desítek"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Feldberechnungen "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Feldberechnungen "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Führt mathematische Berechnungen basierend auf Feldwerten durch. "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Berechnungen aktivieren "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Feld hinzufügen "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Rückgängig machen "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Formel löschen"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Addieren"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Subtrahieren "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Dividieren"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Multiplizieren"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Betrag"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Start Gruppe"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="End Gruppe"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Formel"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Geben Sie eine Berechnungsformel ein."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Dezimalstellen"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Dezimalstellengenauigkeit"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Tausender Trennzeichen "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Dezimaltrennzeichen "
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Υπολογισμοί πεδίων"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Υπολογισμός πεδίων"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Μαθηματικοί υπολογισμοί βάσει τιμών των πεδίων"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Ενεργοποίηση υπολογισμών"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Προσθήκη πεδίου"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Αναίρεση"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Εκκαθάριση φόρμουλας"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Προσθήκη"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Αφαίρεση"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Διαίρεση"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Πολλαπλάσιο"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Modulus"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Ομάδα εκκίνησης"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Ομάδα τέλους"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Φόρμουλα"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Δώστε μία φόρμουλα υπολογισμού"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Δεκαδικά ψηφία"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Ακρίβεια δεκαδικών ψηφίων"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Διαχωριστής χιλιάδων"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Διαχωριστής δεκαδικών"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,36 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Field Calculations"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Field Calculations"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Perform math calculations based on field values."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Enable Calculations"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Add Field"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Undo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Clear Formula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Add"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Subtract"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Divide"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Multiply"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Modulus"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Start Group"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="End Group"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Formula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Enter a calculation formula."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Decimal Places"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Decimal places precision"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Thousands Separator"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC="Make big numbers more readable by separating thousands with a comma."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_CUSTOM="Custom Thousands Separator"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_COMMA='Use Comma (,)'
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DOT='Use Dot (.)'
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Decimal Separator"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PREFIX="Prefix"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PREFIX_DESC="Add text at the beginning of the calculated value. This is rather useful when you want the value to start with a currency symbol or a measurement unit. Eg: $150.00"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUFFIX="Suffix"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUFFIX_DESC="Add text at the end of the calculated value. This is rather useful when you want the value to end with a currency symbol or a measurement unit. Eg: 150.00 USD"

View File

@@ -0,0 +1,9 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Field Calculations"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Perform math calculations based on field values."

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convertir formularios - Cálculo de Campos"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Cálculo de Campos"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Realizar cálculos matemáticos basados en los valores de los campos."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Habilitar Cálculos"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Añadir Campo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Deshacer"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Limpiar Fórmula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Añadir"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Restar"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Dividir"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Multiplicar"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Módulo"
; PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Start Group"
; PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="End Group"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Fórmula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Introducir fórmula de cálculo."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Cifras Decimales"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Precisión de las cifras decimales"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Separador de millares"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Separador de decimales"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Väljade kalkulatsioonid"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Välja kalkulatsioonid"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Teosta matemaatilisi arvutusi väljale sisestatud andmetega."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Luba kalkulatsioonid"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Lisa väli"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Võta tagasi"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Tühjenda valem"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Lisa"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Lahutamine"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Jagamine"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Korrutamine"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Moodul"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Alusta grupp"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Lõpeta grupp"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Valem"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Sisesta tehte valem."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Komakohad"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Komakohtade täpsustus"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Tuhande eraldaja"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Koma eraldaja"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Kenttien laskenta"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Kenttien laskenta"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Suorita matemaattiset laskelmat kenttäarvojen perusteella."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Ota laskelmat käyttöön"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Lisää kenttä"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Kumoa"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Tyhjennä kaava"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Lisää"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Vähentää"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Jakaa"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Kertoa"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Moduli"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Aloita ryhmä"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Lopeta ryhmä"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Kaava"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Kirjoita laskentakaava."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Desimaalit"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Asettaa desimaalin tarkkuuden"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Tuhannen erotin"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Desimaalin erotin"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Calculs sur champ"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Calcul sur champ"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Permet des calculs mathématiques basés sur les valeurs des champs"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Activer les calculs"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Ajouter un champ"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Annuler"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Supprimer la formule"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Ajouter"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Soustraire"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Diviser"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Multiplier"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Modulus"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Groupe initial"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Groupe final"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Formule"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Saisissez une formule de calcul"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Décimales"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Précision de décimales"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Séparateur de milliers"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Séparateur décimal"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Convert Forms - Calcoli nel campo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Calcoli nel campo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Esegui calcoli matematici basati sui valori dei campi"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Abilita calcoli"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Aggiungi campo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Annulla"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Pulisci formula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Aggiungi"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Sottrai"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Dividi"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Moltiplica"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Modulo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Inizia gruppo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Termina gruppo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Formula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Inserisci una formula"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Posizioni decimali"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Precisione posizioni decimali"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Separatore delle migliaia"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Separatore dei decimali"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Преобразовать формы - Полевые вычисления"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Расчеты на местах"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Выполнять математические вычисления на основе значений поля."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Включить вычисления"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Добавить поле"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Undo"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Очистить формулу"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Добавить"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Вычитание"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Разделить"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Умножить"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Модуль"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Начать группу"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Конечная группа"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Формула"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Введите формулу расчета."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Десятичные знаки"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Точность десятичных разрядов"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Разделитель тысяч"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Десятичный разделитель"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Konvertovať formuláre výpočty polí"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Výpočty poľa"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Vykonajte matematické výpočty na základe hodnôt poľa."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Povoliť výpočty"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Pridať pole"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Vrátenie späť"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Jasný vzorec"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Pridať"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Odčítať"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Rozdeliť"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Vynásobte"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Modul"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Začať skupinu"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Koniec skupiny"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Vzorec"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Zadajte vzorec výpočtu."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Desatinné miesta"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Presnosť na desatinné miesta"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Oddeľovač tisícov"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Oddeľovač desatinných miest"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,29 @@
; @package Convert Forms
; @version 3.2.12 Free
;
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
; @license http://www.tassos.gr
PLG_CONVERTFORMSTOOLS_CALCULATIONS="Перетворити форми - обчислення поля"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ALIAS="Обчислення поля"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DESC="Виконувати математичні обчислення на основі значень поля."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ENABLE="Увімкнути обчислення"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD_FIELD="Додати поле"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_UNDO="Скасувати"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_CLEAR_FORMULAO="Очистити формулу"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_ADD="Додати"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_SUBTRACT="Віднімання"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DIVIDE="Розділити"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MULTIPLY="Помножити"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_MODULUS="Модуль"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_START_GROUP="Почати групу"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_END_GROUP="Кінцева група"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA="Формула"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_FORMULA_DESC="Введіть формулу обчислення."
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION="Десяткові місця"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_PRECISION_DESC="Десятична точність місць"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR="Тисяча роздільник"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_THOUSAND_SEPARATOR_DESC=""
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR="Десятковий роздільник"
PLG_CONVERTFORMSTOOLS_CALCULATIONS_DECIMAL_SEPARATOR_DESC=""

View File

@@ -0,0 +1,637 @@
<?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;
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
class PlgConvertformstoolsCalculationsInstallerScriptHelper
{
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 = JFactory::getDbo();
$this->app = JFactory::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;
}
JFactory::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)
{
JFactory::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();
}
JFactory::getCache()->clean('com_plugins');
JFactory::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()
{
JFactory::getApplication()->enqueueMessage(
JText::sprintf(
JText::_($this->install_type == 'update' ? 'NRI_THE_EXTENSION_HAS_BEEN_UPDATED_SUCCESSFULLY' : 'NRI_THE_EXTENSION_HAS_BEEN_INSTALLED_SUCCESSFULLY'),
'<strong>' . JText::_($this->name) . '</strong>',
'<strong>' . $this->getVersion() . '</strong>',
$this->getFullType()
)
);
}
public function getPrefix()
{
switch ($this->extension_type)
{
case 'plugin';
return JText::_('plg_' . strtolower($this->plugin_folder));
case 'component':
return JText::_('com');
case 'module':
return JText::_('mod');
case 'library':
return JText::_('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 JText::_('NRI_' . strtoupper($this->getPrefix()));
}
public function isPro()
{
$versionFile = __DIR__ . "/version.php";
// If version file does not exist we assume a PRO version
if (!JFile::exists($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 = JInstaller::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.
JFactory::getLanguage()->load($this->getPrefix() . '_' . $this->extname, __DIR__);
JFactory::getApplication()->enqueueMessage(
JText::_('NRI_ERROR_PRO_TO_FREE'), 'error'
);
JFactory::getApplication()->enqueueMessage(
html_entity_decode(
JText::sprintf(
'NRI_ERROR_UNINSTALL_FIRST',
'<a href="http://www.tassos.gr/joomla-extensions/' . $this->alias . '" target="_blank">',
'</a>',
JText::_($this->name)
)
), 'error'
);
return false;
}
/**
* 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)
{
JFile::delete($file);
}
}
/**
* Deletes folders
*
* @param array $folders
*/
public function deleteFolders($folders = array())
{
foreach ($folders as $folder)
{
if (!is_dir($folder))
{
continue;
}
JFolder::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(JFactory::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,24 @@
<?php
/**
* @package Convert Forms
* @version 3.2.12 Free
*
* @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');
require_once __DIR__ . '/script.install.helper.php';
class PlgConvertFormsToolsCalculationsInstallerScript extends PlgConvertFormsToolsCalculationsInstallerScriptHelper
{
public $name = 'calculations';
public $alias = 'calculations';
public $extension_type = 'plugin';
public $plugin_folder = 'convertformstools';
public $show_message = false;
}