/** * Uploads conference custom stylesheet. * @param $settingName string setting key associated with the file */ function uploadStyleSheet($settingName) { $conference =& Request::getConference(); $settingsDao =& DAORegistry::getDAO('ConferenceSettingsDAO'); import('file.PublicFileManager'); $fileManager = new PublicFileManager(); if ($fileManager->uploadError($settingName)) { return false; } if ($fileManager->uploadedFileExists($settingName)) { $type = $fileManager->getUploadedFileType($settingName); if ($type != 'text/plain' && $type != 'text/css') { return false; } $uploadName = $settingName . '.css'; if ($fileManager->uploadConferenceFile($conference->getId(), $settingName, $uploadName)) { $value = array('name' => $fileManager->getUploadedFileName($settingName), 'uploadName' => $uploadName, 'dateUploaded' => date("Y-m-d g:i:s")); $settingsDao->updateSetting($conference->getId(), $settingName, $value, 'object'); return true; } } return false; }
/** * Uploads a conference image. * @param $settingName string setting key associated with the file * @param $locale string */ function uploadImage($settingName, $locale) { $conference =& Request::getConference(); $settingsDao = DAORegistry::getDAO('ConferenceSettingsDAO'); $faviconTypes = array('.ico', '.png', '.gif'); import('classes.file.PublicFileManager'); $fileManager = new PublicFileManager(); if ($fileManager->uploadError($settingName)) { return false; } if ($fileManager->uploadedFileExists($settingName)) { $type = $fileManager->getUploadedFileType($settingName); $extension = $fileManager->getImageExtension($type); if (!$extension) { return false; } if ($settingName == 'conferenceFavicon' && !in_array($extension, $faviconTypes)) { return false; } $uploadName = $settingName . '_' . $locale . $extension; if ($fileManager->uploadConferenceFile($conference->getId(), $settingName, $uploadName)) { // Get image dimensions $filePath = $fileManager->getConferenceFilesPath($conference->getId()); list($width, $height) = getimagesize($filePath . '/' . $uploadName); $value = $conference->getSetting($settingName); $value[$locale] = array('name' => $fileManager->getUploadedFileName($settingName), 'uploadName' => $uploadName, 'width' => $width, 'height' => $height, 'mimeType' => $fileManager->getUploadedFileType($settingName), 'dateUploaded' => Core::getCurrentDate()); $settingsDao->updateSetting($conference->getId(), $settingName, $value, 'object', true); return true; } } return false; }