changeset 47:1e2b55775a84

Begin implementation of translated caption/title support.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 25 May 2016 18:02:33 +0300
parents e58292065b01
children 5a2dd41ff7ad
files mgallery.inc.php mgallery.php
diffstat 2 files changed, 30 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/mgallery.inc.php	Wed May 25 18:01:27 2016 +0300
+++ b/mgallery.inc.php	Wed May 25 18:02:33 2016 +0300
@@ -263,8 +263,23 @@
 }
 
 
+function mgGetTrans($val, $che = FALSE)
+{
+  global $pageLang;
+
+  if (is_array($val))
+    $str = array_key_exists($pageLang, $val) ? $val[$pageLang] : reset($val);
+  else
+    $str = $val;
+
+  return $che ? chentities($str) : $str;
+}
+
+
 function mgGetArr($data, $skeys, $sfmt1 = "%1", $sfmt2 = "", $func = NULL)
 {
+  global $pageLang;
+
   if (!is_array($skeys))
     $skeys = array($skeys);
 
@@ -276,11 +291,15 @@
   for ($i = 1; $i <= sizeof($skeys); $i++)
   {
     $val = $data[$skeys[$i - 1]];
+    if (is_array($val))
+      $vtmp = array_key_exists($pageLang, $val) ? $val[$pageLang] : reset($val);
+    else
+      $vtmp = $val;
 
     if (is_callable($func))
-      $val = call_user_func($func, $val);
+      $val = call_user_func($func, $vtmp);
 
-    $str = str_replace("%".$i, $val, $str);
+    $str = str_replace("%".$i, $vtmp, $str);
   }
 
   return $str;
--- a/mgallery.php	Wed May 25 18:01:27 2016 +0300
+++ b/mgallery.php	Wed May 25 18:02:33 2016 +0300
@@ -210,8 +210,10 @@
 
       echo
       "    <a href=\"".mgGetURL(mgCleanPath(TRUE, $galPath, $filename), FALSE)."\">".
-      "<img class=\"albumIcon\" src=\"".$atmp."\" alt=\"".chentities($data["caption"])."\" />\n".
-      "    <div class=\"albumTitle\">".chentities($data["caption"])."</div></a>\n";
+      "<img class=\"albumIcon\" src=\"".$atmp."\" alt=\"".
+      mgGetTrans($data["caption"], TRUE).
+      "\" />\n".
+      "    <div class=\"albumTitle\">".mgGetTrans($data["caption"], TRUE)."</div></a>\n";
     }
 
     if ($galUseTables)
@@ -262,7 +264,8 @@
 {
   return
     "<a class=\"".$class."\" href=\"".mgGetURL($pdata["path"], FALSE)."\">".
-    chentities($pdata["caption"])."</a>";
+    mgGetTrans($pdata["caption"], TRUE).
+    "</a>";
 }
 
 
@@ -365,7 +368,7 @@
   $naviFlags = mgGetSetting("image_navigation");
   $data = $galEntries[$galImage];
 
-  $pageTitle = $galTitlePrefix.$galTitleSep.$galData["caption"]." - ".$galImage;
+  $pageTitle = $galTitlePrefix.$galTitleSep.mgGetTrans($galData["caption"])." - ".$galImage;
   cmPrintPageHeader($pageTitle);
   echo
     "<div id=\"imageLarge\"><img src=\"".
@@ -518,7 +521,7 @@
   if ($naviFlags & GNAV_BREADCRUMBS)
     mgPrintBreadCrumbs($galData);
 
-  if (isset($galData["header"]) && strlen($galData["header"]) > 0)
+  if (isset($galData["header"]) && strlen($gheader = mgGetTrans($galData["header"])) > 0)
   {
     // Translate relative URLs in header, if needed
     $baseURL = mgGetSetting("image_url");
@@ -535,7 +538,7 @@
         }
         return "href=\"".$mstmp."\"";
       },
-      $galData["header"]);
+      $gheader);
 
     echo "<div class=\"albumHeaderText\">".$headerText."</div>\n";
   }