X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=ship-simu%2Finc%2Fclasses%2Fmain%2Fconsole%2Fclass_ConsoleTools.php;fp=ship-simu%2Finc%2Fclasses%2Fmain%2Fconsole%2Fclass_ConsoleTools.php;h=c57070d2756a806c3a506ed76402c0b82751931e;hp=0000000000000000000000000000000000000000;hb=85db0cda2cdb5a801db7020aa55b6f4d969f7674;hpb=6f7c99239b34b8ff5e05d719ea24dd213f03f955
diff --git a/ship-simu/inc/classes/main/console/class_ConsoleTools.php b/ship-simu/inc/classes/main/console/class_ConsoleTools.php
new file mode 100644
index 0000000..c57070d
--- /dev/null
+++ b/ship-simu/inc/classes/main/console/class_ConsoleTools.php
@@ -0,0 +1,70 @@
+setPartDescr("Console-Tools");
+
+ // Create an unique ID
+ $this->createUniqueID();
+ }
+
+ /**
+ * Aquires the IP address of this host by reading the /etc/hostname file and solving it
+ *
+ * @return $ip The resolved IP address
+ */
+ public static function aquireSelfIPAddress () {
+ // Local IP by default
+ $ip = "127.0.0.1";
+
+ // Get a new instance
+ $helper = new ConsoleTools();
+
+ try {
+ // Get a file pointer
+ $io = FrameworkFileInputPointer::createFrameworkFileInputPointer("/etc/hostname");
+
+ // Read the file
+ $hostname = trim($io->readFromFile());
+ $helper->getDebugInstance()->output(sprintf("[%s:] Our host name is: %s
\n",
+ $helper->__toString(),
+ $hostname
+ ));
+
+ // Close the file
+ $io->closeFile();
+
+ // Resolve it
+ $ipResolved = gethostbyname($hostname);
+ if (($ipResolved !== false) && ($ipResolved != $hostname)) {
+ // Okay, this works!
+ $ip = $ipResolved;
+
+ // Debug message
+ $helper->getDebugInstance()->output(sprintf("[%s:] Resolved IP address is: %s
\n",
+ $helper->__toString(),
+ $ip
+ ));
+ }
+ } catch (FrameworkException $e) {
+ // Do nothing here
+ }
+
+ // Return the IP address
+ return $ip;
+ }
+}
+
+// [EOF]
+?>