Beiträge von Johnix

    Codebeispiel aus dem UserModel:


    1. Aus dem Team haben nur zwei Personen den FTP-Zugang (Shoxi und ich) und wenn einer es releasen würde, dann würde er sich nur selber schaden.
    2. Um das CMS 1:1 zu kopieren, sind sehr fortgeschrittene PHP-Kenntnisse notwendig und ich habe noch keinen auf RetroTown gesehen, der weiß, was ein Model-View-Controller Pattern ist, weswegen ich dies bezweifel.

    Ich finds auch sehr schön gemacht.
    10/10 :thumbup:

    PS: Es gibt immer Leute die sich alles wirklich jeden scheiß cracken müssen
    deshalb wird es wahrscheinlich sowieso bald released sein. Das ist die Szene :huh:

    Gruß,
    xcmalitxc


    Wie muss ich Cracken verstehen? Man könnte die CMS nachcoden, aber um an die orginalen PHP-Dateien zu kommen muss man die Daten unseres FTP-Servers wissen.

    Zitat

    Die Staffpage ist nicht selbst gemacht,oder?

    Das CMS was Habbor jetzt hat gefällt mir einwenig mehr als das was kommen soll :/

    Die Staffpage wurde selbergemacht, wir haben uns aber an der HabboTimes Staffliste orientiert, weswegen es Ähnlichkeiten gibt.

    Zitat

    Wunderschönes CMS 10/10 .

    Endlich was besonderes.


    Releast ihr es auch?

    Wir werden das CMS nicht releasen. Es wird nur exklusiv für HabboR verfügbar sein.

    Zitat

    Die aktuellsten Informationen zum jCMS wird es nun immer auf unserer Projektseite geben: jmProjects
    Unter anderem stellen wir auf dieser Seite auch verschiedene andere Projekte vor und/oder auch zum Download.



    HabboR - das jCMS

    Das jCMS ist die Zukunft des HabboR Hotels - in wenigen Wochen wird dieses neue System auf HabboR zu betrachten sein.
    Unser neues System bietet viele neue und alte, verbesserte Funktionen. Unter anderem zählt dazu auch ein frisches Design und
    eine vereinfachte Benutzeroberfläche, in welche man keine Einführung benötigt. Das Content Management System wurde in objektorientiertem PHP geschrieben.
    Dabei wurde das Model-View-Controller Pattern verwendet.
    Nachfolgend möchten wir ein paar Impressionen an euch weitergeben und würden Feedback bitten.

    Startseite

    Registration

    Registration - Schritt 1

    Registration - Schritt 1

    Registration - Schritt 2

    Registration - Schritt 3

    Registration - Schritt 4

    Benutzerhome (me)

    Einstellungen - Allgemeines

    Einstellungen - Passwort

    Einstellungen - E-Mail

    Community - Mitarbeiter

    Währungen - Muscheln

    Rolling (Spiel mit Muscheln)

    VIP kaufen

    Administration - Dashboard

    Weitere Eindrücke werden folgen, denn es sind noch lange nicht alle Funktionen fertig.
    Dieser Thread wird dann mit neuem Bildmaterial immer mal erweitert.

    Wir bedanken uns für eure Meinungen.

    Zitat

    Die aktuellsten Informationen zum jCMS wird es nun immer auf unserer Projektseite geben: jmProjects
    Unter anderem stellen wir auf dieser Seite auch verschiedene andere Projekte vor und/oder auch zum Download.

    137438953472

    Weil 2^n die Anzahl der Möglichkeiten bei n-Bit ist.
    n ist in diesem Fall 37.
    Und 2^37 = 137438953472

    Die 2 kommt daher, weil ein Bit 2 verschiedene Möglichkeiten einnehmen kann.
    Und der über mir:
    Meinst du das Ernst oder trollst du nur?

    Erweiterbare "User" Klasse


    Moinsen,

    ich hatte vor kurzer Zeit die Idee, eine Art Klassenbibliothek für Retro Hotels zu erstellen.
    Da ich etwas faul bin, habe ich bisher nur die User Klasse fertiggestellt.
    Diese ist, aufgrund eines eigenprogrammierten Plugin-Systems, vollkommen erweiterbar.
    Da ich eine Klassenbibliothek erstellen wollte, existiert auch noch eine Factory Klasse, damit man nicht immer die MySQLi-Klasse als Parameter übergeben muss.


    Funktionen:

    Spoiler anzeigen


    Ein neues "User" Objekt erstellen

    PHP
    $username = 'Johnix';
    $user = Factory::buildUser($username);


    Eine Spalte des Benutzers ausgeben (In dem Fall: credits)

    PHP
    $username = 'Johnix';
    $user = Factory::buildUser($username);
    
    
    echo $user->credits;

    Spalten eines Benutzers verändern (In dem Fall: credits und ip_last)

    PHP
    $username = 'Johnix';
    $user = Factory::buildUser($username);
    
    
    $user->credits = 100;
    $user->ip_last = $_SERVER['REMOTE_ADDR'];
    $user->ExecuteUpdate(); # anstatt 2 Queries auszuführen nur einen (yay)

    Anderen Benutzer als Freund hinzufügen

    PHP
    $username = 'Johnix';
    $user = Factory::buildUser($username);
    $user2 = Factory::buildUser('Bob');
    
    
    $user->AddFriend($user2);


    Prüfen, ob ein User mit einem anderen befreundet ist

    PHP
    $username = 'Johnix';
    $user = Factory::buildUser($username);
    $user2 = Factory::buildUser('Bob');
    
    
    $user->IsFriendsWith($user2);

    Und viele mehr!

    Codebeispiele aus der Klasse

    Spoiler anzeigen

    Methode ExecuteUpdate()

    Methode IsFriendsWith(User $user)


    Das Plugin-System:

    Spoiler anzeigen

    Die User-Klasse besitzt eine magische Methode, nämlich __call(), mit der aufgerufene Methoden die nicht in der Klasse vorhanden sind bearbeitet werden können.
    Die __call() Methode ist so aufgebaut:

    Und so sieht ein Beispiel Plugin (ExamplePlugin) aus.
    Dies ist eine einzelne Datei (ExamplePlugin.php) und liegt im Plugin Ordner.

    PHP
    if (!isset($nondirectAccess)){ die("Direkter Zugriff nicht erlaubt"); }
    
    
    $irgendeineZahl = 1*2*3*4*5+5;
    $str = $this->row->username.": ".$this->row->credits." - ".$irgendeineZahl;
    
    
    
    
    Registry::add('PLUGIN_RETURN_VALUE', $str);


    Die neue Methode kann man wiefolgt aufrufen

    PHP
    $username = 'Johnix';
    $user = Factory::buildUser($username);
    
    
    $user->ExamplePlugin();

    Wie fang ich an?

    Spoiler anzeigen


    Als erstes downloadest du dir das beigefügte RAR Verzeichnis und packst dessen Inhalt in einen beliebigen Ordner, in dem du diese Klasse verwenden möchtest.
    Nun öffnest du die "RequireThis.php" Datei, editierst die MySQL Daten und änderst die konstante "PHP_PATH" auf den absoluten Pfad auf dem dein Ordner liegt.
    Wenn zum Beispiel dein CMS auf dem Root Verzeichnis liegt, dann lautet der Code

    PHP
    define('PHP_PATH', $_SERVER['DOCUMENT_ROOT'].'/');

    Nun öffnest oder erstellst du eine Datei und schreibst relativ weit oben
    require 'RequireThis.php';
    rein. Nun kannst du in dieser Datei die Funktionen der Klasse benutzen.

    Download: UserClass.RAR


    Ich werde die Klassenbibliothek in unregelmäßigen Abständen erweitern und neue Funktionen hinzufügen.
    Falls ihr ein Plugin erstellt habt, könnt ihr es gerne hier unter diesen Thread posten.

    Du hast Verbesserungsvorschläge oder einen Fehler zu melden?
    Schreibe doch einen Post unter diesem Thread oder mir eine private Nachricht.

    Hallo,
    um dieses Forum wenigstens etwas zu verbessern, wäre ich für ein "Edits"-Unterforum für die "Releases"-Section.
    Man möge sich diesen Screenshot ansehen.


    Alles Unterschrichene hat irgendwas mit einem Edit zu tun.
    So könnte man bisschen Ordnung in die Release-Section bekommen und ich muss nicht immer Augenkrebs bekommen, wenn ich die ganzen Edits sehe.

    Wenn der Code doch läuft und save ist, dann ist es doch egal wie hässlich er ist?


    Falsch. Es gibt einen Unterschied zwischen dem:

    PHP
    $userList = array("Bob","Job","Flop","Cock","Bauer","Sauer","Dick");
    $newCredits = 100;
    foreach ($userList as $username){
    mysql_query("UPDATE users SET credits = $newCredits WHERE username = '$username'");	
    }

    und dem

    Das hier ist nur ein Beispiel. Und weil sich wahrscheinlich 99% des Forums für den ersten Weg entscheiden, möchte ich lieber ein Codesnippet sehen, bevor ich etwas bewerte.

    Ach, wie schön.

    Die gute alte xBox vs. PS Diskussion.
    Das ich das noch erleben darf.

    Und diese Begründungen sind hier großartig.
    "Ich mag Konsole X nicht. Konsole Y ist viel besser"

    Diese Argumentation ist so unglaublich aussagekräftig. Einfach göttlich!