Commit 05870f63165e5099db547b0449f560e602dcf399
1 parent
38257b13
Merged in from STABLE trunk...
KTS-3721
"When attempting to access the tag from the Dashboard Tag Cloud dashlet"
Fixed. The url needed to be encoded.
KTS-3720
"When using the following characters as a tag '´`&;!.~$()#=[]^@-_{}°º©ºªâªÂ¿â¬½¼¾±¡â£¥⧠«» the document does not show when the tag is navigated and the system incorrectly reports that 2 additional tags were created for the document."
Fixed. The tag in redirect url is now encoded and decoded.
Committed by: Megan Watson
Reviewed by: Conrad Vermeulen
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/branches/3.5.3a-Release-Branch@9361 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
3 changed files
with
26 additions
and
18 deletions
lib/util/ktutil.inc
| ... | ... | @@ -1272,8 +1272,9 @@ class KTUtil { |
| 1272 | 1272 | { |
| 1273 | 1273 | if (file_exists($path)) { |
| 1274 | 1274 | // IE7 adds underscores to filenames: fix |
| 1275 | + // IE6 displays characters incorrectly | |
| 1275 | 1276 | $browser = $_SERVER['HTTP_USER_AGENT']; |
| 1276 | - if ( strpos( strtoupper( $browser), 'MSIE 7') !== false) { | |
| 1277 | + if ( strpos( strtoupper( $browser), 'MSIE') !== false) { | |
| 1277 | 1278 | $fileName = rawurlencode($fileName); |
| 1278 | 1279 | } |
| 1279 | 1280 | ... | ... |
plugins/tagcloud/TagCloudRedirectPage.php
| ... | ... | @@ -63,7 +63,7 @@ class TagCloudRedirectPage extends KTStandardDispatcher { |
| 63 | 63 | */ |
| 64 | 64 | function do_main() { |
| 65 | 65 | // Clear the session for a new search |
| 66 | - $url = isset($_REQUEST['tag']) ? 'tag='.$_REQUEST['tag'] : ''; | |
| 66 | + $url = isset($_REQUEST['tag']) ? 'tag='.urlencode($_REQUEST['tag']).'&decode=true' : ''; | |
| 67 | 67 | $_SESSION['tagList'] = array(); |
| 68 | 68 | $this->redirectTo('search', $url); |
| 69 | 69 | } |
| ... | ... | @@ -81,12 +81,17 @@ class TagCloudRedirectPage extends KTStandardDispatcher { |
| 81 | 81 | |
| 82 | 82 | $_SESSION['tagList'] = $tagList; |
| 83 | 83 | |
| 84 | - $this->redirectTo('search', 'tag='.$tag); | |
| 84 | + $url = 'tag='.urlencode($tag).'&decode=true'; | |
| 85 | + $this->redirectTo('search', $url); | |
| 85 | 86 | } |
| 86 | 87 | |
| 87 | 88 | function do_search() { |
| 88 | 89 | // Get the tag to search for and create search query |
| 89 | 90 | $tag = isset($_REQUEST['tag']) ? $_REQUEST['tag'] : ''; |
| 91 | + $decode = isset($_REQUEST['decode']) ? $_REQUEST['decode'] : ''; | |
| 92 | + if($decode == 'true'){ | |
| 93 | + $tag = urldecode($tag); | |
| 94 | + } | |
| 90 | 95 | |
| 91 | 96 | $iUserId = $_SESSION['userID']; |
| 92 | 97 | $oUser = User::get($iUserId); |
| ... | ... | @@ -102,7 +107,10 @@ class TagCloudRedirectPage extends KTStandardDispatcher { |
| 102 | 107 | |
| 103 | 108 | $base = KTUtil::addQueryString('TagCloudRedirection&action=recall', null); |
| 104 | 109 | foreach($aTagTree as $key => $item){ |
| 105 | - $url = $base.'&tag='.$item.'&pos='.$key; | |
| 110 | + if($tag == $item){ | |
| 111 | + continue; | |
| 112 | + } | |
| 113 | + $url = $base.'&tag='.urlencode($item).'&pos='.$key; | |
| 106 | 114 | $this->aBreadcrumbs[] = array('url' => $url, 'name' => $item); |
| 107 | 115 | } |
| 108 | 116 | } |
| ... | ... | @@ -134,7 +142,7 @@ class TagCloudRedirectPage extends KTStandardDispatcher { |
| 134 | 142 | |
| 135 | 143 | $aOptions = $collection->getEnvironOptions(); // extract data from the environment |
| 136 | 144 | |
| 137 | - $aOptions['return_url'] = KTUtil::addQueryString('TagCloudRedirection&action=search&tag='. $tag, false ); | |
| 145 | + $aOptions['return_url'] = KTUtil::addQueryString('TagCloudRedirection&action=search&tag='. urlencode($tag), false ); | |
| 138 | 146 | $aOptions['empty_message'] = _kt('No documents or folders match this query.'); |
| 139 | 147 | $aOptions['is_browse'] = true; |
| 140 | 148 | ... | ... |
plugins/tagcloud/templates/TagCloud/portlet.smarty
| ... | ... | @@ -10,20 +10,19 @@ text-decoration: none; |
| 10 | 10 | </style> |
| 11 | 11 | {/literal} |
| 12 | 12 | |
| 13 | -{if empty($tags)} | |
| 14 | -<p> | |
| 15 | - {i18n}There are no tags defined or accessible.{/i18n} | |
| 16 | -</p> | |
| 17 | - | |
| 18 | -{else} | |
| 19 | -<div id=tagcloud> | |
| 20 | -{foreach from=$tags key=tag item=size} | |
| 21 | - | |
| 22 | - <a href="{$url}&tag={$tag|urlencode}" style="color: #333; font-size: {$size}px">{$tag|sanitize}</a> | |
| 23 | - | |
| 24 | -{/foreach} | |
| 13 | +<div style="padding: 5px;"> | |
| 14 | + {if empty($tags)} | |
| 15 | + <p> | |
| 16 | + {i18n}There are no tags defined or accessible.{/i18n} | |
| 17 | + </p> | |
| 18 | + {else} | |
| 19 | + <div id=tagcloud> | |
| 20 | + {foreach from=$tags key=tag item=size} | |
| 21 | + <a href="{$url}&tag={$tag|urlencode}" style="color: #333; font-size: {$size}px">{$tag|sanitize_input}</a> | |
| 22 | + {/foreach} | |
| 23 | + </div> | |
| 24 | + {/if} | |
| 25 | 25 | </div> |
| 26 | -{/if} | |
| 27 | 26 | |
| 28 | 27 | <br> |
| 29 | 28 | <br> |
| 30 | 29 | \ No newline at end of file | ... | ... |