/** * Interní zalogování do DB * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @global \WPDB $wpdb * @param int $level * @param string $message * @return boolean */ private static function log($level, $message) { if ($level >= self::getMinLevel()) { // kontrola minimální povolené úrovně logování $user = wp_get_current_user(); $isUserSigned = $user->exists(); if (self::getOnlyForSignedUsers() && !$isUserSigned) { return null; // uživatel není přihlášen a je to požadováno } if (KT::issetAndNotEmpty($message)) { $args = array(KT_Log_Model::LEVEL_ID_COLUMN => $level, KT_Log_Model::MESSAGE_COLUMN => filter_var($message, FILTER_SANITIZE_FULL_SPECIAL_CHARS), KT_Log_Model::DATE_COLUMN => KT::dateNow()); if ($isUserSigned) { $args[KT_Log_Model::LOGGED_USER_NAME_COLUMN] = $user->user_login; } $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2); if (KT::arrayIssetAndNotEmpty($backtrace)) { $lastBacktrace = $backtrace[1]; // první index je vždy právě KT_Logger $args[KT_Log_Model::FILE_COLUMN] = $lastBacktrace["file"]; $args[KT_Log_Model::LINE_COLUMN] = $lastBacktrace["line"]; } /* @var $wpdb \WPDB */ global $wpdb; $logId = $wpdb->insert(KT_Log_Model::TABLE, $args); return $logId > 0; } } return null; }