00001 <?
00009 class BaseOutbox extends MyManager
00010 {
00016 public function __construct($class = 'Message')
00017 {
00018 parent::__construct($class);
00019 }
00020
00024 public function initSearchPage()
00025 {
00026 $this->assertLogin();
00027
00028 parent::initSearchPage();
00029
00030 $this->pageTitle = 'Outbox';
00031 }
00032
00038 protected function getSearchFrom($params)
00039 {
00040 $from = "FROM {$this->object->outboxTable} b\n";
00041 $from .= "INNER JOIN {$this->object->tableName} o\n";
00042 $from .= "ON o.id = b.message_id\n";
00043
00044 return $from;
00045 }
00046
00052 protected function getSearchWhere($params)
00053 {
00054 global $me;
00055
00056 $where = parent::getSearchWhere($params);
00057 $where .= " AND b.user_id = '$me->id'\n";
00058
00059 return $where;
00060 }
00061
00069 public function drawRows($rs)
00070 {
00071 if (count($rs))
00072 {
00073 echo "<form id=\"deleteAll\" method=\"post\" action=\"" . $this->getUrl(array('page' => 'delete')) . "\">\n";
00074 echo "<table class=\"InOutBox\">";
00075 $this->object->drawHeaderRow('outbox');
00076 foreach ($rs AS $ob)
00077 {
00078 $on = !$on;
00079 $ob->drawRow('outbox', $on);
00080 }
00081 echo "</table>";
00082
00083 echo "<input type=\"submit\" name=\"submit\" value=\"Delete Selected\"/>\n";
00084 echo "</form>\n";
00085 }
00086 }
00087
00093 public function getPagesXml()
00094 {
00095 $xml = parent::getPagesXml();
00096
00097 $xml .= "<page name=\"delete\" description=\"delete outbox messages.\"/>\n";
00098
00099 return $xml;
00100 }
00101
00105 public function initDeletePage()
00106 {
00107 global $me;
00108
00109 $this->pageTitle = 'Delete Outbox Messages';
00110
00111 $this->assertLogin();
00112
00113 if (!count($_POST['message']))
00114 throw new PageError('You must select at least 1 message to delete.');
00115 else
00116 {
00117 foreach ($_POST['message'] AS $messageId)
00118 {
00119 dbExecute("
00120 DELETE FROM {$this->object->outboxTable}
00121 WHERE user_id = '$me->id'
00122 AND message_id = '$messageId'
00123 ");
00124 }
00125
00126 Util::redirect($this->getUrl(".main"));
00127 }
00128 }
00129
00133 public function drawDeletePage()
00134 {
00135 echo 'Messages deleted.';
00136 }
00137 }
00138 ?>