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)); } }
function roleUser() { foreach (Conf::$numerorole as $k => $v) { if (is_array($v)) { foreach ($v as $kk => $vv) { Conf::$rolenumero[$vv] = $k; } } else { Conf::$rolenumero[$v] = $k; } } /*$a["zzz"]="sssd"; $a["zdz"]= new \model\xmlrpc\rTorrent(); //Memcached::value("deb","ddd",$a); Memcached::value("deb","ddd"); Memcached::value("deb1","ddd");*/ $u = null; if (isset($_COOKIE["keyconnexion"])) { if (extension_loaded("memcached")) { $u = 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; } } $role = 1; $roletext = "Visiteur"; if ($u && !is_null($u)) { $role = Conf::$rolenumero[$u->role]; $roletext = $u->role; \core\Memcached::value($_COOKIE["keyconnexion"], "user", $u, 60 * 5); setcookie("keyconnexion", $u->keyconnexion, strtotime('+1 days'), "/"); } Conf::$user["user"] = $u; Conf::$user["role"] = $role; Conf::$user["roletxt"] = $roletext; if ($u) { LoaderJavascript::add("base", "controller.setUtilisateur", array(Conf::$user["user"]->login, Conf::$user["user"]->keyconnexion, Conf::$user["user"]->role)); } }