Compare commits
60
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
69ab1c94b1 | ||
|
|
b550cbda4a | ||
|
|
2ef1efe1c9 | ||
|
|
58962bb97e | ||
|
|
38bae579e5 | ||
|
|
3633c94366 | ||
|
|
55b5bb2395 | ||
|
|
ed384b28e7 | ||
|
|
d47dba6898 | ||
|
|
cc4bdb2e0f | ||
|
|
e99d00f22f | ||
|
|
8694ac5224 | ||
|
|
6815e672fd | ||
|
|
cd0ced6cf4 | ||
|
|
ed69ff4923 | ||
|
|
fe355027ea | ||
|
|
45673894af | ||
|
|
5ab17889f4 | ||
|
|
25a8495c5c | ||
|
|
0dd8a47c51 | ||
|
|
6e07f1ad0b | ||
|
|
eb643bcb79 | ||
|
|
b1a33940ff | ||
|
|
b9be324698 | ||
|
|
40d0e6071a | ||
|
|
60dfebc676 | ||
|
|
0479701b70 | ||
|
|
f80dc6ec64 | ||
|
|
fc63d04c6b | ||
|
|
0cbf98d43e | ||
|
|
0359e12555 | ||
|
|
83e17cec7c | ||
|
|
05e4c00b7f | ||
|
|
69eb59b93b | ||
|
|
4883c53419 | ||
|
|
a0bafc453f | ||
|
|
b515760e6d | ||
|
|
ea4e0c0ec3 | ||
|
|
3f04905d22 | ||
|
|
0ab6391bf3 | ||
|
|
a66dfa8530 | ||
|
|
09cf83c31b | ||
|
|
aac8e9786d | ||
|
|
bcfea0cfad | ||
|
|
8a097b5956 | ||
|
|
effeae054e | ||
|
|
daabdbb566 | ||
|
|
2ed3a2bf3c | ||
|
|
3b12ce1786 | ||
|
|
6c3acfe5e9 | ||
|
|
93bb9b2610 | ||
|
|
e2fb0d6d89 | ||
|
|
617a3f50eb | ||
|
|
c666b50dd8 | ||
|
|
34fb57fa81 | ||
|
|
7680378f28 | ||
|
|
7bab6253cf | ||
|
|
f7db85cc13 | ||
|
|
09396f8c98 | ||
|
|
064eeec5a0 |
@@ -2,6 +2,10 @@
|
||||
|
||||
Versione dockerizzata di FDN2
|
||||
|
||||
# HTTPS - CSR
|
||||
|
||||
> openssl req -new -newkey rsa:2048 -nodes -out www_ifattidinapoli_it.csr -keyout www_ifattidinapoli_it.key -subj "/C=IT/ST=Na/L=Napoli/O=I Fatti di Napoli/CN=www.ifattidinapoli.it"
|
||||
|
||||
### Dependencies
|
||||
- AWS Cli
|
||||
|
||||
|
||||
@@ -20,11 +20,5 @@
|
||||
|
||||
</Directory>
|
||||
|
||||
<IfModule xsendfile_module>
|
||||
XSendFile on
|
||||
XSendFilePath "/tmp/xsend"
|
||||
</IfModule>
|
||||
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
|
||||
@@ -12,5 +12,8 @@ mkdir -p "/tmp/${DDNINJA_AUTHOR}/${DDNINJA_BUILDNAME}"
|
||||
chown -R www-data:www-data "/tmp/${DDNINJA_AUTHOR}/${DDNINJA_BUILDNAME}"
|
||||
chown -R www-data:www-data /var/log/${DDNINJA_AUTHOR}
|
||||
|
||||
mkdir -p "/home/${DDNINJA_AUTHOR}/storage/${DDNINJA_BUILDNAME}/media/"
|
||||
chown -R www-data:www-data "/home/${DDNINJA_AUTHOR}/storage/${DDNINJA_BUILDNAME}/media/"
|
||||
|
||||
asdphp-entrypoint & wait
|
||||
exit $?
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
function exit_func {
|
||||
echo "SIGTERM detected"
|
||||
exit 1
|
||||
}
|
||||
trap exit_func SIGTERM SIGINT
|
||||
|
||||
ASD_BINDIR="/home/${DDNINJA_AUTHOR}/private/${DDNINJA_BUILDNAME}/bin"
|
||||
|
||||
mkdir -p "/tmp/${DDNINJA_AUTHOR}/${DDNINJA_BUILDNAME}"
|
||||
mkdir -p "/home/${DDNINJA_AUTHOR}/storage/${DDNINJA_BUILDNAME}/media/"
|
||||
mkdir -p "/var/log/${DDNINJA_AUTHOR}/${DDNINJA_BUILDNAME}/"
|
||||
|
||||
php /home/${DDNINJA_AUTHOR}/private/${DDNINJA_BUILDNAME}/bin/worker.php & wait
|
||||
exit $?
|
||||
@@ -6,6 +6,7 @@
|
||||
* File : convertStats.php
|
||||
*******************************************/
|
||||
|
||||
die();
|
||||
require_once(dirname(__FILE__)."/../load.php");
|
||||
|
||||
$iteration = 0;
|
||||
|
||||
Executable
+363
@@ -0,0 +1,363 @@
|
||||
#!/usr/local/bin/php
|
||||
<?php
|
||||
/******************************************
|
||||
* Author : Riccardo Di Dato
|
||||
* Created On : Tue Aug 30 2022
|
||||
* File : convertStats.php
|
||||
*******************************************/
|
||||
|
||||
require_once(dirname(__FILE__)."/../load.php");
|
||||
|
||||
|
||||
function getDailyBannerImpressionsPipeline($startDate, $endDate) {
|
||||
return [
|
||||
[
|
||||
'$project' => [
|
||||
'tdate'=> [
|
||||
'$add' => [ '$date' , 60*60*1000 ]
|
||||
],
|
||||
"statType" => '$statType',
|
||||
'user' => '$user',
|
||||
'banner' => '$content.banner',
|
||||
]
|
||||
],
|
||||
[
|
||||
'$match' => [
|
||||
'statType' => StatisticModel::STAT_TYPE_BANNER_IMPRESSION,
|
||||
'tdate' => [
|
||||
'$gte'=>new MongoDB\BSON\UTCDateTime($startDate * 1000),
|
||||
'$lte'=>new MongoDB\BSON\UTCDateTime($endDate * 1000)
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
'$group' => [
|
||||
'_id' => [
|
||||
'date' => [
|
||||
'day' => [ '$dayOfMonth' => '$tdate' ],
|
||||
"month" => [ '$month' => '$tdate' ],
|
||||
"year" => [ '$year'=>'$tdate' ]
|
||||
],
|
||||
'banner' => '$banner',
|
||||
],
|
||||
"visualizzazioni" => [ '$sum' => 1 ]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
function getDailyBannerClicksPipeline($startDate, $endDate) {
|
||||
return [
|
||||
[
|
||||
'$project' => [
|
||||
'tdate'=> [
|
||||
'$add' => [ '$date' , 60*60*1000 ]
|
||||
],
|
||||
"statType" => '$statType',
|
||||
'user' => '$user',
|
||||
'banner' => '$content.banner',
|
||||
]
|
||||
],
|
||||
[
|
||||
'$match' => [
|
||||
'statType' => StatisticModel::STAT_TYPE_BANNER_CLICK,
|
||||
'tdate' => [
|
||||
'$gte'=>new MongoDB\BSON\UTCDateTime($startDate * 1000),
|
||||
'$lte'=>new MongoDB\BSON\UTCDateTime($endDate * 1000)
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
'$group' => [
|
||||
'_id' => [
|
||||
'date' => [
|
||||
'day' => [ '$dayOfMonth' => '$tdate' ],
|
||||
"month" => [ '$month' => '$tdate' ],
|
||||
"year" => [ '$year'=>'$tdate' ]
|
||||
],
|
||||
'banner' => '$banner',
|
||||
],
|
||||
"visualizzazioni" => [ '$sum' => 1 ]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
function getDailyNotiziaImpressionsPipeline($startDate, $endDate) {
|
||||
return [
|
||||
[
|
||||
'$project' => [
|
||||
'tdate'=> [
|
||||
'$add' => [ '$date' , 60*60*1000 ]
|
||||
],
|
||||
"statType" => '$statType',
|
||||
'user' => '$user',
|
||||
"content" => '$content'
|
||||
]
|
||||
],
|
||||
[
|
||||
'$match' => [
|
||||
'statType' => StatisticModel::STAT_TYPE_NOTIZIA,
|
||||
'tdate' => [
|
||||
'$gte'=>new MongoDB\BSON\UTCDateTime($startDate * 1000),
|
||||
'$lte'=>new MongoDB\BSON\UTCDateTime($endDate * 1000)
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
'$group' => [
|
||||
'_id' => [
|
||||
'date' => [
|
||||
'day' => [ '$dayOfMonth' => '$tdate' ],
|
||||
"month" => [ '$month' => '$tdate' ],
|
||||
"year" => [ '$year'=>'$tdate' ]
|
||||
],
|
||||
'notizia' => '$content.notizia',
|
||||
],
|
||||
"visualizzazioni" => [ '$sum' => 1 ]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
function getYearlyNotiziaImpressionsPipeline($startDate, $endDate) {
|
||||
return [
|
||||
[
|
||||
'$project' => [
|
||||
'tdate'=> [
|
||||
'$add' => [ '$date' , 60*60*1000 ]
|
||||
],
|
||||
"statType" => '$statType',
|
||||
'user' => '$user',
|
||||
"content" => '$content'
|
||||
]
|
||||
],
|
||||
[
|
||||
'$match' => [
|
||||
'statType' => StatisticModel::STAT_TYPE_NOTIZIA,
|
||||
'tdate' => [
|
||||
'$gte'=>new MongoDB\BSON\UTCDateTime($startDate * 1000),
|
||||
'$lte'=>new MongoDB\BSON\UTCDateTime($endDate * 1000)
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
'$group' => [
|
||||
'_id' => [
|
||||
'notizia' => '$content.notizia',
|
||||
],
|
||||
"visualizzazioni" => [ '$sum' => 1 ]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
function getDailyPageImpressionsPipeline($startDate, $endDate) {
|
||||
return [
|
||||
[
|
||||
'$project' => [
|
||||
'tdate'=> [
|
||||
'$add' => [ '$date' , 60*60*1000 ]
|
||||
],
|
||||
"statType" => '$statType',
|
||||
'user' => '$user',
|
||||
'content' => '$content',
|
||||
]
|
||||
],
|
||||
[
|
||||
'$match' => [
|
||||
'statType' => StatisticModel::STAT_TYPE_PAGE,
|
||||
'tdate' => [
|
||||
'$gte'=>new MongoDB\BSON\UTCDateTime($startDate * 1000),
|
||||
'$lte'=>new MongoDB\BSON\UTCDateTime($endDate * 1000)
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
'$group' => [
|
||||
'_id' => [
|
||||
'date' => [
|
||||
'day' => [ '$dayOfMonth' => '$tdate' ],
|
||||
"month" => [ '$month' => '$tdate' ],
|
||||
"year" => [ '$year'=>'$tdate' ]
|
||||
],
|
||||
'user' => '$user.id',
|
||||
'content' => '$content',
|
||||
],
|
||||
"visualizzazioni" => [ '$sum' => 1 ]
|
||||
]
|
||||
],
|
||||
[
|
||||
'$group' => [
|
||||
'_id' => [
|
||||
'date' => '$_id.date',
|
||||
'content' => '$_id.content',
|
||||
],
|
||||
"visualizzazioni" => [ '$sum' => '$visualizzazioni' ],
|
||||
'isNewToday' => [ '$sum' => 1 ],
|
||||
'isAbsoluteNew' => [ '$sum' => 1 ]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
function getMonthlyPageImpressionsPipeline($startDate, $endDate) {
|
||||
return [
|
||||
[
|
||||
'$match' => [
|
||||
'statType' => StatisticModel::STAT_TYPE_PAGE,
|
||||
'tdate' => [
|
||||
'$gte'=>new MongoDB\BSON\UTCDateTime($startDate * 1000),
|
||||
'$lte'=>new MongoDB\BSON\UTCDateTime($endDate * 1000)
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
'$group' => [
|
||||
'_id' => [
|
||||
'date' => [
|
||||
"month" => [ '$month' => '$tdate' ],
|
||||
"year" => [ '$year'=>'$tdate' ]
|
||||
],
|
||||
'user' => '$user.id',
|
||||
'content' => '$content',
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
'$group' => [
|
||||
'_id' => [
|
||||
'date' => '$_id.date',
|
||||
'content' => '$_id.content',
|
||||
],
|
||||
"isMonthlyNew" => [ '$sum' => 1 ]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
$curYear = intval(date("Y"));
|
||||
for ($y = 2016; $y <= intval(date("Y")); $y++) {
|
||||
echo "Working on year : $y", PHP_EOL;
|
||||
|
||||
$from = strtotime($y."-01-01");
|
||||
$to = strtotime($y."-12-31");
|
||||
|
||||
$dao = GlobalVariables::get("dao");
|
||||
if ($dao instanceof GenericDao) {
|
||||
$pipe = getDailyPageImpressionsPipeline( $from, $to );
|
||||
|
||||
echo " - Working on Daily Page Impressions", PHP_EOL;
|
||||
$data = $dao->aggregate(
|
||||
StatisticModel::class,
|
||||
$pipe,
|
||||
['cursor' => true]
|
||||
);
|
||||
|
||||
foreach ($data as $elem) {
|
||||
AnalyticsHelper::multiPageImpression(
|
||||
$elem->_id->content,
|
||||
$elem->_id->date->day,
|
||||
$elem->_id->date->month,
|
||||
$elem->_id->date->year,
|
||||
$elem->visualizzazioni,
|
||||
$elem->isNewToday,
|
||||
0,
|
||||
$elem->isAbsoluteNew
|
||||
);
|
||||
}
|
||||
|
||||
$pipe = getMonthlyPageImpressionsPipeline( $from, $to );
|
||||
|
||||
echo " - Working on Monthly Page Impressions", PHP_EOL;
|
||||
$data = $dao->aggregate(
|
||||
StatisticModel::class,
|
||||
$pipe,
|
||||
['cursor' => true]
|
||||
);
|
||||
|
||||
foreach ($data as $elem) {
|
||||
AnalyticsHelper::multiPageImpression(
|
||||
$elem->_id->content,
|
||||
1,
|
||||
$elem->_id->date->month,
|
||||
$elem->_id->date->year,
|
||||
0,
|
||||
0,
|
||||
$elem->isMonthlyNew,
|
||||
0
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
if ($y == $curYear) {
|
||||
$pipe = getDailyNotiziaImpressionsPipeline( $from, $to );
|
||||
}
|
||||
else {
|
||||
$pipe = getYearlyNotiziaImpressionsPipeline($from, $to);
|
||||
}
|
||||
|
||||
echo " - Working on Notizia Impressions", PHP_EOL;
|
||||
$data = $dao->aggregate(
|
||||
StatisticModel::class,
|
||||
$pipe,
|
||||
['cursor' => true]
|
||||
);
|
||||
|
||||
foreach ($data as $elem) {
|
||||
$day = $y == 2022 ? $elem->_id->date->day : 1;
|
||||
$month = $y == 2022 ? $elem->_id->date->month : 1;
|
||||
AnalyticsHelper::multiNotiziaImpression(
|
||||
$elem->_id->notizia,
|
||||
$day,
|
||||
$month,
|
||||
$y,
|
||||
$elem->visualizzazioni
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$pipe = getDailyBannerImpressionsPipeline( $from, $to );
|
||||
|
||||
echo " - Working on Banner Impressions", PHP_EOL;
|
||||
$data = $dao->aggregate(
|
||||
StatisticModel::class,
|
||||
$pipe,
|
||||
['cursor' => true]
|
||||
);
|
||||
|
||||
foreach ($data as $elem) {
|
||||
AnalyticsHelper::multiBannerImpression(
|
||||
$elem->_id->banner,
|
||||
$elem->_id->date->day,
|
||||
$elem->_id->date->month,
|
||||
$elem->_id->date->year,
|
||||
$elem->visualizzazioni
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$pipe = getDailyBannerClicksPipeline( $from, $to );
|
||||
|
||||
echo " - Working on Banner Clicks", PHP_EOL;
|
||||
$data = $dao->aggregate(
|
||||
StatisticModel::class,
|
||||
$pipe,
|
||||
['cursor' => true]
|
||||
);
|
||||
|
||||
foreach ($data as $elem) {
|
||||
AnalyticsHelper::multiBannerClick(
|
||||
$elem->_id->banner,
|
||||
$elem->_id->date->day,
|
||||
$elem->_id->date->month,
|
||||
$elem->_id->date->year,
|
||||
$elem->visualizzazioni
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
Executable
+83
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
use ASD\ThresholdTimer;
|
||||
|
||||
require_once(dirname(__FILE__)."/../load.php");
|
||||
|
||||
require_once("/home/ddninja/private/asdphp/lib/core/ThresholdTimer.php");
|
||||
|
||||
|
||||
$timer = new ThresholdTimer(60);
|
||||
|
||||
function logInfo(string $msg) {
|
||||
echo date("Y-m-d H:i")." - ".$msg,PHP_EOL;
|
||||
}
|
||||
function execHour() {
|
||||
return intval(date('i')) == 0;
|
||||
}
|
||||
function execDay() {
|
||||
return execHour() && intval(date('H')) == 3;
|
||||
}
|
||||
function getMinuteTasks() {
|
||||
return [
|
||||
GenerateAdminActivationMailTask::class,
|
||||
GenerateUserActivationMailTask::class,
|
||||
GenerateAdminPasswordRecoveryMailTask::class,
|
||||
GenerateUserPasswordRecoveryMailTask::class,
|
||||
MailSendTask::class
|
||||
];
|
||||
}
|
||||
function getHourTasks() {
|
||||
return [
|
||||
// NewsletterCheckTask::class,
|
||||
DeleteOldPasswordResetRequestsTask::class,
|
||||
UpdateMeteoCacheTask::class,
|
||||
GenerateCommentiWarningMailTask::class
|
||||
];
|
||||
}
|
||||
function getDailyTasks() {
|
||||
return [
|
||||
// SendBackupTask::class
|
||||
];
|
||||
}
|
||||
|
||||
function execute($taskName) {
|
||||
try {
|
||||
if ($taskName::isActive()){
|
||||
logInfo("Executing task $taskName");
|
||||
$taskName::execute();
|
||||
logInfo("Task $taskName executed with success");
|
||||
}
|
||||
}
|
||||
catch (Exception $ex) {
|
||||
logInfo("Task $taskName failed execution");
|
||||
var_dump($ex);
|
||||
}
|
||||
}
|
||||
|
||||
logInfo("Worker STARTED!!");
|
||||
|
||||
$count = 1;
|
||||
while (1) {
|
||||
logInfo("Executing Minute");
|
||||
foreach (getMinuteTasks() as $task ) {
|
||||
execute($task);
|
||||
}
|
||||
if (execHour()) {
|
||||
logInfo("Exec hourly");
|
||||
foreach (getHourTasks() as $task ) {
|
||||
execute($task);
|
||||
}
|
||||
}
|
||||
if (execDay()) {
|
||||
logInfo("Exec Daily");
|
||||
foreach (getDailyTasks() as $task ) {
|
||||
execute($task);
|
||||
}
|
||||
}
|
||||
|
||||
$timer->waitUntilThresholdReached(true);
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
@@ -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();
|
||||
@@ -132,4 +132,11 @@ $config->cbs2->serverPort = $cbs2->serverPort;
|
||||
|
||||
$config->database = $database;
|
||||
|
||||
$config->mailer = new stdClass();
|
||||
$config->mailer->address = "email-smtp.eu-west-1.amazonaws.com";
|
||||
$config->mailer->port = "587";
|
||||
$config->mailer->username = "AKIASMB7IW2MQPUP5CXS";
|
||||
$config->mailer->password = "BHv+82Nns1kIKg99Hx0sjKlEpR+X4+1EgX+ec64n/mBt";
|
||||
$config->mailer->smtpAuth = true;
|
||||
|
||||
?>
|
||||
|
||||
@@ -27,7 +27,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 = "http://www.ifattidinapoli.it/";
|
||||
$currentSystem->remoteLocationPath = "https://www.ifattidinapoli.it/";
|
||||
|
||||
$backupSystem = new stdClass();
|
||||
$backupSystem->account = "1582528f056a7ea7f391149fddc75553";
|
||||
|
||||
@@ -39,22 +39,22 @@ class AnalyticsHelper {
|
||||
);
|
||||
}
|
||||
|
||||
public static function pageImpression($content, $d, $m, $y, $isNewToday, $isNewMonth, $isNewAbsolute) {
|
||||
public static function multiPageImpression($content, $d, $m, $y, $incViews = 1, $incToday = 0, $incMonth = 0, $incAbsolute = 0) {
|
||||
$dao = GlobalVariables::get("dao");
|
||||
if ($dao instanceof GenericDao) {
|
||||
$upd = [
|
||||
'$inc' => [
|
||||
'views' => 1
|
||||
'views' => $incViews
|
||||
]
|
||||
];
|
||||
if ($isNewAbsolute || $isNewMonth || $isNewToday) {
|
||||
$upd['$inc']['dayNewVisitors'] = 1;
|
||||
if ($incToday > 0) {
|
||||
$upd['$inc']['dayNewVisitors'] = $incToday;
|
||||
}
|
||||
if ($isNewAbsolute || $isNewMonth) {
|
||||
$upd['$inc']['monthNewVisitors'] = 1;
|
||||
if ($incMonth > 0) {
|
||||
$upd['$inc']['monthNewVisitors'] = $incMonth;
|
||||
}
|
||||
if ($isNewAbsolute) {
|
||||
$upd['$inc']['absNewVisitors'] = 1;
|
||||
if ($incAbsolute > 0) {
|
||||
$upd['$inc']['absNewVisitors'] = $incAbsolute;
|
||||
}
|
||||
$dao->rawUpsert(
|
||||
PageViewStatsModel::class,
|
||||
@@ -64,6 +64,19 @@ class AnalyticsHelper {
|
||||
}
|
||||
}
|
||||
|
||||
public static function pageImpression($content, $d, $m, $y, $isNewToday, $isNewMonth, $isNewAbsolute) {
|
||||
self::multiPageImpression(
|
||||
$content,
|
||||
$d,
|
||||
$m,
|
||||
$y,
|
||||
1,
|
||||
$isNewAbsolute || $isNewMonth || $isNewToday ? 1 : 0,
|
||||
$isNewAbsolute || $isNewMonth ? 1 : 0,
|
||||
$isNewAbsolute ? 1 : 0
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* La funzione si occupa del salvataggio vero e proprio della impression della pagina.
|
||||
* UTILIZZARE QUESTA FUNZIONE SOLO NELLA PAGINA DI BACKEND (stats/pageImpression.php). Nelle pagine base utilizzare invece la funzione di log
|
||||
@@ -99,8 +112,7 @@ class AnalyticsHelper {
|
||||
GUIHandler::addOnLoadJsEvent($function);
|
||||
}
|
||||
|
||||
|
||||
public static function notiziaImpression($content, $d, $m, $y) {
|
||||
public static function multiNotiziaImpression($content, $d, $m, $y, $incViews) {
|
||||
$dao = GlobalVariables::get("dao");
|
||||
if ($dao instanceof GenericDao) {
|
||||
$dao->rawUpsert(
|
||||
@@ -108,13 +120,17 @@ class AnalyticsHelper {
|
||||
ArticleStatsModel::getFilter($content, $d, $m, $y),
|
||||
[
|
||||
'$inc' => [
|
||||
'views' => 1
|
||||
'views' => $incViews
|
||||
]
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public static function notiziaImpression($content, $d, $m, $y) {
|
||||
self::multiNotiziaImpression($content, $d, $m, $y, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* La funzione si occupa del salvataggio vero e proprio della impression della notizia.
|
||||
* UTILIZZARE QUESTA FUNZIONE SOLO NELLA PAGINA DI BACKEND (stats/notiziaImpression.php). Nelle pagine base utilizzare invece la funzione di log
|
||||
@@ -160,7 +176,7 @@ class AnalyticsHelper {
|
||||
}
|
||||
|
||||
|
||||
public static function bannerImpression($bannerId, $d, $m, $y) {
|
||||
public static function multiBannerImpression($bannerId, $d, $m, $y, $views) {
|
||||
$dao = GlobalVariables::get("dao");
|
||||
if ($dao instanceof GenericDao) {
|
||||
$dao->rawUpsert(
|
||||
@@ -168,25 +184,32 @@ class AnalyticsHelper {
|
||||
BannerStatsModel::getFilter($bannerId, $d, $m, $y),
|
||||
[
|
||||
'$inc' => [
|
||||
'views' => 1
|
||||
'views' => $views
|
||||
]
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
public static function bannerImpression($bannerId, $d, $m, $y) {
|
||||
self::multiBannerImpression($bannerId, $d, $m, $y, 1);
|
||||
}
|
||||
|
||||
public static function multiBannerClick($bannerId, $d, $m, $y, $clicks) {
|
||||
$dao = GlobalVariables::get("dao");
|
||||
if ($dao instanceof GenericDao) {
|
||||
$dao->rawUpsert(
|
||||
BannerStatsModel::class,
|
||||
BannerStatsModel::getFilter($bannerId, $d, $m, $y),
|
||||
[
|
||||
'$inc' => [
|
||||
'clicks' => $clicks
|
||||
]
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
public static function bannerClick($bannerId, $d, $m, $y) {
|
||||
$dao = GlobalVariables::get("dao");
|
||||
if ($dao instanceof GenericDao) {
|
||||
$dao->rawUpsert(
|
||||
BannerStatsModel::class,
|
||||
BannerStatsModel::getFilter($bannerId, $d, $m, $y),
|
||||
[
|
||||
'$inc' => [
|
||||
'clicks' => 1
|
||||
]
|
||||
]
|
||||
);
|
||||
}
|
||||
self::multiBannerClick($bannerId, $d, $m, $y, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -275,72 +298,6 @@ class AnalyticsHelper {
|
||||
return sizeof($ret) == 0 ? 0 : $ret[0]['tot'];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Restituisce il banner da mostrare tenendo in considerazione quelli già visualizzati e le visualizzazioni totali
|
||||
* @param int $position
|
||||
* @param string $replaced id del banner rimpiazzato
|
||||
*/
|
||||
public static function getBannerToShow($position, $replaced = null, $category = BannerModel::GENERAL_CATEGORY) {
|
||||
// ?TODO: Ragionaci
|
||||
// Rimuovi il replaced dalla lista
|
||||
$shown = array();
|
||||
$rval = null;
|
||||
if (ASDSessionHandler::sessionValueExists("bannerActive")){
|
||||
$shown = ASDSessionHandler::getSessionValue("bannerActive");
|
||||
|
||||
if (!is_null($replaced) && in_array($replaced, $shown)){
|
||||
$key = array_search($replaced, $shown);
|
||||
unset($shown[$key]);
|
||||
ASDSessionHandler::setSessionValue("bannerActive",$shown);
|
||||
}
|
||||
}
|
||||
|
||||
// idlist contiene gli id dei banner in ordine di visualizzazione crescente (esclusi quelli non visualizzati)
|
||||
$pipeline = PipelineHelper::getTodaysBannerVisualizationPipeline($position);
|
||||
$stats = GlobalVariables::get("dao")->aggregate("StatisticModel",$pipeline);
|
||||
// var_dump($stats);
|
||||
$idList = array();
|
||||
if (sizeof($stats)>0){
|
||||
foreach ($stats as $stat){
|
||||
$idList[] = $stat["_id"]["banner"];
|
||||
}
|
||||
}
|
||||
|
||||
// $baseSearchArray = array("position"=>$position,"end"=>array('$gte'=>new MongoDate(strtotime("tomorrow"))),"categories"=>$category);
|
||||
$baseSearchArray = array("position"=>$position,"end"=>array('$gte'=>new MongoDB\BSON\UTCDateTime( strtotime("tomorrow CET") * 1000 ) ),"categories"=>$category);
|
||||
// Prendi il primo dei "mai mostrati oggi" tra quelli non presenti nella pagina
|
||||
$todayPlusShown = array_merge($idList,$shown);
|
||||
if (sizeof($todayPlusShown)>0){
|
||||
$tmp = array_map(function ($id) {return new MongoDB\BSON\ObjectID($id);}, $todayPlusShown);
|
||||
$tmp = array('_id'=>array('$nin'=>$tmp));
|
||||
$rval = GlobalVariables::get("dao")->getFirst("BannerModel", array_merge($baseSearchArray, $tmp) );
|
||||
}
|
||||
else {
|
||||
$rval = GlobalVariables::get("dao")->getFirst("BannerModel", $baseSearchArray);
|
||||
}
|
||||
|
||||
if (is_null($rval)){
|
||||
$todayLessShown = array_values(array_diff($idList, $shown));
|
||||
if (sizeof($todayLessShown)>0){
|
||||
$i = 0;
|
||||
while (is_null($rval) && $i<sizeof($todayLessShown)){
|
||||
$condition = array_merge($baseSearchArray, array("id"=>$todayLessShown[$i]) );
|
||||
$rval = GlobalVariables::get("dao")->getFirst("BannerModel", $condition );
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!is_null($rval)){
|
||||
$shown[] = $rval->id;
|
||||
ASDSessionHandler::setSessionValue("bannerActive",$shown);
|
||||
}
|
||||
return $rval;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -19,9 +19,7 @@ class BannerHelper {
|
||||
}
|
||||
|
||||
public static function printBanner($position = BannerModel::POSITION_HEAD){
|
||||
$category = BannerModel::GENERAL_CATEGORY;
|
||||
|
||||
$cur = self::getPlaceholderId();
|
||||
$cur = self::getPlaceholderId();
|
||||
|
||||
if (!array_key_exists($position, self::$positions)) {
|
||||
self::$positions[$position] = [];
|
||||
@@ -63,17 +61,16 @@ class BannerHelper {
|
||||
|
||||
|
||||
private static function getBannerImpressions($bannerIds) {
|
||||
$time = strtotime("today");
|
||||
$stats = GlobalVariables::get("dao")->query(
|
||||
BannerStatsModel::class,
|
||||
[
|
||||
'_id' => [
|
||||
'$in' => array_map(
|
||||
function($banner) {
|
||||
return new \MongoDB\BSON\ObjectID($banner);
|
||||
},
|
||||
$bannerIds
|
||||
)
|
||||
'banner' => [
|
||||
'$in' => $bannerIds
|
||||
],
|
||||
'y' => intval(date('Y', $time)),
|
||||
'm' => intval(date('m', $time)),
|
||||
'd' => intval(date('d', $time))
|
||||
]
|
||||
);
|
||||
$rval = array_reduce(
|
||||
@@ -85,7 +82,7 @@ class BannerHelper {
|
||||
[]
|
||||
);
|
||||
foreach ($stats as $stat) {
|
||||
$rval[strval($stat->id)] = intval($stat->views);
|
||||
$rval[strval($stat->banner)] = intval($stat->views);
|
||||
}
|
||||
return $rval;
|
||||
}
|
||||
|
||||
@@ -9,11 +9,11 @@ class FDN_MailHelper {
|
||||
public static function generateMailFooter(){
|
||||
$footer = '<div style="background-color:#14477c;height:177px;margin-top:10px;">'.
|
||||
'<div style="text-align:center;color:#2e91d4;padding:10px;">'.
|
||||
'<a style="color:#2e91d4;margin:10px;" href="http://www.ifattidinapoli.it/index.php">Home</a> | <a style="color:#2e91d4;margin:10px;" href="http://www.ifattidinapoli.it/categorySummary.php?category=1>">Politica</a> | <a style="color:#2e91d4;margin:10px;" href="http://www.ifattidinapoli.it/categorySummary.php?category=2>">Cronaca</a> | <a style="color:#2e91d4;margin:10px;" href="http://www.ifattidinapoli.it/categorySummary.php?category=3>">Sport</a> | <a style="color:#2e91d4;margin:10px;" href="http://www.ifattidinapoli.it/categorySummary.php?category=4>">Cultura&Spettacolo</a> | <a style="color:#2e91d4;margin:10px;" href="http://www.ifattidinapoli.it/categorySummary.php?category=5>">Gossip</a>'.
|
||||
'<a style="color:#2e91d4;margin:10px;" href="https://www.ifattidinapoli.it/index.php">Home</a> | <a style="color:#2e91d4;margin:10px;" href="https://www.ifattidinapoli.it/categorySummary.php?category=1>">Politica</a> | <a style="color:#2e91d4;margin:10px;" href="https://www.ifattidinapoli.it/categorySummary.php?category=2>">Cronaca</a> | <a style="color:#2e91d4;margin:10px;" href="https://www.ifattidinapoli.it/categorySummary.php?category=3>">Sport</a> | <a style="color:#2e91d4;margin:10px;" href="https://www.ifattidinapoli.it/categorySummary.php?category=4>">Cultura&Spettacolo</a> | <a style="color:#2e91d4;margin:10px;" href="https://www.ifattidinapoli.it/categorySummary.php?category=5>">Gossip</a>'.
|
||||
'</div>'.
|
||||
'<div style="text-align:center;color:white;margin-top:25px;">TESTATA REGISTRATA PRESSO IL TRIBUNALE DI NAPOLI AUT. NR. 8 DEL 27 GENNAIO 2006</div>'.
|
||||
'<div style="text-align:center;color:white;margin-top:20px;">COPYRIGHT © 2016 <a href="http://www.ifattidinapoli.it" style="color:white;">www.ifattidinapoli.it</a> - Giornale della Terza Metropoli Italiana</div>'.
|
||||
'<div style="text-align:center;color:white;margin-top:20px;"><a href="http://www.ifattidinapoli.it/redazione.php" style="color:white;">REDAZIONE</a> | <a href="http://www.ifattidinapoli.it/archivio.php" style="color:white;">ARCHIVIO STORICO</a></div>'.
|
||||
'<div style="text-align:center;color:white;margin-top:20px;">COPYRIGHT © 2016 <a href="https://www.ifattidinapoli.it" style="color:white;">www.ifattidinapoli.it</a> - Giornale della Terza Metropoli Italiana</div>'.
|
||||
'<div style="text-align:center;color:white;margin-top:20px;"><a href="https://www.ifattidinapoli.it/redazione.php" style="color:white;">REDAZIONE</a> | <a href="https://www.ifattidinapoli.it/archivio.php" style="color:white;">ARCHIVIO STORICO</a></div>'.
|
||||
'</div>';
|
||||
return $footer;
|
||||
}
|
||||
@@ -29,7 +29,7 @@ class FDN_MailHelper {
|
||||
|
||||
$confirmLink = GUIHandler::getBaseUrl()."admin/confirmAdmin.php?regcode=".$admin->id."&email=".$admin->email;
|
||||
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="http://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="https://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
$tmp->body = $mailHead."Per attivare il tuo account clicka sul link riportato in seguito o copialo e incollalo nel tuo browser.<br/><br/>";
|
||||
$tmp->body.='<a href="'.$confirmLink.'">'.$confirmLink.'</a><br/>'.self::generateMailFooter().'</div>';
|
||||
|
||||
@@ -49,7 +49,7 @@ class FDN_MailHelper {
|
||||
|
||||
$confirmLink = GUIHandler::getBaseUrl()."admin/passwordRecovery.php?req=".$request->id."&u=".$request->target->id;
|
||||
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="http://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="https://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
|
||||
$tmp->body = $mailHead."Hai ricevuto questo messaggio perchè hai effettuato una richiesta di recupero password dal nostro sito.<br/><br/>";
|
||||
$tmp->body.= "Se non hai effettuato nessuna richiesta, semplicemente ignora questo messaggio.<br/><br/>";
|
||||
@@ -70,7 +70,7 @@ class FDN_MailHelper {
|
||||
|
||||
$confirmLink = GUIHandler::getBaseUrl()."confirmUser.php?regcode=".$user->id."&email=".$user->email;
|
||||
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="http://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="https://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
$tmp->body = $mailHead."Per attivare il tuo account clicka sul link riportato in seguito o copialo e incollalo nel tuo browser.<br/><br/>";
|
||||
$tmp->body.='<a href="'.$confirmLink.'">'.$confirmLink.'</a><br/>'.self::generateMailFooter().'</div>';
|
||||
|
||||
@@ -90,7 +90,7 @@ class FDN_MailHelper {
|
||||
|
||||
$confirmLink = GUIHandler::getBaseUrl()."passwordRecovery.php?req=".$request->id."&u=".$request->target->id;
|
||||
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="http://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="https://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
|
||||
$tmp->body = $mailHead."Hai ricevuto questo messaggio perchè hai effettuato una richiesta di recupero password dal nostro sito.<br/><br/>";
|
||||
$tmp->body.= "Se non hai effettuato nessuna richiesta, semplicemente ignora questo messaggio.<br/><br/>";
|
||||
@@ -111,7 +111,7 @@ class FDN_MailHelper {
|
||||
|
||||
$confirmLink = GUIHandler::getBaseUrl()."/admin/validateCommento.php?i=".$commento->id;
|
||||
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="http://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
$mailHead = '<div style="width:1024px; margin:auto;"><div style="text-align:center;"><img src="https://www.ifattidinapoli.it/images/logo_uff.png" alt="" /><div><br/><br/>';
|
||||
|
||||
$tmp->body = $mailHead."Un nuovo commento è stato inserito su I Fatti di Napoli ed è in attesa di essere accettato.<br/><br/>";
|
||||
$tmp->body.= "Verifica i contenuti del commento utilizzando il link di seguito.<br/><br/>";
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
|
||||
class SimpleConfigHelper {
|
||||
|
||||
private Memcached $memcached;
|
||||
private GenericDao $dao;
|
||||
|
||||
private stdClass $config;
|
||||
|
||||
public function __construct() {
|
||||
$this->memcached = new Memcached();
|
||||
$this->memcached->addServer('memcached', 11211);
|
||||
$this->dao = GlobalVariables::get("dao");
|
||||
|
||||
$this->reload();
|
||||
}
|
||||
|
||||
public function hasValue(string $name) : bool {
|
||||
return property_exists($this->config, $name);
|
||||
}
|
||||
|
||||
public function getValue(string $name) {
|
||||
return $this->config->$name;
|
||||
}
|
||||
|
||||
public function setValue(string $name, $val) {
|
||||
$model = $this->dao->getFirst(SimpleConfig::class);
|
||||
$model->details->$name = $val;
|
||||
$this->dao->save($model);
|
||||
$this->reload($model);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private function reload($model = null) {
|
||||
if (!is_null($model)) {
|
||||
$this->memcached->set($this->getCacheKey(), json_encode($model->details, JSON_FORCE_OBJECT));
|
||||
}
|
||||
else if ( !$this->isCached() ) {
|
||||
$model = $this->dao->getFirst(SimpleConfig::class);
|
||||
if (is_null($model)) {
|
||||
$model = new SimpleConfig();
|
||||
$this->dao->save($model);
|
||||
}
|
||||
$this->memcached->set($this->getCacheKey(), json_encode($model->details, JSON_FORCE_OBJECT));
|
||||
}
|
||||
|
||||
$rval = $this->memcached->get(
|
||||
$this->getCacheKey()
|
||||
);
|
||||
$this->config = json_decode($rval, false);
|
||||
}
|
||||
|
||||
private function getCacheKey() {
|
||||
return 'glob.fdn2.simpleConfig';
|
||||
}
|
||||
|
||||
private function isCached(): bool {
|
||||
return $this->memcached->get( $this->getCacheKey() ) ? true : false;
|
||||
}
|
||||
|
||||
private function flush() {
|
||||
$this->memcached->set( $this->getCacheKey(), false );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
@@ -258,13 +258,19 @@ class GenericDao{
|
||||
] );
|
||||
$cursor = $this->client->executeCommand( $this->dbName, $command );
|
||||
|
||||
$rval = [];
|
||||
foreach ($cursor as $ele){ // inganniamo il cursore, in realtà il risultato è uno
|
||||
//TODO CHECK
|
||||
$rval[] = json_decode( json_encode($ele) ,true );
|
||||
}
|
||||
if (array_key_exists('cursor', $options) && $options['cursor'] == true) {
|
||||
return $cursor;
|
||||
}
|
||||
else {
|
||||
$rval = [];
|
||||
foreach ($cursor as $ele){ // inganniamo il cursore, in realtà il risultato è uno
|
||||
//TODO CHECK
|
||||
$rval[] = json_decode( json_encode($ele) ,true );
|
||||
}
|
||||
|
||||
return $rval;
|
||||
}
|
||||
|
||||
return $rval;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -45,6 +45,8 @@ require_once(dirname(__FILE__)."/models/stats/ArticleStatsModel.php");
|
||||
require_once(dirname(__FILE__)."/models/stats/BannerStatsModel.php");
|
||||
require_once(dirname(__FILE__)."/models/stats/PageViewStatsModel.php");
|
||||
|
||||
require_once(dirname(__FILE__)."/models/SimpleConfig.php");
|
||||
|
||||
$dao = new GenericDao($database->dbName,$database->connectionString);
|
||||
GlobalVariables::set("dao", $dao);
|
||||
?>
|
||||
|
||||
@@ -14,12 +14,17 @@ class BannerModel extends HasMediaModel{
|
||||
const POSITION_BODY = 2;
|
||||
const POSITION_LONG = 3;
|
||||
|
||||
const POSITION_TOP = 4;
|
||||
const POSITION_BOTTOM = 5;
|
||||
|
||||
const GENERAL_CATEGORY = 0;
|
||||
|
||||
public static $BANNER_POSITIONS = array(
|
||||
self::POSITION_HEAD=>array("label"=>"Testata"),
|
||||
self::POSITION_BODY=>array("label"=>"Corpo"),
|
||||
self::POSITION_LONG=>array("label"=>"Corpo Lungo")
|
||||
self::POSITION_LONG=>array("label"=>"Corpo Lungo"),
|
||||
self::POSITION_TOP=>array("label"=>"Inizio pagina"),
|
||||
self::POSITION_BOTTOM=>array("label"=>"Fine pagina")
|
||||
);
|
||||
|
||||
public function __construct($saveableObject = null){
|
||||
|
||||
@@ -42,21 +42,21 @@ class MailModel extends Model implements FDN_MailInterface{
|
||||
return parent::__set($attr, $value);
|
||||
}
|
||||
|
||||
public function getMailObject(){
|
||||
$email = new PHPMailer();
|
||||
$email->CharSet = "UTF-8";
|
||||
$email->isMail();
|
||||
|
||||
$email->From = $this->from;
|
||||
if ($this->hasProperty("fromName")){
|
||||
$email->FromName = $this->fromName;
|
||||
}
|
||||
public function getMailObject() {
|
||||
$email = new PHPMailer();
|
||||
$email->CharSet = "UTF-8";
|
||||
$email->isMail();
|
||||
|
||||
$email->Subject = $this->subject;
|
||||
$email->From = $this->from;
|
||||
$email->FromName = "I Fatti di Napoli";
|
||||
|
||||
$email->Subject = $this->subject;
|
||||
|
||||
$email->IsHTML(true);
|
||||
|
||||
$email->Body = $this->body;
|
||||
|
||||
$email->Body = $this->body;
|
||||
if ($this->hasProperty("altBody")){
|
||||
$email->AltBody = $this->altBody;
|
||||
}
|
||||
@@ -64,14 +64,24 @@ class MailModel extends Model implements FDN_MailInterface{
|
||||
$email->AltBody = strip_tags($this->body);
|
||||
}
|
||||
|
||||
$email->AddAddress($this->recipient);
|
||||
|
||||
$email->AddAddress($this->recipient);
|
||||
|
||||
if ($this->hasProperty("attachment")){
|
||||
$email->AddAttachment( $this->attachment , basename($this->attachment) );
|
||||
}
|
||||
|
||||
return $email;
|
||||
}
|
||||
$cfg = GlobalVariables::get("config");
|
||||
|
||||
$email->IsSMTP();
|
||||
$email->Host = $cfg->mailer->address;
|
||||
$email->Port = $cfg->mailer->port;
|
||||
$email->Username = $cfg->mailer->username;
|
||||
$email->Password = $cfg->mailer->password;
|
||||
$email->SMTPAuth = $cfg->mailer->smtpAuth;
|
||||
|
||||
return $email;
|
||||
}
|
||||
|
||||
public static function getCollectionName(){
|
||||
return "mail";
|
||||
|
||||
@@ -48,6 +48,8 @@ class NotiziaModel extends HasMediaModel implements DaoSearchable{
|
||||
|
||||
const CATEGORY_MONDO_SPOSI = 19;
|
||||
|
||||
const CATEGORY_VARIE = 99;
|
||||
|
||||
public static $NOTIZIE_CATEGORY = array(
|
||||
self::CATEGORY_POLITICA=>array("label"=>"Politica","mainMenu"=>true,"hidden"=>false,"pages"=>array("list"=>"politica.php"),"color"=>"#3e3e3e","isSubmenu"=>null),
|
||||
self::CATEGORY_CRONACA=>array("label"=>"Cronaca","mainMenu"=>true, "hidden"=>false,"pages"=>array("list"=>"cronaca.php"),"color"=>"red","isSubmenu"=>null),
|
||||
@@ -69,6 +71,8 @@ class NotiziaModel extends HasMediaModel implements DaoSearchable{
|
||||
self::CATEGORY_CONSIGLI_ESPERTI=>array("label"=>"I consigli degli esperti","mainMenu"=>false, "hidden"=>false,"pages"=>array("list"=>"consigliEsperti.php"),"color"=>"#3e3e3e","isSubmenu"=>null),
|
||||
|
||||
self::CATEGORY_MONDO_SPOSI=>array("label"=>"Mondo Sposi","mainMenu"=>false, "hidden"=>false,"pages"=>array("list"=>"mondoSposi.php"),"color"=>"#dd603a","isSubmenu"=>null),
|
||||
|
||||
self::CATEGORY_VARIE=>array("label"=>"Varie","mainMenu"=>false, "hidden"=>true,"pages"=>array("list"=>"varie.php"),"color"=>"#dd603a","isSubmenu"=>null),
|
||||
);
|
||||
|
||||
public function __construct($saveableObject = null){
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/*
|
||||
Author: Riccardo Di Dato
|
||||
Creation Date: 13/gen/2016
|
||||
*/
|
||||
|
||||
|
||||
class SimpleConfig extends Model {
|
||||
const VARIE_LABEL = "varie_home_label";
|
||||
|
||||
|
||||
public function __construct($saveableObject = null) {
|
||||
parent::__construct($saveableObject);
|
||||
if (!$this->hasProperty("data") || !is_object($this->details)) {
|
||||
$this->details = new stdClass();
|
||||
}
|
||||
}
|
||||
|
||||
public static function getCollectionName(){
|
||||
return "simpleConfig";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
@@ -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 ),
|
||||
|
||||
@@ -19,9 +19,7 @@ class GUIHandler {
|
||||
private static $onLoadEvents = array();
|
||||
|
||||
public static function generateHtmlHeaders(array $data = array(), $admin = false){
|
||||
if ($admin) {
|
||||
ASDSessionHandler::getSessionId();
|
||||
}
|
||||
ASDSessionHandler::getSessionId();
|
||||
$conf = GlobalVariables::get("config");
|
||||
|
||||
$title = $conf->info->projectName;
|
||||
@@ -59,7 +57,7 @@ class GUIHandler {
|
||||
}
|
||||
echo "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge,chrome=1\">\n";
|
||||
echo '<link rel="shortcut icon" href="images/favicon.ico">'."\n";
|
||||
echo '<link href="http://fonts.googleapis.com/css?family=Lato&subset=latin,latin-ext" rel="stylesheet" type="text/css">'."\n";
|
||||
echo '<link href="https://fonts.googleapis.com/css?family=Lato&subset=latin,latin-ext" rel="stylesheet" type="text/css">'."\n";
|
||||
echo '<META http-equiv="Cache-Control" content="no-cache,no-store" />'."\n";
|
||||
echo '<META http-equiv="Pragma" content="no-cache" />'."\n";
|
||||
if (array_key_exists("additionalMetadata", $data) && is_array($data["additionalMetadata"]) && sizeof($data["additionalMetadata"])>0){
|
||||
@@ -217,12 +215,15 @@ class GUIHandler {
|
||||
<div class="leftBanner topBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?>
|
||||
</div>
|
||||
<div class="logo"><a href="http://ifattidinapoli.it/index.php"><img src="http://ifattidinapoli.it/images/logo_uff.png"></a></div>
|
||||
<div class="logo"><a href="https://www.ifattidinapoli.it/index.php"><img src="https://www.ifattidinapoli.it/images/logo_uff.png"></a></div>
|
||||
<div class="rightBanner topBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottomBar" style="height:40px;width:1000px;"></div>
|
||||
<div class="bottomBar" style="width:1000px;"></div>
|
||||
<div class="banner subheadBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_TOP);?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
@@ -329,6 +330,9 @@ class GUIHandler {
|
||||
self::setCookieSeen();
|
||||
}
|
||||
?>
|
||||
<div class="banner footerBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_BOTTOM);?>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footerCategory">
|
||||
<a href="index.php">Home</a>
|
||||
@@ -344,7 +348,7 @@ class GUIHandler {
|
||||
?>
|
||||
</div>
|
||||
<div >TESTATA REGISTRATA PRESSO IL TRIBUNALE DI NAPOLI AUT. NR. 8 DEL 27 GENNAIO 2006</div>
|
||||
<div >COPYRIGHT © 2016 <a href="http://www.ifattidinapoli.it" style="color:white;">www.ifattidinapoli.it</a> - Giornale della Terza Metropoli Italiana</div>
|
||||
<div >COPYRIGHT © 2016 <a href="https://www.ifattidinapoli.it" style="color:white;">www.ifattidinapoli.it</a> - Giornale della Terza Metropoli Italiana</div>
|
||||
<div ><a href="redazione.php" style="color:white;">REDAZIONE</a> | <a href="archivio.php" style="color:white;">ARCHIVIO STORICO</a></div>
|
||||
|
||||
</div>
|
||||
@@ -354,22 +358,22 @@ class GUIHandler {
|
||||
|
||||
public static function getFacebookShareFunction(NotiziaModel $notizia){
|
||||
$url = self::getBaseUrl()."fbMetadata.php?id=".$notizia->id;
|
||||
return 'window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
return 'window.open("https://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
}
|
||||
|
||||
public static function getTwitterShareFunction(NotiziaModel $notizia){
|
||||
$url = self::getBaseUrl()."articolo.php?id=".$notizia->id;
|
||||
return 'window.open("http://twitter.com/home?source=ifdn&status="+encodeURIComponent("'.$url.'"))';
|
||||
return 'window.open("https://twitter.com/home?source=ifdn&status="+encodeURIComponent("'.$url.'"))';
|
||||
}
|
||||
|
||||
public static function getGooglePlusShareFunction(NotiziaModel $notizia){
|
||||
$url = self::getBaseUrl()."fbMetadata.php?id=".$notizia->id;
|
||||
return 'window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
return 'window.open("https://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
}
|
||||
|
||||
public static function getLinkedinShareFunction(NotiziaModel $notizia){
|
||||
$url = self::getBaseUrl()."fbMetadata.php?id=".$notizia->id;
|
||||
return 'window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
return 'window.open("https://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
}
|
||||
|
||||
|
||||
@@ -377,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);
|
||||
|
||||
@@ -445,19 +449,16 @@ class GUIHandler {
|
||||
|
||||
public static function generateGoogleAnalyticsScripts(){
|
||||
?>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-5YTMS8G32Q"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
// ga('create', 'UA-75287906-1', 'auto');
|
||||
// ga('send', 'pageview');
|
||||
gtag('config', 'G-5YTMS8G32Q');
|
||||
</script>
|
||||
|
||||
ga('create', 'UA-6137905-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ class GUIHandlerMobile {
|
||||
}
|
||||
echo "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge,chrome=1\">\n";
|
||||
echo '<link rel="shortcut icon" href="images/favicon.ico">'."\n";
|
||||
echo '<link href="http://fonts.googleapis.com/css?family=Lato&subset=latin,latin-ext" rel="stylesheet" type="text/css">'."\n";
|
||||
echo '<link href="https://fonts.googleapis.com/css?family=Lato&subset=latin,latin-ext" rel="stylesheet" type="text/css">'."\n";
|
||||
echo '<META http-equiv="Cache-Control" content="no-cache,no-store" />'."\n";
|
||||
echo '<META http-equiv="Pragma" content="no-cache" />'."\n";
|
||||
if (array_key_exists("additionalMetadata", $data) && is_array($data["additionalMetadata"]) && sizeof($data["additionalMetadata"])>0){
|
||||
@@ -199,7 +199,7 @@ class GUIHandlerMobile {
|
||||
<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>
|
||||
<div class="logo"><a href="http://ifattidinapoli.com/mobile/index.php"><img src="images/logo_uff.png" /></a></div>
|
||||
<div class="logo"><a href="https://ifattidinapoli.com/mobile/index.php"><img src="images/logo_uff.png" /></a></div>
|
||||
<div class="bottomBar">
|
||||
<img id="menuMobile" alt="" src="images/menuIcon.png">
|
||||
<?php
|
||||
@@ -343,12 +343,6 @@ class GUIHandlerMobile {
|
||||
public static function generateFooter(){
|
||||
if (!self::hasSeenCookieMessage()){
|
||||
?>
|
||||
<!-- <div class="cookieAdvice"> -->
|
||||
<!-- <div>Questo sito utilizza cookie tecnici per offrirti una migliore esperienza di navigazione sul sito.</div> -->
|
||||
<!-- <div>Navigando su questo sito accetti l'utilizzo dei cookie.</div><br/> -->
|
||||
<!-- <a class="closeAdvice">Chiudi</a> -->
|
||||
<!-- <br/><br/> -->
|
||||
<!-- </div> -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('.closeAdvice').click(function(){
|
||||
@@ -363,6 +357,9 @@ class GUIHandlerMobile {
|
||||
self::setCookieSeen();
|
||||
}
|
||||
?>
|
||||
<div class="banner footerBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_BOTTOM);?>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footerButton" style="text-align:center;">
|
||||
<a href="#">
|
||||
@@ -372,7 +369,7 @@ class GUIHandlerMobile {
|
||||
</div>
|
||||
|
||||
<p>TESTATA REGISTRATA PRESSO IL TRIBUNALE DI NAPOLI AUT. NR. 8 DEL 27 GENNAIO 2006</p>
|
||||
<p>COPYRIGHT © 2016 <a href="http://www.ifattidinapoli.it" style="color:white;">www.ifattidinapoli.it</a> - Giornale della Terza Metropoli Italiana</p>
|
||||
<p>COPYRIGHT © 2016 <a href="https://www.ifattidinapoli.it" style="color:white;">www.ifattidinapoli.it</a> - Giornale della Terza Metropoli Italiana</p>
|
||||
<p><a href="redazione.php" style="color:white;">REDAZIONE</a> | <a href="archivio.php" style="color:white;">ARCHIVIO STORICO</a></p>
|
||||
|
||||
</div>
|
||||
@@ -382,22 +379,22 @@ class GUIHandlerMobile {
|
||||
|
||||
public static function getFacebookShareFunction(NotiziaModel $notizia){
|
||||
$url = self::getBaseUrl()."fbMetadata.php?id=".$notizia->id;
|
||||
return 'window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
return 'window.open("https://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
}
|
||||
|
||||
public static function getTwitterShareFunction(NotiziaModel $notizia){
|
||||
$url = self::getBaseUrl()."articolo.php?id=".$notizia->id;
|
||||
return 'window.open("http://twitter.com/home?source=ifdn&status="+encodeURIComponent("'.$url.'"))';
|
||||
return 'window.open("https://twitter.com/home?source=ifdn&status="+encodeURIComponent("'.$url.'"))';
|
||||
}
|
||||
|
||||
public static function getGooglePlusShareFunction(NotiziaModel $notizia){
|
||||
$url = self::getBaseUrl()."fbMetadata.php?id=".$notizia->id;
|
||||
return 'window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
return 'window.open("https://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
}
|
||||
|
||||
public static function getLinkedinShareFunction(NotiziaModel $notizia){
|
||||
$url = self::getBaseUrl()."fbMetadata.php?id=".$notizia->id;
|
||||
return 'window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
return 'window.open("https://www.facebook.com/sharer.php?u="+encodeURIComponent("'.$url.'"))';
|
||||
}
|
||||
|
||||
|
||||
@@ -470,19 +467,16 @@ class GUIHandlerMobile {
|
||||
|
||||
public static function generateGoogleAnalyticsScripts(){
|
||||
?>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-5YTMS8G32Q"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
ga('create', 'UA-75287906-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
gtag('config', 'G-5YTMS8G32Q');
|
||||
</script>
|
||||
|
||||
ga('create', 'UA-6137905-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
||||
@@ -40,12 +40,12 @@ class HTMLHelper {
|
||||
$cont = file_get_contents($config->files->meteoCache);
|
||||
$json = json_decode($cont);
|
||||
|
||||
$todayImgUrl = " http://openweathermap.org/img/w/".$json->list[0]->weather[0]->icon.".png";
|
||||
$todayImgUrl = " https://openweathermap.org/img/w/".$json->list[0]->weather[0]->icon.".png";
|
||||
$todayTemp = $json->list[0]->main->temp;
|
||||
$todayMax = $json->list[0]->main->temp_max;
|
||||
$todayMin = $json->list[0]->main->temp_min;
|
||||
|
||||
$tomorrowImgUrl = " http://openweathermap.org/img/w/".$json->list[1]->weather[0]->icon.".png";
|
||||
$tomorrowImgUrl = " https://openweathermap.org/img/w/".$json->list[1]->weather[0]->icon.".png";
|
||||
$tomorrowTemp = $json->list[1]->main->temp;
|
||||
$tomorrowMax = $json->list[1]->main->temp_max;
|
||||
$tomorrowMin = $json->list[1]->main->temp_min;
|
||||
|
||||
@@ -28,9 +28,9 @@ class MenuGenerator {
|
||||
|
||||
array("label"=>"Utenti registrati","page"=>"listUsers.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN),
|
||||
array("label"=>"Newsletter", "subvoices"=>array(
|
||||
array("label"=>"Nuova","page"=>"editNewsletter.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
|
||||
array("label"=>"Da inviare","page"=>"pendingNewsletters.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
|
||||
array("label"=>"Inviate","page"=>"sentNewsletters.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
|
||||
// array("label"=>"Nuova","page"=>"editNewsletter.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
|
||||
// array("label"=>"Da inviare","page"=>"pendingNewsletters.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
|
||||
// array("label"=>"Inviate","page"=>"sentNewsletters.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
|
||||
array("label"=>"Nuova Mail","page"=>"editMail.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
|
||||
array("label"=>"Coda Mail","page"=>"listMail.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN)
|
||||
)),
|
||||
@@ -48,6 +48,8 @@ class MenuGenerator {
|
||||
array("label"=>"Logs","page"=>"logs.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN)
|
||||
)),
|
||||
|
||||
array("label"=>"Config","page"=>"simpleConfig.php"),
|
||||
|
||||
array("label"=>"Guida","page"=>"index.php"),
|
||||
|
||||
array("label"=>"Logout","page"=>"logout.php")
|
||||
|
||||
@@ -48,5 +48,8 @@ require_once(dirname(__FILE__)."/BannerHelper.php");
|
||||
|
||||
require_once(dirname(__FILE__)."/RSSHelper.php");
|
||||
|
||||
require_once(dirname(__FILE__)."/SimpleConfigHelper.php");
|
||||
|
||||
GlobalVariables::set("cfg", new SimpleConfigHelper());
|
||||
|
||||
?>
|
||||
@@ -22,7 +22,7 @@ class MediaYoutube extends MediaRenderer{
|
||||
}
|
||||
|
||||
public function getThumbnailLink(){
|
||||
return 'http://i.ytimg.com/vi/'.$this->link.'/0.jpg';
|
||||
return 'https://i.ytimg.com/vi/'.$this->link.'/0.jpg';
|
||||
}
|
||||
|
||||
public function getVideoLink(){
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -91,9 +91,17 @@ try{
|
||||
<span class="label">Posizione:</span>
|
||||
<select name="position">
|
||||
<option disabled selected style="display:none;">Seleziona Posizione</option>
|
||||
<option <?php echo $banner->position==BannerModel::POSITION_HEAD?"selected":"";?> value="<?php echo BannerModel::POSITION_HEAD;?>"><?php echo BannerModel::$BANNER_POSITIONS[BannerModel::POSITION_HEAD]["label"];?></option>
|
||||
<option <?php echo $banner->position==BannerModel::POSITION_BODY?"selected":"";?> value="<?php echo BannerModel::POSITION_BODY;?>"><?php echo BannerModel::$BANNER_POSITIONS[BannerModel::POSITION_BODY]["label"];?></option>
|
||||
<option <?php echo $banner->position==BannerModel::POSITION_LONG?"selected":"";?> value="<?php echo BannerModel::POSITION_LONG;?>"><?php echo BannerModel::$BANNER_POSITIONS[BannerModel::POSITION_LONG]["label"];?></option>
|
||||
<?php
|
||||
foreach (BannerModel::$BANNER_POSITIONS as $type => $data) {
|
||||
printf(
|
||||
'<option %s value="%s">%s</option>',
|
||||
$banner->position==$type ? "selected" : "",
|
||||
$type,
|
||||
$data['label']
|
||||
);
|
||||
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -72,15 +72,15 @@ try {
|
||||
|
||||
$mailBody = $mail->body;
|
||||
if (strcmp($mailBody, "")==0){
|
||||
$mailBody = '<div style="margin:auto;width:1024px;"><div style="text-align:center;"><img src="http://www.ifattidinapoli.it/images/logo_uff.png"></div><div >Testo di prova</div><div></div>'.
|
||||
$mailBody = '<div style="margin:auto;width:1024px;"><div style="text-align:center;"><img src="https://www.ifattidinapoli.it/images/logo_uff.png"></div><div >Testo di prova</div><div></div>'.
|
||||
'<div style="background-color:#14477c;margin-top:10px;">
|
||||
<div style="text-align:center;color:#2e91d4;padding:10px;">
|
||||
<a style="color:#2e91d4;margin:10px;" href="http://www./index.php">Home</a> | <a style="color:#2e91d4;margin:10px;" href="http://www./categorySummary.php?category=1">Politica</a> | <a style="color:#2e91d4;margin:10px;" href="http://www./categorySummary.php?category=2">Cronaca</a> | <a style="color:#2e91d4;margin:10px;" href="http://www./categorySummary.php?category=3">Sport</a> | <a style="color:#2e91d4;margin:10px;" href="http://www./categorySummary.php?category=4">Cultura&Spettacolo</a>
|
||||
<a style="color:#2e91d4;margin:10px;" href="https://www./index.php">Home</a> | <a style="color:#2e91d4;margin:10px;" href="https://www./categorySummary.php?category=1">Politica</a> | <a style="color:#2e91d4;margin:10px;" href="https://www./categorySummary.php?category=2">Cronaca</a> | <a style="color:#2e91d4;margin:10px;" href="https://www./categorySummary.php?category=3">Sport</a> | <a style="color:#2e91d4;margin:10px;" href="https://www./categorySummary.php?category=4">Cultura&Spettacolo</a>
|
||||
</div>
|
||||
<div style="text-align:center;color:white;margin-top:25px;">TESTATA REGISTRATA PRESSO IL TRIBUNALE DI NAPOLI AUT. NR. 8 DEL 27 GENNAIO 2006</div>
|
||||
<div style="text-align:center;color:white;margin-top:20px;">COPYRIGHT © 2016 <a href="http://www.ifattidinapoli.it" style="color:white;">www.ifattidinapoli.it</a> - Giornale della Terza Metropoli Italiana</div>
|
||||
<div style="text-align:center;color:white;margin-top:20px;">COPYRIGHT © 2016 <a href="https://www.ifattidinapoli.it" style="color:white;">www.ifattidinapoli.it</a> - Giornale della Terza Metropoli Italiana</div>
|
||||
<div style="text-align:center;color:white;margin-top:20px;">
|
||||
<a href="http://www./redazione.php" style="color:white;">REDAZIONE</a> | <a href="http://www./archivio.php" style="color:white;">ARCHIVIO STORICO</a>
|
||||
<a href="https://www./redazione.php" style="color:white;">REDAZIONE</a> | <a href="https://www./archivio.php" style="color:white;">ARCHIVIO STORICO</a>
|
||||
</div>
|
||||
</div></div>';
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -74,6 +74,8 @@ HTMLHelper::generateAdminHead();
|
||||
<li>Banner testata:<b>180x60px</b></li>
|
||||
<li>Banner corpo:<b>160x120px</b></li>
|
||||
<li>Banner lungo:<b>160x240px</b></li>
|
||||
<li>Banner Inizio pagina:<b>1000x150px</b></li>
|
||||
<li>Banner Fine pagina:<b>1000x200px</b></li>
|
||||
</ul>
|
||||
Tale restizione è consigliata anche per i banner di tipo <i>HTML5</i>.
|
||||
</p>
|
||||
|
||||
@@ -23,18 +23,6 @@ try{
|
||||
$newMedia = null;
|
||||
$mediaTypeSaved = PostHandler::get("mediaType");
|
||||
|
||||
// if(!is_null($bannerId) && strcmp($bannerId, "")!=0){
|
||||
// $edit = true;
|
||||
// $banner = GlobalVariables::get("dao")->getFirst("BannerModel",array("id"=>$bannerId));
|
||||
// $newMedias = DaoMediaHandler::getMedias($banner);
|
||||
// if(sizeof($newMedias)>0){
|
||||
// $newMedia = reset($newMedias);
|
||||
// }
|
||||
// if($banner->hasProperty("type") && !is_null($banner->type)){
|
||||
// $mediaTypeSaved = $banner->type;
|
||||
// }
|
||||
// }
|
||||
|
||||
if(array_key_exists("action", $_POST) && strcmp(PostHandler::get("action"), "save")==0){
|
||||
$mediaType = PostHandler::get("mediaType");
|
||||
if (!is_null($mediaType) && strcmp($mediaType, "")!=0){
|
||||
@@ -98,69 +86,7 @@ try{
|
||||
else {
|
||||
throw new GUIException("Selezionare il tipo di file multimediale da utilizzare");
|
||||
}
|
||||
|
||||
|
||||
// if(is_null($bannerId) || strcmp($bannerId, "")==0){
|
||||
// $banner->customer = PostHandler::get("customer");
|
||||
// $banner->type = PostHandler::get("mediaType");
|
||||
// $banner->start = new Mongodate(strtotime(PostHandler::get("dateStart")));
|
||||
// $banner->end = new Mongodate(strtotime(PostHandler::get("dateEnd")));
|
||||
// GlobalVariables::get("dao")->save($banner);
|
||||
// $bannerId = $banner->id;
|
||||
// }
|
||||
|
||||
// if(!is_null($bannerId) && strcmp($bannerId, "")!=0){
|
||||
// $edit=true;
|
||||
// // $banner = GlobalVariables::get("dao")->getFirst("BannerModel",array("id"=>$bannerId));
|
||||
// $file = "";
|
||||
|
||||
// $mediaType = PostHandler::get("mediaType");
|
||||
// $banner->type=$mediaType;
|
||||
// if(strcmp($mediaType, "")!=0){
|
||||
// $tmp = array();
|
||||
// $saveable = new stdClass();
|
||||
// $saveable->mediaType = $mediaType;
|
||||
// if(strcmp($mediaType,MediaModel::TYPE_HTML5)==0){
|
||||
// $saveable->code = PostHandler::get("data");
|
||||
// $media = DaoMediaHandler::createNewTextBasedMedia($saveable);
|
||||
// }
|
||||
// else if(strcmp($mediaType,MediaModel::TYPE_IMAGE)==0){
|
||||
// $file = $_FILES['data']['tmp_name'];
|
||||
// $info = pathinfo($_FILES['data']['name']);
|
||||
// // $file = PostHandler::get("data");
|
||||
// $media = DaoMediaHandler::createNewFileBasedMedia($saveable, $file,$info["extension"]);
|
||||
// }
|
||||
|
||||
// if(!is_null($media)){
|
||||
// GlobalVariables::get("dao")->save($media);
|
||||
// DaoMediaHandler::addMedia($banner, $media);
|
||||
// GlobalVariables::get("dao")->save($banner);
|
||||
// }
|
||||
// else{
|
||||
// throw new Exception("Cannot save a null media in the news with id '".$bannerId."'");
|
||||
// }
|
||||
// }
|
||||
// else{
|
||||
// throw new Exception("Invalid mediaType '".$mediaType."' while trying to add the media in editBanner");
|
||||
// }
|
||||
|
||||
// GUIHandler::redirect("admin/listBanner.php");
|
||||
// }
|
||||
}
|
||||
// else if(array_key_exists("action", $_POST) && strcmp(PostHandler::get("action"), "delete")==0){
|
||||
// if(!is_null($bannerId) && strcmp($bannerId, "")!=0){
|
||||
// $banner = GlobalVariables::get("dao")->getFirst("BannerModel",array("id"=>$bannerId));
|
||||
// $medias = DaoMediaHandler::getMedias($banner);
|
||||
// // $media = reset($medias);
|
||||
// // $media = GlobalVariables::get("dao")->getFirst("MediaModel",array("id"=>$mediaId));
|
||||
// foreach ($medias as $media){
|
||||
// DaoMediaHandler::deleteMedia($banner, $media);
|
||||
// $banner->type = null;
|
||||
// GlobalVariables::get("dao")->save($banner);
|
||||
// }
|
||||
// }
|
||||
// GUIHandler::redirect("admin/listBanner.php");
|
||||
// }
|
||||
$formFile = '<input type="hidden" name="MAX_FILE_SIZE" value="52428800" />
|
||||
<span class="label">Seleziona file</span><input type="file" name="data" />';
|
||||
if($edit && !is_null($newMedia)){
|
||||
@@ -173,6 +99,7 @@ try{
|
||||
}catch(GUIException $ex){
|
||||
$error = $ex->getMessage();
|
||||
}catch (Exception $exec){
|
||||
var_dump($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.";
|
||||
}
|
||||
@@ -196,6 +123,8 @@ try{
|
||||
<option value="<?php echo BannerModel::POSITION_HEAD;?>"><?php echo BannerModel::$BANNER_POSITIONS[BannerModel::POSITION_HEAD]["label"];?></option>
|
||||
<option value="<?php echo BannerModel::POSITION_BODY;?>"><?php echo BannerModel::$BANNER_POSITIONS[BannerModel::POSITION_BODY]["label"];?></option>
|
||||
<option value="<?php echo BannerModel::POSITION_LONG;?>"><?php echo BannerModel::$BANNER_POSITIONS[BannerModel::POSITION_LONG]["label"];?></option>
|
||||
<option value="<?php echo BannerModel::POSITION_TOP;?>"><?php echo BannerModel::$BANNER_POSITIONS[BannerModel::POSITION_TOP]["label"];?></option>
|
||||
<option value="<?php echo BannerModel::POSITION_BOTTOM;?>"><?php echo BannerModel::$BANNER_POSITIONS[BannerModel::POSITION_BOTTOM]["label"];?></option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
/*
|
||||
Author: Riccardo Di Dato
|
||||
Creation Date: 25/gen/2016
|
||||
*/
|
||||
|
||||
|
||||
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_NORMALADMIN)){
|
||||
GUIHandler::redirect("admin/index.php");
|
||||
}
|
||||
|
||||
MenuGenerator::generateMenu();
|
||||
|
||||
HTMLHelper::generateAdminHead();
|
||||
|
||||
$saved = false;
|
||||
$action = PostHandler::get("action");
|
||||
if (!is_null($action) && strcmp("", $action)!=0){
|
||||
if (strcmp("save", $action)==0){
|
||||
|
||||
if (PostHandler::get(SimpleConfig::VARIE_LABEL)) {
|
||||
GlobalVariables::get("cfg")->setValue(SimpleConfig::VARIE_LABEL, PostHandler::get(SimpleConfig::VARIE_LABEL));
|
||||
}
|
||||
|
||||
$saved = true;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
<div>
|
||||
<?php
|
||||
if ($saved){
|
||||
echo '<div style="color:green;">Dati salvati con successo</div>';
|
||||
}
|
||||
?>
|
||||
<form id="taskForm" method="POST" action="">
|
||||
<input type="hidden" name="action" value="" />
|
||||
<div><span class="label"> </span><b>Tasks</b></div>
|
||||
<?php
|
||||
printf(
|
||||
'<div><span class="label">Varie (home)</span><input type="text" name="%s" value="%s" /><br/>',
|
||||
SimpleConfig::VARIE_LABEL,
|
||||
GlobalVariables::get("cfg")->hasValue(SimpleConfig::VARIE_LABEL) ? GlobalVariables::get("cfg")->getValue(SimpleConfig::VARIE_LABEL) : ""
|
||||
)
|
||||
?>
|
||||
</form>
|
||||
<div class="formBtns">
|
||||
<a href="#" id="taskForm_salva" >Salva</a>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(event){
|
||||
$("#taskForm_salva").click(function(event){
|
||||
$("form#taskForm input[type=hidden][name=action]").val("save");
|
||||
$("form#taskForm").submit();
|
||||
});
|
||||
$("#taskForm_annulla").click(function(event){
|
||||
$("form#taskForm input[type=hidden][name=action]").val("cancel");
|
||||
$("form#taskForm").submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -134,13 +134,20 @@ GUIHandler::generateHtmlHeaders(array("additionalMetadata"=>$additionalHeaders,"
|
||||
<div style="width:1000px;margin-left:auto;margin-right:auto;" itemscope itemtype="http://schema.org/Article">
|
||||
<?php
|
||||
|
||||
$categoryName = NotiziaModel::$NOTIZIE_CATEGORY[$articolo->category]["label"];
|
||||
if ($articolo->category == NotiziaModel::CATEGORY_VARIE) {
|
||||
if ( GlobalVariables::get("cfg")->hasValue(SimpleConfig::VARIE_LABEL) ) {
|
||||
$categoryName = GlobalVariables::get("cfg")->getValue(SimpleConfig::VARIE_LABEL);
|
||||
}
|
||||
}
|
||||
|
||||
GUIHandler::generateHeadPublic();
|
||||
GUIHandler::generateMenu();
|
||||
?>
|
||||
<div class="articoloCategory">
|
||||
<div class="categoryStyle">
|
||||
<div class="icon"><img alt="" src="images/categoryIcon.png"></div>
|
||||
<div class="articoloCategoryName" style="background-color:<?php echo NotiziaModel::$NOTIZIE_CATEGORY[$articolo->category]["color"] ?>"><span itemprop="articleSection"><?php echo strtoupper(NotiziaModel::$NOTIZIE_CATEGORY[$articolo->category]["label"]);?></span></div>
|
||||
<div class="articoloCategoryName" style="background-color:<?php echo NotiziaModel::$NOTIZIE_CATEGORY[$articolo->category]["color"] ?>"><span itemprop="articleSection"><?php echo strtoupper($categoryName);?></span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="articoloContainer" >
|
||||
@@ -165,7 +172,7 @@ GUIHandler::generateHtmlHeaders(array("additionalMetadata"=>$additionalHeaders,"
|
||||
?>
|
||||
</div>
|
||||
<div class="articoloTitle">
|
||||
<div class="title" itemprop="name"><?php echo htmlentities($articolo->titolo);?></div>
|
||||
<h1 class="title" itemprop="name"><?php echo htmlentities($articolo->titolo);?></h1>
|
||||
<div class="subTitle">
|
||||
<span><?php echo $data;?> —</span>
|
||||
<span itemprop="headline"><?php echo $articolo->sottotitolo;?></span>
|
||||
|
||||
@@ -12,17 +12,11 @@ if (array_key_exists("id",$_GET)) {
|
||||
if (!is_null($pdfModel)){
|
||||
$localFilePath = GlobalVariables::get("config")->paths->media."/".$id.".".$pdfModel->extension;
|
||||
if (SFSManager::fileExists($localFilePath)){
|
||||
$exposedFilePath = GlobalVariables::get("config")->paths->xsendfile."/".$id.".".$pdfModel->extension;
|
||||
if (!SFSManager::fileExists($exposedFilePath)){
|
||||
if (!SFSManager::fileExists(GlobalVariables::get("config")->paths->xsendfile) || !is_dir(GlobalVariables::get("config")->paths->xsendfile)){
|
||||
SystemController::mkdir(GlobalVariables::get("config")->paths->xsendfile);
|
||||
}
|
||||
SystemController::shellExec("ln",'-nFs "'.$localFilePath.'" "'.$exposedFilePath.'"');
|
||||
}
|
||||
header('X-Sendfile: '.$exposedFilePath.'');
|
||||
|
||||
header("Content-type: application/octet-stream");
|
||||
header('Content-Disposition: attachment; filename="' . basename($exposedFilePath) . '"');
|
||||
header('Content-Disposition: attachment; filename="' . $id.".".$pdfModel->extension . '"');
|
||||
|
||||
echo file_get_contents($localFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+37
-26
@@ -154,15 +154,27 @@ try {
|
||||
// }
|
||||
|
||||
|
||||
$animalNews = GlobalVariables::get("dao")->getFirst("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_MONDO_SPOSI,'_id'=>array('$nin'=>$ansaIds),
|
||||
"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1))
|
||||
);
|
||||
if (!is_null($animalNews)){
|
||||
$animalNews->testo = strip_tags($animalNews->testo);
|
||||
$animalNews->sottotitolo = strip_tags($animalNews->sottotitolo);
|
||||
}
|
||||
$varie = GlobalVariables::get("dao")->query(
|
||||
NotiziaModel::class,
|
||||
[
|
||||
"status"=>NotiziaModel::STATUS_ACCEPTED,
|
||||
"category"=>NotiziaModel::CATEGORY_VARIE,
|
||||
'_id'=> [ '$nin'=>$ansaIds ],
|
||||
"about.lastEdit" => [ '$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ) ]
|
||||
]
|
||||
);
|
||||
$varie = array_map(
|
||||
function ($model) {
|
||||
$model->testo = strip_tags($model->testo);
|
||||
$model->sottotitolo = strip_tags($model->sottotitolo);
|
||||
return $model;
|
||||
},
|
||||
$varie
|
||||
);
|
||||
$varieName = "Varie";
|
||||
if ( GlobalVariables::get("cfg")->hasValue(SimpleConfig::VARIE_LABEL) ) {
|
||||
$varieName = GlobalVariables::get("cfg")->getValue(SimpleConfig::VARIE_LABEL);
|
||||
}
|
||||
|
||||
$saluteNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_SALUTE,'_id'=>array('$nin'=>$ansaIds),
|
||||
@@ -467,7 +479,7 @@ catch (Exception $ex){
|
||||
<?php
|
||||
if(sizeof($elezioni)>0){
|
||||
?>
|
||||
<div class="lastViaggi">
|
||||
<div class="rightCategory">
|
||||
<div class="categoryBar" style="text-align:left;">
|
||||
<div class="categoryTag"><span>SPECIALE ELEZIONI</span></div>
|
||||
<div class="categoryLine"></div>
|
||||
@@ -489,7 +501,7 @@ catch (Exception $ex){
|
||||
}
|
||||
else{
|
||||
?>
|
||||
<div class="lastViaggi">
|
||||
<div class="rightCategory">
|
||||
<div class="categoryBar" style="text-align:left;">
|
||||
<div class="categoryTag"><span>VIAGGI</span></div>
|
||||
<div class="categoryLine"></div>
|
||||
@@ -513,23 +525,22 @@ catch (Exception $ex){
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="animali">
|
||||
<div class="categoryBar" style="text-align:left;">
|
||||
<div class="categoryTag"><span>MONDO SPOSI</span></div>
|
||||
<div class="rightCategory">
|
||||
<div class="categoryBar" style="text-align:left;" >
|
||||
<div class="categoryTag"><span><?php echo strtoupper($varieName); ?></span></div>
|
||||
<div class="categoryLine"></div>
|
||||
</div>
|
||||
<?php if(!is_null($animalNews)){
|
||||
// $stringTitle = (strlen($animalNews->titolo) > 53) ? htmlentities( substr( html_entity_decode( $animalNews->titolo ) ,0,50) ) .'...' : $animalNews->titolo;
|
||||
$stringTitle = $animalNews->cutTextHtmlSafe("titolo",50);
|
||||
?>
|
||||
<a href="<?php echo $animalNews->getAbsoluteUrl();?>" class="animaliContainer">
|
||||
<?php $media = DaoMediaHandler::getMainMediaFromModel($animalNews);
|
||||
if(!is_null($media)){?>
|
||||
<div class="culturaMainMedia mediaContent"><?php $media->renderMedia(['size' => MediaImage::SIZE_MEDIUM]);?></div>
|
||||
<?php }?>
|
||||
<div class="animaliTitle"><?php echo $stringTitle;?></div>
|
||||
</a>
|
||||
<?php }?>
|
||||
<?php
|
||||
foreach ($varie as $model) {
|
||||
$media = DaoMediaHandler::hasMainMedia($model) ? DaoMediaHandler::getMainMediaFromModel($model) : null;
|
||||
printf(
|
||||
'<a href="%s" class=""><div class="mediaContent">%s</div><div class="rightColumnTitle" >%s</div></a>',
|
||||
$model->getAbsoluteUrl(),
|
||||
is_null($media) ? "" : $media->asText(['size' => MediaImage::SIZE_MEDIUM]),
|
||||
$model->cutTextHtmlSafe("titolo",50)
|
||||
);
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div class="middleRightLongBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_LONG);?></div>
|
||||
</div>
|
||||
|
||||
+25
-3
@@ -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);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -66,5 +88,5 @@ function resortGroup(group) {
|
||||
}
|
||||
|
||||
function compareEle(a, b) {
|
||||
return a.views >= b.views;
|
||||
return a.views - b.views;
|
||||
}
|
||||
@@ -152,8 +152,9 @@ try {
|
||||
</div>
|
||||
<div class="archivioResults">
|
||||
<div style="text-align:center;">
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="banner subheadBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_TOP);?>
|
||||
</div>
|
||||
</div>
|
||||
<?php if(!$post){
|
||||
?>
|
||||
|
||||
@@ -125,9 +125,16 @@ GUIHandlerMobile::generateHtmlHeaders(array("additionalMetadata"=>$additionalHea
|
||||
<div class="imagePreviewAfter"><img src="images/rightImage.png" /></div>
|
||||
</div>
|
||||
<div class="clickableImageContainer" onclick="javascript:hidePreview()"></div> -->
|
||||
<div style="margin-top:32vw;width:100vw;margin-left:auto;margin-right:auto;" itemscope itemtype="http://schema.org/Article">
|
||||
<div style="margin-top:32vw;width:100vw;margin-left:auto;margin-right:auto;" itemscope itemtype="https://schema.org/Article">
|
||||
<?php
|
||||
|
||||
$categoryName = NotiziaModel::$NOTIZIE_CATEGORY[$articolo->category]["label"];
|
||||
if ($articolo->category == NotiziaModel::CATEGORY_VARIE) {
|
||||
if ( GlobalVariables::get("cfg")->hasValue(SimpleConfig::VARIE_LABEL) ) {
|
||||
$categoryName = GlobalVariables::get("cfg")->getValue(SimpleConfig::VARIE_LABEL);
|
||||
}
|
||||
}
|
||||
|
||||
GUIHandlerMobile::generateHeadPublic();
|
||||
GUIHandlerMobile::generateMenu();
|
||||
?>
|
||||
@@ -136,11 +143,12 @@ GUIHandlerMobile::generateHtmlHeaders(array("additionalMetadata"=>$additionalHea
|
||||
</script>
|
||||
<div class="newsContainer">
|
||||
<div style="text-align:center;">
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="banner subheadBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_TOP);?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="articoloCategoryName" style="color:white;background-color:<?php echo NotiziaModel::$NOTIZIE_CATEGORY[$articolo->category]["color"] ?>;">
|
||||
<span itemprop="articleSection"><?php echo strtoupper(NotiziaModel::$NOTIZIE_CATEGORY[$articolo->category]["label"]);?></span>
|
||||
<span itemprop="articleSection"><?php echo strtoupper($categoryName);?></span>
|
||||
</div>
|
||||
<div class="headArticolo">
|
||||
<div class="newsImage" >
|
||||
@@ -190,7 +198,7 @@ GUIHandlerMobile::generateHtmlHeaders(array("additionalMetadata"=>$additionalHea
|
||||
?>
|
||||
</div>
|
||||
<div class="articoloTitle">
|
||||
<p class="title" itemprop="name"><?php echo htmlentities($articolo->titolo);?></p>
|
||||
<h1 class="title" itemprop="name"><?php echo htmlentities($articolo->titolo);?></h1>
|
||||
<p class="subTitle">
|
||||
<span><?php echo $data;?> —</span>
|
||||
<span itemprop="headline"><?php echo $articolo->sottotitolo;?></span>
|
||||
@@ -211,9 +219,9 @@ GUIHandlerMobile::generateHtmlHeaders(array("additionalMetadata"=>$additionalHea
|
||||
$twitterCutTitle = substr($twitterCutTitle, 0, 92) . "...";
|
||||
}
|
||||
?>
|
||||
<a class="socialLink" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://www.ifattidinapoli.it/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://www.ifattidinapoli.it/articolo.php?id=<?php echo $articolo->id;?>&text=<?php echo urlencode($twitterCutTitle." -");?>"><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://www.ifattidinapoli.it/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://www.facebook.com/sharer/sharer.php?u=https://www.ifattidinapoli.it/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=https://www.ifattidinapoli.it/articolo.php?id=<?php echo $articolo->id;?>&text=<?php echo urlencode($twitterCutTitle." -");?>"><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=https://www.ifattidinapoli.it/articolo.php?id=<?php echo $articolo->id;?>"><div style="background-image:url(images/linkedin_round.png);"></div></a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align:center;">
|
||||
@@ -316,7 +324,7 @@ GUIHandlerMobile::generateHtmlHeaders(array("additionalMetadata"=>$additionalHea
|
||||
|
||||
<button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
|
||||
|
||||
<!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
|
||||
<!-- Preloader demo https://codepen.io/dimsemenov/pen/yyBWoR -->
|
||||
<!-- element will get class pswp__preloader--active when preloader is running -->
|
||||
<div class="pswp__preloader">
|
||||
<div class="pswp__preloader__icn">
|
||||
|
||||
@@ -65,9 +65,10 @@ try{
|
||||
GUIHandlerMobile::generateHeadPublic();
|
||||
GUIHandlerMobile::generateMenu();?>
|
||||
<div class="categorySummaryContainer">
|
||||
<div style="text-align:center;">
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div style="text-align:center;">
|
||||
<div class="banner subheadBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_TOP);?>
|
||||
</div>
|
||||
</div>
|
||||
<?php $i=0;
|
||||
if(sizeof($notizie)>0){
|
||||
|
||||
+67
-80
@@ -6,9 +6,13 @@ Creation Date: 22/dic/2015
|
||||
|
||||
require_once(dirname(__FILE__)."/../load.php");
|
||||
|
||||
try {
|
||||
// AnalyticsHelper::logPageImpression();
|
||||
function stripModelText($model) {
|
||||
$model->testo = strip_tags($model->testo);
|
||||
$model->sottotitolo = strip_tags($model->sottotitolo);
|
||||
return $model;
|
||||
}
|
||||
|
||||
try {
|
||||
$config = GlobalVariables::get("config");
|
||||
$directLink = $config->pages->remoteLocationPath."index.php";
|
||||
|
||||
@@ -17,122 +21,107 @@ try {
|
||||
|
||||
GUIHandlerMobile::generateHtmlHeaders(array("additionalMetadata"=>$additionalHeaders));
|
||||
|
||||
// echo "OK";
|
||||
|
||||
// var_dump(date("n"));
|
||||
$mesi = array(1=>'Gennaio', 'Febbraio', 'Marzo', 'Aprile',
|
||||
'Maggio', 'Giugno', 'Luglio', 'Agosto',
|
||||
'Settembre', 'Ottobre', 'Novembre','Dicembre');
|
||||
// $day = date("d");
|
||||
$pageSelected="home";
|
||||
|
||||
// $ansaNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
// array("isAnsa"=>true,"status"=>NotiziaModel::STATUS_ACCEPTED,"about.data"=>array('$lte'=>new MongoDate())),
|
||||
// array("sort"=>array("about.data"=>-1),"limit"=>4));
|
||||
$ansaNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("isAnsa"=>true,"status"=>NotiziaModel::STATUS_ACCEPTED,"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1),"limit"=>8));
|
||||
$ansaIds = array();
|
||||
if (sizeof($ansaNews)>0){
|
||||
$ansaIds = array_map(function($ele){return new MongoDB\BSON\ObjectID($ele->id);}, $ansaNews);
|
||||
|
||||
$ansaNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $ansaNews);
|
||||
}
|
||||
|
||||
|
||||
$ansaIds = array_map(
|
||||
function($ele){
|
||||
return new MongoDB\BSON\ObjectID($ele->id);
|
||||
},
|
||||
$ansaNews
|
||||
);
|
||||
$ansaNews = array_map(
|
||||
'stripModelText',
|
||||
$ansaNews
|
||||
);
|
||||
|
||||
// $politicaNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
// array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_POLITICA,'_id'=>array('$nin'=>$ansaIds),
|
||||
// "about.data"=>array('$lte'=>new MongoDate())),
|
||||
// array("sort"=>array("about.data"=>-1),"limit"=>4)
|
||||
// );
|
||||
$politicaNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_POLITICA,'_id'=>array('$nin'=>$ansaIds),
|
||||
"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1),"limit"=>4)
|
||||
);
|
||||
if (sizeof($politicaNews)>0){
|
||||
$politicaNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $politicaNews);
|
||||
}
|
||||
$politicaNews = array_map(
|
||||
'stripModelText',
|
||||
$politicaNews
|
||||
);
|
||||
|
||||
|
||||
// $cronacaNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
// array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_CRONACA,'_id'=>array('$nin'=>$ansaIds),
|
||||
// "about.data"=>array('$lte'=>new MongoDate())),
|
||||
// array("sort"=>array("about.data"=>-1),"limit"=>4)
|
||||
// );
|
||||
$cronacaNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_CRONACA,'_id'=>array('$nin'=>$ansaIds),
|
||||
"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1),"limit"=>6)
|
||||
);
|
||||
if (sizeof($cronacaNews)>0){
|
||||
$cronacaNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $cronacaNews);
|
||||
}
|
||||
$cronacaNews = array_map(
|
||||
'stripModelText',
|
||||
$cronacaNews
|
||||
);
|
||||
|
||||
// $sportNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
// array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_SPORT,'_id'=>array('$nin'=>$ansaIds),
|
||||
// "about.data"=>array('$lte'=>new MongoDate())),
|
||||
// array("sort"=>array("about.data"=>-1),"limit"=>4)
|
||||
// );
|
||||
$sportNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_SPORT,'_id'=>array('$nin'=>$ansaIds),
|
||||
"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1),"limit"=>4)
|
||||
);
|
||||
if (sizeof($sportNews)>0){
|
||||
$sportNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $sportNews);
|
||||
}
|
||||
$sportNews = array_map(
|
||||
'stripModelText',
|
||||
$sportNews
|
||||
);
|
||||
|
||||
// $culturaNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
// array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_CULTURA,'_id'=>array('$nin'=>$ansaIds),
|
||||
// "about.data"=>array('$lte'=>new MongoDate())),
|
||||
// array("sort"=>array("about.data"=>-1),"limit"=>4)
|
||||
// );
|
||||
$culturaNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_CULTURA,'_id'=>array('$nin'=>$ansaIds),
|
||||
"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1),"limit"=>4)
|
||||
);
|
||||
if (sizeof($culturaNews)>0){
|
||||
$culturaNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $culturaNews);
|
||||
}
|
||||
$culturaNews = array_map(
|
||||
'stripModelText',
|
||||
$culturaNews
|
||||
);
|
||||
|
||||
|
||||
// $foodNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
// array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_RISTORANTI,'_id'=>array('$nin'=>$ansaIds),
|
||||
// "about.data"=>array('$lte'=>new MongoDate())),
|
||||
// array("sort"=>array("about.data"=>-1),"limit"=>4)
|
||||
// );
|
||||
$foodNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_RISTORANTI,'_id'=>array('$nin'=>$ansaIds),
|
||||
"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1),"limit"=>4)
|
||||
);
|
||||
if (sizeof($foodNews)>0){
|
||||
$foodNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $foodNews);
|
||||
}
|
||||
$foodNews = array_map(
|
||||
'stripModelText',
|
||||
$foodNews
|
||||
);
|
||||
|
||||
// $professioniNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
// array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_MESTIERI,'_id'=>array('$nin'=>$ansaIds),
|
||||
// "about.data"=>array('$lte'=>new MongoDate())),
|
||||
// array("sort"=>array("about.data"=>-1),"limit"=>4)
|
||||
// );
|
||||
$professioniNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_MESTIERI,'_id'=>array('$nin'=>$ansaIds),
|
||||
"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1),"limit"=>4)
|
||||
);
|
||||
if (sizeof($professioniNews)>0){
|
||||
$professioniNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $professioniNews);
|
||||
}
|
||||
$professioniNews = array_map(
|
||||
'stripModelText',
|
||||
$professioniNews
|
||||
);
|
||||
|
||||
$mondoSposiNews = GlobalVariables::get("dao")->query("NotiziaModel",
|
||||
array("status"=>NotiziaModel::STATUS_ACCEPTED,"category"=>NotiziaModel::CATEGORY_MONDO_SPOSI,'_id'=>array('$nin'=>$ansaIds),
|
||||
"about.lastEdit"=>array('$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ))),
|
||||
array("sort"=>array("about.lastEdit"=>-1),"limit"=>4)
|
||||
);
|
||||
if (sizeof($mondoSposiNews)>0){
|
||||
$mondoSposiNews = array_map(function($ele){$ele->testo = strip_tags($ele->testo);$ele->sottotitolo = strip_tags($ele->sottotitolo); return $ele; }, $mondoSposiNews);
|
||||
}
|
||||
$varie = GlobalVariables::get("dao")->query(
|
||||
NotiziaModel::class,
|
||||
[
|
||||
"status"=>NotiziaModel::STATUS_ACCEPTED,
|
||||
"category"=>NotiziaModel::CATEGORY_VARIE,
|
||||
'_id'=> [ '$nin'=>$ansaIds ],
|
||||
"about.lastEdit" => [ '$lte'=>new MongoDB\BSON\UTCDateTime( time() * 1000 ) ]
|
||||
]
|
||||
);
|
||||
$varie = array_map(
|
||||
'stripModelText',
|
||||
$varie
|
||||
);
|
||||
$varieName = "Varie";
|
||||
if ( GlobalVariables::get("cfg")->hasValue(SimpleConfig::VARIE_LABEL) ) {
|
||||
$varieName = GlobalVariables::get("cfg")->getValue(SimpleConfig::VARIE_LABEL);
|
||||
}
|
||||
}
|
||||
catch (Exception $ex){
|
||||
echo $ex->getMessage();
|
||||
@@ -144,15 +133,15 @@ catch (Exception $ex){
|
||||
?>
|
||||
<div class="newsBarMobile">
|
||||
<div style="text-align:center;">
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="banner subheadBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_TOP);?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="newsContainer" >
|
||||
<?php $i=0; foreach($ansaNews as $ansa){
|
||||
$i++;
|
||||
$stringTitolo = (strlen($ansa->titolo) > 103) ? htmlentities ( substr( html_entity_decode( $ansa->titolo ),0,100) ) .'...' : $ansa->titolo;
|
||||
// $stringSottotitolo = (strlen($ansa->sottotitolo) > 73) ? substr($ansa->sottotitolo,0,70).'...' : $ansa->sottotitolo;
|
||||
// $stringTesto = (strlen($ansa->testo) > 33) ? substr($ansa->testo,0,30).'...' : $ansa->testo;?>
|
||||
?>
|
||||
<div class="primaryNews">
|
||||
<a href="articolo.php?id=<?php echo $ansa->id;?>" id="ansa_<?php echo $i;?>" class="ansaNews"><?php
|
||||
$media = DaoMediaHandler::getMainMediaFromModel($ansa);
|
||||
@@ -357,12 +346,12 @@ catch (Exception $ex){
|
||||
</div>
|
||||
|
||||
<div class="newsContainer">
|
||||
<div class="categoryBar" style="background-color:<?php echo NotiziaModel::$NOTIZIE_CATEGORY[NotiziaModel::CATEGORY_MONDO_SPOSI]["color"] ?>">
|
||||
<span><?php echo NotiziaModel::$NOTIZIE_CATEGORY[NotiziaModel::CATEGORY_MONDO_SPOSI]["label"] ?></span>
|
||||
<div class="categoryBar" style="background-color: <?php echo NotiziaModel::$NOTIZIE_CATEGORY[NotiziaModel::CATEGORY_VARIE]["color"] ?>">
|
||||
<span><?php echo strtoupper($varieName); ?></span>
|
||||
</div>
|
||||
<?php if(sizeof($mondoSposiNews)>0){
|
||||
<?php if(sizeof($varie)>0){
|
||||
$i=0;
|
||||
foreach ($mondoSposiNews as $articolo){
|
||||
foreach ($varie as $articolo){
|
||||
|
||||
$stringTitolo = (strlen($articolo->titolo) > 53) ? htmlentities ( substr( html_entity_decode( $articolo->titolo ) ,0,50) ) .'...' : $articolo->titolo;
|
||||
// $string = (strlen($politica->sottotitolo) > 33) ? substr($politica->sottotitolo,0,30).'...' : $politica->sottotitolo;?>
|
||||
@@ -429,8 +418,6 @@ catch (Exception $ex){
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$(".newsBarMobile").css({"margin-top":$(".headContainer").outerHeight()});
|
||||
|
||||
$("img.poster").hide();
|
||||
$("video.localVideo").attr("style","");
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ try {
|
||||
<div class="contattiRedazione">
|
||||
<div >GERENZA</div>
|
||||
<img alt="" src="images/blueBalls.png">
|
||||
<div><a href="http://www.ifattidinapoli.it">www.ifattidinapoli.it</a></div>
|
||||
<div><a href="https://www.ifattidinapoli.it">www.ifattidinapoli.it</a></div>
|
||||
<img alt="" src="images/blueBalls.png">
|
||||
<div >Direttore Responsabile</div>
|
||||
<div style="font-weight:bold;color:black;">Antonio Pianelli</div>
|
||||
|
||||
@@ -88,8 +88,9 @@ try {
|
||||
GUIHandlerMobile::generateMenu();?>
|
||||
<div class="searchResultsContainer">
|
||||
<div style="text-align:center;">
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="middleBanner mediaContent"><?php BannerHelper::printBanner(BannerModel::POSITION_HEAD);?></div>
|
||||
<div class="banner subheadBanner mediaContent">
|
||||
<?php BannerHelper::printBanner(BannerModel::POSITION_TOP);?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if ($found){
|
||||
|
||||
@@ -4,29 +4,6 @@ Author: Riccardo Di Dato
|
||||
Creation Date: 02/mar/2016
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__)."/../../load.php");
|
||||
|
||||
try {
|
||||
if (array_key_exists("HTTP_REFERER",$_SERVER)){
|
||||
$host = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
|
||||
|
||||
if (strcmp($host,$_SERVER["SERVER_NAME"])==0){
|
||||
$banner = PostHandler::get("banner");
|
||||
$source = PostHandler::get("source");
|
||||
if (!is_null($banner) && !is_null($source)){
|
||||
AnalyticsHelper::saveBannerClick($banner, $source);
|
||||
}
|
||||
}
|
||||
else {
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Dropped statistical data coming from referer '".$host."'");
|
||||
}
|
||||
}
|
||||
else {
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Dropped statistical data coming from null referer. Related ip '".$_SERVER['REMOTE_ADDR']."'");
|
||||
}
|
||||
}
|
||||
catch (Exception $ex){
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Error while logging statistical data. Message: '".$ex->getMessage()."'");
|
||||
}
|
||||
include(dirname(__FILE__)."/../../stats/bannerClick.php");
|
||||
|
||||
?>
|
||||
@@ -4,30 +4,6 @@ Author: Riccardo Di Dato
|
||||
Creation Date: 02/mar/2016
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__)."/../../load.php");
|
||||
|
||||
try {
|
||||
if (array_key_exists("HTTP_REFERER",$_SERVER)){
|
||||
$host = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
|
||||
|
||||
if (strcmp($host,$_SERVER["SERVER_NAME"])==0){
|
||||
$ip = PostHandler::get("ip");
|
||||
$banner = PostHandler::get("banner");
|
||||
$source = PostHandler::get("source");
|
||||
if (!is_null($ip) && !is_null($banner) && !is_null($source)){
|
||||
AnalyticsHelper::saveBannerImpression($ip, $banner, $source);
|
||||
}
|
||||
}
|
||||
else {
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Dropped statistical data coming from referer '".$host."'");
|
||||
}
|
||||
}
|
||||
else {
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Dropped statistical data coming from null referer. Related ip '".$_SERVER['REMOTE_ADDR']."'");
|
||||
}
|
||||
}
|
||||
catch (Exception $ex){
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Error while logging statistical data. Message: '".$ex->getMessage()."'");
|
||||
}
|
||||
include(dirname(__FILE__)."/../../stats/bannerImpression.php");
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
/*
|
||||
Author: Riccardo Di Dato
|
||||
Creation Date: 02/mar/2016
|
||||
*/
|
||||
|
||||
include(dirname(__FILE__)."/../../stats/bannerMultiImpression.php");
|
||||
|
||||
?>
|
||||
@@ -3,31 +3,6 @@
|
||||
Author: Riccardo Di Dato
|
||||
Creation Date: 28/gen/2016
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__)."/../../load.php");
|
||||
|
||||
try {
|
||||
if (array_key_exists("HTTP_REFERER",$_SERVER)){
|
||||
$host = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
|
||||
|
||||
if (strcmp($host,$_SERVER["SERVER_NAME"])==0){
|
||||
$ip = PostHandler::get("ip");
|
||||
$notizia = PostHandler::get("notizia");
|
||||
$source = PostHandler::get("source");
|
||||
if (!is_null($ip) && !is_null($notizia) && !is_null($source)){
|
||||
AnalyticsHelper::saveNotiziaImpression($ip, $notizia, $source);
|
||||
}
|
||||
}
|
||||
else {
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Dropped statistical data coming from referer '".$host."'");
|
||||
}
|
||||
}
|
||||
else {
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Dropped statistical data coming from null referer. Related ip '".$_SERVER['REMOTE_ADDR']."'");
|
||||
}
|
||||
}
|
||||
catch (Exception $ex){
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Error while logging statistical data. Message: '".$ex->getMessage()."'");
|
||||
}
|
||||
include(dirname(__FILE__)."/../../stats/notiziaImpression.php");
|
||||
|
||||
?>
|
||||
@@ -4,30 +4,6 @@ Author: Riccardo Di Dato
|
||||
Creation Date: 27/gen/2016
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__)."/../../load.php");
|
||||
|
||||
try {
|
||||
if (array_key_exists("HTTP_REFERER",$_SERVER)){
|
||||
$host = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
|
||||
|
||||
if (strcmp($host,$_SERVER["SERVER_NAME"])==0){
|
||||
$ip = PostHandler::get("ip");
|
||||
$content = PostHandler::get("content");
|
||||
$source = PostHandler::get("source");
|
||||
if (!is_null($ip) && !is_null($content) && !is_null($source)){
|
||||
AnalyticsHelper::savePageImpression($ip, $content, $source);
|
||||
}
|
||||
}
|
||||
else {
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Dropped statistical data coming from referer '".$host."'");
|
||||
}
|
||||
}
|
||||
else {
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Dropped statistical data coming from null referer. Related ip '".$_SERVER['REMOTE_ADDR']."'");
|
||||
}
|
||||
}
|
||||
catch (Exception $ex){
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_INFO,"Error while logging statistical data. Message: '".$ex->getMessage()."'");
|
||||
}
|
||||
include(dirname(__FILE__)."/../../stats/pageImpression.php");
|
||||
|
||||
?>
|
||||
@@ -4,7 +4,7 @@ a{text-decoration:none;}
|
||||
body{font-family:lato, arial;}
|
||||
|
||||
/* TOP HEAD BAR/Menu/Footer (GUIHandler)*/
|
||||
.headContainer{position:fixed;background-color:white;width:100vw;top:0;left:0;z-index:10;overflow:hidden;}
|
||||
.headContainer{position:sticky;background-color:white;width:100vw;top:0;left:0;z-index:10;overflow:hidden;}
|
||||
.upperBar{text-align:center;border:1px solid #949494;border-left:0px;border-right:0px;margin:5px 0;padding:2px;font-size:8pt;color:#949494;}
|
||||
.logo{text-align:center;}
|
||||
.logo img{width:50vw;margin:auto;}
|
||||
@@ -102,7 +102,7 @@ body{font-family:lato, arial;}
|
||||
}
|
||||
|
||||
|
||||
.newsBarMobile{margin-top:32vw;width:100vw;}
|
||||
.newsBarMobile{width:100vw;}
|
||||
.newsContainer{width:100vw;}
|
||||
.newsContainer .categoryBar{padding:5px 10px;}
|
||||
.newsContainer .categoryBar > span{color:white;font-weight:bold;font-size:14pt;}
|
||||
@@ -154,7 +154,7 @@ body{font-family:lato, arial;}
|
||||
.headArticolo .newsImage{width:100vw;text-align:center;overflow:hidden;}
|
||||
.headArticolo .newsImage img{max-width:100%;}
|
||||
.articoloTitle{width:90%;padding:10px;margin:auto;}
|
||||
.articoloTitle .title{font-weight:bold;color:black;}
|
||||
.articoloTitle .title{ font-weight:bold; color:black; margin: 0; font-size: 1.8em; }
|
||||
.articoloTitle .subTitle{font-weight:italic;color:#9a9a9a;}
|
||||
.articoloBody{width:90vw;margin:auto;}
|
||||
.articoloBody .articoloTesto{text-align:justify;padding:5px;}
|
||||
|
||||
@@ -12,7 +12,7 @@ if (array_key_exists("id", $_GET)){
|
||||
|
||||
if (!is_null($notizia)){
|
||||
Header( "HTTP/1.1 301 Moved Permanently" );
|
||||
Header( "Location: http://www.ifattidinapoli.it/articolo.php?id=".$notizia->id );
|
||||
Header( "Location: https://www.ifattidinapoli.it/articolo.php?id=".$notizia->id );
|
||||
|
||||
// GUIHandler::redirect("articolo.php?id=".$notizia->id);
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ try {
|
||||
<div class="contattiRedazione">
|
||||
<div >GERENZA</div>
|
||||
<img alt="" src="images/blueBalls.png">
|
||||
<div><a href="http://www.ifattidinapoli.it">www.ifattidinapoli.it</a></div>
|
||||
<div><a href="https://www.ifattidinapoli.it">www.ifattidinapoli.it</a></div>
|
||||
<img alt="" src="images/blueBalls.png">
|
||||
<div >Direttore Responsabile</div>
|
||||
<div style="font-weight:bold;color:black;">Antonio Pianelli</div>
|
||||
|
||||
@@ -3,4 +3,4 @@ Disallow: /admin/
|
||||
Disallow: /stats/
|
||||
Disallow: /mobile/stats/
|
||||
Disallow: /getBanner.php
|
||||
Sitemap: http://www.ifattidinapoli.it/sitemap.xml
|
||||
Sitemap: https://www.ifattidinapoli.it/sitemap.xml
|
||||
@@ -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(
|
||||
|
||||
@@ -22,11 +22,14 @@ body{font-family:lato, arial;}
|
||||
.socialBar > a > div{display:inline-block;width:22px;height:22px;background-repeat:no-repeat;}
|
||||
|
||||
.middleBar{position:relative;height:138px;border:solid #d6d6d6 1px;border-top:0px;border-left:0px;border-right:0px;}
|
||||
.banner img{ width: 100%; height: 100%; overflow: hidden; }
|
||||
.leftBanner{position:absolute;top:45px;left:10px;}
|
||||
.logo{display:inline-block;width:50%;text-align:center;margin:12px 250px;}
|
||||
.rightBanner{position:absolute;top:45px;right:10px;}
|
||||
.topBanner{width:180px;height:60px;}
|
||||
.topBanner > *{max-widht:100%;max-height:100%;}
|
||||
.topBanner > * { max-width:100%; max-height:100%; }
|
||||
.subheadBanner { width:1000px; height:150px; }
|
||||
.footerBanner { width:1000px; height:200px; }
|
||||
|
||||
|
||||
.menuContainer{position:relative;}
|
||||
@@ -312,26 +315,29 @@ display: inline-block;
|
||||
.meteo div span{font-weight:bold;}
|
||||
|
||||
.middleRightBanner{width:210px;overflow: hidden;height: 157px;margin: 5px 0;}
|
||||
.middleRightBanner img{width:100%; heigth:100%;}
|
||||
.middleRightBanner img{width:100%; height:100%;}
|
||||
.middleRightLongBanner img{height:100%;width:100%;}
|
||||
.middleRightLongBanner{height:314px; width:210px;overflow: hidden;margin: 5px 0;}
|
||||
|
||||
.reader > .lastContainer, .lastContainer{/* max-height:120px */;display:block;padding:5px;border-bottom:dotted #C1B4B4 1px;cursor:pointer;text-decoration:none;color:black;}
|
||||
.reader > .lastContainer, .lastContainer{ display:block;padding:5px;border-bottom:dotted #C1B4B4 1px;cursor:pointer;text-decoration:none;color:black;}
|
||||
.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:165px */;/* margin-top:5px */;margin-bottom:5px;border-bottom:dotted #C1B4B4 1px;cursor:pointer;overflow:hidden;text-decoration:none;color:black;}
|
||||
.gossipContainer{margin-bottom:5px;border-bottom:dotted #C1B4B4 1px;cursor:pointer;overflow:hidden;text-decoration:none;color:black;}
|
||||
.gossipContainer#gossip_2{border-bottom:none;}
|
||||
.gossipTitle{margin-bottom:5px;font-weight:bold;font-size:20px;}
|
||||
.gossipSubtitle{margin-bottom:5px;color:#64bff0;font-weight:bold;font-size:15px;}
|
||||
|
||||
.animaliContainer,.viaggiContainer{/* max-height:165px; *//* margin-top:5px */;display:block;margin-bottom:5px;text-decoration:none;color:black;}
|
||||
.animaliContainer, .viaggiContainer, .variousContainer {display:block;margin-bottom:5px;text-decoration:none;color:black;}
|
||||
.animaliContainer > .culturaMainMedia,.viaggiContainer > .culturaMainMedia{text-align:left;}
|
||||
.animaliTitle,.viaggiTitle{cursor:pointer;margin-bottom:5px;font-weight:bold;font-size:17px;}
|
||||
|
||||
.rightCategory .categoryBar{ margin-bottom: 5px;}
|
||||
.rightColumnTitle{ margin-bottom:5px; font-weight:bold; font-size:17px; color: black; }
|
||||
|
||||
/*
|
||||
_ _ _ _
|
||||
/ \ _ __| |_(_) ___ ___ | | ___
|
||||
@@ -364,7 +370,7 @@ display: inline-block;
|
||||
.articoloMainMedia.mediaContent img{max-height:225px;cursor:pointer;}
|
||||
|
||||
.articoloTitle{display:inline-block;width:550px;padding:0px 20px;vertical-align:top;text-align:left;}
|
||||
.articoloTitle > .title{font-size:20px;font-weight:bold;text-transform:uppercase;font-family:"Arial Bold";}
|
||||
.articoloTitle > .title{font-size:20px;font-weight:bold;text-transform:uppercase;font-family:"Arial Bold"; margin: 0;}
|
||||
.articoloTitle > .subTitle{font-style:italic;font-family:"Arial Bold";}
|
||||
.subTitle > span:first-child{color:rgb(150,150,150);text-transform:none;font-weight:bold;}
|
||||
|
||||
|
||||
@@ -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"]
|
||||
Executable
+24
@@ -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
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
4 0 * * * /myscripts/backup 2>&1
|
||||
@@ -0,0 +1,23 @@
|
||||
version: "3"
|
||||
services:
|
||||
backup:
|
||||
image: cronjob
|
||||
build: ./
|
||||
networks:
|
||||
- backup-network
|
||||
restart: "unless-stopped"
|
||||
volumes:
|
||||
- /home/ddninja/fdn2/backups:/backups
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-file: 4
|
||||
max-size: 100m
|
||||
compress: "true"
|
||||
|
||||
|
||||
networks:
|
||||
backup-network:
|
||||
external: true
|
||||
name:
|
||||
backup-network
|
||||
@@ -5,8 +5,11 @@ services:
|
||||
restart: "on-failure:5"
|
||||
networks:
|
||||
db-network:
|
||||
backup-network:
|
||||
aliases:
|
||||
- §PROJECT_BUILDNAME§.§ENVIRONMENT_TYPE§.database
|
||||
volumes:
|
||||
- ./persistence/database/mongodb:/usr/local/mongodb
|
||||
- ./persistence/database/mongodb:/data/db/
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
@@ -30,7 +33,7 @@ services:
|
||||
links:
|
||||
- mongo:database
|
||||
volumes:
|
||||
- ./persistence/webserver/storage:/home/§PROJECT_AUTHOR§/storage/§PROJECT_BUILDNAME§
|
||||
- ./persistence/storage:/home/§PROJECT_AUTHOR§/storage/§PROJECT_BUILDNAME§
|
||||
- §PROJECT_BUILDNAME§-ws-log:/var/log/§PROJECT_AUTHOR§/
|
||||
- §PROJECT_BUILDNAME§-job-comms:/jobComunication/
|
||||
logging:
|
||||
@@ -38,23 +41,32 @@ services:
|
||||
options:
|
||||
max-file: "5"
|
||||
max-size: "150m"
|
||||
# worker:
|
||||
# image: 662348923997.dkr.ecr.eu-west-1.amazonaws.com/§PROJECT_GROUP§/edenlandia-worker:§TAG_NAME§
|
||||
# env_file: worker.env
|
||||
# restart: "no"
|
||||
# networks:
|
||||
# db-network:
|
||||
# §PROJECT_BUILDNAME§-network:
|
||||
# links:
|
||||
# - mongo:database
|
||||
# volumes:
|
||||
# - §PROJECT_BUILDNAME§-storage:/home/asdynamics/storage/edenlandia-worker
|
||||
# - edenlandia-worker-log:/var/log/asdynamics/
|
||||
# - ~/workspace-azzurro/webapps/edenlandia-worker/app/private:/home/asdynamics/private/§PROJECT_BUILDNAME§:ro
|
||||
# - §PROJECT_BUILDNAME§-job-comms:/jobComunication/
|
||||
worker:
|
||||
image: §PROJECT_REPOSITORY§/§PROJECT_GROUP§/§PROJECT_BUILDNAME§:§TAG_NAME§-worker
|
||||
env_file:
|
||||
- environments/common/worker.env
|
||||
- environments/§ENVIRONMENT_TYPE§/worker.env
|
||||
depends_on:
|
||||
- mongo
|
||||
- memcached
|
||||
restart: "on-failure:3"
|
||||
networks:
|
||||
db-network:
|
||||
§PROJECT_BUILDNAME§-network:
|
||||
links:
|
||||
- mongo:database
|
||||
volumes:
|
||||
- ./persistence/storage:/home/§PROJECT_AUTHOR§/storage/§PROJECT_BUILDNAME§
|
||||
- §PROJECT_BUILDNAME§-wk-log:/var/log/§PROJECT_AUTHOR§/
|
||||
- §PROJECT_BUILDNAME§-job-comms:/jobComunication/
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-file: "5"
|
||||
max-size: "150m"
|
||||
memcached:
|
||||
image: memcached:1.6.9-alpine
|
||||
restart: "on-failure:3"
|
||||
restart: "on-failure:5"
|
||||
networks:
|
||||
§PROJECT_BUILDNAME§-network:
|
||||
logging:
|
||||
@@ -66,6 +78,10 @@ services:
|
||||
networks:
|
||||
db-network:
|
||||
§PROJECT_BUILDNAME§-network:
|
||||
backup-network:
|
||||
external: true
|
||||
name:
|
||||
backup-network
|
||||
nginx-network:
|
||||
external: true
|
||||
name:
|
||||
@@ -74,5 +90,7 @@ networks:
|
||||
|
||||
volumes:
|
||||
§PROJECT_BUILDNAME§-ws-log:
|
||||
§PROJECT_BUILDNAME§-wk-log:
|
||||
§PROJECT_BUILDNAME§-db-persist:
|
||||
§PROJECT_BUILDNAME§-job-comms:
|
||||
|
||||
@@ -5,12 +5,13 @@ services:
|
||||
restart: "no"
|
||||
networks:
|
||||
db-network:
|
||||
backup-network:
|
||||
aliases:
|
||||
- §PROJECT_BUILDNAME§.§ENVIRONMENT_TYPE§.database
|
||||
- §PROJECT_BUILDNAME§.local.database
|
||||
volumes:
|
||||
- §PROJECT_BUILDNAME§-db-persist:/usr/local/mongodb
|
||||
- §PROJECT_BUILDNAME§-db-persist:/data/db/
|
||||
webserver:
|
||||
image: §PROJECT_REPOSITORY§/§PROJECT_GROUP§/§PROJECT_BUILDNAME§:§TAG_NAME§-debug
|
||||
image: §PROJECT_REPOSITORY§/§PROJECT_GROUP§/§PROJECT_BUILDNAME§:§TAG_NAME§-webserver-debug
|
||||
env_file:
|
||||
- environments/common/webserver.env
|
||||
- environments/local/webserver.env
|
||||
@@ -28,20 +29,22 @@ services:
|
||||
- §DEBUG_HOST_PROJECT_FOLDER§/app/public:/var/www/§PROJECT_BUILDNAME§:ro
|
||||
- §DEBUG_HOST_PROJECT_FOLDER§/app/private:/home/§PROJECT_AUTHOR§/private/§PROJECT_BUILDNAME§:ro
|
||||
- §PROJECT_BUILDNAME§-job-comms:/jobComunication/
|
||||
# worker:
|
||||
# image: 662348923997.dkr.ecr.eu-west-1.amazonaws.com/§PROJECT_GROUP§/edenlandia-worker:§TAG_NAME§
|
||||
# env_file: worker.env
|
||||
# restart: "no"
|
||||
# networks:
|
||||
# db-network:
|
||||
# §PROJECT_BUILDNAME§-network:
|
||||
# links:
|
||||
# - mongo:database
|
||||
# volumes:
|
||||
# - §PROJECT_BUILDNAME§-storage:/home/asdynamics/storage/edenlandia-worker
|
||||
# - edenlandia-worker-log:/var/log/asdynamics/
|
||||
# - ~/workspace-azzurro/webapps/edenlandia-worker/app/private:/home/asdynamics/private/§PROJECT_BUILDNAME§:ro
|
||||
# - §PROJECT_BUILDNAME§-job-comms:/jobComunication/
|
||||
worker:
|
||||
image: §PROJECT_REPOSITORY§/§PROJECT_GROUP§/§PROJECT_BUILDNAME§:§TAG_NAME§-worker-debug
|
||||
env_file:
|
||||
- environments/common/worker.env
|
||||
- environments/local/worker.env
|
||||
restart: "no"
|
||||
networks:
|
||||
db-network:
|
||||
§PROJECT_BUILDNAME§-network:
|
||||
links:
|
||||
- mongo:database
|
||||
volumes:
|
||||
- §PROJECT_BUILDNAME§-storage:/home/§PROJECT_AUTHOR§/storage/§PROJECT_BUILDNAME§
|
||||
- ./worker-logs:/var/log/§PROJECT_AUTHOR§/
|
||||
- §DEBUG_HOST_PROJECT_FOLDER§/app/private:/home/§PROJECT_AUTHOR§/private/§PROJECT_BUILDNAME§:ro
|
||||
- §PROJECT_BUILDNAME§-job-comms:/jobComunication/
|
||||
memcached:
|
||||
image: memcached:1.6.9-alpine
|
||||
restart: "no"
|
||||
@@ -49,17 +52,16 @@ services:
|
||||
§PROJECT_BUILDNAME§-network:
|
||||
|
||||
networks:
|
||||
nginx-network:
|
||||
external:
|
||||
name:
|
||||
nginx-network
|
||||
db-network:
|
||||
§PROJECT_BUILDNAME§-network:
|
||||
backup-network:
|
||||
external: true
|
||||
name:
|
||||
backup-network
|
||||
|
||||
|
||||
volumes:
|
||||
§PROJECT_BUILDNAME§-storage:
|
||||
§PROJECT_BUILDNAME§-log:
|
||||
# edenlandia-worker-log:
|
||||
§PROJECT_BUILDNAME§-db-persist:
|
||||
§PROJECT_BUILDNAME§-job-comms:
|
||||
@@ -0,0 +1,37 @@
|
||||
# Use a PHP runtime as a parent image
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-webserver
|
||||
|
||||
# Set the working directory to /app
|
||||
WORKDIR /§PROJECT_BUILDNAME§
|
||||
|
||||
# Install GD (required by mpdf)
|
||||
RUN apt-get update && \
|
||||
apt-get install -yq --no-install-recommends libpng-dev zlib1g-dev && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
RUN docker-php-ext-install gd
|
||||
|
||||
# Install Memcached
|
||||
RUN apt-get update && apt-get install -y libmemcached-dev \
|
||||
&& pecl install memcached-3.1.5 \
|
||||
&& docker-php-ext-enable memcached
|
||||
|
||||
# Copy the current directory contents into the container at /app
|
||||
COPY ./app /§PROJECT_BUILDNAME§
|
||||
|
||||
COPY ./version /§PROJECT_BUILDNAME§
|
||||
|
||||
COPY ./config /§PROJECT_BUILDNAME§
|
||||
|
||||
COPY ./install /§PROJECT_BUILDNAME§
|
||||
|
||||
RUN chmod 744 /§PROJECT_BUILDNAME§/install
|
||||
|
||||
RUN /§PROJECT_BUILDNAME§/install webserver
|
||||
|
||||
|
||||
ENTRYPOINT ["§PROJECT_BUILDNAME§-entrypoint"]
|
||||
|
||||
# Make port 80 available to the world outside this container
|
||||
EXPOSE 80
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# Use a PHP runtime as a parent image
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-webserver
|
||||
|
||||
# Set the working directory to /app
|
||||
WORKDIR /§PROJECT_BUILDNAME§
|
||||
|
||||
# Install XDebug
|
||||
RUN pecl install xdebug | tail -n 1 | awk -F"\"" '{print $2}' > /usr/local/etc/php/conf.d/xdebug.ini
|
||||
RUN echo "\n\n[XDebug]\nxdebug.mode=debug\nxdebug.start_with_request=yes\nxdebug.client_host = §DEBUG_REMOTE_IP§\nxdebug.client_port = §DEBUG_REMOTE_PORT§\n" >> /usr/local/etc/php/conf.d/xdebug.ini
|
||||
|
||||
# Install Memcached
|
||||
RUN apt-get update && apt-get install -y libmemcached-dev zlib1g-dev \
|
||||
&& pecl install memcached-3.1.5 \
|
||||
&& docker-php-ext-enable memcached
|
||||
|
||||
# Install SOAP
|
||||
RUN docker-php-ext-install soap
|
||||
|
||||
# Copy the current directory contents into the container at /app
|
||||
COPY ./app /§PROJECT_BUILDNAME§
|
||||
|
||||
COPY ./version /§PROJECT_BUILDNAME§
|
||||
|
||||
COPY ./config /§PROJECT_BUILDNAME§
|
||||
|
||||
COPY ./install /§PROJECT_BUILDNAME§
|
||||
|
||||
RUN chmod 744 /§PROJECT_BUILDNAME§/install
|
||||
|
||||
RUN /§PROJECT_BUILDNAME§/install webserver
|
||||
|
||||
ENTRYPOINT ["§PROJECT_BUILDNAME§-entrypoint"]
|
||||
|
||||
# Make port 80 available to the world outside this container
|
||||
EXPOSE 80
|
||||
@@ -0,0 +1,15 @@
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-webserver-unit
|
||||
|
||||
WORKDIR /§PROJECT_BUILDNAME§
|
||||
COPY ./app /§PROJECT_BUILDNAME§
|
||||
COPY ./test /test§PROJECT_BUILDNAME§
|
||||
COPY ./version /§PROJECT_BUILDNAME§
|
||||
COPY ./config /§PROJECT_BUILDNAME§
|
||||
COPY ./test/install /§PROJECT_BUILDNAME§
|
||||
|
||||
RUN chmod 744 /§PROJECT_BUILDNAME§/install
|
||||
|
||||
RUN /§PROJECT_BUILDNAME§/install webserver
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/phpunit"]
|
||||
CMD ["--help"]
|
||||
@@ -1,5 +1,5 @@
|
||||
# Use a PHP runtime as a parent image
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-§FRAMEWORK_TYPE§
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-worker
|
||||
|
||||
# Set the working directory to /app
|
||||
WORKDIR /§PROJECT_BUILDNAME§
|
||||
@@ -27,7 +27,7 @@ COPY ./install /§PROJECT_BUILDNAME§
|
||||
|
||||
RUN chmod 744 /§PROJECT_BUILDNAME§/install
|
||||
|
||||
RUN /§PROJECT_BUILDNAME§/install
|
||||
RUN /§PROJECT_BUILDNAME§/install worker
|
||||
|
||||
|
||||
ENTRYPOINT ["§PROJECT_BUILDNAME§-entrypoint"]
|
||||
@@ -1,5 +1,5 @@
|
||||
# Use a PHP runtime as a parent image
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-§FRAMEWORK_TYPE§
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-worker
|
||||
|
||||
# Set the working directory to /app
|
||||
WORKDIR /§PROJECT_BUILDNAME§
|
||||
@@ -27,7 +27,7 @@ COPY ./install /§PROJECT_BUILDNAME§
|
||||
|
||||
RUN chmod 744 /§PROJECT_BUILDNAME§/install
|
||||
|
||||
RUN /§PROJECT_BUILDNAME§/install
|
||||
RUN /§PROJECT_BUILDNAME§/install worker
|
||||
|
||||
ENTRYPOINT ["§PROJECT_BUILDNAME§-entrypoint"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-§FRAMEWORK_TYPE§-unit
|
||||
FROM §FRAMEWORK_REPOSITORY§/§FRAMEWORK_IMAGE§:§FRAMEWORK_VERSION§-worker-unit
|
||||
|
||||
WORKDIR /§PROJECT_BUILDNAME§
|
||||
COPY ./app /§PROJECT_BUILDNAME§
|
||||
@@ -9,7 +9,7 @@ COPY ./test/install /§PROJECT_BUILDNAME§
|
||||
|
||||
RUN chmod 744 /§PROJECT_BUILDNAME§/install
|
||||
|
||||
RUN /§PROJECT_BUILDNAME§/install
|
||||
RUN /§PROJECT_BUILDNAME§/install worker
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/phpunit"]
|
||||
CMD ["--help"]
|
||||
@@ -1,2 +1,3 @@
|
||||
DDNINJA_PROJECTNAME=FDN2
|
||||
DDNINJA_BUILDNAME=fdn2
|
||||
DDNINJA_AUTHOR=ddninja
|
||||
@@ -0,0 +1,3 @@
|
||||
DDNINJA_PROJECTNAME=FDN2
|
||||
DDNINJA_BUILDNAME=fdn2
|
||||
DDNINJA_AUTHOR=ddninja
|
||||
@@ -0,0 +1,7 @@
|
||||
DDNINJA_ENVIRONMENT_NAME=local
|
||||
DDNINJA_IS_PRODUCTION=false
|
||||
|
||||
DDNINJA_MONGO_DBNAME=fdn2
|
||||
DDNINJA_MONGO_LOCATION=database
|
||||
|
||||
DDNINJA_PUBLIC_URL=http://www.fdn2.loc:8800
|
||||
@@ -2,6 +2,6 @@ DDNINJA_ENVIRONMENT_NAME=production
|
||||
DDNINJA_IS_PRODUCTION=true
|
||||
|
||||
DDNINJA_MONGO_DBNAME=fdn2
|
||||
DDNINJA_MONGO_LOCATION=database
|
||||
DDNINJA_MONGO_LOCATION=mongo
|
||||
|
||||
DDNINJA_PUBLIC_URL=http://preproduction.ifattidinapoli.it
|
||||
DDNINJA_PUBLIC_URL=https://www.ifattidinapoli.it
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
DDNINJA_ENVIRONMENT_NAME=production
|
||||
DDNINJA_IS_PRODUCTION=true
|
||||
|
||||
DDNINJA_MONGO_DBNAME=fdn2
|
||||
DDNINJA_MONGO_LOCATION=mongo
|
||||
|
||||
DDNINJA_PUBLIC_URL=https://www.ifattidinapoli.it
|
||||
@@ -2,6 +2,6 @@ DDNINJA_ENVIRONMENT_NAME=test
|
||||
DDNINJA_IS_PRODUCTION=false
|
||||
|
||||
DDNINJA_MONGO_DBNAME=fdn2_test
|
||||
DDNINJA_MONGO_LOCATION=database
|
||||
DDNINJA_MONGO_LOCATION=mongo
|
||||
|
||||
DDNINJA_PUBLIC_URL=http://test.ifattidinapoli.it
|
||||
DDNINJA_PUBLIC_URL=https://test.ifattidinapoli.it
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
DDNINJA_ENVIRONMENT_NAME=test
|
||||
DDNINJA_IS_PRODUCTION=false
|
||||
|
||||
DDNINJA_MONGO_DBNAME=fdn2_test
|
||||
DDNINJA_MONGO_LOCATION=mongo
|
||||
|
||||
DDNINJA_PUBLIC_URL=https://test.ifattidinapoli.it
|
||||
@@ -0,0 +1,2 @@
|
||||
# Dati Let's Encrypt gestiti da certbot: contengono chiavi private, NON committare.
|
||||
certbot/
|
||||
@@ -0,0 +1,63 @@
|
||||
# Reverse proxy nginx + Let's Encrypt
|
||||
|
||||
Reverse proxy nginx davanti ad Apache per `ifattidinapoli.it`. I certificati SSL
|
||||
sono gestiti automaticamente da Let's Encrypt tramite certbot (validazione
|
||||
HTTP-01 via webroot), con **un unico certificato multi-dominio (SAN)** che copre
|
||||
tutti gli host serviti da questo nginx.
|
||||
|
||||
## Domini coperti dal certificato
|
||||
|
||||
- `www.ifattidinapoli.it` (primario / CN)
|
||||
- `ifattidinapoli.it`
|
||||
- `preproduction.ifattidinapoli.it`
|
||||
- `test.ifattidinapoli.it`
|
||||
|
||||
La lista si definisce nell'array `domains` di [init-letsencrypt.sh](init-letsencrypt.sh).
|
||||
Il primo dominio e' il primario e da' il nome alla cartella
|
||||
`/etc/letsencrypt/live/<primario>/` referenziata in [nginx.conf](nginx.conf).
|
||||
|
||||
## Primo setup
|
||||
|
||||
Prerequisiti:
|
||||
- Docker con il plugin Compose v2 (comando `docker compose`, non `docker-compose`).
|
||||
- La rete docker esterna `nginx-network` deve esistere (`docker network create nginx-network`).
|
||||
- Le porte 80 e 443 dell'host devono essere pubblicamente raggiungibili per
|
||||
tutti i domini (la validazione HTTP-01 passa dalla porta 80).
|
||||
- I record DNS di tutti i domini devono puntare a questo server.
|
||||
|
||||
```bash
|
||||
# 1. (consigliato) prova prima in staging: metti staging=1 in init-letsencrypt.sh
|
||||
./init-letsencrypt.sh
|
||||
|
||||
# 2. verifica che tutto funzioni, poi rimetti staging=0 e rilancia
|
||||
./init-letsencrypt.sh
|
||||
```
|
||||
|
||||
Lo script:
|
||||
1. scarica i parametri TLS raccomandati,
|
||||
2. crea un certificato dummy self-signed cosi' nginx puo' partire,
|
||||
3. avvia nginx,
|
||||
4. cancella il dummy e richiede il certificato reale a Let's Encrypt,
|
||||
5. ricarica nginx.
|
||||
|
||||
## Rinnovo
|
||||
|
||||
Il rinnovo e' automatico. [renew.sh](renew.sh) lancia `certbot renew` (che
|
||||
rinnova solo se manca meno di 30 giorni alla scadenza) e ricarica nginx.
|
||||
|
||||
Schedularlo in crontab sull'host (`crontab -e`):
|
||||
|
||||
```
|
||||
0 3 * * * cd /percorso/di/cicd/nginx && ./renew.sh > /tmp/renew.log 2>&1 || logger -t CRON_RENEW -f /tmp/renew.log
|
||||
```
|
||||
|
||||
Se lo script fallisce, l'output finisce in syslog; altrimenti nessun output.
|
||||
|
||||
## Note sulla migrazione da Sectigo
|
||||
|
||||
- I vecchi certificati Sectigo sono in `ssl/`. Il mount `./ssl:/etc/ssl:ro` in
|
||||
[docker-compose.yml](docker-compose.yml) e i file in `ssl/` possono essere
|
||||
rimossi una volta verificato che Let's Encrypt funziona.
|
||||
- La cartella `certbot/` (chiavi private incluse) e' in `.gitignore` e **non va
|
||||
committata**. Le vecchie chiavi Sectigo sono invece presenti nella history git:
|
||||
valutare con il fornitore se revocarle.
|
||||
@@ -10,6 +10,21 @@ services:
|
||||
restart: always
|
||||
volumes:
|
||||
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./ssl:/etc/ssl:ro
|
||||
- ./certbot/conf:/etc/letsencrypt
|
||||
- ./certbot/www:/var/www/certbot
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-file: 4
|
||||
max-size: 100m
|
||||
compress: "true"
|
||||
certbot:
|
||||
image: certbot/certbot
|
||||
volumes:
|
||||
- ./certbot/conf:/etc/letsencrypt
|
||||
- ./certbot/www:/var/www/certbot
|
||||
|
||||
|
||||
|
||||
networks:
|
||||
|
||||
Executable
+114
@@ -0,0 +1,114 @@
|
||||
#!/bin/bash
|
||||
# Bootstrap del certificato Let's Encrypt unico (multi-dominio / SAN) per il
|
||||
# reverse proxy di ifattidinapoli.it.
|
||||
#
|
||||
# A differenza del progetto Gogs-Reverse (un certificato separato per dominio),
|
||||
# qui si richiede UN SOLO certificato che copre tutti i domini serviti da questo
|
||||
# nginx. Il primo dominio dell'array e' il primario (CN) e da' il nome alla
|
||||
# cartella /etc/letsencrypt/live/<primario>/ referenziata in nginx.conf.
|
||||
#
|
||||
# Lanciarlo una volta sola, al primo setup. Per i rinnovi usare renew.sh.
|
||||
#
|
||||
# NB: usa il plugin "docker compose" (v2). Con questo plugin --entrypoint accetta
|
||||
# solo un eseguibile: i comandi con piu' token o con && vanno wrappati in
|
||||
# `--entrypoint sh <service> -c "..."`, altrimenti gli argomenti oltre il primo
|
||||
# vengono scartati silenziosamente.
|
||||
|
||||
set -e
|
||||
|
||||
if ! docker compose version >/dev/null 2>&1; then
|
||||
echo 'Error: "docker compose" (plugin v2) is not available.' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Domini coperti dal certificato. Il PRIMO e' il primario (CN) e da' il nome
|
||||
# alla cartella live/. Se lo cambi, aggiorna anche i path in nginx.conf.
|
||||
domains=(
|
||||
"www.ifattidinapoli.it"
|
||||
"ifattidinapoli.it"
|
||||
"preproduction.ifattidinapoli.it"
|
||||
"test.ifattidinapoli.it"
|
||||
)
|
||||
|
||||
primary_domain="${domains[0]}"
|
||||
|
||||
rsa_key_size=4096
|
||||
data_path="./certbot"
|
||||
email="riccardo.didato@gmail.com"
|
||||
# Metti a 1 per usare l'ambiente di STAGING di Let's Encrypt (test senza
|
||||
# consumare i rate limit). Passato il test, rimetti a 0 e rilancia.
|
||||
staging=0
|
||||
|
||||
# Costruisce la sequenza di argomenti -d per certbot
|
||||
domain_args=()
|
||||
for domain in "${domains[@]}"; do
|
||||
domain_args+=(-d "$domain")
|
||||
done
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# FASE 0: parametri TLS raccomandati (una tantum)
|
||||
# ---------------------------------------------------------------------------
|
||||
if [ ! -e "$data_path/conf/options-ssl-nginx.conf" ] || [ ! -e "$data_path/conf/ssl-dhparams.pem" ]; then
|
||||
echo "### Downloading recommended TLS parameters ..."
|
||||
mkdir -p "$data_path/conf"
|
||||
curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot-nginx/certbot_nginx/_internal/tls_configs/options-ssl-nginx.conf > "$data_path/conf/options-ssl-nginx.conf"
|
||||
curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot/certbot/ssl-dhparams.pem > "$data_path/conf/ssl-dhparams.pem"
|
||||
echo
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# FASE 1: certificato dummy self-signed
|
||||
# nginx non parte se i path ssl_certificate non esistono. Creiamo un cert
|
||||
# temporaneo cosi' nginx si avvia e puo' servire la validazione ACME su :80.
|
||||
# ---------------------------------------------------------------------------
|
||||
if [ -d "$data_path/conf/live/$primary_domain" ]; then
|
||||
echo "### Existing certificate found for $primary_domain. Skipping dummy generation."
|
||||
else
|
||||
echo "### Creating dummy certificate for $primary_domain ..."
|
||||
path="/etc/letsencrypt/live/$primary_domain"
|
||||
mkdir -p "$data_path/conf/live/$primary_domain"
|
||||
docker compose run --rm --entrypoint sh certbot -c "\
|
||||
openssl req -x509 -nodes -newkey rsa:$rsa_key_size -days 1 \
|
||||
-keyout '$path/privkey.pem' \
|
||||
-out '$path/fullchain.pem' \
|
||||
-subj '/CN=localhost'"
|
||||
echo
|
||||
fi
|
||||
|
||||
echo "### Starting nginx ..."
|
||||
docker compose up --force-recreate -d nginx
|
||||
echo
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# FASE 2: richiesta del certificato REALE
|
||||
# ---------------------------------------------------------------------------
|
||||
echo "### Deleting dummy certificate ..."
|
||||
docker compose run --rm --entrypoint sh certbot -c "\
|
||||
rm -Rf /etc/letsencrypt/live/$primary_domain && \
|
||||
rm -Rf /etc/letsencrypt/archive/$primary_domain && \
|
||||
rm -Rf /etc/letsencrypt/renewal/$primary_domain.conf"
|
||||
echo
|
||||
|
||||
email_arg=()
|
||||
case "$email" in
|
||||
"") email_arg=(--register-unsafely-without-email) ;;
|
||||
*) email_arg=(--email "$email") ;;
|
||||
esac
|
||||
|
||||
staging_arg=()
|
||||
if [ "$staging" != "0" ]; then staging_arg=(--staging); fi
|
||||
|
||||
echo "### Requesting Let's Encrypt certificate for: ${domains[*]} ..."
|
||||
# L'immagine certbot/certbot ha gia' "certbot" come entrypoint: passiamo solo
|
||||
# gli argomenti come comando (niente --entrypoint da sovrascrivere).
|
||||
docker compose run --rm certbot certonly --webroot -w /var/www/certbot \
|
||||
"${staging_arg[@]}" \
|
||||
"${email_arg[@]}" \
|
||||
"${domain_args[@]}" \
|
||||
--rsa-key-size "$rsa_key_size" \
|
||||
--agree-tos \
|
||||
--force-renewal
|
||||
echo
|
||||
|
||||
echo "### Reloading nginx ..."
|
||||
docker compose exec nginx nginx -s reload
|
||||
+62
-2
@@ -5,10 +5,54 @@ events { worker_connections 1024; }
|
||||
http {
|
||||
client_max_body_size 5M;
|
||||
|
||||
server {
|
||||
# Path del certificato Let's Encrypt unico multi-dominio (SAN).
|
||||
# Il nome della cartella live/ corrisponde al primo -d passato a certbot
|
||||
# in init-letsencrypt.sh (dominio primario / CN).
|
||||
# ssl_certificate /etc/letsencrypt/live/www.ifattidinapoli.it/fullchain.pem;
|
||||
# ssl_certificate_key /etc/letsencrypt/live/www.ifattidinapoli.it/privkey.pem;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name ifattidinapoli.it;
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/certbot;
|
||||
}
|
||||
|
||||
location / {
|
||||
return 301 https://www.ifattidinapoli.it$request_uri;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name ifattidinapoli.it;
|
||||
ssl_certificate /etc/letsencrypt/live/www.ifattidinapoli.it/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/www.ifattidinapoli.it/privkey.pem;
|
||||
return 301 https://www.ifattidinapoli.it$request_uri;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name www.ifattidinapoli.it preproduction.ifattidinapoli.it;
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/certbot;
|
||||
}
|
||||
|
||||
location / {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name www.ifattidinapoli.it preproduction.ifattidinapoli.it default_server;
|
||||
|
||||
ssl_certificate /etc/letsencrypt/live/www.ifattidinapoli.it/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/www.ifattidinapoli.it/privkey.pem;
|
||||
|
||||
location / {
|
||||
proxy_pass http://fdn2.production.webserver/;
|
||||
proxy_redirect off;
|
||||
@@ -17,10 +61,26 @@ http {
|
||||
|
||||
}
|
||||
|
||||
server {
|
||||
server {
|
||||
listen 80;
|
||||
server_name test.ifattidinapoli.it;
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/certbot;
|
||||
}
|
||||
|
||||
location / {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name test.ifattidinapoli.it;
|
||||
|
||||
ssl_certificate /etc/letsencrypt/live/www.ifattidinapoli.it/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/www.ifattidinapoli.it/privkey.pem;
|
||||
|
||||
location / {
|
||||
proxy_pass http://fdn2.test.webserver/;
|
||||
proxy_redirect off;
|
||||
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
# Rinnova il certificato SSL e ricarica nginx.
|
||||
# Schedulato via crontab sull'host (vedi README). certbot renew rinnova solo se
|
||||
# il certificato scade entro 30 giorni, quindi e' sicuro lanciarlo ogni giorno.
|
||||
#
|
||||
# NB: usa il plugin "docker compose" (v2). L'immagine certbot/certbot ha gia'
|
||||
# "certbot" come entrypoint, quindi passiamo "renew" come comando.
|
||||
|
||||
docker compose run --rm certbot renew
|
||||
docker compose exec -T nginx nginx -s reload
|
||||
@@ -0,0 +1,17 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIICnzCCAYcCAQAwWjELMAkGA1UEBhMCSVQxDzANBgNVBAgMBk5hcGxlczEaMBgG
|
||||
A1UECgwRSSBGYXR0aSBkaSBOYXBvbGkxHjAcBgNVBAMMFXd3dy5pZmF0dGlkaW5h
|
||||
cG9saS5pdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJbB2nqLRej
|
||||
fzPoY2QOaW4cOq3QT2Jgv3hE3m8D81P0eFmy3t3iW9mlpmdY/Exe0wMzl7+gc8/z
|
||||
JoXN70AsiMyGDjMYIvt6AodgP6HhWiH2KLVW2HvhQExh8M1L9HQlKkb0ief0pZ2c
|
||||
e0GhmpLi08scGYzVoZO3u5lkHuiXNiYfTjwHxl2CaZCGX7zLLAphr+BtgZeDhRUY
|
||||
MpsZdZCkKNYQWY5rE0tpI22pL9HEN8Vk2QvhlzWd+YE+dME/G9LgqOxi9BtysfF/
|
||||
JKHwWp2J5OWLMBptcVeC3jCnf41pfvGihh5yLfJfTK33nLYJTWKXdZxT/OqCMM29
|
||||
RqHk1Y96g3kCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBZUlT7XLVBiMxwD/JZ
|
||||
FFYMzKHNmZFfrHdQgxlnbRTIjM4Fo5zQ8hF8EgeIN13dguEd52akdfF7NNbfMjEO
|
||||
BK9Efk2Te+Pvue/C7fDN7oIpU86IDbCa6J324er/d2lC3PFO6Cj63ypsFSNfDYbG
|
||||
zHZlohleyaqmSlFufwJaLvUyWCAIZLhDSGTvyThIWNmUAO/G4CxzR1KuOnA+vgd1
|
||||
zf0rilk98wKvtbN9gbSNagcXZWXjLdwnAzoNbn7zG3fl0aiTSC8TUpyFwSXFIgMC
|
||||
XEgEmaCqwpazW9JFUoDkxB8E/CIk1bjSuKioCabI/QHNam+5ckrRnXRf4dBtD56u
|
||||
FUOJ
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyWwdp6i0Xo38z
|
||||
6GNkDmluHDqt0E9iYL94RN5vA/NT9HhZst7d4lvZpaZnWPxMXtMDM5e/oHPP8yaF
|
||||
ze9ALIjMhg4zGCL7egKHYD+h4Voh9ii1Vth74UBMYfDNS/R0JSpG9Inn9KWdnHtB
|
||||
oZqS4tPLHBmM1aGTt7uZZB7olzYmH048B8ZdgmmQhl+8yywKYa/gbYGXg4UVGDKb
|
||||
GXWQpCjWEFmOaxNLaSNtqS/RxDfFZNkL4Zc1nfmBPnTBPxvS4KjsYvQbcrHxfySh
|
||||
8FqdieTlizAabXFXgt4wp3+NaX7xooYeci3yX0yt95y2CU1il3WcU/zqgjDNvUah
|
||||
5NWPeoN5AgMBAAECggEAYWdDOj2QmLtKib+dIBSa0W6LQUdlQzXQ+06pJ3nB1pTJ
|
||||
cTs1aXnobYmAwiofx1l15ea0Ngvbk7KX1DUuNx7bKs7/TDofSLVOUj5nIfIfNjLn
|
||||
8njWS3ktk0ldp9CWVSPC3fNIqSu7ksLVsXcfIp7Lyb2z2m0FC9YoltHN63pBMTm3
|
||||
NvDN4qdCfH1Vx2/bAKYLdk35RSLhFmcd533BEbVsPxXnia05Y1fBaK6R+/Wh+ccb
|
||||
AhJAAB4MjtWxDyKdK0VDzfXgu/r+zVMMQP4vnL2+NLy/A3LOCulNy/VFs4Y5akw3
|
||||
y3sXR1RFaiFdBUO82mlZWZzqv5Nfoar59IpsSXNbnQKBgQDp9Jv5VcJdO4geDbm8
|
||||
Gdnmrp/OtceiBSXD7QsEgegSQ0DGKiN6lEyb24FBHDu7FR/ZkZdFJCsM8F5TJtqm
|
||||
nKBOMepva7mMMg8hFVC6bDZYXZekgYQo3HrEI4xTKRYtTlTG0Plh59vwqjbiTdRH
|
||||
K1rycfGldRuiu4EKeXuYXsUMYwKBgQDDKUIfrPtxUmXnTDFT5ctBhVYGHcApoqVn
|
||||
RcfTqRXIVZVMe8VIPnsweFtIm1fK2YD+7PlNWhkPiTaX1Iux7nUPyA5PnWhChUQo
|
||||
K6bwRix7TAM5xQ8CgFChr0yAG5kWDX6OY01yVjvxM5Ozg7txY8noSjCkfSy1yh45
|
||||
qGtLBj0xcwKBgDxOFgpeJbychMiiZxbqXvWMW5sP1kaYJxTqvCVMSwKyHTc3U2/c
|
||||
XCbsnNOosGjX2B7f3WswGHy8VMQARuodg2DEkxZnYSuXF7lCYk27aQK8FUONMwDJ
|
||||
XEfElf41oAbLoySgZzfqaRIO/hi1URuLPGU0I8KvfhEjXe7SQ56SBx7bAoGAJd0c
|
||||
Wh7qjbrp0G1E6L0dqTGgVgFxpeJLavTr5xHYCw0nsTYWOYT9y5KeS0DwUIfQciUx
|
||||
3SMM16nMcLqo+7WC+rPaqvGkJ7vJVG3brqQ+vxEpUwz7c4XHnwbutbAlDFVD54Y2
|
||||
oWc/q/VQw7RcKoyswKecNl2ezgpPwOn/Hwgv2ScCgYEAykI57UdyhY8ZQM6WerOK
|
||||
YM+hZW3+3EOY6dkELT9hjR1jG5ShYpgAM0rnj53/Aj0W2aGC7B6SP6oKjTZj3zwq
|
||||
OWR/N/4CrJb/tD+Wrdywz17ApPMamyv8QHi4igYzQrLk6Gesx16X/2HVdgZGAMYk
|
||||
j1e8LTX2iuu1251sl4x0vtU=
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -0,0 +1,67 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
|
||||
MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV
|
||||
BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE
|
||||
ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g
|
||||
VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N
|
||||
TQEMgg8Xf2Iu6bhIefsWg06t1zIlk7cHv7lQP6lMw0Aq6Tn/2YHKHxYyQdqAJrkj
|
||||
eocgHuP/IJo8lURvh3UGkEC0MpMWCRAIIz7S3YcPb11RFGoKacVPAXJpz9OTTG0E
|
||||
oKMbgn6xmrntxZ7FN3ifmgg0+1YuWMQJDgZkW7w33PGfKGioVrCSo1yfu4iYCBsk
|
||||
Haswha6vsC6eep3BwEIc4gLw6uBK0u+QDrTBQBbwb4VCSmT3pDCg/r8uoydajotY
|
||||
uK3DGReEY+1vVv2Dy2A0xHS+5p3b4eTlygxfFQIDAQABo4IBbjCCAWowHwYDVR0j
|
||||
BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFI2MXsRUrYrhd+mb
|
||||
+ZsF4bgBjWHhMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
|
||||
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAw
|
||||
CAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0
|
||||
LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr
|
||||
BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv
|
||||
bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov
|
||||
L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAMr9hvQ5Iw0/H
|
||||
ukdN+Jx4GQHcEx2Ab/zDcLRSmjEzmldS+zGea6TvVKqJjUAXaPgREHzSyrHxVYbH
|
||||
7rM2kYb2OVG/Rr8PoLq0935JxCo2F57kaDl6r5ROVm+yezu/Coa9zcV3HAO4OLGi
|
||||
H19+24rcRki2aArPsrW04jTkZ6k4Zgle0rj8nSg6F0AnwnJOKf0hPHzPE/uWLMUx
|
||||
RP0T7dWbqWlod3zu4f+k+TY4CFM5ooQ0nBnzvg6s1SQ36yOoeNDT5++SR2RiOSLv
|
||||
xvcRviKFxmZEJCaOEDKNyJOuB56DPi/Z+fVGjmO+wea03KbNIaiGCpXZLoUmGv38
|
||||
sbZXQm2V0TP2ORQGgkE49Y9Y3IBbpNV9lXj9p5v//cWoaasm56ekBYdbqbe4oyAL
|
||||
l6lFhd2zi+WJN44pDfwGF/Y4QA5C5BIG+3vzxhFoYt/jmPQT2BVPi7Fp2RBgvGQq
|
||||
6jG35LWjOhSbJuMLe/0CjraZwTiXWTb2qHSihrZe68Zk6s+go/lunrotEbaGmAhY
|
||||
LcmsJWTyXnW0OMGuf1pGg+pRyrbxmRE1a6Vqe8YAsOf4vmSyrcjC8azjUeqkk+B5
|
||||
yOGBQMkKW+ESPMFgKuOXwIlCypTPRpgSabuY0MLTDXJLR27lk8QyKGOHQ+SwMj4K
|
||||
00u/I5sUKUErmgQfky3xxzlIPK1aEn8=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7
|
||||
MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
|
||||
VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
|
||||
AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
|
||||
MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
|
||||
MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO
|
||||
ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI
|
||||
s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG
|
||||
vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ
|
||||
Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb
|
||||
IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0
|
||||
tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E
|
||||
xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV
|
||||
icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5
|
||||
D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ
|
||||
WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ
|
||||
5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG
|
||||
KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg
|
||||
EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID
|
||||
ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG
|
||||
BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t
|
||||
L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr
|
||||
BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
|
||||
A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+
|
||||
rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+
|
||||
/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA
|
||||
CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F
|
||||
zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA
|
||||
vGp4z7h/jnZymQyd/teRCBaho1+V
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,103 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGRjCCBS6gAwIBAgIQG6xJJKZ9lKNxKxeUUr9jkjANBgkqhkiG9w0BAQsFADCB
|
||||
jzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
||||
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
|
||||
Ey5TZWN0aWdvIFJTQSBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB
|
||||
MB4XDTIzMDcxNjAwMDAwMFoXDTI0MDcxNTIzNTk1OVowIDEeMBwGA1UEAxMVd3d3
|
||||
LmlmYXR0aWRpbmFwb2xpLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
||||
AQEAslsHaeotF6N/M+hjZA5pbhw6rdBPYmC/eETebwPzU/R4WbLe3eJb2aWmZ1j8
|
||||
TF7TAzOXv6Bzz/Mmhc3vQCyIzIYOMxgi+3oCh2A/oeFaIfYotVbYe+FATGHwzUv0
|
||||
dCUqRvSJ5/SlnZx7QaGakuLTyxwZjNWhk7e7mWQe6Jc2Jh9OPAfGXYJpkIZfvMss
|
||||
CmGv4G2Bl4OFFRgymxl1kKQo1hBZjmsTS2kjbakv0cQ3xWTZC+GXNZ35gT50wT8b
|
||||
0uCo7GL0G3Kx8X8kofBanYnk5YswGm1xV4LeMKd/jWl+8aKGHnIt8l9MrfectglN
|
||||
Ypd1nFP86oIwzb1GoeTVj3qDeQIDAQABo4IDCjCCAwYwHwYDVR0jBBgwFoAUjYxe
|
||||
xFStiuF36Zv5mwXhuAGNYeEwHQYDVR0OBBYEFLGF834raf283GA9pFOjRI267ZFa
|
||||
MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF
|
||||
BwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgIHMCUwIwYIKwYB
|
||||
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATCBhAYIKwYB
|
||||
BQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl
|
||||
Y3RpZ29SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCMGCCsG
|
||||
AQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAzBgNVHREELDAqghV3d3cu
|
||||
aWZhdHRpZGluYXBvbGkuaXSCEWlmYXR0aWRpbmFwb2xpLml0MIIBfgYKKwYBBAHW
|
||||
eQIEAgSCAW4EggFqAWgAdgB2/4g/Crb7lVHCYcz1h7o0tKTNuyncaEIKn+ZnTFo6
|
||||
dAAAAYld4GjHAAAEAwBHMEUCIQDqnPLPzDT6f45fD/xq76S70zCDjLS5WwW1MzNl
|
||||
GvFrJQIgQLF7dF1K2jKZpl5BC3w/CSacLx7s43tJ9DmmS25APz4AdwDatr9rP7W2
|
||||
Ip+bwrtca+hwkXFsu1GEhTS9pD0wSNf7qwAAAYld4GkTAAAEAwBIMEYCIQDbrYll
|
||||
rrh9QXqjtuiaIQtAdr254lWThoC44N4f0grxnAIhAMQZghRkyI/ewSRaa3RDK+C1
|
||||
I1ajIxlSV2S67/y+BounAHUA7s3QZNXbGs7FXLedtM0TojKHRny87N7DUUhZRnEf
|
||||
tZsAAAGJXeBo9gAABAMARjBEAiAlWDAaLGjH1sM0xQIY7H2rOFmrfwZEC16rol7i
|
||||
mUSoiAIgbT5EfzeXmMegnpPaZTMG+TcbX4STS+JFSbwX5HcWM+IwDQYJKoZIhvcN
|
||||
AQELBQADggEBAFKU20+ZeL6cdExSU5lHYUH+X4qP01jyLKQCtnKueEJE+5bZSoVz
|
||||
ArLT+ob8UKeDK//fXAdVC7ULf6y9GmEgjVefuCg5bRpdyEXilfsmo3/9Bp9c//KY
|
||||
7eO9l2PZljlXuFSvsGjj29mnX87oBEqUlNpWFPXewBYmQfVEHLvukHaRlrZ8BUbv
|
||||
nTFhdqy6taf6tAYFmJy6TBWsu2OiTBa3lanad/XwtK7nn3F62HLUBKTQd/ZlLexu
|
||||
J3tI3vFR/ph4UaSyv9tz6sCVnGnysFDO9OJZ2TsomPFwXQwzrebodsdOH+eaOtbj
|
||||
SrU3Nn67sz7LQKsqBsvUMm8N/PdhsQLzf00=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
|
||||
MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV
|
||||
BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE
|
||||
ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g
|
||||
VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N
|
||||
TQEMgg8Xf2Iu6bhIefsWg06t1zIlk7cHv7lQP6lMw0Aq6Tn/2YHKHxYyQdqAJrkj
|
||||
eocgHuP/IJo8lURvh3UGkEC0MpMWCRAIIz7S3YcPb11RFGoKacVPAXJpz9OTTG0E
|
||||
oKMbgn6xmrntxZ7FN3ifmgg0+1YuWMQJDgZkW7w33PGfKGioVrCSo1yfu4iYCBsk
|
||||
Haswha6vsC6eep3BwEIc4gLw6uBK0u+QDrTBQBbwb4VCSmT3pDCg/r8uoydajotY
|
||||
uK3DGReEY+1vVv2Dy2A0xHS+5p3b4eTlygxfFQIDAQABo4IBbjCCAWowHwYDVR0j
|
||||
BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFI2MXsRUrYrhd+mb
|
||||
+ZsF4bgBjWHhMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
|
||||
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAw
|
||||
CAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0
|
||||
LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr
|
||||
BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv
|
||||
bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov
|
||||
L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAMr9hvQ5Iw0/H
|
||||
ukdN+Jx4GQHcEx2Ab/zDcLRSmjEzmldS+zGea6TvVKqJjUAXaPgREHzSyrHxVYbH
|
||||
7rM2kYb2OVG/Rr8PoLq0935JxCo2F57kaDl6r5ROVm+yezu/Coa9zcV3HAO4OLGi
|
||||
H19+24rcRki2aArPsrW04jTkZ6k4Zgle0rj8nSg6F0AnwnJOKf0hPHzPE/uWLMUx
|
||||
RP0T7dWbqWlod3zu4f+k+TY4CFM5ooQ0nBnzvg6s1SQ36yOoeNDT5++SR2RiOSLv
|
||||
xvcRviKFxmZEJCaOEDKNyJOuB56DPi/Z+fVGjmO+wea03KbNIaiGCpXZLoUmGv38
|
||||
sbZXQm2V0TP2ORQGgkE49Y9Y3IBbpNV9lXj9p5v//cWoaasm56ekBYdbqbe4oyAL
|
||||
l6lFhd2zi+WJN44pDfwGF/Y4QA5C5BIG+3vzxhFoYt/jmPQT2BVPi7Fp2RBgvGQq
|
||||
6jG35LWjOhSbJuMLe/0CjraZwTiXWTb2qHSihrZe68Zk6s+go/lunrotEbaGmAhY
|
||||
LcmsJWTyXnW0OMGuf1pGg+pRyrbxmRE1a6Vqe8YAsOf4vmSyrcjC8azjUeqkk+B5
|
||||
yOGBQMkKW+ESPMFgKuOXwIlCypTPRpgSabuY0MLTDXJLR27lk8QyKGOHQ+SwMj4K
|
||||
00u/I5sUKUErmgQfky3xxzlIPK1aEn8=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7
|
||||
MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
|
||||
VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
|
||||
AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
|
||||
MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
|
||||
MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO
|
||||
ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI
|
||||
s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG
|
||||
vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ
|
||||
Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb
|
||||
IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0
|
||||
tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E
|
||||
xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV
|
||||
icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5
|
||||
D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ
|
||||
WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ
|
||||
5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG
|
||||
KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg
|
||||
EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID
|
||||
ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG
|
||||
BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t
|
||||
L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr
|
||||
BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
|
||||
A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+
|
||||
rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+
|
||||
/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA
|
||||
CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F
|
||||
zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA
|
||||
vGp4z7h/jnZymQyd/teRCBaho1+V
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,36 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGRjCCBS6gAwIBAgIQG6xJJKZ9lKNxKxeUUr9jkjANBgkqhkiG9w0BAQsFADCB
|
||||
jzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
||||
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
|
||||
Ey5TZWN0aWdvIFJTQSBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB
|
||||
MB4XDTIzMDcxNjAwMDAwMFoXDTI0MDcxNTIzNTk1OVowIDEeMBwGA1UEAxMVd3d3
|
||||
LmlmYXR0aWRpbmFwb2xpLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
||||
AQEAslsHaeotF6N/M+hjZA5pbhw6rdBPYmC/eETebwPzU/R4WbLe3eJb2aWmZ1j8
|
||||
TF7TAzOXv6Bzz/Mmhc3vQCyIzIYOMxgi+3oCh2A/oeFaIfYotVbYe+FATGHwzUv0
|
||||
dCUqRvSJ5/SlnZx7QaGakuLTyxwZjNWhk7e7mWQe6Jc2Jh9OPAfGXYJpkIZfvMss
|
||||
CmGv4G2Bl4OFFRgymxl1kKQo1hBZjmsTS2kjbakv0cQ3xWTZC+GXNZ35gT50wT8b
|
||||
0uCo7GL0G3Kx8X8kofBanYnk5YswGm1xV4LeMKd/jWl+8aKGHnIt8l9MrfectglN
|
||||
Ypd1nFP86oIwzb1GoeTVj3qDeQIDAQABo4IDCjCCAwYwHwYDVR0jBBgwFoAUjYxe
|
||||
xFStiuF36Zv5mwXhuAGNYeEwHQYDVR0OBBYEFLGF834raf283GA9pFOjRI267ZFa
|
||||
MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF
|
||||
BwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgIHMCUwIwYIKwYB
|
||||
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATCBhAYIKwYB
|
||||
BQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl
|
||||
Y3RpZ29SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCMGCCsG
|
||||
AQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAzBgNVHREELDAqghV3d3cu
|
||||
aWZhdHRpZGluYXBvbGkuaXSCEWlmYXR0aWRpbmFwb2xpLml0MIIBfgYKKwYBBAHW
|
||||
eQIEAgSCAW4EggFqAWgAdgB2/4g/Crb7lVHCYcz1h7o0tKTNuyncaEIKn+ZnTFo6
|
||||
dAAAAYld4GjHAAAEAwBHMEUCIQDqnPLPzDT6f45fD/xq76S70zCDjLS5WwW1MzNl
|
||||
GvFrJQIgQLF7dF1K2jKZpl5BC3w/CSacLx7s43tJ9DmmS25APz4AdwDatr9rP7W2
|
||||
Ip+bwrtca+hwkXFsu1GEhTS9pD0wSNf7qwAAAYld4GkTAAAEAwBIMEYCIQDbrYll
|
||||
rrh9QXqjtuiaIQtAdr254lWThoC44N4f0grxnAIhAMQZghRkyI/ewSRaa3RDK+C1
|
||||
I1ajIxlSV2S67/y+BounAHUA7s3QZNXbGs7FXLedtM0TojKHRny87N7DUUhZRnEf
|
||||
tZsAAAGJXeBo9gAABAMARjBEAiAlWDAaLGjH1sM0xQIY7H2rOFmrfwZEC16rol7i
|
||||
mUSoiAIgbT5EfzeXmMegnpPaZTMG+TcbX4STS+JFSbwX5HcWM+IwDQYJKoZIhvcN
|
||||
AQELBQADggEBAFKU20+ZeL6cdExSU5lHYUH+X4qP01jyLKQCtnKueEJE+5bZSoVz
|
||||
ArLT+ob8UKeDK//fXAdVC7ULf6y9GmEgjVefuCg5bRpdyEXilfsmo3/9Bp9c//KY
|
||||
7eO9l2PZljlXuFSvsGjj29mnX87oBEqUlNpWFPXewBYmQfVEHLvukHaRlrZ8BUbv
|
||||
nTFhdqy6taf6tAYFmJy6TBWsu2OiTBa3lanad/XwtK7nn3F62HLUBKTQd/ZlLexu
|
||||
J3tI3vFR/ph4UaSyv9tz6sCVnGnysFDO9OJZ2TsomPFwXQwzrebodsdOH+eaOtbj
|
||||
SrU3Nn67sz7LQKsqBsvUMm8N/PdhsQLzf00=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,95 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
|
||||
MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV
|
||||
BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE
|
||||
ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g
|
||||
VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N
|
||||
TQEMgg8Xf2Iu6bhIefsWg06t1zIlk7cHv7lQP6lMw0Aq6Tn/2YHKHxYyQdqAJrkj
|
||||
eocgHuP/IJo8lURvh3UGkEC0MpMWCRAIIz7S3YcPb11RFGoKacVPAXJpz9OTTG0E
|
||||
oKMbgn6xmrntxZ7FN3ifmgg0+1YuWMQJDgZkW7w33PGfKGioVrCSo1yfu4iYCBsk
|
||||
Haswha6vsC6eep3BwEIc4gLw6uBK0u+QDrTBQBbwb4VCSmT3pDCg/r8uoydajotY
|
||||
uK3DGReEY+1vVv2Dy2A0xHS+5p3b4eTlygxfFQIDAQABo4IBbjCCAWowHwYDVR0j
|
||||
BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFI2MXsRUrYrhd+mb
|
||||
+ZsF4bgBjWHhMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
|
||||
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAw
|
||||
CAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0
|
||||
LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr
|
||||
BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv
|
||||
bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov
|
||||
L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAMr9hvQ5Iw0/H
|
||||
ukdN+Jx4GQHcEx2Ab/zDcLRSmjEzmldS+zGea6TvVKqJjUAXaPgREHzSyrHxVYbH
|
||||
7rM2kYb2OVG/Rr8PoLq0935JxCo2F57kaDl6r5ROVm+yezu/Coa9zcV3HAO4OLGi
|
||||
H19+24rcRki2aArPsrW04jTkZ6k4Zgle0rj8nSg6F0AnwnJOKf0hPHzPE/uWLMUx
|
||||
RP0T7dWbqWlod3zu4f+k+TY4CFM5ooQ0nBnzvg6s1SQ36yOoeNDT5++SR2RiOSLv
|
||||
xvcRviKFxmZEJCaOEDKNyJOuB56DPi/Z+fVGjmO+wea03KbNIaiGCpXZLoUmGv38
|
||||
sbZXQm2V0TP2ORQGgkE49Y9Y3IBbpNV9lXj9p5v//cWoaasm56ekBYdbqbe4oyAL
|
||||
l6lFhd2zi+WJN44pDfwGF/Y4QA5C5BIG+3vzxhFoYt/jmPQT2BVPi7Fp2RBgvGQq
|
||||
6jG35LWjOhSbJuMLe/0CjraZwTiXWTb2qHSihrZe68Zk6s+go/lunrotEbaGmAhY
|
||||
LcmsJWTyXnW0OMGuf1pGg+pRyrbxmRE1a6Vqe8YAsOf4vmSyrcjC8azjUeqkk+B5
|
||||
yOGBQMkKW+ESPMFgKuOXwIlCypTPRpgSabuY0MLTDXJLR27lk8QyKGOHQ+SwMj4K
|
||||
00u/I5sUKUErmgQfky3xxzlIPK1aEn8=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7
|
||||
MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
|
||||
VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
|
||||
AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
|
||||
MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
|
||||
MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO
|
||||
ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI
|
||||
s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG
|
||||
vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ
|
||||
Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb
|
||||
IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0
|
||||
tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E
|
||||
xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV
|
||||
icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5
|
||||
D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ
|
||||
WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ
|
||||
5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG
|
||||
KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg
|
||||
EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID
|
||||
ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG
|
||||
BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t
|
||||
L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr
|
||||
BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
|
||||
A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+
|
||||
rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+
|
||||
/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA
|
||||
CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F
|
||||
zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA
|
||||
vGp4z7h/jnZymQyd/teRCBaho1+V
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
|
||||
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
|
||||
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
|
||||
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
|
||||
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
|
||||
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
|
||||
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
|
||||
BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
|
||||
3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
|
||||
YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
|
||||
rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
|
||||
ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
|
||||
oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
|
||||
MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
|
||||
QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
|
||||
b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
|
||||
AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
|
||||
GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
|
||||
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
|
||||
G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
|
||||
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
|
||||
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGRjCCBS6gAwIBAgIQDmiNiQcqn6CDIZGjppn6KzANBgkqhkiG9w0BAQsFADCB
|
||||
jzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
||||
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
|
||||
Ey5TZWN0aWdvIFJTQSBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB
|
||||
MB4XDTI0MDcxNjAwMDAwMFoXDTI1MDgxNTIzNTk1OVowIDEeMBwGA1UEAxMVd3d3
|
||||
LmlmYXR0aWRpbmFwb2xpLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
||||
AQEAsBFPMTPfJbaeu+H3s636scQY+g6/S7PutDSi85n99mOpZ1vyS8MwvjCcI2xb
|
||||
/emXJaLRkJLN2sTBe64B9woUxtKFnE1UbWYosLFemZaxHpoWwa0Bd0PjfrBlvkZS
|
||||
9DzYjfuI6WiEpcixh/QuiM7i1g+sESyf29iQX+N58TwSvlgoKbRqMT1g7bRhGBqj
|
||||
DqL61gRAr1RIOH6kEfXkRnhcUDx/RjmLztqSmf7ekgEBYE3+w0F/Zh94FpDTSxgT
|
||||
IZwLMbYx9PNXrBM0XWpvz4GAMfW8vjOwME8tqLGSrpmjJ7ab9tzo1wg1hpHiD2Rp
|
||||
hzvtpnSl9D1XGQdFsNmWmQHQkwIDAQABo4IDCjCCAwYwHwYDVR0jBBgwFoAUjYxe
|
||||
xFStiuF36Zv5mwXhuAGNYeEwHQYDVR0OBBYEFB7NZPF2+r+LiCEHjHt7FkgmoGWt
|
||||
MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF
|
||||
BwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgIHMCUwIwYIKwYB
|
||||
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATCBhAYIKwYB
|
||||
BQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl
|
||||
Y3RpZ29SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCMGCCsG
|
||||
AQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAzBgNVHREELDAqghV3d3cu
|
||||
aWZhdHRpZGluYXBvbGkuaXSCEWlmYXR0aWRpbmFwb2xpLml0MIIBfgYKKwYBBAHW
|
||||
eQIEAgSCAW4EggFqAWgAdgDd3Mo0ldfhFgXnlTL6x5/4PRxQ39sAOhQSdgosrLvI
|
||||
KgAAAZC9caREAAAEAwBHMEUCIQDNQ2H9khQWi+YXHC66xYRaDvXb+rfD4i69SnXG
|
||||
1INomgIgOHV6MiOK3aU5ksfsKojnCDPpomdCifeos00VVYeEz+EAdQAN4fIwK9MN
|
||||
wUBiEgnqVS78R3R8sdfpMO8OQh60fk6qNAAAAZC9caQnAAAEAwBGMEQCICIPNGUb
|
||||
kKZhft508hghzSXCTePsjYc7j0PWMVQubZe2AiA6tikN4RVWFp/SF3HJnf2eDr/7
|
||||
H8LSgH6p6NqqqwDzmQB3ABLxTjS9U3JMhAYZw48/ehP457Vih4icbTAFhOvlhiY6
|
||||
AAABkL1xpCQAAAQDAEgwRgIhANIepxh9QFxQT8hjkwrrxN60rOLgNS804SuDlJ8N
|
||||
ygHIAiEA/fU3ieZMSFHEFwpr8u+QJtElHE4q7CYVJsZgdVqbbbswDQYJKoZIhvcN
|
||||
AQELBQADggEBAI46dTeoonSiqQ5OYx+R4zAwMVz0PyBWSKajmaexlsrmhNEbBw7K
|
||||
gnUPIxnN/TJ3Nr+wbIvzUuarjlj3fiJcctmX5RbvNLx2sR/KpjiBvZ9MSX4d2SgF
|
||||
qp78xlkp2bWPEwtgxlvzm6NksxcUXeE6VhQu3rr1K1BPcm4HIBeia31rS5v0r+m1
|
||||
TrBEqhpzXLbk8zqcNLUX8v9yp021KIUP7AqbDo8qSlWlwtD94Bi6rWuChH6fEQhr
|
||||
neLw8nhoow/8vRlX69i4nRmuE5uM3Oe6foHsNKxFJwG1skbw1GltTsMnY4/NnlYj
|
||||
fkO2JcemruDM+XwIiVBnIaMqSgz87kbePS4=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
|
||||
MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV
|
||||
BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE
|
||||
ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g
|
||||
VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N
|
||||
TQEMgg8Xf2Iu6bhIefsWg06t1zIlk7cHv7lQP6lMw0Aq6Tn/2YHKHxYyQdqAJrkj
|
||||
eocgHuP/IJo8lURvh3UGkEC0MpMWCRAIIz7S3YcPb11RFGoKacVPAXJpz9OTTG0E
|
||||
oKMbgn6xmrntxZ7FN3ifmgg0+1YuWMQJDgZkW7w33PGfKGioVrCSo1yfu4iYCBsk
|
||||
Haswha6vsC6eep3BwEIc4gLw6uBK0u+QDrTBQBbwb4VCSmT3pDCg/r8uoydajotY
|
||||
uK3DGReEY+1vVv2Dy2A0xHS+5p3b4eTlygxfFQIDAQABo4IBbjCCAWowHwYDVR0j
|
||||
BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFI2MXsRUrYrhd+mb
|
||||
+ZsF4bgBjWHhMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
|
||||
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAw
|
||||
CAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0
|
||||
LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr
|
||||
BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv
|
||||
bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov
|
||||
L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAMr9hvQ5Iw0/H
|
||||
ukdN+Jx4GQHcEx2Ab/zDcLRSmjEzmldS+zGea6TvVKqJjUAXaPgREHzSyrHxVYbH
|
||||
7rM2kYb2OVG/Rr8PoLq0935JxCo2F57kaDl6r5ROVm+yezu/Coa9zcV3HAO4OLGi
|
||||
H19+24rcRki2aArPsrW04jTkZ6k4Zgle0rj8nSg6F0AnwnJOKf0hPHzPE/uWLMUx
|
||||
RP0T7dWbqWlod3zu4f+k+TY4CFM5ooQ0nBnzvg6s1SQ36yOoeNDT5++SR2RiOSLv
|
||||
xvcRviKFxmZEJCaOEDKNyJOuB56DPi/Z+fVGjmO+wea03KbNIaiGCpXZLoUmGv38
|
||||
sbZXQm2V0TP2ORQGgkE49Y9Y3IBbpNV9lXj9p5v//cWoaasm56ekBYdbqbe4oyAL
|
||||
l6lFhd2zi+WJN44pDfwGF/Y4QA5C5BIG+3vzxhFoYt/jmPQT2BVPi7Fp2RBgvGQq
|
||||
6jG35LWjOhSbJuMLe/0CjraZwTiXWTb2qHSihrZe68Zk6s+go/lunrotEbaGmAhY
|
||||
LcmsJWTyXnW0OMGuf1pGg+pRyrbxmRE1a6Vqe8YAsOf4vmSyrcjC8azjUeqkk+B5
|
||||
yOGBQMkKW+ESPMFgKuOXwIlCypTPRpgSabuY0MLTDXJLR27lk8QyKGOHQ+SwMj4K
|
||||
00u/I5sUKUErmgQfky3xxzlIPK1aEn8=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7
|
||||
MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
|
||||
VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
|
||||
AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
|
||||
MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
|
||||
MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO
|
||||
ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI
|
||||
s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG
|
||||
vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ
|
||||
Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb
|
||||
IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0
|
||||
tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E
|
||||
xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV
|
||||
icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5
|
||||
D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ
|
||||
WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ
|
||||
5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG
|
||||
KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg
|
||||
EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID
|
||||
ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG
|
||||
BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t
|
||||
L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr
|
||||
BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
|
||||
A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+
|
||||
rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+
|
||||
/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA
|
||||
CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F
|
||||
zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA
|
||||
vGp4z7h/jnZymQyd/teRCBaho1+V
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
|
||||
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
|
||||
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
|
||||
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
|
||||
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
|
||||
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
|
||||
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
|
||||
BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
|
||||
3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
|
||||
YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
|
||||
rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
|
||||
ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
|
||||
oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
|
||||
MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
|
||||
QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
|
||||
b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
|
||||
AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
|
||||
GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
|
||||
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
|
||||
G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
|
||||
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
|
||||
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGRjCCBS6gAwIBAgIQDmiNiQcqn6CDIZGjppn6KzANBgkqhkiG9w0BAQsFADCB
|
||||
jzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
||||
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
|
||||
Ey5TZWN0aWdvIFJTQSBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB
|
||||
MB4XDTI0MDcxNjAwMDAwMFoXDTI1MDgxNTIzNTk1OVowIDEeMBwGA1UEAxMVd3d3
|
||||
LmlmYXR0aWRpbmFwb2xpLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
||||
AQEAsBFPMTPfJbaeu+H3s636scQY+g6/S7PutDSi85n99mOpZ1vyS8MwvjCcI2xb
|
||||
/emXJaLRkJLN2sTBe64B9woUxtKFnE1UbWYosLFemZaxHpoWwa0Bd0PjfrBlvkZS
|
||||
9DzYjfuI6WiEpcixh/QuiM7i1g+sESyf29iQX+N58TwSvlgoKbRqMT1g7bRhGBqj
|
||||
DqL61gRAr1RIOH6kEfXkRnhcUDx/RjmLztqSmf7ekgEBYE3+w0F/Zh94FpDTSxgT
|
||||
IZwLMbYx9PNXrBM0XWpvz4GAMfW8vjOwME8tqLGSrpmjJ7ab9tzo1wg1hpHiD2Rp
|
||||
hzvtpnSl9D1XGQdFsNmWmQHQkwIDAQABo4IDCjCCAwYwHwYDVR0jBBgwFoAUjYxe
|
||||
xFStiuF36Zv5mwXhuAGNYeEwHQYDVR0OBBYEFB7NZPF2+r+LiCEHjHt7FkgmoGWt
|
||||
MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF
|
||||
BwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgIHMCUwIwYIKwYB
|
||||
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATCBhAYIKwYB
|
||||
BQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl
|
||||
Y3RpZ29SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCMGCCsG
|
||||
AQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAzBgNVHREELDAqghV3d3cu
|
||||
aWZhdHRpZGluYXBvbGkuaXSCEWlmYXR0aWRpbmFwb2xpLml0MIIBfgYKKwYBBAHW
|
||||
eQIEAgSCAW4EggFqAWgAdgDd3Mo0ldfhFgXnlTL6x5/4PRxQ39sAOhQSdgosrLvI
|
||||
KgAAAZC9caREAAAEAwBHMEUCIQDNQ2H9khQWi+YXHC66xYRaDvXb+rfD4i69SnXG
|
||||
1INomgIgOHV6MiOK3aU5ksfsKojnCDPpomdCifeos00VVYeEz+EAdQAN4fIwK9MN
|
||||
wUBiEgnqVS78R3R8sdfpMO8OQh60fk6qNAAAAZC9caQnAAAEAwBGMEQCICIPNGUb
|
||||
kKZhft508hghzSXCTePsjYc7j0PWMVQubZe2AiA6tikN4RVWFp/SF3HJnf2eDr/7
|
||||
H8LSgH6p6NqqqwDzmQB3ABLxTjS9U3JMhAYZw48/ehP457Vih4icbTAFhOvlhiY6
|
||||
AAABkL1xpCQAAAQDAEgwRgIhANIepxh9QFxQT8hjkwrrxN60rOLgNS804SuDlJ8N
|
||||
ygHIAiEA/fU3ieZMSFHEFwpr8u+QJtElHE4q7CYVJsZgdVqbbbswDQYJKoZIhvcN
|
||||
AQELBQADggEBAI46dTeoonSiqQ5OYx+R4zAwMVz0PyBWSKajmaexlsrmhNEbBw7K
|
||||
gnUPIxnN/TJ3Nr+wbIvzUuarjlj3fiJcctmX5RbvNLx2sR/KpjiBvZ9MSX4d2SgF
|
||||
qp78xlkp2bWPEwtgxlvzm6NksxcUXeE6VhQu3rr1K1BPcm4HIBeia31rS5v0r+m1
|
||||
TrBEqhpzXLbk8zqcNLUX8v9yp021KIUP7AqbDo8qSlWlwtD94Bi6rWuChH6fEQhr
|
||||
neLw8nhoow/8vRlX69i4nRmuE5uM3Oe6foHsNKxFJwG1skbw1GltTsMnY4/NnlYj
|
||||
fkO2JcemruDM+XwIiVBnIaMqSgz87kbePS4=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,17 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIICrDCCAZQCAQAwZzELMAkGA1UEBhMCSVQxCzAJBgNVBAgMAk5hMQ8wDQYDVQQH
|
||||
DAZOYXBvbGkxGjAYBgNVBAoMEUkgRmF0dGkgZGkgTmFwb2xpMR4wHAYDVQQDDBV3
|
||||
d3cuaWZhdHRpZGluYXBvbGkuaXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
||||
AoIBAQCwEU8xM98ltp674fezrfqxxBj6Dr9Ls+60NKLzmf32Y6lnW/JLwzC+MJwj
|
||||
bFv96ZclotGQks3axMF7rgH3ChTG0oWcTVRtZiiwsV6ZlrEemhbBrQF3Q+N+sGW+
|
||||
RlL0PNiN+4jpaISlyLGH9C6IzuLWD6wRLJ/b2JBf43nxPBK+WCgptGoxPWDttGEY
|
||||
GqMOovrWBECvVEg4fqQR9eRGeFxQPH9GOYvO2pKZ/t6SAQFgTf7DQX9mH3gWkNNL
|
||||
GBMhnAsxtjH081esEzRdam/PgYAx9by+M7AwTy2osZKumaMntpv23OjXCDWGkeIP
|
||||
ZGmHO+2mdKX0PVcZB0Ww2ZaZAdCTAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
|
||||
Nyh3lja1avb8UoPOER+dJp2P+CJFNWTHpD77zeOC3JX12u7j6t2JnpQp4jTgFCaa
|
||||
jGxM7VkFhuIRtOf5YfJdXkPMKCwuRuqdNgGdWo4xzLapzgjChpMntx9LI9NBqh8E
|
||||
pFohssCH7YB8SPtSnaNydRdQKL4yqw2DlnzuH4x4XP6WEDAgPCXaygsk4LpJiOje
|
||||
hGq+GO7cy/pWVJ4bXC4CMA3Ej0EK+2l+HYC3kbJOU+hA4YCtx81FMC8kf5PGJSq+
|
||||
u51HlDUERBzSfPyhXjcXxshO5W9yCgV4vZsbIt8uOqiuDyN+KO2c4QCDIv+XETjj
|
||||
BIvh5ycUUqP475jOiPv8yg==
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwEU8xM98ltp67
|
||||
4fezrfqxxBj6Dr9Ls+60NKLzmf32Y6lnW/JLwzC+MJwjbFv96ZclotGQks3axMF7
|
||||
rgH3ChTG0oWcTVRtZiiwsV6ZlrEemhbBrQF3Q+N+sGW+RlL0PNiN+4jpaISlyLGH
|
||||
9C6IzuLWD6wRLJ/b2JBf43nxPBK+WCgptGoxPWDttGEYGqMOovrWBECvVEg4fqQR
|
||||
9eRGeFxQPH9GOYvO2pKZ/t6SAQFgTf7DQX9mH3gWkNNLGBMhnAsxtjH081esEzRd
|
||||
am/PgYAx9by+M7AwTy2osZKumaMntpv23OjXCDWGkeIPZGmHO+2mdKX0PVcZB0Ww
|
||||
2ZaZAdCTAgMBAAECggEBAJMO8hlDnSev3+dH9w+xykm+Y6pAtRDzCfakXFKhlZi9
|
||||
Z1o4VylmsAi7Kz7/G9r5x1AdLXLW22/VlVHLZkLDvdTPM9/4SwNRJ71leIFKd0f7
|
||||
JfTAnw/RuWswxNpnfJQZWjtFE/b4YIrkFTxb/J4yRw7Kakqx/hevS+97XXfbWEB4
|
||||
mPGNu+dpXWHLgSNl0vBX8GdjSocF/gB+OtIim2kdlmf06Rv7RB4KzheHNY3VqLMW
|
||||
P9vkr0CNCsSUg8susI7Ea0eF1J0qBRaqSaZZMjCxkDRuHZ75SQsG8aPUxoYHagbl
|
||||
p9LKpr19mMCqUsgcOKLWH2yWgjG3S7T4aEexiMEL4jECgYEA1aqCI+h87P1UESaU
|
||||
sCiSmVXiniHoSqMpf/oBpvNLvGYqonvw7ebv05ReZaHh2Crc8EqZR1V/+cJ6W0Ap
|
||||
2zpEFCC/0PvjJ+Vz1EPMkYE2a2IL4jZxRM/vswMkRT/2oFVmTj+5rxHq+YR/s831
|
||||
SHA0q0vvQaBWAXYJByqdKAKH7NsCgYEA0vO/NLe5j3Jhd74yOpxrgh+4ytAg32bt
|
||||
zDFLmTXH8P9BAPEeFzzf/mUYrG7vZ3/afAhY7JmYDlO3jE70xFuorREFz7fVc0Wk
|
||||
GiND+DcpzVZsojs3OI2JSmqh6URGcHwkPs3I6lSJ8a3w2PRchsCsasCrszko5oG8
|
||||
f1pTuFUjnKkCgYB1OnDerK7mA/O82TMZF5mfQWztn+LoGG8rhQqlA7WY72ES9vdw
|
||||
P5Vzu2KzVkcoKBRCTluctL9bVCV3rVOJsYUqmfFEAv9Vo2GSo4Q4jPFDp26ntYEd
|
||||
5Qw5Zk7fI8H3pANWiUYiVK1cKyM5jpW2IcHz/dyOYB7v/Eflw66oBgN3owKBgQCV
|
||||
bxd+p7tqM1N6OKBqRo4d0ozcFs2Ck+5WHIF6Gc/2F0ub+DIhsfzWwBTXaYpr3fUO
|
||||
sfcUO8WsOH+og/H9+xQk7Q8Z0xcAnk+eOGcYuTMCg3tW/O2kQRcFQT5K+ROQ8U/X
|
||||
sXznClXhfx9DAO9egbRhtvSqdA5WI4c9C+aMiLs+aQKBgD0ukpti+Hvu9yaMD5Dl
|
||||
+Jw8ShaOnXitawMPfMllt3FRz+Olz7DADfMEGmPVSVzehs0UQcDPtcIwgSLoBy74
|
||||
FYbzYckViKequY4j/v5bF8/GFM2YZSwqwAOrTlFep5gbSuHtHw4QHV5iW1TqcpVU
|
||||
G9EECMVtD/xN/tZuwzD6XNho
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -0,0 +1,111 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGTDCCBDSgAwIBAgIQOXpmzCdWNi4NqofKbqvjsTANBgkqhkiG9w0BAQwFADBf
|
||||
MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD
|
||||
Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw
|
||||
HhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5WjBgMQswCQYDVQQGEwJHQjEY
|
||||
MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFB1Ymxp
|
||||
YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgRFYgUjM2MIIBojANBgkqhkiG9w0B
|
||||
AQEFAAOCAY8AMIIBigKCAYEAljZf2HIz7+SPUPQCQObZYcrxLTHYdf1ZtMRe7Yeq
|
||||
RPSwygz16qJ9cAWtWNTcuICc++p8Dct7zNGxCpqmEtqifO7NvuB5dEVexXn9RFFH
|
||||
12Hm+NtPRQgXIFjx6MSJcNWuVO3XGE57L1mHlcQYj+g4hny90aFh2SCZCDEVkAja
|
||||
EMMfYPKuCjHuuF+bzHFb/9gV8P9+ekcHENF2nR1efGWSKwnfG5RawlkaQDpRtZTm
|
||||
M64TIsv/r7cyFO4nSjs1jLdXYdz5q3a4L0NoabZfbdxVb+CUEHfB0bpulZQtH1Rv
|
||||
38e/lIdP7OTTIlZh6OYL6NhxP8So0/sht/4J9mqIGxRFc0/pC8suja+wcIUna0HB
|
||||
pXKfXTKpzgis+zmXDL06ASJf5E4A2/m+Hp6b84sfPAwQ766rI65mh50S0Di9E3Pn
|
||||
2WcaJc+PILsBmYpgtmgWTR9eV9otfKRUBfzHUHcVgarub/XluEpRlTtZudU5xbFN
|
||||
xx/DgMrXLUAPaI60fZ6wA+PTAgMBAAGjggGBMIIBfTAfBgNVHSMEGDAWgBRWc1hk
|
||||
lfmSGrASKgRieaFAFYghSTAdBgNVHQ4EFgQUaMASFhgOr872h6YyV6NGUV3LBycw
|
||||
DgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYI
|
||||
KwYBBQUHAwEGCCsGAQUFBwMCMBsGA1UdIAQUMBIwBgYEVR0gADAIBgZngQwBAgEw
|
||||
VAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdv
|
||||
UHVibGljU2VydmVyQXV0aGVudGljYXRpb25Sb290UjQ2LmNybDCBhAYIKwYBBQUH
|
||||
AQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3Rp
|
||||
Z29QdWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvblJvb3RSNDYucDdjMCMGCCsGAQUF
|
||||
BzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEA
|
||||
YtOC9Fy+TqECFw40IospI92kLGgoSZGPOSQXMBqmsGWZUQ7rux7cj1du6d9rD6C8
|
||||
ze1B2eQjkrGkIL/OF1s7vSmgYVafsRoZd/IHUrkoQvX8FZwUsmPu7amgBfaY3g+d
|
||||
q1x0jNGKb6I6Bzdl6LgMD9qxp+3i7GQOnd9J8LFSietY6Z4jUBzVoOoz8iAU84OF
|
||||
h2HhAuiPw1ai0VnY38RTI+8kepGWVfGxfBWzwH9uIjeooIeaosVFvE8cmYUB4TSH
|
||||
5dUyD0jHct2+8ceKEtIoFU/FfHq/mDaVnvcDCZXtIgitdMFQdMZaVehmObyhRdDD
|
||||
4NQCs0gaI9AAgFj4L9QtkARzhQLNyRf87Kln+YU0lgCGr9HLg3rGO8q+Y4ppLsOd
|
||||
unQZ6ZxPNGIfOApbPVf5hCe58EZwiWdHIMn9lPP6+F404y8NNugbQixBber+x536
|
||||
WrZhFZLjEkhp7fFXf9r32rNPfb74X/U90Bdy4lzp3+X1ukh1BuMxA/EEhDoTOS3l
|
||||
7ABvc7BYSQubQ2490OcdkIzUh3ZwDrakMVrbaTxUM2p24N6dB+ns2zptWCva6jzW
|
||||
r8IWKIMxzxLPv5Kt3ePKcUdvkBU/smqujSczTzzSjIoR5QqQA6lN1ZRSnuHIWCvh
|
||||
JEltkYnTAH41QJ6SAWO66GrrUESwN/cgZzL4JLEqz1Y=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGlTCCBH2gAwIBAgIRANJ/u8HeNZ5SFq1hSVhgmcQwDQYJKoZIhvcNAQEMBQAw
|
||||
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
|
||||
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
|
||||
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIx
|
||||
MDMyMjAwMDAwMFoXDTM4MDExODIzNTk1OVowXzELMAkGA1UEBhMCR0IxGDAWBgNV
|
||||
BAoTD1NlY3RpZ28gTGltaXRlZDE2MDQGA1UEAxMtU2VjdGlnbyBQdWJsaWMgU2Vy
|
||||
dmVyIEF1dGhlbnRpY2F0aW9uIFJvb3QgUjQ2MIICIjANBgkqhkiG9w0BAQEFAAOC
|
||||
Ag8AMIICCgKCAgEAk77VNlJ12AEjoBxHQknuY7a3If3EldVIKyZ8FFMQ2nn9K7ct
|
||||
pNQs+uoy3UnCub0PSD17WphUr55dMXRPB/xQId2kz2hPGxJjbSWZTCqZ80gwYfqB
|
||||
fB6nCErcPiscHxhMcao1jK34bug7StnllALWiYQTqm3ITzPMUJY3kjPcX4jnn1TZ
|
||||
SPCYQ9Zm/Z8XOEPFAVEL1+MjDxRdWxTnS77d9MjaAzfR1jmhIVEwg7Bt1zBOlluR
|
||||
8HAkq79FgWRDDb0hOi886Z4NyyC1QifM2m+b7mQwkDnNk2WBITG1I1AzNyLjOO34
|
||||
MTDMRf5i+dFdMnlCh99qzFYZQE3Oqrv5tXZJlPEn+JGlg+UGs2MOgNzgElWApjtm
|
||||
tDmHLcjw0NEU6eQNTQ72XVdyxTscR1ad4tX7gWGMzE2AkDRbt9cUddzYBEifwMEo
|
||||
iLTpHMqnsfFWt3tJTFnlIBWohAIp+jiUaZpJBo/NH3kUFxIMg3reH7GX7vmXeCik
|
||||
yESS6X0mBaZYcpt5E9gRX67FOGI0aLKGMI74kGGeMmz1BzbNokxu7Io27fLmmRVE
|
||||
cMN8vJw5wLTha/eDJSNX2RKA5UnwdQ/vjescm1QotCE8/HwK/+97a3X/ix2gGQWr
|
||||
+vgrgULoOLq7+6r9PeDzyt9Ol5cp7fMYVumllqy9w5CYsuD5otSmR0N8bc8CAwEA
|
||||
AaOCASAwggEcMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1Ud
|
||||
DgQWBBRWc1hklfmSGrASKgRieaFAFYghSTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T
|
||||
AQH/BAUwAwEB/zAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEQYDVR0g
|
||||
BAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRy
|
||||
dXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDA1
|
||||
BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVz
|
||||
dC5jb20wDQYJKoZIhvcNAQEMBQADggIBADpvBIlq7bMU0cFDT/9P9+BsgCkRgQs0
|
||||
S6Bf7vJSlWMHwby0VGvxCS0hrbi0K2BINZbEbsVsgpQq04431yyoVn3Hldorgq24
|
||||
RldRDOOipEZDTFB9wC9HYt1thHF00XeG2C8KC1plwoEzKAIhPvefI/C3cT0CfTXJ
|
||||
uFjUbKIgSwjNjw6YHtLgoy/hd5+JLUlLco/gzFX/qWbT7tEquOMYpsNKWZj8TLqP
|
||||
q6zMiG4Na6feEZte6YPXGrMWlTWN341vDedc+yxQqSug79HJUQcOZs7KyDWztmae
|
||||
QxsPE49UV/8XwrfZtZaYyrs4FpD94Z4Q8dzXGL8+qEJjxgcza7W6PROaClubavd1
|
||||
VKPm8+aCW77u7SxpR2TFGL6kPdxsKyFijpcunR5V79sUyROfNdzjrAcFWZXK8sbb
|
||||
9FlnwuVG677JLv+ZVTX5AxLvW5OB4zt5uS+zB62wJ/Wv+jXGAttSAcJec4iFgCWH
|
||||
Rvdi/jJoSzRLa3nEzx6pFIzclSCnh0u1xCeLcUBypSiPga8W+6PkuoyQq8U9qs9E
|
||||
oxG5NvrvlyshwUS9yvcZRGw7Ljlx4jJH/BhIPR8kIBCQj1vna9TziZOrw1Of8hDU
|
||||
bHKFG9Pm8Dp2vbjz/2JH39qvxshPKVllGfq+5klPm7yZRUYTiCMAbqwNdL/nsqF2
|
||||
Rnnyp58XRStJ
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
|
||||
MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
|
||||
BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
|
||||
aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
|
||||
dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
|
||||
AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
|
||||
3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
|
||||
tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
|
||||
Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
|
||||
VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
|
||||
79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
|
||||
c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
|
||||
Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
|
||||
c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
|
||||
UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
|
||||
Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
|
||||
BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
|
||||
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
|
||||
Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
|
||||
VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
|
||||
ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
|
||||
8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
|
||||
iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
|
||||
Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
|
||||
XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
|
||||
qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
|
||||
VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
|
||||
L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
|
||||
jjxDah2nGN59PRbxYvnKkKj9
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGlDCCBPygAwIBAgIQdL548hQplpUpcn695ITBejANBgkqhkiG9w0BAQsFADBg
|
||||
MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
|
||||
Ey5TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgRFYgUjM2
|
||||
MB4XDTI1MDkxMDAwMDAwMFoXDTI2MDkxMDIzNTk1OVowIDEeMBwGA1UEAxMVd3d3
|
||||
LmlmYXR0aWRpbmFwb2xpLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
||||
AQEAm6Iiwk5nM6dM6MS42IQBEmB0wtAa3q2zQd1f/Co2vbcuAug055kAX81392Qa
|
||||
tfcuHCQKrmYw1Dz7rl0X9vLdR8VBDbdMSuWpBzqTDgc5ed+Bq+Sq3PXjTArXpoxX
|
||||
edWD1K+TxE4ciM32KuJUv4+ZJfcXnFoABOHztRYDgYgxEY6QSmIsqiYNzI+pnXpz
|
||||
FCISYhQB1BqefZj74XDkyqrGsiSBNHmMfGNnn3LhMiDIB14jvNUgxkIxKhNZZqrN
|
||||
Y4UlO4CTsbO638rWiijnjN+VAINITzPl5goVe4QBFepwK84c3ZTNrBMtUCgteJfX
|
||||
6afnm56RciJF8s3bq7ALJJpFHwIDAQABo4IDCDCCAwQwHwYDVR0jBBgwFoAUaMAS
|
||||
FhgOr872h6YyV6NGUV3LBycwHQYDVR0OBBYEFGN1VcoL9aLT/KpxB82znhCDXfrJ
|
||||
MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF
|
||||
BwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgIHMCUwIwYIKwYB
|
||||
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATCBhAYIKwYB
|
||||
BQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl
|
||||
Y3RpZ29QdWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvbkNBRFZSMzYuY3J0MCMGCCsG
|
||||
AQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAzBgNVHREELDAqghV3d3cu
|
||||
aWZhdHRpZGluYXBvbGkuaXSCEWlmYXR0aWRpbmFwb2xpLml0MIIBfAYKKwYBBAHW
|
||||
eQIEAgSCAWwEggFoAWYAdQDYCVU7lE96/8gWGW+UT4WrsPj8XodVJg8V0S5yu0VL
|
||||
FAAAAZk1c5ygAAAEAwBGMEQCIFpF1ZvvA95MfLCTjRnojNRnA/rrodK2xes028cw
|
||||
Wn4qAiA38E6qD7CIvZHxtrXi3OJmAq0d4n3LAMoTjtGGZcUd0AB1AKyrMHBs6+yE
|
||||
MfQT0vSRXxEeQiRDsfKmjE88KzunHgLDAAABmTVznMQAAAQDAEYwRAIgKLZcFMPU
|
||||
Gd5uEo4c85mtVQ0nxnnhkJCQSjO4op5KkicCIHk73U7eNBUtezx4ZJkfsNLBs9/1
|
||||
pokoxLAo5da1WbrSAHYA1219ENGn9XfCx+lf1wC/+YLJM1pl4dCzAXMXwMjFaXcA
|
||||
AAGZNXOcQgAABAMARzBFAiEA8grcPPZ4XPuWWb18MoFzInoVjxKlF6hSaCDv10il
|
||||
cgMCIBVENiFxXfQb9SN7HifcXA0fdPu7zP6gUY+Vo5oN7zcGMA0GCSqGSIb3DQEB
|
||||
CwUAA4IBgQBV/ystq+VGaGti8BA1YmAHaKD5yAuCrJ3SLbcu14F0a2RbQ/fUvycQ
|
||||
/Vmz1vMOS6PhaEliZGCqAeByJ5xiJ2RYz6pauRJbMgbWxRnV0Xne+vhkP4lMsQDY
|
||||
14i8jHMyp73RlmVsZqhOvpCBEj3eP3AUupLQQuTzvMAM+AQV2FnYYBJDnwqZhOAU
|
||||
W2/fhJy9LRc8FA+hw3mqBcdAqnwpbM86Lub5N2KF2V/ES15QRX2QcpuJ6IVrb4BN
|
||||
+P4bVsXNwIc2jipRnPouZLi+lPkeGHAsWcv/6+NXdeQs3opDdSJUoWWoAxhGiDn4
|
||||
yT0yBH/5csxU8WNncYd+SM26tY6chprZOea0OIY9nMpgSRUoSZS2a0KET8IjTl4Y
|
||||
GKVcaIO/PY821FyHTdgw/PKhL6dwzDpKG/lctOydVudGDfb5qYW8PIFK/WvGICYR
|
||||
ruAPJVGU/X6UHNOl2VT3SmwBgaP74ruMiY/w0ZyC6FrnzkdKpUbQUgUPkkonKkJz
|
||||
72bE8PahMN4=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGTDCCBDSgAwIBAgIQOXpmzCdWNi4NqofKbqvjsTANBgkqhkiG9w0BAQwFADBf
|
||||
MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD
|
||||
Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw
|
||||
HhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5WjBgMQswCQYDVQQGEwJHQjEY
|
||||
MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFB1Ymxp
|
||||
YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgRFYgUjM2MIIBojANBgkqhkiG9w0B
|
||||
AQEFAAOCAY8AMIIBigKCAYEAljZf2HIz7+SPUPQCQObZYcrxLTHYdf1ZtMRe7Yeq
|
||||
RPSwygz16qJ9cAWtWNTcuICc++p8Dct7zNGxCpqmEtqifO7NvuB5dEVexXn9RFFH
|
||||
12Hm+NtPRQgXIFjx6MSJcNWuVO3XGE57L1mHlcQYj+g4hny90aFh2SCZCDEVkAja
|
||||
EMMfYPKuCjHuuF+bzHFb/9gV8P9+ekcHENF2nR1efGWSKwnfG5RawlkaQDpRtZTm
|
||||
M64TIsv/r7cyFO4nSjs1jLdXYdz5q3a4L0NoabZfbdxVb+CUEHfB0bpulZQtH1Rv
|
||||
38e/lIdP7OTTIlZh6OYL6NhxP8So0/sht/4J9mqIGxRFc0/pC8suja+wcIUna0HB
|
||||
pXKfXTKpzgis+zmXDL06ASJf5E4A2/m+Hp6b84sfPAwQ766rI65mh50S0Di9E3Pn
|
||||
2WcaJc+PILsBmYpgtmgWTR9eV9otfKRUBfzHUHcVgarub/XluEpRlTtZudU5xbFN
|
||||
xx/DgMrXLUAPaI60fZ6wA+PTAgMBAAGjggGBMIIBfTAfBgNVHSMEGDAWgBRWc1hk
|
||||
lfmSGrASKgRieaFAFYghSTAdBgNVHQ4EFgQUaMASFhgOr872h6YyV6NGUV3LBycw
|
||||
DgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYI
|
||||
KwYBBQUHAwEGCCsGAQUFBwMCMBsGA1UdIAQUMBIwBgYEVR0gADAIBgZngQwBAgEw
|
||||
VAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdv
|
||||
UHVibGljU2VydmVyQXV0aGVudGljYXRpb25Sb290UjQ2LmNybDCBhAYIKwYBBQUH
|
||||
AQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3Rp
|
||||
Z29QdWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvblJvb3RSNDYucDdjMCMGCCsGAQUF
|
||||
BzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEA
|
||||
YtOC9Fy+TqECFw40IospI92kLGgoSZGPOSQXMBqmsGWZUQ7rux7cj1du6d9rD6C8
|
||||
ze1B2eQjkrGkIL/OF1s7vSmgYVafsRoZd/IHUrkoQvX8FZwUsmPu7amgBfaY3g+d
|
||||
q1x0jNGKb6I6Bzdl6LgMD9qxp+3i7GQOnd9J8LFSietY6Z4jUBzVoOoz8iAU84OF
|
||||
h2HhAuiPw1ai0VnY38RTI+8kepGWVfGxfBWzwH9uIjeooIeaosVFvE8cmYUB4TSH
|
||||
5dUyD0jHct2+8ceKEtIoFU/FfHq/mDaVnvcDCZXtIgitdMFQdMZaVehmObyhRdDD
|
||||
4NQCs0gaI9AAgFj4L9QtkARzhQLNyRf87Kln+YU0lgCGr9HLg3rGO8q+Y4ppLsOd
|
||||
unQZ6ZxPNGIfOApbPVf5hCe58EZwiWdHIMn9lPP6+F404y8NNugbQixBber+x536
|
||||
WrZhFZLjEkhp7fFXf9r32rNPfb74X/U90Bdy4lzp3+X1ukh1BuMxA/EEhDoTOS3l
|
||||
7ABvc7BYSQubQ2490OcdkIzUh3ZwDrakMVrbaTxUM2p24N6dB+ns2zptWCva6jzW
|
||||
r8IWKIMxzxLPv5Kt3ePKcUdvkBU/smqujSczTzzSjIoR5QqQA6lN1ZRSnuHIWCvh
|
||||
JEltkYnTAH41QJ6SAWO66GrrUESwN/cgZzL4JLEqz1Y=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGlTCCBH2gAwIBAgIRANJ/u8HeNZ5SFq1hSVhgmcQwDQYJKoZIhvcNAQEMBQAw
|
||||
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
|
||||
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
|
||||
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIx
|
||||
MDMyMjAwMDAwMFoXDTM4MDExODIzNTk1OVowXzELMAkGA1UEBhMCR0IxGDAWBgNV
|
||||
BAoTD1NlY3RpZ28gTGltaXRlZDE2MDQGA1UEAxMtU2VjdGlnbyBQdWJsaWMgU2Vy
|
||||
dmVyIEF1dGhlbnRpY2F0aW9uIFJvb3QgUjQ2MIICIjANBgkqhkiG9w0BAQEFAAOC
|
||||
Ag8AMIICCgKCAgEAk77VNlJ12AEjoBxHQknuY7a3If3EldVIKyZ8FFMQ2nn9K7ct
|
||||
pNQs+uoy3UnCub0PSD17WphUr55dMXRPB/xQId2kz2hPGxJjbSWZTCqZ80gwYfqB
|
||||
fB6nCErcPiscHxhMcao1jK34bug7StnllALWiYQTqm3ITzPMUJY3kjPcX4jnn1TZ
|
||||
SPCYQ9Zm/Z8XOEPFAVEL1+MjDxRdWxTnS77d9MjaAzfR1jmhIVEwg7Bt1zBOlluR
|
||||
8HAkq79FgWRDDb0hOi886Z4NyyC1QifM2m+b7mQwkDnNk2WBITG1I1AzNyLjOO34
|
||||
MTDMRf5i+dFdMnlCh99qzFYZQE3Oqrv5tXZJlPEn+JGlg+UGs2MOgNzgElWApjtm
|
||||
tDmHLcjw0NEU6eQNTQ72XVdyxTscR1ad4tX7gWGMzE2AkDRbt9cUddzYBEifwMEo
|
||||
iLTpHMqnsfFWt3tJTFnlIBWohAIp+jiUaZpJBo/NH3kUFxIMg3reH7GX7vmXeCik
|
||||
yESS6X0mBaZYcpt5E9gRX67FOGI0aLKGMI74kGGeMmz1BzbNokxu7Io27fLmmRVE
|
||||
cMN8vJw5wLTha/eDJSNX2RKA5UnwdQ/vjescm1QotCE8/HwK/+97a3X/ix2gGQWr
|
||||
+vgrgULoOLq7+6r9PeDzyt9Ol5cp7fMYVumllqy9w5CYsuD5otSmR0N8bc8CAwEA
|
||||
AaOCASAwggEcMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1Ud
|
||||
DgQWBBRWc1hklfmSGrASKgRieaFAFYghSTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T
|
||||
AQH/BAUwAwEB/zAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEQYDVR0g
|
||||
BAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRy
|
||||
dXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDA1
|
||||
BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVz
|
||||
dC5jb20wDQYJKoZIhvcNAQEMBQADggIBADpvBIlq7bMU0cFDT/9P9+BsgCkRgQs0
|
||||
S6Bf7vJSlWMHwby0VGvxCS0hrbi0K2BINZbEbsVsgpQq04431yyoVn3Hldorgq24
|
||||
RldRDOOipEZDTFB9wC9HYt1thHF00XeG2C8KC1plwoEzKAIhPvefI/C3cT0CfTXJ
|
||||
uFjUbKIgSwjNjw6YHtLgoy/hd5+JLUlLco/gzFX/qWbT7tEquOMYpsNKWZj8TLqP
|
||||
q6zMiG4Na6feEZte6YPXGrMWlTWN341vDedc+yxQqSug79HJUQcOZs7KyDWztmae
|
||||
QxsPE49UV/8XwrfZtZaYyrs4FpD94Z4Q8dzXGL8+qEJjxgcza7W6PROaClubavd1
|
||||
VKPm8+aCW77u7SxpR2TFGL6kPdxsKyFijpcunR5V79sUyROfNdzjrAcFWZXK8sbb
|
||||
9FlnwuVG677JLv+ZVTX5AxLvW5OB4zt5uS+zB62wJ/Wv+jXGAttSAcJec4iFgCWH
|
||||
Rvdi/jJoSzRLa3nEzx6pFIzclSCnh0u1xCeLcUBypSiPga8W+6PkuoyQq8U9qs9E
|
||||
oxG5NvrvlyshwUS9yvcZRGw7Ljlx4jJH/BhIPR8kIBCQj1vna9TziZOrw1Of8hDU
|
||||
bHKFG9Pm8Dp2vbjz/2JH39qvxshPKVllGfq+5klPm7yZRUYTiCMAbqwNdL/nsqF2
|
||||
Rnnyp58XRStJ
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
|
||||
MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
|
||||
BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
|
||||
aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
|
||||
dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
|
||||
AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
|
||||
3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
|
||||
tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
|
||||
Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
|
||||
VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
|
||||
79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
|
||||
c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
|
||||
Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
|
||||
c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
|
||||
UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
|
||||
Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
|
||||
BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
|
||||
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
|
||||
Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
|
||||
VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
|
||||
ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
|
||||
8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
|
||||
iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
|
||||
Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
|
||||
XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
|
||||
qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
|
||||
VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
|
||||
L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
|
||||
jjxDah2nGN59PRbxYvnKkKj9
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGlDCCBPygAwIBAgIQdL548hQplpUpcn695ITBejANBgkqhkiG9w0BAQsFADBg
|
||||
MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
|
||||
Ey5TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgRFYgUjM2
|
||||
MB4XDTI1MDkxMDAwMDAwMFoXDTI2MDkxMDIzNTk1OVowIDEeMBwGA1UEAxMVd3d3
|
||||
LmlmYXR0aWRpbmFwb2xpLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
||||
AQEAm6Iiwk5nM6dM6MS42IQBEmB0wtAa3q2zQd1f/Co2vbcuAug055kAX81392Qa
|
||||
tfcuHCQKrmYw1Dz7rl0X9vLdR8VBDbdMSuWpBzqTDgc5ed+Bq+Sq3PXjTArXpoxX
|
||||
edWD1K+TxE4ciM32KuJUv4+ZJfcXnFoABOHztRYDgYgxEY6QSmIsqiYNzI+pnXpz
|
||||
FCISYhQB1BqefZj74XDkyqrGsiSBNHmMfGNnn3LhMiDIB14jvNUgxkIxKhNZZqrN
|
||||
Y4UlO4CTsbO638rWiijnjN+VAINITzPl5goVe4QBFepwK84c3ZTNrBMtUCgteJfX
|
||||
6afnm56RciJF8s3bq7ALJJpFHwIDAQABo4IDCDCCAwQwHwYDVR0jBBgwFoAUaMAS
|
||||
FhgOr872h6YyV6NGUV3LBycwHQYDVR0OBBYEFGN1VcoL9aLT/KpxB82znhCDXfrJ
|
||||
MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF
|
||||
BwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgIHMCUwIwYIKwYB
|
||||
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATCBhAYIKwYB
|
||||
BQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl
|
||||
Y3RpZ29QdWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvbkNBRFZSMzYuY3J0MCMGCCsG
|
||||
AQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAzBgNVHREELDAqghV3d3cu
|
||||
aWZhdHRpZGluYXBvbGkuaXSCEWlmYXR0aWRpbmFwb2xpLml0MIIBfAYKKwYBBAHW
|
||||
eQIEAgSCAWwEggFoAWYAdQDYCVU7lE96/8gWGW+UT4WrsPj8XodVJg8V0S5yu0VL
|
||||
FAAAAZk1c5ygAAAEAwBGMEQCIFpF1ZvvA95MfLCTjRnojNRnA/rrodK2xes028cw
|
||||
Wn4qAiA38E6qD7CIvZHxtrXi3OJmAq0d4n3LAMoTjtGGZcUd0AB1AKyrMHBs6+yE
|
||||
MfQT0vSRXxEeQiRDsfKmjE88KzunHgLDAAABmTVznMQAAAQDAEYwRAIgKLZcFMPU
|
||||
Gd5uEo4c85mtVQ0nxnnhkJCQSjO4op5KkicCIHk73U7eNBUtezx4ZJkfsNLBs9/1
|
||||
pokoxLAo5da1WbrSAHYA1219ENGn9XfCx+lf1wC/+YLJM1pl4dCzAXMXwMjFaXcA
|
||||
AAGZNXOcQgAABAMARzBFAiEA8grcPPZ4XPuWWb18MoFzInoVjxKlF6hSaCDv10il
|
||||
cgMCIBVENiFxXfQb9SN7HifcXA0fdPu7zP6gUY+Vo5oN7zcGMA0GCSqGSIb3DQEB
|
||||
CwUAA4IBgQBV/ystq+VGaGti8BA1YmAHaKD5yAuCrJ3SLbcu14F0a2RbQ/fUvycQ
|
||||
/Vmz1vMOS6PhaEliZGCqAeByJ5xiJ2RYz6pauRJbMgbWxRnV0Xne+vhkP4lMsQDY
|
||||
14i8jHMyp73RlmVsZqhOvpCBEj3eP3AUupLQQuTzvMAM+AQV2FnYYBJDnwqZhOAU
|
||||
W2/fhJy9LRc8FA+hw3mqBcdAqnwpbM86Lub5N2KF2V/ES15QRX2QcpuJ6IVrb4BN
|
||||
+P4bVsXNwIc2jipRnPouZLi+lPkeGHAsWcv/6+NXdeQs3opDdSJUoWWoAxhGiDn4
|
||||
yT0yBH/5csxU8WNncYd+SM26tY6chprZOea0OIY9nMpgSRUoSZS2a0KET8IjTl4Y
|
||||
GKVcaIO/PY821FyHTdgw/PKhL6dwzDpKG/lctOydVudGDfb5qYW8PIFK/WvGICYR
|
||||
ruAPJVGU/X6UHNOl2VT3SmwBgaP74ruMiY/w0ZyC6FrnzkdKpUbQUgUPkkonKkJz
|
||||
72bE8PahMN4=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,17 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIICrDCCAZQCAQAwZzELMAkGA1UEBhMCSVQxCzAJBgNVBAgMAk5hMQ8wDQYDVQQH
|
||||
DAZOYXBvbGkxGjAYBgNVBAoMEUkgRmF0dGkgZGkgTmFwb2xpMR4wHAYDVQQDDBV3
|
||||
d3cuaWZhdHRpZGluYXBvbGkuaXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
||||
AoIBAQCboiLCTmczp0zoxLjYhAESYHTC0BrerbNB3V/8Kja9ty4C6DTnmQBfzXf3
|
||||
ZBq19y4cJAquZjDUPPuuXRf28t1HxUENt0xK5akHOpMOBzl534Gr5Krc9eNMCtem
|
||||
jFd51YPUr5PEThyIzfYq4lS/j5kl9xecWgAE4fO1FgOBiDERjpBKYiyqJg3Mj6md
|
||||
enMUIhJiFAHUGp59mPvhcOTKqsayJIE0eYx8Y2efcuEyIMgHXiO81SDGQjEqE1lm
|
||||
qs1jhSU7gJOxs7rfytaKKOeM35UAg0hPM+XmChV7hAEV6nArzhzdlM2sEy1QKC14
|
||||
l9fpp+ebnpFyIkXyzdursAskmkUfAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
|
||||
Qgi1BZ2kb6/1yt7kmsNFcnrpC6aUT3QnblXNezc06eXQMCwvCwGJWYz3+B4lZAR5
|
||||
KmiaMVLPbuZ37WeVDpyKCb2XkOl1KN9rrUSysMpdUrgY1I8F31UHLruA8QmA7BMB
|
||||
3rpjnyLb1afG0EjR0tkYos+B698AvYqPWXvOYlgRcmEi/sZh9Pt0bZERKGIt1zXz
|
||||
Bsqc3SQq6AN9nDlVeoJ+Tr40WKDhnp4XOy5ctmpHFrm0rQj8ch9tpWTgy806gfQ6
|
||||
O4xfFN9VN/9PvsNPZTIW0kFVbnnII7K5DziTa/RCKyqwFJqu3WoxsYzy5LWUrkUj
|
||||
SSTGafEgwZtnIrRn0rBKsA==
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCboiLCTmczp0zo
|
||||
xLjYhAESYHTC0BrerbNB3V/8Kja9ty4C6DTnmQBfzXf3ZBq19y4cJAquZjDUPPuu
|
||||
XRf28t1HxUENt0xK5akHOpMOBzl534Gr5Krc9eNMCtemjFd51YPUr5PEThyIzfYq
|
||||
4lS/j5kl9xecWgAE4fO1FgOBiDERjpBKYiyqJg3Mj6mdenMUIhJiFAHUGp59mPvh
|
||||
cOTKqsayJIE0eYx8Y2efcuEyIMgHXiO81SDGQjEqE1lmqs1jhSU7gJOxs7rfytaK
|
||||
KOeM35UAg0hPM+XmChV7hAEV6nArzhzdlM2sEy1QKC14l9fpp+ebnpFyIkXyzdur
|
||||
sAskmkUfAgMBAAECggEAA0YJSiIBDLaXqQu+QZuhNCRAQHrFHer0as2/v5uZtCre
|
||||
tmPw/PAccGdvfw4le69b0m61pM50d3pi5tuBbgnUurY89I9m9OpYwFSslC51uIkJ
|
||||
fracG3K2mbpep9uq2V6y263nw0jLU9tVMri5BKB+HazRW9IOzwt7p1Lztu1I7vAS
|
||||
00kdFoHU0lm9IbXgJww3PJEeGWJK+w8FYetV6ER1SbAKUukLa2RmGaIBRAaegis1
|
||||
XsEr5NxuB+qB2/J/RqIFtythO6UNl+evi+1PE0HH/Hx7VBYwvypk9hvCPl2HYVzh
|
||||
k4P1GJ5lZXD8UNT4R0lhKOdePwPTPZh6GVFBiiOo6QKBgQDSW7PsZdzhCoAU81Qd
|
||||
/ozpv9d9vJQUoqpiC51nAIczbCPCGgxDsXb4iKeq7vyDNPCOYpqwhzlkbxKr8spa
|
||||
WDdHB9jZtrvEboisYurAcKphIFDvep/uGRNwWjUD2HljgHiH8c35fMB/XgbSiXv3
|
||||
q/z5/IiDXMWDDM/kvdgAcf4DtwKBgQC9ZsDAqYMl2mClY0zkd0pD4WeR1YaoD3zF
|
||||
rHciH39OKZ8PtcwHEDoP0Hu/T1O2DRJknFU+7zZRioaFz+wbjQ84JGjKCiTEZs6R
|
||||
2dQ0j9ahrEwCXr34Gx7rmy+J/AV6cYe8CC8Vco0VC2ieqKwO/fCsA3TsrXHie9Gj
|
||||
BtlGg/XZ2QKBgAHKgherLlxEKJ8FC1xOBIkg9wa9Ck26rNS04Jw15vDLJOrMKfqR
|
||||
kj+/eh38du3vD3VG5aZHIHf4ciJAqPRn9+CE8pW39pVPk55UIUeOLgUxrz66vo3a
|
||||
bM3yFq13tGDigSQ3LNfI9iKffFNilEmhjz/ZpJfpvEzHWSXLcAFg9xa1AoGAZ1lX
|
||||
Wonk31XfIMAjqBMTuiCX9DLQjIoO6opmY39OZyc8/USVNVF8bT61F7pAknlljPLl
|
||||
bTb4q9vr9b50NsBtCpSLfZu1Xlo+48U6Dwhh9MxgmXZ7MJQT9joy4ZdcoeirSUYp
|
||||
8wkTxOT5zIF7iZ61ohcsyS0HlK89wDivfNPq5lkCgYBJviS98tBxfGKRZwDDM/3I
|
||||
HLzoCn8ehZUUXLer5lZKOwsrEfGOE72Sz1FonUHnmPcZ1lNGcvyn4vHMemufsyLH
|
||||
He6LCi31Dq/29JCotlJoBu2KiSTHMc7GmamkVWepm0wZVnUXHHuWqGd8GXNJWNb2
|
||||
8nHAhOKi9dRqiKvAWBW7zQ==
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -4,7 +4,6 @@ declare -A CONFIG=(
|
||||
["FRAMEWORK_REPOSITORY"]="299952237278.dkr.ecr.eu-west-1.amazonaws.com"
|
||||
["FRAMEWORK_IMAGE"]="ddninja/phpframework"
|
||||
["FRAMEWORK_VERSION"]="2.5.4"
|
||||
["FRAMEWORK_TYPE"]="webserver"
|
||||
["FRAMEWORK_AUTHOR"]="ddninja"
|
||||
|
||||
["PROJECT_REPOSITORY"]="299952237278.dkr.ecr.eu-west-1.amazonaws.com"
|
||||
@@ -23,7 +22,6 @@ declare -A CONFIG=(
|
||||
FRAMEWORK_REPOSITORY=${CONFIG['FRAMEWORK_REPOSITORY']}
|
||||
FRAMEWORK_IMAGE=${CONFIG['FRAMEWORK_IMAGE']}
|
||||
FRAMEWORK_VERSION=${CONFIG['FRAMEWORK_VERSION']}
|
||||
FRAMEWORK_TYPE=${CONFIG['FRAMEWORK_TYPE']}
|
||||
FRAMEWORK_AUTHOR=${CONFIG['FRAMEWORK_AUTHOR']}
|
||||
|
||||
PROJECT_REPOSITORY=${CONFIG['PROJECT_REPOSITORY']}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
###############
|
||||
RewriteEngine On
|
||||
RewriteRule ^(.*)$ http://www.ifattidinapoli.com/fdn2/$1 [P,L]
|
||||
RewriteRule ^(.*)$ https://www.ifattidinapoli.com/fdn2/$1 [P,L]
|
||||
###############
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user