Commit 8d3d5870c8fdc1e4da6e0ac06e8e7c9cb88ce37a

Authored by kevin_fourie
1 parent 7275a984

Merged in from DEV trunk...

KTS-3624
"Once a doc in the DroppedDocuments folder is checked-out and checked back in from there it appears twice on the 'My Dropped Documents' dashlet on the Dashboard."
Fixed. Problem appears because code was looking at transactions table only not taking into consideration that they had been listed before. This plugin could be cleaned up some more.

Committed By: Conrad Vermeulen
Reviewed By: Megan Waston


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/trunk@9181 c91229c3-7414-0410-bfa2-8a42b809f60b
plugins/MyDropDocumentsPlugin/MyDropDocumentsPage.php
... ... @@ -249,7 +249,6 @@ class MyDropDocumentsPage extends KTStandardDispatcher {
249 249 }
250 250  
251 251 $maxcount = 5;
252   - $aDocumentTransactions = array_slice($aDocumentTransactions, 0, $maxcount);
253 252  
254 253 $sReturnTable = '<span class="descriptiveText">'._kt('Recently Dropped Documents').'</span>
255 254 <table width="100%" class="kt_collection drop_box" cellspacing="0">
... ... @@ -264,52 +263,40 @@ class MyDropDocumentsPage extends KTStandardDispatcher {
264 263  
265 264 $sOddorEven = '';
266 265 $count = 1;
  266 + $rendered = array();
267 267 foreach ($aDocumentTransactions as $aRow)
268 268 {
269   - $oDocument = Document::get($aRow[document_id]);
270   - $aParentFolders = explode('/',$oDocument->getFullPath());
271   - $sPath = '';
  269 + $documentId = $aRow['document_id'];
  270 + if (in_array($documentId, $rendered))
  271 + {
  272 + continue;
  273 + }
272 274  
273   - for($i = 0; $i < count($aParentFolders); $i++)
274   - {
275   - if ($i > 2)
276   - {
277   - $sPath .= '/'.$aParentFolders[$i];
278   - }
279   - }
  275 + $rendered[] = $documentId;
  276 + $oDocument = Document::get($documentId);
280 277  
281 278 $sContentType = KTMime::getIconPath($oDocument->getMimeTypeID());
282   - $aAnchorData = $this->getDocInfo($aRow[document_id]);
  279 + $aAnchorData = $this->getDocInfo($documentId);
283 280 $sLink = $aAnchorData[0];
284 281 $sDocName = $aAnchorData[1];
285   - $sShortDocName = $sDocName;
286   - if(strlen($sPath) > 0)
287   - {
288   - $sDocName = $sPath.'/'.$sDocName;
289   - }
290 282  
291   - $sFullDocName = $sDocName;
292 283 $iDocLength = strlen($sDocName);
293   - if ( $iDocLength > 30 )
  284 + $iMax = 40;
  285 + if ( $iDocLength > $iMax )
294 286 {
295   - $sDocName = substr($sDocName, ($iDocLength - 30), $iDocLength);
296   - $sDocName = '...'.$sDocName;
  287 + $sShortDocName = substr($sDocName, 0, $iMax) . '...';
297 288 }
298 289  
299   - if($count%2 == 0)
300   - {
301   - $sOddorEven = 'even';
302   - }
303   - else
304   - {
305   - $sOddorEven = 'odd';
306   - }
  290 + $sOddorEven = ($count%2 == 0)?'even':'odd';
307 291  
308 292 $sReturnTable .= '<tr class="'.$sOddorEven.'">'.
309   - '<td width="100%"><span class="contenttype '.$sContentType.'"><a title="'.$sShortDocName.'" href='.$sLink.'>'.$sDocName.'</a></span></td>'.
310   - '<td width="1%">'.$aRow[datetime].'</td>'.
  293 + '<td width="100%"><span class="contenttype '.$sContentType.'"><a title="'.$sDocName.'" href='.$sLink.'>'.$sShortDocName.'</a></span></td>'.
  294 + '<td width="1%">'.$aRow['datetime'].'</td>'.
311 295 '</tr>';
312   - $count ++;
  296 + if (++$count > 5)
  297 + {
  298 + break;
  299 + }
313 300 }
314 301  
315 302 $location = 'browse.php?fFolderId='.$iMyDocsFolderID;
... ...