GIT repositories

Index page of all the GIT repositories that are clonable form this server via HTTPS. Übersichtsseite aller GIT-Repositories, die von diesem Server aus über git clone (HTTPS) erreichbar sind.

Services

A bunch of service scripts to convert, analyse and generate data. Ein paar Services zum Konvertieren, Analysieren und Generieren von Daten.

GNU octave web interface

A web interface for GNU Octave, which allows to run scientific calculations from netbooks, tables or smartphones. The interface provides a web form generator for Octave script parameters with pre-validation, automatic script list generation, as well presenting of output text, figures and files in a output HTML page. Ein Webinterface für GNU-Octave, mit dem wissenschaftliche Berechnungen von Netbooks, Tablets oder Smartphones aus durchgeführt werden können. Die Schnittstelle beinhaltet einen Formulargenerator für Octave-Scriptparameter, mit Einheiten und Einfabevalidierung. Textausgabe, Abbildungen und generierte Dateien werden abgefangen und in einer HTML-Seite dem Nutzer als Ergebnis zur Verfügung gestellt.

PHP Funktion für Wake-On-LAN

PHP function to send Wake On LAN packages

To wake up a defined machine via LAN you can enable this feature in its BIOS and send a magic package to start it:

Um einen Rechner im lokalen Netzwerk aufzuwecken kann WOL in dessen BIOS eingeschaltet werden und mithilfe dieser Funktion ein "magic package" zu ihm gesendet werden.

Function source code

Funktion

<?
/**
 * Sends a Wake-On-Lan magic package to the specified IP address.
 *
 * @package de.atwillys.php.fn.net
 * @param string $ip_address
 * @param string $mac_address
 * @param bool $throw_exceptions
 * @param int $port=7
 * @return bool
 * @throws Exception
 */
function wake_on_lan($ip_address, $mac_address, $throw=false, $port=7) {
  $msg = $hw_addr = '';
  if(strlen(preg_replace('|[0-9a-fA-F:]|i', '', $mac_address)) > 0) {
    if($throw) throw new Exception("Invalid MAC address");
    return false;
  }
  $mac_address = explode(':', $mac_address);
  for ($i=0; $i<6; $i++) $hw_addr .= chr(hexdec($mac_address[$i]));
  for ($i=0; $i<6; $i++) $msg .= chr(255);
  for ($i=0; $i<16; $i++) $msg .= $hw_addr;
  if (($sck = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) == false) {
    if($throw) throw new Exception(socket_strerror(socket_last_error($sck)));
    return false;
  }
  if (($o = socket_set_option($sck, SOL_SOCKET, SO_BROADCAST, true)) < 0) {
    @socket_close($sck);
    if($throw) throw new Exception("setsockopt() failed: " . strerror($o));
    return false;
  }
  if (!socket_sendto($sck, $msg, strlen($msg), 0, $ip_address, $port)) {
    @socket_close($sck);
    if($throw) throw new Exception("Failed to send magic message: " . strerror($o));
    return false;
  }
  @socket_close($sck);
  return true;
}