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']; }
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; }