예제 #1
0
function RequestFileUpload($_user, $_chat, $_filename, $response = "")
{
    $fileid = md5(IOStruct::GetNamebase($_filename) . $_chat->UserId . $_chat->BrowserId);
    $filemask = $_chat->UserId . "_" . $fileid;
    $fileurid = EX_FILE_UPLOAD_REQUEST . "_" . $fileid;
    $request = new FileUploadRequest($fileurid, $_chat->DesiredChatPartner, $_chat->ChatId);
    $request->SenderUserId = $_chat->UserId;
    $request->FileName = htmlentities(IOStruct::GetNamebase($_filename));
    $request->FileMask = $filemask;
    $request->FileId = $fileid;
    $request->SenderBrowserId = $_chat->BrowserId;
    $request->Load();
    if (!$request->FirstCall && !$request->Closed) {
        if ($request->Permission == PERMISSION_FULL) {
            $response .= "lz_chat_file_start_upload();";
        } else {
            if ($request->Permission == PERMISSION_NONE) {
                $response .= "lz_chat_file_stop(true);";
                $response .= "lz_chat_file_error(1);";
                $request->Close();
            }
        }
    } else {
        $request->FirstCall = true;
        $request->Error = false;
        $request->Closed = false;
        $request->Permission = PERMISSION_VOID;
        if (!IOStruct::IsValidUploadFile($_filename)) {
            $response .= "lz_chat_file_error(2);";
        } else {
            $request->Save();
        }
    }
    return $response;
}
 function RequestFileUpload($_user, $_filename)
 {
     $fileid = md5(namebase($_filename) . $this->UserId . $this->BrowserId);
     $filemask = $this->UserId . "_" . $fileid;
     $fileurid = EX_FILE_UPLOAD_REQUEST . "_" . $fileid;
     $request = new FileUploadRequest($fileurid, $this->DesiredChatPartner);
     $request->SenderUserId = $this->UserId;
     $request->FileName = namebase($_filename);
     $request->FileMask = $filemask;
     $request->FileId = $fileid;
     $request->ChatId = $this->ChatId;
     $request->SenderBrowserId = $this->BrowserId;
     $request->Load();
     if (!$request->FirstCall && !$request->Closed) {
         if ($request->Permission == PERMISSION_FULL) {
             $_user->AddFunctionCall("top.lz_chat_file_start_upload('" . $_filename . "');", false);
         } else {
             if ($request->Permission == PERMISSION_NONE) {
                 $_user->AddFunctionCall("top.lz_chat_file_stop();", false);
                 $_user->AddFunctionCall("top.lz_chat_file_error(1);", false);
                 $request->Close();
             }
         }
     } else {
         $request->FirstCall = true;
         $request->Error = false;
         $request->Closed = false;
         $request->Permission = PERMISSION_VOID;
         if (!isValidUploadFile($_filename)) {
             $_user->AddFunctionCall("top.lz_chat_file_error(2);", false);
         } else {
             $request->Save();
         }
     }
     return $_user;
 }