viewgit/inc/functions.php:22 Function utf8_encode() is deprecated [8192]

Make static controller use public wiki pages, a=chris

Chris Pollett [2014-05-18 18:May:th]
Make static controller use public wiki pages, a=chris
Filename
controllers/group_controller.php
controllers/static_controller.php
css/search.css
lib/wiki_parser.php
diff --git a/controllers/group_controller.php b/controllers/group_controller.php
index 9a322adce..4716a347b 100644
--- a/controllers/group_controller.php
+++ b/controllers/group_controller.php
@@ -455,6 +455,11 @@ class GroupController extends Controller implements CrawlConstants
                 $data["PAGE_ID"] = $page_info["ID"];
                 $data["DISCUSS_THREAD"] = $page_info["DISCUSS_THREAD"];
             }
+            $document_parts = explode("\nEND_HEAD_VARS\n", $data["PAGE"]);
+            if(count($document_parts) > 1) {
+                $head = $document_parts[0];
+                $data["PAGE"] = $document_parts[1];
+            }
         }
         return $data;
     }
diff --git a/controllers/static_controller.php b/controllers/static_controller.php
index 07f3d1c89..0c315ca24 100644
--- a/controllers/static_controller.php
+++ b/controllers/static_controller.php
@@ -146,21 +146,20 @@ class StaticController extends Controller
     /**
      *  Used to read in the file containing the static page
      *
-     *  @param string $page name of file less extension to read in
+     *  @param string $page_name name of file less extension to read in
      *  @return string text of static page
      */
-    function getPage($page)
+    function getPage($page_name)
     {
-        $page_file =
-            LOCALE_DIR."/".getLocaleTag()."/pages/".$page.".thtml";
-        $fallback =
-            LOCALE_DIR."/".DEFAULT_LOCALE."/pages/".$page.".thtml";
-        if(file_exists($page_file)) {
-            $page_string = file_get_contents($page_file);
-        } else if (file_exists($fallback)) {
-            $page_string = file_get_contents($fallback);
-        } else {
-            $page_string = "";
+        $locale_tag = getLocaleTag();
+        $page_info = $this->model("group")->getPageInfoByName(
+            PUBLIC_GROUP_ID, $page_name, $locale_tag, "read");
+        $page_string = isset($page_info["PAGE"]) ? $page_info["PAGE"] : "";
+        if(!$page_string && $locale_tag != DEFAULT_LOCALE) {
+            //fallback to default locale for translation
+            $page_info = $group_model->getPageInfoByName(
+                $group_id, $page_name, DEFAULT_LOCALE, "read");
+            $page_string = $page_info["PAGE"];
         }
         return $page_string;
     }
diff --git a/css/search.css b/css/search.css
index 3594abe20..a26f21f02 100755
--- a/css/search.css
+++ b/css/search.css
@@ -1732,7 +1732,8 @@ div.group-result
     width: 320px;
 }

-.content p
+.content p,
+.content div
 {
     padding-bottom: 8px;
 }
diff --git a/lib/wiki_parser.php b/lib/wiki_parser.php
index 7b9722164..6951bf83a 100644
--- a/lib/wiki_parser.php
+++ b/lib/wiki_parser.php
@@ -57,9 +57,9 @@ class WikiParser implements CrawlConstants
     {
         $substitutions = array(
             array('/(\A|\n)=\s*([^=]+)\s*=/',
-                "\n<h1 id='$2'>$2</h1><hr />"),
+                "\n<h1 id='$2'>$2</h1>"),
             array('/(\A|\n)==\s*([^=]+)\s*==/',
-                "\n<h2 id='$2'>$2</h2><hr />"),
+                "\n<h2 id='$2'>$2</h2>"),
             array('/(\A|\n)===\s*([^=]+)\s*===/',
                 "\n<h3 id='$2'>$2</h3>"),
             array('/(\A|\n)====\s*([^=]+)\s*====/',
@@ -148,6 +148,12 @@ class WikiParser implements CrawlConstants
      */
     function parse($document)
     {
+        $document_parts = explode("END_HEAD_VARS", $document);
+        $head = "";
+        if(count($document_parts) > 1) {
+            $head = $document_parts[0];
+            $document = $document_parts[1];
+        }
         $toc = $this->makeTableOfContents($document);
         list($document, $references) = $this->makeReferences($document);
         $document = preg_replace_callback('/(\A|\n){\|(.*?)\n\|}/s',
@@ -177,6 +183,9 @@ class WikiParser implements CrawlConstants
         }
         $document = $this->insertReferences($document, $references);
         $document = $this->insertTableOfContents($document, $toc);
+        if($head != "") {
+            $document = $head . "END_HEAD_VARS" . $document;
+        }
         return $document;
     }
ViewGit