Esempio n. 1
0
 /**
  * Test de la méthode tokenVerif()
  */
 public function testTokenVerif()
 {
     $_SESSION = array();
     $this->mock->setIdForm('test');
     $token = $this->mock->tokenCreate();
     $_POST['token'] = $token;
     $this->boolean($this->mock->tokenVerif())->isTrue();
     //Test avec la limite des 15 minutes dépassé
     $token = $this->mock->tokenCreate();
     $_POST['token'] = $token;
     $date = $_SESSION['token']['test']['date'];
     $date = new \BFW\Date($date);
     $date->modify('-30 minutes');
     $_SESSION['token']['test']['date'] = $date->getDate();
     $this->boolean($this->mock->tokenVerif())->isFalse();
     //Test avec un mauvais token
     $this->mock->tokenCreate();
     $_POST['token'] = 'test';
     $this->boolean($this->mock->tokenVerif())->isFalse();
 }
Esempio n. 2
0
 /**
  * Rotate log file
  * 
  * @return mixed : archive file path if rotation has been done, false otherwise
  * @throws Exception : if we can't overwrite log file or if we can't copy it
  */
 public function rotate()
 {
     // Get Sql timestamp
     $date = new \BFW\Date();
     $ts = strtr($date->getSql(false), array(':' => '', ' ' => '_'));
     // Extract raw file name and path plus extension
     $dotPos = strpos($this->logFile, '.');
     $rawFile = substr($this->logFile, 0, $dotPos);
     $extFile = substr($this->logFile, $dotPos + 1);
     $archiveFile = $rawFile . '_' . $ts . '.' . $extFile;
     if (copy($this->logFile, $archiveFile)) {
         // If we can't overwrite the file, we throw an exception
         if (file_put_contents($this->logFile, '') === false) {
             throw new Exception('Impossible d\'écraser le fichier : ' . $this->logFile);
         } else {
             return $archiveFile;
         }
     } else {
         throw new Exception('Impossible de créer le fichier : ' . $archiveFile . ', copie du fichier : ' . $this->logFile);
     }
     return false;
 }
Esempio n. 3
0
/**
 * Permet de logger une information. En temps normal il s'agit d'écrire ligne par ligne.
 * Si le fichier indiqué n'existe pas, il est créé, sinon c'est ajouté à la fin du fichier.
 * 
 * @param string  $file : Le lien vers le fichier
 * @param string  $txt  : La ligne de texte à écrire
 * @param boolean $date : (default: true) Si à true, la date est ajouté au début de la ligne. Si false elle n'est pas mise.
 */
function logfile($file, $txt, $date = true)
{
    if ($date === true) {
        $date = new \BFW\Date();
        $dateTxt = $date->getJour() . '-' . $date->getMois() . '-' . $date->getAnnee() . ' ' . $date->getHeure() . ':' . $date->getMinute() . ':' . $date->getSeconde();
        $txt = '[' . $dateTxt . '] ' . $txt;
    }
    try {
        file_put_contents($file, rtrim($txt) . "\n", FILE_APPEND);
    } catch (\Exception $e) {
        echo '<br/>Impossible d\'écrire dans le fichier : ' . $file . '<br/>';
    }
}