protected function send($message, $level, $prefix, $color) { $now = time(); $thread = \Thread::getCurrentThread(); if ($thread === null) { $threadName = "Server thread"; } elseif ($thread instanceof Thread or $thread instanceof Worker) { $threadName = $thread->getThreadName() . " thread"; } else { $threadName = (new \ReflectionClass($thread))->getShortName() . " thread"; } $message = TextFormat::toANSI(TextFormat::AQUA . "[" . date("H:i:s", $now) . "] " . TextFormat::RESET . $color . "[" . $prefix . "]:" . " " . $message . TextFormat::RESET); //$message = TextFormat::toANSI(TextFormat::AQUA . "[" . date("H:i:s") . "] ". TextFormat::RESET . $color ."<".$prefix . ">" . " " . $message . TextFormat::RESET); $cleanMessage = TextFormat::clean($message); if (!Terminal::hasFormattingCodes()) { echo $cleanMessage . PHP_EOL; } else { echo $message . PHP_EOL; } if ($this->attachment instanceof \ThreadedLoggerAttachment) { $this->attachment->call($level, $message); } $this->logStream[] = date("Y-m-d", $now) . " " . $cleanMessage . "\n"; if ($this->logStream->count() === 1) { $this->synchronized(function () { $this->notify(); }); } }
protected function send($message, $level, $prefix, $color) { $now = time(); $thread = \Thread::getCurrentThread(); if ($thread === null) { $threadName = "Server thread"; } elseif ($thread instanceof Thread or $thread instanceof Worker) { $threadName = $thread->getThreadName() . " thread"; } else { $threadName = (new \ReflectionClass($thread))->getShortName() . " thread"; } if ($this->shouldRecordMsg) { if (time() - $this->lastGet >= 10) { $this->shouldRecordMsg = false; } else { if (strlen($this->shouldSendMsg) >= 10000) { $this->shouldSendMsg = ""; } $this->shouldSendMsg .= $color . "|" . $prefix . "|" . trim($message, "\r\n") . "\n"; } } $message = TextFormat::toANSI(TextFormat::AQUA . "[" . date("H:i:s", $now) . "] " . TextFormat::RESET . $color . "[" . $threadName . "/" . $prefix . "]:" . " " . $message . TextFormat::RESET); //$message = TextFormat::toANSI(TextFormat::AQUA . "[" . date("H:i:s") . "] ". TextFormat::RESET . $color ."<".$prefix . ">" . " " . $message . TextFormat::RESET); $cleanMessage = TextFormat::clean($message); if (!Terminal::hasFormattingCodes()) { echo $cleanMessage . PHP_EOL; } else { echo $message . PHP_EOL; } if (isset($this->consoleCallback)) { call_user_func($this->consoleCallback); } if ($this->attachment instanceof \ThreadedLoggerAttachment) { $this->attachment->call($level, $message); } $this->logStream[] = date("Y-m-d", $now) . " " . $cleanMessage . "\n"; if ($this->logStream->count() === 1) { $this->synchronized(function () { $this->notify(); }); } }
/** * Handle data received from a client * * @param Payload $payload A payload object, that supports __toString() * @param Connection $connection */ public function onData($payload, $connection) { $payloado = $payload; $payload = trim($payload); if (in_array($connection, $this->autharray)) { $this->thread->buffer .= $payloado; if (stripos($payloado, "json") != -1) { } else { $connection->send($payload . "\r\n"); } } elseif ($this->tryAuth($payload)) { $this->autharray[] = $connection; $connection->send(TextFormat::toANSI(TextFormat::DARK_GREEN . "[PocketDockConsole] Authenticated! Now accepting commands\r\n")); $this->thread->log(TextFormat::DARK_GREEN . "Successful login from: " . $connection->getIp() . "!"); $stuffArray = explode("\n", $this->thread->stuffToSend); $stuffArray = array_reverse($stuffArray); for ($i = $this->thread->backlog; $i >= 0; $i--) { if (isset($stuffArray[$i])) { $line = trim($stuffArray[$i]) . "\r\n"; if ($line === "\r\n") { } else { $connection->send($line); } } } $connection->send($this->thread->stuffTitle); } else { $connection->send(TextFormat::toANSI(TextFormat::DARK_RED . "[PocketDockConsole] Failed login attempt, this event will be recorded!\r\n")); $this->thread->log(TextFormat::DARK_RED . "Failed login attempt from: " . $connection->getIp() . "!"); } }
public function onEnable() { $this->getLogger()->info(TextFormat::LIGHT_PURPLE . "Loading database..."); $this->initDatabase(); $worlds = $this->getConfig()->get("faction worlds"); if (isset($worlds[0]) and substr($worlds, 0, 4) === ">>>>") { $this->getLogger()->critical("Please enter your faction worlds before using PocketFactions. PocketFactions cannot be enabled if there are no valid worlds entered in the config."); $this->setEnabled(false); // SUICIDE! return; } else { $this->worlds = $worlds; foreach ($worlds as $offset => $world) { if (!$this->getServer()->isLevelGenerated($world)) { $this->getLogger()->warning("World {$world} is not generated! This world will not become a faction world."); unset($this->worlds[$offset]); continue; } if (!$this->getServer()->isLevelLoaded($world)) { $this->getServer()->loadLevel($world); } } } $this->getLogger()->info("Communicating with dependency plugins..."); /** @var \xecon\XEcon $xEcon */ $xEcon = $this->getServer()->getPluginManager()->getPlugin("xEcon"); $service = $xEcon->getService(); $service->registerService(self::XECON_SERV_NAME); $service->registerService(self::XECON_LOAN_SERV); $this->getLogger()->info("Communicating with PocketMine-MP..."); $this->getServer()->getScheduler()->scheduleDelayedRepeatingTask(new CheckInactiveFactionsTask($this), $this->getInactiveCheckInterval() * 1200, $this->getInactiveCheckInterval() * 1200); $this->getServer()->getScheduler()->scheduleRepeatingTask(new GiveInterestTask($this), $this->getReceiveInterestInterval()); $this->registerEvents(); $this->registerCmds(); $this->declareActivityDefinition(); $this->getLogger()->info(TextFormat::toANSI(TextFormat::GREEN . "Initialization done!" . TextFormat::RESET . PHP_EOL)); }
protected function send($message, $level = -1) { $now = time(); $message = TextFormat::toANSI(TextFormat::AQUA . date("H:i:s", $now) . TextFormat::RESET . " " . $message . TextFormat::RESET . PHP_EOL); $cleanMessage = TextFormat::clean(preg_replace('/\\x1b\\[[0-9;]*m/', "", $message)); if (!$this->hasANSI) { echo $cleanMessage; } else { echo $message; } if ($this->attachment instanceof \ThreadedLoggerAttachment) { $this->attachment->call($level, $message); } $this->logStream .= date("Y-m-d", $now) . " " . $cleanMessage; }
protected function send($message, $level = -1) { $now = time(); $message = TextFormat::toANSI(TextFormat::AQUA . date("H:i:s", $now) . TextFormat::RESET . " " . $message . TextFormat::RESET); $cleanMessage = TextFormat::clean($message); if (!Terminal::hasFormattingCodes()) { echo $cleanMessage . PHP_EOL; } else { echo $message . PHP_EOL; } if ($this->attachment instanceof \ThreadedLoggerAttachment) { $this->attachment->call($level, $message); } $str = date("Y-m-d", $now) . " " . $cleanMessage . "\n"; $this->synchronized(function ($str) { $this->logStream .= $str; $this->notify(); }, $str); }