Aggiunta funzione per savare media non file based Fixata editNotizie che non salvava l'author addMultimedia funzionante (da testare bene)
142 lines
4.5 KiB
PHP
142 lines
4.5 KiB
PHP
<?php
|
|
|
|
require_once(dirname(__FILE__)."/../load.php");
|
|
|
|
GUIHandler::generateHtmlHeaders(array(),true);
|
|
|
|
if (!AdminLoginManager::isLogged()){
|
|
GUIHandler::redirect("admin/login.php");
|
|
}
|
|
else if (!AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR) &&
|
|
!AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE)){
|
|
GUIHandler::redirect("admin/index.php");
|
|
}
|
|
|
|
try{
|
|
$error = "";
|
|
$notiziaId = PostHandler::get("id");
|
|
|
|
$notizia = new stdClass();
|
|
if(is_null($notiziaId) || strcmp($notiziaId, "")==0){
|
|
throw new CoreException("Trying to add a media to an invalid model with id '".$notiziaId. "'");
|
|
}
|
|
else{
|
|
$mediaTypeSaved = PostHandler::get("mediaType");
|
|
if(array_key_exists("action", $_POST) && strcmp(PostHandler::get("action"), "save")==0){
|
|
$notizia = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$notiziaId));
|
|
|
|
$file = "";
|
|
|
|
$mediaType = PostHandler::get("mediaType");
|
|
if(strcmp($mediaType, "")!=0){
|
|
$tmp = array();
|
|
$saveable = new stdClass();
|
|
$saveable->mediaType = $mediaType;
|
|
if(strcmp($mediaType,MediaModel::TYPE_YOUTUBE)==0){
|
|
$saveable->link = PostHandler::get("data");
|
|
$media = DaoMediaHandler::createNewTextBasedMedia($saveable);
|
|
}
|
|
else if(strcmp($mediaType,MediaModel::TYPE_HTML5)==0){
|
|
$saveable->code = PostHandler::get("data");
|
|
$media = DaoMediaHandler::createNewTextBasedMedia($saveable);
|
|
}
|
|
else {
|
|
$saveable->path = PostHandler::get("data");
|
|
$file = $_FILES['data']['tmp_name'];
|
|
// $file = PostHandler::get("data");
|
|
$media = DaoMediaHandler::createNewFileBasedMedia($saveable, $file);
|
|
}
|
|
|
|
if(!is_null($media)){
|
|
GlobalVariables::get("dao")->save($media);
|
|
DaoMediaHandler::addMedia($notizia, $media);
|
|
GlobalVariables::get("dao")->save($notizia);
|
|
}
|
|
else{
|
|
throw new Exception("Cannot save a null media in the news with id '".$notiziaId."'");
|
|
}
|
|
}
|
|
else{
|
|
throw new Exception("Invalid mediaType '".$mediaType."' while trying to add the media in addMultimedia");
|
|
}
|
|
|
|
GUIHandler::redirectPost("admin/homeMultimedia.php",array("id"=>$notiziaId));
|
|
}
|
|
}
|
|
|
|
$formFile = '<input type="hidden" name="MAX_FILE_SIZE" value="52428800" />
|
|
<input type="file" name="data"/>';
|
|
|
|
$formYoutube = 'url: <input type="text" name ="data"/>';
|
|
|
|
$formHtml = 'Inserire html: <textarea type="text" name ="data"/ rows="5" cols="30"></textarea>';
|
|
|
|
}catch(GUIException $ex){
|
|
$error = $ex->getMessage();
|
|
}catch (Exception $exec){
|
|
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_ERROR, $exec->getMessage());
|
|
$error = "Si è verificato un errore inaspettato durante l'esecuzione della pagina. Se l'errore persiste contattare il supporto tecnico.";
|
|
}
|
|
|
|
MenuGenerator::generateMenu();
|
|
HTMLHelper::generateAdminHead();
|
|
?>
|
|
<div>
|
|
<?php echo $error;?>
|
|
<div>
|
|
<form enctype="multipart/form-data" id="loadFile" method="POST">
|
|
<div style="margin:15px 5px;">Selezionare tipo multimedia:
|
|
<select id="mediaType" name="mediaType">
|
|
<?php foreach (MediaModel::$MEDIA_TYPES as $mediaType=>$data){
|
|
if(strcmp($mediaTypeSaved,$mediaType)==0){?>
|
|
<option value="<?php echo $mediaType;?>" selected="selected">
|
|
<?php
|
|
}
|
|
else{?>
|
|
<option value="<?php echo $mediaType;?>">
|
|
<?php
|
|
}?>
|
|
<?php echo $data["label"];?></option>
|
|
<?php }?>
|
|
</select>
|
|
</div>
|
|
<div style="margin:15px 5px;"><?php
|
|
// <input type="hidden" name="MAX_FILE_SIZE" value="52428800" />
|
|
// <input type="file" name="userFile"/>
|
|
if(strcmp($mediaTypeSaved, MediaModel::TYPE_YOUTUBE)==0){
|
|
echo $formYoutube;
|
|
}
|
|
else if(strcmp($mediaTypeSaved, MediaModel::TYPE_HTML5)==0){
|
|
echo $formHtml;
|
|
}
|
|
else{
|
|
echo $formFile;
|
|
}
|
|
?> <input type="hidden" name="id" value="<?php echo $notiziaId;?>" />
|
|
<input type="hidden" name="action" value=""/>
|
|
</form>
|
|
<div style="margin:15px 5px;">
|
|
<a href="#" id="submit" >Invia</a>
|
|
<a href="#" id="back" >Back</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(event){
|
|
$("#submit").click(function(event){
|
|
$("form#loadFile input[type=hidden][name=action]").val("save");
|
|
$("form#loadFile").submit();
|
|
});
|
|
|
|
$("#mediaType").change(function (event){
|
|
$("form#loadFile input[type=hidden][name=action]").val("change");
|
|
$("form#loadFile").submit();
|
|
});
|
|
|
|
$("#back").click(function(event){
|
|
$("form#loadFile").attr("action","homeMultimedia.php");
|
|
$("form#loadFile").submit();
|
|
});
|
|
});
|
|
</script>
|