--- /dev/null
+<?php
+/**
+ * This class contains static helper functions for console applications
+ */
+class ConsoleTools extends BaseFrameworkSystem {
+ /**
+ * Private constructor
+ *
+ * @return void
+ */
+ private function __construct () {
+ // Call parent constructor
+ parent::constructor(__CLASS__);
+
+ // Set description
+ $this->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: <strong>%s</strong><br />\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: <strong>%s</strong><br />\n",
+ $helper->__toString(),
+ $ip
+ ));
+ }
+ } catch (FrameworkException $e) {
+ // Do nothing here
+ }
+
+ // Return the IP address
+ return $ip;
+ }
+}
+
+// [EOF]
+?>