コード例 #1
0
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");


コード例 #2
0
 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());
     }
 }