Gets an embedded resource in the plugin file.
public getResource ( string $filename ) | ||
$filename | string |
public function __construct(Plugin $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"); }
/** * resources 폴더 안에 있는 파일을 읽어서 문자열로 가져옵니다. * * @param string $filename * @return string */ public function getResourceToReadable($filename) { $string = ""; $resource = $this->plugin->getResource($filename); if ($resource === null) { return null; } while (!feof($resource)) { $string .= fgets($resource, 1024); } fclose($resource); return $string; }