protected function XMLSitemapTestHelper::getWatchdogMessages in XML sitemap 6.2
Same name and namespace in other branches
- 7.2 xmlsitemap.test \XMLSitemapTestHelper::getWatchdogMessages()
Fetch all seen watchdog messages.
@todo Add unit tests for this function.
3 calls to XMLSitemapTestHelper::getWatchdogMessages()
- XMLSitemapTestHelper::assertNoWatchdogErrors in ./
xmlsitemap.test - Check that there were no watchdog errors or worse.
- XMLSitemapTestHelper::assertNoWatchdogMessage in ./
xmlsitemap.test - XMLSitemapTestHelper::assertWatchdogMessage in ./
xmlsitemap.test
File
- ./
xmlsitemap.test, line 229 - Unit tests for the xmlsitemap module.
Class
- XMLSitemapTestHelper
- Helper test class with some added functions for testing.
Code
protected function getWatchdogMessages(array $conditions = array(), $reset = FALSE) {
static $seen_ids = array();
static $watchdog_schema;
if (!module_exists('dblog') || $reset) {
$seen_ids = array();
return;
}
if (!isset($watchdog_schema)) {
$watchdog_schema = drupal_get_schema('watchdog');
}
$sql = "SELECT wid, type, severity, message, variables, timestamp FROM {watchdog}";
$args = array();
foreach ($conditions as $field => $value) {
$conditions[$field] = $field . ' = ' . db_type_placeholder($watchdog_schema['fields'][$field]['type']);
if ($field == 'variables' && !is_string($value)) {
$value = serialize($value);
}
$args[] = $value;
}
if ($seen_ids) {
$conditions[] = 'wid NOT IN (' . db_placeholders($seen_ids) . ')';
$args = array_merge($args, $seen_ids);
}
if ($conditions) {
$sql .= " WHERE " . implode(' AND ', $conditions);
}
$sql .= " ORDER BY timestamp";
$query = db_query($sql, $args);
$messages = array();
while ($message = db_fetch_object($query)) {
$messages[$message->wid] = $message;
}
$seen_ids = array_merge($seen_ids, array_keys($messages));
return $messages;
}