Contacts: Temporary files weren't deleted if crop window was closed without saving.

This commit is contained in:
Thomas Tanghus 2012-06-04 12:52:04 +02:00
parent 59bbf0acee
commit 855f404e5c
3 changed files with 59 additions and 6 deletions

View file

@ -0,0 +1,41 @@
<?php
/**
* ownCloud - Addressbook
*
* @author Thomas Tanghus
* @copyright 2012 Thomas Tanghus <thomas@tanghus.net>
*
* 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/>.
*
* TODO: Translatable strings.
* Remember to delete tmp file at some point.
*/
// Check if we are a user
OCP\JSON::checkLoggedIn();
OCP\JSON::checkAppEnabled('contacts');
$tmp_path = isset($_POST['tmp_path']) ? $_POST['tmp_path'] : '';
// give some time to save the photo
sleep(5);
if($tmp_path != '' && file_exists($tmp_path)) {
unlink($tmp_path);
OCP\JSON::success();
exit();
} else {
error_log('Couldn\'t find: '.$tmp_path);
OCP\JSON::error();
}
?>

View file

@ -19,12 +19,7 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
* TODO: Translatable strings.
* Remember to delete tmp file at some point.
*/
// Init owncloud
OCP\Util::writeLog('contacts','ajax/savecrop.php: Huzzah!!!', OCP\Util::DEBUG);
// Check if we are a user
OCP\JSON::checkLoggedIn();
OCP\JSON::checkAppEnabled('contacts');

View file

@ -134,7 +134,15 @@ Contacts={
$('#edit_name').keydown(function(){Contacts.UI.Card.editName()});
/* Initialize the photo edit dialog */
$('#edit_photo_dialog').dialog({ autoOpen: false, modal: true, height: 'auto', width: 'auto' });
$('#edit_photo_dialog').dialog({
autoOpen: false,
modal: true,
height: 'auto', width: 'auto',
beforeClose: function(event, ui) {
Contacts.UI.Card.cleanupPhoto(this);
return true;
}
});
$('#edit_photo_dialog' ).dialog( 'option', 'buttons', [
{
text: "Ok",
@ -1189,6 +1197,15 @@ Contacts={
});
Contacts.UI.Contacts.refreshThumbnail(this.id);
},
cleanupPhoto:function(){
var tmp_path = $('#cropform').find('#tmp_path').val();
console.log('Trying to remove: ' + tmp_path);
$.post(OC.filePath('contacts', 'ajax', 'cleanupphoto.php'), {tmp_path: tmp_path}, function(data){
if(data.status != 'success'){
console.log('Error deleting ' + tmp_path);
}
});
},
addMail:function() {
//alert('addMail');
$('#emaillist li.template:first-child').clone(true).appendTo($('#emaillist')).show().find('a .tip').tipsy();