public static function uploadScreenshotForBuild($build, $ext, $tempPath) { $blid = $build->getBLID(); $tempThumb = ScreenshotManager::createTempThumbnail($tempPath); $database = new DatabaseManager(); ScreenshotManager::verifyTable($database); if (!$database->query("INSERT INTO `screenshots` (`blid`) VALUES ('" . $database->sanitize($blid) . "')")) { throw new Exception("Database error: " . $database->error()); } $sid = $database->fetchMysqli()->insert_id; require_once realpath(dirname(__FILE__) . '/AWSFileManager.php'); AWSFileManager::uploadNewScreenshot($sid, "screenshot." . $ext, $tempPath, $tempThumb); apc_delete('userScreenshots_' . $blid); if (ScreenshotManager::buildHasPrimaryScreenshot($build->getID())) { return ScreenshotManager::addScreenshotToBuild($sid, $build->getID()); } else { return ScreenshotManager::setBuildPrimaryScreenshot($sid, $build->getID()); } }