port oc_response

This commit is contained in:
Frank Karlitschek 2012-05-03 10:46:27 +02:00
parent 80dff77b65
commit 351740601a
12 changed files with 131 additions and 25 deletions

View File

@ -334,8 +334,8 @@ class OC_Calendar_App{
$calendar_id = $_GET['calendar_id'];
if (is_numeric($calendar_id)) {
$calendar = self::getCalendar($calendar_id);
OC_Response::enableCaching(0);
OC_Response::setETagHeader($calendar['ctag']);
OCP\Response::enableCaching(0);
OCP\Response::setETagHeader($calendar['ctag']);
$events = OC_Calendar_Object::allInPeriod($calendar_id, $start, $end);
} else {
OC_Hook::emit('OC_Calendar', 'getEvents', array('calendar_id' => $calendar_id, 'events' => &$events));

View File

@ -176,7 +176,7 @@ class OC_Contacts_App {
$rev = $contact->getAsString('REV');
if ($rev) {
$rev = DateTime::createFromFormat(DateTime::W3C, $rev);
OC_Response::setLastModifiedHeader($rev);
OCP\Response::setLastModifiedHeader($rev);
}
}
}

View File

@ -14,9 +14,9 @@ OCP\User::checkLoggedIn();
OCP\App::checkAppEnabled('contacts');
function getStandardImage(){
OC_Response::setExpiresHeader('P10D');
OC_Response::enableCaching();
OC_Response::redirect(OCP\Util::imagePath('contacts', 'person_large.png'));
OCP\Response::setExpiresHeader('P10D');
OCP\Response::enableCaching();
OCP\Response::redirect(OCP\Util::imagePath('contacts', 'person_large.png'));
}
$id = isset($_GET['id']) ? $_GET['id'] : null;
@ -35,19 +35,19 @@ if(!$image) {
if( is_null($contact)) {
OCP\Util::writeLog('contacts','photo.php. The VCard for ID '.$id.' is not RFC compatible',OCP\Util::ERROR);
} else {
OC_Response::enableCaching($caching);
OCP\Response::enableCaching($caching);
OC_Contacts_App::setLastModifiedHeader($contact);
// Photo :-)
if($image->loadFromBase64($contact->getAsString('PHOTO'))) {
// OK
OC_Response::setETagHeader(md5($contact->getAsString('PHOTO')));
OCP\Response::setETagHeader(md5($contact->getAsString('PHOTO')));
}
else
// Logo :-/
if($image->loadFromBase64($contact->getAsString('LOGO'))) {
// OK
OC_Response::setETagHeader(md5($contact->getAsString('LOGO')));
OCP\Response::setETagHeader(md5($contact->getAsString('LOGO')));
}
if ($image->valid()) {
$max_size = 200;

View File

@ -27,9 +27,9 @@ OC_JSON::checkLoggedIn();
OCP\App::checkAppEnabled('contacts');
function getStandardImage(){
OC_Response::setExpiresHeader('P10D');
OC_Response::enableCaching();
OC_Response::redirect(OCP\Util::imagePath('contacts', 'person.png'));
OCP\Response::setExpiresHeader('P10D');
OCP\Response::enableCaching();
OCP\Response::redirect(OCP\Util::imagePath('contacts', 'person.png'));
}
if(!function_exists('imagecreatefromjpeg')) {
@ -49,7 +49,7 @@ if(is_null($contact)){
getStandardImage();
exit();
}
OC_Response::enableCaching($caching);
OCP\Response::enableCaching($caching);
OC_Contacts_App::setLastModifiedHeader($contact);
$thumbnail_size = 23;
@ -58,7 +58,7 @@ $thumbnail_size = 23;
$image = new OC_Image();
$photo = $contact->getAsString('PHOTO');
if($photo) {
OC_Response::setETagHeader(md5($photo));
OCP\Response::setETagHeader(md5($photo));
if($image->loadFromBase64($photo)) {
if($image->centerCrop()) {

View File

@ -41,7 +41,7 @@ $ftype=OC_Filesystem::getMimeType( $filename );
header('Content-Type:'.$ftype);
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
OC_Response::disableCaching();
OCP\Response::disableCaching();
header('Content-Length: '.OC_Filesystem::filesize($filename));
@ob_end_clean();

View File

@ -68,7 +68,7 @@ if ($source !== false) {
//get time mimetype and set the headers
$mimetype = OC_Filesystem::getMimeType($source);
header("Content-Transfer-Encoding: binary");
OC_Response::disableCaching();
OCP\Response::disableCaching();
header('Content-Disposition: filename="'.basename($source).'"');
header("Content-Type: " . $mimetype);
header("Content-Length: " . OC_Filesystem::filesize($source));

View File

@ -41,10 +41,10 @@ function handleRemove($name) {
}
function handleGetThumbnails($albumname) {
OC_Response::enableCaching(3600 * 24); // 24 hour
OCP\Response::enableCaching(3600 * 24); // 24 hour
$thumbnail = OC::$CONFIG_DATADIRECTORY.'/../gallery/'.urldecode($albumname).'.png';
header('Content-Type: '.OC_Image::getMimeTypeForFile($thumbnail));
OC_Response::sendFile($thumbnail);
OCP\Response::sendFile($thumbnail);
}
function handleGalleryScanning() {

View File

@ -72,7 +72,7 @@ function handleGetThumbnail($token, $imgpath) {
$owner = OC_Gallery_Sharing::getTokenOwner($token);
$image = OC_Gallery_Photo::getThumbnail($imgpath, $owner);
if ($image) {
OC_Response::enableCaching(3600 * 24); // 24 hour
OCP\Response::enableCaching(3600 * 24); // 24 hour
$image->show();
}
}
@ -86,7 +86,7 @@ function handleGetAlbumThumbnail($token, $albumname)
$image->centerCrop();
$image->resize(200);
$image->fixOrientation();
OC_Response::enableCaching(3600 * 24); // 24 hour
OCP\Response::enableCaching(3600 * 24); // 24 hour
$image->show();
}
}
@ -95,7 +95,7 @@ function handleGetPhoto($token, $photo) {
$owner = OC_Gallery_Sharing::getTokenOwner($token);
$file = OCP\Config::getSystemValue( "datadirectory", OC::$SERVERROOT."/data" ).'/'.$owner.'/files'.urldecode($photo);
header('Content-Type: '.OC_Image::getMimeTypeForFile($file));
OC_Response::sendFile($file);
OCP\Response::sendFile($file);
}
switch ($operation) {

2
apps/gallery/ajax/thumbnail.php Normal file → Executable file
View File

@ -29,6 +29,6 @@ $img = $_GET['img'];
$image = OC_Gallery_Photo::getThumbnail($img);
if ($image) {
OC_Response::enableCaching(3600 * 24); // 24 hour
OCP\Response::enableCaching(3600 * 24); // 24 hour
$image->show();
}

View File

@ -110,11 +110,11 @@ if($arguments['action']){
OC_MEDIA_COLLECTION::registerPlay($songId);
header('Content-Type:'.$ftype);
OC_Response::enableCaching(3600 * 24); // 24 hour
OCP\Response::enableCaching(3600 * 24); // 24 hour
header('Accept-Ranges: bytes');
header('Content-Length: '.OC_Filesystem::filesize($arguments['path']));
$mtime = OC_Filesystem::filemtime($arguments['path']);
OC_Response::setLastModifiedHeader($mtime);
OCP\Response::setLastModifiedHeader($mtime);
OC_Filesystem::readfile($arguments['path']);
exit;

View File

@ -43,7 +43,7 @@ if(isset($_POST['play']) and $_POST['play']=='true'){
$song=OC_MEDIA_COLLECTION::getSong($_POST['song']);
$ftype=OC_Filesystem::getMimeType( $song['song_path'] );
header('Content-Type:'.$ftype);
OC_Response::disableCaching();
OCP\Response::disableCaching();
header('Content-Length: '.OC_Filesystem::filesize($song['song_path']));
OC_Filesystem::readfile($song['song_path']);

106
lib/public/response.php Normal file
View File

@ -0,0 +1,106 @@
<?php
/**
* ownCloud
*
* @author Frank Karlitschek
* @copyright 2010 Frank Karlitschek karlitschek@kde.org
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Public interface of ownCloud for apps to use.
* Response Class.
*
*/
// use OCP namespace for all classes that are considered public.
// This means that they should be used by apps instead of the internal ownCloud classes
namespace OCP;
class Response {
/**
* @brief Enable response caching by sending correct HTTP headers
* @param $cache_time time to cache the response
* >0 cache time in seconds
* 0 and <0 enable default browser caching
* null cache indefinitly
*/
static public function enableCaching($cache_time = null) {
return(\OC_Response::enableCaching($cache_time));
}
/**
* Checks and set Last-Modified header, when the request matches sends a
* 'not modified' response
* @param $lastModified time when the reponse was last modified
*/
static public function setLastModifiedHeader($lastModified) {
return(\OC_Response::setLastModifiedHeader($lastModified));
}
/**
* @brief disable browser caching
* @see enableCaching with cache_time = 0
*/
static public function disableCaching() {
return(\OC_Response::disableCaching());
}
/**
* Checks and set ETag header, when the request matches sends a
* 'not modified' response
* @param $etag token to use for modification check
*/
static public function setETagHeader($etag) {
return(\OC_Response::setETagHeader($etag));
}
/**
* @brief Send file as response, checking and setting caching headers
* @param $filepath of file to send
*/
static public function sendFile($filepath) {
return(\OC_Response::sendFile($filepath));
}
/**
* @brief Set reponse expire time
* @param $expires date-time when the response expires
* string for DateInterval from now
* DateTime object when to expire response
*/
static public function setExpiresHeader($expires) {
return(\OC_Response::setExpiresHeader($expires));
}
/**
* @brief Send redirect response
* @param $location to redirect to
*/
static public function redirect($location) {
return(\OC_Response::redirect($location));
}
}
?>