private function newCookie() { $randomStringGenerator = new generateRandomString(30, true, 50, 300); $randomString = $randomStringGenerator->run(); $this->key = Hasher::generateHmacHash($randomString) . " # " . $randomString; $aSingleDay = 24 * 60 * 60; $cookieExpireTime = time() + $aSingleDay; setcookie("educaskS", $this->key, $cookieExpireTime, null, null, null, true); }
function installContent() { if (!isset($_SESSION['configureComplete'])) { header('Location: install.php?action=configure'); return; } $general = new generateRandomString(30); $token = $general->run(); $_SESSION['token'] = $token; $_SESSION['moduleStatus'] = 'Installing...'; $_SESSION['moduleProgress'] = 0; $toReturn = '<h1>Installing Educask</h1>'; $toReturn .= '<p>Please be patient while I install Educask.</p>'; $toReturn .= '<div id="progressBar"><div id="progress" style="width: 0;"></div></div>'; $toReturn .= '<p id="currentStep">Installing...</p>'; $toReturn .= '<p id="addLink"></p>'; $toReturn .= "<script type=\"text/javascript\">\n var updateInt = setInterval(function(){doUpdate()}, 1000);\n <!-- AJAXInteraction class from dev.fyicenter.com/Interview-Questions/AJAX/How_do_I_handle_concurrent_AJAX_requests_.html -->\n function AJAXInteraction(url, callback) {\n var req = init();\n req.onreadystatechange = processRequest;\n\n function init() {\n if (window.XMLHttpRequest) {\n return new XMLHttpRequest();\n } else if (window.ActiveXObject) {\n return new ActiveXObject('Microsoft.XMLHTTP');\n }\n }\n function processRequest () {\n if (req.readyState != 4) {\n return;\n }\n if (req.status != 200) {\n return;\n }\n if (callback) callback(req.responseText);\n }\n this.doGet = function() {\n req.open('GET', url, true);\n req.send(null);\n }\n }\n function doUpdate() {\n var progress = new AJAXInteraction('installModules.php?action=percent&token={$token}',\n function(data) {\n if(parseInt(data) >= 100) {\n clearInterval(updateInt);\n }\n var progress = document.getElementById('progress');\n progress.style.width = data + '%';\n });\n progress.doGet();\n var message = new AJAXInteraction('installModules.php?action=status&token={$token}',\n function(data) {\n var statusElem = document.getElementById('currentStep');\n statusElem.innerHTML = data;\n });\n message.doGet();\n }\n var install = new AJAXInteraction('install.php?action=doInstall&token={$token}',\n function() {\n var statusElem = document.getElementById('currentStep');\n statusElem.innerHTML = 'Done';\n var addLink = document.getElementById('addLink');\n addLink.innerHTML = '<a href=\"install.php?action=finish\" class=\"button\">Continue</a>.';\n }\n );\n install.doGet();\n </script>"; $_SESSION['installComplete'] = true; return $toReturn; }
private function regenerate() { $tokenGenerator = new generateRandomString(5, true); $this->knownToken = $tokenGenerator->run(); }
public function generateNewForgotPassword($userID) { if (CurrentUser::getUserSession()->isLoggedIn()) { return false; } if (!is_numeric($userID)) { return false; } $database = Database::getInstance(); if (!$database->isConnected()) { return false; } $randomString = new generateRandomString(50, true, 37, 136); $existingTokens = $database->getData('token', 'forgotPassword'); if ($existingTokens === false) { return false; } if ($existingTokens === null) { $existingTokens = array(); } do { $token = $randomString->run(); } while (in_array(array('token' => $token), $existingTokens)); $date = new DateTime(); $date = $date->format('Y-m-d H:i:s'); $token = $database->escapeString($token); $date = $database->escapeString($date); $userID = $database->escapeString($userID); $result = $database->insertData('forgotPassword', 'token, requestDate, userID', "'{$token}', '{$date}', {$userID}"); if ($result === false) { return false; } return $this->getForgotPasswordByToken($token); }