Пример #1
0
 private static function addLogRecord($user, $level, $operation, $message)
 {
     if (self::$minLevelCode === null) {
         self::initVars();
     }
     if (self::levelCode($level) < self::$minLevelCode) {
         return;
     }
     $conn = self::getConnection();
     $user = self::tryGuessUser($user);
     $uid = $user == null || !is_numeric($user) ? 'null' : $user;
     $level = CSql::quote($level);
     $qOperation = $operation == null ? 'null' : CSql::quote($operation);
     $qMessage = $message == null ? 'null' : CSql::quote($message);
     $query = "insert into Logs (logs_level, user_id, logs_operation, logs_message, logs_dt)\n                values ({$level}, {$uid}, {$qOperation}, {$qMessage}, UTC_TIMESTAMP)";
     $rs = mysql_query($query, $conn);
     // потому что надо работать со своим соединением :(
     if (!$rs) {
         $err = mysql_error($conn);
         //			self::fatal($user, $operation, $message);		// sql не работает -- кого волнует исходное сообщение!
         CSql::closeConnection($conn);
         self::$sqlConn = null;
         CSql::dieOnSqlError($user, 'addLogRecord', "adding record: '{$query}'", $err);
     }
 }
Пример #2
0
foreach (array(100, 500, 1000, 5000) as $lim) {
    $sel = $lim == $limit ? ' selected="selected"' : '';
    print "<option value=\"{$lim}\"{$sel}>{$lim}</option>\n";
}
print "</select>\n";
$searchVal = ReverseEscapeString(mmb_validate($_REQUEST, 'search', ''));
print "<input type=\"text\" placeholder=\"Искать\" name=\"search\" onchange=\"document.LogsForm.submit()\" style=\"margin-left: 2em;\" value='" . CMmbUI::toHtml($searchVal) . "'/>";
print "</div>\n";
$cond = count($levels) == 0 ? 'true' : "logs_level in ('" . implode("', '", $levels) . "')";
if ($searchVal == '') {
    $searchCond = 'true';
} else {
    $search = array("%", "_", "[", "]");
    $replace = array("\\%", "\\_", "\\[", "\\]");
    $searchVal = str_replace($search, $replace, $searchVal);
    $searchCond = "logs_message like(" . CSql::quote("%{$searchVal}%") . ")";
}
$sql = "select logs_id, logs_level, user_id, logs_operation, logs_message, logs_dt, logs_duration from Logs \n        where {$cond} and {$searchCond} \n        order by logs_id desc \n        limit {$limit}";
$Result = MySqlQuery($sql);
print "<table class='std'>\n";
print "<tr class='gray head'><th>#</th><th width='50'>id</th><th>Время</th><th>Уровень</th><th>Пользователь</th><th>Операция</th><th>Сообщение</th><th>Длительность</th></tr>\n";
$cnt = 0;
while ($Row = mysql_fetch_assoc($Result)) {
    print "<tr><td>{$cnt}</td><td>{$Row['logs_id']}</td><td>" . $Row['logs_dt'] . "</td><td>{$Row['logs_level']}</td><td>{$Row['user_id']}</td><td>{$Row['logs_operation']}</td><td>" . nl2br($Row['logs_message']) . "</td><td>{$Row['logs_duration']}</td></tr>\n";
    $cnt++;
}
mysql_free_result($Result);
if ($cnt == 0) {
    print "<tr><td colspan='8'>Записей, подпадающих под условия, не найдено</td></tr>\n";
}
print "</table>";