. * */ OC_Util::checkAdminUser(); OC_Util::checkAppEnabled('user_migrate'); // Import? if (isset($_POST['user_import'])) { $root = OC::$SERVERROOT . "/"; $importname = "owncloud_import_" . date("y-m-d_H-i-s"); // Save data dir for later $datadir = OC_Config::getValue( 'datadirectory' ); // Copy the uploaded file $from = $_FILES['owncloud_import']['tmp_name']; $to = get_temp_dir().'/'.$importname.'.zip'; if( !move_uploaded_file( $from, $to ) ){ $error = array('error'=>'Failed to move the uploaded file','hint'=>'Try checking the permissions of the '.get_temp_dir().' dir.'); OC_Log::write( 'user_migrate', "Failed to copy the uploaded file", OC_Log::ERROR ); $tmpl = new OC_Template('user_migrate', 'admin'); $tmpl->assign('error',$error); return $tmpl->fetchPage(); } $response = json_decode( OC_Migrate::import( $to, 'user' ) ); if( !$response->success ){ $error = array('error'=>'There was an error while importing the user!','hint'=>'Please check the logs for a more detailed explaination'); $tmpl = new OC_Template('user_migrate', 'admin'); $tmpl->assign('error',$error); return $tmpl->fetchPage(); } else { // Check import status foreach( $response->data as $app => $status ){ if( $status != 'true' ){ // It failed for some reason if( $status == 'notsupported' ){ $notsupported[] = $app; } else if( !$status ){ $failed[] = $app; } } } // Any problems? if( isset( $notsupported ) || isset( $failed ) ){ if( count( $failed ) > 0 ){ $error = array('error'=>'Some app data failed to import','hint'=>'App data for: '.implode(', ', $failed).' failed to import.'); $tmpl = new OC_Template('user_migrate', 'admin'); $tmpl->assign('error',$error); return $tmpl->fetchPage(); } else if( count( $notsupported ) > 0 ){ $error = array('error'=>'Some app data could not be imported, as the apps are not installed on this instance','hint'=>'App data for: '.implode(', ', $notsupported).' failed to import as they were not found. Please install the apps and try again'); $tmpl = new OC_Template('user_migrate', 'admin'); $tmpl->assign('error',$error); return $tmpl->fetchPage(); } } else { // Went swimmingly! $tmpl = new OC_Template('user_migrate', 'admin'); return $tmpl->fetchPage(); } } } else { // fill template $tmpl = new OC_Template('user_migrate', 'admin'); return $tmpl->fetchPage(); }