From 3081877cf551efbf0da8a573f80606e04b629a38 Mon Sep 17 00:00:00 2001 From: Antonio Gallo Date: Sat, 28 Jul 2012 10:56:06 +0000 Subject: improved the way wiki pages are linked --- h-source/Application/Controllers/WikiController.php | 10 +++++----- h-source/Application/Models/WikiModel.php | 21 ++++++++++++++++----- h-source/Application/Views/Desktop/Wiki/history.php | 4 ++-- h-source/Application/Views/Desktop/Wiki/page.php | 2 +- h-source/Application/Views/Desktop/Wiki/talk.php | 2 +- 5 files changed, 25 insertions(+), 14 deletions(-) (limited to 'h-source') diff --git a/h-source/Application/Controllers/WikiController.php b/h-source/Application/Controllers/WikiController.php index 72f4220..7a0cd4d 100644 --- a/h-source/Application/Controllers/WikiController.php +++ b/h-source/Application/Controllers/WikiController.php @@ -313,7 +313,7 @@ class WikiController extends BaseController $data['id_wiki'] = (int)$data['table'][0]['wiki_revisions']['id_wiki']; $data['isDeleted'] = $this->m['WikiModel']->isDeleted($data['id_wiki']); $data['tree_name'] = $this->m['WikiModel']->getTheModelName($data['id_wiki']); - $data['tree'] = $this->getSpecPageLink() . " » " . $this->getViewLink($data['tree_name'])." » " . $this->getHistoryLink($data['id_wiki']) . " » ".gtext('Revision'); + $data['tree'] = $this->getSpecPageLink() . " » " . "toWikiPage($data['id_wiki'])."'>".$data['tree_name'].""." » " . $this->getHistoryLink($data['id_wiki']) . " » ".gtext('Revision'); $data['created_by'] = $data['table'][0]['wiki_revisions']['created_by']; $data['update_date'] = $data['table'][0]['wiki_revisions']['update_date']; @@ -337,7 +337,7 @@ class WikiController extends BaseController $data['id_wiki'] = $clean['id_wiki']; $tree_name = $this->m['WikiModel']->getTheModelName((int)$clean['id_wiki']); $data['tree_name'] = $tree_name; - $data['tree'] = $this->getSpecPageLink() . " » " . $this->getViewLink($data['tree_name'])." » " . $this->getHistoryLink($data['id_wiki']) . " » ".gtext('Differences'); + $data['tree'] = $this->getSpecPageLink() . " » " . "toWikiPage($clean['id_wiki'])."'>".$data['tree_name']."" ." » " . $this->getHistoryLink($data['id_wiki']) . " » ".gtext('Differences'); $data['isDeleted'] = $this->m['WikiModel']->isDeleted($clean['id_wiki']); $data['showDiff'] = false; @@ -420,7 +420,7 @@ class WikiController extends BaseController $data['id_wiki'] = $clean['id_wiki']; $data['tree_name'] = $this->m['WikiModel']->getTheModelName($clean['id_wiki']); $data['name'] = $data['tree_name']; - $data['tree'] = $this->getSpecPageLink() . " » " . $this->getViewLink($data['tree_name'])." » " . $this->getHistoryLink($clean['id_wiki']) . " » " . gtext('Make current'); + $data['tree'] = $this->getSpecPageLink() . " » " . "toWikiPage($clean['id_wiki'])."'>".$data['tree_name'].""." » " . $this->getHistoryLink($clean['id_wiki']) . " » " . gtext('Make current'); $data['notice'] = null; $this->s['registered']->checkStatus(); @@ -472,7 +472,7 @@ class WikiController extends BaseController $data['isBlocked'] = $this->m['WikiModel']->isBlocked($clean['id_wiki']); $data['isDeleted'] = $this->m['WikiModel']->isDeleted($clean['id_wiki']); - $data['tree'] = $this->getSpecPageLink() . " » " . $this->getViewLink($data['tree_name'])." » ".gtext('Talk'); + $data['tree'] = $this->getSpecPageLink() . " » " . "toWikiPage($clean['id_wiki'])."'>".$data['tree_name'].""." » ".gtext('Talk'); if (isset($_POST['insertAction'])) { @@ -531,7 +531,7 @@ class WikiController extends BaseController $this->m['WikiModel']->limit = $this->h['Pages']->getLimit($page,$recordNumber,30); $data['table'] = $this->m['WikiModel']->send(); - + $data['pageList'] = $this->h['Pages']->render($page-7,15); $this->append($data); diff --git a/h-source/Application/Models/WikiModel.php b/h-source/Application/Models/WikiModel.php index dd8d5a6..7357705 100644 --- a/h-source/Application/Models/WikiModel.php +++ b/h-source/Application/Models/WikiModel.php @@ -223,12 +223,23 @@ class WikiModel extends Model_Map { } //get the model name - public function getTheModelName($id) + public function getTheModelName($id, $cleaned = false) { $clean['id'] = (int)$id; $this->setWhereQueryClause(array('id_wiki' => $clean['id'])); - $res = $this->getFields('title'); - $name = count($res) > 0 ? $res[0]['wiki']['title'] : ''; + $res = $this->getFields('title,title_clean'); + $name = ''; + if (count($res) > 0) + { + if ($cleaned) + { + $name = $res[0]['wiki']['title_clean']; + } + else + { + $name = $res[0]['wiki']['title']; + } + } return $name; } @@ -297,8 +308,8 @@ class WikiModel extends Model_Map { public function toWikiPage($id) { $clean['id'] = (int)$id; - $title = $this->getTheModelName($clean['id']); - return "http://".DOMAIN_NAME."/wiki/page/".Lang::$current."/".encodeUrl($title); + $title = $this->getTheModelName($clean['id'], true); + return "http://".DOMAIN_NAME."/wiki/page/".Lang::$current."/".$title; } public function getDiffArray($oldArray, $newArray) diff --git a/h-source/Application/Views/Desktop/Wiki/history.php b/h-source/Application/Views/Desktop/Wiki/history.php index e8180f5..08fa4ac 100644 --- a/h-source/Application/Views/Desktop/Wiki/history.php +++ b/h-source/Application/Views/Desktop/Wiki/history.php @@ -25,7 +25,7 @@
- ">Home » ">Wiki » "> » + ">Home » ">Wiki » »
@@ -33,7 +33,7 @@
diff --git a/h-source/Application/Views/Desktop/Wiki/page.php b/h-source/Application/Views/Desktop/Wiki/page.php index 1716edc..6e016e2 100644 --- a/h-source/Application/Views/Desktop/Wiki/page.php +++ b/h-source/Application/Views/Desktop/Wiki/page.php @@ -125,7 +125,7 @@ action,'revision') === 0) { ?>
- getLinkToUserFromId($created_by);?> . ">. + getLinkToUserFromId($created_by);?> . .
diff --git a/h-source/Application/Views/Desktop/Wiki/talk.php b/h-source/Application/Views/Desktop/Wiki/talk.php index 67947d2..4e93798 100644 --- a/h-source/Application/Views/Desktop/Wiki/talk.php +++ b/h-source/Application/Views/Desktop/Wiki/talk.php @@ -41,7 +41,7 @@
-- cgit v1.2.3