Files
fdn2/public/articolo.php
T

311 lines
12 KiB
PHP

<?php
/*
Author: Riccardo Di Dato
Creation Date: 05/feb/2016
*/
require_once(dirname(__FILE__)."/load.php");
try {
// UserLoginManager::logout();
$sendComment = false;
$articolo = null;
if (array_key_exists("id", $_GET)){
$articolo = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$_GET["id"],"status"=>NotiziaModel::STATUS_ACCEPTED));
}
if (is_null($articolo)){
GUIHandler::redirect("index.php");
}
AnalyticsHelper::logNotiziaImpression($articolo->id);
AnalyticsHelper::logPageImpression();
$user = UserLoginManager::getLogged();
$media = DaoMediaHandler::getMainMediaFromModel($articolo);
$medias = DaoMediaHandler::getMedias($articolo);
$commenti = GlobalVariables::get("dao")->query("CommentoModel",
array("notizia"=>$articolo->id,"status"=>CommentoModel::STATUS_ACCEPTED),
array("sort"=>array("about.data"=>-1))
);
// echo $articolo->titolo;
// var_dump($medias);
$mesi = array(1=>'Gennaio', 'Febbraio', 'Marzo', 'Aprile',
'Maggio', 'Giugno', 'Luglio', 'Agosto',
'Settembre', 'Ottobre', 'Novembre','Dicembre');
$data = date("d",$articolo->about->data->sec)." ".$mesi[date("n",$articolo->about->data->sec)]." ".date("Y",$articolo->about->data->sec);
$additionalHeaders = array();
$additionalHeaders[] = '<meta property="og:url" content="'.$_SERVER['REQUEST_URI'].'"/>';
$additionalHeaders[] = '<meta property="og:site_name" content="I Fatti di Napoli"/>';
$additionalHeaders[] = '<meta property="og:title" content="'.preg_replace('/"/', '\"', strip_tags($articolo->titolo)).'"/>';
$additionalHeaders[] = '<meta property="og:description" content="'.preg_replace('/"/', '\"', strip_tags($articolo->sottotitolo)).'"/>';
$mediaMetaInfo = '';
if ($media->mediaType == MediaModel::TYPE_LOCALVIDEO || $media->mediaType == MediaModel::TYPE_YOUTUBE){
$mediaMetaInfo = 'itemprop="video"';
if ($media->mediaType == MediaModel::TYPE_YOUTUBE){
$additionalHeaders[] = '<meta property="og:image" content="'.$media->getRenderer()->getThumbnailLink().'"/>';
$additionalHeaders[] = '<meta property="og:video" content="'.$media->getRenderer()->getVideoLink().'"/>';
$additionalHeaders[] = '<meta property="og:video:type" content="application/x-shockwave-flash"/>';
$additionalHeaders[] = '<meta property="og:video:width" content="240"/>';
$additionalHeaders[] = '<meta property="og:video:height" content="205"/>';
}
}
else if ($media->mediaType == MediaModel::TYPE_IMAGE){
$mediaMetaInfo = 'itemprop="image"';
$additionalHeaders[] = '<meta property="og:image" content="'.$media->getRenderer()->getImageLink(MediaRenderer::SIZE_SMALL).'"/>';
}
if(array_key_exists("submit", $_POST) && strcmp($_POST["submit"] ,"Submit")==0){
// var_dump($articolo->sondaggio->voci);
if($articolo->hasProperty("sondaggio") && !is_null($articolo->sondaggio)){
if(!in_array($user->username, $articolo->sondaggio->votanti)){
$selectedVoice = $_POST["voce"];
foreach ($articolo->sondaggio->voci as $voce){
// var_dump($voce);
if(strcmp($voce->nome, $selectedVoice)==0){
$voce->voti +=1;
}
// var_dump($voce);
}
$articolo->sondaggio->votanti[] = $user->username;
GlobalVariables::get("dao")->save($articolo);
}
}
// var_dump($articolo->sondaggio);
}
if(array_key_exists("sendCommento", $_POST) && strcmp($_POST["sendCommento"] ,"Invia")==0){
if(UserLoginManager::isLogged()){
$saveable = new stdClass();
$saveable->user = $user->id;
$saveable->notizia = $articolo->id;
$saveable->titolo = strip_tags($_POST["titolo"]);
$saveable->testo = strip_tags($_POST["commento"]);
$saveable->status = CommentoModel::STATUS_PENDING;
// var_dump($saveable);
$commento = new CommentoModel($saveable);
GlobalVariables::get("dao")->save($commento);
$sendComment = true;
}
}
}catch(GUIException $ex){
$error = $ex->getMessage();
}catch (Exception $exec){
$msg = LogModel::fromException($exec);
GlobalVariables::get("dao")->save($msg);
GUIHandler::redirect("index.php");
}
GUIHandler::generateHtmlHeaders(array("additionalHeaders"=>$additionalHeaders));
?>
<div class="imageOverlay" onclick="javascript:hidePreview()"></div>
<div class="clickableImageContainer" onclick="javascript:hidePreview()"></div>
<div style="width:1000px;margin-left:auto;margin-right:auto;" itemscope itemtype="http://schema.org/Article">
<?php
GUIHandler::generateHeadPublic();
GUIHandler::generateMenu();
?>
<div class="articoloCategory">
<div class="categoryStyle">
<div class="icon"><img alt="" src="images/categoryIcon.png"></div>
<div class="articoloCategoryName"><span itemprop="articleSection"><?php echo strtoupper(NotiziaModel::$NOTIZIE_CATEGORY[$articolo->category]["label"]);?></span></div>
</div>
</div>
<div class="articoloContainer" >
<div class="headArticolo">
<div class="articoloMainMedia mediaContent" >
<?php if(!is_null($media)) {
$media->renderMedia(array("size"=>MediaRenderer::SIZE_BIG));
}
?>
</div>
<div class="articoloTitle">
<div class="title" itemprop="name"><?php echo $articolo->titolo;?></div>
<div class="subTitle">
<span><?php echo $data;?> &mdash;</span>
<span itemprop="headline"><?php echo $articolo->sottotitolo;?></span>
</div>
</div>
</div>
<?php if($articolo->hasProperty("sondaggio") && !is_null($articolo->sondaggio)){?>
<div class="sondaggioContainer">
<div id="sondaggioGraph" style="height:300px;margin-right:280px;margin-top:10px;"></div>
<?php if(UserLoginManager::isLogged()){
if(!in_array($user->username, $articolo->sondaggio->votanti)){?>
<div class="sondaggioOptions">
<form method="POST">
<?php foreach ($articolo->sondaggio->voci as $voce){?>
<input type="radio" name="voce" value="<?php echo $voce->nome;?>"><?php echo $voce->nome;?>
<?php } ?>
<input type="submit" name="submit" value="Submit" />
</form>
</div>
<?php }
else{
?>
<div class="noLogin">Hai già votato per questo sondaggio</div>
<?php }
}
else{
?>
<div class="noLogin">Effettua il <a href="#loginLink">login</a> per votare o se non hai ancora un account <a href="#regButton">registrati</a></div>
<?php }
?>
</div>
<?php }?>
<div class="articoloLeftBar">
<div class="utilityBar">
<div class="socialBarArticolo">
<a class="socialLink" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://ifattidinapoli.com/articolo.php?id=<?php echo $articolo->id;?>"><div style="background-image:url(images/fb_round.png);"></div></a>
<a class="socialLink" target="_blank" href="https://twitter.com/intent/tweet?via=fattidinapoli&url=http://ifattidinapoli.com/articolo.php?id=<?php echo $articolo->id;?>"><div style="background-image:url(images/twitter_round.png);"></div></a>
<a class="socialLink" target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=http://ifattidinapoli.com/articolo.php?id=<?php echo $articolo->id;?>"><div style="background-image:url(images/linkedin_round.png);"></div></a>
<a class="socialLink" target="_blank" href="https://plus.google.com/share?url=http://ifattidinapoli.com/articolo.php?id=<?php echo $articolo->id;?>"><div style="background-image:url(images/google_round.png);"></div></a>
</div>
</div>
<div class="articoloTesto" itemprop="articleBody"><?php echo $articolo->testo;?></div>
<?php if(sizeof($medias)>1){?>
<div class="mediasConatiner">
<div class="headMedias">
<div class="moreMedia"><span>Altri contenuti</span></div>
</div>
<div class="caroselContainer">
<?php
foreach($medias as $mediaImage){?>
<div class="carosImage mediaContent"><span class="helper"></span><?php $mediaImage->renderMedia(array("size"=>MediaRenderer::SIZE_MINI,"clickable"=>true));?></div>
<?php }?>
</div>
</div>
<?php }?>
<div class="commentiContainer">
<div class="commentiLabelContainer">
<div class="commentiLabel">
Commenti dei nostri lettori
</div>
<hr style="color:#ddd;">
</div>
<?php if(sizeof($commenti)>0){
?>
<div class="oldCommentiContainer">
<?php foreach ($commenti as $oldCommento){
$utonto = GlobalVariables::get("dao")->getFirst("UserModel",array("_id"=>$oldCommento->user));
?>
<div class="commento">
<div class="commentoTitle"><?php echo $oldCommento->titolo;?></div>
<div class="commentoTesto"><?php echo $oldCommento->testo;?></div>
<div class="userInfo">
<div class="userCommento">Inviato da <span class="user" ><?php echo $utonto->nome." ".$utonto->cognome;?></span> il <span class="data"><?php echo date("d/m/Y",$oldCommento->date->sec)?></span></div>
</div>
</div>
<?php }
?>
</div>
<?php
}
echo '<hr style="color:#ddd;">';
if($sendComment){
?>
<div class="commento commentoInviato">Il tuo commento è stato inviato alla redazione ed è in attesa di essere accettato.</div>
<?php }
else if(UserLoginManager::isLogged()){
?>
<div id="commentoArea" class="commento">
<div class="commentoTitle">
Aggiungi il tuo commento per questa notizia
</div>
<div>
<form method="POST" id="commentoForm">
<input name="titolo" type="text" placeholder="Titolo del commento"/>
<textarea name="commento" placeholder="Il tuo commento" rows="5" cols="80"></textarea>
<input type="hidden" name="id" value="<?php echo $articolo->id;?>" />
<div class="sendBtnDiv">
<input type="submit" name="sendCommento" value="Invia" />
</div>
</form>
</div>
</div>
<?php }
else{
?>
<div class="commento noLogin">Per commentare questa notizia <a href="#loginLink">accedi</a> all'applicazione o <a href="#regButton">registrati</a> se non hai ancora un account </div>
<?php }
?>
</div>
</div>
<div class="articoloRightBar" style="width:280px;display:inline-block;">
<?php GUIHandler::generateRightBannerBlock();?>
</div>
</div>
<?php
GUIHandler::generateFooter();
?>
</div>
<script type="text/javascript">
$(document).ready(function(event){
$("#submit").click(function (){
// $("form#commentoForm").submit(function (){
$.ajax({
method:'POST',
url:'sendCommentoBackend.php',
dataType:'html',
data:$("#commentoForm").serialize(),
success: function(data){
$("#commentoArea").remove();
$("#sentMessage").html(data);
}
});
// });
});
<?php if($articolo->hasProperty("sondaggio") && !is_null($articolo->sondaggio)){?>
$("#sondaggioGraph").highcharts({
chart:{type:'bar'},
title:{text:'<?php echo trim(html_entity_decode($articolo->sondaggio->titolo)); ?>'},
xAxis:{
categories:[<?php $i =0; foreach($articolo->sondaggio->voci as $voce){
echo ($i++==0?"":", ")."\"".trim($voce->nome)."\"";
}
?>]
},
yAxis:{
title:{text:"Numero Voti"}
},
series:[{
name:"Voti",
data:[<?php $i =0; foreach($articolo->sondaggio->voci as $voce){
echo ($i++==0?"":", ").$voce->voti;
}
?>]
}]
});
<?php }?>
// $("form#commentoForm").on('submit',function (){
// $.ajax({
// type:'post',
// url:'sendCommentoBackend.php',
// dataType:'html',
// data:$("#commentoForm").serialize(),
// target: '#sentMessage',
// complete: function(){
// $("#commentoArea").remove();
// }
// });
// });
});
</script>
<?php GUIHandler::generateGoogleAnalyticsScripts();?>