Add next and prev link to media display, a=chris

Chris Pollett [2016-03-07 07:Mar:th]
Add next and prev link to media display, a=chris
Filename
src/controllers/components/SocialComponent.php
src/views/elements/WikiElement.php
diff --git a/src/controllers/components/SocialComponent.php b/src/controllers/components/SocialComponent.php
index 3961f2bf2..622a29e66 100644
--- a/src/controllers/components/SocialComponent.php
+++ b/src/controllers/components/SocialComponent.php
@@ -2160,10 +2160,45 @@ class SocialComponent extends Component implements CrawlConstants
         $media_name = $parent->clean($_REQUEST['n'], "string");
         $page_info = $group_model->getPageInfoByPageId($page_id);
         $data['PAGE_NAME'] = htmlentities($page_info['PAGE_NAME']);
+        $page_info = $group_model->getPageInfoByName($group_id,
+            $page_info['PAGE_NAME'], $data['CURRENT_LOCALE_TAG'], 'edit');
+        $data['RESOURCES_INFO'] = $group_model->getGroupPageResourceUrls(
+            $group_id, $page_id, $sub_path);
+        $data['HEAD'] = $parent->parsePageHeadVars($page_info['PAGE']);
+        $this->sortWikiResources($data);
+        $resources = $data['RESOURCES_INFO']['resources'];
+        $num_resources = count($resources);
+        for ($i = 0; $i < $num_resources; $i++) {
+            if ($resources[$i]['name'] == $media_name) {
+                break;
+            }
+        }
+        $is_static = ($data['CONTROLLER'] == 'static') ? true : false;
+        $base_url = htmlentities(B\wikiUrl($data['PAGE_NAME'] , true,
+            $data['CONTROLLER'], $group_id));
+        if (!empty($data['ADMIN'])) {
+            $base_url .= C\CSRF_TOKEN."=".$this->parent->generateCSRFToken(
+                $_SESSION['USER_ID']);
+        }
+        $folder_prefix = ($is_static) ? $base_url : $base_url . "&amp;";
+        $folder_prefix .= "page_id=". $page_id;
+        $url_prefix = $folder_prefix . "&amp;arg=media";
+        $prev_name = ($i < $num_resources &&
+            isset($resources[$i - 1]['name'])) ?
+            $resources[$i - 1]['name'] : false;
+        $next_name = (isset($resources[$i + 1]['name'])) ?
+            $resources[$i + 1]['name'] : false;
         $name_parts = pathinfo($media_name);
         $file_name = $name_parts['filename'];
         $data['MEDIA_NAME'] = $media_name;
-        $page_string = "<div class='media-container'>";
+        $page_string = "";
+        if (!empty($prev_name)) {
+            $data['PREV_LINK'] = "$url_prefix&amp;n=$prev_name";
+        }
+        if (!empty($next_name)) {
+            $data['NEXT_LINK'] = "$url_prefix&amp;n=$next_name";
+        }
+        $page_string .= "<div class='media-container'>";
         if (!empty($sub_path)) {
             $page_string .= "((resource:$media_name|$sub_path".
                 "|$file_name))";
diff --git a/src/views/elements/WikiElement.php b/src/views/elements/WikiElement.php
index 38315243f..1d92ec9a6 100644
--- a/src/views/elements/WikiElement.php
+++ b/src/views/elements/WikiElement.php
@@ -137,8 +137,15 @@ class WikiElement extends Element implements CrawlConstants
             ?>
             <div class="top-margin"><b><a href="<?=$back_url
                 ?>"><?=$data['PAGE_NAME'] ?></a></b> : <?php
+                if (!empty($data['PREV_LINK'])) {
+                    e("<a href='{$data['PREV_LINK']}'>&lt;&lt;</a>&nbsp;");
+                }
                 $name_parts = pathinfo($data['MEDIA_NAME']);
-                e($name_parts['filename']);?>
+                e($name_parts['filename']);
+                if (!empty($data['NEXT_LINK'])) {
+                    e("&nbsp;<a href='{$data['NEXT_LINK']}'>&gt;&gt;</a>");
+                }
+                ?>
             </div>
             <?php
         } else if ($is_admin) {
ViewGit