Merge branch 'master' of ssh://gitolite@asdynamics.com:50005/projects/fdn2.git

This commit is contained in:
Riccardo Di Dato
2016-03-10 13:55:07 +01:00
12 changed files with 423 additions and 28 deletions
Binary file not shown.
+1 -1
View File
@@ -13,7 +13,7 @@ class CommentoModel extends Model{
);
/**
* saveableObject deve avere alemeno il campo notizia = notiziaId;
* saveableObject deve avere alemeno il campo notizia = notiziaId e il campo user = userId;
* @param stdClass $saveableObject
* @throws CoreException
*/
+8
View File
@@ -16,6 +16,14 @@ class UserModel extends Model{
if (!$this->hasProperty("email")){
throw new CoreException("Impossible to create a user without a mail address");
}
if (!$this->hasProperty("username")){
throw new CoreException("Impossible to create a user without a username");
}
if(!$this->hasProperty("password")){
new CoreException("Impossible to create a user without a password");
}
}
public static function getCollectionName(){
+54 -4
View File
@@ -154,10 +154,11 @@ class GUIHandler {
$day = date("d");
?>
<div id="floating" style="display:none;"></div>
<div class="headContainer">
<div class="upperBar">
<div class="dateBar"><?php echo $day." ".$mesi[date("n")]." ".date("Y"); ?> - Aggiornato alle <span style="color:#f68235;"><?php echo date("H:i");?></span></div>
<div class="loginReg"><a href="#">LOGIN</a> | <a href="#">REGISTRATI</a></div>
<div class="loginReg"><a href="#">LOGIN</a> | <a id="regButton" href="javascript:openRegistrationModal();">REGISTRATI</a></div>
<div class="socialBar">
<a class="socialLink" href="https://www.facebook.com/ifattidinapoli" target="_blank"><div style="background-image:url(images/fb.png);"></div></a>
<a class="socialLink" href="https://twitter.com/fattidinapoli" target="_blank"><div style="background-image:url(images/twitter.png);"></div></a>
@@ -167,9 +168,9 @@ class GUIHandler {
</div>
</div>
<div class="middleBar">
<div class="leftBanner topBanner"><img src="images/ads.png" alt=""></div>
<div class="leftBanner topBanner"><img src="images/ads.png" alt=""><span style="color:red;">BANNER</span></div><?php //TODO: Bannerizzare?>
<div class="logo"><img src="images/logo_uff.png"></div>
<div class="rightBanner topBanner"><img src="images/ads.png" alt=""></div>
<div class="rightBanner topBanner"><img src="images/ads.png" alt=""><span style="color:red;">BANNER</span></div><?php //TODO: Bannerizzare?>
</div>
<div class="bottomBar" style="height:40px;width:1000px;"></div>
</div>
@@ -279,5 +280,54 @@ class GUIHandler {
$url = self::getBaseUrl()."fbMetadata.php?id=".$notizia->id;
return 'window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
}
public static function generateRightBannerBlock(){
$lastsNews = GlobalVariables::get("dao")->query("NotiziaModel",
array("status"=>NotiziaModel::STATUS_ACCEPTED),
array("sort"=>array("about.data"=>-1),"limit"=>5)
);
if (sizeof($lastsNews)>0){
$lastsNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $lastsNews);
}
$mesi = array(1=>'Gennaio', 'Febbraio', 'Marzo', 'Aprile',
'Maggio', 'Giugno', 'Luglio', 'Agosto',
'Settembre', 'Ottobre', 'Novembre','Dicembre');
?>
<div id="rightBarContainer" class="">
<div class="rotoBanner">
<div>Guarda anche</div>
<div class="bannerContainer mediaContent"><img alt="" src="images/ads_big.png" /><span style="color:red;">BANNER</span></div> <?php //TODO: Bannerizzare?>
<div class="bannerContainer mediaContent"><img alt="" src="images/ads_big.png" /><span style="color:red;">BANNER</span></div> <?php //TODO: Bannerizzare?>
</div>
<div class="reader">
<div class="lastNews">
<div class="categoryBar" style="text-align:left;">
<div class="categoryTag"><span>Pi&ugrave Letti</span></div>
<div class="categoryLine"></div>
</div>
<?php if(sizeof($lastsNews)>0){
foreach($lastsNews as $last){
$data = $mesi[date("n",$last->about->data->sec)]." ".date("Y",$last->about->data->sec);
$string = (strlen($last->titolo) > 103) ? substr($last->titolo,0,100).'...' : $last->titolo;?>
<div class="lastContainer">
<div class="lastData"><?php echo $data;?></div>
<div class="lastTitle"><?php echo $string;?></div>
<div class="lastContinua" style="text-align:right;"><a href="articolo.php?id=<?php echo $last->id;?>">Leggi</a></div>
</div>
<?php }
}?>
</div>
</div>
<div class="rotoBanner not">
<div>Guarda anche</div>
<div class="bannerContainer mediaContent"><img alt="" src="images/ads_big.png" /><span style="color:red;">BANNER</span></div> <?php //TODO: Bannerizzare?>
<div class="bannerContainer mediaContent"><img alt="" src="images/ads_big.png" /><span style="color:red;">BANNER</span></div> <?php //TODO: Bannerizzare?>
</div>
</div>
</div>
<?php
}
}
?>
?>
+49 -12
View File
@@ -7,6 +7,7 @@ Creation Date: 05/feb/2016
require_once(dirname(__FILE__)."/load.php");
try {
$sendComment = false;
$articolo = null;
if (array_key_exists("id", $_GET)){
$articolo = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$_GET["id"],"status"=>NotiziaModel::STATUS_ACCEPTED));
@@ -22,7 +23,7 @@ try {
$media = DaoMediaHandler::getMainMediaFromModel($articolo);
$medias = DaoMediaHandler::getMedias($articolo);
// echo $articolo->titolo;
var_dump($medias);
// var_dump($medias);
$mesi = array(1=>'Gennaio', 'Febbraio', 'Marzo', 'Aprile',
'Maggio', 'Giugno', 'Luglio', 'Agosto',
'Settembre', 'Ottobre', 'Novembre','Dicembre');
@@ -51,6 +52,7 @@ try {
$mediaMetaInfo = 'itemprop="image"';
$additionalHeaders[] = '<meta property="og:image" content="'.$media->getRenderer()->getImageLink(MediaRenderer::SIZE_SMALL).'"/>';
}
}catch(GUIException $ex){
$error = $ex->getMessage();
}catch (Exception $exec){
@@ -77,7 +79,7 @@ GUIHandler::generateHtmlHeaders(array("additionalHeaders"=>$additionalHeaders));
<div class="headArticolo">
<div class="articoloMainMedia mediaContent" <?php echo $mediaMetaInfo;?>>
<?php if(!is_null($media)) {
$media->renderMedia(array("size"=>MediaRenderer::SIZE_BIG));
$media->renderMedia(array("size"=>MediaRenderer::SIZE_MEDIUM));
}
?>
</div>
@@ -119,21 +121,25 @@ GUIHandler::generateHtmlHeaders(array("additionalHeaders"=>$additionalHeaders));
</div>
<?php }?>
<div class="commentiContainer">
<?php if(UserLoginManager::isLogged()){?>
<div class="newCommento">
<form method="POST">
<textarea name="commento"rows="10" cols="10"></textarea>
<input type="hidden" name="user">
<div id="sentMessage"></div>
<?php //if(UserLoginManager::isLogged()){?>
<div id="commentoArea" class="newCommento">
<form method="POST" id="commentoForm">
<div>Titolo commento:<textarea name="titolo" rows="2" cols="10"></textarea></div>
<div>Commento:<textarea name="commento"rows="10" cols="10"></textarea></div>
<input type="hidden" name="id" value="<?php echo $articolo->id;?>" />
</form>
<div class="formBtns">
<a href="javascript:void(0);" id="submit" >Invia</a>
</div>
</div>
<?php }?>
<?php //}?>
<div>TUTTI I COMMENTI</div>
</div>
</div>
<div class="articoloRightBar" style="width:280px;display:inline-block;">
<div class="rotoBanner">Riquadro Banner Rotanti</div>
<div class="reader">Più Letti</div>
<div class="notRotoBanner">Riquadro Banner Non Rotanti</div>
<?php GUIHandler::generateRightBannerBlock();?>
</div>
</div>
<?php
@@ -166,5 +172,36 @@ GUIHandler::generateHtmlHeaders(array("additionalHeaders"=>$additionalHeaders));
// alert(actualLeft);
}
});
$("#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);
}
});
// });
});
// $("form#commentoForm").on('submit',function (){
// $.ajax({
// type:'post',
// url:'sendCommentoBackend.php',
// dataType:'html',
// data:$("#commentoForm").serialize(),
// target: '#sentMessage',
// complete: function(){
// $("#commentoArea").remove();
// }
// });
// });
});
</script>
</script>
+73
View File
@@ -0,0 +1,73 @@
<?php
require_once(dirname(__FILE__)."/load.php");
try{
// AnalyticsHelper::logPageImpression();
GUIHandler::generateHtmlHeaders();
$category = PostHandler::get("category");
$category = NotiziaModel::CATEGORY_CRONACA;
if(!is_null($category) || ($category!=0)){
$notizie = GlobalVariables::get("dao")->query("NotiziaModel",
array('$and'=>array(array("status"=>NotiziaModel::STATUS_ACCEPTED),array("category"=>$category))),
array("sort"=>array("about.data"=>-1),"limit"=>10)
);
}
else{
GUIHandler::redirect("index.php");
}
}catch(GUIException $ex){
$error = $ex->getMessage();
}catch (Exception $exec){
$msg = LogModel::fromException($exec);
GlobalVariables::get("dao")->save($msg);
GUIHandler::redirect("index.php");
}
?>
<div style="width:1000px;margin-left:auto;margin-right:auto;">
<?php
GUIHandler::generateHeadPublic();
GUIHandler::generateMenu();?>
<div class="categorySummaryContainer">
<?php $i=0;
foreach ($notizie as $notizia){
$i++;
$stringTitolo = (strlen($notizia->titolo) > 103) ? substr($notizia->titolo,0,100).'...' : $notizia->titolo;
$stringSottotitolo = (strlen($notizia->sottotitolo) > 73) ? substr($notizia->sottotitolo,0,70).'...' : $notizia->sottotitolo;
$stringTesto = (strlen($notizia->testo) > 33) ? substr($notizia->testo,0,30).'...' : $notizia->testo;
$media = DaoMediaHandler::getMainMediaFromModel($notizia);
?>
<div class="notiziaContainer">
<div class="notiziaImage mediaContent"><?php (!is_null($media))?$media->renderMedia(array("size"=>MediaRenderer::SIZE_SMALL)):"" ;?></div>
<div id="notizia_<?php echo $i;?>" class="notiziaInfo">
<div class="notiziaTitolo"><?php echo $stringTitolo;?></div>
<div class="notiziaSottotitolo"><?php echo$stringSottotitolo;?></div>
<div class="notiziaTesto"><?php echo $stringTesto;?></div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(event){
$("#notizia_<?php echo $i;?>").click(function(event){
window.location.href="articolo.php?id=<?php echo $notizia->id;?>";
});
});
</script>
<?php
}
?>
</div>
<div class="summaryRightBar">
<?php GUIHandler::generateRightBannerBlock();?>
</div>
<?php
GUIHandler::generateFooter();?>
</div>
+1 -1
View File
@@ -275,7 +275,7 @@ catch (Exception $ex){
</div>
<?php if(sizeof($lastsNews)>0){
foreach($lastsNews as $last){
$data = $mesi[date("n",$last->data->sec)]." ".date("Y",$last->about->data->sec);
$data = $mesi[date("n",$last->about->data->sec)]." ".date("Y",$last->about->data->sec);
$string = (strlen($last->titolo) > 103) ? substr($last->titolo,0,100).'...' : $last->titolo;?>
<div class="lastContainer">
<div class="lastData"><?php echo $data;?></div>
+31
View File
@@ -11,3 +11,34 @@ function bannerClick(banner, link){
$.ajax({url: "stats/bannerClick.php", method: "POST", data: { "banner": banner, "source": window.location.href }, dataType: "html" });
window.open(link);
}
function openRegistrationModal(){
$.ajax({
method:"POST",
url:'registration.php',
dataType:'html',
success: function(data){
$("#floating").html(data);
var off = $("#regButton").offset();
var right = $(document).width()-off.left - $("#regButton").outerWidth();
$("#floating").css("position","absolute").css("right",right).css("top",off.top+25);
$("#floating").show();
}
});
}
function sendRegistration(){
$.ajax({
method:'POST',
url:'sendRegistrationBackend.php',
dataType:'html',
data:$('#regForm').serialize(),
success: function(data){
// $("#regForm").remove();
$(".modalResponse").html(data);
/* Verificare se si possa eliminare la form in caso di registrazione avvenuta con successo assegnando un parametro
* allo span di avvenuta registrazione*/
// $(".modalError").html("");
}
});
}
+26
View File
@@ -0,0 +1,26 @@
<?php
require_once(dirname(__FILE__)."/load.php");
try {
?>
<div class="topReg"><span></span><div><a class="close" href="javascript:$('#floating').hide();">x</a></div></div>
<div class="modalBody">
<div class="modalResponse"></div>
<form id="regForm">
<div>Email: <input type="text" name="email" value="" /></div>
<div>Username: <input type="text" name="username" value=""/></div>
<div>Password: <input type="password" name="pass" value="" /></div>
<div>Conferma password: <input type="password" name="passwordConfirm" value="" /></div>
<div>Vuoi iscriverti alla newsletter? <input type="checkbox" name="newsletter" value="true" checked /></div>
<div class="regMe"><a href="javascript:sendRegistration();">Registrami</a></div>
</form>
</div>
<?php
}catch (Exception $exec){
$msg = LogModel::fromException($exec);
GlobalVariables::get("dao")->save($msg);
}
// echo "zzzzzzzzzzzzzzzzzzzzzz";
?>
+41
View File
@@ -0,0 +1,41 @@
<?php
require_once(dirname(__FILE__)."/load.php");
try {
// if(UserLoginManager::isLogged()){
var_dump($_POST);
$id = PostHandler::get("id");
$titolo = PostHandler::get("titolo");
$commento = PostHandler::get("commento");
if(!is_null($id)){
$articolo = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$id,"status"=>NotiziaModel::STATUS_ACCEPTED));
if(!is_null($articolo)){
$news = new stdClass();
$news->notizia = $articolo->id;
$news->user = UserLoginManager::getLogged();
$commento = new CommentoModel($news);
$commento->titolo = strip_tags($titolo);
$commento->testo = strip_tags($testo);
$commento->status = CommentoModel::STATUS_PENDING;
GlobalVariables::get("dao")->save($commento);
echo '<div class="commentoSent">Il tuo commento è stato inviato ed è in attesa di apporvazione.</div>';
}
}
// }
else{
echo '<div class="commentoSent redError">Un errore ha impedito l\'invio del commento.</div>';
}
}catch (Exception $exec){
var_dump($exec);
// echo '<div class="commentoSent redError">Un errore ha impedito l\'invio del commento.(Ex)</div>';
$msg = LogModel::fromException($exec);
GlobalVariables::get("dao")->save($msg);
}
?>
+56
View File
@@ -0,0 +1,56 @@
<?php
require_once(dirname(__FILE__)."/load.php");
try {
$email = PostHandler::get("email");
$userName = PostHandler::get("username");
$pass = PostHandler::get("pass");
$confPass = PostHandler::get("passwordConfirm");
$newsletter = false;
if(array_key_exists("newsletter", $_POST)){
$newsletter = true;
}
$notEmail = GlobalVariables::get("dao")->getFirst("UserModel",array("email"=>$email));
$notUser = GlobalVariables::get("dao")->getFirst("UserModel",array("username"=>$userName));
if(is_null($notEmail) || strcmp($email, $notEmail)!=0){
if(is_null($notUser) || strcmp($userName, $notUser)!=0){
if(strcmp($pass, $confPass)==0){
// GlobalVariables::get("dao")->getFirst("UserModel",array("username"=>$userName));
// GlobalVariables::get("dao")->getFirst("UserModel",array("email"=>$email));
// GlobalVariables::get("dao")->getFirst("UserModel",array("username"=>$userName));
$user = new stdClass();
$user->email = $email;
$user->password = sha1($pass);
$user->username = $userName;
$user->newsletter = $newsletter;
$userModel = new UserModel($user);
// GlobalVariables::get("dao")->save($userModel);
echo 'Registrazione avvenuta con successo.A breve riceverai una mail per confermare la tua registrazione';
}
else{
// trigger_error("Le due password non coincidono (trigger)");
echo '<span style="color:red;">Le due password non coincidono</span>';
}
}
else{
echo '<span style="color:red;">Questo username è già in uso da un altro utente.</span>';
}
}
else{
echo '<span style="color:red;">Questa email risulta già in utilizzo.<span>';
}
}catch(Exception $exec){
$msg = LogModel::fromException($exec);
GlobalVariables::get("dao")->save($msg);
}
?>
+83 -10
View File
@@ -76,6 +76,49 @@ body{font-family:lato, arial;}
margin-left: 1px;
}
/*
__ __ _ _
| \/ | ___ __| | __ _| |
| |\/| |/ _ \ / _` |/ _` | |
| | | | (_) | (_| | (_| | |
|_| |_|\___/ \__,_|\__,_|_|
*/
#floating{
background-color:#ceecf4;
z-index:4;
padding:5px 10px;
}
.topReg{text-align:right;}
.topReg > div{display:inline-block;}
.topReg > span,a{vertical-align:top;}
.close{vertical-align:top;color:white;}
.modalBody{text-align:right;}
.regMe{text-align:left;}
.modalResponse{text-align:center;color:aqua;font-weight:bold;}
#modalBlock{}/*
margin-left:auto;
margin-right:auto;
background-color:green;
width:500px;
height:500px;
opacity:0;
} */
/*
_ _
| | | | ___ _ __ ___ ___ _ __ __ _ __ _ ___
@@ -188,12 +231,12 @@ body{font-family:lato, arial;}
.middleRightBanner{width:220px;overflow:hidden;}
.middleRightBanner > img{max-width:220px; max-heigth:200px;}
.lastContainer{max-height:120px;margin-top:5px;margin-bottom:5px;border-bottom:dotted #C1B4B4 1px;}
.lastContainer:last-child {border-bottom: none;}
.lastData{font-size:12px;}
.lastTitle{font-size:12px;font-weight:bold;}
.lastContinua{text-align:right; font-size:12px;font-weight:bold;padding-bottom:5px;}
.lastContinua a{color:#64bff0;}
.reader > .lastContainer, .lastContainer{max-height:120px;margin-top:5px;margin-bottom:5px;border-bottom:dotted #C1B4B4 1px;}
.reader > .lastContainer:last-child, .lastContainer:last-child {border-bottom: none;}
.reader > .lastData, .lastData{font-size:12px;}
.reader > .lastTitle, .lastTitle{font-size:12px;font-weight:bold;}
.reader > .lastContinua, .lastContinua{text-align:right; font-size:12px;font-weight:bold;padding-bottom:5px;}
.reader > .lastContinua a, .lastContinua a{color:#64bff0;}
.gossipContainer{max-height:120px;margin-top:5px;margin-bottom:5px;border-bottom:dotted #C1B4B4 1px;cursor:pointer;}
.gossipContainer#gossip_2{border-bottom:none;}
@@ -231,7 +274,7 @@ body{font-family:lato, arial;}
.headArticolo{margin-bottom:25px;}
.articoloMainMedia{display:inline-block;vertical-align:top;width:400px;}
.articoloMainMedia{display:inline-block;vertical-align:top;width:400px;text-align:center;}
.articoloTitle{display:inline-block;width:550px;padding:0px 20px;vertical-align:top;}
.articoloTitle > .title{font-size:20px;font-weight:bold;text-transform:uppercase;font-family:"Arial Bold";}
@@ -276,6 +319,36 @@ body{font-family:lato, arial;}
.articoloRightBar{vertical-align:top;}
.rotoBanner{}
.reader{}
.notRotoBanner{}
.categorySummaryContainer{width:600px;padding:5px 10px 5px 0px;vertical-align:top;display:inline-block;}
.categorySummaryContainer > .notiziaContainer{border:solid #d6d6d6 1px;margin-bottom:5px;padding:5px;}
.notiziaContainer > .notiziaImage{display:inline-block;vertical-align:middle;text-align:center;}
.notiziaContainer > .notiziaInfo{display:inline-block;width:430px;padding:10px;vertical-align:middle;cursor:pointer;}
.notiziaInfo > .notiziaTitolo{font-weight:bold;padding:5px;}
.notiziaInfo > .notiziaSottotitolo{padding:5px;}
.notiziaInfo > .notiziaTesto{padding:5px;color:#1a9ee9;font-weight:bold;}
.summaryRightBar{width:370px;padding:5px;vertical-align:top;display:inline-block;}
.rightBarContainer{width:100%;height:100%;}
.bannerContainer{width:45%;padding:5px;display:inline-block;}
/*
____
| __ ) __ _ _ __ _ __ ___ _ __
| _ \ / _` | '_ \| '_ \ / _ \ '__|
| |_) | (_| | | | | | | | __/ |
|____/ \__,_|_| |_|_| |_|\___|_|
*/
.rotoBanner{border:solid #d6d6d6 1px;padding:5px;margin-bottom:5px;}
.reader{border:solid #d6d6d6 1px;padding:5px;margin-bottom:5px;}
.rotoBanner .not{}