/** * Submits an HTTP POST to a reCAPTCHA server * @param string $host * @param string $path * @param array $data * @param int port * @return array response */ function _recaptcha_http_post($host, $path, $data, $port = 80) { $req = _recaptcha_qsencode($data); $request = new Request($host, $path, $port, true, true, 10); $request->setData($data); $request->setUserAgent('reCAPTCHA/PHP'); $request->skiplog(true); if (!($response = $request->send())) { trigger_error("Unable to reach reCAPCHA server."); } $response = explode("\r\n\r\n", $response, 2); return $response; }
foreach ($sorted_files as $file) { $filename = basename($file); $type = preg_match('/^database/', $filename) ? 'database' : 'files'; $restore = preg_match('/^database_full|files/', $filename) ? '?_g=maintenance&node=index&restore=' . $filename . '#backup' : false; $existing_backups[] = array('filename' => $filename, 'delete_link' => '?_g=maintenance&node=index&delete=' . $filename . '#backup', 'download_link' => '?_g=maintenance&node=index&download=' . $filename . '#backup', 'restore_link' => $restore, 'type' => $type, 'warning' => $type == 'database' ? $lang['maintain']['restore_db_confirm'] : $lang['maintain']['restore_files_confirm'], 'size' => formatBytes(filesize($file), true)); } } $GLOBALS['smarty']->assign('EXISTING_BACKUPS', $existing_backups); ## Upgrade ## Check current version if ($request = new Request('www.cubecart.com', '/version-check/' . '2.3.22')) { $request->skiplog(true); $request->setMethod('get'); $request->cache(true); $request->setSSL(true); $request->setUserAgent('CubeCart'); $request->setData(array('version' => CC_VERSION)); if (($response = $request->send()) !== false) { if (version_compare(trim($response), CC_VERSION, '>')) { $GLOBALS['smarty']->assign('OUT_OF_DATE', sprintf($lang['dashboard']['error_version_update'], $response, CC_VERSION)); $GLOBALS['smarty']->assign('LATEST_VERSION', $response); $GLOBALS['smarty']->assign('UPGRADE_NOW', $lang['maintain']['upgrade_now']); $GLOBALS['smarty']->assign('FORCE', '0'); } else { $GLOBALS['smarty']->assign('LATEST_VERSION', CC_VERSION); $GLOBALS['smarty']->assign('UPGRADE_NOW', $lang['maintain']['force_upgrade']); $GLOBALS['smarty']->assign('FORCE', '1'); } } } if (file_exists(CC_ROOT_DIR . '/backup/restore_error_log')) {
BootstrapSkin::displayPublicFooter(); } } else { if ($_SERVER['REQUEST_METHOD'] == "POST") { $errorEncountered = false; $request = new Request(); $request->setDatabase($database); $request->setName($_POST['name']); $request->setEmail($_POST['email']); $request->setComment($_POST['comments']); $request->setIp($_SERVER['REMOTE_ADDR']); if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $request->setForwardedIp($_SERVER['HTTP_X_FORWARDED_FOR']); } if (isset($_SERVER['HTTP_USER_AGENT'])) { $request->setUserAgent($_SERVER['HTTP_USER_AGENT']); } $validationHelper = new RequestValidationHelper(new BanHelper(), $request, $_POST['emailconfirm']); // These are arrays of ValidationError. $nameValidation = $validationHelper->validateName(); $emailValidation = $validationHelper->validateEmail(); $otherValidation = $validationHelper->validateOther(); $validationErrors = array_merge($nameValidation, $emailValidation, $otherValidation); if (count($validationErrors) > 0) { foreach ($validationErrors as $validationError) { BootstrapSkin::displayAlertBox($smarty->fetch("validation/" . $validationError->getErrorCode() . ".tpl"), "alert-error"); } $smarty->display("request/request-form.tpl"); } else { if ($enableEmailConfirm == 1) { $request->generateEmailConfirmationHash();
/** * Get a populated request object from PHP Super Globals * ($_SERVER, $_GET, $_POST, $_COOKIES, and $_FILES) * * @return Request */ public static function populateFromGlobals() { $request = new Request(); if (function_exists('apache_request_headers')) { $request->setRequestHeaders(apache_request_headers()); } $request->setRequestBody(file_get_contents('php://input')); if (isset($_SERVER)) { $request->setUserAgent($_SERVER['HTTP_USER_AGENT']); $request->setQueryString($_SERVER['QUERY_STRING']); $request->setRemoteAddr($_SERVER['REMOTE_ADDR']); $request->setRequestMethod($_SERVER['REQUEST_METHOD']); $request->setRequestUri($_SERVER['REQUEST_URI']); $request->setRequestTime($_SERVER['REQUEST_TIME']); $request->setRequestEndPoint($_SERVER['SCRIPT_NAME']); } $supersSet = array('get' => $_GET, 'post' => $_POST, 'cookie' => $_COOKIE, 'files' => $_FILES); foreach ($supersSet as $container => $supers) { if (isset($supers) && is_array($supers)) { foreach ($supers as $key => $value) { $request->setRequestVar($container, $key, $value); } } } return $request; }