Aggiunti nuovi task per mail server Creato metodo in guihandler per aprire le pagine con richiesta post Aggiunta possibilità di passare callback ai backend delle datatables Modificati alcuni url Modificato HTMLInclusion per non utilizzare i path assoluti in fase di creazione ma solo in fase di stampa degli header (per evitare problemi sugli script) Creato mailserver e mail template Creata interfaccia mail per salvataggio mail in database, gestione coda. Creata interfaccia grafica per la gestione delle mail e delle code Incluse librerie PHP_Mailer Inserite pagine di creazione e cancellazione manuale utenti Bugfix su alcune pagine di edit
130 lines
4.6 KiB
PHP
130 lines
4.6 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");
|
|
$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->author = AdminLoginManager::getLogged()->nome." ".AdminLoginManager::getLogged()->cognome;
|
|
$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>
|