Mercurial > hg > mgallery
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"; }