DBMessage::DeleteMessagesForOrigin($message_id, "test", 1); $messages = DBMessage::GetMessageLimitedByForOriginsFrom("test", 1); if ($messages == null) { echo __LINE__.": passed message delete for origin test"; } else { echo __LINE__.": failed message delete for origin test"; echo "<br />"; var_export($messages); } htmlln(); $messages = DBMessage::GetMessageLimitedByForOriginsTo("test", 2); if (sizeof($messages) == 8) { echo __LINE__.": passed message delete for origin test 2"; } else { echo __LINE__.": failed message delete for origin test 2"; echo "<br />"; var_export($messages); } htmlln(); DBMessage::ForceDeleteMessageOfOriginType("test");
public function do_action() { try { $data = false; switch($this->origin) { case 'to': $data = DBMessage::GetMessageLimitedByForOriginsTo( USERS, $this->user_id, $this->start, $this->amount); break; case 'from': $data = DBMessage::GetMessageLimitedByForOriginsFrom( USERS, $this->user_id, $this->start, $this->amount); break; default: throw new UserActionException( "invalid message origin.. must be to or from"); } if ($data == null || $data === false) { return; } $user_ids = array(); foreach($data as $message) { if (array_search($message[DBMessage::ORIGIN_ID], $user_ids) === false) { array_push($user_ids, $message[DBMessage::ORIGIN_ID]); } } $user_names = $this->user_factory->select( $user_ids, array( DBFactory::SELECT_GET_ONLY => array( USERS_USERID, USERS_USERNAME ) )); $user_includes = array(); foreach($user_names as $name) { $user_includes[$name[USERS_USERID]] = $name[USERS_USERNAME]; } $this->data = array(); foreach($data as $message) { $insert = $message; $insert[USERS_USERID] = $message[DBMessage::ORIGIN_ID]; if (isset($user_includes[$name[USERS_USERID]])) { $insert[USERS_USERNAME] = $user_includes[$name[USERS_USERID]]; } else { $insert[USERS_USERNAME] = "unknown"; } $this->data[] = $insert; } } catch(Exception $e) { throw new UserActionException($e->getMessage()); } }