From 41e2bbd22b6b2d7f2870a310f3f972599acd96d8 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 22 Feb 2019 07:43:47 -0500 Subject: [PATCH] Some updates for processwire/processwire-issues#126 plus some improvements to ProcessLanguage and add a refresh link in the language translation phrase live-search --- .../LanguageSupport/ProcessLanguage.module | 53 ++++++++++++++----- .../ProcessLanguageTranslator.module | 11 ++-- 2 files changed, 47 insertions(+), 17 deletions(-) diff --git a/wire/modules/LanguageSupport/ProcessLanguage.module b/wire/modules/LanguageSupport/ProcessLanguage.module index 6bb0469d..cc409de3 100644 --- a/wire/modules/LanguageSupport/ProcessLanguage.module +++ b/wire/modules/LanguageSupport/ProcessLanguage.module @@ -6,7 +6,7 @@ * It also contains the hooks for altering the output of the InputfieldFile to hold language info and links. * This is the process assigned to processwire/setup/languages/. * - * ProcessWire 3.x, Copyright 2016 by Ryan Cramer + * ProcessWire 3.x, Copyright 2019 by Ryan Cramer * https://processwire.com * * @@ -102,19 +102,24 @@ class ProcessLanguage extends ProcessPageType { } public function processInputfieldFileInput(HookEvent $event) { - $event->object->overwrite = true; + /** @var InputfieldFile $inputfield */ + $inputfield = $event->object; + $inputfield->overwrite = true; } /** * Hook for before InputfieldFile::render * * In this case we add an 'edit' link to the translator and some info about the translation file. + * + * @param HookEvent $event * */ public function renderInputfieldFile(HookEvent $event) { - $language = $this->wire('process')->getPage(); + /** @var InputfieldFile $inputfield */ $inputfield = $event->object; + $language = $this->wire('process')->getPage(); /** @var Pagefiles $pagefiles */ $pagefiles = $inputfield->attr('value'); @@ -134,7 +139,8 @@ class ProcessLanguage extends ProcessPageType { } public function renderInputfieldForm(HookEvent $event) { - + + /** @var InputfieldForm $form */ $form = $event->object; $language = $this->getPage(); if(!$language->id) return; @@ -143,15 +149,17 @@ class ProcessLanguage extends ProcessPageType { $inputfield->label = $this->_('Live Search'); $inputfield->icon = 'search'; $placeholder = $this->_('Text to search for'); + $refreshUrl = "../../language-translator/add/?language_id=$language->id&refresh=1"; + $refreshLabel = $this->_('Refresh search phrase index'); if(!is_file($file)) { - $inputfield->value = "

" . + $inputfield->value = "

" . $this->_('Click here to build search phrase index') . "

"; } else { $phrases = file_get_contents($file); - $phrases = str_replace(array('"', "\n"), array(' ', ' '), $phrases); + $phrases = str_replace(array('"', "\n", "<", ">"), ' ', $phrases); $inputfield->value = "