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(); $newMedia = null; $mediaTypeSaved = PostHandler::get("mediaType"); if(!is_null($bannerId) && strcmp($bannerId, "")!=0){ $edit = true; $banner = GlobalVariables::get("dao")->getFirst("BannerModel",array("id"=>$bannerId)); $newMedias = DaoMediaHandler::getMedias($banner); if(sizeof($newMedias)>0){ $newMedia = reset($newMedias); } if($banner->hasProperty("type") && !is_null($banner->type)){ $mediaTypeSaved = $banner->type; } } 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){ $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){ // if(!is_null($bannerId) && strcmp($bannerId, "")!=0){ // $banner = GlobalVariables::get("dao")->getFirst("BannerModel",array("id"=>$bannerId)); // $medias = DaoMediaHandler::getMedias($banner); // // $media = reset($medias); // // $media = GlobalVariables::get("dao")->getFirst("MediaModel",array("id"=>$mediaId)); // foreach ($medias as $media){ // DaoMediaHandler::deleteMedia($banner, $media); // $banner->type = null; // GlobalVariables::get("dao")->save($banner); // } // } // GUIHandler::redirect("admin/listBanner.php"); // } $formFile = ' Seleziona file'; if($edit && !is_null($newMedia)){ $formHtml = 'Inserire html:'; } else{ $formHtml = 'Inserire html:'; } }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."; } ?>