Commit b413127052fec89f21dbf055ab92486e12c5a4e2
Merge branch 'edge' of github.com:ktgit/knowledgetree into edge
Showing
6 changed files
with
94 additions
and
21 deletions
.htaccess
| ... | ... | @@ -95,6 +95,11 @@ php_value max_execution_time 0 |
| 95 | 95 | php_value error_reporting 5 |
| 96 | 96 | </IfModule> |
| 97 | 97 | |
| 98 | +# Workaround for mod_auth when running php cgi | |
| 99 | +<IfModule mod_rewrite.c> | |
| 100 | +RewriteEngine on | |
| 101 | +RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] | |
| 102 | +</IfModule> | |
| 98 | 103 | |
| 99 | 104 | #<IfModule mod_rewrite.c> |
| 100 | 105 | #RewriteEngine On | ... | ... |
dmsctl.sh
| 1 | -#!/bin/sh | |
| 1 | +#!/bin/bash | |
| 2 | 2 | |
| 3 | 3 | # Boot KnowledgeTree services |
| 4 | 4 | # chkconfig: 2345 55 25 |
| ... | ... | @@ -6,6 +6,8 @@ |
| 6 | 6 | # |
| 7 | 7 | # processname: ktdms |
| 8 | 8 | |
| 9 | +cd $(dirname $0) | |
| 10 | + | |
| 9 | 11 | HOSTNAME=`hostname` |
| 10 | 12 | RETVAL=0 |
| 11 | 13 | PID="" |
| ... | ... | @@ -16,6 +18,14 @@ INSTALL_PATH=`pwd` |
| 16 | 18 | JAVABIN=/usr/bin/java |
| 17 | 19 | ZEND_DIR=/usr/local/zend |
| 18 | 20 | |
| 21 | +if [ -f /etc/zce.rc ];then | |
| 22 | + . /etc/zce.rc | |
| 23 | +else | |
| 24 | + echo "/etc/zce.rc doesn't exist!" | |
| 25 | + exit 1; | |
| 26 | +fi | |
| 27 | + | |
| 28 | + | |
| 19 | 29 | # OpenOffice |
| 20 | 30 | SOFFICEFILE=soffice |
| 21 | 31 | SOFFICE_PIDFILE=$INSTALL_PATH/var/log/soffice.bin.pid |
| ... | ... | @@ -279,6 +289,24 @@ noserver() { |
| 279 | 289 | help |
| 280 | 290 | } |
| 281 | 291 | |
| 292 | +firstrun() { | |
| 293 | + echo "Initializing DMS for the first time, exporting ZEND paths" | |
| 294 | + if grep --quiet LD_LIBRARAY_PATH /etc/zce.rc ; then | |
| 295 | + echo "Nothing to be done ..." | |
| 296 | + else | |
| 297 | + echo "PATH=/usr/local/zend/bin:$PATH" >> /etc/zce.rc | |
| 298 | + if [ -z $LD_LIBRARY_PATH ] ; then | |
| 299 | + echo "LD_LIBRARY_PATH=$ZEND_DIR/lib" >> /etc/zce.rc | |
| 300 | + else | |
| 301 | + echo "LD_LIBRARY_PATH=$ZEND_DIR/lib:$LD_LIBRARY_PATH" >> /etc/zce.rc | |
| 302 | + fi | |
| 303 | + fi | |
| 304 | + | |
| 305 | + touch $INSTALL_PATH/var/bin/.dmsinit.lock | |
| 306 | + | |
| 307 | + $ZEND_DIR/bin/zendctl.sh restart | |
| 308 | +} | |
| 309 | + | |
| 282 | 310 | [ $# -lt 1 ] && help |
| 283 | 311 | |
| 284 | 312 | if [ ! -z ${2} ]; then |
| ... | ... | @@ -291,6 +319,8 @@ if [ "x$3" != "x" ]; then |
| 291 | 319 | MYSQL_PASSWORD=$3 |
| 292 | 320 | fi |
| 293 | 321 | |
| 322 | +# Are we running for first time | |
| 323 | +[[ -e $INSTALL_PATH/var/bin/.dmsinit.lock ]] || firstrun | |
| 294 | 324 | |
| 295 | 325 | case $1 in |
| 296 | 326 | help) help |
| ... | ... | @@ -302,6 +332,7 @@ case $1 in |
| 302 | 332 | start_soffice |
| 303 | 333 | start_lucene |
| 304 | 334 | start_scheduler |
| 335 | + #[[ -e $ZEND_DIR/bin/zendctl.sh ]] && $ZEND_DIR/bin/zendctl.sh restart | |
| 305 | 336 | fi |
| 306 | 337 | ;; |
| 307 | 338 | stop) if [ "${SERVER}" != "all" ]; then |
| ... | ... | @@ -327,4 +358,4 @@ case $1 in |
| 327 | 358 | ;; |
| 328 | 359 | esac |
| 329 | 360 | |
| 330 | -exit $ERROR | |
| 331 | 361 | \ No newline at end of file |
| 362 | +exit $ERROR | ... | ... |
ktwebdav/lib/KTWebDAVServer.inc.php
| ... | ... | @@ -372,6 +372,11 @@ class KTWebDAVServer extends HTTP_WebDAV_Server |
| 372 | 372 | { |
| 373 | 373 | $this->ktwebdavLog('Entering _check_auth...', 'info', true); |
| 374 | 374 | |
| 375 | + // Workaround for mod_auth when running php cgi | |
| 376 | + if(!isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['HTTP_AUTHORIZATION'])){ | |
| 377 | + list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6))); | |
| 378 | + } | |
| 379 | + | |
| 375 | 380 | if (method_exists($this, 'checkAuth')) { |
| 376 | 381 | // PEAR style method name |
| 377 | 382 | return $this->checkAuth(@$_SERVER['AUTH_TYPE'], | ... | ... |
rss.php
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | * KnowledgeTree Community Edition |
| 6 | 6 | * Document Management Made Simple |
| 7 | 7 | * Copyright (C) 2008, 2009 KnowledgeTree Inc. |
| 8 | - * | |
| 8 | + * | |
| 9 | 9 | * |
| 10 | 10 | * This program is free software; you can redistribute it and/or modify it under |
| 11 | 11 | * the terms of the GNU General Public License version 3 as published by the |
| ... | ... | @@ -40,6 +40,9 @@ require_once(KT_LIB_DIR .'/authentication/DBAuthenticator.inc'); |
| 40 | 40 | require_once(KT_LIB_DIR .'/authentication/authenticationutil.inc.php'); |
| 41 | 41 | require_once(KT_DIR. '/plugins/rssplugin/KTrss.inc.php'); |
| 42 | 42 | |
| 43 | +// Workaround for mod_auth when running php cgi | |
| 44 | +list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6))); | |
| 45 | + | |
| 43 | 46 | // workaround to get http authentication working in cgi mode |
| 44 | 47 | $altinfo = KTUtil::arrayGet( $_SERVER, 'kt_auth', KTUtil::arrayGet( $_SERVER, 'REDIRECT_kt_auth')); |
| 45 | 48 | if ( !empty( $altinfo) && !isset( $_SERVER['PHP_AUTH_USER'])) { | ... | ... |
templates/ktcore/ktoffice_i18n.smarty
| 1 | - | |
| 2 | 1 | /* |
| 3 | 2 | * Javascript (actual translations); |
| 4 | 3 | */ |
| ... | ... | @@ -18,15 +17,19 @@ function _(trans_string) { |
| 18 | 17 | |
| 19 | 18 | //strings for file: main.js |
| 20 | 19 | |
| 21 | -i18n['Upload'] = '{i18n}Upload{/i18n}'; | |
| 20 | +i18n['Upload succeeded'] = '{i18n}Upload succeeded{/i18n}'; | |
| 22 | 21 | |
| 23 | -i18n['Upload cancelled'] = '{i18n}Upload cancelled{/i18n}'; | |
| 22 | +i18n['Document type changed'] = '{i18n}Document type changed{/i18n}'; | |
| 24 | 23 | |
| 25 | 24 | i18n['Upload failed'] = '{i18n}Upload failed{/i18n}'; |
| 26 | 25 | |
| 27 | 26 | i18n['Your document has not been saved.'] = '{i18n}Your document has not been saved.{/i18n}'; |
| 28 | 27 | |
| 29 | -i18n['Upload succeeded'] = '{i18n}Upload succeeded{/i18n}'; | |
| 28 | +i18n['A newer version of this document is available. Would you like to open it instead?'] = '{i18n}A newer version of this document is available. Would you like to open it instead?{/i18n}'; | |
| 29 | + | |
| 30 | +i18n['Upload'] = '{i18n}Upload{/i18n}'; | |
| 31 | + | |
| 32 | +i18n['Upload cancelled'] = '{i18n}Upload cancelled{/i18n}'; | |
| 30 | 33 | |
| 31 | 34 | i18n['Your document has been saved.'] = '{i18n}Your document has been saved.{/i18n}'; |
| 32 | 35 | |
| ... | ... | @@ -68,7 +71,7 @@ i18n['The check-out has been cancelled.'] = '{i18n}The check-out has been cancel |
| 68 | 71 | |
| 69 | 72 | i18n['Properties could not be saved.'] = '{i18n}Properties could not be saved.{/i18n}'; |
| 70 | 73 | |
| 71 | -i18n['Properties has been saved.'] = '{i18n}Properties has been saved.{/i18n}'; | |
| 74 | +i18n['Properties have been saved.'] = '{i18n}Properties have been saved.{/i18n}'; | |
| 72 | 75 | |
| 73 | 76 | i18n['Login failed'] = '{i18n}Login failed{/i18n}'; |
| 74 | 77 | |
| ... | ... | @@ -84,19 +87,19 @@ i18n['Please verify your<br />Internet connection, <br /> and try again.'] = '{i |
| 84 | 87 | |
| 85 | 88 | //strings for file: classes/commentsWindow.js |
| 86 | 89 | |
| 87 | -i18n['Cancelling edit of document (check-in] = '{i18n}Cancelling edit of document (check-i{/i18n}n; | |
| 90 | +i18n['Cancelling edit of document (check-in)'] = '{i18n}Cancelling edit of document (check-in){/i18n}'; | |
| 88 | 91 | |
| 89 | 92 | i18n['Provide a reason for cancelling this edit.<br ><br >'] = '{i18n}Provide a reason for cancelling this edit.<br ><br >{/i18n}'; |
| 90 | 93 | |
| 91 | -i18n['Continue Editing (check-out] = '{i18n}Continue Editing (check-ou{/i18n}t; | |
| 94 | +i18n['Continue Editing (check-out)'] = '{i18n}Continue Editing (check-out){/i18n}'; | |
| 92 | 95 | |
| 93 | 96 | i18n['Provide a reason for this edit.<br ><br >'] = '{i18n}Provide a reason for this edit.<br ><br >{/i18n}'; |
| 94 | 97 | |
| 95 | -i18n['Editing Document (check-out] = '{i18n}Editing Document (check-ou{/i18n}t; | |
| 98 | +i18n['Editing Document (check-out)'] = '{i18n}Editing Document (check-out){/i18n}'; | |
| 96 | 99 | |
| 97 | 100 | i18n['Provide a reason for editing this document.<br ><br >'] = '{i18n}Provide a reason for editing this document.<br ><br >{/i18n}'; |
| 98 | 101 | |
| 99 | -i18n['Saving Document (check-in] = '{i18n}Saving Document (check-i{/i18n}n; | |
| 102 | +i18n['Saving Document (check-in)'] = '{i18n}Saving Document (check-in){/i18n}'; | |
| 100 | 103 | |
| 101 | 104 | i18n['For historical purposes, describe the changes you made to this document.<br ><br >'] = '{i18n}For historical purposes, describe the changes you made to this document.<br ><br >{/i18n}'; |
| 102 | 105 | |
| ... | ... | @@ -168,12 +171,28 @@ i18n['Login'] = '{i18n}Login{/i18n}'; |
| 168 | 171 | |
| 169 | 172 | i18n['Document already open'] = '{i18n}Document already open{/i18n}'; |
| 170 | 173 | |
| 174 | +i18n['Unable to delete folder'] = '{i18n}Unable to delete folder{/i18n}'; | |
| 175 | + | |
| 176 | +i18n['Delete Folder'] = '{i18n}Delete Folder{/i18n}'; | |
| 177 | + | |
| 178 | +i18n['This will delete this folder.<br/>Are you sure you want to continue?'] = '{i18n}This will delete this folder.<br/>Are you sure you want to continue?{/i18n}'; | |
| 179 | + | |
| 180 | +i18n['Unable to Delete Folder'] = '{i18n}Unable to Delete Folder{/i18n}'; | |
| 181 | + | |
| 182 | +i18n['This folder contains other documents/folders<br/>and may not be deleted.'] = '{i18n}This folder contains other documents/folders<br/>and may not be deleted.{/i18n}'; | |
| 183 | + | |
| 171 | 184 | i18n['Introduction'] = '{i18n}Introduction{/i18n}'; |
| 172 | 185 | |
| 173 | 186 | i18n['The requested action has not been implemented'] = '{i18n}The requested action has not been implemented{/i18n}'; |
| 174 | 187 | |
| 175 | 188 | i18n['Any unsaved changes will be lost! Are you sure you want to continue?'] = '{i18n}Any unsaved changes will be lost! Are you sure you want to continue?{/i18n}'; |
| 176 | 189 | |
| 190 | +i18n['Error'] = '{i18n}Error{/i18n}'; | |
| 191 | + | |
| 192 | +i18n['Please close all open editors.'] = '{i18n}Please close all open editors.{/i18n}'; | |
| 193 | + | |
| 194 | +i18n['Warning'] = '{i18n}Warning{/i18n}'; | |
| 195 | + | |
| 177 | 196 | i18n['Do you want to add the currently open Office document as a new version of [-doctitle-]?'] = '{i18n}Do you want to add the currently open Office document as a new version of [-doctitle-]?{/i18n}'; |
| 178 | 197 | |
| 179 | 198 | i18n['Are you sure you want to cancel your edit?'] = '{i18n}Are you sure you want to cancel your edit?{/i18n}'; |
| ... | ... | @@ -190,6 +209,16 @@ i18n['Save'] = '{i18n}Save{/i18n}'; |
| 190 | 209 | |
| 191 | 210 | i18n['Adds your open Office document to KnowledgeTree. You must have \'write\' permissions on the folder.'] = '{i18n}Adds your open Office document to KnowledgeTree. You must have \'write\' permissions on the folder.{/i18n}'; |
| 192 | 211 | |
| 212 | +i18n['Add Folder'] = '{i18n}Add Folder{/i18n}'; | |
| 213 | + | |
| 214 | +i18n['Provides an interface to create a new folder under the current folder. You must have \'add\' permissions on the folder.'] = '{i18n}Provides an interface to create a new folder under the current folder. You must have \'add\' permissions on the folder.{/i18n}'; | |
| 215 | + | |
| 216 | +i18n['Rename Folder'] = '{i18n}Rename Folder{/i18n}'; | |
| 217 | + | |
| 218 | +i18n['Provides an interface to rename the current folder. You must have \'rename\' permissions on the folder.'] = '{i18n}Provides an interface to rename the current folder. You must have \'rename\' permissions on the folder.{/i18n}'; | |
| 219 | + | |
| 220 | +i18n['Provides an interface to delete the current folder. You must have \'delete\' permissions on the folder.'] = '{i18n}Provides an interface to delete the current folder. You must have \'delete\' permissions on the folder.{/i18n}'; | |
| 221 | + | |
| 193 | 222 | i18n['New folder'] = '{i18n}New folder{/i18n}'; |
| 194 | 223 | |
| 195 | 224 | i18n['Saves active document to a new folder. You must have \'write\' permissions on the folder.'] = '{i18n}Saves active document to a new folder. You must have \'write\' permissions on the folder.{/i18n}'; |
| ... | ... | @@ -276,10 +305,6 @@ i18n['All error reports are submitted anonymously.\r\n\r\nTo help us resolve thi |
| 276 | 305 | |
| 277 | 306 | i18n['Viewing'] = '{i18n}Viewing{/i18n}'; |
| 278 | 307 | |
| 279 | -i18n["Click 'Save Properties' to save your changes."] = "{i18n}Click 'Save Properties' to save your changes.{/i18n}"; | |
| 280 | - | |
| 281 | -i18n['Document type changed'] = '{i18n}Document type changed{/i18n}'; | |
| 282 | - | |
| 283 | 308 | i18n['Document type could not be changed'] = '{i18n}Document type could not be changed{/i18n}'; |
| 284 | 309 | |
| 285 | 310 | i18n['Document type could not be reset'] = '{i18n}Document type could not be reset{/i18n}'; |
| ... | ... | @@ -290,8 +315,6 @@ i18n['Double-click to Select'] = '{i18n}Double-click to Select{/i18n}'; |
| 290 | 315 | |
| 291 | 316 | i18n['Double-click to Edit'] = '{i18n}Double-click to Edit{/i18n}'; |
| 292 | 317 | |
| 293 | -i18n['Error'] = '{i18n}Error{/i18n}'; | |
| 294 | - | |
| 295 | 318 | i18n['Please complete all required fields.'] = '{i18n}Please complete all required fields.{/i18n}'; |
| 296 | 319 | |
| 297 | 320 | i18n['Editing'] = '{i18n}Editing{/i18n}'; |
| ... | ... | @@ -340,10 +363,10 @@ i18n['Logout'] = '{i18n}Logout{/i18n}'; |
| 340 | 363 | |
| 341 | 364 | i18n['No Read permissions'] = '{i18n}No Read permissions{/i18n}'; |
| 342 | 365 | |
| 343 | -i18n['You do not have the required permissions to view the root folder. Please contact your system administrator for assistance.', '', 60000] = '{i18n}You do not have the required permissions to view the root folder. Please contact your system administrator for assistance.', '', 6000{/i18n}0; | |
| 366 | +i18n['You do not have the required permissions to view the root folder. Please contact your system administrator for assistance.'] = '{i18n}You do not have the required permissions to view the root folder. Please contact your system administrator for assistance.{/i18n}'; | |
| 344 | 367 | |
| 345 | 368 | i18n['Search for documents'] = '{i18n}Search for documents{/i18n}'; |
| 346 | 369 | |
| 347 | -// Total Language Strings: 143 | |
| 370 | +// Total Language Strings: 155 | |
| 348 | 371 | |
| 349 | -// Unique Strings: 143 | |
| 350 | 372 | \ No newline at end of file |
| 373 | +// Unique Strings: 155 | |
| 351 | 374 | \ No newline at end of file | ... | ... |
webservice/classes/atompub/KT_atom_HTTPauth.inc.php
| 1 | 1 | <?php |
| 2 | 2 | class KT_atom_HTTPauth{ |
| 3 | 3 | public static function getCredentials(){ |
| 4 | + | |
| 5 | + // Workaround for mod_auth when running php cgi | |
| 6 | + if(!isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['HTTP_AUTHORIZATION'])){ | |
| 7 | + list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6))); | |
| 8 | + } | |
| 9 | + | |
| 4 | 10 | $credentials=array('user'=>'','pass'=>'','method'=>''); |
| 5 | 11 | if(isset($_SERVER['PHP_AUTH_USER'])){ |
| 6 | 12 | $credentials['user']=$_SERVER['PHP_AUTH_USER']; | ... | ... |