public function __construct()
 {
     if (!isset($_SESSION['foxfw_document_path'])) {
         $_SESSION['foxfw_document_path'] = '';
     }
     FoxFWKernel::addVendor('foxFW/FoxFWUrl.php');
     $this->path = new FoxFWUrl(_HOME, $_SESSION['foxfw_document_path']);
 }
示例#2
0
 public function confirmPassLost()
 {
     if (!isset($_POST['email'])) {
         FoxFWKernel::loadRouter('index');
     }
     //trouver le compte !
     $user = FoxFWUsers::existe($_POST['email']);
     if ($user == NULL) {
         return $GLOBALS['Twig']->render(FoxFWKernel::getView('users_passlost'), array('msg' => 'Cette Email n\'existe pas !'));
     }
     // On définit le corps du message
     $code = @md5('P8lit' . $user . 'y4Ol');
     //ligne 171
     //envoi le message de reset du password
     FoxFWKernel::addVendor('PHPMailer/class.phpmailer.php');
     $mail = new PHPMailer();
     $mail->charSet = "UTF-8";
     //Emetteur
     $mail->setFrom($GLOBALS['Config']->FoxFW->email, 'Mailer');
     //email HTML
     $mail->isHTML(true);
     // Définition du sujet/objet
     $mail->Subject = "Changement de mot de passe !";
     //corps du mail
     $mail->Body = $GLOBALS['Twig']->render(FoxFWKernel::getView('users_pattern_mail_change_mdp'), array('url' => FoxFWKernel::path('user/passlost/' . $code)));
     // Il reste encore à ajouter au moins un destinataire
     // (ou plus, par plusieurs appel à cette méthode)
     $mail->AddAddress($_POST['email'], "Utilisateur");
     //Envoyer le message
     if (!$mail->send()) {
         echo 'Message could not be sent.';
         echo 'Mailer Error: ' . $mail->ErrorInfo;
         exit;
     }
     //jeton secu
     $_SESSION['CHANGEPASSWORD'] = $user;
     return $GLOBALS['Twig']->render(FoxFWKernel::getView('users_passlost'), array('msg' => 'Email envoyé !'));
 }
示例#3
0
 public static function build($config)
 {
     //Début session
     @session_start();
     //security
     FoxFWKernel::security();
     //Chargement de la configuration
     $GLOBALS['Config'] = $config;
     //verifier la syntaxe JSON
     if ($GLOBALS['Config'] == NULL) {
         die($config_url . ': syntaxe error !');
     }
     //activier ou pas les erreurs PHP
     if (!$GLOBALS['Config']['FoxFW']['php_error']) {
         error_reporting(0);
     }
     //-------------------------------------------------------------
     //Default constante
     foreach ($GLOBALS['Config']['Define'] as $key => $value) {
         define($key, $value);
     }
     //Dépendences
     foreach ($GLOBALS['Config']['Require'] as $key => $value) {
         FoxFWKernel::addVendor($value);
     }
     //model
     foreach ($GLOBALS['Config']['Model'] as $key => $value) {
         FoxFWKernel::addBundleFile($value);
     }
     //Route
     if (!isset($GLOBALS['Config']['Route'])) {
         exit('No route defined !');
     }
     $GLOBALS['Route'] = FoxFWKernel::ObjJsonFileBuild($GLOBALS['Config']['Route'], 'route.json');
     if ($GLOBALS['Route'] == NULL) {
         die('Route syntaxe error !');
     }
     //-------------------------------------------------------------
     //Configuration RedBean ORM
     $co = $GLOBALS['Config']['RedBean'];
     R::setup($co['connect'], $co['user'], $co['pass']);
     //-------------------------------------------------------------
     //Chargement User
     $GLOBALS['User'] = new FoxFWUsers();
     //-------------------------------------------------------------
     //création de la table de routage
     $GLOBALS['Router'] = new AltoRouter();
     $GLOBALS['Router']->setBasePath($GLOBALS['Config']['AltoRouter']['BasePath'] . '/');
     //Chargement des routes dans AltoRouter
     foreach ($GLOBALS['Route'] as $key => $value) {
         $GLOBALS['Router']->map($value->method, $value->path, $value->controller, $key);
     }
     //-------------------------------------------------------------
     //Configuration de twig
     $cache = false;
     if ($GLOBALS['Config']['FoxFW']['cache']) {
         $cache = _CACHE;
     }
     Twig_Autoloader::register();
     $loader = new \Twig_Loader_Filesystem('./');
     $GLOBALS['Twig'] = new \Twig_Environment($loader, array('cache' => $cache));
     //twig extension function User !
     $GLOBALS['Twig']->addGlobal('User', $GLOBALS['User']);
     //-------------------------------------------------------------
     //security formulaire
     FoxFWKernel::securityFormSend();
     //-------------------------------------------------------------
     //extension du Kernel !
     if (isset($GLOBALS['Config']['Addon'])) {
         foreach ($GLOBALS['Config']['Addon'] as $key => $value) {
             if (file_exists($value)) {
                 require_once $value;
             }
         }
     }
     //-------------------------------------------------------------
     //traitement de la page
     $etat = 404;
     $match = $GLOBALS['Router']->match();
     //recuperer la page charger
     //controller principal
     if ($match) {
         if ($GLOBALS['User']->isRole($GLOBALS['Route'][$match['name']]->firewall)) {
             $etat = FoxFWKernel::controller($match['target'], $match['params']);
             //si pas d'erreur
             if ($etat == 200) {
                 return true;
             }
         } else {
             $etat = 401;
         }
     }
     //Erreur controller
     $error = $GLOBALS['Config']['FoxFW']['controller_error'] . '#e' . $etat;
     if (FoxFWKernel::controller($error, array()) == 200) {
         return true;
     }
     //Default error serveur
     header('HTTP/1.0 500 Not Found');
     echo 'Erreur interne du serveur !';
     return false;
 }
 public function __construct()
 {
     FoxFWKernel::addVendor('foxFW/FoxFWbdd.php');
 }