function streaming($id) { $this->layout = "streaming"; if ($torrentf = \model\mysql\Torrentfilm::getTorrentFilmParIdForStreaming($id)) { \config\Conf::$userscgi = $torrentf->userscgi; $req = new \model\xmlrpc\rXMLRPCRequest(\config\Conf::$userscgi, new \model\xmlrpc\rXMLRPCCommand(\config\Conf::$userscgi, "f.frozen_path", array($torrentf->hash . ":f" . $torrentf->numfile))); if ($req->success()) { $filename = $req->val[0]; if ($filename == '') { $req = new \model\xmlrpc\rXMLRPCRequest(\config\Conf::$userscgi, array(new \model\xmlrpc\rXMLRPCCommand(\config\Conf::$userscgi, "d.open", $torrentf->hash), new \model\xmlrpc\rXMLRPCCommand(\config\Conf::$userscgi, "f.frozen_path", array($torrentf->hash . ":f" . $torrentf->numfile)), new \model\xmlrpc\rXMLRPCCommand(\config\Conf::$userscgi, "d.close", $torrentf->hash))); if ($req->success()) { $filename = $req->val[1]; } } $mediainfo = json_decode($torrentf->mediainfo, true); $compfile = "["; $compfile .= strlen($torrentf->complementfichier) > 0 ? $torrentf->complementfichier . "." : ""; switch ($mediainfo["typequalite"]) { case "SD": $compfile .= $mediainfo["codec"]; break; case "HD": $compfile .= $mediainfo["qualite"] . "." . $mediainfo["codec"]; break; } $audios = array(); foreach ($mediainfo["audios"] as $v) { $res = ""; if ($v["type"] !== "MP3") { $res .= $v["type"] . " " . $v["cannal"]; if (isset($v["lang"])) { $res .= " " . $v["lang"]; } } $audios[] = $res; } if (count($audios) > 1) { $au = implode(".", $audios); $compfile .= "." . $au . "]"; } else { $compfile .= "." . $audios[0] . "]"; } $str = str_replace("'", "\\'", str_replace("<", "<", $torrentf->titre . " " . $compfile . "." . pathinfo($filename, PATHINFO_EXTENSION))); $str = htmlentities($str, ENT_NOQUOTES, "UTF-8"); // remplacer les entités HTML pour avoir juste le premier caractères non accentués // Exemple : "&ecute;" => "e", "&Ecute;" => "E", "à " => "a" ... $str = preg_replace('#&([A-za-z])(?:acute|grave|cedil|circ|orn|ring|slash|th|tilde|uml);#', '\\1', $str); // Remplacer les ligatures tel que : Œ, Æ ... // Exemple "Å“" => "oe" $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\\1', $str); // Supprimer tout le reste $str = preg_replace('#&[^;]+;#', '', $str); $idticket = \model\mysql\Ticket::savTicket("controller\\horsligne\\Film", "download", [$id], 60 * 60 * 6); $this->set(array("titre" => $torrentf->titre . " " . $compfile, "src" => "http://" . $torrentf->hostname . "/ticket/traite/" . $idticket . "/" . $str)); } } //return true; }
function mdpoublier() { if (isset($_POST["mail"])) { $u = \model\mysql\Utilisateur::getUtilisateurParMail($_POST["mail"]); if ($u) { $mdp = \model\simple\Utilisateur::getRandomMdp(); $args["login"] = $u->login; $args["mdp"] = $mdp; $t = \model\mysql\Ticket::savTicket("controller\\horsligne\\Utilisateur", "modifierMdp", $args); $f = false; if (!is_bool($t)) { $f = \model\simple\Mail::activationMotDePasse($u->mail, $u->login, $mdp, $t); } $this->set(array("succereinitialmdp" => $f)); $this->render("index"); } else { $this->set(array("erreur" => true)); } } }