Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
die_coolen_jungs
our_own_cloud_project
Commits
5db932d1
Commit
5db932d1
authored
Mar 27, 2015
by
Thomas Müller
Browse files
Merge pull request #15261 from owncloud/fix-14268-master
use StreamResponse to download the log file
parents
98bc1ad7
b5545932
Changes
3
Hide whitespace changes
Inline
Side-by-side
settings/application.php
View file @
5db932d1
...
@@ -114,8 +114,7 @@ class Application extends App {
...
@@ -114,8 +114,7 @@ class Application extends App {
$c
->
query
(
'AppName'
),
$c
->
query
(
'AppName'
),
$c
->
query
(
'Request'
),
$c
->
query
(
'Request'
),
$c
->
query
(
'Config'
),
$c
->
query
(
'Config'
),
$c
->
query
(
'L10N'
),
$c
->
query
(
'L10N'
)
$c
->
query
(
'TimeFactory'
)
);
);
});
});
...
...
settings/controller/logsettingscontroller.php
View file @
5db932d1
...
@@ -25,9 +25,8 @@ namespace OC\Settings\Controller;
...
@@ -25,9 +25,8 @@ namespace OC\Settings\Controller;
use
OCP\AppFramework\Controller
;
use
OCP\AppFramework\Controller
;
use
OCP\AppFramework\Http
;
use
OCP\AppFramework\Http
;
use
OCP\AppFramework\Http\JSONResponse
;
use
OCP\AppFramework\Http\JSONResponse
;
use
OCP\AppFramework\Http\
DataDownload
Response
;
use
OCP\AppFramework\Http\
Stream
Response
;
use
OCP\IL10N
;
use
OCP\IL10N
;
use
OCP\AppFramework\Utility\ITimeFactory
;
use
OCP\IRequest
;
use
OCP\IRequest
;
use
OCP\IConfig
;
use
OCP\IConfig
;
...
@@ -47,11 +46,6 @@ class LogSettingsController extends Controller {
...
@@ -47,11 +46,6 @@ class LogSettingsController extends Controller {
*/
*/
private
$l10n
;
private
$l10n
;
/**
* @var \OCP\ITimeFactory
*/
private
$timefactory
;
/**
/**
* @param string $appName
* @param string $appName
* @param IRequest $request
* @param IRequest $request
...
@@ -60,13 +54,10 @@ class LogSettingsController extends Controller {
...
@@ -60,13 +54,10 @@ class LogSettingsController extends Controller {
public
function
__construct
(
$appName
,
public
function
__construct
(
$appName
,
IRequest
$request
,
IRequest
$request
,
IConfig
$config
,
IConfig
$config
,
IL10N
$l10n
,
IL10N
$l10n
)
{
ITimeFactory
$timeFactory
)
{
parent
::
__construct
(
$appName
,
$request
);
parent
::
__construct
(
$appName
,
$request
);
$this
->
config
=
$config
;
$this
->
config
=
$config
;
$this
->
l10n
=
$l10n
;
$this
->
l10n
=
$l10n
;
$this
->
timefactory
=
$timeFactory
;
}
}
/**
/**
...
@@ -107,32 +98,11 @@ class LogSettingsController extends Controller {
...
@@ -107,32 +98,11 @@ class LogSettingsController extends Controller {
*
*
* @NoCSRFRequired
* @NoCSRFRequired
*
*
* @return
DataDownload
Response
* @return
Stream
Response
*/
*/
public
function
download
()
{
public
function
download
()
{
return
new
DataDownloadResponse
(
$resp
=
new
StreamResponse
(
\
OC_Log_Owncloud
::
getLogFilePath
());
json_encode
(
\
OC_Log_Owncloud
::
getEntries
(
null
,
null
)),
$resp
->
addHeader
(
'Content-Disposition'
,
'attachment; filename="owncloud.log"'
);
$this
->
getFilenameForDownload
(),
return
$resp
;
'application/json'
);
}
/**
* get filename for the logfile that's being downloaded
*
* @param int $timestamp (defaults to time())
* @return string
*/
private
function
getFilenameForDownload
(
$timestamp
=
null
)
{
$instanceId
=
$this
->
config
->
getSystemValue
(
'instanceid'
);
$filename
=
implode
([
'ownCloud'
,
$instanceId
,
(
!
is_null
(
$timestamp
))
?
$timestamp
:
$this
->
timefactory
->
getTime
()
],
'-'
);
$filename
.
=
'.log'
;
return
$filename
;
}
}
}
}
tests/settings/controller/logsettingscontrollertest.php
View file @
5db932d1
...
@@ -66,15 +66,9 @@ class LogSettingsControllerTest extends \Test\TestCase {
...
@@ -66,15 +66,9 @@ class LogSettingsControllerTest extends \Test\TestCase {
];
];
}
}
public
function
testGetFilenameForDownload
()
{
public
function
testDownload
()
{
$timestamp
=
42
;
$response
=
$this
->
logSettingsController
->
download
();
$this
->
container
[
'Config'
]
->
expects
(
$this
->
once
())
->
method
(
'getSystemValue'
)
->
with
(
'instanceid'
)
->
will
(
$this
->
returnValue
(
'0xF'
));
$filename
=
\
Test_Helper
::
invokePrivate
(
$this
->
logSettingsController
,
'getFilenameForDownload'
,
[
$timestamp
]);
$this
->
assert
Same
(
'ownCloud-0xF-42.log'
,
$filenam
e
);
$this
->
assert
InstanceOf
(
'\OCP\AppFramework\Http\StreamResponse'
,
$respons
e
);
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment