11 Commits
Author SHA1 Message Date
r.didato 0cbf98d43e Ridotto tempo di rotazione banner 2022-11-16 21:15:30 +01:00
r.didato 0359e12555 #15 Rimossi allineamenti non necessari 2022-10-10 21:02:48 +02:00
r.didato 83e17cec7c #15 - Fixed 2022-10-10 20:57:18 +02:00
r.didato 05e4c00b7f asd 2022-10-04 20:45:14 +02:00
r.didato 69eb59b93b Typpo 2022-10-04 20:42:00 +02:00
r.didato 4883c53419 Fix click Banner 2022-10-04 20:41:22 +02:00
r.didato a0bafc453f CICD 2022-10-04 19:56:49 +02:00
r.didato b515760e6d Fix config 2022-10-04 19:47:16 +02:00
r.didato ea4e0c0ec3 FromName email 2022-10-02 19:54:26 +02:00
r.didato 3f04905d22 #12 Backup + fix config email 2022-10-02 19:45:09 +02:00
r.didato 0ab6391bf3 #12 2022-10-02 19:16:59 +02:00
21 changed files with 115 additions and 26 deletions
+2 -2
View File
@@ -36,7 +36,7 @@ $currentSystem->apache->user = "var-www";
$currentSystem->apache->group = "var-www";
$currentSystem->apache->workdir = "/var/www"; // Il path in cui inserire la cartella con le pagine html
$currentSystem->remoteLocationPath = getenv('ASD_PUBLIC_URL')."/";
$currentSystem->remoteLocationPath = getenv('DDNINJA_PUBLIC_URL')."/";
// Deprecato in quanto CBS2 è stato dismesso
$backupSystem = new stdClass();
@@ -134,7 +134,7 @@ $config->database = $database;
$config->mailer = new stdClass();
$config->mailer->address = "email-smtp.eu-west-1.amazonaws.com";
$config->mailer->port = "25";
$config->mailer->port = "587";
$config->mailer->username = "AKIASMB7IW2MQPUP5CXS";
$config->mailer->password = "BHv+82Nns1kIKg99Hx0sjKlEpR+X4+1EgX+ec64n/mBt";
$config->mailer->smtpAuth = true;
+1 -1
View File
@@ -61,7 +61,7 @@ class BannerHelper {
private static function getBannerImpressions($bannerIds) {
$time = strtotime("today CET");
$time = strtotime("today");
$stats = GlobalVariables::get("dao")->query(
BannerStatsModel::class,
[
+1 -1
View File
@@ -193,7 +193,7 @@ class PipelineHelper {
'statType'=>StatisticModel::STAT_TYPE_BANNER_IMPRESSION,
'content.position'=>$position,
// 'date'=>array( '$gte'=>new MongoDate(strtotime("today")) )
'date'=>array( '$gte'=>new MongoDB\BSON\UTCDateTime(strtotime("today CET") * 1000) )
'date'=>array( '$gte'=>new MongoDB\BSON\UTCDateTime(strtotime("today") * 1000) )
)
),
array(
+2 -4
View File
@@ -49,10 +49,8 @@ class MailModel extends Model implements FDN_MailInterface{
$email->isMail();
$email->From = $this->from;
if ($this->hasProperty("fromName")){
$email->FromName = $this->fromName;
}
$email->FromName = "I Fatti di Napoli";
$email->Subject = $this->subject;
$email->IsHTML(true);
@@ -28,7 +28,7 @@ class ArticleStatsModel extends Model {
}
public static function getFilter($articleId, $day, $month, $year) {
$time = strtotime("$year-$month-$day CET");
$time = strtotime("$year-$month-$day");
return [
'notizia' => $articleId,
'time' => new MongoDB\BSON\UTCDateTime( $time * 1000 ),
@@ -16,7 +16,7 @@ class BannerStatsModel extends Model {
}
public static function new($bannerId, $day, $month, $year) {
$time = strtotime("$year-$month-$day CET");
$time = strtotime("$year-$month-$day");
return new static(
(object)[
'banner' => $bannerId,
@@ -30,7 +30,7 @@ class BannerStatsModel extends Model {
);
}
public static function getFilter($bannerId, $day, $month, $year) {
$time = strtotime("$year-$month-$day CET");
$time = strtotime("$year-$month-$day");
return [
'banner' => $bannerId,
'time' => new MongoDB\BSON\UTCDateTime( $time * 1000 ),
@@ -15,7 +15,7 @@ class PageViewStatsModel extends Model {
return "pageview_stats";
}
public static function new($page, $day, $month, $year) {
$time = strtotime("$year-$month-$day CET");
$time = strtotime("$year-$month-$day");
return new static(
(object)[
@@ -33,7 +33,7 @@ class PageViewStatsModel extends Model {
}
public static function getFilter($page, $day, $month, $year) {
$time = strtotime("$year-$month-$day CET");
$time = strtotime("$year-$month-$day");
return [
'page' => $page,
'time' => new MongoDB\BSON\UTCDateTime( $time * 1000 ),
+1 -1
View File
@@ -381,7 +381,7 @@ class GUIHandler {
$stats = GlobalVariables::get("dao")->aggregate(
ArticleStatsModel::class,
PipelineHelper::getMostViewedOfLastDays(strtotime("-7 days CET"),5)
PipelineHelper::getMostViewedOfLastDays(strtotime("-7 days"),5)
);
$idArray = array_map(function ($ele){ return new MongoDB\BSON\ObjectID($ele["notizia"]);}, $stats);
+2
View File
@@ -4,6 +4,8 @@ Author: Riccardo Di Dato
Creation Date: 04/feb/2013
*/
date_default_timezone_set("Europe/Rome");
require_once(dirname(__FILE__)."/common/config.php");
require_once(dirname(__FILE__)."/lib/lib.inclusions.php");
+4 -4
View File
@@ -72,13 +72,13 @@ try{
<div class="bannerStat">
<div>
<div class="statName">Oggi</div>
<div>Visualizzazioni: <?php echo AnalyticsHelper::countBannerImpressions($banner->id,strtotime("today CET"));?></div>
<div class="toHide">Click: <?php echo AnalyticsHelper::countBannerClicks($banner->id,strtotime("today CET"));?></div>
<div>Visualizzazioni: <?php echo AnalyticsHelper::countBannerImpressions($banner->id,strtotime("today"));?></div>
<div class="toHide">Click: <?php echo AnalyticsHelper::countBannerClicks($banner->id,strtotime("today"));?></div>
</div>
<div>
<div class="statName">Ultima settimana</div>
<div>Visualizzazioni: <?php echo AnalyticsHelper::countBannerImpressions($banner->id,strtotime("-7 days CET"));?></div>
<div class="toHide">Click: <?php echo AnalyticsHelper::countBannerClicks($banner->id,strtotime("-7 days CET"));?></div>
<div>Visualizzazioni: <?php echo AnalyticsHelper::countBannerImpressions($banner->id,strtotime("-7 days"));?></div>
<div class="toHide">Click: <?php echo AnalyticsHelper::countBannerClicks($banner->id,strtotime("-7 days"));?></div>
</div>
<div>
<div class="statName">Totali</div>
+2 -2
View File
@@ -144,11 +144,11 @@ try{
<div class="notiziaStat">
<div>
<div class="statName">Oggi</div>
<div><?php echo AnalyticsHelper::countNotiziaImpressions($notizia->id,strtotime("today CET"));?></div>
<div><?php echo AnalyticsHelper::countNotiziaImpressions($notizia->id,strtotime("today"));?></div>
</div>
<div>
<div class="statName">Ultima settimana</div>
<div><?php echo AnalyticsHelper::countNotiziaImpressions($notizia->id,strtotime("-7 days CET"));?></div>
<div><?php echo AnalyticsHelper::countNotiziaImpressions($notizia->id,strtotime("-7 days"));?></div>
</div>
<div>
<div class="statName">Totali</div>
+24 -2
View File
@@ -1,5 +1,5 @@
const MAX_EXECUTIONS = 12;
const ROTATION_INTERVAL = 30000;
const ROTATION_INTERVAL = 12000;
const executions = {};
@@ -41,7 +41,29 @@ function bannerGroup(group, grpName) {
(target) => {
if (rval.length > 0) {
const ele = rval.shift();
$('#'+target).html(ele.media);
let mediaHtml = ele.media;
if (ele.link) {
const a = document.createElement('a');
a.href = ele.link;
a.target = "_blank";
a.innerHTML = ele.media;
mediaHtml = a;
}
mediaHtml.addEventListener(
'click',
() => {
$.ajax({
url: "stats/bannerClick.php",
method: "POST",
data: {
banner: ele.id,
source: document.URL
},
dataType: "html"
});
}
);
$('#'+target).html(mediaHtml);
}
}
);
+1 -1
View File
@@ -17,7 +17,7 @@ try {
if (!is_null($ip) && !is_null($banners) && !is_null($source)){
$banners = explode(",", $banners);
$ts = strtotime('today CET');
$ts = strtotime('today');
foreach ($banners as $banner) {
AnalyticsHelper::bannerImpression(
+13
View File
@@ -0,0 +1,13 @@
FROM alpine:3.6
RUN apk add --no-cache --upgrade bash mongodb-tools
# copy crontabs for root user
COPY crontab /etc/crontabs/root
# copy backup script
COPY backup /myscripts/backup
RUN chmod 0744 /myscripts/backup
# start crond with log level 8 in foreground, output to stderr
CMD ["crond", "-f", "-d", "8"]
+24
View File
@@ -0,0 +1,24 @@
#!/bin/sh
DATE=`date +"%Y-%m-%d_%H:%M"`
echo "Generating backup $DATE"
DATABASE_HOST="fdn2.production.database"
DATABASE_NAME="fdn2"
DATABASE_PORT="27017"
WORKDIR="/workdir"
STORAGE="/backups"
mkdir -p $WORKDIR
mongodump --host $DATABASE_HOST -d $DATABASE_NAME --port $DATABASE_PORT --out "$WORKDIR"
tar -cvzf "$STORAGE/dump-$DATE.tar.gz" "$WORKDIR"
for old in `ls -t $STORAGE | tail -n +7`; do
TOREMOVE="$STORAGE/$old"
echo "Removing '$TOREMOVE'";
rm -r $TOREMOVE
done
+1
View File
@@ -0,0 +1 @@
4 0 * * * /myscripts/backup 2>&1
+17
View File
@@ -0,0 +1,17 @@
version: "3"
services:
backup:
image: cronjob
build: ./
networks:
- backup-network
restart: "unless-stopped"
volumes:
- /home/ddninja/fdn2/backups:/backups
networks:
backup-network:
external: true
name:
backup-network
+7
View File
@@ -5,6 +5,9 @@ services:
restart: "on-failure:5"
networks:
db-network:
backup-network:
aliases:
- §PROJECT_BUILDNAME§.§ENVIRONMENT_TYPE§.database
volumes:
- ./persistence/database/mongodb:/data/db/
logging:
@@ -75,6 +78,10 @@ services:
networks:
db-network:
§PROJECT_BUILDNAME§-network:
backup-network:
external: true
name:
backup-network
nginx-network:
external: true
name:
+6 -1
View File
@@ -5,8 +5,9 @@ services:
restart: "no"
networks:
db-network:
backup-network:
aliases:
- §PROJECT_BUILDNAME§.§ENVIRONMENT_TYPE§.database
- §PROJECT_BUILDNAME§.local.database
volumes:
- §PROJECT_BUILDNAME§-db-persist:/data/db/
webserver:
@@ -53,6 +54,10 @@ services:
networks:
db-network:
§PROJECT_BUILDNAME§-network:
backup-network:
external: true
name:
backup-network
volumes:
+1 -1
View File
@@ -4,4 +4,4 @@ DDNINJA_IS_PRODUCTION=true
DDNINJA_MONGO_DBNAME=fdn2
DDNINJA_MONGO_LOCATION=database
DDNINJA_PUBLIC_URL=http://preproduction.ifattidinapoli.it
DDNINJA_PUBLIC_URL=http://www.ifattidinapoli.it
+1 -1
View File
@@ -4,4 +4,4 @@ DDNINJA_IS_PRODUCTION=true
DDNINJA_MONGO_DBNAME=fdn2
DDNINJA_MONGO_LOCATION=database
DDNINJA_PUBLIC_URL=http://preproduction.ifattidinapoli.it
DDNINJA_PUBLIC_URL=http://www.ifattidinapoli.it