From fec0f81d124274e9b80e203790395a89dbcc58b3 Mon Sep 17 00:00:00 2001 From: Johnny Broadway Date: Thu, 24 May 2012 09:19:18 -0500 Subject: [PATCH] Added option to show only empty fields in the translator app, closes #95 --- apps/translator/handlers/edit.php | 35 ++++++++++++++++----- apps/translator/views/edit.html | 13 ++++++-- apps/translator/views/edit_search.html | 43 ++++++++++++++++---------- apps/translator/views/edit_source.html | 43 ++++++++++++++++---------- 4 files changed, 92 insertions(+), 42 deletions(-) diff --git a/apps/translator/handlers/edit.php b/apps/translator/handlers/edit.php index 713e6eaba..970b8a9e7 100644 --- a/apps/translator/handlers/edit.php +++ b/apps/translator/handlers/edit.php @@ -18,6 +18,11 @@ $lang = $this->params[0]; +$empty = (isset ($_GET['empty']) && $_GET['empty'] == 1) ? true : false; +if (! $empty) { + $_GET['empty'] = ''; +} + $info = $i18n->languages[$lang]; $page->title = i18n_get ('Editing language') . ': ' . $info['name']; @@ -37,7 +42,8 @@ 'name' => $info['name'], 'lang' => $lang, 'sources' => $sources, - 'contains' => $_GET['contains'] + 'contains' => $_GET['contains'], + 'empty' => $empty )); } elseif (isset ($_GET['source']) && ! empty ($_GET['source'])) { $items = Translator::get_by_source ($all, $_GET['source']); @@ -50,7 +56,8 @@ 'name' => $info['name'], 'lang' => $lang, 'sources' => $sources, - 'source' => $_GET['source'] + 'source' => $_GET['source'], + 'empty' => $empty )); } else { $num = isset ($this->params[1]) ? $this->params[1] : 1; @@ -58,20 +65,32 @@ $limit = 40; $offset = ($num - 1) * $limit; - $items = array_slice ($all, $offset, $limit); - - $tr = new Translator; - $items = $tr->translations ($lang, $items); + if ($empty) { + $tr = new Translator; + $all = $tr->translations ($lang, $all); + foreach ($all as $k => $v) { + if ($v['trans'] !== '') { + unset ($all[$k]); + } + } + $items = array_slice ($all, $offset, $limit); + } else { + $items = array_slice ($all, $offset, $limit); + + $tr = new Translator; + $items = $tr->translations ($lang, $items); + } echo $tpl->render ('translator/edit', array ( 'limit' => $limit, 'total' => count ($all), 'items' => $items, 'count' => count ($items), - 'url' => '/translator/edit/' . $lang . '/%d', + 'url' => '/translator/edit/' . $lang . '/%d?empty=' . $_GET['empty'], 'name' => $info['name'], 'lang' => $lang, - 'sources' => $sources + 'sources' => $sources, + 'empty' => $empty )); } diff --git a/apps/translator/views/edit.html b/apps/translator/views/edit.html index 3c69c38ea..0523f83a7 100644 --- a/apps/translator/views/edit.html +++ b/apps/translator/views/edit.html @@ -1,5 +1,5 @@
-
+
{% foreach sources %} @@ -19,23 +19,34 @@ - + {% foreach items %} - - - - + {% if empty === false || $data->loop_value['trans'] === '' %} + + + + + {% end %} {% end %}
{"Original text"}{{ name }} + + {% if empty %} + {"Show all fields"} + {% else %} + {"Show empty fields"} + {% end %} + + {{ name }} +
{{ loop_index }} - - {"Saving..."} -
{{ loop_index }} + + {"Saving..."} +

diff --git a/apps/translator/views/edit_source.html b/apps/translator/views/edit_source.html index bb449f7a3..80fd8292f 100644 --- a/apps/translator/views/edit_source.html +++ b/apps/translator/views/edit_source.html @@ -1,5 +1,5 @@ -
+
- {"Saving..."} - - + {% if empty === false || $data->loop_value['trans'] === '' %} + + {{ loop_index }} + + + {"Saving..."} + + + {% end %} {% end %}