function upload() { system::$display = false; $response = array(); if (!isset($_POST["token"]) && !$_POST["token"]) { $response["error"] = "Token error"; } $token = preg_replace("/[^0-9a-z\\_\\-+\\/\\\\|]/i", '', $_POST["token"]); if (!$token) { $response["error"] = "Token error"; } $mysql = $this->db->query("SELECT * FROM `tokens` as t, `users` as u WHERE u.`userID`=t.`userID` AND t.`token`='?' LIMIT 1", $token); if (!$mysql->getNumRows()) { $response["error"] = "Token error"; } if (isset($response["error"])) { echo json_encode($response); return; } $userData = $mysql->fetch(); if (isset($_FILES["screenshot"]) && $_FILES["screenshot"]) { $imageProcessor = new image(200, 200); $path = CONTENT_PATH . "/screenshots/" . $userData["userID"]; system::ensureDirectory($path); $time = explode(" ", microtime()); $time[0] = str_replace("0.", '', $time[0]); $response["screenshot"] = $path . "/" . implode("_", $time); $imageProcessor->handleAllUploads($response); } else { $response["error"] = "Where is no `screenshot` field in your multipart request. Nothing to do."; } $response["screenshot"]["userID"] = intval($userData["userID"]); echo json_encode($response); }
public static function socialProcessAvatar($photoURL, $userID) { $avatar = array("small" => "", "big" => ""); if (!$photoURL) { return $avatar; } $imageProcessor = new image(200, 200); $targetPath = CONTENT_PATH . "/avatars"; system::ensureDirectory($targetPath); $tmpname = tempnam($targetPath . '/', $userID); $ch = curl_init($photoURL); if (!$ch) { return $avatar; } $fp = fopen($tmpname, "wb"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); $imgFormat = $imageProcessor->extendFormat($tmpname); $avatar = $imageProcessor->processImage($tmpname, $targetPath . '/' . $userID); return $avatar; }