Merge branch 'master' of gitorious.org:owncloud/owncloud into ace-editor
This commit is contained in:
commit
3fee961a0a
|
@ -4,4 +4,8 @@ php_value upload_max_filesize 512M
|
||||||
php_value post_max_size 512M
|
php_value post_max_size 512M
|
||||||
SetEnv htaccessWorking true
|
SetEnv htaccessWorking true
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
<IfModule !mod_php5.c>
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]
|
||||||
|
</IfModule>
|
||||||
Options -Indexes
|
Options -Indexes
|
||||||
|
|
|
@ -1,5 +1,52 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
// Source: http://www.php.net/manual/de/function.curl-setopt.php#102121
|
||||||
|
// This works around a safe_mode/open_basedir restriction
|
||||||
|
function curl_exec_follow(/*resource*/ $ch, /*int*/ &$maxredirect = null) {
|
||||||
|
$mr = $maxredirect === null ? 5 : intval($maxredirect);
|
||||||
|
if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off')) {
|
||||||
|
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $mr > 0);
|
||||||
|
curl_setopt($ch, CURLOPT_MAXREDIRS, $mr);
|
||||||
|
} else {
|
||||||
|
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
|
||||||
|
if ($mr > 0) {
|
||||||
|
$newurl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
|
||||||
|
|
||||||
|
$rch = curl_copy_handle($ch);
|
||||||
|
curl_setopt($rch, CURLOPT_HEADER, true);
|
||||||
|
curl_setopt($rch, CURLOPT_NOBODY, true);
|
||||||
|
curl_setopt($rch, CURLOPT_FORBID_REUSE, false);
|
||||||
|
curl_setopt($rch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
do {
|
||||||
|
curl_setopt($rch, CURLOPT_URL, $newurl);
|
||||||
|
$header = curl_exec($rch);
|
||||||
|
if (curl_errno($rch)) {
|
||||||
|
$code = 0;
|
||||||
|
} else {
|
||||||
|
$code = curl_getinfo($rch, CURLINFO_HTTP_CODE);
|
||||||
|
if ($code == 301 || $code == 302) {
|
||||||
|
preg_match('/Location:(.*?)\n/', $header, $matches);
|
||||||
|
$newurl = trim(array_pop($matches));
|
||||||
|
} else {
|
||||||
|
$code = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} while ($code && --$mr);
|
||||||
|
curl_close($rch);
|
||||||
|
if (!$mr) {
|
||||||
|
if ($maxredirect === null) {
|
||||||
|
trigger_error('Too many redirects. When following redirects, libcurl hit the maximum amount.', E_USER_WARNING);
|
||||||
|
} else {
|
||||||
|
$maxredirect = 0;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
curl_setopt($ch, CURLOPT_URL, $newurl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return curl_exec($ch);
|
||||||
|
}
|
||||||
|
|
||||||
function getURLMetadata($url) {
|
function getURLMetadata($url) {
|
||||||
//allow only http(s) and (s)ftp
|
//allow only http(s) and (s)ftp
|
||||||
$protocols = '/^[hs]{0,1}[tf]{0,1}tp[s]{0,1}\:\/\//i';
|
$protocols = '/^[hs]{0,1}[tf]{0,1}tp[s]{0,1}\:\/\//i';
|
||||||
|
@ -12,13 +59,11 @@ function getURLMetadata($url) {
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
curl_setopt($ch, CURLOPT_URL, $url);
|
curl_setopt($ch, CURLOPT_URL, $url);
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||||
$page = curl_exec($ch);
|
$page = curl_exec_follow($ch);
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
|
|
||||||
@preg_match( "/<title>(.*)<\/title>/si", $page, $match );
|
@preg_match( "/<title>(.*)<\/title>/si", $page, $match );
|
||||||
$metadata['title'] = htmlspecialchars_decode(@$match[1]);
|
$metadata['title'] = htmlspecialchars_decode(@$match[1]);
|
||||||
|
|
||||||
$meta = get_meta_tags($url);
|
|
||||||
|
|
||||||
return $metadata;
|
return $metadata;
|
||||||
}
|
}
|
|
@ -9,8 +9,8 @@
|
||||||
require_once ("../../lib/base.php");
|
require_once ("../../lib/base.php");
|
||||||
OC_Util::checkLoggedIn();
|
OC_Util::checkLoggedIn();
|
||||||
OC_Util::checkAppEnabled('calendar');
|
OC_Util::checkAppEnabled('calendar');
|
||||||
$cal = $_GET["calid"];
|
$cal = isset($_GET["calid"]) ? $_GET["calid"] : NULL;
|
||||||
$event = $_GET["eventid"];
|
$event = isset($_GET["eventid"]) ? $_GET["eventid"] : NULL;
|
||||||
if(isset($cal)){
|
if(isset($cal)){
|
||||||
$calendar = OC_Calendar_Calendar::findCalendar($cal);
|
$calendar = OC_Calendar_Calendar::findCalendar($cal);
|
||||||
if($calendar["userid"] != OC_User::getUser()){
|
if($calendar["userid"] != OC_User::getUser()){
|
||||||
|
|
|
@ -200,6 +200,7 @@ Calendar={
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
window.setTimeout("Calendar.UI.loadEvents(" + year + ")", 120000);
|
||||||
},
|
},
|
||||||
getEventsForDate:function(date){
|
getEventsForDate:function(date){
|
||||||
var day = date.getDate();
|
var day = date.getDate();
|
||||||
|
|
|
@ -10,7 +10,6 @@ class OC_Connector_Sabre_CalDAV extends Sabre_CalDAV_Backend_Abstract {
|
||||||
*/
|
*/
|
||||||
public $propertyMap = array(
|
public $propertyMap = array(
|
||||||
'{DAV:}displayname' => 'displayname',
|
'{DAV:}displayname' => 'displayname',
|
||||||
'{urn:ietf:params:xml:ns:caldav}calendar-description' => 'description',
|
|
||||||
'{urn:ietf:params:xml:ns:caldav}calendar-timezone' => 'timezone',
|
'{urn:ietf:params:xml:ns:caldav}calendar-timezone' => 'timezone',
|
||||||
'{http://apple.com/ns/ical/}calendar-order' => 'calendarorder',
|
'{http://apple.com/ns/ical/}calendar-order' => 'calendarorder',
|
||||||
'{http://apple.com/ns/ical/}calendar-color' => 'calendarcolor',
|
'{http://apple.com/ns/ical/}calendar-color' => 'calendarcolor',
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
.contacts_details_left {text-align:right;vertical-align:top;padding:2px;}
|
.contacts_details_left {text-align:right;vertical-align:top;padding:2px;}
|
||||||
.contacts_details_right {text-align:left;vertical-align:top;padding:2px;}
|
.contacts_details_right {text-align:left;vertical-align:top;padding:2px;}
|
||||||
|
#contacts_deletecard {position:absolute;top:15px;right:0;}
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
/*-------------------------------------------------------------------------
|
|
||||||
* Actions for startup
|
|
||||||
*-----------------------------------------------------------------------*/
|
|
||||||
if( $('#leftcontent li').length > 0 ){
|
|
||||||
$('#leftcontent li').first().addClass('active');
|
|
||||||
}
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
* Event handlers
|
* Event handlers
|
||||||
*-----------------------------------------------------------------------*/
|
*-----------------------------------------------------------------------*/
|
||||||
|
|
|
@ -14,5 +14,5 @@ OC_Util::addStyle('contacts','styles');
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="rightcontent" class="rightcontent" data-id="<?php echo $_['id']; ?>">
|
<div id="rightcontent" class="rightcontent" data-id="<?php echo $_['id']; ?>">
|
||||||
<?php echo $this->inc("part.details"); ?>
|
<?php echo $this->inc("part.addcardform"); ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</table>
|
</table>
|
||||||
<form>
|
<form>
|
||||||
<input type="button" id="contacts_deletecard" value="<?php echo $l->t('Delete');?>">
|
<img class="svg action" id="contacts_deletecard" src="<?php echo image_path('', 'actions/delete.svg'); ?>" title="<?php echo $l->t('Delete contact');?>" />
|
||||||
<input type="button" id="contacts_addproperty" value="<?php echo $l->t('Add Property');?>">
|
<input type="button" id="contacts_addproperty" value="<?php echo $l->t('Add Property');?>">
|
||||||
</form>
|
</form>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
|
@ -44,7 +44,7 @@ if(isset($_SERVER['HTTP_ORIGIN'])) {
|
||||||
header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
|
header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
|
||||||
header('Access-Control-Max-Age: 3600');
|
header('Access-Control-Max-Age: 3600');
|
||||||
header('Access-Control-Allow-Methods: OPTIONS, GET, PUT, DELETE, PROPFIND');
|
header('Access-Control-Allow-Methods: OPTIONS, GET, PUT, DELETE, PROPFIND');
|
||||||
header('Access-Control-Allow-Headers: Authorization');
|
header('Access-Control-Allow-Headers: Authorization, Content-Type');
|
||||||
} else {
|
} else {
|
||||||
header('Access-Control-Allow-Origin: *');
|
header('Access-Control-Allow-Origin: *');
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ if(count($pathParts) >= 8 && $pathParts[0] == '' && $pathParts[2] == 'remoteStor
|
||||||
$token=OC_remoteStorage::createDataScope($appUrl, $userAddress, $dataScope);
|
$token=OC_remoteStorage::createDataScope($appUrl, $userAddress, $dataScope);
|
||||||
header('Location: '.$_GET['redirect_uri'].'#access_token='.$token.'&token_type=remoteStorage');
|
header('Location: '.$_GET['redirect_uri'].'#access_token='.$token.'&token_type=remoteStorage');
|
||||||
} else {
|
} else {
|
||||||
if($_SERVER['HTTPS']){
|
if((isset($_SERVER['HTTPS'])) && ($_SERVER['HTTPS'])) {
|
||||||
$url = "https://";
|
$url = "https://";
|
||||||
} else {
|
} else {
|
||||||
$url = "http://";
|
$url = "http://";
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
<?php
|
|
||||||
$ownCloudBaseUri = substr($_SERVER['REQUEST_URI'],0, -(strlen('/apps/user_webfinger/activate.php')));
|
|
||||||
$thisAppDir = __DIR__;
|
|
||||||
$appsDir = dirname($thisAppDir);
|
|
||||||
$ownCloudDir = dirname($appsDir);
|
|
||||||
try{
|
|
||||||
symlink($thisAppDir, $ownCloudDir.'/.well-known');
|
|
||||||
echo "Webfinger should now work.\n";
|
|
||||||
} catch(Exception $e) {
|
|
||||||
echo "Please create a file called '.well-known in the ownCloud root, give the web server user permission to change it, and retry.\n";
|
|
||||||
}
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?php
|
||||||
|
$appInfoDir = __DIR__;
|
||||||
|
$thisAppDir = dirname($appInfoDir);
|
||||||
|
$appsDir = dirname($thisAppDir);
|
||||||
|
$ownCloudDir = dirname($appsDir);
|
||||||
|
symlink($thisAppDir, $ownCloudDir.'/.well-known');
|
|
@ -122,3 +122,4 @@ div.jp-play-bar, div.jp-seek-bar { padding:0; }
|
||||||
.pager li { display:inline-block; }
|
.pager li { display:inline-block; }
|
||||||
|
|
||||||
li.error { width:640px; margin:4em auto; padding:1em 1em 1em 4em; background:#ffe .8em .8em no-repeat; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
|
li.error { width:640px; margin:4em auto; padding:1em 1em 1em 4em; background:#ffe .8em .8em no-repeat; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
|
||||||
|
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { overflow: hidden; text-overflow: ellipsis; }
|
Before Width: | Height: | Size: 859 B After Width: | Height: | Size: 859 B |
Before Width: | Height: | Size: 538 B After Width: | Height: | Size: 538 B |
|
@ -37,7 +37,7 @@
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset id='databaseField'>
|
<fieldset id='databaseField'>
|
||||||
<?php if($_['hasMySQL'] or $_['hasPostgreSQL']) $hasOtherDB = true; //other than SQLite ?>
|
<?php if($_['hasMySQL'] or $_['hasPostgreSQL']) $hasOtherDB = true; else $hasOtherDB =false; //other than SQLite ?>
|
||||||
<legend><?php echo $l->t( 'Configure the database' ); ?></legend>
|
<legend><?php echo $l->t( 'Configure the database' ); ?></legend>
|
||||||
<div id="selectDbType">
|
<div id="selectDbType">
|
||||||
<?php if($_['hasSQLite']): ?>
|
<?php if($_['hasSQLite']): ?>
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// Init owncloud
|
||||||
|
require_once('../../lib/base.php');
|
||||||
|
|
||||||
|
print OC_Helper::mimetypeIcon($_GET['mime']);
|
||||||
|
|
||||||
|
?>
|
|
@ -101,10 +101,14 @@ FileList={
|
||||||
$('.file_upload_filename').removeClass('highlight');
|
$('.file_upload_filename').removeClass('highlight');
|
||||||
},
|
},
|
||||||
loadingDone:function(name){
|
loadingDone:function(name){
|
||||||
$('tr[data-file="'+name+'"]').data('loading',false);
|
var tr=$('tr[data-file="'+name+'"]');
|
||||||
var mime=$('tr[data-file="'+name+'"]').data('mime');
|
tr.data('loading',false);
|
||||||
$('tr[data-file="'+name+'"] td.filename').attr('style','background-image:url('+getMimeIcon(mime)+')');
|
var mime=tr.data('mime');
|
||||||
$('tr[data-file="'+name+'"] td.filename').draggable(dragOptions);
|
tr.attr('data-mime',mime);
|
||||||
|
getMimeIcon(mime,function(path){
|
||||||
|
tr.find('td.filename').attr('style','background-image:url('+path+')');
|
||||||
|
});
|
||||||
|
tr.find('td.filename').draggable(dragOptions);
|
||||||
},
|
},
|
||||||
isLoading:function(name){
|
isLoading:function(name){
|
||||||
return $('tr[data-file="'+name+'"]').data('loading');
|
return $('tr[data-file="'+name+'"]').data('loading');
|
||||||
|
|
|
@ -473,11 +473,14 @@ function relative_modified_date(timestamp) {
|
||||||
else { return diffyears+' '+t('files','years ago'); }
|
else { return diffyears+' '+t('files','years ago'); }
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMimeIcon(mime){
|
function getMimeIcon(mime, ready){
|
||||||
mime=mime.substr(0,mime.indexOf('/'));
|
if(getMimeIcon.cache[mime]){
|
||||||
var knownMimes=['image','audio'];
|
ready(getMimeIcon.cache[mime]);
|
||||||
if(knownMimes.indexOf(mime)==-1){
|
}else{
|
||||||
mime='file';
|
$.get( OC.filePath('files','ajax','mimeicon.php')+'?mime='+mime, function(path){
|
||||||
|
getMimeIcon.cache[mime]=path;
|
||||||
|
ready(getMimeIcon.cache[mime]);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return OC.imagePath('core','filetypes/'+mime);
|
|
||||||
}
|
}
|
||||||
|
getMimeIcon.cache={};
|
||||||
|
|
20
index.php
20
index.php
|
@ -27,8 +27,16 @@ require_once('lib/base.php');
|
||||||
|
|
||||||
// Setup required :
|
// Setup required :
|
||||||
$not_installed = !OC_Config::getValue('installed', false);
|
$not_installed = !OC_Config::getValue('installed', false);
|
||||||
$install_called = (isset($_POST['install']) AND $_POST['install']=='true');
|
|
||||||
if($not_installed) {
|
if($not_installed) {
|
||||||
|
// Check for autosetup:
|
||||||
|
$autosetup_file = OC::$SERVERROOT."/config/autoconfig.php";
|
||||||
|
if( file_exists( $autosetup_file )){
|
||||||
|
error_log("Autoconfig file found, setting up owncloud...");
|
||||||
|
include( $autosetup_file );
|
||||||
|
$_POST['install'] = 'true';
|
||||||
|
$_POST = array_merge ($_POST, $AUTOCONFIG);
|
||||||
|
unlink($autosetup_file);
|
||||||
|
}
|
||||||
OC_Util::addScript('setup');
|
OC_Util::addScript('setup');
|
||||||
require_once('setup.php');
|
require_once('setup.php');
|
||||||
exit();
|
exit();
|
||||||
|
@ -92,6 +100,14 @@ else {
|
||||||
$error = true;
|
$error = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// The user is already authenticated using Apaches AuthType Basic... very usable in combination with LDAP
|
||||||
|
elseif(isset($_SERVER["PHP_AUTH_USER"]) && isset($_SERVER["PHP_AUTH_PW"])){
|
||||||
|
if (OC_User::login($_SERVER["PHP_AUTH_USER"],$_SERVER["PHP_AUTH_PW"])) {
|
||||||
|
OC_User::unsetMagicInCookie();
|
||||||
|
OC_Util::redirectToDefaultPage();
|
||||||
|
}else{
|
||||||
|
$error = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
OC_Template::printGuestPage('', 'login', array('error' => $error, 'redirect' => isset($_REQUEST['redirect_url'])?$_REQUEST['redirect_url']:'' ));
|
OC_Template::printGuestPage('', 'login', array('error' => $error, 'redirect' => isset($_REQUEST['redirect_url'])?$_REQUEST['redirect_url']:'' ));
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,14 @@ class OC{
|
||||||
date_default_timezone_set('Europe/Berlin');
|
date_default_timezone_set('Europe/Berlin');
|
||||||
ini_set('arg_separator.output','&');
|
ini_set('arg_separator.output','&');
|
||||||
|
|
||||||
|
//set http auth headers for apache+php-cgi work around
|
||||||
|
if (isset($_SERVER['HTTP_AUTHORIZATION']) && preg_match('/Basic\s+(.*)$/i', $_SERVER['HTTP_AUTHORIZATION'], $matches))
|
||||||
|
{
|
||||||
|
list($name, $password) = explode(':', base64_decode($matches[1]));
|
||||||
|
$_SERVER['PHP_AUTH_USER'] = strip_tags($name);
|
||||||
|
$_SERVER['PHP_AUTH_PW'] = strip_tags($password);
|
||||||
|
}
|
||||||
|
|
||||||
// calculate the documentroot
|
// calculate the documentroot
|
||||||
OC::$DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']);
|
OC::$DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']);
|
||||||
OC::$SERVERROOT=str_replace("\\",'/',substr(__FILE__,0,-13));
|
OC::$SERVERROOT=str_replace("\\",'/',substr(__FILE__,0,-13));
|
||||||
|
|
|
@ -96,6 +96,12 @@ class OC_Helper {
|
||||||
* Returns the path to the image of this file type.
|
* Returns the path to the image of this file type.
|
||||||
*/
|
*/
|
||||||
public static function mimetypeIcon( $mimetype ){
|
public static function mimetypeIcon( $mimetype ){
|
||||||
|
$alias=array('application/xml'=>'code/xml');
|
||||||
|
// echo $mimetype;
|
||||||
|
if(isset($alias[$mimetype])){
|
||||||
|
$mimetype=$alias[$mimetype];
|
||||||
|
// echo $mimetype;
|
||||||
|
}
|
||||||
// Replace slash with a minus
|
// Replace slash with a minus
|
||||||
$mimetype = str_replace( "/", "-", $mimetype );
|
$mimetype = str_replace( "/", "-", $mimetype );
|
||||||
|
|
||||||
|
|
|
@ -273,6 +273,10 @@ class OC_Setup {
|
||||||
$content.= "php_value post_max_size 512M\n";
|
$content.= "php_value post_max_size 512M\n";
|
||||||
$content.= "SetEnv htaccessWorking true\n";
|
$content.= "SetEnv htaccessWorking true\n";
|
||||||
$content.= "</IfModule>\n";
|
$content.= "</IfModule>\n";
|
||||||
|
$content.= "<IfModule !mod_php5.c>\n";
|
||||||
|
$content.= "RewriteEngine on\n";
|
||||||
|
$content.= "RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]\n";
|
||||||
|
$content.= "</IfModule>\n";
|
||||||
$content.= "Options -Indexes\n";
|
$content.= "Options -Indexes\n";
|
||||||
@file_put_contents(OC::$SERVERROOT.'/.htaccess', $content); //supress errors in case we don't have permissions for it
|
@file_put_contents(OC::$SERVERROOT.'/.htaccess', $content); //supress errors in case we don't have permissions for it
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ class OC_Util {
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public static function getVersion(){
|
public static function getVersion(){
|
||||||
return array(1,92,0);
|
return array(2,90,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,7 +98,7 @@ class OC_Util {
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function getVersionString(){
|
public static function getVersionString(){
|
||||||
return '2 beta 3';
|
return '3 alpha 1';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -271,9 +271,8 @@ class OC_Util {
|
||||||
* Try to get the username the httpd server runs on, used in hints
|
* Try to get the username the httpd server runs on, used in hints
|
||||||
*/
|
*/
|
||||||
public static function checkWebserverUser(){
|
public static function checkWebserverUser(){
|
||||||
$stat=stat($_SERVER['DOCUMENT_ROOT']);
|
if(is_callable('posix_getuid')){
|
||||||
if(is_callable('posix_getpwuid')){
|
$serverUser=posix_getpwuid(posix_getuid());
|
||||||
$serverUser=posix_getpwuid($stat['uid']);
|
|
||||||
$serverUser='\''.$serverUser['name'].'\'';
|
$serverUser='\''.$serverUser['name'].'\'';
|
||||||
}elseif(exec('whoami')){
|
}elseif(exec('whoami')){
|
||||||
$serverUser=exec('whoami');
|
$serverUser=exec('whoami');
|
||||||
|
|
|
@ -21,7 +21,7 @@ return array(
|
||||||
'ms_MY'=>'Bahasa Melayu',
|
'ms_MY'=>'Bahasa Melayu',
|
||||||
'nb_NO'=>'Norwegian Bokmål',
|
'nb_NO'=>'Norwegian Bokmål',
|
||||||
'nl'=>'Nederlands',
|
'nl'=>'Nederlands',
|
||||||
'pl'=>'język polski',
|
'pl'=>'Polski',
|
||||||
'pt_BR'=>'Português brasileiro',
|
'pt_BR'=>'Português brasileiro',
|
||||||
'pt_PT'=>'Português',
|
'pt_PT'=>'Português',
|
||||||
'ro'=>'română',
|
'ro'=>'română',
|
||||||
|
|
Loading…
Reference in New Issue