Merge branch 'master' of github.com:owncloud/core into vcategories_db
This commit is contained in:
commit
268a48479d
|
@ -219,8 +219,11 @@ $(document).ready(function() {
|
||||||
$( '#uploadsize-message' ).dialog({
|
$( '#uploadsize-message' ).dialog({
|
||||||
modal: true,
|
modal: true,
|
||||||
buttons: {
|
buttons: {
|
||||||
Close: function() {
|
Close: {
|
||||||
$( this ).dialog( 'close' );
|
text:t('files', 'Close'),
|
||||||
|
click:function() {
|
||||||
|
$( this ).dialog( 'close' );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -79,7 +79,13 @@ abstract class Access {
|
||||||
if(isset($result[$attr]) && $result[$attr]['count'] > 0) {
|
if(isset($result[$attr]) && $result[$attr]['count'] > 0) {
|
||||||
$values = array();
|
$values = array();
|
||||||
for($i=0;$i<$result[$attr]['count'];$i++) {
|
for($i=0;$i<$result[$attr]['count'];$i++) {
|
||||||
$values[] = $this->resemblesDN($attr) ? $this->sanitizeDN($result[$attr][$i]) : $result[$attr][$i];
|
if($this->resemblesDN($attr)) {
|
||||||
|
$values[] = $this->sanitizeDN($result[$attr][$i]);
|
||||||
|
} elseif(strtolower($attr) == 'objectguid') {
|
||||||
|
$values[] = $this->convertObjectGUID2Str($result[$attr][$i]);
|
||||||
|
} else {
|
||||||
|
$values[] = $result[$attr][$i];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $values;
|
return $values;
|
||||||
}
|
}
|
||||||
|
@ -729,6 +735,34 @@ abstract class Access {
|
||||||
return $uuid;
|
return $uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief converts a binary ObjectGUID into a string representation
|
||||||
|
* @param $oguid the ObjectGUID in it's binary form as retrieved from AD
|
||||||
|
* @returns String
|
||||||
|
*
|
||||||
|
* converts a binary ObjectGUID into a string representation
|
||||||
|
* http://www.php.net/manual/en/function.ldap-get-values-len.php#73198
|
||||||
|
*/
|
||||||
|
private function convertObjectGUID2Str($oguid) {
|
||||||
|
$hex_guid = bin2hex($oguid);
|
||||||
|
$hex_guid_to_guid_str = '';
|
||||||
|
for($k = 1; $k <= 4; ++$k) {
|
||||||
|
$hex_guid_to_guid_str .= substr($hex_guid, 8 - 2 * $k, 2);
|
||||||
|
}
|
||||||
|
$hex_guid_to_guid_str .= '-';
|
||||||
|
for($k = 1; $k <= 2; ++$k) {
|
||||||
|
$hex_guid_to_guid_str .= substr($hex_guid, 12 - 2 * $k, 2);
|
||||||
|
}
|
||||||
|
$hex_guid_to_guid_str .= '-';
|
||||||
|
for($k = 1; $k <= 2; ++$k) {
|
||||||
|
$hex_guid_to_guid_str .= substr($hex_guid, 16 - 2 * $k, 2);
|
||||||
|
}
|
||||||
|
$hex_guid_to_guid_str .= '-' . substr($hex_guid, 16, 4);
|
||||||
|
$hex_guid_to_guid_str .= '-' . substr($hex_guid, 20);
|
||||||
|
|
||||||
|
return strtoupper($hex_guid_to_guid_str);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief get a cookie for the next LDAP paged search
|
* @brief get a cookie for the next LDAP paged search
|
||||||
* @param $filter the search filter to identify the correct search
|
* @param $filter the search filter to identify the correct search
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// Check for autosetup:
|
||||||
|
$autosetup_file = OC::$SERVERROOT."/config/autoconfig.php";
|
||||||
|
if( file_exists( $autosetup_file )) {
|
||||||
|
OC_Log::write('core', 'Autoconfig file found, setting up owncloud...', OC_Log::INFO);
|
||||||
|
include $autosetup_file;
|
||||||
|
$_POST['install'] = 'true';
|
||||||
|
$_POST = array_merge ($_POST, $AUTOCONFIG);
|
||||||
|
unlink($autosetup_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
OC_Util::addScript('setup');
|
||||||
|
|
||||||
|
$hasSQLite = (is_callable('sqlite_open') or class_exists('SQLite3'));
|
||||||
|
$hasMySQL = is_callable('mysql_connect');
|
||||||
|
$hasPostgreSQL = is_callable('pg_connect');
|
||||||
|
$hasOracle = is_callable('oci_connect');
|
||||||
|
$datadir = OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data');
|
||||||
|
|
||||||
|
// Test if .htaccess is working
|
||||||
|
$content = "deny from all";
|
||||||
|
file_put_contents(OC::$SERVERROOT.'/data/.htaccess', $content);
|
||||||
|
|
||||||
|
$opts = array(
|
||||||
|
'hasSQLite' => $hasSQLite,
|
||||||
|
'hasMySQL' => $hasMySQL,
|
||||||
|
'hasPostgreSQL' => $hasPostgreSQL,
|
||||||
|
'hasOracle' => $hasOracle,
|
||||||
|
'directory' => $datadir,
|
||||||
|
'secureRNG' => OC_Util::secureRNG_available(),
|
||||||
|
'htaccessWorking' => OC_Util::ishtaccessworking(),
|
||||||
|
'errors' => array(),
|
||||||
|
);
|
||||||
|
|
||||||
|
if(isset($_POST['install']) AND $_POST['install']=='true') {
|
||||||
|
// We have to launch the installation process :
|
||||||
|
$e = OC_Setup::install($_POST);
|
||||||
|
$errors = array('errors' => $e);
|
||||||
|
|
||||||
|
if(count($e) > 0) {
|
||||||
|
//OC_Template::printGuestPage("", "error", array("errors" => $errors));
|
||||||
|
$options = array_merge($_POST, $opts, $errors);
|
||||||
|
OC_Template::printGuestPage("", "installation", $options);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
header("Location: ".OC::$WEBROOT.'/');
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
OC_Template::printGuestPage("", "installation", $opts);
|
||||||
|
}
|
16
lib/base.php
16
lib/base.php
|
@ -227,9 +227,7 @@ class OC{
|
||||||
if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
|
if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
|
||||||
if(!OC_Util::ishtaccessworking()) {
|
if(!OC_Util::ishtaccessworking()) {
|
||||||
if(!file_exists(OC::$SERVERROOT.'/data/.htaccess')) {
|
if(!file_exists(OC::$SERVERROOT.'/data/.htaccess')) {
|
||||||
$content = "deny from all\n";
|
OC_Setup::protectDataDirectory();
|
||||||
$content.= "IndexIgnore *";
|
|
||||||
file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -481,17 +479,7 @@ class OC{
|
||||||
*/
|
*/
|
||||||
public static function handleRequest() {
|
public static function handleRequest() {
|
||||||
if (!OC_Config::getValue('installed', false)) {
|
if (!OC_Config::getValue('installed', false)) {
|
||||||
// Check for autosetup:
|
require_once 'core/setup.php';
|
||||||
$autosetup_file = OC::$SERVERROOT."/config/autoconfig.php";
|
|
||||||
if( file_exists( $autosetup_file )) {
|
|
||||||
OC_Log::write('core', 'Autoconfig file found, setting up owncloud...', OC_Log::INFO);
|
|
||||||
include $autosetup_file;
|
|
||||||
$_POST['install'] = 'true';
|
|
||||||
$_POST = array_merge ($_POST, $AUTOCONFIG);
|
|
||||||
unlink($autosetup_file);
|
|
||||||
}
|
|
||||||
OC_Util::addScript('setup');
|
|
||||||
require_once 'setup.php';
|
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
// Handle WebDAV
|
// Handle WebDAV
|
||||||
|
|
|
@ -548,7 +548,7 @@ class Share {
|
||||||
$itemTypes = $collectionTypes;
|
$itemTypes = $collectionTypes;
|
||||||
}
|
}
|
||||||
$placeholders = join(',', array_fill(0, count($itemTypes), '?'));
|
$placeholders = join(',', array_fill(0, count($itemTypes), '?'));
|
||||||
$where .= ' WHERE item_type IN ('.$placeholders.'))';
|
$where .= ' WHERE `item_type` IN ('.$placeholders.'))';
|
||||||
$queryArgs = $itemTypes;
|
$queryArgs = $itemTypes;
|
||||||
} else {
|
} else {
|
||||||
$where = ' WHERE `item_type` = ?';
|
$where = ' WHERE `item_type` = ?';
|
||||||
|
@ -625,7 +625,7 @@ class Share {
|
||||||
$queryArgs[] = $item;
|
$queryArgs[] = $item;
|
||||||
if ($includeCollections && $collectionTypes) {
|
if ($includeCollections && $collectionTypes) {
|
||||||
$placeholders = join(',', array_fill(0, count($collectionTypes), '?'));
|
$placeholders = join(',', array_fill(0, count($collectionTypes), '?'));
|
||||||
$where .= ' OR item_type IN ('.$placeholders.'))';
|
$where .= ' OR `item_type` IN ('.$placeholders.'))';
|
||||||
$queryArgs = array_merge($queryArgs, $collectionTypes);
|
$queryArgs = array_merge($queryArgs, $collectionTypes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -673,6 +673,9 @@ class Share {
|
||||||
$root = strlen($root);
|
$root = strlen($root);
|
||||||
$query = \OC_DB::prepare('SELECT '.$select.' FROM `*PREFIX*share` '.$where, $queryLimit);
|
$query = \OC_DB::prepare('SELECT '.$select.' FROM `*PREFIX*share` '.$where, $queryLimit);
|
||||||
$result = $query->execute($queryArgs);
|
$result = $query->execute($queryArgs);
|
||||||
|
if (\OC_DB::isError($result)) {
|
||||||
|
\OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result) . ', select=' . $select . ' where=' . $where, \OC_Log::ERROR);
|
||||||
|
}
|
||||||
$items = array();
|
$items = array();
|
||||||
$targets = array();
|
$targets = array();
|
||||||
while ($row = $result->fetchRow()) {
|
while ($row = $result->fetchRow()) {
|
||||||
|
|
|
@ -1,45 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$hasSQLite = (is_callable('sqlite_open') or class_exists('SQLite3'));
|
|
||||||
$hasMySQL = is_callable('mysql_connect');
|
|
||||||
$hasPostgreSQL = is_callable('pg_connect');
|
|
||||||
$hasOracle = is_callable('oci_connect');
|
|
||||||
$datadir = OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data');
|
|
||||||
|
|
||||||
// Test if .htaccess is working
|
|
||||||
$content = "deny from all";
|
|
||||||
file_put_contents(OC::$SERVERROOT.'/data/.htaccess', $content);
|
|
||||||
|
|
||||||
$opts = array(
|
|
||||||
'hasSQLite' => $hasSQLite,
|
|
||||||
'hasMySQL' => $hasMySQL,
|
|
||||||
'hasPostgreSQL' => $hasPostgreSQL,
|
|
||||||
'hasOracle' => $hasOracle,
|
|
||||||
'directory' => $datadir,
|
|
||||||
'secureRNG' => OC_Util::secureRNG_available(),
|
|
||||||
'htaccessWorking' => OC_Util::ishtaccessworking(),
|
|
||||||
'errors' => array(),
|
|
||||||
);
|
|
||||||
|
|
||||||
if(isset($_POST['install']) AND $_POST['install']=='true') {
|
|
||||||
// We have to launch the installation process :
|
|
||||||
$e = OC_Setup::install($_POST);
|
|
||||||
$errors = array('errors' => $e);
|
|
||||||
|
|
||||||
if(count($e) > 0) {
|
|
||||||
//OC_Template::printGuestPage("", "error", array("errors" => $errors));
|
|
||||||
$options = array_merge($_POST, $opts, $errors);
|
|
||||||
OC_Template::printGuestPage("", "installation", $options);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
header("Location: ".OC::$WEBROOT.'/');
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
OC_Template::printGuestPage("", "installation", $opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
class OC_Setup {
|
class OC_Setup {
|
||||||
public static function install($options) {
|
public static function install($options) {
|
||||||
$error = array();
|
$error = array();
|
||||||
|
@ -607,6 +567,10 @@ class OC_Setup {
|
||||||
$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
|
||||||
|
|
||||||
|
self::protectDataDirectory();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function protectDataDirectory() {
|
||||||
$content = "deny from all\n";
|
$content = "deny from all\n";
|
||||||
$content.= "IndexIgnore *";
|
$content.= "IndexIgnore *";
|
||||||
file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content);
|
file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content);
|
||||||
|
|
|
@ -16,7 +16,10 @@ var UserList={
|
||||||
* finishDelete() completes the process. This allows for 'undo'.
|
* finishDelete() completes the process. This allows for 'undo'.
|
||||||
*/
|
*/
|
||||||
do_delete:function( uid ) {
|
do_delete:function( uid ) {
|
||||||
|
if (typeof UserList.deleteUid !== 'undefined') {
|
||||||
|
//Already a user in the undo queue
|
||||||
|
UserList.finishDelete(null);
|
||||||
|
}
|
||||||
UserList.deleteUid = uid;
|
UserList.deleteUid = uid;
|
||||||
|
|
||||||
// Set undo flag
|
// Set undo flag
|
||||||
|
|
Loading…
Reference in New Issue