diff --git a/source/administrator/components/com_ctransifex/assets/install.xml b/source/administrator/components/com_ctransifex/assets/install.xml index 6fef9d1..df0c837 100644 --- a/source/administrator/components/com_ctransifex/assets/install.xml +++ b/source/administrator/components/com_ctransifex/assets/install.xml @@ -8,8 +8,6 @@ @@AUTHOR_URL@@ @@COPYRIGHT@@ GNU General Public License version 2 or later; see LICENSE.txt - CTransifex - https://compojoom.com @@ -18,4 +16,4 @@ @@ADMIN_FILENAMES@@ @@FRONTEND_FILENAMES@@ - \ No newline at end of file + diff --git a/source/administrator/components/com_ctransifex/helpers/package.php b/source/administrator/components/com_ctransifex/helpers/package.php index 98a4d27..9e856c3 100644 --- a/source/administrator/components/com_ctransifex/helpers/package.php +++ b/source/administrator/components/com_ctransifex/helpers/package.php @@ -155,9 +155,11 @@ private static function getFiles($folder) { $files = JFolder::files($folder); $xml = array(); + if($files){ foreach($files as $file) { $xml[] = ''.$file.''; + } } return implode("\n", $xml); } -} \ No newline at end of file +} diff --git a/source/administrator/components/com_ctransifex/models/forms/project.xml b/source/administrator/components/com_ctransifex/models/forms/project.xml index fa46bbc..83ed7e7 100644 --- a/source/administrator/components/com_ctransifex/models/forms/project.xml +++ b/source/administrator/components/com_ctransifex/models/forms/project.xml @@ -21,6 +21,10 @@ + + q($this->resourceId) . ',' . $db->q($langCode) . ',' . $db->q($language->completed) . ',' - . $db->q(json_encode($language)); + . $db->q($language->untranslated_entities) . ',' + . $db->q($language->translated_entities) . ',' + . $db->q(json_encode($language)); } } @@ -54,7 +56,9 @@ public function add($languages = array()) $db->qn('resource_id'), $db->qn('lang_name'), $db->qn('completed'), - $db->qn('raw_data') + $db->qn('untranslated_entities'), + $db->qn('translated_entities'), + $db->qn('raw_data') ) )->values($values); @@ -85,7 +89,9 @@ public function getResourcesForLang($jlang) $db->qn('r.resource_name'), $db->qn('l.lang_name'), $db->qn('l.completed'), - $db->qn('l.raw_data') + $db->qn('l.untranslated_entities'), + $db->qn('l.translated_entities'), + $db->qn('l.raw_data') ) ) ->from('#__ctransifex_languages AS l') @@ -96,4 +102,4 @@ public function getResourcesForLang($jlang) $db->setQuery($query); return $db->loadObjectList(); } -} \ No newline at end of file +} diff --git a/source/administrator/components/com_ctransifex/models/package.php b/source/administrator/components/com_ctransifex/models/package.php index 70d78ab..f884048 100644 --- a/source/administrator/components/com_ctransifex/models/package.php +++ b/source/administrator/components/com_ctransifex/models/package.php @@ -31,17 +31,29 @@ public function add($resources, $language) $db = JFactory::getDbo(); $query = $db->getQuery(true); - $completed = 0; + $translated = 0; + $untranslated = 0; $allResources = $this->countResources(); foreach($resources as $resource) { - $completed += $resource->completed; + $translated += $resource->translated_entities; + $untranslated += $resource->untranslated_entities; + $completed = (($translated / ($translated + $untranslated)) * 100); } + + // make front listing and saving of zip values depend on the value minimum_perc + $query ->select('minimum_perc') + ->from('#__ctransifex_projects') + ->where('id='.$db->quote($this->projectId)); + $db->setQuery($query); + $result = $db->loadObject(); + $minperc = $result->minimum_perc; + if ($completed >= $minperc){ $values = $db->q($this->projectId) . ',' . $db->q($language) . - ',' . $db->q((int)$completed/$allResources) . + ',' . $db->q((int)$completed) . ',' . $db->q(JFactory::getDate()->toSql()); $query->insert('#__ctransifex_zips') @@ -56,6 +68,7 @@ public function add($resources, $language) $db->setQuery($query); $db->execute(); + } } public function countResources() { @@ -68,4 +81,4 @@ public function countResources() { return $db->loadObject()->count; } -} \ No newline at end of file +} diff --git a/source/administrator/components/com_ctransifex/script.php b/source/administrator/components/com_ctransifex/script.php index 7c13047..b2ff677 100644 --- a/source/administrator/components/com_ctransifex/script.php +++ b/source/administrator/components/com_ctransifex/script.php @@ -59,11 +59,26 @@ public static function updateTo1_0() { 'ALTER TABLE `#__ctransifex_projects` ADD `params` LONGTEXT NOT NULL;'); $db->execute(); + + $db->setQuery( + 'ALTER TABLE `#__ctransifex_projects` + ADD `minimum_perc` int(11) NOT NULL AFTER `alias`;'); + $db->execute(); $db->setQuery( 'ALTER TABLE `#__ctransifex_languages` ADD `raw_data` LONGTEXT NOT NULL;'); $db->execute(); + + $db->setQuery( + 'ALTER TABLE `#__ctransifex_languages` + ADD `untranslated_entities` int(11) NOT NULL AFTER `completed`;'); + $db->execute(); + + $db->setQuery( + 'ALTER TABLE `#__ctransifex_languages` + ADD `translated_entities` int(11) NOT NULL AFTER `untranslated_entities`;'); + $db->execute(); } } @@ -403,4 +418,4 @@ public function install($parent) } -} \ No newline at end of file +} diff --git a/source/administrator/components/com_ctransifex/sql/install.mysql.sql b/source/administrator/components/com_ctransifex/sql/install.mysql.sql index de70021..1f8622c 100644 --- a/source/administrator/components/com_ctransifex/sql/install.mysql.sql +++ b/source/administrator/components/com_ctransifex/sql/install.mysql.sql @@ -4,6 +4,8 @@ CREATE TABLE IF NOT EXISTS `#__ctransifex_languages` ( `resource_id` int(11) NOT NULL, `lang_name` varchar(255) NOT NULL, `completed` int(11) NOT NULL, + `untranslated_entities` int(11) NOT NULL, + `translated_entities` int(11) NOT NULL, `raw_data` longtext NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARSET=utf8; @@ -14,6 +16,7 @@ CREATE TABLE IF NOT EXISTS `#__ctransifex_projects` ( `transifex_slug` varchar(255) NOT NULL, `description` text NOT NULL, `alias` varchar(255) NOT NULL, + `minimum_perc` int(11) NOT NULL, `state` tinyint(4) NOT NULL, `created_by` int(11) NOT NULL, `created_by_alias` varchar(255) NOT NULL, diff --git a/source/administrator/components/com_ctransifex/views/project/tmpl/default.php b/source/administrator/components/com_ctransifex/views/project/tmpl/default.php index 9a5a3b2..6a7a157 100644 --- a/source/administrator/components/com_ctransifex/views/project/tmpl/default.php +++ b/source/administrator/components/com_ctransifex/views/project/tmpl/default.php @@ -60,6 +60,14 @@ form->getInput('alias'); ?> +
+
+ form->getLabel('minimum_perc'); ?> +
+
+ form->getInput('minimum_perc'); ?> +
+
form->getLabel('extension_name'); ?> @@ -105,4 +113,4 @@ - \ No newline at end of file + diff --git a/source/administrator/language/en-GB/en-GB.com_ctransifex.ini b/source/administrator/language/en-GB/en-GB.com_ctransifex.ini index 00d9fa3..f94eeab 100644 --- a/source/administrator/language/en-GB/en-GB.com_ctransifex.ini +++ b/source/administrator/language/en-GB/en-GB.com_ctransifex.ini @@ -39,3 +39,5 @@ COM_CTRANSIFEX_NO_GLOBAL_WEBHOOKS_KEY ="You haven't edited the extension config COM_CTRANSIFEX_TRANSIFEX_WEBHOOKS="Webhooks url" COM_CTRANSIFEX_CONTRIBUTE_LINK="Contribute link" COM_CTRANSIFEX_CONTRIBUTE_LINK_DESC="Show a contribute now link for languages that are not 100% translated" +COM_CTRANSIFEX_MINIMUM_PERC="Minimum percentage" +COM_CTRANSIFEX_MINIMUM_PERC_DESC="Here you can enter a value for minimum percentage. This value will influence which languages are shown in frontend. Only languages that have a completed percentage equal to or higher than the set value will be shown"