From 80ee498951b51e697aadc7080ce84cc978fd1a1b Mon Sep 17 00:00:00 2001 From: Quitta Date: Fri, 16 Aug 2013 03:40:59 +0200 Subject: [PATCH] add email related stuff to support groups --HG-- branch : quitta-gsoc-2013 --- .../ams_lib/autoload/support_group.php | 53 ++++++++++++++++-- .../tools/server/ryzom_ams/www/config.php | 16 ++++-- .../ryzom_ams/www/html/func/add_sgroup.php | 7 ++- .../ryzom_ams/www/html/inc/sgroup_list.php | 2 +- .../server/ryzom_ams/www/html/sql/install.php | 4 ++ .../ryzom_ams/www/html/sql/ticketsql.sql | 4 ++ .../www/html/sql/ticketsystemmodel.mwb | Bin 16833 -> 17249 bytes .../www/html/templates/sgroup_list.tpl | 38 +++++++++++++ 8 files changed, 113 insertions(+), 11 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/support_group.php b/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/support_group.php index 4ee3e79fe..e1cc3347f 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/support_group.php +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/support_group.php @@ -5,6 +5,10 @@ class Support_Group{ private $sGroupId; private $name; private $tag; + private $groupEmail; + private $iMAP_MailServer; + private $iMAP_Username; + private $iMAP_Password; ////////////////////////////////////////////Functions//////////////////////////////////////////////////// @@ -35,15 +39,21 @@ class Support_Group{ } //wrapper for creating a support group - public static function createSupportGroup( $name, $tag) { + public static function createSupportGroup( $name, $tag, $groupemail, $imap_mailserver, $imap_username, $imap_password) { if(strlen($name) < 21 && strlen($name) > 4 &&strlen($tag) < 8 && strlen($tag) > 1 ){ $notExists = self::supportGroup_EntryNotExists($name, $tag); if ( $notExists == "SUCCESS" ){ $sGroup = new self(); - $sGroup->setName($name); - $sGroup->setTag($tag); + $values = array('Name' => $name, 'Tag' => $tag, 'GroupEmail' => $groupemail, 'IMAP_MailServer' => $imap_mailserver, 'IMAP_Username' => $imap_username, 'IMAP_Password' => $imap_password); + $sGroup->setName($values['Name']); + $sGroup->setTag($values['Tag']); + $sGroup->setGroupEmail($values['GroupEmail']); + $sGroup->setIMAP_MailServer($values['IMAP_MailServer']); + $sGroup->setIMAP_Username($values['IMAP_Username']); + $sGroup->setIMAP_Password($values['IMAP_Password']); $sGroup->create(); + return "SUCCESS"; }else{ //return NAME_TAKEN or TAG_TAKEN @@ -199,12 +209,16 @@ class Support_Group{ $this->setSGroupId($values['SGroupId']); $this->setName($values['Name']); $this->setTag($values['Tag']); + $this->setGroupEmail($values['GroupEmail']); + $this->setIMAP_MailServer($values['IMAP_MailServer']); + $this->setIMAP_Username($values['IMAP_Username']); + $this->setIMAP_Password($values['IMAP_Password']); } public function create() { $dbl = new DBLayer("lib"); - $query = "INSERT INTO support_group (Name, Tag) VALUES (:name, :tag)"; - $values = Array('name' => $this->name, 'tag' => $this->tag); + $query = "INSERT INTO support_group (Name, Tag, GroupEmail, IMAP_MailServer, IMAP_Username, IMAP_Password) VALUES (:name, :tag, :groupemail, :imap_mailserver, :imap_username, :imap_password)"; + $values = Array('name' => $this->getName(), 'tag' => $this->getTag(), 'groupemail' => $this->getGroupEmail(), 'imap_mailserver' => $this->getIMAP_MailServer(), 'imap_username' => $this->getIMAP_Username(), 'imap_password' => $this->getIMAP_Password()); $dbl->execute($query, $values); } @@ -247,6 +261,21 @@ class Support_Group{ return $this->tag; } + public function getGroupEmail(){ + return $this->groupEmail; + } + + public function getIMAP_MailServer(){ + return $this->iMAP_MailServer; + } + + public function getIMAP_Username(){ + return $this->iMAP_Username; + } + + public function getIMAP_Password(){ + return $this->iMap_Password; + } ////////////////////////////////////////////Setters//////////////////////////////////////////////////// public function setSGroupId($id){ @@ -261,5 +290,19 @@ class Support_Group{ $this->tag = $t; } + public function setGroupEmail($ge){ + $this->groupEmail = $ge; + } + public function setIMAP_MailServer($ms){ + $this->iMAP_MailServer = $ms; + } + + public function setIMAP_Username($u){ + $this->iMAP_Username = $u; + } + + public function setIMAP_Password($p){ + $this->iMap_Password = $p; + } } \ No newline at end of file diff --git a/code/ryzom/tools/server/ryzom_ams/www/config.php b/code/ryzom/tools/server/ryzom_ams/www/config.php index 82c010e58..4112b9f32 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/config.php +++ b/code/ryzom/tools/server/ryzom_ams/www/config.php @@ -57,13 +57,21 @@ $CREATE_RING = true ; $AMS_LIB = dirname( dirname( __FILE__ ) ) . '/ams_lib'; $AMS_TRANS = $AMS_LIB . '/translations'; $AMS_CACHEDIR = $AMS_LIB . '/cache'; - -$DEFAULT_LANGUAGE = 'en'; - $SITEBASE = dirname( __FILE__ ) . '/html/' ; +//defines the default language +$DEFAULT_LANGUAGE = 'en'; + +//defines if logging actions should happen or not. $TICKET_LOGGING = true; -$TICKET_MAILING_SUPPORT = true; + +//defines the time format display $TIME_FORMAT = "m-d-Y H:i:s"; + +//defines which ingame layout template should be used $INGAME_LAYOUT = "basic"; + +//Defines mailing related stuff +$SUPPORT_GROUP_IMAP_CRYPTKEY = "azerty"; +$TICKET_MAILING_SUPPORT = true; $MAIL_DIR = "/tmp"; diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/func/add_sgroup.php b/code/ryzom/tools/server/ryzom_ams/www/html/func/add_sgroup.php index 9fc59d917..4a5ff8452 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/func/add_sgroup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/func/add_sgroup.php @@ -8,8 +8,13 @@ function add_sgroup(){ $name = filter_var($_POST['Name'],FILTER_SANITIZE_STRING); $inner_tag = filter_var($_POST['Tag'], FILTER_SANITIZE_STRING); $tag = "[" . $inner_tag . "]"; + $inner_tag = filter_var($_POST['Tag'], FILTER_SANITIZE_STRING); + $groupemail = filter_var($_POST['GroupEmail'], FILTER_SANITIZE_STRING); + $imap_mailserver = filter_var($_POST['IMAP_MailServer'], FILTER_SANITIZE_STRING); + $imap_username = filter_var($_POST['IMAP_Username'], FILTER_SANITIZE_STRING); + $imap_password = filter_var($_POST['IMAP_Password'], FILTER_SANITIZE_STRING); - $result['RESULT_OF_ADDING'] = Support_Group::createSupportGroup($name, $tag); + $result['RESULT_OF_ADDING'] = Support_Group::createSupportGroup($name, $tag, $groupemail, $imap_mailserver, $imap_username, $imap_password); $result['permission'] = $_SESSION['ticket_user']->getPermission(); $result['no_visible_elements'] = 'FALSE'; $result['username'] = $_SESSION['user']; diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/inc/sgroup_list.php b/code/ryzom/tools/server/ryzom_ams/www/html/inc/sgroup_list.php index 3d380c2d2..f9c2ac150 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/inc/sgroup_list.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/inc/sgroup_list.php @@ -14,7 +14,7 @@ function sgroup_list(){ if(Ticket_User::isAdmin($_SESSION['ticket_user'])){ $result['isAdmin'] = "TRUE"; } - $result['grouplist'] = Gui_Elements::make_table(Support_Group::getGroups(), Array("getSGroupId","getName","getTag"), Array("sGroupId","name","tag")); + $result['grouplist'] = Gui_Elements::make_table(Support_Group::getGroups(), Array("getSGroupId","getName","getTag","getGroupEmail"), Array("sGroupId","name","tag","groupemail")); return $result; }else{ //ERROR: No access! diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/sql/install.php b/code/ryzom/tools/server/ryzom_ams/www/html/sql/install.php index cf8a514e4..6a49cf8bd 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/sql/install.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/sql/install.php @@ -286,6 +286,10 @@ `SGroupId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT , `Name` VARCHAR(22) NOT NULL , `Tag` VARCHAR(7) NOT NULL , + `GroupEmail` VARCHAR(45) NULL , + `IMAP_MailServer` VARCHAR(60) NULL , + `IMAP_Username` VARCHAR(45) NULL , + `IMAP_Password` VARCHAR(45) NULL , PRIMARY KEY (`SGroupId`) , UNIQUE INDEX `Name_UNIQUE` (`Name` ASC) , UNIQUE INDEX `Tag_UNIQUE` (`Tag` ASC) ) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsql.sql b/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsql.sql index e7864e628..905f8f693 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsql.sql +++ b/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsql.sql @@ -241,6 +241,10 @@ CREATE TABLE IF NOT EXISTS `mydb`.`support_group` ( `SGroupId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT , `Name` VARCHAR(22) NOT NULL , `Tag` VARCHAR(7) NOT NULL , + `GroupEmail` VARCHAR(45) NULL , + `IMAP_MailServer` VARCHAR(60) NULL , + `IMAP_Username` VARCHAR(45) NULL , + `IMAP_Password` VARCHAR(45) NULL , PRIMARY KEY (`SGroupId`) , UNIQUE INDEX `Name_UNIQUE` (`Name` ASC) , UNIQUE INDEX `Tag_UNIQUE` (`Tag` ASC) ) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsystemmodel.mwb b/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsystemmodel.mwb index baf11d3359d5b56ab84791b5294de39ccc4c5434..cc8aec0c235f77bdc1681d83396bac44250bb3fb 100644 GIT binary patch delta 16999 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 diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/templates/sgroup_list.tpl b/code/ryzom/tools/server/ryzom_ams/www/html/templates/sgroup_list.tpl index 57ab6e01f..a139aec34 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/templates/sgroup_list.tpl +++ b/code/ryzom/tools/server/ryzom_ams/www/html/templates/sgroup_list.tpl @@ -19,6 +19,7 @@ ID Name Tag + Email {if isset($isAdmin) && $isAdmin eq 'TRUE'}Action{/if} @@ -28,6 +29,7 @@ {$group.sGroupId} {$group.name} {$group.tag} + {$group.groupemail} {if isset($isAdmin) && $isAdmin eq 'TRUE'} Delete{/if} {/foreach} @@ -71,6 +73,42 @@ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+
+