Metin2CMS v2.0

11/07/2017 23:55 Kryptonit.'#31
Erfüllt seinen Zweck, für unsere Deutsche User :D
Gefällt mir, thanks.
11/23/2017 09:05 Schwuggie#32
Im missing how to add a Admin Account for the CMS in the Docu.
11/24/2017 21:43 IonutPop#33
Quote:
Originally Posted by Schwuggie View Post
Im missing how to add a Admin Account for the CMS in the Docu.
in database account->account on column "web_admin" set value 9
01/10/2018 20:07 IonutPop#34
Update v2.10


Permissions on site
Select the donation currency
Invitation system
Code recovery system
Vote4Coins Improved
The administration panel was reorganized
Possibility to give in-game degrees on the player's edit page
Possibility to add coins
Fixed an issue with the system update
01/12/2018 22:04 Pokeeh#35
Backdoors inside.
01/13/2018 11:11 IonutPop#36
Quote:
Originally Posted by Pokeeh View Post
Backdoors inside.
When you say such statements, please come with proof.
01/14/2018 03:12 BizepsSupportAccount#37
PHP Code:
<?php
/* 
------------------
Language: German
------------------
*/

$lang = array(
    
'news' => 'Neuigkeiten',
    
'register' => 'Registrieren',
    
'download' => 'Herunterladen',
    
'ranking' => 'Rang',
    
'players' => 'Spieler',
    
'guilds' => 'Gilden',
    
'guild' => 'Gilde',
    
'leader' => 'Anführer',
    
'points' => 'Punkte',
    
'support' => 'Support',
    
'item-shop' => 'Online-Markt',
    
'follow' => 'FOLGE UNS',
    
'user-panel' => 'Benutzerbereich',
    
'admin-panel' => 'Administrationsmenü',
    
'user-name' => 'Benutzerbereich',
    
'user-name-or-email' => 'Kontoname oder E-Mail',
    
'password' => 'Passwort',
    
'rpassword' => 'Passwort wiederholen',
    
'email-address' => 'E-Mail-Addresse',
    
'new-email-address' => 'Neue Email Adresse',
    
'captcha-code' => 'Sicherheitscode',
    
'not-available' => 'ist nicht verfügbar.',
    
'no-special-chars' => 'Sonderzeichen sind nicht erlaubt.',
    
'no-password-r' => 'Passwörter stimmen nicht überein.',
    
'forget-password' => 'Passwort vergessen?',
    
'logout' => 'Ausloggen',
    
'login' => 'Anmeldung',
    
'first-page' => 'Erste Seite',
    
'last-page' => 'Letzte Seite',
    
'name' => 'Name',
    
'level' => 'Level',
    
'empire' => 'Reich',
    
'success' => 'Erfolg',
    
'success-register' => 'Das Benutzerkonto wurde erfolgreich erstellt. Jetzt können Sie sich im Spiel und auf der Website einloggen.',
    
'incorrect-security' => 'Der eingegebene Sicherheitscode ist falsch.',
    
'incorrect-usermane' => 'Der Benutzername enthält unzulässige Zeichen.',
    
'incorrect-password' => 'Das eingegebene Passwort enthält unzulässige Zeichen.',
    
'incorrect-email' => 'Sie haben keine gültige E-Mail-Adresse eingegeben.',
    
'already-user' => 'Der Benutzername ist bereits vergeben.',
    
'already-email' => 'Die E-Mail-Adresse ist bereits einem anderen Konto zugeordnet.',
    
'account-blocked' => 'Das Konto ist gesperrt.',
    
'error-login' => 'Benutzername und Passwort stimmen nicht überein',
    
'error-login-email' => 'Die E-Mail-Adresse und das Passwort stimmen nicht überein.',
    
'administration' => 'Verwaltung',
    
'account-data' => 'Kontoinformation',
    
'recruit-friends' => 'Rekrutiere Freunde',
    
'server-offline' => 'Der Server ist offline.',
    
'last-update' => 'Letztes Update',
    
'my-account' => 'Ihr Konto',
    
'md' => 'Deine Drachenmünzen',
    
'jd' => 'Deine Drachenmarken',
    
'chars' => 'Charaktere',
    
'chars-list' => 'Liste der Charaktere',
    
'no-chars' => 'Du besitzt keine Charaktere.',
    
'friends' => 'Freunde',
    
'recruit-friends-info' => 'Freunde anwerben und Statusübersicht anzeigen',
    
'change-email' => 'E-Mail Adresse ändern',
    
'change-password' => 'Kontopasswort ändern',
    
'success-change-password' => 'Dein Passwort wurde erfolgreich geändert!',
    
'storekeeper' => 'Lagerverwalter',
    
'request-storekeeper' => 'Fordern Sie das Lager-Passwort an',
    
'storekeeper' => 'Lager-Passwort',
    
'no-storekeeper' => 'Sie haben das Lager-Passwort noch nicht geändert.',
    
'delete-chars' => 'Löschcode',
    
'send' => 'Senden',
    
'delete-account' => 'Konto löschen',
    
'cancel-delete-account' => 'Den Vorgang abbrechen',
    
'time-until-deletion' => 'Zeit bis zum Löschen:',
    
'for-delete-account' => 'Um Ihren Account zu löschen, besuchen Sie den folgenden Link.',
    
'days' => 'Tage',
    
'time-to-deletion' => 'Der Account wird bald gelöscht.',
    
'new-article' => 'Füge einen neuen Artikel hinzu',
    
'edit-article' => 'Artikel bearbeiten',
    
'title' => 'Titel',
    
'content' => 'Kontent',
    
'sure?' => 'Bist du sicher?',
    
'sure_send?' => 'Sind Sie sicher, dass Sie eine E-Mail mit diesen Informationen erhalten möchten?',
    
'read-more' => 'Weiterlesen',
    
'account-recovery' => 'Konto-Wiederherstellung',
    
'email-recovery' => 'Wenn der Benutzername und die E-Mail-Adresse übereinstimmen, erhalten Sie in kürze eine Bestätigungs-E-Mail.',
    
'email-recovery-info' => 'Um Ihr Konto wiederherzustellen, gehen Sie bitte auf den folgenden Link.',
    
'incorrect-recovery' => 'Der eingegebene Link ist falsch oder abgelaufen.',
    
'code-delete-chars' => 'Ihr Code zum Löschen von Charakteren ist',
    
'delete-account-info' => 'Rufen Sie den folgenden Link auf, um Ihr Konto zu löschen',
    
'sended-code' => 'Der Code wurde an Ihre E-Mail-Adresse gesendet.',
    
'sended-link' => 'Der Link wurde an Ihre E-Mail-Adresse gesendet.',
    
'rank-position' => 'Rangposition',
    
'class' => 'Klasse',
    
'lycan' => 'Lykaner',
    
'warrior' => 'Krieger',
    
'ninja' => 'Ninja',
    
'shaman' => 'Schamane',
    
'sura' => 'Sura',
    
'select-log' => 'Wählen Sie eine Einstellung aus',
    
'general-settings' => 'Allgemeine Einstellungen',
    
'edit-links' => 'Website-Links bearbeiten',
    
'edit-info' => 'Websiteinformationen bearbeiten',
    
'edit-links-info' => 'Sie können den Namen der Website, soziale Links, Support-Link und Forum-Link bearbeiten.',
    
'edit-links-blank-info' => 'Lassen Sie die Felder leer, die nicht angezeigt werden sollen.',
    
'save' => 'Sichern',
    
'no-download-links' => 'Derzeit gibt es keine Links.',
    
'search' => 'Suche',
    
'update-available' => 'Update verfügbar',
    
'update-info' => 'Um das CMS zu aktualisieren, klicken Sie auf die Schaltfläche unten.',
    
'update' => 'Aktualisieren',
    
'not-updated' => 'Ein automatisches Update kann nicht durchgeführt werden. Bitte aktualisieren Sie die folgenden Dateien manuell',
    
'functions-on-off' => 'Aktivieren / Deaktivieren von Funktionen',
    
'functions-on-off-info' => 'Sie können bestimmte Funktionen der Seite aktivieren oder deaktivieren.',
    
'functions' => 'Funktionen',
    
'game-management' => 'Spiel-Management',
    
'create-items' => 'Gegenstände erstellen',
    
'create-items-info' => 'Sie können Artikel mit den gewünschten Spezifikationen erstellen.',
    
'items-number' => 'Item vNum',
    
'bonuses' => 'Boni',
    
'more_bonuses' => 'Mehr Boni',
    
'bonus_absorption' => 'Bonusaufnahme',
    
'stones' => 'Steine',
    
'stone' => 'Stein',
    
'item_time' => 'Artikel Zeit',
    
'costumes' => 'Kostüme',
    
'create' => 'Erstellen',
    
'char-name' => 'Charaktername',
    
'no_char' => 'Das Zeichen existiert nicht.',
    
'no_space' => '<strong> Das Gegenstand konnte nicht hinzugefügt werden!  </strong> Bitte schaffen Sie Platz im Lager.',
    
'successfully_added' => '<strong> Viel Glück! </strong> Jetzt müssen Sie nur noch den Gegenstand aus dem Lagerhausfenster entnehmen.',
    
'log-info' => 'Sehen Sie sich die Logs des Spiels an.',
    
'no' => 'Nein',
    
'yes' => 'Ja',
    
'delete' => 'Löschen',
    
'add' => 'Hinzufügen',
    
'download-links' => 'Sie können Download-Links bearbeiten.',
    
'title' => 'Titel',
    
'news-on-page' => 'Neuigkeiten auf der Seite',
    
'active-registrations' => 'Aktiviere Registrierung?',
    
'disabled-registrations' => 'Derzeit sind die Registrierungen deaktiviert.',
    
    
//v2.4
    
'vote' => 'Abstimmung',
    
'coin' => 'Münze',
    
'value' => 'Wert',
    
'time' => 'Zeit',
    
'hours' => 'Std.',
    
'minutes' => 'Min.',
    
'vote-again' => 'Sie können erneut abstimmen in:',
    
'vote-info' => 'Sie können Seiten hinzufügen auf der man Abstimmen kann, und Belohnungen für den Zugriff auf sie anpassen.',
    
    
//v2.6
    
'players-online' => 'Spieler online',
    
'accounts-created' => 'Konten erstellt',
    
'created-characters' => 'Charaktere erstellt',
    
'guilds-created' => 'Gilden erstellt',
    
'offline-shops' => 'Offline-Shops',
    
'players-online-last-24h' => 'Spieler online (24h)',
    
'statistics' => 'Statistiken',
    
'player-management' => 'Spielerverwaltung',
    
'player-management-info' => 'Sie können einen Spieler sperren oder seinen Status ändern.',
    
'account' => 'Konto',
    
'actions' => 'Aktionen',
    
'ban' => 'Konto sperren',
    
'unban' => 'Konto entsperren',
    
'status' => 'Status',
    
'close' => 'Schlie&szlig;en',
    
'reason' => 'Grund',
    
'permanent-ban' => 'Permanenter Bann',
    
'temporary-ban' => 'Vorübergehender Bann',
    
'unban-check' => 'Sind Sie sicher, dass sie die Sperre aufheben wollen?',
    
'months' => 'Monate',
    
'account-blocked-temporary' => 'Das Konto ist vorübergehend gesperrt.',
    
'edit-player-info' => 'Bearbeiten Sie die Spielerinformationen',
    
'cms-management' => 'Eternity-Management',
    
'modules-management' => 'Modulverwaltung',
    
'modules-management-info' => 'Installieren oder deinstallieren Sie Metin2CMS-Module.',
    
'themes' => 'Themen',
    
'themes-info' => 'Wählen Sie eines der von Metin2CMS bereitgestellten Themen.',
    
'no-modules' => 'Momentan sind keine Module verfügbar.',
    
'uninstall' => 'Deinstallieren',
    
'install' => 'Installieren',
    
'uninstall-info' => 'Das Modul wurde erfolgreich deinstalliert.',
    
'no-themes' => 'Momentan sind keine Themen verfügbar.',
    
'themes-update-info' => 'Nach jedem Update müssen Sie das Design erneut installieren.',
    
    
//2.7
    
'account-new-column' => 'Der Account-Tabelle wurde eine neue Spalte hinzugefügt: ',
    
    
//2.8
    
'site-translate' => '&Uuml;bersetzungen verwalten',
    
'site-translate-info' => 'Sie haben die Möglichkeit, Ihre Website in verschiedene Sprachen zu übersetzen.',
    
'default-language' => 'Die Standardsprache der Seite',
    
'send-translation' => 'Senden Sie eine &Uuml;bersetzung',
    
'debug' => 'Debuggen',
    
'players-debug' => 'Charakter Debuggen?',
    
'debug-success' => 'Der Charakter wurde auf Map 1 zurückgesetzt.',
    
'donate' => 'Spenden',
    
'donate-info' => 'Fügen Sie neue Spendenmethoden und Preise hinzu.',
    
'donatelist' => 'Spendenliste',
    
'donatelist-info' => 'Validiert Spenden von Spielern.',
    
'price' => 'Preis',
    
'code' => 'Code',
    
'send-donate' => 'Die Spende wird so schnell wie möglich von einem Administrator überprüft.',
    
'view-donations' => 'Spenden ansehen',
    
'status' => 'Status',
    
'no-paypal' => 'Sie müssen Ihre Paypal-E-Mail einrichten!',
    
'paypal-info' => 'Um die automatische Zahlung über PayPal zu aktivieren, erstellen Sie einfach eine neue Kategorie mit dem Namen "PayPal".',
    
'new-donations' => 'neue Spenden',
    
'validation' => 'Validierung',
    
'https-get-contents-error' => 'Zu diesem Zeitpunkt können Sie keine Aktualisierungen vornehmen oder andere Designs und andere &Uuml;bersetzungen verwenden. Klicken Sie hier, um herauszufinden, wie Sie das Problem beheben können: ',
    
    
//2.10
    
'privileges' => 'Privilegien',
    
'privileges-info' => 'Sie können die Zugriffsebene im Administrationsbereich festlegen.',
    
'currency' => 'Währung',
    
'add-coins' => 'Coins hinzufügen',
    
'add-coins-info' => 'Den Spielern Coins hinzufügen',
    
'player' => 'Spieler',
    
'coins-added' => 'Coins wurden erfolgreich hinzugefügt.',
    
'account-not-exist' => 'Konto existiert nicht.',
    
'referrals' => 'Freunde einladen',
    
'referral-link' => 'Dies ist der Link deiner Freunde zur Registrierung:',
    
'referral-invited' => 'Eingeladene Spieler:',
    
'play-time' => 'Spielzeit',
    
'collect' => 'Sammeln',
    
'collected' => 'Gesammelt',
    
'not_yet' => 'Noch nicht',
    
'collected_md' => 'Coins gesammelt: ',
    
'referrals-info' => '&Auml;ndern Sie die Einstellungen für das Einladungssystem.',
    
'disabled' => 'Deaktiviert',
    
'enabled' => 'Aktiviert',
    
'eligibility' => 'Berechtigung, eine Belohnung zu erhalten',
    
'eligibility-info' => 'Welche Voraussetzungen müssen von erworbenen Spielern erfüllt werden?',
    
'reward' => 'Belohnung',
    
'referral-min-hours' => 'Die Mindestanzahl der Stunden, die gespielt wurden',
    
'referral-min-level' => 'Mindestlevel',
    
'redeem-codes' => 'Code einlösen',
    
'redeem-my-code' => 'Meinen Code einlösen',
    
'redeem-code-info' => 'Erstelle Codes, die Spieler einlösen können.',
    
'code-created' => 'Der erstellte Code ist:',
    
'type' => 'Art',
    
'incorrect-redeem' => 'Der eingegebene Code ist falsch oder wurde bereits verwendet.'
    
);
?>
Here you have the german translation from me.
01/19/2018 16:21 IonutPop#38
Quote:
Originally Posted by BizepsSupportAccount View Post
Here you have the german translation from me.
Thank you, very much! I added it :D .
01/19/2018 20:20 Aiceal#39
Gj Guy:)
03/08/2018 11:52 IonutPop#40
Tutorial: how to add login with Google reCAPTCHA: [Only registered and activated users can see links. Click Here To Register...]
03/08/2018 15:58 D4niii#41
Quote:
Originally Posted by IonutPop View Post
Features: Modern design
Mhh..

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Sad
03/08/2018 16:10 IonutPop#42
Quote:
Originally Posted by D4niii View Post
Mhh..

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Sad
For me it's not important design, script it's open source, you can edit it, you can change anything. Important are the features.
03/11/2018 07:56 Ex0dia#43
Hello,

you should check this out and maybe take use of this framework for your cms:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

It implements alot of nice features like:
  • Page router
  • Eloquent Database System (Models)

There are many developers contributing to that project and alot of nice plug and play plugins that u can use.


A few things about your cms:
You can't just go and print the whole exception to a user.
If there is a connection issue this would expose the database ip instantly.
And its very unprofessional to print exceptions..

PHP Code:
        catch(PDOException $e)
        {
            echo 
$e->getMessage(); // Don't do that
        

You should think about using a template engine for your html stuff.
- Smarty Template Engine
- TWIG Template Engine (better)


PHP Code:
    $jsondata file_get_contents('include/db/settings.json');
    
$jsondata json_decode($jsondata,true);
    
$jsondataRanking file_get_contents('include/db/ranking.json');
    
$jsondataRanking json_decode($jsondataRanking,true);
    include 
'include/functions/json.php';
    
$site_title getJsonSettings("title");
    
$paypal_email getJsonSettings("paypal");
    
$forum=getJsonSettings("forum""links");
    
$support=getJsonSettings("support""links");
    
$item_shop=getJsonSettings("item-shop""links");
    
$top10backup_day=getJsonSettings("day""top10backup");
    
$top10backup_month=getJsonSettings("month""top10backup");
    
$top10backup_year=getJsonSettings("year""top10backup"); 
You should use apc or any kind of cache for this stuff.
Loading these json files on each request will always take time.
Or you can use a php file that will be cached by [Only registered and activated users can see links. Click Here To Register...].

And honestly this...
This file is a fiesta.
I'm pretty sure u dont know yourself what is happening there on each case.
[Only registered and activated users can see links. Click Here To Register...]

Why is this script is doing api requests to your server on every "top10backup":
[Only registered and activated users can see links. Click Here To Register...]

No....
PHP Code:
        if($page=='administration')
            include 
'include/functions/administration.php';
        else if(
$page=='password')
            include 
'include/functions/password.php';
        else if(
$page=='email')
            include 
'include/functions/email.php';
        else if(
$page=='vote4coins')
            include 
'include/functions/vote4coins.php';
        else if(
$page=='referrals')
            include 
'include/functions/referrals.php';
        else if(
$page=='redeem')
            include 
'include/functions/redeem.php';
        else if(
$page=='admin'
Check this out
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]


Composer:
Then u should check the php composer repository...
There are alot of nice libraries that you can use to save time.

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]



I would not recommend that to anyone to use this in a production environment.
He is probably collecting the ip addresses from the servers hosting that cms.
There are alot flaws in this cms.



Kind regards
Ex0dia
03/14/2018 00:00 IonutPop#44
Quote:
Originally Posted by Ex0dia View Post


I would not recommend that to anyone to use this in a production environment.
He is probably collecting the ip addresses from the servers hosting that cms.
There are alot flaws in this cms.



Kind regards
Ex0dia
Lol, [Only registered and activated users can see links. Click Here To Register...]
PHP Code:
$api = [MENTION=334094]FiLE[/MENTION]_get_contents('http://api.metin2cms.cf/cms?site='.$site_url.'&key='.$date['key'].'&version='.$date['version']); 
I send only version of site and current date, what can I collect else?
"He is probably collecting the ip addresses from the servers hosting that cms." haha, you know everything.
P.S. : I work on frameworks like laravel and symfony, but I will not offer such a site to metin2 community. It's open-source, who wants to use it customize it at will. Success.
03/14/2018 20:15 Ex0dia#45
Quote:
Originally Posted by Remix v403 View Post
you cant customize it because the code is complete utter shit and not maintainable
He's definitly right...

Quote:
Originally Posted by IonutPop View Post
Lol, [Only registered and activated users can see links. Click Here To Register...]
PHP Code:
$api = [MENTION=334094]FiLE[/MENTION]_get_contents('http://api.metin2cms.cf/cms?site='.$site_url.'&key='.$date['key'].'&version='.$date['version']); 
I send only version of site and current date, what can I collect else?
"He is probably collecting the ip addresses from the servers hosting that cms." haha, you know everything.
P.S. : I work on frameworks like laravel and symfony, but I will not offer such a site to metin2 community. It's open-source, who wants to use it customize it at will. Success.
Hi,

don't take it personally but this api request is collecting data.
On your site you can just use '$_SERVER['REMOTE_ADDR']' and you can save the ip address including all your other details in the query string.
At least the ip address are logged in the access log from your web server.

"I work on frameworks like laravel and symfony"
That time waste then...

I just gave u some suggestions how u can improve it.
If you are clever enough u will notice it on your own that no one should use this in a production environment.

To improve some basic things like moving pages to oop objects takes not much time.
Improving the router and using a template engine for the html stuff should not be that hard.

I'm not gonna say anything more because u feel offended.
That's it.

Kind regards
Ex0dia