Path: blob/master/src/applications/calendar/controller/PhabricatorCalendarImportEditController.php
12256 views
<?php12final class PhabricatorCalendarImportEditController3extends PhabricatorCalendarController {45public function handleRequest(AphrontRequest $request) {6$engine = id(new PhabricatorCalendarImportEditEngine())7->setController($this);89$id = $request->getURIData('id');10if (!$id) {11$list_uri = $this->getApplicationURI('import/');1213$import_type = $request->getStr('importType');14$import_engines = PhabricatorCalendarImportEngine::getAllImportEngines();15if (empty($import_engines[$import_type])) {16return $this->buildEngineTypeResponse($list_uri);17}1819$import_engine = $import_engines[$import_type];2021$engine22->addContextParameter('importType', $import_type)23->setImportEngine($import_engine);24}2526return $engine->buildResponse();27}2829private function buildEngineTypeResponse($cancel_uri) {30$import_engines = PhabricatorCalendarImportEngine::getAllImportEngines();3132$request = $this->getRequest();33$viewer = $this->getViewer();3435$e_import = null;36$errors = array();37if ($request->isFormPost()) {38$e_import = pht('Required');39$errors[] = pht(40'To import events, you must select a source to import from.');41}4243$type_control = id(new AphrontFormRadioButtonControl())44->setLabel(pht('Import Type'))45->setName('importType')46->setError($e_import);4748foreach ($import_engines as $import_engine) {49$type_control->addButton(50$import_engine->getImportEngineType(),51$import_engine->getImportEngineName(),52$import_engine->getImportEngineHint());53}5455$crumbs = $this->buildApplicationCrumbs();56$crumbs->addTextCrumb(pht('New Import'));57$crumbs->setBorder(true);5859$title = pht('Choose Import Type');60$header = id(new PHUIHeaderView())61->setHeader(pht('New Import'))62->setHeaderIcon('fa-upload');6364$form = id(new AphrontFormView())65->setUser($viewer)66->appendChild($type_control)67->appendChild(68id(new AphrontFormSubmitControl())69->setValue(pht('Continue'))70->addCancelButton($cancel_uri));7172$box = id(new PHUIObjectBoxView())73->setFormErrors($errors)74->setHeaderText(pht('Import'))75->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)76->setForm($form);7778$view = id(new PHUITwoColumnView())79->setHeader($header)80->setFooter(81array(82$box,83));8485return $this->newPage()86->setTitle($title)87->setCrumbs($crumbs)88->appendChild($view);89}9091}929394