From: Bart Visscher Date: Wed, 30 May 2012 16:23:23 +0000 (+0200) Subject: Calendar: small cleanup of import progress writing X-Git-Tag: v4.5.0beta1~74^2~425^2~36 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2ae58ee6c01f2ba3a97f6d2741c46ea5dda68792;p=nextcloud-server.git Calendar: small cleanup of import progress writing --- diff --git a/apps/calendar/ajax/import/import.php b/apps/calendar/ajax/import/import.php index 202af1eb46e..904c07c52e7 100644 --- a/apps/calendar/ajax/import/import.php +++ b/apps/calendar/ajax/import/import.php @@ -7,16 +7,23 @@ */ //check for calendar rights or create new one ob_start(); + OCP\JSON::checkLoggedIn(); OCP\App::checkAppEnabled('calendar'); + $nl="\r\n"; $comps = array('VEVENT'=>true, 'VTODO'=>true, 'VJOURNAL'=>true); + $progressfile = 'import_tmp/' . md5(session_id()) . '.txt'; -if(is_writable('import_tmp/')){ - $progressfopen = fopen($progressfile, 'w'); - fwrite($progressfopen, '10'); - fclose($progressfopen); + +function writeProgress($pct) { + if(is_writable('import_tmp/')){ + $progressfopen = fopen($progressfile, 'w'); + fwrite($progressfopen, $pct); + fclose($progressfopen); + } } +writeProgress('10'); $file = OC_Filesystem::file_get_contents($_POST['path'] . '/' . $_POST['file']); if($_POST['method'] == 'new'){ $id = OC_Calendar_Calendar::addCalendar(OCP\USER::getUser(), $_POST['calname']); @@ -29,20 +36,12 @@ if($_POST['method'] == 'new'){ } $id = $_POST['id']; } -if(is_writable('import_tmp/')){ - $progressfopen = fopen($progressfile, 'w'); - fwrite($progressfopen, '20'); - fclose($progressfopen); -} +writeProgress('20'); // normalize the newlines $file = str_replace(array("\r","\n\n"), array("\n","\n"), $file); $lines = explode("\n", $file); unset($file); -if(is_writable('import_tmp/')){ - $progressfopen = fopen($progressfile, 'w'); - fwrite($progressfopen, '30'); - fclose($progressfopen); -} +writeProgress('30'); // analyze the file, group components by uid, and keep refs to originating calendar object // $cals is array calendar objects, keys are 1st line# $cal, ie array( $cal => $caldata ) // $caldata is array( 'first' => 1st component line#, 'last' => last comp line#, 'end' => end line# ) @@ -86,11 +85,7 @@ foreach($lines as $line) { $i++; } // import the calendar -if(is_writable('import_tmp/')){ - $progressfopen = fopen($progressfile, 'w'); - fwrite($progressfopen, '60'); - fclose($progressfopen); -} +writeProgress('60'); foreach($uids as $uid) { $prefix=$suffix=$content=array(); @@ -117,11 +112,7 @@ foreach($uids as $uid) { } } // finished import -if(is_writable('import_tmp/')){ - $progressfopen = fopen($progressfile, 'w'); - fwrite($progressfopen, '100'); - fclose($progressfopen); -} +writeProgress('100'); sleep(3); if(is_writable('import_tmp/')){ unlink($progressfile);