diff options
author | Georg Ehrke <dev@georgswebsite.de> | 2012-06-01 11:40:39 +0200 |
---|---|---|
committer | Georg Ehrke <dev@georgswebsite.de> | 2012-06-01 11:40:39 +0200 |
commit | e75146a811e3320378ec0d35dd7ce39d8189a688 (patch) | |
tree | aefc89d997a6d7d6b0c3273823dc483b6f9f0dd7 /apps/calendar/ajax | |
parent | 7a8e3226793aebdbd4bcf12ef6c7d020c8cd378d (diff) | |
parent | 83c6714c723a1e224f2477192ca88bd6144b76e7 (diff) | |
download | nextcloud-server-e75146a811e3320378ec0d35dd7ce39d8189a688.tar.gz nextcloud-server-e75146a811e3320378ec0d35dd7ce39d8189a688.zip |
Merge branch 'master' into calendar_repeat
Diffstat (limited to 'apps/calendar/ajax')
-rw-r--r-- | apps/calendar/ajax/import/import.php | 39 |
1 files changed, 15 insertions, 24 deletions
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); |