isLocaleResubmit()) { $settingsForm->readInputData(); } else { $settingsForm->initData(); } $settingsForm->display(); } /** * Save changes to transportation settings. */ function saveTransportationSettings() { parent::validate(); parent::setupTemplate(true); $schedConf =& Request::getSchedConf(); if (!$schedConf) Request::redirect (null, null, 'index'); import('manager.form.TransportationSettingsForm'); $settingsForm = &new TransportationSettingsForm(); $settingsForm->readInputData(); $editData = false; $transportationFiles =& $schedConf->getSetting('transportationFiles'); if (Request::getUserVar('uploadTransportationFile')) { // Get a numeric key for this file. $thisFileKey = 0; if (isset($transportationFiles[$settingsForm->getFormLocale()])) foreach ($transportationFiles[$settingsForm->getFormLocale()] as $key => $junk) { $thisFileKey = $key + 1; } import('file.PublicFileManager'); $fileManager =& new PublicFileManager(); if ($fileManager->uploadedFileExists('transportationFile')) { $oldName = $fileManager->getUploadedFileName('transportationFile'); $extension = $fileManager->getExtension($oldName); if (!$extension) break; $uploadName = 'transportation-' . $thisFileKey . '.' . $extension; if ($fileManager->uploadSchedConfFile($schedConf->getSchedConfId(), 'transportationFile', $uploadName)) { $value = array( 'name' => $oldName, 'uploadName' => $uploadName, 'dateUploaded' => Core::getCurrentDate(), 'title' => Request::getUserVar('transportationFileTitle') ); $transportationFiles[$settingsForm->getFormLocale()][$thisFileKey] =& $value; $settingsForm->setData('transportationFiles', $transportationFiles); $settingsForm->setData('transportationFileTitle', ''); $schedConf->updateSetting('transportationFiles', $transportationFiles, 'object', true); } } $editData = true; } else { $formLocale = $settingsForm->getFormLocale(); $deleteKey = null; if (isset($transportationFiles[$formLocale])) { foreach ($transportationFiles[$formLocale] as $key => $junk) { if (Request::getUserVar("deleteTransportationFile-$formLocale-$key")) $deleteKey = $key; } } if ($deleteKey !== null) { import('file.PublicFileManager'); $fileManager = &new PublicFileManager(); if ($fileManager->removeSchedConfFile($schedConf->getSchedConfId(), $transportationFiles[$formLocale][$deleteKey]['uploadName'])) { unset($transportationFiles[$formLocale][$deleteKey]); $schedConf->updateSetting('transportationFiles', $transportationFiles, 'object', true); } $editData = true; } } if (!$editData && $settingsForm->validate()) { $settingsForm->execute(); $templateMgr = &TemplateManager::getManager(); $templateMgr->assign(array( 'currentUrl' => Request::url(null, null, null, 'transportation'), 'pageTitle' => 'schedConf.transportation', 'message' => 'common.changesSaved', 'backLink' => Request::url(null, null, Request::getRequestedPage()), 'backLinkLabel' => 'manager.conferenceSiteManagement' )); $templateMgr->display('common/message.tpl'); } else { $settingsForm->display(); } } } ?>