/** * Logs with an arbitrary level. * * @param mixed $level * @param string $message * @param array $context * @return null */ public function log($level, $message, array $context = array()) { $errstr = $backtrace = $errno = $errfile = $errline = $code = null; if (isset($context[0]) && $context[0] instanceof \Exception) { $errstr = $context[0]->getMessage(); $backtrace = $context[0]->getTraceAsString(); $errfile = $context[0]->getFile(); $errline = $context[0]->getLine(); $code = $context[0]->getCode(); } else { if (array_key_exists('exception', $context) and $context['exception'] instanceof \Exception) { $errstr = $context['exception']->getMessage(); $backtrace = $context['exception']->getTraceAsString(); $errfile = $context['exception']->getFile(); $errline = $context['exception']->getLine(); $code = $context['exception']->getCode(); } else { $errortype = array(E_ERROR => 'Erreur', E_WARNING => 'Alerte', E_PARSE => 'Erreur d\'analyse', E_NOTICE => 'Notice', E_CORE_ERROR => 'Core Error', E_CORE_WARNING => 'Core Warning', E_COMPILE_ERROR => 'Compile Error', E_COMPILE_WARNING => 'Compile Warning', E_USER_ERROR => 'Erreur spécifique', E_USER_WARNING => 'Alerte spécifique', E_USER_NOTICE => 'Note spécifique', E_STRICT => 'Runtime Notice', E_RECOVERABLE_ERROR => 'Catchable Fatal Error'); $errno = Filter::int($level); if ($errno && array_key_exists($errno, $errortype)) { $level = $errortype[$errno]; } $errfile = Filter::raw('file', $context); $errline = Filter::raw('line', $context); $code = null; } } \Fp\Core\Debug::msg($message, $backtrace, $errno, $errfile, $errline, $level); self::$logMessage[] = "<div><b>{$level}:</b> {$message}<div>{$errfile} {$errline}<pre>{$backtrace}</pre></div></div>"; }
/** * @covers Fp\Core\Filter::int */ public function testInt() { $this->assertEquals(null, \Fp\Core\Filter::int(null)); $this->assertEquals(0, \Fp\Core\Filter::int(0)); $this->assertEquals(1425, \Fp\Core\Filter::int(14.25)); $this->assertEquals(16, \Fp\Core\Filter::int(16)); $this->assertEquals(null, \Fp\Core\Filter::int('test string')); $this->assertEquals(null, \Fp\Core\Filter::int(['test key'])); $this->assertEquals(99, \Fp\Core\Filter::int(['test'], ['test' => 99])); $this->assertEquals(99, \Fp\Core\Filter::int(['test', 'test1'], ['test' => ['test1' => 99]])); $this->assertEquals(null, \Fp\Core\Filter::int(['test', 'test1'], ['test' => ['test1' => 'string']])); }
/** * @param uid $uid * @param id $group */ public function removeUserFromGroup($uid, $group) { if ($uid == 1 && $group == 1) { throw new Exception('super admin can\'t be removed from group admin'); } $gid = $this->idGroup($group); $uid = Filter::int($uid); $q = $this->dbGroupUser->duplicate(); $q->andWhere(array('uid' => $uid, 'gid' => $gid)); return $q->delete(); }