示例#1
0
/**
 * Created by PhpStorm.
 * User: sp
 * Date: 24/11/15
 * Time: 4:37 AM
 */
function HandleFileRequest($Request)
{
    include '../common/config/ErrorCodes.php';
    include '../common/helpers/ValidateRequest.php';
    include '../common/controller/user_get.php';
    include '../common/controller/add_file.php';
    include '../common/controller/file_get.php';
    include '../common/controller/add_fav.php';
    include '../common/controller/Rename.php';
    if (validate_file_request($Request) == "True") {
        $UserDetail = GetUser($Request["payloads"]);
        if (isset($UserDetail[0]['Username'])) {
            $RequestData['Username'] = $UserDetail[0]['Username'];
            $RequestData['Time'] = time();
            switch ($Request["type"]) {
                case "PUT":
                    $RequestData['File'] = $Request['payloads']['File'];
                    $RequestData['Filename'] = $Request['payloads']['File'];
                    $RequestData['Type'] = $Request['payloads']['Type'];
                    $Res = AddFile($RequestData);
                    $Response = ReturnResponse($Res);
                    break;
                case "GET":
                    $Response = GetFile($RequestData['Username']);
                    break;
                case "FAV":
                    $RequestData['File'] = $Request['payloads']['File'];
                    $RequestData['Fav'] = $Request['payloads']['Fav'];
                    $Res = AddFav($RequestData);
                    $Response = ReturnResponse($Res);
                    break;
                case "RENAME":
                    $RequestData['File'] = $Request['payloads']['File'];
                    $RequestData['Filename'] = $Request['payloads']['Filename'];
                    $Res = RenameFile($RequestData);
                    $Response = ReturnResponse($Res);
                    break;
                default:
                    $Response = ReturnResponse(TYPE_NOT_SPECIFIED);
            }
            return $Response;
        } else {
            $Response = ReturnResponse(PAYLOAD_MISSING);
            $Response['info'] = "Could Not Get User";
            return $Response;
        }
    } else {
        $Response = ReturnResponse(PAYLOAD_MISSING);
        $Response['info'] = "Data verification failed";
        return $Request;
    }
}
function AttachFile(&$a_lines, $s_att_boundary, $a_file_spec, $s_charset, $b_remove = true)
{
    $a_lines[] = "--{$s_att_boundary}" . HEAD_CRLF;
    //
    // if a replacement name has been specified, use that, otherwise
    // use the original name
    //
    if (isset($a_file_spec["new_name"])) {
        $s_file_name = $a_file_spec["new_name"];
    } else {
        $s_file_name = $a_file_spec["name"];
    }
    $s_file_name = str_replace('"', '', $s_file_name);
    $s_mime_type = $a_file_spec["type"];
    //
    // The following says that the data is encoded in
    // base64 and is an attachment and that once decoded the
    // character set of the decoded data is $s_charset.
    // (See RFC 1521 Section 5.)
    //
    $a_lines[] = "Content-Type: {$s_mime_type}; name=\"{$s_file_name}\"; charset={$s_charset}" . HEAD_CRLF;
    $a_lines[] = "Content-Transfer-Encoding: base64" . HEAD_CRLF;
    $a_lines[] = "Content-Disposition: attachment; filename=\"{$s_file_name}\"" . HEAD_CRLF;
    $a_lines[] = HEAD_CRLF;
    // blank line
    if (isset($a_file_spec["tmp_name"]) && isset($a_file_spec["size"])) {
        $s_srce = $a_file_spec["tmp_name"];
        //
        // check if the file has been saved elsewhere
        //
        if (isset($a_file_spec["saved_as"]) && !empty($a_file_spec["saved_as"])) {
            $s_srce = $a_file_spec["saved_as"];
        }
        FMDebug("AttachFile: {$s_srce}");
        return AddFile($a_lines, $s_srce, $a_file_spec["size"], $b_remove);
    }
    if (!isset($a_file_spec["data"])) {
        SendAlert(GetMessage(MSG_ATTACH_DATA));
        return false;
    }
    return AddData($a_lines, $a_file_spec["data"]);
}
示例#3
0
/**
 * Created by PhpStorm.
 * User: sp
 * Date: 24/11/15
 * Time: 4:37 AM
 */
function HandleFileRequest($Request)
{
    include '../common/config/ErrorCodes.php';
    include '../common/helpers/ValidateRequest.php';
    include '../common/controller/user_get.php';
    include '../common/controller/add_file.php';
    include '../common/controller/file_get.php';
    include '../common/controller/add_fav.php';
    include '../common/controller/Rename.php';
    if (validate_file_request($Request) == "True") {
        $Type = $Request["type"];
        $Data = $Request["payloads"];
        $Username = GetUser($Data);
        if (isset($Username[0]['Username'])) {
            $username = $Username[0]['Username'];
            $RequestData['Username'] = $username;
            $RequestData['File'] = $Data['File'];
            $RequestData['Filename'] = $Data['File'];
            $RequestData['Type'] = $Data['Type'];
            $RequestData['Time'] = time();
            switch ($Type) {
                case "PUT":
                    $Response["STATUS CODE"] = AddFile($RequestData);
                    if ($Response["STATUS CODE"] == ERROR_DUP_NAME) {
                        $Response["SUCCESS"] = "False";
                        $Response["Message"] = "Something Went Wrong";
                    } else {
                        $Response["SUCCESS"] = "True";
                        $Response["Message"] = "File Added Successfully";
                    }
                    return $Response;
                case "GET":
                    $Response["Payloads"] = GetFile($RequestData['Username']);
                    if ($Response["Payloads"] == ERROR_DATA_NOT_FOUND) {
                        $Response["STATUS CODE"] = ERROR_DATA_NOT_FOUND;
                        $Response["SUCCESS"] = "False";
                        $Response['Payloads'] = "No Files To Display";
                    } else {
                        $Response["SUCCESS"] = "True";
                        $Response["STATUS CODE"] = 200;
                    }
                    return $Response;
                case "FAV":
                    $RequestData['Fav'] = $Data['Fav'];
                    $Response["Payloads"] = AddFav($RequestData);
                    if ($Response["Payloads"] == ERROR_DATA_NOT_FOUND) {
                        $Response["STATUS CODE"] = ERROR_DATA_NOT_FOUND;
                        $Response["SUCCESS"] = "False";
                        $Response['Payloads'] = "Authentication Error";
                    } else {
                        $Response["SUCCESS"] = "True";
                        $Response["STATUS CODE"] = 200;
                    }
                    return $Response;
                case "RENAME":
                    $Response["Payloads"] = RenameFile($RequestData);
                    if ($Response["Payloads"] == ERROR_DATA_NOT_FOUND) {
                        $Response["STATUS CODE"] = ERROR_DATA_NOT_FOUND;
                        $Response["SUCCESS"] = "False";
                        $Response['Payloads'] = "Authentication Error";
                    } else {
                        $Response["SUCCESS"] = "True";
                        $Response["STATUS CODE"] = 200;
                    }
                    return $Response;
                default:
                    return TYPE_NOT_SPECIFIED;
            }
        } else {
            $Response["SUCCESS"] = "False";
            $Response["STATUS CODE"] = PAYLOAD_MISSING;
            $Response["Payloads"] = "Payload Does Not Exists";
        }
    } else {
        $Response["SUCCESS"] = "False";
        $Response["STATUS CODE"] = PAYLOAD_MISSING;
        $Response["Payloads"] = "Invalid Json";
        return $Response;
    }
}
示例#4
0
 fclose($fp);
 if (filesize($tmpName) > 1000000) {
     $db->query("SET max_allowed_packet=" . 6 * 1024 * 1024);
 }
 // max query len = 6 Mb
 $first = true;
 $res = 0;
 $uploaded = 0;
 $fp = fopen($tmpName, 'r');
 while (!feof($fp)) {
     $content = fread($fp, FRAG_SIZE);
     $cont = addslashes($content);
     $uploaded += strlen($content);
     unset($content);
     if ($first) {
         $res = AddFile($filename, $cont, $md5, $ext);
         if ($res) {
             $file_id = FileId($filename);
             $old_file_id = ContExist($file_id);
             $_SESSION['file_id'] = $old_file_id;
         }
         $first = false;
     } else {
         $res = UpdateFile($filename, $cont);
     }
     echo "r(" . round($uploaded / $fileSize, 2) . ");";
     echo "</script>" . str_repeat("\n", 1024) . "<script>";
     flush();
     unset($cont);
 }
 fclose($fp);
示例#5
0
<html>
<head>
   <title>Make</title>
</head>
<body>
   <pre><?php 
/** Make the final vanilla2export.php file from the other sources.
 */
// Open the file.
$Path = dirname(__FILE__) . '/vanilla2export.php';
echo "Opening {$Path}\n";
$fp = fopen($Path, 'w');
fwrite($fp, "<?php /* This file was automatically generated by make.php. DO NOT EDIT. */ ?>\n\n");
AddFile($fp, 'index.php');
fclose($fp);
echo "Make Complete.\n";
?>
</pre>
</body>
</html>
<?php 
/// Functions ///
function AddFile($fp, $Filename)
{
    $Contents = GetFile($Filename);
    fwrite($fp, $Contents);
}
function GetFile($Filename, $EndPhp = FALSE)
{
    $Path = dirname(__FILE__) . '/' . $Filename;
    echo "Including file {$Path}\n";
示例#6
0
function AttachFile(&$a_lines, $s_att_boundary, $a_file_spec, $s_charset)
{
    $a_lines[] = "--{$s_att_boundary}" . HEAD_CRLF;
    $s_file_name = $a_file_spec['name'];
    $s_file_name = str_replace('"', '', $s_file_name);
    $s_mime_type = $a_file_spec['type'];
    //
    // The following says that the data is encoded in
    // base64 and is an attachment.  Once decoded the
    // character set of the decoded data is $s_charset.
    // (See RFC 1521 Section 5.)
    //
    $a_lines[] = "Content-Type: {$s_mime_type}; name=\"{$s_file_name}\"; charset={$s_charset}" . HEAD_CRLF;
    $a_lines[] = "Content-Transfer-Encoding: base64" . HEAD_CRLF;
    $a_lines[] = "Content-Disposition: attachment; filename=\"{$s_file_name}\"" . HEAD_CRLF;
    $a_lines[] = HEAD_CRLF;
    // blank line
    if (isset($a_file_spec['tmp_name']) && isset($a_file_spec['size'])) {
        return AddFile($a_lines, $a_file_spec['tmp_name'], $a_file_spec['size']);
    }
    if (!isset($a_file_spec['data'])) {
        SendAlert(GetMessage(MSG_ATTACH_DATA));
        return false;
    }
    return AddData($a_lines, $a_file_spec['data']);
}