Commit fd047c5d7bd7ac9a69afd1350e6e535f3d3c96e4
1 parent
ee2ca5bc
Merged in from DEV trunk...
KTS-1644 "Untranslateable strings in /lib/browse/Criteria.inc" Fixed. Added _kt() so that strings are now translatable. Committed By: Jonathan Byrne Reviewed By: Megan Watson WSA-113 "Implement returning of basic permissions returned by get_listing() and document detail." Fixed. Committed By: Conrad Vermeulen Reviewed By: Megan Watson WSA-113 "Implement returning of basic permissions returned by get_listing() and document detail." Fixed. Committed By: Conrad Vermeulen Reviewed By: Megan Watson KTS-3136 "Implement Open Search with new search" Fixed. Committed By: Conrad Vermeulen Reviewed By: Megan Watson Version Bump to 3.5.3 beta1 git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/trunk@8239 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
9 changed files
with
91 additions
and
21 deletions
docs/VERSION-NAME.txt
docs/VERSION-OSS.txt
docs/VERSION.txt
ktapi/KTAPIDocument.inc.php
| @@ -1443,6 +1443,24 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1443,6 +1443,24 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1443 | 1443 | ||
| 1444 | } | 1444 | } |
| 1445 | 1445 | ||
| 1446 | + function get_permission_string($document) | ||
| 1447 | + { | ||
| 1448 | + $perms = 'R'; | ||
| 1449 | + if (Permission::userHasDocumentWritePermission($document)) | ||
| 1450 | + { | ||
| 1451 | + $perms .= 'W'; | ||
| 1452 | + | ||
| 1453 | + $user_id = $_SESSION['userID']; | ||
| 1454 | + $co_user_id = $document->getCheckedOutUserID(); | ||
| 1455 | + | ||
| 1456 | + if (!empty($co_user_id) && ($user_id == $co_user_id)) | ||
| 1457 | + { | ||
| 1458 | + $perms .= 'E'; | ||
| 1459 | + } | ||
| 1460 | + } | ||
| 1461 | + return $perms; | ||
| 1462 | + } | ||
| 1463 | + | ||
| 1446 | /** | 1464 | /** |
| 1447 | * This returns detailed information on the document. | 1465 | * This returns detailed information on the document. |
| 1448 | * | 1466 | * |
| @@ -1587,7 +1605,7 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1587,7 +1605,7 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1587 | $detail['is_immutable'] = (bool) $document->getImmutable(); | 1605 | $detail['is_immutable'] = (bool) $document->getImmutable(); |
| 1588 | 1606 | ||
| 1589 | // check permissions | 1607 | // check permissions |
| 1590 | - $detail['permissions'] = 'n/a'; | 1608 | + $detail['permissions'] = KTWSAPI_Document::get_permission_string($document); |
| 1591 | 1609 | ||
| 1592 | // get workflow name | 1610 | // get workflow name |
| 1593 | $workflowid = $document->getWorkflowId(); | 1611 | $workflowid = $document->getWorkflowId(); |
ktapi/KTAPIFolder.inc.php
| @@ -321,6 +321,16 @@ class KTAPI_Folder extends KTAPI_FolderItem | @@ -321,6 +321,16 @@ class KTAPI_Folder extends KTAPI_FolderItem | ||
| 321 | return $user; | 321 | return $user; |
| 322 | } | 322 | } |
| 323 | 323 | ||
| 324 | + function get_permission_string($folder) | ||
| 325 | + { | ||
| 326 | + $perms = 'R'; | ||
| 327 | + if (Permission::userHasFolderWritePermission($folder)) | ||
| 328 | + { | ||
| 329 | + $perms .= 'W'; | ||
| 330 | + } | ||
| 331 | + return $perms; | ||
| 332 | + } | ||
| 333 | + | ||
| 324 | function get_listing($depth=1, $what='DF') | 334 | function get_listing($depth=1, $what='DF') |
| 325 | { | 335 | { |
| 326 | if ($depth < 1) | 336 | if ($depth < 1) |
| @@ -389,7 +399,7 @@ class KTAPI_Folder extends KTAPI_FolderItem | @@ -389,7 +399,7 @@ class KTAPI_Folder extends KTAPI_FolderItem | ||
| 389 | 'version' => 'n/a', | 399 | 'version' => 'n/a', |
| 390 | 400 | ||
| 391 | 'is_immutable'=> 'n/a', | 401 | 'is_immutable'=> 'n/a', |
| 392 | - 'permissions' => 'n/a', | 402 | + 'permissions' => KTWSAPI_Folder::get_permission_string($folder), |
| 393 | 403 | ||
| 394 | 'workflow'=>'n/a', | 404 | 'workflow'=>'n/a', |
| 395 | 'workflow_state'=>'n/a', | 405 | 'workflow_state'=>'n/a', |
| @@ -523,7 +533,7 @@ class KTAPI_Folder extends KTAPI_FolderItem | @@ -523,7 +533,7 @@ class KTAPI_Folder extends KTAPI_FolderItem | ||
| 523 | 'version' => $document->getMajorVersionNumber() . '.' . $document->getMinorVersionNumber(), | 533 | 'version' => $document->getMajorVersionNumber() . '.' . $document->getMinorVersionNumber(), |
| 524 | 534 | ||
| 525 | 'is_immutable'=> $document->getImmutable()?'true':'false', | 535 | 'is_immutable'=> $document->getImmutable()?'true':'false', |
| 526 | - 'permissions' => 'n/a', | 536 | + 'permissions' => KTWSAPI_Document::get_permission_string($document), |
| 527 | 537 | ||
| 528 | 'workflow'=> $workflow, | 538 | 'workflow'=> $workflow, |
| 529 | 'workflow_state'=> $state, | 539 | 'workflow_state'=> $state, |
lib/browse/Criteria.inc
| @@ -731,16 +731,21 @@ class SizeCriterion extends BrowseCriterion { | @@ -731,16 +731,21 @@ class SizeCriterion extends BrowseCriterion { | ||
| 731 | 'M'=>'Megabytes'); | 731 | 'M'=>'Megabytes'); |
| 732 | 732 | ||
| 733 | var $aTypeAssocs = array('B' => 1, 'KB' => 1024, 'M' => 1048576); | 733 | var $aTypeAssocs = array('B' => 1, 'KB' => 1024, 'M' => 1048576); |
| 734 | + | ||
| 735 | + var $aCmps = array(); | ||
| 734 | 736 | ||
| 735 | - var $aCmps = array('LT'=>'Less than', | ||
| 736 | - 'GT'=>'Greater than', | ||
| 737 | - 'EQ'=>'Equal to', | ||
| 738 | - 'NEQ'=>'Not equal to'); | ||
| 739 | - | ||
| 740 | - var $aCmpAssocs = array('LT' => '<', 'GT' => '>', 'EQ' => '=', 'NEQ' => '!='); | 737 | + var $aCmpAssocs = array(); |
| 741 | 738 | ||
| 742 | function SizeCriterion() { | 739 | function SizeCriterion() { |
| 743 | - $this->sDisplay = _kt('File Size'); | 740 | + $this->sDisplay = _kt('File Size'); |
| 741 | + | ||
| 742 | + $this->aCmps = array('LT'=>_kt('Less than'), | ||
| 743 | + 'GT'=>_kt('Greater than'), | ||
| 744 | + 'EQ'=>_kt('Equal to'), | ||
| 745 | + 'NEQ'=>_kt('Not equal to')); | ||
| 746 | + | ||
| 747 | + $this->aCmpAssocs = array('LT' => '<', 'GT' => '>', 'EQ' => '=', 'NEQ' => '!='); | ||
| 748 | + | ||
| 744 | } | 749 | } |
| 745 | 750 | ||
| 746 | function documentDisplay ($oDocument) { | 751 | function documentDisplay ($oDocument) { |
| @@ -918,15 +923,18 @@ class TagCloudCriterion extends BrowseCriterion { | @@ -918,15 +923,18 @@ class TagCloudCriterion extends BrowseCriterion { | ||
| 918 | class DateCreatedDeltaCriterion extends DateCreatedCriterion { | 923 | class DateCreatedDeltaCriterion extends DateCreatedCriterion { |
| 919 | var $sDocumentField = 'created'; | 924 | var $sDocumentField = 'created'; |
| 920 | var $sSortField = 'created'; | 925 | var $sSortField = 'created'; |
| 921 | - var $aTypes = array('MINUTE'=>'Minutes', | ||
| 922 | - 'HOUR'=>'Hours', | ||
| 923 | - 'DAY'=>'Days', | ||
| 924 | - 'MONTH'=>'Months', | ||
| 925 | - 'YEAR'=>'Years'); | 926 | + var $aTypes = array(); |
| 926 | var $sNamespace = 'ktcore.criteria.datecreateddelta'; | 927 | var $sNamespace = 'ktcore.criteria.datecreateddelta'; |
| 927 | 928 | ||
| 928 | function DateCreatedDeltaCriterion() { | 929 | function DateCreatedDeltaCriterion() { |
| 929 | - $this->sDisplay = _kt('Date Created Delta'); | 930 | + $this->sDisplay = _kt('Date Created Delta'); |
| 931 | + | ||
| 932 | + $this->aTypes = array('MINUTE'=>_kt('Minutes'), | ||
| 933 | + 'HOUR'=>_kt('Hours'), | ||
| 934 | + 'DAY'=>_kt('Days'), | ||
| 935 | + 'MONTH'=>_kt('Months'), | ||
| 936 | + 'YEAR'=>_kt('Years') | ||
| 937 | + ); | ||
| 930 | } | 938 | } |
| 931 | 939 | ||
| 932 | function parameterDisplay($aData) { | 940 | function parameterDisplay($aData) { |
| @@ -951,7 +959,7 @@ class DateCreatedDeltaCriterion extends DateCreatedCriterion { | @@ -951,7 +959,7 @@ class DateCreatedDeltaCriterion extends DateCreatedCriterion { | ||
| 951 | 959 | ||
| 952 | $sToRender = $this->getNotWidget($aPreValue); | 960 | $sToRender = $this->getNotWidget($aPreValue); |
| 953 | 961 | ||
| 954 | - $sToRender .= '<input name="'.$sNumWidget.'" value="'.$aPreValue[$sNumWidget].'"/>'.$sSelect.' ago'; | 962 | + $sToRender .= '<input name="'.$sNumWidget.'" value="'.$aPreValue[$sNumWidget].'"/>'.$sSelect._kt(' ago'); |
| 955 | return $sToRender; | 963 | return $sToRender; |
| 956 | } | 964 | } |
| 957 | 965 |
lib/util/ktutil.inc
| @@ -49,6 +49,14 @@ class KTUtil { | @@ -49,6 +49,14 @@ class KTUtil { | ||
| 49 | const TB = 1099511627776; | 49 | const TB = 1099511627776; |
| 50 | const PB = 1125899906842624; | 50 | const PB = 1125899906842624; |
| 51 | 51 | ||
| 52 | + static function kt_url() | ||
| 53 | + { | ||
| 54 | + global $default; | ||
| 55 | + | ||
| 56 | + return ($default->sslEnabled ? 'https' : 'http') .'://'.$_SERVER['HTTP_HOST'] . $default->rootUrl; | ||
| 57 | + | ||
| 58 | + } | ||
| 59 | + | ||
| 52 | static function computePeriod($diff, $suffix = null, $returnArray=false) | 60 | static function computePeriod($diff, $suffix = null, $returnArray=false) |
| 53 | { | 61 | { |
| 54 | if (is_null($suffix)) | 62 | if (is_null($suffix)) |
| @@ -229,7 +237,7 @@ class KTUtil { | @@ -229,7 +237,7 @@ class KTUtil { | ||
| 229 | if (!is_array($aArray)) { | 237 | if (!is_array($aArray)) { |
| 230 | $aArray = (array) $aArray; | 238 | $aArray = (array) $aArray; |
| 231 | } | 239 | } |
| 232 | - | 240 | + |
| 233 | if ($aArray !== 0 && $aArray !== '0' && empty($aArray)) { | 241 | if ($aArray !== 0 && $aArray !== '0' && empty($aArray)) { |
| 234 | return $mDefault; | 242 | return $mDefault; |
| 235 | } | 243 | } |
plugins/search2/openSearchDescription.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +require_once('../../config/dmsDefaults.php'); | ||
| 4 | + | ||
| 5 | +//header('Content-Type: text/xml'); | ||
| 6 | + | ||
| 7 | +$url = KTUtil::kt_url(); | ||
| 8 | + | ||
| 9 | +$search_url = $url . "/search2.php?action=process&txtQuery=GeneralText+contains+%22{searchTerms}%22"; | ||
| 10 | + | ||
| 11 | +$xml .= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; | ||
| 12 | + | ||
| 13 | +$xml = "<OpenSearchDescription xmlns=\"http://a9.com/-/spec/opensearch/1.1/\">\r\n"; | ||
| 14 | +$xml .= "<ShortName>KnowledgeTree " ._kt('Quick Search') . "</ShortName>\r\n"; | ||
| 15 | +$xml .= "<Description>" . _kt('Search metadata and content on KnowledgeTree') . "</Description>\r\n"; | ||
| 16 | +$xml .= "<Image width=\"16\" height=\"16\" type=\"image/x-icon\">$url/resources/favicon.ico</Image>\r\n"; | ||
| 17 | +$xml .= "<Url type=\"text/html\" template=\"$search_url\"/>\r\n"; | ||
| 18 | +$xml .= "<OutputEncoding>UTF-8</OutputEncoding>\n"; | ||
| 19 | +$xml .= "<InputEncoding>UTF-8</InputEncoding>\n"; | ||
| 20 | +$xml .= "</OpenSearchDescription>"; | ||
| 21 | + | ||
| 22 | +print $xml; | ||
| 23 | + | ||
| 24 | +?> | ||
| 0 | \ No newline at end of file | 25 | \ No newline at end of file |
templates/kt3/standard_page.smarty
| @@ -20,6 +20,8 @@ | @@ -20,6 +20,8 @@ | ||
| 20 | 20 | ||
| 21 | <link rel="icon" href="{$rootUrl}/resources/favicon.ico" type="image/x-icon"> | 21 | <link rel="icon" href="{$rootUrl}/resources/favicon.ico" type="image/x-icon"> |
| 22 | <link rel="shortcut icon" href="{$rootUrl}/resources/favicon.ico" type="image/x-icon"> | 22 | <link rel="shortcut icon" href="{$rootUrl}/resources/favicon.ico" type="image/x-icon"> |
| 23 | + <link rel="search" type="application/opensearchdescription+xml" title="KnowledgeTree Quick Search" href="{$rootUrl}/plugins/search2/openSearchDescription.php"> | ||
| 24 | + | ||
| 23 | 25 | ||
| 24 | {if $refreshTimeout} | 26 | {if $refreshTimeout} |
| 25 | <meta http-equiv="refresh" content="{$refreshTimeout}" /> | 27 | <meta http-equiv="refresh" content="{$refreshTimeout}" /> |