OSDN Git Service

FIX: extra params in generated links with fancy urls on were not using the designated...
authorsakamocchi <sakamocchi@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Sun, 13 Mar 2011 03:49:22 +0000 (03:49 +0000)
committersakamocchi <sakamocchi@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Sun, 13 Mar 2011 03:49:22 +0000 (03:49 +0000)
git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/nucleus-jp/trunk@1152 1ca29b6e-896d-4ea0-84a5-967f57386b96

utf8/nucleus/libs/globalfunctions.php

index a8a7804..19836ec 100755 (executable)
@@ -1687,11 +1687,39 @@ function addLinkParams($link, $params) {
        if (is_array($params) ) {\r
 \r
                if ($CONF['URLMode'] == 'pathinfo') {\r
-\r
                        foreach ($params as $param => $value) {\r
-                               $link .= '/' . $param . '/' . urlencode($value);\r
+                               // change in 3.63 to fix problem where URL generated with extra params mike look like category/4/blogid/1\r
+                               // but they should use the URL keys like this: category/4/blog/1\r
+                               // if user wants old urls back, set $CONF['NoURLKeysInExtraParams'] = 1; in config.php\r
+                               if (isset($CONF['NoURLKeysInExtraParams']) && $CONF['NoURLKeysInExtraParams'] == 1) \r
+                               {\r
+                                       $link .= '/' . $param . '/' . urlencode($value);\r
+                               } else {\r
+                                       switch ($param) {\r
+                                               case 'itemid':\r
+                                                       $link .= '/' . $CONF['ItemKey'] . '/' . urlencode($value);\r
+                                               break;\r
+                                               case 'memberid':\r
+                                                       $link .= '/' . $CONF['MemberKey'] . '/' . urlencode($value);\r
+                                               break;\r
+                                               case 'catid':\r
+                                                       $link .= '/' . $CONF['CategoryKey'] . '/' . urlencode($value);\r
+                                               break;\r
+                                               case 'archivelist':\r
+                                                       $link .= '/' . $CONF['ArchivesKey'] . '/' . urlencode($value);\r
+                                               break;\r
+                                               case 'archive':\r
+                                                       $link .= '/' . $CONF['ArchiveKey'] . '/' . urlencode($value);\r
+                                               break;\r
+                                               case 'blogid':\r
+                                                       $link .= '/' . $CONF['BlogKey'] . '/' . urlencode($value);\r
+                                               break;\r
+                                               default:\r
+                                                       $link .= '/' . $param . '/' . urlencode($value);\r
+                                               break;\r
+                                       }\r
+                               }\r
                        }\r
-\r
                } else {\r
 \r
                        foreach ($params as $param => $value) {\r