コード例 #1
0
 public function __construct(SimpleAuth $plugin)
 {
     $this->plugin = $plugin;
     $config = $this->plugin->getConfig()->get("dataProviderSettings");
     if (!isset($config["host"]) or !isset($config["user"]) or !isset($config["password"]) or !isset($config["database"])) {
         $this->plugin->getLogger()->critical("Invalid MySQL settings");
         $this->plugin->setDataProvider(new DummyDataProvider($this->plugin));
         return;
     }
     $this->database = new \mysqli($config["host"], $config["user"], $config["password"], $config["database"], isset($config["port"]) ? $config["port"] : 3306);
     if ($this->database->connect_error) {
         $this->plugin->getLogger()->critical("Couldn't connect to MySQL: " . $this->database->connect_error);
         $this->plugin->setDataProvider(new DummyDataProvider($this->plugin));
         return;
     }
     $resource = $this->plugin->getResource("mysql.sql");
     $this->database->query(stream_get_contents($resource));
     fclose($resource);
     $this->plugin->getServer()->getScheduler()->scheduleRepeatingTask(new MySQLPingTask($this->plugin, $this->database), 600);
     //Each 30 seconds
     $this->plugin->getLogger()->info("Connected to MySQL server");
 }
コード例 #2
0
ファイル: EventListener.php プロジェクト: ecoron/SimpleAuth
 /**
  * @param PlayerCommandPreprocessEvent $event
  *
  * @priority MONITOR
  */
 public function onPlayerCommand(PlayerCommandPreprocessEvent $event)
 {
     if (!$this->plugin->isPlayerAuthenticated($event->getPlayer())) {
         $message = $event->getMessage();
         if ($message[0] === "/") {
             //Command
             $event->setCancelled(true);
             $command = substr($message, 1);
             $args = explode(" ", $command);
             if ($args[0] === "register" or $args[0] === "login" or $args[0] === "help") {
                 $this->plugin->getServer()->dispatchCommand($event->getPlayer(), $command);
             } else {
                 $this->plugin->sendAuthenticateMessage($event->getPlayer());
             }
         } elseif (!$event->getPlayer()->hasPermission("simpleauth.chat")) {
             $event->setCancelled(true);
         }
     }
 }