diff --git a/src/webui/index.php b/src/webui/index.php
index aff63dd..ff3c89a 100644
--- a/src/webui/index.php
+++ b/src/webui/index.php
@@ -8,6 +8,13 @@ error_reporting(E_ALL);
// Load dependencies
require_once __DIR__ . '/../../vendor/autoload.php';
+function plural(int $number, array $texts)
+{
+ $cases = [2, 0, 1, 1, 1, 2];
+
+ return $texts[(($number % 100) > 4 && ($number % 100) < 20) ? 2 : $cases[min($number % 10, 5)]];
+}
+
// Init config
$config = json_decode(
file_get_contents(
@@ -15,7 +22,7 @@ $config = json_decode(
)
);
-/* @TODO show totals in placeholder
+// Show totals in placeholder
// Init
$client = new \Manticoresearch\Client(
@@ -30,7 +37,36 @@ $index = $client->index(
$config->manticore->index->document
);
-*/
+// Get totals
+$total = $index->search('')
+ ->option('cutoff', 0)
+ ->limit(0)
+ ->get()
+ ->getTotal();
+
+$placeholder = plural(
+ $total,
+ [
+ sprintf(
+ _('Over %s page or enter the new one...'),
+ number_format(
+ $total
+ )
+ ),
+ sprintf(
+ _('Over %s pages or enter the new one...'),
+ number_format(
+ $total
+ )
+ ),
+ sprintf(
+ _('Over %s pages or enter the new one...'),
+ number_format(
+ $total
+ )
+ ),
+ ]
+);
?>
@@ -261,7 +297,7 @@ $index = $client->index(
diff --git a/src/webui/search.php b/src/webui/search.php
index 2f16900..801337f 100644
--- a/src/webui/search.php
+++ b/src/webui/search.php
@@ -8,6 +8,13 @@ error_reporting(E_ALL);
// Load dependencies
require_once __DIR__ . '/../../vendor/autoload.php';
+function plural(int $number, array $texts)
+{
+ $cases = [2, 0, 1, 1, 1, 2];
+
+ return $texts[(($number % 100) > 4 && ($number % 100) < 20) ? 2 : $cases[min($number % 10, 5)]];
+}
+
// Init config
$config = json_decode(
file_get_contents(
@@ -28,6 +35,37 @@ $index = $client->index(
$config->manticore->index->document
);
+// Get totals
+$total = $index->search('')
+ ->option('cutoff', 0)
+ ->limit(0)
+ ->get()
+ ->getTotal();
+
+$placeholder = plural(
+ $total,
+ [
+ sprintf(
+ _('Over %s page or enter the new one...'),
+ number_format(
+ $total
+ )
+ ),
+ sprintf(
+ _('Over %s pages or enter the new one...'),
+ number_format(
+ $total
+ )
+ ),
+ sprintf(
+ _('Over %s pages or enter the new one...'),
+ number_format(
+ $total
+ )
+ ),
+ ]
+);
+
// Request
$q = !empty($_GET['q']) ? $_GET['q'] : '';
$p = !empty($_GET['p']) ? (int) $_GET['p'] : 1;
@@ -214,7 +252,7 @@ $results = $index->search($q)