Commit 0791afd2aa0dc214a3804bd3955a2b0e074ff06f

Authored by kevin_fourie
1 parent c6132059

Merged in from DEV trunk...

KTC-436
"500 Internal Server Errors Happen when Uploading Files through KTE or KT Webdav"
Fixed. Checked that path is absolute before doing a require().

Committed by: Megan Watson
Reviewed by: Jonathan Byrne

KTS-3190
""Import from server location" should also remove the file extension from the document name"
Fixed. Document add now drops the extension from the filename if it is used for the document title.

Committed by: Megan Watson
Reviewed by: Jonathan Byrne

KTC-437
"info Box / Document preview"
In progress. Added big mimetype icons for the info box.

Committed by: Megan Watson
Reviewed by: Jalaloedien Abrahams

KTS-3201
"Ability to toggle between old 'browse view' search results, and 'search engine' results view"
Implemented.

Committed By: Conrad Vermeulen
Reviewed By: Megan Watson

KTS-3112
"Fatal error on new installation when directed to login.php line 168"
Removed. The redirection could result in endless loop.

Committed By: Conrad Vermeulen
Reviewed By: Kevin Fourie

KTS-3204
"Search engine results references Score field, which should be Rank"
Fixed.

Committed By: Conrad Vermeulen
Reviewed By: Kevin Fourie

KTS-3205
"dmsDefaults refers to KTDIR and not KT_DIR"
Fixed.

Committed By: Conrad Vermeulen
Reviewed By: Megan Watson

KTS-3203
" Ensure all entries in config.ini have a default in dmsDefaults.php"
Fixed. Added defaults for all items from config that i could see were missing.

Committed By: Jonathan Byrne
Reviewed By: Jalaloedien Abrahams

KTS-3202
"Update search2 widget to persist search results default state"
Fixed. Used the session variable to persist state.

Committed by: Megan Watson
Reviewed by: Jonathan Byrne


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/trunk@8313 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 67 changed files with 417 additions and 112 deletions
config/config.ini
@@ -279,10 +279,20 @@ df = df @@ -279,10 +279,20 @@ df = df
279 ; defaults to 25 279 ; defaults to 25
280 resultsPerPage = default 280 resultsPerPage = default
281 281
  282 +; The format in which to display the results
  283 +; options are searchengine or browseview
  284 +; defaults to searchengine
  285 +resultsDisplayFormat = default
  286 +
282 ; The date format used when making queries using widgets 287 ; The date format used when making queries using widgets
283 ; defaults to Y-m-d 288 ; defaults to Y-m-d
284 dateFormat = default 289 dateFormat = default
285 290
  291 +[browse]
  292 +; The document info box / preview is activated by mousing over or clicking on the icon
  293 +; Options: mouse-over (default); onclick
  294 +previewActivation = default
  295 +
286 [indexer] 296 [indexer]
287 ; The core indexing class 297 ; The core indexing class
288 ;coreClass=PHPLuceneIndexer 298 ;coreClass=PHPLuceneIndexer
config/dmsDefaults.php
@@ -489,13 +489,20 @@ function catchFatalErrors($p_OnOff='On'){ @@ -489,13 +489,20 @@ function catchFatalErrors($p_OnOff='On'){
489 $oKTConfig->setdefaultns('KnowledgeTree', 'execSearchPath', $_SERVER['PATH']); 489 $oKTConfig->setdefaultns('KnowledgeTree', 'execSearchPath', $_SERVER['PATH']);
490 $oKTConfig->setdefaultns('KnowledgeTree', 'pathInfoSupport', false); 490 $oKTConfig->setdefaultns('KnowledgeTree', 'pathInfoSupport', false);
491 $oKTConfig->setdefaultns('KnowledgeTree', 'magicDatabase', KTInit::detectMagicFile()); 491 $oKTConfig->setdefaultns('KnowledgeTree', 'magicDatabase', KTInit::detectMagicFile());
492 - 492 + $oKTConfig->setdefaultns('KnowledgeTree', 'schedulerInterval', 30);
  493 +
493 $oKTConfig->setdefaultns('dashboard', 'alwaysShowYCOD', true); 494 $oKTConfig->setdefaultns('dashboard', 'alwaysShowYCOD', true);
494 495
495 $oKTConfig->setdefaultns('storage', 'manager', 'KTOnDiskHashedStorageManager'); 496 $oKTConfig->setdefaultns('storage', 'manager', 'KTOnDiskHashedStorageManager');
496 $oKTConfig->setdefaultns('config', 'useDatabaseConfiguration', false); 497 $oKTConfig->setdefaultns('config', 'useDatabaseConfiguration', false);
497 498
  499 + $oKTConfig->setdefaultns('urls', 'varDirectory', '${fileSystemRoot}/var');
  500 + $oKTConfig->setdefaultns('urls', 'logDirectory', '${varDirectory}/log');
  501 + $oKTConfig->setdefaultns('urls', 'documentRoot', '${varDirectory}/Documents');
  502 + $oKTConfig->setdefaultns('urls', 'uiDirectory', '${fileSystemRoot}/presentation/lookAndFeel/knowledgeTree');
498 $oKTConfig->setdefaultns('urls', 'tmpDirectory', '${varDirectory}/tmp'); 503 $oKTConfig->setdefaultns('urls', 'tmpDirectory', '${varDirectory}/tmp');
  504 + $oKTConfig->setdefaultns('urls', 'graphicsUrl', '${rootUrl}/graphics');
  505 + $oKTConfig->setdefaultns('urls', 'uiUrl', '${rootUrl}/presentation/lookAndFeel/knowledgeTree');
499 $oKTConfig->setdefaultns('urls', 'stopwordsFile', '${fileSystemRoot}/config/stopwords.txt'); 506 $oKTConfig->setdefaultns('urls', 'stopwordsFile', '${fileSystemRoot}/config/stopwords.txt');
500 507
501 $oKTConfig->setdefaultns('tweaks', 'browseToUnitFolder', false); 508 $oKTConfig->setdefaultns('tweaks', 'browseToUnitFolder', false);
@@ -503,27 +510,74 @@ function catchFatalErrors($p_OnOff='On'){ @@ -503,27 +510,74 @@ function catchFatalErrors($p_OnOff='On'){
503 $oKTConfig->setdefaultns('tweaks', 'phpErrorLogFile', false); 510 $oKTConfig->setdefaultns('tweaks', 'phpErrorLogFile', false);
504 $oKTConfig->setdefaultns('tweaks', 'developmentWindowLog', false); 511 $oKTConfig->setdefaultns('tweaks', 'developmentWindowLog', false);
505 $oKTConfig->setdefaultns('tweaks', 'noisyBulkOperations', false); 512 $oKTConfig->setdefaultns('tweaks', 'noisyBulkOperations', false);
  513 +
  514 + $oKTConfig->setdefaultns('email', 'emailServer', 'none');
  515 + $oKTConfig->setdefaultns('email', 'emailPort', '');
  516 + $oKTConfig->setdefaultns('email', 'emailAuthentication', false);
  517 + $oKTConfig->setdefaultns('email', 'emailUsername', 'username');
  518 + $oKTConfig->setdefaultns('email', 'emailPassword', 'password');
  519 + $oKTConfig->setdefaultns('email', 'emailFrom', 'kt@example.org');
  520 + $oKTConfig->setdefaultns('email', 'emailFromName', 'KnowledgeTree Document Management System');
  521 + $oKTConfig->setdefaultns('email', 'allowAttachment', false);
  522 + $oKTConfig->setdefaultns('email', 'allowEmailAddresses', false);
  523 + $oKTConfig->setdefaultns('email', 'sendAsSystem', false);
  524 + $oKTConfig->setdefaultns('email', 'onlyOwnGroups', false);
506 525
507 $oKTConfig->setdefaultns('user_prefs', 'passwordLength', 6); 526 $oKTConfig->setdefaultns('user_prefs', 'passwordLength', 6);
508 $oKTConfig->setdefaultns('user_prefs', 'restrictAdminPasswords', false); 527 $oKTConfig->setdefaultns('user_prefs', 'restrictAdminPasswords', false);
  528 + $oKTConfig->setdefaultns('user_prefs', 'restrictPreferences', false);
509 529
  530 + $oKTConfig->setdefaultns('session', 'sessionTimeout', 1200);
510 $oKTConfig->setdefaultns('session', 'allowAnonymousLogin', false); 531 $oKTConfig->setdefaultns('session', 'allowAnonymousLogin', false);
511 532
  533 + $oKTConfig->setdefaultns('ui', 'companyLogo', '${rootUrl}/resources/companylogo.png');
  534 + $oKTConfig->setdefaultns('ui', 'companyLogoWidth', '313px');
  535 + $oKTConfig->setdefaultns('ui', 'companyLogoTitle', 'ACME Corporation');
512 $oKTConfig->setdefaultns('ui', 'ieGIF', true); 536 $oKTConfig->setdefaultns('ui', 'ieGIF', true);
513 $oKTConfig->setdefaultns('ui', 'alwaysShowAll', false); 537 $oKTConfig->setdefaultns('ui', 'alwaysShowAll', false);
  538 + $oKTConfig->setdefaultns('ui', 'automaticRefresh', false);
514 $oKTConfig->setdefaultns('ui', 'condensedAdminUI', false); 539 $oKTConfig->setdefaultns('ui', 'condensedAdminUI', false);
  540 + $oKTConfig->setdefaultns('ui', 'fakeMimetype', false);
  541 + $oKTConfig->setdefaultns('ui', 'dot', 'dot');
  542 + $oKTConfig->setdefaultns('ui', 'metadata_sort', true);
  543 +
  544 + $oKTConfig->setdefaultns('i18n', 'useLike', false);
515 545
516 $oKTConfig->setdefaultns(null, 'logLevel', 'INFO'); 546 $oKTConfig->setdefaultns(null, 'logLevel', 'INFO');
517 $oKTConfig->setdefaultns('import', 'unzip', 'unzip'); 547 $oKTConfig->setdefaultns('import', 'unzip', 'unzip');
  548 + $oKTConfig->setdefaultns('export', 'zip', 'zip');
  549 + $oKTConfig->setdefaultns('export', 'encoding', 'UTF-8');
  550 +
  551 + $oKTConfig->setdefaultns('externalBinary', 'xls2csv', 'xls2csv');
  552 + $oKTConfig->setdefaultns('externalBinary', 'pdftotext', 'pdftotext');
  553 + $oKTConfig->setdefaultns('externalBinary', 'catppt', 'catppt');
  554 + $oKTConfig->setdefaultns('externalBinary', 'pstotext', 'pstotext');
  555 + $oKTConfig->setdefaultns('externalBinary', 'catdoc', 'catdoc');
  556 + $oKTConfig->setdefaultns('externalBinary', 'antiword', 'antiword');
  557 + $oKTConfig->setdefaultns('externalBinary', 'python', 'python');
  558 + $oKTConfig->setdefaultns('externalBinary', 'java', 'java');
  559 + $oKTConfig->setdefaultns('externalBinary', 'php', 'php');
  560 + $oKTConfig->setdefaultns('externalBinary', 'df', 'df');
  561 +
518 $oKTConfig->setdefaultns('cache', 'cacheDirectory', '${varDirectory}/cache'); 562 $oKTConfig->setdefaultns('cache', 'cacheDirectory', '${varDirectory}/cache');
519 $oKTConfig->setdefaultns('cache', 'cacheEnabled', 'false'); 563 $oKTConfig->setdefaultns('cache', 'cacheEnabled', 'false');
520 $oKTConfig->setdefaultns('cache', 'proxyCacheDirectory', '${varDirectory}/proxies'); 564 $oKTConfig->setdefaultns('cache', 'proxyCacheDirectory', '${varDirectory}/proxies');
521 $oKTConfig->setdefaultns('cache', 'proxyCacheEnabled', 'true'); 565 $oKTConfig->setdefaultns('cache', 'proxyCacheEnabled', 'true');
522 -  
523 - $oKTConfig->setdefaultns('search', 'searchBasePath', '${fileSystemRoot}/search2'); 566 + $oKTConfig->setdefaultns('cache', 'cachePlugins', 'true');
  567 +
  568 + $oKTConfig->setdefaultns('KTWebDAVSettings', 'debug', 'off');
  569 + $oKTConfig->setdefaultns('KTWebDAVSettings', 'safemode', 'on');
  570 +
  571 + $oKTConfig->setdefaultns('BaobabSettings', 'debug', 'off');
  572 + $oKTConfig->setdefaultns('BaobabSettings', 'safemode', 'on');
  573 +
  574 + $oKTConfig->setdefaultns('search', 'searchBasePath', KT_DIR . '/search2');
524 $oKTConfig->setdefaultns('search', 'fieldsPath', '${searchBasePath}/search/fields'); 575 $oKTConfig->setdefaultns('search', 'fieldsPath', '${searchBasePath}/search/fields');
  576 + $oKTConfig->setdefaultns('search', 'resultsDisplayFormat', 'searchengine');
525 $oKTConfig->setdefaultns('search', 'resultsPerPage', 25); 577 $oKTConfig->setdefaultns('search', 'resultsPerPage', 25);
526 $oKTConfig->setdefaultns('search', 'dateFormat', 'Y-m-d'); 578 $oKTConfig->setdefaultns('search', 'dateFormat', 'Y-m-d');
  579 +
  580 + $oKTConfig->setdefaultns('browse', 'previewActivation', 'mouse-over');
527 581
528 $oKTConfig->setdefaultns('indexer', 'coreClass', 'JavaXMLRPCLuceneIndexer'); 582 $oKTConfig->setdefaultns('indexer', 'coreClass', 'JavaXMLRPCLuceneIndexer');
529 $oKTConfig->setdefaultns('indexer', 'batchDocuments', 20); 583 $oKTConfig->setdefaultns('indexer', 'batchDocuments', 20);
@@ -542,6 +596,8 @@ function catchFatalErrors($p_OnOff='On'){ @@ -542,6 +596,8 @@ function catchFatalErrors($p_OnOff='On'){
542 $oKTConfig->setdefaultns('webservice', 'uploadExpiry', '30'); 596 $oKTConfig->setdefaultns('webservice', 'uploadExpiry', '30');
543 $oKTConfig->setdefaultns('webservice', 'downloadExpiry', '30'); 597 $oKTConfig->setdefaultns('webservice', 'downloadExpiry', '30');
544 $oKTConfig->setdefaultns('webservice', 'randomKeyText', 'bkdfjhg23yskjdhf2iu'); 598 $oKTConfig->setdefaultns('webservice', 'randomKeyText', 'bkdfjhg23yskjdhf2iu');
  599 + $oKTConfig->setdefaultns('webservice', 'validateSessionCount', false);
  600 + $oKTConfig->setdefaultns('webservice', 'useDefaultDocumentTypeIfInvalid', true);
545 $oKTConfig->setdefaultns('webservice', 'debug', false); 601 $oKTConfig->setdefaultns('webservice', 'debug', false);
546 602
547 $oKTConfig->setdefaultns('clientToolPolicies', 'explorerMetadataCapture', true); 603 $oKTConfig->setdefaultns('clientToolPolicies', 'explorerMetadataCapture', true);
@@ -552,9 +608,11 @@ function catchFatalErrors($p_OnOff='On'){ @@ -552,9 +608,11 @@ function catchFatalErrors($p_OnOff='On'){
552 $oKTConfig->setdefaultns('clientToolPolicies', 'captureReasonsCancelCheckout', true); 608 $oKTConfig->setdefaultns('clientToolPolicies', 'captureReasonsCancelCheckout', true);
553 $oKTConfig->setdefaultns('clientToolPolicies', 'captureReasonsCopyInKT', true); 609 $oKTConfig->setdefaultns('clientToolPolicies', 'captureReasonsCopyInKT', true);
554 $oKTConfig->setdefaultns('clientToolPolicies', 'captureReasonsMoveInKT', true); 610 $oKTConfig->setdefaultns('clientToolPolicies', 'captureReasonsMoveInKT', true);
555 -  
556 $oKTConfig->setdefaultns('clientToolPolicies', 'allowRememberPassword', true); 611 $oKTConfig->setdefaultns('clientToolPolicies', 'allowRememberPassword', true);
557 612
  613 + $oKTConfig->setdefaultns('DiskUsage', 'warningThreshold', 10);
  614 + $oKTConfig->setdefaultns('DiskUsage', 'urgentThreshold', 5);
  615 +
558 $res = $this->readConfig(); 616 $res = $this->readConfig();
559 if (PEAR::isError($res)) { return $res; } 617 if (PEAR::isError($res)) { return $res; }
560 618
@@ -645,7 +703,7 @@ require_once(KT_LIB_DIR . '/util/ktutil.inc'); @@ -645,7 +703,7 @@ require_once(KT_LIB_DIR . '/util/ktutil.inc');
645 703
646 require_once(KT_LIB_DIR . '/ktentity.inc'); 704 require_once(KT_LIB_DIR . '/ktentity.inc');
647 705
648 -$KTInit->catchFatalErrors(); 706 +//$KTInit->catchFatalErrors();
649 707
650 if (phpversion()<5){ 708 if (phpversion()<5){
651 709
lib/documentmanagement/documentutil.inc.php
@@ -237,7 +237,13 @@ class KTDocumentUtil { @@ -237,7 +237,13 @@ class KTDocumentUtil {
237 //$oContents = KTUtil::arrayGet($aOptions, 'contents'); 237 //$oContents = KTUtil::arrayGet($aOptions, 'contents');
238 $aMetadata = KTUtil::arrayGet($aOptions, 'metadata', null, false); 238 $aMetadata = KTUtil::arrayGet($aOptions, 'metadata', null, false);
239 $oDocumentType = KTUtil::arrayGet($aOptions, 'documenttype'); 239 $oDocumentType = KTUtil::arrayGet($aOptions, 'documenttype');
240 - $sDescription = KTUtil::arrayGet($aOptions, 'description', $sFilename); 240 + $sDescription = KTUtil::arrayGet($aOptions, 'description', '');
  241 +
  242 + if(empty($sDescription)){
  243 + // If no document name is provided use the filename minus the extension
  244 + $aFile = pathinfo($sFilename);
  245 + $sDescription = (isset($aFile['filename']) && !empty($aFile['filename'])) ? $aFile['filename'] : $sFilename;
  246 + }
241 247
242 $oUploadChannel =& KTUploadChannel::getSingleton(); 248 $oUploadChannel =& KTUploadChannel::getSingleton();
243 249
lib/triggers/triggerregistry.inc.php
@@ -74,7 +74,8 @@ class KTTriggerRegistry { @@ -74,7 +74,8 @@ class KTTriggerRegistry {
74 { 74 {
75 if (!class_exists($trigger[0])) 75 if (!class_exists($trigger[0]))
76 { 76 {
77 - require_once($trigger[1]); 77 + $sPath = (KTUtil::isAbsolutePath($trigger[1])) ? $trigger[1] : KT_DIR.'/'.$trigger[1];
  78 + require_once($sPath);
78 if (!class_exists($trigger[0])) 79 if (!class_exists($trigger[0]))
79 { 80 {
80 global $default; 81 global $default;
login.php
@@ -166,12 +166,8 @@ class LoginPageDispatcher extends KTDispatcher { @@ -166,12 +166,8 @@ class LoginPageDispatcher extends KTDispatcher {
166 $aLanguageNames = $oReg->getLanguages('knowledgeTree'); 166 $aLanguageNames = $oReg->getLanguages('knowledgeTree');
167 $aRegisteredLanguageNames = array(); 167 $aRegisteredLanguageNames = array();
168 168
169 - if(empty($aRegisteredLangs)) {  
170 - $query = "DELETE FROM plugin_helper";  
171 - DBUtil::runQuery($query);  
172 - redirect($_SERVER['REQUEST_URI']);  
173 - exit;  
174 - } else { 169 + if(!empty($aRegisteredLangs))
  170 + {
175 foreach (array_keys($aRegisteredLangs) as $sLang) { 171 foreach (array_keys($aRegisteredLangs) as $sLang) {
176 $aRegisteredLanguageNames[$sLang] = $aLanguageNames[$sLang]; 172 $aRegisteredLanguageNames[$sLang] = $aLanguageNames[$sLang];
177 } 173 }
resources/css/kt-framing.css
1 /* ------------------ generic ------------------ */ 1 /* ------------------ generic ------------------ */
2 2
3 -html { 3 +html {
4 height: 100%; 4 height: 100%;
5 } 5 }
6 6
7 body 7 body
8 { 8 {
9 padding: 1em ; border: 0; margin: 0; 9 padding: 1em ; border: 0; margin: 0;
10 - font-size: smaller; 10 + font-size: smaller;
11 font-family: sans-serif; 11 font-family: sans-serif;
12 } 12 }
13 13
@@ -38,7 +38,7 @@ body @@ -38,7 +38,7 @@ body
38 width: 80%; 38 width: 80%;
39 min-height: 200px; 39 min-height: 200px;
40 position: relative; 40 position: relative;
41 - top:100; 41 + top:100;
42 left:100; 42 left:100;
43 } 43 }
44 44
@@ -151,14 +151,14 @@ body @@ -151,14 +151,14 @@ body
151 height: 1.4em; 151 height: 1.4em;
152 } 152 }
153 153
154 -#navbar ul li a 154 +#navbar ul li a
155 { 155 {
156 color: white; 156 color: white;
157 text-decoration: none; 157 text-decoration: none;
158 border-bottom: 1px transparent; 158 border-bottom: 1px transparent;
159 } 159 }
160 160
161 -#navbar ul li a:hover 161 +#navbar ul li a:hover
162 { 162 {
163 border-bottom: 1px solid white; 163 border-bottom: 1px solid white;
164 } 164 }
@@ -188,7 +188,7 @@ a.main_nav_item { @@ -188,7 +188,7 @@ a.main_nav_item {
188 188
189 /* ------------------ breadcrumbs -------------- */ 189 /* ------------------ breadcrumbs -------------- */
190 190
191 -#breadcrumbs 191 +#breadcrumbs
192 { 192 {
193 margin-top: 0.5em; 193 margin-top: 0.5em;
194 margin-bottom: 1em; 194 margin-bottom: 1em;
@@ -197,7 +197,7 @@ a.main_nav_item { @@ -197,7 +197,7 @@ a.main_nav_item {
197 text-transform: lowercase; 197 text-transform: lowercase;
198 } 198 }
199 199
200 -#breadcrumbs .primary 200 +#breadcrumbs .primary
201 { 201 {
202 font-weight: bold; 202 font-weight: bold;
203 } 203 }
@@ -221,7 +221,7 @@ a.main_nav_item { @@ -221,7 +221,7 @@ a.main_nav_item {
221 text-decoration: none; 221 text-decoration: none;
222 border-bottom: 1px solid #9d0a0a; 222 border-bottom: 1px solid #9d0a0a;
223 } 223 }
224 - 224 +
225 /* ------------------ portlets ----------------- */ 225 /* ------------------ portlets ----------------- */
226 226
227 #portletbar 227 #portletbar
@@ -254,7 +254,7 @@ a.main_nav_item { @@ -254,7 +254,7 @@ a.main_nav_item {
254 left: 30px; 254 left: 30px;
255 height: 30px; 255 height: 30px;
256 width: 80%; 256 width: 80%;
257 - z-index: -1; 257 + z-index: -1;
258 border:0; 258 border:0;
259 } 259 }
260 260
@@ -265,13 +265,13 @@ a.main_nav_item { @@ -265,13 +265,13 @@ a.main_nav_item {
265 right: 0px; 265 right: 0px;
266 height: 30px; 266 height: 30px;
267 width: 60%; 267 width: 60%;
268 - z-index: -1; 268 + z-index: -1;
269 border: 0; 269 border: 0;
270 } 270 }
271 271
272 #portletbar .portlet.expanded { 272 #portletbar .portlet.expanded {
273 position: relative; 273 position: relative;
274 - margin: 0 0 1.5em 0; 274 + margin: 0 0 1.5em 0;
275 padding: 0 0 0 0; 275 padding: 0 0 0 0;
276 background: url(../../resources/graphics/portlet_corner_topleft.png) top left no-repeat; 276 background: url(../../resources/graphics/portlet_corner_topleft.png) top left no-repeat;
277 border: 0; 277 border: 0;
@@ -285,7 +285,7 @@ a.main_nav_item { @@ -285,7 +285,7 @@ a.main_nav_item {
285 left: 30px; 285 left: 30px;
286 height: 28px; 286 height: 28px;
287 width: 80%; 287 width: 80%;
288 - z-index: -1; 288 + z-index: -1;
289 border: 0; 289 border: 0;
290 } 290 }
291 291
@@ -296,7 +296,7 @@ a.main_nav_item { @@ -296,7 +296,7 @@ a.main_nav_item {
296 right: 0px; 296 right: 0px;
297 height: 28px; 297 height: 28px;
298 width: 60%; 298 width: 60%;
299 - z-index: -1; 299 + z-index: -1;
300 border: 0; 300 border: 0;
301 } 301 }
302 302
@@ -308,7 +308,7 @@ a.main_nav_item { @@ -308,7 +308,7 @@ a.main_nav_item {
308 border-bottom: 1px solid #ccc; 308 border-bottom: 1px solid #ccc;
309 border-left: 1px solid #ccc; 309 border-left: 1px solid #ccc;
310 width: 99%; 310 width: 99%;
311 - height: 100%; 311 + height: 100%;
312 } 312 }
313 313
314 /* Attempt to contain side portlet containers in MORE containers*/ 314 /* Attempt to contain side portlet containers in MORE containers*/
@@ -343,7 +343,7 @@ a.main_nav_item { @@ -343,7 +343,7 @@ a.main_nav_item {
343 /* Bottom Portlet borders */ 343 /* Bottom Portlet borders */
344 /* 344 /*
345 #portletbar .portlet .portletbodyBottomLeft { 345 #portletbar .portlet .portletbodyBottomLeft {
346 - position: absolute; 346 + position: absolute;
347 bottom: 0px; 347 bottom: 0px;
348 left: 0px; 348 left: 0px;
349 width: 10px; 349 width: 10px;
@@ -352,7 +352,7 @@ a.main_nav_item { @@ -352,7 +352,7 @@ a.main_nav_item {
352 } 352 }
353 353
354 #portletbar .portlet .portletbodyBottomRight { 354 #portletbar .portlet .portletbodyBottomRight {
355 - position: absolute; 355 + position: absolute;
356 bottom: 0px; 356 bottom: 0px;
357 right: 0px; 357 right: 0px;
358 width: 10px; 358 width: 10px;
@@ -361,7 +361,7 @@ a.main_nav_item { @@ -361,7 +361,7 @@ a.main_nav_item {
361 } 361 }
362 362
363 #portletbar .portlet .portletbodyBottom { 363 #portletbar .portlet .portletbodyBottom {
364 - position: absolute; 364 + position: absolute;
365 bottom: 0px; 365 bottom: 0px;
366 left: 5px; 366 left: 5px;
367 height: 3px; 367 height: 3px;
@@ -372,7 +372,7 @@ a.main_nav_item { @@ -372,7 +372,7 @@ a.main_nav_item {
372 /* Right-hand side portlet borders */ 372 /* Right-hand side portlet borders */
373 /* 373 /*
374 #portletbar .portlet .portletbodyRightTop { 374 #portletbar .portlet .portletbodyRightTop {
375 - position: absolute; 375 + position: absolute;
376 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y; 376 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y;
377 top: 0px; 377 top: 0px;
378 right: 0px; 378 right: 0px;
@@ -381,7 +381,7 @@ a.main_nav_item { @@ -381,7 +381,7 @@ a.main_nav_item {
381 } 381 }
382 382
383 #portletbar .portlet .portletbodyRightBottom { 383 #portletbar .portlet .portletbodyRightBottom {
384 - position: absolute; 384 + position: absolute;
385 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y; 385 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y;
386 bottom: 0px; 386 bottom: 0px;
387 right: 0px; 387 right: 0px;
@@ -391,7 +391,7 @@ a.main_nav_item { @@ -391,7 +391,7 @@ a.main_nav_item {
391 391
392 392
393 #portletbar .portlet .portletbodyRightMiddleTop { 393 #portletbar .portlet .portletbodyRightMiddleTop {
394 - position: absolute; 394 + position: absolute;
395 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y; 395 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y;
396 top: 50%; 396 top: 50%;
397 right: 0px; 397 right: 0px;
@@ -400,7 +400,7 @@ a.main_nav_item { @@ -400,7 +400,7 @@ a.main_nav_item {
400 } 400 }
401 401
402 #portletbar .portlet .portletbodyRightMiddleBottom { 402 #portletbar .portlet .portletbodyRightMiddleBottom {
403 - position: absolute; 403 + position: absolute;
404 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y; 404 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y;
405 bottom: 50%; 405 bottom: 50%;
406 right: 0px; 406 right: 0px;
@@ -409,7 +409,7 @@ a.main_nav_item { @@ -409,7 +409,7 @@ a.main_nav_item {
409 } 409 }
410 410
411 #portletbar .portlet .portletbodyRightQuartTop { 411 #portletbar .portlet .portletbodyRightQuartTop {
412 - position: absolute; 412 + position: absolute;
413 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y; 413 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y;
414 top: 15%; 414 top: 15%;
415 right: 0px; 415 right: 0px;
@@ -418,7 +418,7 @@ a.main_nav_item { @@ -418,7 +418,7 @@ a.main_nav_item {
418 } 418 }
419 419
420 #portletbar .portlet .portletbodyRightQuartBottom { 420 #portletbar .portlet .portletbodyRightQuartBottom {
421 - position: absolute; 421 + position: absolute;
422 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y; 422 background: url(../../resources/graphics/portlet_borderright.png) top right repeat-y;
423 bottom: 25%; 423 bottom: 25%;
424 right: 0px; 424 right: 0px;
@@ -539,8 +539,8 @@ a.main_nav_item { @@ -539,8 +539,8 @@ a.main_nav_item {
539 539
540 #portletbar .portlet .actionlist li { 540 #portletbar .portlet .actionlist li {
541 display: block; 541 display: block;
542 - padding: 0 0 0 10px;  
543 - margin: 0.5em 0.5em 0.15em 0; 542 + padding: 0 0 0 10px;
  543 + margin: 0.5em 0.5em 0.15em 0;
544 text-align:left; 544 text-align:left;
545 background: transparent url(../graphics/leftbullet.png) center left no-repeat; 545 background: transparent url(../graphics/leftbullet.png) center left no-repeat;
546 } 546 }
@@ -553,10 +553,10 @@ a.main_nav_item { @@ -553,10 +553,10 @@ a.main_nav_item {
553 top: 0; 553 top: 0;
554 z-index: 1; 554 z-index: 1;
555 width:auto; 555 width:auto;
556 - /*padding: 0 2em 1em 0;  
557 - overflow: auto;*/  
558 - padding: 0.25em 2em 0em 0em;  
559 - overflow: hidden; 556 + /*padding: 0 2em 1em 0;
  557 + overflow: auto;*/
  558 + padding: 0.25em 2em 0em 0em;
  559 + overflow: hidden;
560 min-height: 600px; 560 min-height: 600px;
561 } 561 }
562 562
@@ -573,7 +573,7 @@ a.main_nav_item { @@ -573,7 +573,7 @@ a.main_nav_item {
573 display: none; 573 display: none;
574 } 574 }
575 575
576 -#content 576 +#content
577 { 577 {
578 line-height: 1.6em; 578 line-height: 1.6em;
579 } 579 }
@@ -595,7 +595,7 @@ a.main_nav_item { @@ -595,7 +595,7 @@ a.main_nav_item {
595 border-bottom: 1px solid #9d0a0a; 595 border-bottom: 1px solid #9d0a0a;
596 } 596 }
597 597
598 -#content .descriptiveText 598 +#content .descriptiveText
599 { 599 {
600 color: #666; 600 color: #666;
601 } 601 }
@@ -656,15 +656,15 @@ a.main_nav_item { @@ -656,15 +656,15 @@ a.main_nav_item {
656 } 656 }
657 657
658 /* unframed (single button) forms */ 658 /* unframed (single button) forms */
659 -#content .noframe fieldset  
660 -{ 659 +#content .noframe fieldset
  660 +{
661 border-width: 0px; 661 border-width: 0px;
662 padding: 0; 662 padding: 0;
663 } 663 }
664 664
665 #content .noframe .form_actions 665 #content .noframe .form_actions
666 -{  
667 - margin-top: 0; 666 +{
  667 + margin-top: 0;
668 } 668 }
669 669
670 /* old cancel style */ 670 /* old cancel style */
@@ -708,7 +708,7 @@ a.main_nav_item { @@ -708,7 +708,7 @@ a.main_nav_item {
708 color: #ffdd80; 708 color: #ffdd80;
709 } 709 }
710 710
711 -#content .field label 711 +#content .field label
712 { 712 {
713 display: block; 713 display: block;
714 font-weight: bold; 714 font-weight: bold;
@@ -729,7 +729,7 @@ a.main_nav_item { @@ -729,7 +729,7 @@ a.main_nav_item {
729 background: transparent url(../../resources/graphics/required.png) center left no-repeat; 729 background: transparent url(../../resources/graphics/required.png) center left no-repeat;
730 } 730 }
731 731
732 -.errorMessage 732 +.errorMessage
733 { 733 {
734 font-weight: bold; 734 font-weight: bold;
735 } 735 }
@@ -767,7 +767,7 @@ a.main_nav_item { @@ -767,7 +767,7 @@ a.main_nav_item {
767 font-weight: bold; 767 font-weight: bold;
768 } 768 }
769 769
770 -#content .actionmessage 770 +#content .actionmessage
771 { 771 {
772 padding-bottom: 0.5em; 772 padding-bottom: 0.5em;
773 border-bottom: 1px dashed #ccc; 773 border-bottom: 1px dashed #ccc;
@@ -786,7 +786,7 @@ a.main_nav_item { @@ -786,7 +786,7 @@ a.main_nav_item {
786 } 786 }
787 787
788 .metadata.versioned dd div { 788 .metadata.versioned dd div {
789 - 789 +
790 padding: 0.2em 0.5em; 790 padding: 0.2em 0.5em;
791 border-style: solid; 791 border-style: solid;
792 border-color: #ccc; 792 border-color: #ccc;
@@ -807,7 +807,7 @@ a.main_nav_item { @@ -807,7 +807,7 @@ a.main_nav_item {
807 } 807 }
808 .metadata.versioned dd .current.different { 808 .metadata.versioned dd .current.different {
809 background-color: #fff2b8; 809 background-color: #fff2b8;
810 -/* 810 +/*
811 padding-left: 25px; 811 padding-left: 25px;
812 background: transparent url(../../thirdparty/icon-theme/16x16/status/dialog-information.png) center left no-repeat; 812 background: transparent url(../../thirdparty/icon-theme/16x16/status/dialog-information.png) center left no-repeat;
813 */ 813 */
@@ -815,7 +815,7 @@ a.main_nav_item { @@ -815,7 +815,7 @@ a.main_nav_item {
815 815
816 .metadata.versioned dd .previous.different { 816 .metadata.versioned dd .previous.different {
817 background-color: #e9dda8; 817 background-color: #e9dda8;
818 -/* 818 +/*
819 padding-left: 25px; 819 padding-left: 25px;
820 background: transparent url(../../thirdparty/icon-theme/16x16/status/dialog-information.png) center left no-repeat; 820 background: transparent url(../../thirdparty/icon-theme/16x16/status/dialog-information.png) center left no-repeat;
821 */ 821 */
@@ -851,8 +851,8 @@ a.main_nav_item { @@ -851,8 +851,8 @@ a.main_nav_item {
851 851
852 .metadatatable td { 852 .metadatatable td {
853 border-bottom: 1px dotted #ccc; 853 border-bottom: 1px dotted #ccc;
854 - vertical-align: top;  
855 - padding: 0.5em; 854 + vertical-align: top;
  855 + padding: 0.5em;
856 font-weight: bold; 856 font-weight: bold;
857 } 857 }
858 858
@@ -1090,7 +1090,7 @@ a.main_nav_item { @@ -1090,7 +1090,7 @@ a.main_nav_item {
1090 margin-bottom: 20px; 1090 margin-bottom: 20px;
1091 } 1091 }
1092 1092
1093 -/* ========== kt actions 1093 +/* ========== kt actions
1094 1094
1095 These are used to mark up various different "actions" (e.g. cut, copy, delete). 1095 These are used to mark up various different "actions" (e.g. cut, copy, delete).
1096 Use them as follows: 1096 Use them as follows:
@@ -1102,7 +1102,7 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes @@ -1102,7 +1102,7 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes
1102 */ 1102 */
1103 1103
1104 1104
1105 -.ktAction { 1105 +.ktAction {
1106 display: block; 1106 display: block;
1107 text-decoration: none; 1107 text-decoration: none;
1108 overflow: hidden; 1108 overflow: hidden;
@@ -1115,12 +1115,12 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes @@ -1115,12 +1115,12 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes
1115 width: 16px; 1115 width: 16px;
1116 background-position: top left; 1116 background-position: top left;
1117 background-repeat: no-repeat; 1117 background-repeat: no-repeat;
1118 - background-color: transparent; 1118 + background-color: transparent;
1119 } 1119 }
1120 1120
1121 .ktActionDescribed { 1121 .ktActionDescribed {
1122 float: left; 1122 float: left;
1123 - margin-right: 0.5em; 1123 + margin-right: 0.5em;
1124 } 1124 }
1125 1125
1126 1126
@@ -1132,12 +1132,12 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes @@ -1132,12 +1132,12 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes
1132 } 1132 }
1133 1133
1134 .ktAction.ktInline { 1134 .ktAction.ktInline {
1135 - float: left; 1135 + float: left;
1136 padding-right: 0.5em; 1136 padding-right: 0.5em;
1137 background-position: top left; 1137 background-position: top left;
1138 } 1138 }
1139 1139
1140 -.ktHelp { 1140 +.ktHelp {
1141 background: transparent url(../../thirdparty/icon-theme/16x16/apps/help-browser.png) top left no-repeat; 1141 background: transparent url(../../thirdparty/icon-theme/16x16/apps/help-browser.png) top left no-repeat;
1142 float: right; 1142 float: right;
1143 display: block; 1143 display: block;
@@ -1164,6 +1164,7 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes @@ -1164,6 +1164,7 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes
1164 .ktActionLink.ktDenied, .ktAction.ktDenied { background-image: url(../../resources/graphics/denied.png); } 1164 .ktActionLink.ktDenied, .ktAction.ktDenied { background-image: url(../../resources/graphics/denied.png); }
1165 .ktActionLink.ktMoveUp, .ktAction.ktMoveUp { background-image: url(../../thirdparty/icon-theme/16x16/actions/move-up.png); } 1165 .ktActionLink.ktMoveUp, .ktAction.ktMoveUp { background-image: url(../../thirdparty/icon-theme/16x16/actions/move-up.png); }
1166 .ktActionLink.ktMoveDown, .ktAction.ktMoveDown { background-image: url(../../thirdparty/icon-theme/16x16/actions/move-down.png); } 1166 .ktActionLink.ktMoveDown, .ktAction.ktMoveDown { background-image: url(../../thirdparty/icon-theme/16x16/actions/move-down.png); }
  1167 +.ktActionLink.ktPreview, .ktAction.ktPreview { background-image: url(../../resources/tango-icons/system-search.png); }
1167 1168
1168 /* this is sometimes used separately to get the auto-delete help. */ 1169 /* this is sometimes used separately to get the auto-delete help. */
1169 .ktDelete { } 1170 .ktDelete { }
@@ -1188,7 +1189,7 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes @@ -1188,7 +1189,7 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes
1188 1189
1189 /* dashboard blocks. */ 1190 /* dashboard blocks. */
1190 1191
1191 -#dashboard-container-left { 1192 +#dashboard-container-left {
1192 clear: left; 1193 clear: left;
1193 width: 47%; 1194 width: 47%;
1194 margin-top: 0; 1195 margin-top: 0;
@@ -1319,22 +1320,22 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes @@ -1319,22 +1320,22 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes
1319 } 1320 }
1320 1321
1321 .dashboard_block.rolled-up .dashboard_block_rightrepeat_top 1322 .dashboard_block.rolled-up .dashboard_block_rightrepeat_top
1322 -{ 1323 +{
1323 display: none; 1324 display: none;
1324 } 1325 }
1325 1326
1326 .dashboard_block.rolled-up .dashboard_block_rightrepeat_bottom 1327 .dashboard_block.rolled-up .dashboard_block_rightrepeat_bottom
1327 -{ 1328 +{
1328 display: none; 1329 display: none;
1329 } 1330 }
1330 1331
1331 .dashboard_block.rolled-up .dashboard_block_leftrepeat_top 1332 .dashboard_block.rolled-up .dashboard_block_leftrepeat_top
1332 -{ 1333 +{
1333 display: none; 1334 display: none;
1334 } 1335 }
1335 1336
1336 .dashboard_block.rolled-up .dashboard_block_leftrepeat_bottom 1337 .dashboard_block.rolled-up .dashboard_block_leftrepeat_bottom
1337 -{ 1338 +{
1338 display: none; 1339 display: none;
1339 } 1340 }
1340 1341
@@ -1509,32 +1510,32 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes @@ -1509,32 +1510,32 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes
1509 } 1510 }
1510 1511
1511 .dashboard_block.rolled-up .error_dashlet_toprepeat 1512 .dashboard_block.rolled-up .error_dashlet_toprepeat
1512 -{ 1513 +{
1513 height: 38px; 1514 height: 38px;
1514 } 1515 }
1515 1516
1516 .dashboard_block.rolled-up .error_dashlet_bottomrepeat 1517 .dashboard_block.rolled-up .error_dashlet_bottomrepeat
1517 -{ 1518 +{
1518 height: 20px; 1519 height: 20px;
1519 } 1520 }
1520 1521
1521 .dashboard_block.rolled-up .error_dashlet_rightrepeat_top 1522 .dashboard_block.rolled-up .error_dashlet_rightrepeat_top
1522 -{ 1523 +{
1523 display: none; 1524 display: none;
1524 } 1525 }
1525 1526
1526 .dashboard_block.rolled-up .error_dashlet_rightrepeat_bottom 1527 .dashboard_block.rolled-up .error_dashlet_rightrepeat_bottom
1527 -{ 1528 +{
1528 display: none; 1529 display: none;
1529 } 1530 }
1530 1531
1531 .dashboard_block.rolled-up .error_dashlet_leftrepeat_top 1532 .dashboard_block.rolled-up .error_dashlet_leftrepeat_top
1532 -{ 1533 +{
1533 display: none; 1534 display: none;
1534 } 1535 }
1535 1536
1536 .dashboard_block.rolled-up .error_dashlet_leftrepeat_bottom 1537 .dashboard_block.rolled-up .error_dashlet_leftrepeat_bottom
1537 -{ 1538 +{
1538 display: none; 1539 display: none;
1539 } 1540 }
1540 1541
@@ -1709,32 +1710,32 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes @@ -1709,32 +1710,32 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes
1709 } 1710 }
1710 1711
1711 .dashboard_block.rolled-up .info_dashlet_toprepeat 1712 .dashboard_block.rolled-up .info_dashlet_toprepeat
1712 -{ 1713 +{
1713 height: 38px; 1714 height: 38px;
1714 } 1715 }
1715 1716
1716 .dashboard_block.rolled-up .info_dashlet_bottomrepeat 1717 .dashboard_block.rolled-up .info_dashlet_bottomrepeat
1717 -{ 1718 +{
1718 height: 20px; 1719 height: 20px;
1719 } 1720 }
1720 1721
1721 .dashboard_block.rolled-up .info_dashlet_rightrepeat_top 1722 .dashboard_block.rolled-up .info_dashlet_rightrepeat_top
1722 -{ 1723 +{
1723 display: none; 1724 display: none;
1724 } 1725 }
1725 1726
1726 .dashboard_block.rolled-up .info_dashlet_rightrepeat_bottom 1727 .dashboard_block.rolled-up .info_dashlet_rightrepeat_bottom
1727 -{ 1728 +{
1728 display: none; 1729 display: none;
1729 } 1730 }
1730 1731
1731 .dashboard_block.rolled-up .info_dashlet_leftrepeat_top 1732 .dashboard_block.rolled-up .info_dashlet_leftrepeat_top
1732 -{ 1733 +{
1733 display: none; 1734 display: none;
1734 } 1735 }
1735 1736
1736 .dashboard_block.rolled-up .info_dashlet_leftrepeat_bottom 1737 .dashboard_block.rolled-up .info_dashlet_leftrepeat_bottom
1737 -{ 1738 +{
1738 display: none; 1739 display: none;
1739 } 1740 }
1740 1741
@@ -1813,7 +1814,7 @@ hr { @@ -1813,7 +1814,7 @@ hr {
1813 #document-views .downloadbox ul li { 1814 #document-views .downloadbox ul li {
1814 padding-left: 25px; 1815 padding-left: 25px;
1815 padding-top: 0.25em; 1816 padding-top: 0.25em;
1816 - padding-bottom: 0.25em; 1817 + padding-bottom: 0.25em;
1817 background-repeat: no-repeat; 1818 background-repeat: no-repeat;
1818 background-position: center left; 1819 background-position: center left;
1819 } 1820 }
@@ -1829,8 +1830,8 @@ hr { @@ -1829,8 +1830,8 @@ hr {
1829 #document-views .viewlet .actionlist li 1830 #document-views .viewlet .actionlist li
1830 { 1831 {
1831 display: block; 1832 display: block;
1832 - padding: 0 0 0 10px;  
1833 - margin: 0.5em 0.5em 0.15em 0; 1833 + padding: 0 0 0 10px;
  1834 + margin: 0.5em 0.5em 0.15em 0;
1834 text-align: left; 1835 text-align: left;
1835 background: transparent url(../graphics/leftbullet.png) center left no-repeat; 1836 background: transparent url(../graphics/leftbullet.png) center left no-repeat;
1836 border: 0; 1837 border: 0;
@@ -1889,7 +1890,7 @@ hr { @@ -1889,7 +1890,7 @@ hr {
1889 border-left: 1px solid white; 1890 border-left: 1px solid white;
1890 border-top: 1px solid white; 1891 border-top: 1px solid white;
1891 border-right: 1px solid white; 1892 border-right: 1px solid white;
1892 - border-bottom: 1px solid white; 1893 + border-bottom: 1px solid white;
1893 padding: 0 0 0.5em; 1894 padding: 0 0 0.5em;
1894 } 1895 }
1895 1896
@@ -1939,7 +1940,7 @@ hr { @@ -1939,7 +1940,7 @@ hr {
1939 1940
1940 1941
1941 /* -------------------------- iframe browse ------------------------ */ 1942 /* -------------------------- iframe browse ------------------------ */
1942 -.browse-frame { 1943 +.browse-frame {
1943 width: 100%; 1944 width: 100%;
1944 height: 55em; 1945 height: 55em;
1945 border-width: 0px; 1946 border-width: 0px;
@@ -1947,14 +1948,14 @@ hr { @@ -1947,14 +1948,14 @@ hr {
1947 margin: 0; 1948 margin: 0;
1948 } 1949 }
1949 1950
1950 -.browse_body { 1951 +.browse_body {
1951 padding: 0; 1952 padding: 0;
1952 } 1953 }
1953 1954
1954 /* -------------------------- dashboard ------------------------ */ 1955 /* -------------------------- dashboard ------------------------ */
1955 1956
1956 .dashboard_block_icons 1957 .dashboard_block_icons
1957 -{ 1958 +{
1958 position: absolute; 1959 position: absolute;
1959 top: 0px; 1960 top: 0px;
1960 right: 10px; 1961 right: 10px;
@@ -1970,12 +1971,12 @@ hr { @@ -1970,12 +1971,12 @@ hr {
1970 } 1971 }
1971 1972
1972 .dashboard_block.rolled-up .dashboard_block_body 1973 .dashboard_block.rolled-up .dashboard_block_body
1973 -{ 1974 +{
1974 display: none; 1975 display: none;
1975 } 1976 }
1976 1977
1977 .ktBlock .dashboard_block_body 1978 .ktBlock .dashboard_block_body
1978 -{ 1979 +{
1979 z-index:99; 1980 z-index:99;
1980 margin: 8px 0 10px 0; 1981 margin: 8px 0 10px 0;
1981 background-color:#FFFFFF; 1982 background-color:#FFFFFF;
@@ -1998,8 +1999,8 @@ hr { @@ -1998,8 +1999,8 @@ hr {
1998 overflow: auto; 1999 overflow: auto;
1999 } 2000 }
2000 2001
2001 -.dashboard_block .dashboard_block_body .edit_action  
2002 -{ 2002 +.dashboard_block .dashboard_block_body .edit_action
  2003 +{
2003 z-index:99; 2004 z-index:99;
2004 background-color:#FFFFFF; 2005 background-color:#FFFFFF;
2005 } 2006 }
@@ -2007,7 +2008,7 @@ hr { @@ -2007,7 +2008,7 @@ hr {
2007 /* actions */ 2008 /* actions */
2008 2009
2009 #content .dashboard_block .action 2010 #content .dashboard_block .action
2010 -{ 2011 +{
2011 padding: 1em 0.5em; 2012 padding: 1em 0.5em;
2012 border-bottom-width: 0px; 2013 border-bottom-width: 0px;
2013 background-repeat: no-repeat; 2014 background-repeat: no-repeat;
@@ -2015,46 +2016,46 @@ hr { @@ -2015,46 +2016,46 @@ hr {
2015 } 2016 }
2016 2017
2017 #content .dashboard_block .action:hover 2018 #content .dashboard_block .action:hover
2018 -{ 2019 +{
2019 border-bottom-width: 0px; 2020 border-bottom-width: 0px;
2020 } 2021 }
2021 2022
2022 -#content .dashboard_block .action_rollup  
2023 -{ 2023 +#content .dashboard_block .action_rollup
  2024 +{
2024 background-image: url(../graphics/bullet_toggle_minus.png); 2025 background-image: url(../graphics/bullet_toggle_minus.png);
2025 } 2026 }
2026 2027
2027 -#content .dashboard_block.rolled-up .action_rollup  
2028 -{ 2028 +#content .dashboard_block.rolled-up .action_rollup
  2029 +{
2029 background-image: url(../graphics/bullet_toggle_plus.png); 2030 background-image: url(../graphics/bullet_toggle_plus.png);
2030 } 2031 }
2031 2032
2032 -#content .dashboard_block .action_close  
2033 -{ 2033 +#content .dashboard_block .action_close
  2034 +{
2034 background-image: url(../graphics/bullet_toggle_close.png); 2035 background-image: url(../graphics/bullet_toggle_close.png);
2035 } 2036 }
2036 2037
2037 /* action effects */ 2038 /* action effects */
2038 -#content .dashboard_block.rolled-up h2  
2039 -{ 2039 +#content .dashboard_block.rolled-up h2
  2040 +{
2040 border-bottom-width: 0px; 2041 border-bottom-width: 0px;
2041 padding-bottom: 10px; 2042 padding-bottom: 10px;
2042 } 2043 }
2043 2044
2044 -#content .ktBlock h2  
2045 -{ 2045 +#content .ktBlock h2
  2046 +{
2046 border-bottom-width: 0px; 2047 border-bottom-width: 0px;
2047 color: #FFFFFF; 2048 color: #FFFFFF;
2048 font-size: small; 2049 font-size: small;
2049 } 2050 }
2050 2051
2051 -#content .dashboard_block.closed  
2052 -{ 2052 +#content .dashboard_block.closed
  2053 +{
2053 display: none; 2054 display: none;
2054 } 2055 }
2055 2056
2056 .addDialogScreen 2057 .addDialogScreen
2057 -{ 2058 +{
2058 position: absolute; 2059 position: absolute;
2059 display: block; 2060 display: block;
2060 top: 0px; 2061 top: 0px;
@@ -2068,7 +2069,7 @@ hr { @@ -2068,7 +2069,7 @@ hr {
2068 } 2069 }
2069 2070
2070 .addDialog 2071 .addDialog
2071 -{ 2072 +{
2072 display: block; 2073 display: block;
2073 border: 1px solid #ccc; 2074 border: 1px solid #ccc;
2074 background-color: white; 2075 background-color: white;
@@ -2081,18 +2082,18 @@ hr { @@ -2081,18 +2082,18 @@ hr {
2081 2082
2082 2083
2083 .addDialog .dashletLink 2084 .addDialog .dashletLink
2084 -{ 2085 +{
2085 color: #666; 2086 color: #666;
2086 text-decoration: none; 2087 text-decoration: none;
2087 display: block; 2088 display: block;
2088 } 2089 }
2089 2090
2090 body #content #add_dashlet 2091 body #content #add_dashlet
2091 -{ 2092 +{
2092 display: none; 2093 display: none;
2093 text-decoration: none; 2094 text-decoration: none;
2094 border-width: 0px; 2095 border-width: 0px;
2095 - 2096 +
2096 } 2097 }
2097 2098
2098 #add_dashlet 2099 #add_dashlet
resources/js/search2widget.js
@@ -26,6 +26,18 @@ function onMetadataClick() @@ -26,6 +26,18 @@ function onMetadataClick()
26 Ext.example.msg(sSearchTranslations[0], sSearchTranslations[2]); /* Quick Search Options, Searches will now only search metadata */ 26 Ext.example.msg(sSearchTranslations[0], sSearchTranslations[2]); /* Quick Search Options, Searches will now only search metadata */
27 } 27 }
28 28
  29 +function onSearchEngineFormatClick()
  30 +{
  31 + bResultsFormatSearchEngine = true;
  32 + document.location=rootURL + "/search2.php?action=searchResults&format=searchengine";
  33 +}
  34 +
  35 +function onBrowseFormatClick()
  36 +{
  37 + bResultsFormatSearchEngine = false;
  38 + document.location=rootURL + "/search2.php?action=searchResults&format=browseview";
  39 +}
  40 +
29 function onSavedSearchClick(item) 41 function onSavedSearchClick(item)
30 { 42 {
31 id = item.id.substr(11); 43 id = item.id.substr(11);
@@ -135,6 +147,27 @@ function createSearchBar(div, suffix) @@ -135,6 +147,27 @@ function createSearchBar(div, suffix)
135 }) 147 })
136 ] 148 ]
137 } 149 }
  150 + },
  151 + {
  152 + text: sSearchTranslations[13] , /*Toggle results format*/
  153 + menu: {
  154 + items: [
  155 + new Ext.menu.CheckItem({
  156 + text: sSearchTranslations[14], /* search engine format */
  157 + id: 'cbResultsFormatSearchEngine' + suffix,
  158 + checked: bResultsFormatSearchEngine,
  159 + group: 'options',
  160 + handler: onSearchEngineFormatClick
  161 + }),
  162 + new Ext.menu.CheckItem({
  163 + text: sSearchTranslations[15], /* browse view format */
  164 + id: 'cbBrowseSearchEngine' + suffix,
  165 + checked: !bResultsFormatSearchEngine,
  166 + group: 'options',
  167 + handler: onBrowseFormatClick
  168 + })
  169 + ]
  170 + }
138 } 171 }
139 ] 172 ]
140 }); 173 });
resources/mimetypes/big/avi.png 0 โ†’ 100755

9.75 KB

resources/mimetypes/big/c.png 0 โ†’ 100755

10.7 KB

resources/mimetypes/big/compressed.png 0 โ†’ 100755

16.3 KB

resources/mimetypes/big/cpp.png 0 โ†’ 100755

11 KB

resources/mimetypes/big/css.png 0 โ†’ 100755

10.2 KB

resources/mimetypes/big/deb.png 0 โ†’ 100755

18.2 KB

resources/mimetypes/big/default.png 0 โ†’ 100755

4.14 KB

resources/mimetypes/big/djvu.png 0 โ†’ 100755

16.3 KB

resources/mimetypes/big/doc-alt.png 0 โ†’ 100755

15.6 KB

resources/mimetypes/big/doc-alt2.png 0 โ†’ 100755

15.8 KB

resources/mimetypes/big/doc.png 0 โ†’ 100755

14.4 KB

resources/mimetypes/big/dvi.png 0 โ†’ 100755

16.1 KB

resources/mimetypes/big/exe.png 0 โ†’ 100755

13.3 KB

resources/mimetypes/big/f.png 0 โ†’ 100755

9.86 KB

resources/mimetypes/big/generic/pres.png 0 โ†’ 100755

12.6 KB

resources/mimetypes/big/generic/sound.png 0 โ†’ 100755

11.1 KB

resources/mimetypes/big/generic/source.png 0 โ†’ 100755

13.7 KB

resources/mimetypes/big/generic/text.png 0 โ†’ 100755

9.3 KB

resources/mimetypes/big/generic/video.png 0 โ†’ 100755

8.32 KB

resources/mimetypes/big/generic/wordprocessing.png 0 โ†’ 100755

11.3 KB

resources/mimetypes/big/h.png 0 โ†’ 100755

9.82 KB

resources/mimetypes/big/html.png 0 โ†’ 100755

12.6 KB

resources/mimetypes/big/image.png 0 โ†’ 100755

11.2 KB

resources/mimetypes/big/iso.png 0 โ†’ 100755

13.3 KB

resources/mimetypes/big/j.png 0 โ†’ 100755

9.94 KB

resources/mimetypes/big/jar.png 0 โ†’ 100755

17.1 KB

resources/mimetypes/big/java.png 0 โ†’ 100755

10.2 KB

resources/mimetypes/big/l.png 0 โ†’ 100755

9.99 KB

resources/mimetypes/big/mid.png 0 โ†’ 100755

7.08 KB

resources/mimetypes/big/midi.png 0 โ†’ 100755

7.08 KB

resources/mimetypes/big/mov.png 0 โ†’ 100755

12.4 KB

resources/mimetypes/big/o.png 0 โ†’ 100755

10.2 KB

resources/mimetypes/big/ogg.png 0 โ†’ 100755

13.4 KB

resources/mimetypes/big/p.png 0 โ†’ 100755

10.1 KB

resources/mimetypes/big/pdf.png 0 โ†’ 100755

9.79 KB

resources/mimetypes/big/pl.png 0 โ†’ 100755

10.6 KB

resources/mimetypes/big/pps.png 0 โ†’ 100755

16.9 KB

resources/mimetypes/big/ppt.png 0 โ†’ 100755

16.9 KB

resources/mimetypes/big/ps.png 0 โ†’ 100755

10.3 KB

resources/mimetypes/big/py.png 0 โ†’ 100755

11 KB

resources/mimetypes/big/rm.png 0 โ†’ 100755

11.7 KB

resources/mimetypes/big/rpm.png 0 โ†’ 100755

17.4 KB

resources/mimetypes/big/s.png 0 โ†’ 100755

10.4 KB

resources/mimetypes/big/source.png 0 โ†’ 100755

13.7 KB

resources/mimetypes/big/spreadsheet.png 0 โ†’ 100755

15 KB

resources/mimetypes/big/svg.png 0 โ†’ 100755

9.73 KB

resources/mimetypes/big/tar.png 0 โ†’ 100755

16.3 KB

resources/mimetypes/big/tex.png 0 โ†’ 100755

8.77 KB

resources/mimetypes/big/text.png 0 โ†’ 100755

9.3 KB

resources/mimetypes/big/tgz.png 0 โ†’ 100755

17.5 KB

resources/mimetypes/big/ttf.png 0 โ†’ 100755

10.2 KB

resources/mimetypes/big/txt.png 0 โ†’ 100755

9.3 KB

resources/mimetypes/big/vcal.png 0 โ†’ 100755

11.5 KB

resources/mimetypes/big/vcard.png 0 โ†’ 100755

11.7 KB

resources/mimetypes/big/wmv.png 0 โ†’ 100755

18.6 KB

resources/mimetypes/big/xls.png 0 โ†’ 100755

23.3 KB

resources/mimetypes/big/y.png 0 โ†’ 100755

10.1 KB

search2.php
@@ -11,6 +11,122 @@ require_once(KT_LIB_DIR . &quot;/actions/bulkaction.php&quot;); @@ -11,6 +11,122 @@ require_once(KT_LIB_DIR . &quot;/actions/bulkaction.php&quot;);
11 require_once(KT_DIR . '/search2/search/search.inc.php'); 11 require_once(KT_DIR . '/search2/search/search.inc.php');
12 require_once(KT_LIB_DIR . '/documentmanagement/Document.inc'); 12 require_once(KT_LIB_DIR . '/documentmanagement/Document.inc');
13 13
  14 +function search2queryCompare($a, $b)
  15 +{
  16 + global $search2queryColumn, $search2queryOrder;
  17 +
  18 +
  19 + if ($a->$search2queryColumn == $b->$search2queryColumn)
  20 + {
  21 + return 0;
  22 + }
  23 +
  24 + $result = ($a->$search2queryColumn < $b->$search2queryColumn)?-1:1;
  25 +
  26 + if ($search2queryOrder == 'asc')
  27 + return $result;
  28 + else
  29 + return - $result;
  30 +}
  31 +
  32 +
  33 +/**
  34 + * Assists with old browse search results
  35 + *
  36 + * @param unknown_type $sSortColumn
  37 + * @param unknown_type $sSortOrder
  38 + */
  39 +
  40 +function search2QuerySort($sSortColumn, $sSortOrder)
  41 +{
  42 + $defaultSortColumn = $_SESSION['search2_sort_column'];
  43 + $defaultSortOrder = $_SESSION['search2_sort_order'];
  44 +
  45 + if (($defaultSortColumn == $sSortColumn) && ($defaultSortOrder == $sSortOrder))
  46 + {
  47 + return;
  48 + }
  49 +
  50 + global $search2queryColumn, $search2queryOrder;
  51 +
  52 + $search2queryOrder = strtolower($sSortOrder);
  53 +
  54 + switch(strtolower($sSortColumn))
  55 + {
  56 + case 'ktcore.columns.title':
  57 + $search2queryColumn = 'Title';
  58 + break;
  59 + case 'ktcore.columns.workflow_state':
  60 + $search2queryColumn = 'WorkflowAndState';
  61 + break;
  62 + case 'ktcore.columns.checkedout_by':
  63 + $search2queryColumn = 'CheckedOutBy';
  64 + break;
  65 + case 'ktcore.columns.creationdate':
  66 + $search2queryColumn = 'DateCreated';
  67 + break;
  68 + case 'ktcore.columns.modificationdate':
  69 + $search2queryColumn = 'DateModified';
  70 + break;
  71 + case 'ktcore.columns.creator':
  72 + $search2queryColumn = 'CreatedBy';
  73 + break;
  74 + case 'ktcore.columns.docid':
  75 + $search2queryColumn = 'DocumentID';
  76 + break;
  77 + case 'ktcore.columns.document_type':
  78 + $search2queryColumn = 'DocumentType';
  79 + break;
  80 + default:
  81 + return;
  82 + }
  83 +
  84 +
  85 + $results = unserialize($_SESSION['search2_results']);
  86 +
  87 + usort($results, 'search2queryCompare');
  88 +
  89 + $_SESSION['search2_results'] = serialize($results);
  90 +
  91 +}
  92 +
  93 +/**
  94 + * Search2Query is used to provide allow the old browse search to work
  95 + *
  96 + */
  97 +class Search2Query extends PartialQuery
  98 +{
  99 + function getFolderCount() { return 0; }
  100 + function getDocumentCount()
  101 + {
  102 + return count(unserialize($_SESSION['search2_results']));
  103 + }
  104 +
  105 + function getFolders($iBatchSize, $iBatchStart, $sSortColumn, $sSortOrder, $sJoinClause = null, $aJoinParams = null)
  106 + {
  107 + return array();
  108 + }
  109 +
  110 + function getDocuments($iBatchSize, $iBatchStart, $sSortColumn, $sSortOrder, $sJoinClause = null, $aJoinParams = null)
  111 + {
  112 + search2QuerySort($_GET['sort_on'], $_GET['sort_order']);
  113 + $results = unserialize($_SESSION['search2_results']);
  114 +
  115 + $batch = array();
  116 +
  117 + $no_results = count($results);
  118 + for($i=0;$i<$no_results;$i++)
  119 + {
  120 + if ($i < $iBatchStart) continue;
  121 + if ($i > $iBatchStart + $iBatchSize) continue;
  122 +
  123 + $batch[] = array('id'=>$results[$i]->DocumentID);
  124 + }
  125 +
  126 + return $batch;
  127 + }
  128 +}
  129 +
14 130
15 class SearchDispatcher extends KTStandardDispatcher { 131 class SearchDispatcher extends KTStandardDispatcher {
16 132
@@ -157,6 +273,56 @@ class SearchDispatcher extends KTStandardDispatcher { @@ -157,6 +273,56 @@ class SearchDispatcher extends KTStandardDispatcher {
157 $this->processQuery($expr); 273 $this->processQuery($expr);
158 } 274 }
159 275
  276 + function do_oldSearchResults()
  277 + {
  278 + $this->oPage->setBreadcrumbDetails(_kt("Search Results"));
  279 + $this->oPage->title = _kt("Search Results");
  280 +
  281 + $collection = new AdvancedCollection;
  282 + $oColumnRegistry = KTColumnRegistry::getSingleton();
  283 + $aColumns = $oColumnRegistry->getColumnsForView('ktcore.views.search');
  284 + $collection->addColumns($aColumns);
  285 +
  286 + // set a view option
  287 + $aTitleOptions = array(
  288 + 'documenturl' => $GLOBALS['KTRootUrl'] . '/view.php',
  289 + 'direct_folder' => true,
  290 + );
  291 + $collection->setColumnOptions('ktcore.columns.title', $aTitleOptions);
  292 +
  293 + // set the selection options
  294 + $collection->setColumnOptions('ktcore.columns.selection', array(
  295 + 'rangename' => 'selection',
  296 + 'show_folders' => true,
  297 + 'show_documents' => true,
  298 + ));
  299 +
  300 +
  301 + $aOptions = $collection->getEnvironOptions(); // extract data from the environment
  302 +
  303 + $aOptions['empty_message'] = _kt("No documents or folders match this query.");
  304 + $aOptions['is_browse'] = true;
  305 + $aOptions['return_url'] = KTUtil::addQueryStringSelf("action=oldSearchResults");
  306 +
  307 +
  308 + $collection->setOptions($aOptions);
  309 + $collection->setQueryObject(new Search2Query());
  310 +
  311 + $oTemplating =& KTTemplating::getSingleton();
  312 + $oTemplate = $oTemplating->loadTemplate("kt3/browse");
  313 + $aTemplateData = array(
  314 + "context" => $this,
  315 + "collection" => $collection,
  316 + 'isEditable' => true,
  317 + 'bulkactions' => KTBulkActionUtil::getAllBulkActions(),
  318 + 'browseutil' => new KTBrowseUtil(),
  319 + 'returnaction' => 'search2',
  320 + );
  321 + return $oTemplate->render($aTemplateData);
  322 + }
  323 +
  324 +
  325 +
160 /** 326 /**
161 * Renders the search results. 327 * Renders the search results.
162 * 328 *
@@ -164,7 +330,32 @@ class SearchDispatcher extends KTStandardDispatcher { @@ -164,7 +330,32 @@ class SearchDispatcher extends KTStandardDispatcher {
164 */ 330 */
165 function do_searchResults() 331 function do_searchResults()
166 { 332 {
167 - $this->oPage->setBreadcrumbDetails(_kt("Search Results")); 333 + if (array_key_exists('format', $_GET))
  334 + {
  335 + switch ($_GET['format']){
  336 + case 'searchengine':
  337 + $_SESSION['search2resultFormat'] = 'searchengine';
  338 + break;
  339 + case 'browseview':
  340 + $_SESSION['search2resultFormat'] = 'browseview';
  341 + break;
  342 + }
  343 + }
  344 + else
  345 + {
  346 + if(!array_key_exists('search2resultFormat', $_SESSION)){
  347 + global $default;
  348 + $_SESSION['search2resultFormat'] = $default->resultsDisplayFormat;
  349 + }
  350 + }
  351 +
  352 + if ($_SESSION['search2resultFormat'] == 'browseview')
  353 + {
  354 + $this->redirectTo('oldSearchResults');
  355 +
  356 + }
  357 +
  358 + $this->oPage->setBreadcrumbDetails(_kt("Search Results"));
168 $this->oPage->title = _kt("Search Results"); 359 $this->oPage->title = _kt("Search Results");
169 360
170 $oTemplating =& KTTemplating::getSingleton(); 361 $oTemplating =& KTTemplating::getSingleton();
search2/indexing/indexers/JavaXMLRPCLuceneIndexer.inc.php
@@ -182,7 +182,7 @@ class JavaXMLRPCLuceneIndexer extends Indexer @@ -182,7 +182,7 @@ class JavaXMLRPCLuceneIndexer extends Indexer
182 $document_id = $hit->DocumentID; 182 $document_id = $hit->DocumentID;
183 183
184 // avoid adding duplicates. If it is in already, it has higher priority. 184 // avoid adding duplicates. If it is in already, it has higher priority.
185 - if (!array_key_exists($document_id, $results) || $score > $results[$document_id]->Score) 185 + if (!array_key_exists($document_id, $results) || $score > $results[$document_id]->Rank)
186 { 186 {
187 try 187 try
188 { 188 {
templates/kt3/standard_page.smarty
@@ -112,7 +112,10 @@ @@ -112,7 +112,10 @@
112 /* 9 */ "{i18n}content and metadata{/i18n}", 112 /* 9 */ "{i18n}content and metadata{/i18n}",
113 /* 10 */ "{i18n}metadata{/i18n}", 113 /* 10 */ "{i18n}metadata{/i18n}",
114 /* 11 */ "{i18n}search{/i18n}", 114 /* 11 */ "{i18n}search{/i18n}",
115 - /* 12 */ "{i18n}Enter search criteria...{/i18n}" 115 + /* 12 */ "{i18n}Enter search criteria...{/i18n}",
  116 + /* 13 */ "{i18n}Toggle search results format{/i18n}",
  117 + /* 14 */ "{i18n}Search engine format{/i18n}",
  118 + /* 15 */ "{i18n}Browse view format{/i18n}"
116 119
117 ]; 120 ];
118 121
@@ -124,6 +127,12 @@ @@ -124,6 +127,12 @@
124 {assign var=count value=$count+1} 127 {assign var=count value=$count+1}
125 {/foreach} 128 {/foreach}
126 ]; 129 ];
  130 +
  131 + {if $smarty.session.search2resultFormat != 'searchengine'}
  132 + var bResultsFormatSearchEngine = false;
  133 + {else}
  134 + var bResultsFormatSearchEngine = true;
  135 + {/if}
127 </script> 136 </script>
128 {literal} 137 {literal}
129 138