fix merge conflicts
This commit is contained in:
commit
6e6f90a8a2
|
@ -9,12 +9,17 @@ OC::$CLASSPATH['OC_Calendar_Repeat'] = 'apps/calendar/lib/repeat.php';
|
||||||
OC::$CLASSPATH['OC_Calendar_Share'] = 'apps/calendar/lib/share.php';
|
OC::$CLASSPATH['OC_Calendar_Share'] = 'apps/calendar/lib/share.php';
|
||||||
OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php';
|
OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php';
|
||||||
OC::$CLASSPATH['OC_Calendar_Export'] = 'apps/calendar/lib/export.php';
|
OC::$CLASSPATH['OC_Calendar_Export'] = 'apps/calendar/lib/export.php';
|
||||||
|
//General Hooks
|
||||||
OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
|
OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
|
||||||
|
//Repeating Events Hooks
|
||||||
OCP\Util::connectHook('OC_Calendar', 'addEvent', 'OC_Calendar_Repeat', 'generate');
|
OCP\Util::connectHook('OC_Calendar', 'addEvent', 'OC_Calendar_Repeat', 'generate');
|
||||||
OCP\Util::connectHook('OC_Calendar', 'editEvent', 'OC_Calendar_Repeat', 'update');
|
OCP\Util::connectHook('OC_Calendar', 'editEvent', 'OC_Calendar_Repeat', 'update');
|
||||||
OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Repeat', 'clean');
|
OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Repeat', 'clean');
|
||||||
OCP\Util::connectHook('OC_Calendar', 'moveEvent', 'OC_Calendar_Repeat', 'update');
|
OCP\Util::connectHook('OC_Calendar', 'moveEvent', 'OC_Calendar_Repeat', 'update');
|
||||||
OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Repeat', 'cleanCalendar');
|
OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Repeat', 'cleanCalendar');
|
||||||
|
//Sharing Hooks
|
||||||
|
OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Share', 'post_eventdelete');
|
||||||
|
OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Share', 'post_caldelete');
|
||||||
OCP\Util::addscript('calendar','loader');
|
OCP\Util::addscript('calendar','loader');
|
||||||
OCP\Util::addscript("3rdparty", "chosen/chosen.jquery.min");
|
OCP\Util::addscript("3rdparty", "chosen/chosen.jquery.min");
|
||||||
OCP\Util::addStyle("3rdparty", "chosen/chosen");
|
OCP\Util::addStyle("3rdparty", "chosen/chosen");
|
||||||
|
|
|
@ -44,7 +44,7 @@ Calendar_Import={
|
||||||
$('#newcalendar').attr('readonly', 'readonly');
|
$('#newcalendar').attr('readonly', 'readonly');
|
||||||
$('#calendar').attr('disabled', 'disabled');
|
$('#calendar').attr('disabled', 'disabled');
|
||||||
var progresskey = $('#progresskey').val();
|
var progresskey = $('#progresskey').val();
|
||||||
$.post(OC.filePath('calendar', 'ajax/import', 'import.php') + '?progresskey='+progresskey, {method: String (method), calname: String (calname), path: String (path), file: String (filename), id: String (calid)}, function(data){
|
$.post(OC.filePath('calendar', 'ajax/import', 'import.php'), {progresskey: progresskey, method: String (method), calname: String (calname), path: String (path), file: String (filename), id: String (calid)}, function(data){
|
||||||
if(data.status == 'success'){
|
if(data.status == 'success'){
|
||||||
$('#progressbar').progressbar('option', 'value', 100);
|
$('#progressbar').progressbar('option', 'value', 100);
|
||||||
$('#import_done').css('display', 'block');
|
$('#import_done').css('display', 'block');
|
||||||
|
|
|
@ -368,12 +368,14 @@ class OC_Calendar_App{
|
||||||
* @return (array) $output - readable output
|
* @return (array) $output - readable output
|
||||||
*/
|
*/
|
||||||
public static function generateEventOutput($event, $start, $end){
|
public static function generateEventOutput($event, $start, $end){
|
||||||
if(isset($event['calendardata'])){
|
if(!isset($event['calendardata']) && !isset($event['vevent'])){
|
||||||
$object = OC_VObject::parse($event['calendardata']);
|
return false;
|
||||||
$vevent = $object->VEVENT;
|
|
||||||
}else{
|
|
||||||
$vevent = $event['vevent'];
|
|
||||||
}
|
}
|
||||||
|
if(!isset($event['calendardata']) && isset($event['vevent'])){
|
||||||
|
$event['calendardata'] = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud's Internal iCal System\n" . $event['vevent']->serialize() . "END:VCALENDAR";
|
||||||
|
}
|
||||||
|
$object = OC_VObject::parse($event['calendardata']);
|
||||||
|
$vevent = $object->VEVENT;
|
||||||
$return = array();
|
$return = array();
|
||||||
$id = $event['id'];
|
$id = $event['id'];
|
||||||
$allday = ($vevent->DTSTART->getDateType() == Sabre_VObject_Element_DateTime::DATE)?true:false;
|
$allday = ($vevent->DTSTART->getDateType() == Sabre_VObject_Element_DateTime::DATE)?true:false;
|
||||||
|
@ -404,7 +406,7 @@ class OC_Calendar_App{
|
||||||
$return[] = array_merge($staticoutput, $dynamicoutput);
|
$return[] = array_merge($staticoutput, $dynamicoutput);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(OC_Calendar_Object::isrepeating($id)){
|
if(OC_Calendar_Object::isrepeating($id) || $event['repeating'] == 1){
|
||||||
$object->expand($start, $end);
|
$object->expand($start, $end);
|
||||||
}
|
}
|
||||||
foreach($object->getComponents() as $singleevent){
|
foreach($object->getComponents() as $singleevent){
|
||||||
|
@ -412,7 +414,7 @@ class OC_Calendar_App{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$dynamicoutput = OC_Calendar_Object::generateStartEndDate($singleevent->DTSTART, OC_Calendar_Object::getDTEndFromVEvent($singleevent), $allday, self::$tz);
|
$dynamicoutput = OC_Calendar_Object::generateStartEndDate($singleevent->DTSTART, OC_Calendar_Object::getDTEndFromVEvent($singleevent), $allday, self::$tz);
|
||||||
$return[] = array_merge($staticoutput, $dynamicoutput);
|
$return[] = array_merge($staticoutput, $dynamicoutput);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $return;
|
return $return;
|
||||||
|
|
|
@ -258,7 +258,7 @@ class OC_Calendar_Share{
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @brief delete all shared calendars / events after a user was deleted
|
* @brief deletes all shared calendars / events after a user was deleted
|
||||||
* @param (string) $userid
|
* @param (string) $userid
|
||||||
* @return (bool)
|
* @return (bool)
|
||||||
*/
|
*/
|
||||||
|
@ -273,4 +273,26 @@ class OC_Calendar_Share{
|
||||||
$stmt->execute(array($userid));
|
$stmt->execute(array($userid));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @brief deletes all shared events of a calendar
|
||||||
|
* @param integer $calid
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public static function post_caldelete($calid){
|
||||||
|
$stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_calendar WHERE calendarid = ?');
|
||||||
|
$stmt->execute(array($calid));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @brief deletes all shares of an event
|
||||||
|
* @param integer $eventid
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public static function post_eventdelete($eventid){
|
||||||
|
$stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_event WHERE eventid = ?');
|
||||||
|
$stmt->execute(array($eventid));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1621,19 +1621,21 @@ Contacts={
|
||||||
var contactlist = $('#contacts ul[data-id="'+b+'"]');
|
var contactlist = $('#contacts ul[data-id="'+b+'"]');
|
||||||
for(var c in book.contacts) {
|
for(var c in book.contacts) {
|
||||||
if(book.contacts[c].id == undefined) { continue; }
|
if(book.contacts[c].id == undefined) { continue; }
|
||||||
var contact = Contacts.UI.Card.createEntry(book.contacts[c]);
|
if($('#contacts li[data-id="'+book.contacts[c]['id']+'"][data-id="'+book.contacts[c]['bookid']+'"]').length == 0) {
|
||||||
if(c == self.batchnum-5) {
|
var contact = Contacts.UI.Card.createEntry(book.contacts[c]);
|
||||||
contact.bind('inview', function(event, isInView, visiblePartX, visiblePartY) {
|
if(c == self.batchnum-5) {
|
||||||
$(this).unbind(event);
|
contact.bind('inview', function(event, isInView, visiblePartX, visiblePartY) {
|
||||||
var bookid = $(this).data('bookid');
|
$(this).unbind(event);
|
||||||
var numsiblings = $('.contacts li[data-bookid="'+bookid+'"]').length;
|
var bookid = $(this).data('bookid');
|
||||||
if (isInView && numsiblings >= self.batchnum) {
|
var numsiblings = $('.contacts li[data-bookid="'+bookid+'"]').length;
|
||||||
console.log('This would be a good time to load more contacts.');
|
if (isInView && numsiblings >= self.batchnum) {
|
||||||
Contacts.UI.Contacts.update(id, bookid, $('#contacts li[data-bookid="'+bookid+'"]').length);
|
console.log('This would be a good time to load more contacts.');
|
||||||
}
|
Contacts.UI.Contacts.update(id, bookid, $('#contacts li[data-bookid="'+bookid+'"]').length);
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
contactlist.append(contact);
|
||||||
}
|
}
|
||||||
contactlist.append(contact);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if($('#contacts h3').length > 1) {
|
if($('#contacts h3').length > 1) {
|
||||||
|
|
|
@ -90,9 +90,10 @@ class OC_Contacts_Hooks{
|
||||||
if ($birthday) {
|
if ($birthday) {
|
||||||
$date = new DateTime($birthday);
|
$date = new DateTime($birthday);
|
||||||
$vevent = new OC_VObject('VEVENT');
|
$vevent = new OC_VObject('VEVENT');
|
||||||
$vevent->setDateTime('LAST-MODIFIED', new DateTime($vcard->REV));
|
//$vevent->setDateTime('LAST-MODIFIED', new DateTime($vcard->REV));
|
||||||
$vevent->setDateTime('DTSTART', $date, Sabre_VObject_Element_DateTime::DATE);
|
$vevent->setDateTime('DTSTART', $date, Sabre_VObject_Element_DateTime::DATE);
|
||||||
$vevent->setString('DURATION', 'P1D');
|
$vevent->setString('DURATION', 'P1D');
|
||||||
|
$vevent->setString('UID', substr(md5(rand().time()),0,10));
|
||||||
// DESCRIPTION?
|
// DESCRIPTION?
|
||||||
$vevent->setString('RRULE', 'FREQ=YEARLY');
|
$vevent->setString('RRULE', 'FREQ=YEARLY');
|
||||||
$title = str_replace('{name}', $vcard->getAsString('FN'), OC_Contacts_App::$l10n->t('{name}\'s Birthday'));
|
$title = str_replace('{name}', $vcard->getAsString('FN'), OC_Contacts_App::$l10n->t('{name}\'s Birthday'));
|
||||||
|
@ -101,6 +102,7 @@ class OC_Contacts_Hooks{
|
||||||
'vevent' => $vevent,
|
'vevent' => $vevent,
|
||||||
'repeating' => true,
|
'repeating' => true,
|
||||||
'summary' => $title,
|
'summary' => $title,
|
||||||
|
'calendardata' => "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud Contacts " . OCP\App::getAppVersion('contacts') . "\n" . $vevent->serialize() . "END:VCALENDAR"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -451,7 +451,7 @@ $(document).ready(function() {
|
||||||
$(this).append(input);
|
$(this).append(input);
|
||||||
input.focus();
|
input.focus();
|
||||||
input.change(function(){
|
input.change(function(){
|
||||||
var name=$(this).val();
|
var name=getUniqueName($(this).val());
|
||||||
if(type != 'web' && name.indexOf('/')!=-1){
|
if(type != 'web' && name.indexOf('/')!=-1){
|
||||||
$('#notification').text(t('files','Invalid name, \'/\' is not allowed.'));
|
$('#notification').text(t('files','Invalid name, \'/\' is not allowed.'));
|
||||||
$('#notification').fadeIn();
|
$('#notification').fadeIn();
|
||||||
|
@ -496,6 +496,7 @@ $(document).ready(function() {
|
||||||
}else{//or the domain
|
}else{//or the domain
|
||||||
localName=(localName.match(/:\/\/(.[^/]+)/)[1]).replace('www.','');
|
localName=(localName.match(/:\/\/(.[^/]+)/)[1]).replace('www.','');
|
||||||
}
|
}
|
||||||
|
localName = getUniqueName(localName);
|
||||||
$.post(
|
$.post(
|
||||||
OC.filePath('files','ajax','newfile.php'),
|
OC.filePath('files','ajax','newfile.php'),
|
||||||
{dir:$('#dir').val(),source:name,filename:localName},
|
{dir:$('#dir').val(),source:name,filename:localName},
|
||||||
|
@ -737,7 +738,10 @@ getMimeIcon.cache={};
|
||||||
function getUniqueName(name){
|
function getUniqueName(name){
|
||||||
if($('tr').filterAttr('data-file',name).length>0){
|
if($('tr').filterAttr('data-file',name).length>0){
|
||||||
var parts=name.split('.');
|
var parts=name.split('.');
|
||||||
var extension=parts.pop();
|
var extension = "";
|
||||||
|
if (parts.length > 1) {
|
||||||
|
extension=parts.pop();
|
||||||
|
}
|
||||||
var base=parts.join('.');
|
var base=parts.join('.');
|
||||||
numMatch=base.match(/\((\d+)\)/);
|
numMatch=base.match(/\((\d+)\)/);
|
||||||
var num=2;
|
var num=2;
|
||||||
|
@ -747,7 +751,10 @@ function getUniqueName(name){
|
||||||
base.pop();
|
base.pop();
|
||||||
base=base.join('(').trim();
|
base=base.join('(').trim();
|
||||||
}
|
}
|
||||||
name=base+' ('+num+').'+extension;
|
name=base+' ('+num+')';
|
||||||
|
if (extension) {
|
||||||
|
name = name+'.'+extension;
|
||||||
|
}
|
||||||
return getUniqueName(name);
|
return getUniqueName(name);
|
||||||
}
|
}
|
||||||
return name;
|
return name;
|
||||||
|
|
|
@ -11,6 +11,8 @@ class Test_CryptProxy extends UnitTestCase {
|
||||||
private $oldKey;
|
private $oldKey;
|
||||||
|
|
||||||
public function setUp(){
|
public function setUp(){
|
||||||
|
$user=OC_User::getUser();
|
||||||
|
|
||||||
$this->oldConfig=OCP\Config::getAppValue('files_encryption','enable_encryption','true');
|
$this->oldConfig=OCP\Config::getAppValue('files_encryption','enable_encryption','true');
|
||||||
OCP\Config::setAppValue('files_encryption','enable_encryption','true');
|
OCP\Config::setAppValue('files_encryption','enable_encryption','true');
|
||||||
$this->oldKey=isset($_SESSION['enckey'])?$_SESSION['enckey']:null;
|
$this->oldKey=isset($_SESSION['enckey'])?$_SESSION['enckey']:null;
|
||||||
|
@ -30,10 +32,12 @@ class Test_CryptProxy extends UnitTestCase {
|
||||||
OC_Filesystem::clearMounts();
|
OC_Filesystem::clearMounts();
|
||||||
OC_Filesystem::mount('OC_Filestorage_Temporary',array(),'/');
|
OC_Filesystem::mount('OC_Filestorage_Temporary',array(),'/');
|
||||||
|
|
||||||
|
OC_Filesystem::init('/'.$user.'/files');
|
||||||
|
|
||||||
//set up the users home folder in the temp storage
|
//set up the users home folder in the temp storage
|
||||||
$rootView=new OC_FilesystemView('');
|
$rootView=new OC_FilesystemView('');
|
||||||
$rootView->mkdir('/'.OC_User::getUser());
|
$rootView->mkdir('/'.$user);
|
||||||
$rootView->mkdir('/'.OC_User::getUser().'/files');
|
$rootView->mkdir('/'.$user.'/files');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function tearDown(){
|
public function tearDown(){
|
||||||
|
|
|
@ -23,7 +23,6 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ OC.MountConfig={
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (addMountPoint) {
|
if (addMountPoint) {
|
||||||
if ($('#externalStorage').data('admin')) {
|
if ($('#externalStorage').data('admin') === true) {
|
||||||
var isPersonal = false;
|
var isPersonal = false;
|
||||||
var multiselect = $(tr).find('.chzn-select').val();
|
var multiselect = $(tr).find('.chzn-select').val();
|
||||||
var oldGroups = $(tr).find('.applicable').data('applicable-groups');
|
var oldGroups = $(tr).find('.applicable').data('applicable-groups');
|
||||||
|
@ -73,7 +73,8 @@ $(document).ready(function() {
|
||||||
|
|
||||||
$('#selectBackend').live('change', function() {
|
$('#selectBackend').live('change', function() {
|
||||||
var tr = $(this).parent().parent();
|
var tr = $(this).parent().parent();
|
||||||
$('#externalStorage tbody').last().append($(tr).clone());
|
$('#externalStorage tbody').append($(tr).clone());
|
||||||
|
$('#externalStorage tbody tr').last().find('.mountPoint input').val('');
|
||||||
var selected = $(this).find('option:selected').text();
|
var selected = $(this).find('option:selected').text();
|
||||||
var backendClass = $(this).val();
|
var backendClass = $(this).val();
|
||||||
$(this).parent().text(selected);
|
$(this).parent().text(selected);
|
||||||
|
@ -103,6 +104,7 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
$('.chz-select').chosen();
|
$('.chz-select').chosen();
|
||||||
$(tr).find('td').last().attr('class', 'remove');
|
$(tr).find('td').last().attr('class', 'remove');
|
||||||
|
$(tr).find('td').last().removeAttr('style');
|
||||||
$(tr).removeAttr('id');
|
$(tr).removeAttr('id');
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
});
|
});
|
||||||
|
@ -117,7 +119,7 @@ $(document).ready(function() {
|
||||||
if (mountPoint == '') {
|
if (mountPoint == '') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ($('#externalStorage').data('admin')) {
|
if ($('#externalStorage').data('admin') === true) {
|
||||||
var isPersonal = false;
|
var isPersonal = false;
|
||||||
var multiselect = $(tr).find('.chzn-select').val();
|
var multiselect = $(tr).find('.chzn-select').val();
|
||||||
$.each(multiselect, function(index, value) {
|
$.each(multiselect, function(index, value) {
|
||||||
|
|
|
@ -20,10 +20,14 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
|
||||||
private static $tempFiles=array();
|
private static $tempFiles=array();
|
||||||
|
|
||||||
public function __construct($params){
|
public function __construct($params){
|
||||||
$this->host=$params['host'];
|
$host = $params['host'];
|
||||||
|
//remove leading http[s], will be generated in createBaseUri()
|
||||||
|
if (substr($host,0,8) == "https://") $host = substr($host, 8);
|
||||||
|
else if (substr($host,0,7) == "http://") $host = substr($host, 7);
|
||||||
|
$this->host=$host;
|
||||||
$this->user=$params['user'];
|
$this->user=$params['user'];
|
||||||
$this->password=$params['password'];
|
$this->password=$params['password'];
|
||||||
$this->secure=isset($params['secure'])?(bool)$params['secure']:false;
|
$this->secure=(isset($params['secure']) && $params['secure'] == 'true')?true:false;
|
||||||
$this->root=isset($params['root'])?$params['root']:'/';
|
$this->root=isset($params['root'])?$params['root']:'/';
|
||||||
if(!$this->root || $this->root[0]!='/'){
|
if(!$this->root || $this->root[0]!='/'){
|
||||||
$this->root='/'.$this->root;
|
$this->root='/'.$this->root;
|
||||||
|
@ -46,7 +50,7 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
|
||||||
private function createBaseUri(){
|
private function createBaseUri(){
|
||||||
$baseUri='http';
|
$baseUri='http';
|
||||||
if($this->secure){
|
if($this->secure){
|
||||||
$baseUri.'s';
|
$baseUri.='s';
|
||||||
}
|
}
|
||||||
$baseUri.='://'.$this->host.$this->root;
|
$baseUri.='://'.$this->host.$this->root;
|
||||||
return $baseUri;
|
return $baseUri;
|
||||||
|
@ -69,13 +73,15 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
|
||||||
$stripLength=strlen($this->root)+strlen($path);
|
$stripLength=strlen($this->root)+strlen($path);
|
||||||
$id=md5('webdav'.$this->root.$path);
|
$id=md5('webdav'.$this->root.$path);
|
||||||
OC_FakeDirStream::$dirs[$id]=array();
|
OC_FakeDirStream::$dirs[$id]=array();
|
||||||
|
$skip = true;
|
||||||
foreach($response as $file=>$data){
|
foreach($response as $file=>$data){
|
||||||
//strip root and path
|
// Skip the first file, because it is the current directory
|
||||||
$file=trim(substr($file,$stripLength));
|
if ($skip) {
|
||||||
$file=trim($file,'/');
|
$skip = false;
|
||||||
if($file){
|
continue;
|
||||||
OC_FakeDirStream::$dirs[$id][]=$file;
|
|
||||||
}
|
}
|
||||||
|
$file = urldecode(basename($file));
|
||||||
|
OC_FakeDirStream::$dirs[$id][]=$file;
|
||||||
}
|
}
|
||||||
return opendir('fakedir://'.$id);
|
return opendir('fakedir://'.$id);
|
||||||
}catch(Exception $e){
|
}catch(Exception $e){
|
||||||
|
@ -240,15 +246,11 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
|
||||||
$path=$this->cleanPath($path);
|
$path=$this->cleanPath($path);
|
||||||
try{
|
try{
|
||||||
$response=$this->client->propfind($path, array('{DAV:}getlastmodified','{DAV:}getcontentlength'));
|
$response=$this->client->propfind($path, array('{DAV:}getlastmodified','{DAV:}getcontentlength'));
|
||||||
if(isset($response['{DAV:}getlastmodified']) and isset($response['{DAV:}getcontentlength'])){
|
return array(
|
||||||
return array(
|
'mtime'=>strtotime($response['{DAV:}getlastmodified']),
|
||||||
'mtime'=>strtotime($response['{DAV:}getlastmodified']),
|
'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0,
|
||||||
'size'=>(int)$response['{DAV:}getcontentlength'],
|
'ctime'=>-1,
|
||||||
'ctime'=>-1,
|
);
|
||||||
);
|
|
||||||
}else{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
}catch(Exception $e){
|
}catch(Exception $e){
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ $backends = OC_Mount_Config::getBackends();
|
||||||
// Remove local storage
|
// Remove local storage
|
||||||
unset($backends['OC_Filestorage_Local']);
|
unset($backends['OC_Filestorage_Local']);
|
||||||
$tmpl = new OCP\Template('files_external', 'settings');
|
$tmpl = new OCP\Template('files_external', 'settings');
|
||||||
$tmpl->assign('isAdminPage', false);
|
$tmpl->assign('isAdminPage', false, false);
|
||||||
$tmpl->assign('mounts', OC_Mount_Config::getPersonalMountPoints());
|
$tmpl->assign('mounts', OC_Mount_Config::getPersonalMountPoints());
|
||||||
$tmpl->assign('backends', $backends);
|
$tmpl->assign('backends', $backends);
|
||||||
return $tmpl->fetchPage();
|
return $tmpl->fetchPage();
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
OCP\Util::addScript('files_external', 'settings');
|
OCP\Util::addScript('files_external', 'settings');
|
||||||
OCP\Util::addStyle('files_external', 'settings');
|
OCP\Util::addStyle('files_external', 'settings');
|
||||||
$tmpl = new OCP\Template('files_external', 'settings');
|
$tmpl = new OCP\Template('files_external', 'settings');
|
||||||
$tmpl->assign('isAdminPage', true);
|
$tmpl->assign('isAdminPage', true, false);
|
||||||
$tmpl->assign('mounts', OC_Mount_Config::getSystemMountPoints());
|
$tmpl->assign('mounts', OC_Mount_Config::getSystemMountPoints());
|
||||||
$tmpl->assign('backends', OC_Mount_Config::getBackends());
|
$tmpl->assign('backends', OC_Mount_Config::getBackends());
|
||||||
$tmpl->assign('groups', OC_Group::getGroups());
|
$tmpl->assign('groups', OC_Group::getGroups());
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<form id="files_external">
|
<form id="files_external">
|
||||||
<fieldset class="personalblock">
|
<fieldset class="personalblock">
|
||||||
<legend><strong><?php echo $l->t('External Storage'); ?></strong></legend>
|
<legend><strong><?php echo $l->t('External Storage'); ?></strong></legend>
|
||||||
<table id="externalStorage" data-admin="<?php echo json_encode($_['isAdminPage']); ?>">
|
<table id="externalStorage" data-admin='<?php echo json_encode($_['isAdminPage']); ?>'>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th><?php echo $l->t('Mount point'); ?></th>
|
<th><?php echo $l->t('Mount point'); ?></th>
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
<?php elseif(strpos($placeholder, '!') !== false): ?>
|
<?php elseif(strpos($placeholder, '!') !== false): ?>
|
||||||
<label><input type="checkbox" data-parameter="<?php echo $parameter; ?>" <?php if ($value == 'true') echo ' checked="checked"'; ?> /><?php echo substr($placeholder, 1); ?></label>
|
<label><input type="checkbox" data-parameter="<?php echo $parameter; ?>" <?php if ($value == 'true') echo ' checked="checked"'; ?> /><?php echo substr($placeholder, 1); ?></label>
|
||||||
<?php elseif (strpos($placeholder, '&') !== false): ?>
|
<?php elseif (strpos($placeholder, '&') !== false): ?>
|
||||||
<input type="text" class="optional" data-parameter="<?php echo $parameter; ?>" value="<?php echo $value; ?>" placeholder="<?php echo substr($placeholder, 1); ?>" />
|
<input type="text" class="optional" data-parameter="<?php echo $parameter; ?>" value="<?php echo $value; ?>" placeholder="<?php echo substr($placeholder, 5); ?>" />
|
||||||
<?php elseif (strpos($placeholder, '#') !== false): ?>
|
<?php elseif (strpos($placeholder, '#') !== false): ?>
|
||||||
<input type="hidden" data-parameter="<?php echo $parameter; ?>" value="<?php echo $value; ?>" />
|
<input type="hidden" data-parameter="<?php echo $parameter; ?>" value="<?php echo $value; ?>" />
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<td <?php if ($mountPoint != '') echo 'class="remove"'; ?>><img alt="<?php echo $l->t('Delete'); ?>" title="<?php echo $l->t('Delete'); ?>" class="svg action" src="<?php echo image_path('core', 'actions/delete.svg'); ?>" /></td>
|
<td <?php echo ($mountPoint != '') ? 'class="remove"' : 'style="visibility:hidden;"'; ?>><img alt="<?php echo $l->t('Delete'); ?>" title="<?php echo $l->t('Delete'); ?>" class="svg action" src="<?php echo image_path('core', 'actions/delete.svg'); ?>" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
@ -4,6 +4,7 @@ namespace OC\Pictures;
|
||||||
|
|
||||||
class DatabaseManager {
|
class DatabaseManager {
|
||||||
private static $instance = null;
|
private static $instance = null;
|
||||||
|
protected $cache = array();
|
||||||
const TAG = 'DatabaseManager';
|
const TAG = 'DatabaseManager';
|
||||||
|
|
||||||
public static function getInstance() {
|
public static function getInstance() {
|
||||||
|
@ -12,13 +13,27 @@ class DatabaseManager {
|
||||||
return self::$instance;
|
return self::$instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getPathData($path) {
|
||||||
|
$stmt = \OCP\DB::prepare('SELECT * FROM *PREFIX*pictures_images_cache
|
||||||
|
WHERE uid_owner LIKE ? AND path like ? AND path not like ?');
|
||||||
|
$path_match = $path.'/%';
|
||||||
|
$path_notmatch = $path.'/%/%';
|
||||||
|
$result = $stmt->execute(array(\OCP\USER::getUser(), $path_match, $path_notmatch));
|
||||||
|
$this->cache[$path] = array();
|
||||||
|
while (($row = $result->fetchRow()) != false) {
|
||||||
|
$this->cache[$path][$row['path']] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function getFileData($path) {
|
public function getFileData($path) {
|
||||||
$gallery_path = \OCP\Config::getSystemValue( 'datadirectory' ).'/'.\OC_User::getUser().'/gallery';
|
$gallery_path = \OCP\Config::getSystemValue( 'datadirectory' ).'/'.\OC_User::getUser().'/gallery';
|
||||||
$path = $gallery_path.$path;
|
$path = $gallery_path.$path;
|
||||||
$stmt = \OCP\DB::prepare('SELECT * FROM *PREFIX*pictures_images_cache WHERE uid_owner LIKE ? AND path = ?');
|
$dir = dirname($path);
|
||||||
$result = $stmt->execute(array(\OCP\USER::getUser(), $path));
|
if (!isset($this->cache[$dir])) {
|
||||||
if (($row = $result->fetchRow()) != false) {
|
$this->getPathData($dir);
|
||||||
return $row;
|
}
|
||||||
|
if (isset($this->cache[$dir][$path])) {
|
||||||
|
return $this->cache[$dir][$path];
|
||||||
}
|
}
|
||||||
$image = new \OC_Image();
|
$image = new \OC_Image();
|
||||||
if (!$image->loadFromFile($path)) {
|
if (!$image->loadFromFile($path)) {
|
||||||
|
@ -28,6 +43,7 @@ class DatabaseManager {
|
||||||
$stmt->execute(array(\OCP\USER::getUser(), $path, $image->width(), $image->height()));
|
$stmt->execute(array(\OCP\USER::getUser(), $path, $image->width(), $image->height()));
|
||||||
$ret = array('path' => $path, 'width' => $image->width(), 'height' => $image->height());
|
$ret = array('path' => $path, 'width' => $image->width(), 'height' => $image->height());
|
||||||
unset($image);
|
unset($image);
|
||||||
|
$this->cache[$dir][$path] = $ret;
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ OC_User::useBackend('openid');
|
||||||
//check for results from openid requests
|
//check for results from openid requests
|
||||||
if(isset($_GET['openid_mode']) and $_GET['openid_mode'] == 'id_res'){
|
if(isset($_GET['openid_mode']) and $_GET['openid_mode'] == 'id_res'){
|
||||||
OCP\Util::writeLog('user_openid','openid retured',OCP\Util::DEBUG);
|
OCP\Util::writeLog('user_openid','openid retured',OCP\Util::DEBUG);
|
||||||
$openid = new SimpleOpenID;
|
$openid = new SimpleOpenID();
|
||||||
$openid->SetIdentity($_GET['openid_identity']);
|
$openid->SetIdentity($_GET['openid_identity']);
|
||||||
$openid_validation_result = $openid->ValidateWithServer();
|
$openid_validation_result = $openid->ValidateWithServer();
|
||||||
if ($openid_validation_result == true){ // OK HERE KEY IS VALID
|
if ($openid_validation_result == true){ // OK HERE KEY IS VALID
|
||||||
|
@ -50,5 +50,3 @@ if(isset($_GET['openid_mode']) and $_GET['openid_mode'] == 'id_res'){
|
||||||
OCP\Util::writeLog('user_openid','USER CANCELED REQUEST',OCP\Util::DEBUG);
|
OCP\Util::writeLog('user_openid','USER CANCELED REQUEST',OCP\Util::DEBUG);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0.1.1
|
0.1.2
|
||||||
|
|
|
@ -324,5 +324,3 @@ class SimpleOpenID{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
|
@ -37,7 +37,7 @@ class OC_USER_OPENID extends OC_User_Backend {
|
||||||
*/
|
*/
|
||||||
public function checkPassword( $uid, $password ){
|
public function checkPassword( $uid, $password ){
|
||||||
// Get identity from user and redirect browser to OpenID Server
|
// Get identity from user and redirect browser to OpenID Server
|
||||||
$openid = new SimpleOpenID;
|
$openid = new SimpleOpenID();
|
||||||
$openid->SetIdentity($uid);
|
$openid->SetIdentity($uid);
|
||||||
$openid->SetTrustRoot('http://' . OCP\Util::getServerHost());
|
$openid->SetTrustRoot('http://' . OCP\Util::getServerHost());
|
||||||
if ($openid->GetOpenIDServer()){
|
if ($openid->GetOpenIDServer()){
|
||||||
|
@ -63,7 +63,3 @@ class OC_USER_OPENID extends OC_User_Backend {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
button.click(function(event){
|
button.click(function(event){
|
||||||
|
|
||||||
var button=$(this);
|
var button=$(this);
|
||||||
if(button.parent().children('ul').length>0){
|
if(button.parent().children('ul').length>0){
|
||||||
button.parent().children('ul').slideUp(400,function(){
|
button.parent().children('ul').slideUp(400,function(){
|
||||||
|
@ -128,19 +129,30 @@
|
||||||
if(event.keyCode == 13) {
|
if(event.keyCode == 13) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
var value = $(this).val();
|
||||||
|
var exists = false;
|
||||||
|
$.each(options,function(index, item) {
|
||||||
|
if ($(item).val() == value) {
|
||||||
|
exists = true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (exists) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
var li=$(this).parent();
|
var li=$(this).parent();
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
li.text('+ '+settings.createText);
|
li.text('+ '+settings.createText);
|
||||||
li.before(createItem(this));
|
li.before(createItem(this));
|
||||||
var select=button.parent().next();
|
var select=button.parent().next();
|
||||||
var option=$('<option selected="selected"/>');
|
var option=$('<option selected="selected"/>');
|
||||||
option.attr('value',$(this).val());
|
option.attr('value',value);
|
||||||
option.text($(this).val());
|
option.text($(this).val());
|
||||||
select.append(options);
|
select.append(option);
|
||||||
li.prev().children('input').trigger('click');
|
li.prev().children('input').trigger('click');
|
||||||
button.parent().data('preventHide',false);
|
button.parent().data('preventHide',false);
|
||||||
if(settings.createCallback){
|
if(settings.createCallback){
|
||||||
settings.createCallback();
|
settings.createCallback($(this).val());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -350,9 +350,13 @@ class OC_App{
|
||||||
|
|
||||||
|
|
||||||
protected static function findAppInDirectories($appid) {
|
protected static function findAppInDirectories($appid) {
|
||||||
|
static $app_dir = array();
|
||||||
|
if (isset($app_dir[$appid])) {
|
||||||
|
return $app_dir[$appid];
|
||||||
|
}
|
||||||
foreach(OC::$APPSROOTS as $dir) {
|
foreach(OC::$APPSROOTS as $dir) {
|
||||||
if(file_exists($dir['path'].'/'.$appid)) {
|
if(file_exists($dir['path'].'/'.$appid)) {
|
||||||
return $dir;
|
return $app_dir[$appid]=$dir;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -569,7 +573,7 @@ class OC_App{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the installed version of all papps
|
* get the installed version of all apps
|
||||||
*/
|
*/
|
||||||
public static function getAppVersions(){
|
public static function getAppVersions(){
|
||||||
static $versions;
|
static $versions;
|
||||||
|
|
|
@ -167,10 +167,12 @@ class OC_Files {
|
||||||
* @param file $target
|
* @param file $target
|
||||||
*/
|
*/
|
||||||
public static function move($sourceDir,$source,$targetDir,$target){
|
public static function move($sourceDir,$source,$targetDir,$target){
|
||||||
if(OC_User::isLoggedIn() && ($sourceDir != '' || $source != 'Shared')){
|
if(OC_User::isLoggedIn() && ($sourceDir != '' || $source != 'Shared') && !OC_Filesystem::file_exists($targetDir.'/'.$target)){
|
||||||
$targetFile=self::normalizePath($targetDir.'/'.$target);
|
$targetFile=self::normalizePath($targetDir.'/'.$target);
|
||||||
$sourceFile=self::normalizePath($sourceDir.'/'.$source);
|
$sourceFile=self::normalizePath($sourceDir.'/'.$source);
|
||||||
return OC_Filesystem::rename($sourceFile,$targetFile);
|
return OC_Filesystem::rename($sourceFile,$targetFile);
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,13 +38,10 @@ class OC_Helper {
|
||||||
*/
|
*/
|
||||||
public static function linkTo( $app, $file ){
|
public static function linkTo( $app, $file ){
|
||||||
if( $app != '' ){
|
if( $app != '' ){
|
||||||
$app .= '/';
|
$app_path = OC_App::getAppPath($app);
|
||||||
// Check if the app is in the app folder
|
// Check if the app is in the app folder
|
||||||
if( file_exists( OC_App::getAppPath($app).'/'.$file )){
|
if( $app_path && file_exists( $app_path.'/'.$file )){
|
||||||
if(substr($file, -3) == 'php' || substr($file, -3) == 'css'){
|
if(substr($file, -3) == 'php' || substr($file, -3) == 'css'){
|
||||||
if(substr($app, -1, 1) == '/'){
|
|
||||||
$app = substr($app, 0, strlen($app) - 1);
|
|
||||||
}
|
|
||||||
$urlLinkTo = OC::$WEBROOT . '/?app=' . $app;
|
$urlLinkTo = OC::$WEBROOT . '/?app=' . $app;
|
||||||
$urlLinkTo .= ($file!='index.php')?'&getfile=' . urlencode($file):'';
|
$urlLinkTo .= ($file!='index.php')?'&getfile=' . urlencode($file):'';
|
||||||
}else{
|
}else{
|
||||||
|
@ -52,7 +49,7 @@ class OC_Helper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$urlLinkTo = OC::$WEBROOT . '/' . $app . $file;
|
$urlLinkTo = OC::$WEBROOT . '/' . $app . '/' . $file;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
|
@ -285,13 +285,23 @@ class OC_Setup {
|
||||||
//we cant use OC_BD functions here because we need to connect as the administrative user.
|
//we cant use OC_BD functions here because we need to connect as the administrative user.
|
||||||
$e_name = pg_escape_string($name);
|
$e_name = pg_escape_string($name);
|
||||||
$e_user = pg_escape_string($user);
|
$e_user = pg_escape_string($user);
|
||||||
$query = "CREATE DATABASE \"$e_name\" OWNER \"$e_user\"";
|
$query = "select datname from pg_database where datname = '$e_name'";
|
||||||
$result = pg_query($connection, $query);
|
$result = pg_query($connection, $query);
|
||||||
if(!$result) {
|
if(!$result) {
|
||||||
$entry='DB Error: "'.pg_last_error($connection).'"<br />';
|
$entry='DB Error: "'.pg_last_error($connection).'"<br />';
|
||||||
$entry.='Offending command was: '.$query.'<br />';
|
$entry.='Offending command was: '.$query.'<br />';
|
||||||
echo($entry);
|
echo($entry);
|
||||||
}
|
}
|
||||||
|
if(! pg_fetch_row($result)) {
|
||||||
|
//The database does not exists... let's create it
|
||||||
|
$query = "CREATE DATABASE \"$e_name\" OWNER \"$e_user\"";
|
||||||
|
$result = pg_query($connection, $query);
|
||||||
|
if(!$result) {
|
||||||
|
$entry='DB Error: "'.pg_last_error($connection).'"<br />';
|
||||||
|
$entry.='Offending command was: '.$query.'<br />';
|
||||||
|
echo($entry);
|
||||||
|
}
|
||||||
|
}
|
||||||
$query = "REVOKE ALL PRIVILEGES ON DATABASE \"$e_name\" FROM PUBLIC";
|
$query = "REVOKE ALL PRIVILEGES ON DATABASE \"$e_name\" FROM PUBLIC";
|
||||||
$result = pg_query($connection, $query);
|
$result = pg_query($connection, $query);
|
||||||
}
|
}
|
||||||
|
@ -299,13 +309,33 @@ class OC_Setup {
|
||||||
private static function pg_createDBUser($name,$password,$connection) {
|
private static function pg_createDBUser($name,$password,$connection) {
|
||||||
$e_name = pg_escape_string($name);
|
$e_name = pg_escape_string($name);
|
||||||
$e_password = pg_escape_string($password);
|
$e_password = pg_escape_string($password);
|
||||||
$query = "CREATE USER \"$e_name\" CREATEDB PASSWORD '$e_password';";
|
$query = "select * from pg_roles where rolname='$e_name';";
|
||||||
$result = pg_query($connection, $query);
|
$result = pg_query($connection, $query);
|
||||||
if(!$result) {
|
if(!$result) {
|
||||||
$entry='DB Error: "'.pg_last_error($connection).'"<br />';
|
$entry='DB Error: "'.pg_last_error($connection).'"<br />';
|
||||||
$entry.='Offending command was: '.$query.'<br />';
|
$entry.='Offending command was: '.$query.'<br />';
|
||||||
echo($entry);
|
echo($entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(! pg_fetch_row($result)) {
|
||||||
|
//user does not exists let's create it :)
|
||||||
|
$query = "CREATE USER \"$e_name\" CREATEDB PASSWORD '$e_password';";
|
||||||
|
$result = pg_query($connection, $query);
|
||||||
|
if(!$result) {
|
||||||
|
$entry='DB Error: "'.pg_last_error($connection).'"<br />';
|
||||||
|
$entry.='Offending command was: '.$query.'<br />';
|
||||||
|
echo($entry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else { // change password of the existing role
|
||||||
|
$query = "ALTER ROLE \"$e_name\" WITH PASSWORD '$e_password';";
|
||||||
|
$result = pg_query($connection, $query);
|
||||||
|
if(!$result) {
|
||||||
|
$entry='DB Error: "'.pg_last_error($connection).'"<br />';
|
||||||
|
$entry.='Offending command was: '.$query.'<br />';
|
||||||
|
echo($entry);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -40,7 +40,15 @@ $(document).ready(function(){
|
||||||
}else{
|
}else{
|
||||||
checkHandeler=false;
|
checkHandeler=false;
|
||||||
}
|
}
|
||||||
|
var addGroup = function(group) {
|
||||||
|
$('select[multiple]').each(function(index, element) {
|
||||||
|
if ($(element).find('option[value="'+group +'"]').length == 0) {
|
||||||
|
$(element).append('<option value="'+group+'">'+group+'</option>');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};
|
||||||
element.multiSelect({
|
element.multiSelect({
|
||||||
|
createCallback:addGroup,
|
||||||
createText:'add group',
|
createText:'add group',
|
||||||
checked:checked,
|
checked:checked,
|
||||||
oncheck:checkHandeler,
|
oncheck:checkHandeler,
|
||||||
|
|
|
@ -54,3 +54,10 @@ if(!$_['htaccessworking']) {
|
||||||
</table>
|
</table>
|
||||||
<input id='moreLog' type='button' value='<?php echo $l->t('More');?>...'></input>
|
<input id='moreLog' type='button' value='<?php echo $l->t('More');?>...'></input>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
|
||||||
|
<p class="personalblock">
|
||||||
|
<strong>ownCloud</strong> <?php echo(OC_Util::getVersionString()); ?> <?php echo(OC_Util::getEditionString()); ?> (<?php echo(OC_Updater::ShowUpdatingHint()); ?>)<br />
|
||||||
|
Developed by the <a href="http://ownCloud.org/contact" target="_blank">ownCloud community</a>, the <a href="http://gitorious.org/owncloud" target="_blank">source code</a> is licensed under the <a href="http://www.gnu.org/licenses/agpl-3.0.html" target="_blank"><abbr title="Affero General Public License">AGPL</abbr></a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
|
@ -55,10 +55,5 @@
|
||||||
echo $form;
|
echo $form;
|
||||||
};?>
|
};?>
|
||||||
|
|
||||||
<p class="personalblock">
|
|
||||||
<strong>ownCloud</strong> <?php echo(OC_Util::getVersionString()); ?> <?php echo(OC_Util::getEditionString()); ?> (<?php echo(OC_Updater::ShowUpdatingHint()); ?>)<br />
|
|
||||||
Developed by the <a href="http://ownCloud.org/contact" target="_blank">ownCloud community</a>, the <a href="http://gitorious.org/owncloud" target="_blank">source code</a> is freely licensed under the <a href="http://www.gnu.org/licenses/agpl-3.0.html" target="_blank"><abbr title="Affero General Public License">AGPL</abbr></a>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,26 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class Test_Cache_File extends Test_Cache {
|
class Test_Cache_File extends Test_Cache {
|
||||||
|
function skip() {
|
||||||
|
$this->skipUnless(OC_User::isLoggedIn());
|
||||||
|
}
|
||||||
|
|
||||||
public function setUp(){
|
public function setUp(){
|
||||||
|
//clear all proxies and hooks so we can do clean testing
|
||||||
|
OC_FileProxy::clearProxies();
|
||||||
|
OC_Hook::clear('OC_Filesystem');
|
||||||
|
|
||||||
|
//enable only the encryption hook
|
||||||
|
OC_FileProxy::register(new OC_FileProxy_Encryption());
|
||||||
|
|
||||||
|
//set up temporary storage
|
||||||
|
OC_Filesystem::clearMounts();
|
||||||
|
OC_Filesystem::mount('OC_Filestorage_Temporary',array(),'/');
|
||||||
|
|
||||||
|
//set up the users dir
|
||||||
|
$rootView=new OC_FilesystemView('');
|
||||||
|
$rootView->mkdir('/'.OC_User::getUser());
|
||||||
|
|
||||||
$this->instance=new OC_Cache_File();
|
$this->instance=new OC_Cache_File();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,4 +28,8 @@ class Test_Cache_XCache extends Test_Cache {
|
||||||
public function setUp(){
|
public function setUp(){
|
||||||
$this->instance=new OC_Cache_XCache();
|
$this->instance=new OC_Cache_XCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testTTL(){
|
||||||
|
// ttl doesn't work correctly in the same request
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue