1: <?php
2:
3: namespace Budabot\User\Modules;
4:
5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
20: class WhereisController {
21:
22: 23: 24: 25:
26: public $moduleName;
27:
28:
29: public $text;
30:
31:
32: public $util;
33:
34:
35: public $db;
36:
37: 38: 39: 40:
41: public function setup() {
42: $this->db->loadSQLFile($this->moduleName, 'whereis');
43: }
44:
45: 46: 47: 48:
49: public function whereisCommand($message, $channel, $sender, $sendto, $args) {
50: $search = $args[1];
51: $search = strtolower($search);
52: $words = explode(' ', $search);
53: list($query1, $params1) = $this->util->generateQueryFromParams($words, 'name');
54: list($query2, $params2) = $this->util->generateQueryFromParams($words, 'keywords');
55: $params = array_merge($params1, $params2);
56:
57: $sql = "SELECT * FROM whereis w LEFT JOIN playfields p ON w.playfield_id = p.id WHERE ($query1) OR ($query2)";
58: $data = $this->db->query($sql, $params);
59: $count = count($data);
60:
61: if ($count > 0) {
62: $blob = "Result of Whereis Search for '$search'\n\n";
63: forEach ($data as $row) {
64: $blob .= "<header2>$row->name<end>\n$row->answer";
65: if ($row->playfield_id != 0 && $row->xcoord != 0 && $row->ycoord != 0) {
66: $blob .= " " . $this->text->makeChatcmd("waypoint: {$row->xcoord}x{$row->ycoord} {$row->short_name}", "/waypoint {$row->xcoord} {$row->ycoord} {$row->playfield_id}");
67: }
68: $blob .= "\n\n";
69: }
70:
71: $msg = $this->text->makeBlob("Whereis ($count)", $blob);
72: } else {
73: $msg = "There were no matches for your search.";
74: }
75: $sendto->reply($msg);
76: }
77: }
78: