paristemi
[ class tree: paristemi ] [ index: paristemi ] [ all elements ]

Source for file db_mailinglist.php

Documentation is available at db_mailinglist.php

  1. <?php
  2. /**
  3. * <b>Database Class : Mailing List</b><br />
  4. * Provides all database access/modification methods for the mailinglist section
  5. * @author Kristen O'Brien <kristen_paristemi-com>
  6. * @copyright Copyright 2004, Kristen O'Brien
  7. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8. * @link http://www.paristemi.com Paristemi Main Site
  9. * @package paristemi
  10. * @subpackage paristemi_database_layer
  11. * @since Build 0.5
  12. * @version Build 0.7
  13. * @filesource
  14. */
  15. /**
  16. * <b>Database Class : Mailing List</b><br />
  17. * Provides all database access/modification methods for the mailinglist section
  18. * @author Kristen O'Brien <kristen_paristemi-com>
  19. * @copyright Copyright 2004, Kristen O'Brien
  20. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  21. * @link http://www.paristemi.com Paristemi Main Site
  22. * @package paristemi
  23. * @subpackage paristemi_database_layer
  24. * @since Build 0.5
  25. * @version Build 0.7
  26. * @filesource
  27. */
  28. class DB_MailingList {
  29. function DB_MailingList() { }
  30. function &GetMailingListData(&$id) {
  31. $result = mysql_query("select ML.ID, ML.Name, ML.Description,
  32. ML.Emails, ML.AdminUser, ML.AdminPass,
  33. ML.AdminEmail, ML.Public
  34. from MailingList ML
  35. where ML.ID = $id
  36. limit 1");
  37. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  38. $data = new MailingListData($row['ID'], $row['Name'], $row['Description'],
  39. $row['Emails'], $row['AdminUser'], $row['AdminPass'],
  40. $row['AdminEmail'], $row['Public']);
  41.  
  42. return $data;
  43. }
  44. function &GetMailingListDataByName($name) {
  45. $result = mysql_query("select ML.ID, ML.Name, ML.Description,
  46. ML.Emails, ML.AdminUser, ML.AdminPass,
  47. ML.AdminEmail, ML.Public
  48. from MailingList ML
  49. where ML.Name LIKE '%$name%'
  50. limit 1");
  51. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  52. $data = new MailingListData($row['ID'], $row['Name'], $row['Description'],
  53. $row['Emails'], $row['AdminUser'], $row['AdminPass'],
  54. $row['AdminEmail'], $row['Public']);
  55.  
  56. return $data;
  57. }
  58. function &LoginGetMailingList(&$auser,&$apass,&$aemail) {
  59. $data = null;
  60. $result = mysql_query("select ML.ID
  61. from MailingList ML
  62. where ML.AdminUser = '$auser'
  63. AND ML.AdminPass = '$apass'
  64. AND ML.AdminEmail = '$aemail'
  65. limit 1");
  66.  
  67. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  68. if(isset($row['ID'])) { $data = $row['ID']; }
  69.  
  70. return $data;
  71. }
  72. function &GetMailingLists() {
  73. $data = Array();
  74. $result = mysql_query("select ML.ID, ML.Name, ML.Description,
  75. ML.Emails, ML.AdminUser, ML.AdminPass,
  76. ML.AdminEmail, ML.Public
  77. from MailingList ML
  78. order by ML.Name");
  79.  
  80. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  81. $data[] = new MailingListData($row['ID'], $row['Name'], $row['Description'],
  82. $row['Emails'], $row['AdminUser'], $row['AdminPass'],
  83. $row['AdminEmail'], $row['Public']);
  84. }
  85.  
  86. return $data;
  87. }
  88. function &GetPublicMailingLists() {
  89. $data = Array();
  90. $result = mysql_query("select ML.ID, ML.Name, ML.Description,
  91. ML.Emails, ML.AdminUser, ML.AdminPass,
  92. ML.AdminEmail, ML.Public
  93. from MailingList ML
  94. where (ML.Public > 0)
  95. order by ML.Name");
  96.  
  97. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  98. $data[] = new MailingListData($row['ID'], $row['Name'], $row['Description'],
  99. $row['Emails'], $row['AdminUser'], $row['AdminPass'],
  100. $row['AdminEmail'], $row['Public']);
  101. }
  102.  
  103. return $data;
  104. }
  105. function &AddEmailInMailingList(&$email, &$mlid)
  106. {
  107. $data = $this->GetMailingListData($mlid);
  108. $newemails = $data->Emails.",".$email;
  109. $result = mysql_query("update MailingList
  110. set Emails = '$newemails'
  111. where ID = $mlid");
  112. return ($result);
  113. }
  114. function &RemoveEmailInMailingList(&$email, &$mlid)
  115. {
  116. $data = $this->GetMailingListData($mlid);
  117. $newemails = str_replace($email,"!",$data->Emails);
  118. $newemails = str_replace(",!","",$newemails);
  119. $newemails = str_replace("!,","",$newemails);
  120. $result = mysql_query("update MailingList
  121. set Emails = '$newemails'
  122. where ID = $mlid");
  123. return ($result);
  124. }
  125.  
  126. }
  127.  
  128.  
  129. /**
  130. * <b>Database Container Class : Mailing List</b><br />
  131. * Contains all of the specific data for a mailing list.
  132. * @author Kristen O'Brien <kristen_paristemi-com>
  133. * @copyright Copyright 2004, Kristen O'Brien
  134. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  135. * @link http://www.paristemi.com Paristemi Main Site
  136. * @package paristemi
  137. * @subpackage paristemi_database_layer
  138. * @since Build 0.5
  139. * @version Build 0.7
  140. * @filesource
  141. */
  142. class MailingListData {
  143. var $ID;
  144. var $Name;
  145. var $Description;
  146. var $Emails;
  147. var $AdminUser;
  148. var $AdminPass;
  149. var $AdminEmail;
  150. var $Public;
  151.  
  152. function MailingListData($id,$name,$desc,$emails,$auser,$apass,$aemail,$public) {
  153. $this->ID = $id;
  154. $this->Name = $name;
  155. $this->Description = $desc;
  156. $this->Emails = $emails;
  157. $this->AdminUser = $auser;
  158. $this->AdminPass = $apass;
  159. $this->AdminEmail = $aemail;
  160. $this->Public = $public;
  161. }
  162. }
  163. ?>

Documentation generated on Mon, 10 May 2004 12:08:49 -0700 by phpDocumentor 1.3.0RC3