Browse Source

Never return empty map

andryyy 8 years ago
parent
commit
8c2416b711
2 changed files with 38 additions and 26 deletions
  1. 19 13
      data/conf/rspamd/dynmaps/authoritative.php
  2. 19 13
      data/conf/rspamd/dynmaps/tags.php

+ 19 - 13
data/conf/rspamd/dynmaps/authoritative.php

@@ -9,20 +9,26 @@ $opt = [
     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
     PDO::ATTR_EMULATE_PREPARES   => false,
 ];
-$pdo = new PDO($dsn, $database_user, $database_pass, $opt);
-$stmt = $pdo->query("SELECT `domain` FROM `domain`");
-$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-while ($row = array_shift($rows)) {
-  $has_object = 1;
-  echo strtolower(trim($row['domain'])) . PHP_EOL;
+try {
+  $pdo = new PDO($dsn, $database_user, $database_pass, $opt);
+  $stmt = $pdo->query("SELECT `domain` FROM `domain`");
+  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+  while ($row = array_shift($rows)) {
+    $has_object = 1;
+    echo strtolower(trim($row['domain'])) . PHP_EOL;
+  }
+  $stmt = $pdo->query("SELECT `alias_domain` FROM `alias_domain`");
+  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+  while ($row = array_shift($rows)) {
+    $has_object = 1;
+    echo strtolower(trim($row['alias_domain'])) . PHP_EOL;
+  }
+  if ($has_object == 0) {
+    echo "dummy@domain.local";
+  }
 }
-$stmt = $pdo->query("SELECT `alias_domain` FROM `alias_domain`");
-$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-while ($row = array_shift($rows)) {
-  $has_object = 1;
-  echo strtolower(trim($row['alias_domain'])) . PHP_EOL;
-}
-if ($has_object == 0) {
+catch (PDOException $e) {
   echo "dummy@domain.local";
+  exit;
 }
 ?>

+ 19 - 13
data/conf/rspamd/dynmaps/tags.php

@@ -9,20 +9,26 @@ $opt = [
     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
     PDO::ATTR_EMULATE_PREPARES   => false,
 ];
-$pdo = new PDO($dsn, $database_user, $database_pass, $opt);
-$stmt = $pdo->query("SELECT `username` FROM `mailbox` WHERE `wants_tagged_subject` = '1'");
-$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-while ($row = array_shift($rows)) {
-  $has_object = 1;
-  echo strtolower(trim($row['username'])) . PHP_EOL;
+try {
+  $pdo = new PDO($dsn, $database_user, $database_pass, $opt);
+  $stmt = $pdo->query("SELECT `username` FROM `mailbox` WHERE `wants_tagged_subject` = '1'");
+  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+  while ($row = array_shift($rows)) {
+    $has_object = 1;
+    echo strtolower(trim($row['username'])) . PHP_EOL;
+  }
+  $stmt = $pdo->query("SELECT CONCAT(mailbox.local_part, '@', alias_domain.alias_domain) as `tag_ad` FROM `mailbox` INNER JOIN `alias_domain` ON mailbox.domain = alias_domain.target_domain WHERE mailbox.wants_tagged_subject='1';");
+  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+  while ($row = array_shift($rows)) {
+    $has_object = 1;
+    echo strtolower(trim($row['tag_ad'])) . PHP_EOL;
+  }
+  if ($has_object == 0) {
+    echo "dummy@domain.local";
+  }
 }
-$stmt = $pdo->query("SELECT CONCAT(mailbox.local_part, '@', alias_domain.alias_domain) as `tag_ad` FROM `mailbox` INNER JOIN `alias_domain` ON mailbox.domain = alias_domain.target_domain WHERE mailbox.wants_tagged_subject='1';");
-$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-while ($row = array_shift($rows)) {
-  $has_object = 1;
-  echo strtolower(trim($row['tag_ad'])) . PHP_EOL;
-}
-if ($has_object == 0) {
+catch (PDOException $e) {
   echo "dummy@domain.local";
+  exit;
 }
 ?>