From faa3794b9ba8c849566664286aa989dc61e09c32 Mon Sep 17 00:00:00 2001 From: Riccardo Di Dato Date: Tue, 26 Jan 2016 19:50:55 +0100 Subject: [PATCH] Aggiunta multimessage exception Cambiata gui exception per estendere MultiMessageException Implementata logging degli accessi all'applicazione Modificato loginmanager per loggare gli accessi Creata classe d'appoggio per generare il testo delle email Creato stile di base per le form dell'amministrazione Bugfix e migliorie grafiche --- private/common/config.php | 1 + private/lib/FDN_MailHelper.php | 27 ++++ private/lib/MultimessageException.php | 29 +++++ private/lib/dao/lib.inclusion.php | 2 + private/lib/dao/models/AccessModel.php | 32 +++++ private/lib/gui/DatatablesHelper.php | 2 +- private/lib/gui/GUIException.php | 8 +- private/lib/gui/loginManager/LoginManager.php | 12 +- private/lib/lib.inclusions.php | 57 +-------- private/lib/mail/FDN_Mailer.php | 1 + public/admin/confirmAdmin.php | 121 ++++++++++++++++++ public/admin/confirmNewsletter.php | 10 +- public/admin/editAmministratori.php | 39 +++++- public/admin/editConfig.php | 15 ++- public/admin/editGiornalisti.php | 99 +++++++++----- public/admin/editMail.php | 28 +++- public/admin/editNewsletter.php | 27 +++- public/admin/listAccess.php | 37 ++++++ public/admin/listMail.php | 15 ++- public/admin/myNotizie.php | 2 +- public/admin/sentNewsletters.php | 5 +- .../tablesBackends/accessListTableBackend.php | 26 ++++ .../admin/tablesBackends/mailTableBackend.php | 9 +- .../pendingNewslettersTableBackend.php | 8 +- .../sentNewslettersTableBackend.php | 8 +- .../tablesBackends/utentiTableBackend.php | 4 +- public/style/admin.css | 15 +++ 27 files changed, 506 insertions(+), 133 deletions(-) create mode 100644 private/lib/FDN_MailHelper.php create mode 100644 private/lib/MultimessageException.php create mode 100644 private/lib/dao/models/AccessModel.php create mode 100644 public/admin/confirmAdmin.php create mode 100644 public/admin/listAccess.php create mode 100644 public/admin/tablesBackends/accessListTableBackend.php diff --git a/private/common/config.php b/private/common/config.php index dcb534d..815d55b 100644 --- a/private/common/config.php +++ b/private/common/config.php @@ -77,6 +77,7 @@ $config->emails->newsletter = "newsletter@ifattidinapoli.it"; $config->emails->techSupport = "tecnicalSupport@ifattidinapoli.it"; $config->emails->info = "info@ifattidinapoli.it"; $config->emails->system = "system@ifattidinapoli.it"; +$config->emails->postmaster = "postmaster@ifattidinapoli.it"; // $config->pages->index = $currentSystem->remoteLocation . "/index.php"; diff --git a/private/lib/FDN_MailHelper.php b/private/lib/FDN_MailHelper.php new file mode 100644 index 0000000..1f21e5c --- /dev/null +++ b/private/lib/FDN_MailHelper.php @@ -0,0 +1,27 @@ +from = $config->emails->postmaster; + $tmp->recipient = $admin->email; + $tmp->subject = "Attivazione account I Fatti di Napoli"; + + $confirmLink = GUIHandler::getBaseUrl()."admin/confirmAdmin.php?regcode=".$admin->id."&email=".$admin->email; + + $tmp->body = "Per attivare il tuo account clicka sul link riportato in seguito o copialo e incollalo nel tuo browser.

"; + $tmp->body.=''.$confirmLink.''; + + return new MailModel($tmp); + } + +} + +?> \ No newline at end of file diff --git a/private/lib/MultimessageException.php b/private/lib/MultimessageException.php new file mode 100644 index 0000000..6961f06 --- /dev/null +++ b/private/lib/MultimessageException.php @@ -0,0 +1,29 @@ +messageList = $arr; + $this->message = $this->getMessageMerged("\n"); + } + + public function addMessage($msg){ + $this->messageList[]=$msg; + $this->message = $this->getMessageMerged("\n"); + } + + public function getMessageList(){ + return $this->messageList; + } + + public function getMessageMerged($glue){ + return implode($glue,$this->getMessageList()); + } +} + +?> \ No newline at end of file diff --git a/private/lib/dao/lib.inclusion.php b/private/lib/dao/lib.inclusion.php index ea3f0d5..c229a18 100644 --- a/private/lib/dao/lib.inclusion.php +++ b/private/lib/dao/lib.inclusion.php @@ -27,6 +27,8 @@ require_once(dirname(__FILE__)."/models/UserModel.php"); require_once(dirname(__FILE__)."/models/MailModel.php"); require_once(dirname(__FILE__)."/models/MailTemplateModel.php"); +require_once(dirname(__FILE__)."/models/AccessModel.php"); + $dao = new GenericDao($database->dbName,$database->connectionString); GlobalVariables::set("dao", $dao); ?> \ No newline at end of file diff --git a/private/lib/dao/models/AccessModel.php b/private/lib/dao/models/AccessModel.php new file mode 100644 index 0000000..b240a5e --- /dev/null +++ b/private/lib/dao/models/AccessModel.php @@ -0,0 +1,32 @@ +hasProperty("date")){ + $this->date = new MongoDate(); + } + + foreach ($requiredProps as $prop){ + if (!$this->hasProperty($prop)){ + throw new CoreException("Missing parameter '$prop' while calling AdminAccessModel::__construct()"); + } + } + } + + public static function getCollectionName(){ + return "accessLog"; + } + +} + +?> \ No newline at end of file diff --git a/private/lib/gui/DatatablesHelper.php b/private/lib/gui/DatatablesHelper.php index d17ca05..544a7a4 100644 --- a/private/lib/gui/DatatablesHelper.php +++ b/private/lib/gui/DatatablesHelper.php @@ -117,7 +117,7 @@ class DatatablesHelper { \ No newline at end of file diff --git a/public/admin/confirmNewsletter.php b/public/admin/confirmNewsletter.php index 75e5354..40ef34f 100644 --- a/public/admin/confirmNewsletter.php +++ b/public/admin/confirmNewsletter.php @@ -56,9 +56,13 @@ try { echo '
'.$error.'
'; } ?> - Conferma - Annulla -
subject; ?>
+
+ Conferma + Annulla +
+
Oggettosubject; ?>
+
Giornodate->sec); ?>
+
Oradate->sec); ?>

body; ?>
diff --git a/public/admin/editAmministratori.php b/public/admin/editAmministratori.php index 7c6ce0f..1a255c0 100644 --- a/public/admin/editAmministratori.php +++ b/public/admin/editAmministratori.php @@ -24,6 +24,7 @@ $giornalista = new AdminModel(); $giornalista->nome = ""; $giornalista->cognome = ""; $giornalista->email = ""; +$giornalista->username = ""; $giornalista->active = false; $giornalista->activationSent = false; @@ -43,6 +44,11 @@ if (!is_null($action) && strcmp("", $action)!=0){ $giornalista->nome = PostHandler::get("nome"); $giornalista->cognome = PostHandler::get("cognome"); $giornalista->email = PostHandler::get("email"); + + $giornalista->username = PostHandler::get("username"); + + $giornalista->active = !is_null(PostHandler::get("active")) && strcmp(PostHandler::get("active"), "active")==0; + foreach (AdminModel::$ADMIN_TYPES as $maskVal=>$data){ if ($data["typeFlags"]!=AdminModel::TYPE_FLAG_HIDDEN){ $cur = PostHandler::get($maskVal); @@ -64,20 +70,39 @@ if (!is_null($action) && strcmp("", $action)!=0){
- Nome - Cognome - Email -
+
+ Nome + +
+
+ Cognome + +
+
+ Email + +
+
+ Username + +
+
+ Attivo + active?'checked="checked"':""; ?>/> +
+
 Ruoli
$data){ if ($data["typeFlags"]!=AdminModel::TYPE_FLAG_HIDDEN){ - echo 'hasRole($maskVal)?'checked="checked"':"").' />'.$data["label"]."
"; + echo '
'.$data["label"].'hasRole($maskVal)?'checked="checked"':"").' />
'; } } ?>
- Salva - Annulla +
+ Salva + Annulla +