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,6 +95,11 @@ php_value max_execution_time 0 | ||
| 95 | php_value error_reporting 5 | 95 | php_value error_reporting 5 |
| 96 | </IfModule> | 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 | #<IfModule mod_rewrite.c> | 104 | #<IfModule mod_rewrite.c> |
| 100 | #RewriteEngine On | 105 | #RewriteEngine On |
dmsctl.sh
| 1 | -#!/bin/sh | 1 | +#!/bin/bash |
| 2 | 2 | ||
| 3 | # Boot KnowledgeTree services | 3 | # Boot KnowledgeTree services |
| 4 | # chkconfig: 2345 55 25 | 4 | # chkconfig: 2345 55 25 |
| @@ -6,6 +6,8 @@ | @@ -6,6 +6,8 @@ | ||
| 6 | # | 6 | # |
| 7 | # processname: ktdms | 7 | # processname: ktdms |
| 8 | 8 | ||
| 9 | +cd $(dirname $0) | ||
| 10 | + | ||
| 9 | HOSTNAME=`hostname` | 11 | HOSTNAME=`hostname` |
| 10 | RETVAL=0 | 12 | RETVAL=0 |
| 11 | PID="" | 13 | PID="" |
| @@ -16,6 +18,14 @@ INSTALL_PATH=`pwd` | @@ -16,6 +18,14 @@ INSTALL_PATH=`pwd` | ||
| 16 | JAVABIN=/usr/bin/java | 18 | JAVABIN=/usr/bin/java |
| 17 | ZEND_DIR=/usr/local/zend | 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 | # OpenOffice | 29 | # OpenOffice |
| 20 | SOFFICEFILE=soffice | 30 | SOFFICEFILE=soffice |
| 21 | SOFFICE_PIDFILE=$INSTALL_PATH/var/log/soffice.bin.pid | 31 | SOFFICE_PIDFILE=$INSTALL_PATH/var/log/soffice.bin.pid |
| @@ -279,6 +289,24 @@ noserver() { | @@ -279,6 +289,24 @@ noserver() { | ||
| 279 | help | 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 | [ $# -lt 1 ] && help | 310 | [ $# -lt 1 ] && help |
| 283 | 311 | ||
| 284 | if [ ! -z ${2} ]; then | 312 | if [ ! -z ${2} ]; then |
| @@ -291,6 +319,8 @@ if [ "x$3" != "x" ]; then | @@ -291,6 +319,8 @@ if [ "x$3" != "x" ]; then | ||
| 291 | MYSQL_PASSWORD=$3 | 319 | MYSQL_PASSWORD=$3 |
| 292 | fi | 320 | fi |
| 293 | 321 | ||
| 322 | +# Are we running for first time | ||
| 323 | +[[ -e $INSTALL_PATH/var/bin/.dmsinit.lock ]] || firstrun | ||
| 294 | 324 | ||
| 295 | case $1 in | 325 | case $1 in |
| 296 | help) help | 326 | help) help |
| @@ -302,6 +332,7 @@ case $1 in | @@ -302,6 +332,7 @@ case $1 in | ||
| 302 | start_soffice | 332 | start_soffice |
| 303 | start_lucene | 333 | start_lucene |
| 304 | start_scheduler | 334 | start_scheduler |
| 335 | + #[[ -e $ZEND_DIR/bin/zendctl.sh ]] && $ZEND_DIR/bin/zendctl.sh restart | ||
| 305 | fi | 336 | fi |
| 306 | ;; | 337 | ;; |
| 307 | stop) if [ "${SERVER}" != "all" ]; then | 338 | stop) if [ "${SERVER}" != "all" ]; then |
| @@ -327,4 +358,4 @@ case $1 in | @@ -327,4 +358,4 @@ case $1 in | ||
| 327 | ;; | 358 | ;; |
| 328 | esac | 359 | esac |
| 329 | 360 | ||
| 330 | -exit $ERROR | ||
| 331 | \ No newline at end of file | 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,6 +372,11 @@ class KTWebDAVServer extends HTTP_WebDAV_Server | ||
| 372 | { | 372 | { |
| 373 | $this->ktwebdavLog('Entering _check_auth...', 'info', true); | 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 | if (method_exists($this, 'checkAuth')) { | 380 | if (method_exists($this, 'checkAuth')) { |
| 376 | // PEAR style method name | 381 | // PEAR style method name |
| 377 | return $this->checkAuth(@$_SERVER['AUTH_TYPE'], | 382 | return $this->checkAuth(@$_SERVER['AUTH_TYPE'], |
rss.php
| @@ -5,7 +5,7 @@ | @@ -5,7 +5,7 @@ | ||
| 5 | * KnowledgeTree Community Edition | 5 | * KnowledgeTree Community Edition |
| 6 | * Document Management Made Simple | 6 | * Document Management Made Simple |
| 7 | * Copyright (C) 2008, 2009 KnowledgeTree Inc. | 7 | * Copyright (C) 2008, 2009 KnowledgeTree Inc. |
| 8 | - * | 8 | + * |
| 9 | * | 9 | * |
| 10 | * This program is free software; you can redistribute it and/or modify it under | 10 | * This program is free software; you can redistribute it and/or modify it under |
| 11 | * the terms of the GNU General Public License version 3 as published by the | 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,6 +40,9 @@ require_once(KT_LIB_DIR .'/authentication/DBAuthenticator.inc'); | ||
| 40 | require_once(KT_LIB_DIR .'/authentication/authenticationutil.inc.php'); | 40 | require_once(KT_LIB_DIR .'/authentication/authenticationutil.inc.php'); |
| 41 | require_once(KT_DIR. '/plugins/rssplugin/KTrss.inc.php'); | 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 | // workaround to get http authentication working in cgi mode | 46 | // workaround to get http authentication working in cgi mode |
| 44 | $altinfo = KTUtil::arrayGet( $_SERVER, 'kt_auth', KTUtil::arrayGet( $_SERVER, 'REDIRECT_kt_auth')); | 47 | $altinfo = KTUtil::arrayGet( $_SERVER, 'kt_auth', KTUtil::arrayGet( $_SERVER, 'REDIRECT_kt_auth')); |
| 45 | if ( !empty( $altinfo) && !isset( $_SERVER['PHP_AUTH_USER'])) { | 48 | if ( !empty( $altinfo) && !isset( $_SERVER['PHP_AUTH_USER'])) { |
templates/ktcore/ktoffice_i18n.smarty
| 1 | - | ||
| 2 | /* | 1 | /* |
| 3 | * Javascript (actual translations); | 2 | * Javascript (actual translations); |
| 4 | */ | 3 | */ |
| @@ -18,15 +17,19 @@ function _(trans_string) { | @@ -18,15 +17,19 @@ function _(trans_string) { | ||
| 18 | 17 | ||
| 19 | //strings for file: main.js | 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 | i18n['Upload failed'] = '{i18n}Upload failed{/i18n}'; | 24 | i18n['Upload failed'] = '{i18n}Upload failed{/i18n}'; |
| 26 | 25 | ||
| 27 | i18n['Your document has not been saved.'] = '{i18n}Your document has not been saved.{/i18n}'; | 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 | i18n['Your document has been saved.'] = '{i18n}Your document has been saved.{/i18n}'; | 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,7 +71,7 @@ i18n['The check-out has been cancelled.'] = '{i18n}The check-out has been cancel | ||
| 68 | 71 | ||
| 69 | i18n['Properties could not be saved.'] = '{i18n}Properties could not be saved.{/i18n}'; | 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 | i18n['Login failed'] = '{i18n}Login failed{/i18n}'; | 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,19 +87,19 @@ i18n['Please verify your<br />Internet connection, <br /> and try again.'] = '{i | ||
| 84 | 87 | ||
| 85 | //strings for file: classes/commentsWindow.js | 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 | i18n['Provide a reason for cancelling this edit.<br ><br >'] = '{i18n}Provide a reason for cancelling this edit.<br ><br >{/i18n}'; | 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 | i18n['Provide a reason for this edit.<br ><br >'] = '{i18n}Provide a reason for this edit.<br ><br >{/i18n}'; | 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 | i18n['Provide a reason for editing this document.<br ><br >'] = '{i18n}Provide a reason for editing this document.<br ><br >{/i18n}'; | 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 | 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}'; | 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,12 +171,28 @@ i18n['Login'] = '{i18n}Login{/i18n}'; | ||
| 168 | 171 | ||
| 169 | i18n['Document already open'] = '{i18n}Document already open{/i18n}'; | 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 | i18n['Introduction'] = '{i18n}Introduction{/i18n}'; | 184 | i18n['Introduction'] = '{i18n}Introduction{/i18n}'; |
| 172 | 185 | ||
| 173 | i18n['The requested action has not been implemented'] = '{i18n}The requested action has not been implemented{/i18n}'; | 186 | i18n['The requested action has not been implemented'] = '{i18n}The requested action has not been implemented{/i18n}'; |
| 174 | 187 | ||
| 175 | 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}'; | 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 | 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}'; | 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 | i18n['Are you sure you want to cancel your edit?'] = '{i18n}Are you sure you want to cancel your edit?{/i18n}'; | 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,6 +209,16 @@ i18n['Save'] = '{i18n}Save{/i18n}'; | ||
| 190 | 209 | ||
| 191 | 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}'; | 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 | i18n['New folder'] = '{i18n}New folder{/i18n}'; | 222 | i18n['New folder'] = '{i18n}New folder{/i18n}'; |
| 194 | 223 | ||
| 195 | 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}'; | 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,10 +305,6 @@ i18n['All error reports are submitted anonymously.\r\n\r\nTo help us resolve thi | ||
| 276 | 305 | ||
| 277 | i18n['Viewing'] = '{i18n}Viewing{/i18n}'; | 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 | i18n['Document type could not be changed'] = '{i18n}Document type could not be changed{/i18n}'; | 308 | i18n['Document type could not be changed'] = '{i18n}Document type could not be changed{/i18n}'; |
| 284 | 309 | ||
| 285 | i18n['Document type could not be reset'] = '{i18n}Document type could not be reset{/i18n}'; | 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,8 +315,6 @@ i18n['Double-click to Select'] = '{i18n}Double-click to Select{/i18n}'; | ||
| 290 | 315 | ||
| 291 | i18n['Double-click to Edit'] = '{i18n}Double-click to Edit{/i18n}'; | 316 | i18n['Double-click to Edit'] = '{i18n}Double-click to Edit{/i18n}'; |
| 292 | 317 | ||
| 293 | -i18n['Error'] = '{i18n}Error{/i18n}'; | ||
| 294 | - | ||
| 295 | i18n['Please complete all required fields.'] = '{i18n}Please complete all required fields.{/i18n}'; | 318 | i18n['Please complete all required fields.'] = '{i18n}Please complete all required fields.{/i18n}'; |
| 296 | 319 | ||
| 297 | i18n['Editing'] = '{i18n}Editing{/i18n}'; | 320 | i18n['Editing'] = '{i18n}Editing{/i18n}'; |
| @@ -340,10 +363,10 @@ i18n['Logout'] = '{i18n}Logout{/i18n}'; | @@ -340,10 +363,10 @@ i18n['Logout'] = '{i18n}Logout{/i18n}'; | ||
| 340 | 363 | ||
| 341 | i18n['No Read permissions'] = '{i18n}No Read permissions{/i18n}'; | 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 | i18n['Search for documents'] = '{i18n}Search for documents{/i18n}'; | 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 | \ No newline at end of file | 372 | \ No newline at end of file |
| 373 | +// Unique Strings: 155 | ||
| 351 | \ No newline at end of file | 374 | \ No newline at end of file |
webservice/classes/atompub/KT_atom_HTTPauth.inc.php
| 1 | <?php | 1 | <?php |
| 2 | class KT_atom_HTTPauth{ | 2 | class KT_atom_HTTPauth{ |
| 3 | public static function getCredentials(){ | 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 | $credentials=array('user'=>'','pass'=>'','method'=>''); | 10 | $credentials=array('user'=>'','pass'=>'','method'=>''); |
| 5 | if(isset($_SERVER['PHP_AUTH_USER'])){ | 11 | if(isset($_SERVER['PHP_AUTH_USER'])){ |
| 6 | $credentials['user']=$_SERVER['PHP_AUTH_USER']; | 12 | $credentials['user']=$_SERVER['PHP_AUTH_USER']; |