static function authentificationPourRtorrent($keyconnexion) { if (!is_null($keyconnexion)) { $u = \core\Memcached::value($keyconnexion, "user"); if (is_null($u)) { $u = \model\mysql\Utilisateur::authentifierUtilisateurParKeyConnexion($keyconnexion); if ($u) { \core\Memcached::value($u->keyconnexion, "user", $u, 60 * 2); } } else { $u = $u->keyconnexion === $keyconnexion ? $u : false; if (is_bool($u)) { $u = \model\mysql\Utilisateur::authentifierUtilisateurParKeyConnexion($keyconnexion); if ($u) { \core\Memcached::value($u->keyconnexion, "user", $u, 60 * 2); } } else { \core\Memcached::value($u->keyconnexion, "user", $u, 60 * 2); } } \config\Conf::$user["user"] = $u; if ($u && !is_null($u)) { setcookie("keyconnexion", $u->keyconnexion, strtotime('+1 days'), "/"); $userscgi = \model\mysql\Rtorrent::getUserscgiDeUtilisateur($u->login); if (!$userscgi) { throw new \Exception("Aucun ports scgi sur " . HOST); } \config\Conf::$userscgi = $userscgi[0]->userscgi; } } }
function getKeyconnexion() { $u = null; if (isset($_COOKIE["keyconnexion"])) { $u = \core\Memcached::value($_COOKIE["keyconnexion"], "user"); if (is_null($u)) { $u = \model\mysql\Utilisateur::authentifierUtilisateurParKeyConnexion($_COOKIE["keyconnexion"]); if ($u) { \core\Memcached::value($_COOKIE["keyconnexion"], "user", $u, 60 * 5); } } else { $u = $u->keyconnexion === $_COOKIE["keyconnexion"] ? $u : false; } $this->set("seedbox", Rtorrent::getUserscgiDeUtilisateur(\config\Conf::$user["user"]->login)); } if ($u && !is_null($u)) { \core\Memcached::value($_COOKIE["keyconnexion"], "user", $u, 60 * 5); \config\Conf::$user["user"] = $u; $this->set("key", $u->keyconnexion); } else { $u = \model\mysql\Utilisateur::authentifierUtilisateurParMotDePasse($_REQUEST["login"], $_REQUEST["motdepasse"]); if (is_object($u)) { $this->set("key", $u->keyconnexion); if (!\core\Memcached::value($u->keyconnexion, "user", $u, 60 * 5)) { trigger_error("Impossible de mettre des données dans memcached"); } //setcookie("login", $u->login, strtotime('+1 days'), "/"); setcookie("keyconnexion", $u->keyconnexion, strtotime('+1 days'), "/"); \config\Conf::$user["user"] = $u; } } if (is_null(\config\Conf::$user["user"])) { $this->set("erreur", 1); } else { $this->set("seedbox", \model\mysql\Rtorrent::getRtorrentsDeUtilisateur(\config\Conf::$user["user"]->login)); } }