Files
fdn2/public/admin/editNotizie.php
T

135 lines
4.7 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 = "";
$edit = false;
$notiziaId = PostHandler::get("id");
$notizia = new NotiziaModel();
// var_dump($notizia);
if(!is_null($notiziaId) && strcmp($notiziaId, "")!=0){
$edit = true;
$notizia = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$notiziaId));
// echo "pene";
if(is_null($notizia)){
GUIHandler::redirect("admin/myNotizie.php");
}
if (!AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR) &&
AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE)){
if($notizia->status == NotiziaModel::STATUS_ACCEPTED){
GUIHandler::redirect("admin/myNotizie.php");
}
if(strcmp($notizia->about->owner, AdminLoginManager::getLogged()->id) != 0){
GUIHandler::redirect("admin/myNotizie.php");
}
}
}
MenuGenerator::generateMenu();
HTMLHelper::generateAdminHead();
if(!is_null(PostHandler::get("action")) && strcmp(PostHandler::get("action"), "")!=0){
$save = PostHandler::get("action");
if(strcmp($save, "save")==0){
$notizia->titolo = PostHandler::get("titolo");
$notizia->sottotitolo = PostHandler::get("sottotitolo");
$notizia->testo = PostHandler::get("testo");
if(strcmp(PostHandler::get("author"), "")==0){
$notizia->about->author = AdminLoginManager::getLogged()->nome." ".AdminLoginManager::getLogged()->cognome;
}
else{
$notizia->about->author = PostHandler::get("author");
}
$dateString = PostHandler::get("data")." ".PostHandler::get("time");
if(!preg_match("/^[0-9]{2}[-][0-9]{2}[-][0-9]{4} [0-9]{2}[:][0-9]{2}$/", $dateString)){
throw new GUIException("Il formato della data inserita non è corretto. Per favore segui il seguente formato Date: dd-mm-yyyy hh:ii");
}
$mongoDate = new MongoDate(strtotime($dateString));
// $mongoDate = new DateTime('2013-09-22T10:41:44.451999');
// $seconds = $mongoDate->getTimestamp();
// $microseconds = $mongoDate->format("u");
$notizia->about->data = $mongoDate;
if(!$edit){
$notizia->status = NotiziaModel::STATUS_PENDING;
$notizia->about->owner = AdminLoginManager::getLogged()->id;
}
GlobalVariables::get("dao")->save($notizia);
GUIHandler::redirect("admin/listNotizie.php");
}
}
else{
echo "post nullo";
}
}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
}
?>
<form method="POST" id="notiziaForm">
<input type="hidden" value="<?php echo $notiziaId;?>" name="id"/>
<div style="padding:10px;">
<div style="padding:5px; display:inline-block;">Titolo:
<textarea name="titolo" rows="2" cols="30" style="resize:none;"><?php echo $notizia->titolo;?></textarea>
</div>
<div style="padding:5px;display:inline-block;">Sottotitolo:
<textarea name="sottotitolo" rows="2" cols="30" style="resize:none;"><?php echo $notizia->sottotitolo;?></textarea>
</div>
</div>
<textarea name="testo" id="editore_testo" rows="10" cols="80"><?php echo $notizia->testo;?></textarea>
<div style="display:inline-block;">Data: <input type="text" id="datepicker" name="data" value="<?php echo ($edit)? date("d-m-Y",$notizia->about->data->sec):date("d-m-Y");?>"></div>
<div style="display:inline-block;">Time: <input type="text" id="timepicker" name="time" value="<?php echo ($edit)? date("H:i",$notizia->about->data->sec):date("H:i");?>"></div>
<div style="display:inline-block;">Author: <input value="<?php echo $notizia->about->author;?>" name="author"/></div>
<input type="hidden" name="action" value=""/>
</form>
<a href="#" id="submit" >Submit</a>
</div>
<script type="text/javascript">
CKEDITOR.replace( 'editore_testo');
$(document).ready(function(event){
$("#submit").click(function(event){
$("form#notiziaForm input[type=hidden][name=action]").val("save");
$("form#notiziaForm").submit();
});
$("#datepicker").datepicker({dateFormat:"dd-mm-yy"});
$("#timepicker").datetimepicker({datepicker:false,
format:'H:i'});
});
</script>