コード例 #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;
}
コード例 #2
0
 function AppendPostFile($_postKey, $_userId)
 {
     if (!empty($_FILES[$_postKey]) && true) {
         $filename = IOStruct::GetNamebase($_FILES[$_postKey]['name']);
         if (!IOStruct::IsValidUploadFile($filename)) {
             return $filename;
         }
         $fileId = getId(32);
         $fileurid = $_userId . "_" . $fileId;
         if (move_uploaded_file($_FILES[$_postKey]["tmp_name"], PATH_UPLOADS . $fileurid)) {
             KnowledgeBase::Process("SYSTEM", $fileId, $fileurid, 3, $filename, 0, 100, $_FILES[$_postKey]["size"]);
             $this->ApplyAttachment($fileId);
             return $filename;
         }
     }
 }