Files
fdn2/public/admin/editBanner.php
T
Lorenzo Giacomelli b5f209f2aa Fixato DaoMediaHandler::getMedias commento errato e ora trasforma gli id
delle refenrece in mongoId
editBanner crea correttamente i banner nuovi ma non li edita, da finire
deleteBanner cancella correttamente banner e media associato
2016-02-11 17:53:38 +01:00

177 lines
6.1 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_BANNER_SUPERVISOR)){
GUIHandler::redirect("admin/index.php");
}
MenuGenerator::generateMenu();
HTMLHelper::generateAdminHead();
$bannerId = PostHandler::get("id");
try{
$error="";
$edit=false;
$banner = new BannerModel();
Finire Edit !!!!!!!!!!
$mediaTypeSaved = PostHandler::get("mediaType");
$banner->customer = PostHandler::get("customer");
if(array_key_exists("action", $_POST) && strcmp(PostHandler::get("action"), "save")==0){
if(is_null($bannerId) || strcmp($bannerId, "")==0){
$banner->customer = PostHandler::get("customer");
$banner->type = PostHandler::get("mediaType");
$banner->start = new Mongodate(strtotime(PostHandler::get("dateStart")));
$banner->end = new Mongodate(strtotime(PostHandler::get("dateEnd")));
GlobalVariables::get("dao")->save($banner);
$bannerId = $banner->id;
}
if(!is_null($bannerId) && strcmp($bannerId, "")!=0){
$edit=true;
// $banner = GlobalVariables::get("dao")->getFirst("BannerModel",array("id"=>$bannerId));
$file = "";
$mediaType = PostHandler::get("mediaType");
$banner->type=$mediaType;
if(strcmp($mediaType, "")!=0){
$tmp = array();
$saveable = new stdClass();
$saveable->mediaType = $mediaType;
if(strcmp($mediaType,MediaModel::TYPE_HTML5)==0){
$saveable->code = PostHandler::get("data");
$media = DaoMediaHandler::createNewTextBasedMedia($saveable);
}
else if(strcmp($mediaType,MediaModel::TYPE_IMAGE)==0){
$saveable->path = PostHandler::get("data");
$file = $_FILES['data']['tmp_name'];
$info = pathinfo($_FILES['data']['name']);
// $file = PostHandler::get("data");
$media = DaoMediaHandler::createNewFileBasedMedia($saveable, $file,$info["extension"]);
}
if(!is_null($media)){
GlobalVariables::get("dao")->save($media);
DaoMediaHandler::addMedia($banner, $media);
GlobalVariables::get("dao")->save($banner);
}
else{
throw new Exception("Cannot save a null media in the news with id '".$bannerId."'");
}
}
else{
throw new Exception("Invalid mediaType '".$mediaType."' while trying to add the media in editBanner");
}
GUIHandler::redirect("admin/listBanner.php");
}
else if(array_key_exists("action", $_POST) && strcmp(PostHandler::get("action"), "delete")==0){
$medias = DaoMediaHandler::getMedias($banner);
// $media = reset($medias);
// $media = GlobalVariables::get("dao")->getFirst("MediaModel",array("id"=>$mediaId));
foreach ($medias as $media){
DaoMediaHandler::deleteMedia($banner, $media);
}
}
}
$formFile = '<input type="hidden" name="MAX_FILE_SIZE" value="52428800" />
<input type="file" name="data"/>';
$formHtml = 'Inserire html: <textarea type="text" name ="data"/ rows="5" cols="30">'.$banner->code.'</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.";
}
?>
<div>
<?php
if(strcmp($error, "")!=0){
?>
<div style="font-size: 16px; color:red;">
<?php echo $error;?>
</div>
<?php
}
?>
<div>
<form enctype="multipart/form-data" id="loadFile" method="POST">
<div style="margin:15px 5px;">Selezionare tipo multimedia:
<select id="mediaType" name="mediaType">
<option disabled selected style="display:none;">Seleziona Tipo</option>
<?php foreach (MediaModel::$MEDIA_TYPES as $mediaType=>$data){
if(strcmp($mediaType, MediaModel::TYPE_HTML5)==0 || strcmp($mediaType, MediaModel::TYPE_IMAGE)==0)
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_HTML5)==0){
echo $formHtml;
}
else if (strcmp($mediaTypeSaved, MediaModel::TYPE_IMAGE)==0){
echo $formFile;
}
?> <input type="hidden" name="id" value="<?php echo $bannerId;?>" />
<input type="hidden" name="action" value=""/>
<div style="margin:10px 0px;">Cliente: <input type="text" name="customer" value="<?php echo $banner->customer;?>" /></div>
<div style="display:inline-block;">Data inizio: <input type="text" id="datepickerStart" name="dateStart" value="<?php echo ($edit)? date("d-m-Y",$banner->start->sec):date("d-m-Y");?>"></div>
<div style="display:inline-block;">Data fine: <input type="text" id="datepickerEnd" name="dateEnd" value="<?php echo ($edit)? date("d-m-Y",$banner->end->sec):date("d-m-Y");?>"></div>
</div>
</form>
<div style="margin:15px 5px;">
<a href="#" id="submit" >Invia</a>
<a href="#" id="back" >Back</a>
<a href="#" id="delete">Delete</a>
</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","listBanner.php");
$("form#loadFile").submit();
});
$("#delete").click(function(event){
$("form#loadFile input[type=hidden][name=action]").val("delete");
$("form#loadFile").submit();
});
$("#datepickerStart").datepicker({dateFormat:"dd-mm-yy"});
$("#datepickerEnd").datepicker({dateFormat:"dd-mm-yy"});
});
</script>