Ejemplo n.º 1
0
function HaveExternalIP()
{
    $_haveExternalIPCacheFile = "cache/haveExternalIP.txt";
    $_cacheTimeSeconds = 1 * 60 * 60;
    // cache for 1 hour
    $_haveExternalIPObj = unserialize(file_get_contents($_haveExternalIPCacheFile));
    if (!(isset($_haveExternalIPObj) && is_array($_haveExternalIPObj) && isset($_haveExternalIPObj['haveExternalIP']) && isset($_haveExternalIPObj['updDate']) && is_bool($_haveExternalIPObj['haveExternalIP']) && is_int($_haveExternalIPObj['updDate']) && $_haveExternalIPObj['updDate'] + $_cacheTimeSeconds >= time())) {
        $convertUri = "";
        try {
            $demoName = "demo.docx";
            $fileUri = getVirtualPath() . $demoName;
            if (!file_exists($fileUri)) {
                if (!@copy(dirname(__FILE__) . DIRECTORY_SEPARATOR . "app_data" . DIRECTORY_SEPARATOR . $demoName, getStoragePath($demoName))) {
                    $errors = error_get_last();
                    $err = "Copy demo file error: " . $errors['type'] . "\r\n" . $errors['message'];
                    sendlog("HaveExternalIP errors: " . $err, "logs/common.log");
                    throw new Exception($err);
                } else {
                    GetConvertedUri($fileUri, "docx", "docx", guid(), FALSE, $convertUri);
                }
            }
        } catch (Exception $e) {
            $convertUri = "";
        }
        $_haveExternalIPObj = array('haveExternalIP' => $convertUri != "", 'updDate' => time());
        file_put_contents($_haveExternalIPCacheFile, serialize($_haveExternalIPObj));
    }
    return $_haveExternalIPObj['haveExternalIP'];
}
Ejemplo n.º 2
0
function save()
{
    $contentType = "text/plain";
    $downloadUri = $_GET["fileuri"];
    $fileName = $_GET["filename"];
    if (empty($downloadUri) || empty($fileName)) {
        $result["error"] = 'Error request';
        return $result;
    }
    $newType = trim(pathinfo($downloadUri, PATHINFO_EXTENSION), '.');
    $currentType = trim(!empty($_GET["filetype"]) ? $_GET["filetype"] : pathinfo($downloadUri, PATHINFO_EXTENSION), '.');
    if (strtolower($newType) != strtolower($currentType)) {
        $key = GenerateRevisionId($downloadUri);
        $newFileUri;
        try {
            $percent = GetConvertedUri($downloadUri, $newType, $currentType, $key, FALSE, $newFileUri);
            if ($percent != 100) {
                $result["error"] = "error: Can't convert file";
                return $result;
            }
        } catch (Exception $e) {
            $result["error"] = "error: " . $e->getMessage();
            return $result;
        }
        $downloadUri = $newFileUri;
        $newType = $currentType;
    }
    $path_parts = pathinfo($fileName);
    $ext = $path_parts['extension'];
    $name = $path_parts['basename'];
    $baseNameWithoutExt = substr($name, 0, strlen($name) - strlen($ext) - 1);
    $fileName = $baseNameWithoutExt . "." . $newType;
    if (($data = file_get_contents(str_replace(" ", "%20", $downloadUri))) === FALSE) {
        $result["error"] = 'Bad Request';
        return $result;
    } else {
        file_put_contents(getStoragePath($fileName), $data, LOCK_EX);
    }
    $result["success"] = 'success';
    return $result;
}