- <?php
- /**
- * <b>Database Class : Mailing List</b><br />
- * Provides all database access/modification methods for the mailinglist section
- * @author Kristen O'Brien <kristen_paristemi-com>
- * @copyright Copyright 2004, Kristen O'Brien
- * @license http://opensource.org/licenses/gpl-license.php GNU Public License
- * @link http://www.paristemi.com Paristemi Main Site
- * @package paristemi
- * @subpackage paristemi_database_layer
- * @since Build 0.5
- * @version Build 0.7
- * @filesource
- */
- /**
- * <b>Database Class : Mailing List</b><br />
- * Provides all database access/modification methods for the mailinglist section
- * @author Kristen O'Brien <kristen_paristemi-com>
- * @copyright Copyright 2004, Kristen O'Brien
- * @license http://opensource.org/licenses/gpl-license.php GNU Public License
- * @link http://www.paristemi.com Paristemi Main Site
- * @package paristemi
- * @subpackage paristemi_database_layer
- * @since Build 0.5
- * @version Build 0.7
- * @filesource
- */
- class DB_MailingList {
-
- function DB_MailingList() { }
-
- function &GetMailingListData(&$id) {
- $result = mysql_query("select ML.ID, ML.Name, ML.Description,
- ML.Emails, ML.AdminUser, ML.AdminPass,
- ML.AdminEmail, ML.Public
- from MailingList ML
- where ML.ID = $id
- limit 1");
- $row = mysql_fetch_array($result, MYSQL_ASSOC);
- $data = new MailingListData($row['ID'], $row['Name'], $row['Description'],
- $row['Emails'], $row['AdminUser'], $row['AdminPass'],
- $row['AdminEmail'], $row['Public']);
-
- return $data;
- }
-
- function &GetMailingListDataByName($name) {
- $result = mysql_query("select ML.ID, ML.Name, ML.Description,
- ML.Emails, ML.AdminUser, ML.AdminPass,
- ML.AdminEmail, ML.Public
- from MailingList ML
- where ML.Name LIKE '%$name%'
- limit 1");
- $row = mysql_fetch_array($result, MYSQL_ASSOC);
- $data = new MailingListData($row['ID'], $row['Name'], $row['Description'],
- $row['Emails'], $row['AdminUser'], $row['AdminPass'],
- $row['AdminEmail'], $row['Public']);
-
- return $data;
- }
-
- function &LoginGetMailingList(&$auser,&$apass,&$aemail) {
- $data = null;
- $result = mysql_query("select ML.ID
- from MailingList ML
- where ML.AdminUser = '$auser'
- AND ML.AdminPass = '$apass'
- AND ML.AdminEmail = '$aemail'
- limit 1");
-
- $row = mysql_fetch_array($result, MYSQL_ASSOC);
- if(isset($row['ID'])) { $data = $row['ID']; }
-
- return $data;
- }
-
- function &GetMailingLists() {
- $data = Array();
- $result = mysql_query("select ML.ID, ML.Name, ML.Description,
- ML.Emails, ML.AdminUser, ML.AdminPass,
- ML.AdminEmail, ML.Public
- from MailingList ML
- order by ML.Name");
-
- while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
- $data[] = new MailingListData($row['ID'], $row['Name'], $row['Description'],
- $row['Emails'], $row['AdminUser'], $row['AdminPass'],
- $row['AdminEmail'], $row['Public']);
- }
-
- return $data;
- }
-
- function &GetPublicMailingLists() {
- $data = Array();
- $result = mysql_query("select ML.ID, ML.Name, ML.Description,
- ML.Emails, ML.AdminUser, ML.AdminPass,
- ML.AdminEmail, ML.Public
- from MailingList ML
- where (ML.Public > 0)
- order by ML.Name");
-
- while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
- $data[] = new MailingListData($row['ID'], $row['Name'], $row['Description'],
- $row['Emails'], $row['AdminUser'], $row['AdminPass'],
- $row['AdminEmail'], $row['Public']);
- }
-
- return $data;
- }
-
- function &AddEmailInMailingList(&$email, &$mlid)
- {
- $data = $this->GetMailingListData($mlid);
- $newemails = $data->Emails.",".$email;
- $result = mysql_query("update MailingList
- set Emails = '$newemails'
- where ID = $mlid");
- return ($result);
- }
-
- function &RemoveEmailInMailingList(&$email, &$mlid)
- {
- $data = $this->GetMailingListData($mlid);
- $newemails = str_replace($email,"!",$data->Emails);
- $newemails = str_replace(",!","",$newemails);
- $newemails = str_replace("!,","",$newemails);
-
- $result = mysql_query("update MailingList
- set Emails = '$newemails'
- where ID = $mlid");
- return ($result);
- }
-
- }
-
-
- /**
- * <b>Database Container Class : Mailing List</b><br />
- * Contains all of the specific data for a mailing list.
- * @author Kristen O'Brien <kristen_paristemi-com>
- * @copyright Copyright 2004, Kristen O'Brien
- * @license http://opensource.org/licenses/gpl-license.php GNU Public License
- * @link http://www.paristemi.com Paristemi Main Site
- * @package paristemi
- * @subpackage paristemi_database_layer
- * @since Build 0.5
- * @version Build 0.7
- * @filesource
- */
- class MailingListData {
- var $ID;
- var $Name;
- var $Description;
- var $Emails;
- var $AdminUser;
- var $AdminPass;
- var $AdminEmail;
- var $Public;
-
- function MailingListData($id,$name,$desc,$emails,$auser,$apass,$aemail,$public) {
- $this->ID = $id;
- $this->Name = $name;
- $this->Description = $desc;
- $this->Emails = $emails;
- $this->AdminUser = $auser;
- $this->AdminPass = $apass;
- $this->AdminEmail = $aemail;
- $this->Public = $public;
- }
- }
- ?>