Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
OS-SPLASH-PHP7_NEW
#1
OS-SPLASH-PHP7_NEW

Eine splash/welcome Seite mit Karte, einfache installation mit Installer.

Systemanforderungen Apache, MySQL und PHP ab 5.5 besser 7.1

   

Unter Windows kann XAMPP genutzt werden.
Unter Linux einfach LAMP installieren.

  1. Verzeichnis /includes beschreibbar machen.
  2. install.php starten und Server Daten eintragen, anschließend unten Install anklicken.
  3. /splash/index.php aufrufen und testen.
  4. Das beschreibbar machen des Verzeichnis /includes rückgängig machen.
  5. install.php löschen.

Fertig!

Download Github:
https://github.com/wp2opensim/OS-SPLASH-PHP7_NEW
[Bild: attachment.php?aid=2586]


Zitieren
#2
Diese Version löst nicht nur alle vorherigen Versionen der splash/welcome Seite ab,
sondern auch die Map/Karten Versionen.

Wer nur die Karte haben möchte, löscht die dann überflüssige Datei index.php.
Es kann die kleine Karte map.php und/oder die große Karte mapmax.php genutzt werden.
Die Dateien mapindex.php sowie mapindexmax.php öffnet die Karten in einem frame,
so das sie einfach in eine bestehende Homepage eingefügt werden kann.

Neu in dieser Version ist so einiges,
wie das offensichtliche neue Auswahlmenü Links unten,
sowie die überarbeitete Karte.
Achtung die config.php ist neu bitte nicht mehr die alte benutzen.

Hier eine kleine Anleitung:

OS-SPLASH-PHP7_NEW-master Zip Datei herunterladen.
https://github.com/wp2opensim/OS-SPLASH-PHP7_NEW

   

Datei OS-SPLASH-PHP7_NEW-master.zip entpacken und umbenennen in splash.
Das Verzeichnis /splash nun in den Web Ordner kopieren oder hochladen.

Das Verzeichnis /includes muss beschreibbar sein.

Den Internet Browser aufrufen und euer Web Verzeichnis aufrufen http://127.0.0.1/splash/
(127.0.0.1 steht Symbolisch für die richtige Web Adresse.)
Jetzt erscheint folgendes Bild:

   

http://127.0.0.1/splash/install.php aufrufen dies startet die Installation:

   

Laut euren Einstellungen, das Formular komplett ausfüllen.

Testen
http://127.0.0.1/splash/

   

Jetzt sollten oben rechts eure Daten stehen
und die Karte sollte euer frei wählbares Zentrum anzeigen.

Das Verzeichnis /includes wieder unbeschreibbar machen.
Die Datei install.php löschen.

Regionswahl Menü Welcome bis Sandbox könnt ihr nun ändern,
in dem ihr mit einem Texteditor die Datei index.php ändert.

Im Bereich

Source1 Regionen:
Code:
</fieldset>
</div>
<div id='regions1'><fieldset class='white2'>

<!-- Die Regionsauswahl diese muss leider von Hand geändert werden -->
<a href="secondlife://Welcome" target="_self" style="text-decoration: none;">Welcome</a><br><hr>
<a href="secondlife://Region1" target="_self" style="text-decoration: none;">Region1</a><br><hr>
<a href="secondlife://Region2" target="_self" style="text-decoration: none;">Region2</a><br><hr>
<a href="secondlife://Region3" target="_self" style="text-decoration: none;">Region3</a><br><hr>
<a href="secondlife://Region4" target="_self" style="text-decoration: none;">Region4</a><br><hr>
<a href="secondlife://Region5" target="_self" style="text-decoration: none;">Region5</a><br><hr>
<a href="secondlife://Sandbox" target="_self" style="text-decoration: none;">Sandbox</a><br>
<!-- Die Regionsauswahl Ende -->

</fieldset>
</div>

könnt ihr nun eure gewünschten Regionen eintragen.
Dabei kommt jede Region 2 mal vor,

Beispiel Welcome steht vorne und hinten, beides muss in meinRegionsname geändert werden.
Ihr könnt Zeilen löschen für weniger Regionen,
oder hinzufügen durch einfaches kopieren für weitere Regionen.

Im Viewer wird jetzt eure Region durch anklicken automatisch in den Viewer eingetragen.

Wenn ihr dies gar nicht möchtet, einfach den ganzen Source1 herauslöschen.

Die Link Auswahl könnt ihr auch frei ändern,
dies nach dem gleichen Schema wie eben beschrieben.

Voreinstellung der Links sind:
Homepage Infoseite zeigt eure Webseite an.
Viewer Anzeigeprogramm ist ein Link zum Singularity Alpha Viewer.
Karte Map zeigt die mapmax also Große Karte an.

Source2 Links:
Code:
</fieldset>
</div>
<div id='links'><fieldset class='white2'>

<!-- Die Linkauswahl -->
<a href="/" target="_blank" style="text-decoration: none;">Homepage Infoseite</a><br><hr>
<a href="http://alpha.singularityviewer.org/alpha/" target="_blank" style="text-decoration: none;">Viewer Anzeigeprogramm</a><br><hr>
<a href="/splash/mapindexmax.php" target="_blank" style="text-decoration: none;">Karte Map</a><br><hr>
<!-- Die Linkauswahl Ende -->

</fieldset>
</div>

Das Logo ändern:
Das Logo könnt ihr euch hier erstellen https://de.cooltext.com/

   

Textgröße bitte 300 denn das Logo kann man immer kleiner machen aber nicht größer.

Die Hintergrund Bilder ändern:
Diese könnt ihr einfach austauschen, beachtet bitte die Größe der Bilder, sowie die Namen.

   

Hintergründe könnt ihr zum Beipiel mit Google suchen,
oder einfach Screenshots von euren Regionen machen.
[Bild: attachment.php?aid=2586]


[-] The following 1 user says Thank You to Manfred Aabye for this post:
  • Bogus Curry
Zitieren
#3
Die Anleitung gibt es jetzt auch auf GitHub in der Wiki:
https://github.com/wp2opensim/openSIMULA...-PHP7/wiki
und als pdf sowie odt Datei.

//Edit: Korrektur des Links zur Wikiseite :: Bogus
[Bild: attachment.php?aid=2586]


[-] The following 1 user says Thank You to Manfred Aabye for this post:
  • Bogus Curry
Zitieren
#4
Vorschau der Registrierung im Grid.

   

So weit funktioniert das schon, alles wird in die entsprechenden Datenbank abschnitte gespeichert.
Alles OK aber kein Inventar da, das muss extra erstellt werden.
Dazu wird in OpenSim einfach das Ruth Inventar kopiert.
Die Konfiguration der Datenbank wird jetzt aus dem include Verzeichnis benutzt.


Da ist aber noch keinerlei schutz und sicherheitsabfragen drin,
das kommt erst wenn alles 100% funktioniert.

Hier der Code zum schnuppern V037:
Code:
<!DOCTYPE html><html><head><meta charset="utf-8">

<link id="main" rel="stylesheet" href="http://www.w3schools.com/lib/w3.css" type="text/css" media="screen"/>

</head>
    <title>openSIMULATOR Avatar Registration</title>
</head>

<body>





<div class="w3-container w3-blue">
<h1>openSIMULATOR Avatar Registration V037</h1>
</div>



<?php if (!isset($_POST['etape'])): ?>

<form class="w3-container" action="" method="post">
    <input type="hidden" name="etape" value="1" />
    
    
    
    
<!-- General items     -->

    <div class="form-group">
    <label for="base" class="w3-label w3-text-blue control-label">Vorname :</b></label>
        <div class="col-sm-4">
            <input class="w3-input w3-border" type="text" placeholder="John" name="osVorname" maxlength="40" />
        </div>
    </div>
<br>    
    
    <div class="form-group">
    <label for="base" class="w3-label w3-text-blue control-label">Nachname :</b></label>
        <div class="col-sm-4">
            <input class="w3-input w3-border" type="text" placeholder="Doe" name="osNachname" maxlength="40" />
        </div>
    </div>
<br>    
        
<!-- mysql database items -->    
    
    <div class="form-group">
    <label for="osEMail" class="w3-label w3-text-blue control-label">E-Mail :</b></label>
        <div class="col-sm-4">
            <input class="w3-input w3-border" type="text" placeholder="john@doe.com" name="osEMail" maxlength="40" />
        </div>
    </div>
<br>
    <div class="form-group">
    <label for="osPasswd1" class="w3-label w3-text-blue control-label">Password :</b></label>
        <div class="col-sm-4">
            <input class="w3-input w3-border" type="password" placeholder="*********" name="osPasswd1" maxlength="40" />
        </div>
    </div>
<br>
    <div class="form-group">
    <label for="osPasswd" class="w3-label w3-text-blue control-label">Password wiederholung :</b></label>
        <div class="col-sm-4">
            <input class="w3-input w3-border" type="password" placeholder="*********" name="osPasswd" maxlength="40" />
        </div>
    </div>
<br>
    

    
<!-- Registration Button -->
    
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button class="w3-btn-block w3-blue" type="submit" name="submit" value="Registration">Registration</button>
        </div>
    </div>

</form>

<?php endif ?>
    
</div>


<!-- UUID Generator -->
<?php


  function uuidv4()
  {
    return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',

      // 32 bits
      mt_rand(0, 0xffff), mt_rand(0, 0xffff),

      // 16 bits
      mt_rand(0, 0xffff),

      // 16 bits
      mt_rand(0, 0x0fff) | 0x4000,

      // 16 bits
      // 8 bits
      mt_rand(0, 0x3fff) | 0x8000,

      // 48 bits
      mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
    );
  }
 
// Random UUID
// $osuuid

?>


<?php
    function check_user_exist($first, $last) {
        if (!$first) {
            return false;
        }
        $q = $this->osw->SQL->query("SELECT * FROM `{$this->osw->config['robust_db']}`.UserAccounts WHERE FirstName = '$first' AND LastName = '$last'");
        $r = $this->osw->SQL->fetch_array($q);
        if ($r['PrincipalID']) {
            return true;
        }else{
            return false;
        }
    }

?>



<?php

// Testen ob das funktioniert
// Salt erstellen OK

    function ospswdsalt() {
        $randomuuid = $v4uuid;
        $strrep = str_replace("-", "", $randomuuid);
        return md5($strrep);
    }
?>


<?php

// Testen ob das funktioniert
// Md5Hash(password) + ":" + passwordSalt
    function ospswdhash($osPasswd, $osSalt) {
        
        return md5(md5($osPasswd).":".$osSalt);
    }
?>


<?php
    function compare_passwords($input_password, $real_password, $osSalt) {
        $input_hash = $this->generate_password_hash($input_password, $osSalt);

        if ($input_hash == $real_password) {
            return true;
        }else{
            return false;
        }
    }
?>


<?php
if (isset($_POST['etape']) AND $_POST['etape'] == 1)
{
  include("./includes/config.php");
 
    // wir schaffen unsere Variablen und alle Leerzeichen beiläufig entfernen    
    $v4uuid = uuidv4();
    
    $osVorname   = trim($_POST['osVorname']);
    $osNachname   = trim($_POST['osNachname']);
    $osEMail  = trim($_POST['osEMail']);
    
    $osDatum = mktime();    
    $osPasswd   = trim($_POST['osPasswd']);

    $osSalt = ospswdsalt();
    $osHash = ospswdhash($osPasswd, $osSalt);
 
$pdo = new PDO("mysql:host=$CONF_db_server;dbname=$CONF_db_database", $CONF_db_user, $CONF_db_pass);
//$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$neuer_user = array();
$neuer_user['PrincipalID'] = $v4uuid;
$neuer_user['ScopeID'] = '00000000-0000-0000-0000-000000000000';
$neuer_user['FirstName'] = $osVorname;
$neuer_user['LastName'] = $osNachname;
$neuer_user['Email'] = $osEMail;
$neuer_user['ServiceURLs'] = 'HomeURI= InventoryServerURI= AssetServerURI=';
$neuer_user['Created'] = $osDatum;
$neuer_user['UserLevel'] = '0';
$neuer_user['UserFlags'] = '0';
$neuer_user['UserTitle'] = '';
$neuer_user['active'] = '1';

 
// $statement = $pdo->prepare("INSERT INTO UserAccounts (email, vorname, nachname) VALUES (:email, :vorname, :nachname)");
$statement = $pdo->prepare("INSERT INTO UserAccounts (PrincipalID, ScopeID, FirstName, LastName, Email, ServiceURLs, Created, UserLevel, UserFlags, UserTitle, active) VALUES (:PrincipalID, :ScopeID, :FirstName, :LastName, :Email, :ServiceURLs, :Created, :UserLevel, :UserFlags, :UserTitle, :active)");
$statement->execute($neuer_user);  
 

// UUID, passwordHash, passwordSalt, webLoginKey, accountType
$neues_passwd = array();
$neues_passwd['UUID']         = $v4uuid;
$neues_passwd['passwordHash'] = $osHash;
$neues_passwd['passwordSalt'] = $osSalt;
$neues_passwd['webLoginKey'] = '00000000-0000-0000-0000-000000000000';
$neues_passwd['accountType'] = 'UserAccount';

 
$statement = $pdo->prepare("INSERT INTO auth (UUID, passwordHash, passwordSalt, webLoginKey, accountType) VALUES (:UUID, :passwordHash, :passwordSalt, :webLoginKey, :accountType)");
$statement->execute($neues_passwd);

// Das nachfolgende eintragen in der GridUser Spalte
// GridUser (UserID, HomeRegionID, HomePosition, LastRegionID, LastPosition) VALUES ('$randomuuid', '$simuuid', '$pos', '$simuuid', '$pos')");
$neuer_GridUser = array();
$neuer_GridUser['UserID']         = $v4uuid;
$neuer_GridUser['HomeRegionID'] = '00000000-0000-0000-0000-000000000000';
$neuer_GridUser['HomePosition'] = '<0,0,0>';
$neuer_GridUser['LastRegionID'] = '00000000-0000-0000-0000-000000000000';
$neuer_GridUser['LastPosition'] = '<0,0,0>';

 
$statement = $pdo->prepare("INSERT INTO GridUser (UserID, HomeRegionID, HomePosition, LastRegionID, LastPosition) VALUES (:UserID, :HomeRegionID, :HomePosition, :LastRegionID, :LastPosition)");
$statement->execute($neuer_GridUser);

}
?>



</body>
<!-- Hauptbereich Ende -->

</html>
[Bild: attachment.php?aid=2586]


[-] The following 1 user says Thank You to Manfred Aabye for this post:
  • Wollex Baily2
Zitieren
#5
Hat irgend jemand Erfahrungen mit dieser splash Seite ? Ich bekomme damit einfach nichts auf meinen Server geladen.

Kann mir ev jemand helfen ? Am besten per Teamspeeg oder Skype:

Für hielfe wäre ich sehr dankbar !!  Huh
The Public World

Home Page: http://www.t-p-w.de

Hypergrid: thepublicworld.de:8002:TPW-Start

Facebook : https://www.facebook.com/groups/1515426625432901/ 
Zitieren
#6
Hallo Kai ;D

Wo happert es denn genau ? Helfen würde ich gerne, aber mein Micro von meinen headset ist hinüber. Aber vielleicht können wir uns im Discord treffen, da haben ich einen eigenen Server ;D Da könnte ich dir zuhören, ausserdem kann man da wie bei Skype auch chatten ;D
Tschöö

Bogus | PinguinsReisen.de
Zitieren
#7
Hallo Bogus  PN ist raus !
The Public World

Home Page: http://www.t-p-w.de

Hypergrid: thepublicworld.de:8002:TPW-Start

Facebook : https://www.facebook.com/groups/1515426625432901/ 
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Splash Welcome Seite mit Karte PHP7 Manfred Aabye 21 4.882 12.02.2017, 20:21
Letzter Beitrag: Manfred Aabye
  Splash Seite für Hippo Leonardo Buechi 0 1.259 05.10.2010, 18:42
Letzter Beitrag: Leonardo Buechi

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste