ARGOS multigaming cms

но пък струва ли си да пускам пак file_get_contents за нещо, което потребителя така или иначе няма да пипа ?
За това реших така да е, иначе може, не е проблем...
Какво имаш предвид със "струва ли си"? Действително, ако четеш от файл, ще работи по-бавно, дори в пъти повече (от директно писане в променлива), заради достъпа до диска, но темплейт енджина би трябвало да го кешира при първото зареждане и после да няма вече file_get_contents. Кешира в следния смисъл: "прочита файла веднъж и генерира php код, който има като променлива съдържанието на файла, и при следващо зареждане директно вика php-то".

Ам.. дай съвет, какво да ги правя тези иф-ове... ?
Относно if-овете – хвани най-вътрешните блокове и ги изнеси във функция с описателно име. После хвани блока със следващите 1-2-3 вложени if-a и направи същото. Може да тръгнеш и от другата страна – да почнеш от най-външния if блок и else блок, да ги извадиш във функции, и после от новите функции да вадиш следващите части.

Обърни внимание, така изнесените функции дали имат нужда от параметри – чрез параметрите ясно ще си проличи коя функционалност от какво зависи.

В момента кодът е труден за четене, понеже, за да разбера какво прави custom_page функцията, трябва да изскролвам няколко екрана, за да видя на кой if, кой му е else-ът, и в двата случая какво правиш. Ако успееш да го сведеш до това, ще бъде много по-лесно:

PHP:
public function custom_page() {
    if (strpos($_SERVER['REQUEST_URI'], '/pages/forgot_pw') !== false) {
        if (isset($_GET["key"]) && isset($_GET["email"])) {
            $this->reset_user_pass($_GET["email"]);
        } else {
            $this->display_reset_pass_screen();
        }
    }
}

(И по подобен начин да изглеждат вътрешните функции)

Може да се зачетеш тук: https://softwareengineering.stackex...9/how-would-you-refactor-nested-if-statements
 
Последно редактирано:
Благодаря за коментарите, хора :) Ще видя какво мога да пипна още...
Утре съм на урок по испански отново и след това чак в Понеделник пак... Казаха, че повече ще се говори за диплома за А1.2 и си е сериозно учене...
По-малко време ще ми остава за системата...
Работя и с още 1 момче по негов проект...
Вие тук добре ми обяснихте някои неща, ами аз като отворих неговата система .. и направо останах без думи, ето на: https://pastebin.com/YAAWwdzC
Това е част от 1 контролер (само 1)
И системата струва 900$ в пълна версия и 100$ в по-малка. 2500 пъти купена, мината през ioncube и въобще... МАЗАЛО.
Моите малки екстеншънчета бледнеят пред това, колко код е изписан в тази система с която работиме в момента..
Положението е много зле..
За това се реших да надграждам Аргос, тъй като другите системи са почти в такова състояние, че и по-зле и незащитени...
Тази за която ви казвам е за Му Онлайн. Сайта е https://dmncms.net/
Темплейти по 70$..., където може да се откраднат за 1 час и да ги вкарам в моята...

Е, ще видим какво ще стане, дано ми остане повече време, имам много хъс да пиша още код, но не всичко зависи от мен на този етап.
 
phahahaha :D Еми накрая ще е тъй...
 
Здр guys :)

Мина доста време от последния ми пост, но в момента работя над нови екстеншъни за системата за Му Онлайн. Вече са 10.
(Mu Core, Mu reset stats, Mu add stats, Mu PK Clear, Mu Rankings, Mu Teleport Char, Mu Server Status, Mu Char View, Mu Guild view, Mu Events)
Екстеншъните са много голями и много функционални. Не работя сам по тях...
Скоро като привърша ще кача демо на екстеншъните и цени.
Версията е S6 E3, но могат да се преработят за всеки друг сезон или версия. Все пак се работи с почти едни и същи датабази.

7.2:
- Добавена е datetime zone функция с времето за определена държава
- Добавен е php.ini (понеже на някои хостинги може да имате проблем, както наскоро с namecheap и по-точно под PHP 8.1 или по-нова)
(Вътре в него са най-важните модули - включени)
- Добавено е required на полетата във фронт частта за всички темплейти при качване на видео (забелязах, че нямаше и някой беше качил видео без линк... Няма смисъл от бекенд проверка, тъй като всичко се одобрява от админите)
 
Ново демо: https://new.crystalsmu.com/ (има още доста неща свършени, но не са качени)
Скоро всичко ще бъде завършено и ще се очаква да пуснат сървъра. Работиме няколко човека по различни неща.
Дизайна не е мобилен, но почти всички му сървъри са с такива дизайни, тъй като се играе през компютър и играчите почти не влизат от мобилни устройства. Всички функции са годни да се изпълняват след игра.

Много работа падна. Системата вече е с 52 екстеншъна от моя страна. Когато започнах бях с 0 :)
Дизайна на някои екстеншъни вече е преработен и не седят само прости селект форми. (използват се таблици пригодени за всеки екстеншън)

Предполагам, че до 10-15 дни ще привършиме.

Цената на темплейта е 30 евро. Всеки от екстеншъните за Му Онлайн е от 10 до 20 евро.
Има някои доста големи екстеншъни (за ресетите, гранд ресетите)...

Сървърните файлове са - https://ltp-team.com/ (Мога да ви свържа с човека, който ги продава и дори с моя човек, който има доста едитнати неща и къстъм предмети, босове, куести и какво ли още не...)
Цената ще е над 200$, ако искате да купите къстъм файловете от моята връзка. Ако искате да ги купите чисти, може да си ги ползвате и така, но има тук-таме някой бъг. Моя човек и човека, който ги продава са работили заедно до някъде...

Това е за сега :)
 
Само да добавя, че има някои незавършени неща на горното демо. (стилизация на темата на някои места)
Тъй като темата не е bootstrap базирана, всичко се почна отначало. С Jquery съм пре-реплейснал алертите, така:
//replace alert classes
$('.alert-success').addClass('s_note').removeClass('alert-success');
$('.alert-warning').addClass('w_note').removeClass('alert-warning');
$('.alert-danger').addClass('e_note').removeClass('alert-danger');
$('.alert-info').addClass('i_note').removeClass('alert-info');


тъй като темата си има собствени алерти.

Инпут полетата, текстареата, селекторите, чекбоксовете не са стилизирани на горното демо, но във финалната версия всичко е ок.
Скоро ще качим всичко.
 
7.3:
- Всички библиотеки са ъпдейтнати през composer (4 нови ъпдейта)
- Фикснато е показването на групите/последните съобщения от форума през phpfastcache (вече се показват винаги), кеша е оправен
- някои малки промени по темплейтите
- в админ панела е оправен дроп дауна на настоящия таб, ако сте с няколко url параметъра (преди се скриваше настоящото меню), сега се ползва includes() с js проверка.
- PHPSESSID бисквитката е с удължен период, тъй като се ползва за multiserver съппорта при Му Онлайн
- Добавено ново regex правило за Mu nickname промяната. (дългичко е, не го правих сам)

Почти привършихме с главните функции в Mu Online. След това сме записали още неща в един google sheet, но не знам дали ще мога да се справя сам...Хората с които работя заедно, също са малко озадачени...
 
7.4:
- RSS контролера претърпя промени и е махнат HTML-a от него, пренесен е в темплейтен файл
- Същото като горното, но за банер контролера (собствените банери)
- всички библиотеки са ъпдейтнати през composer
- малки промени по му онлайн екстеншъните
- Добавен е FiveM поддръжка при добавянето на сървъри


Общо екстеншъните към момента са 63. Повечето от тях са за Му Онлайн, но който иска мога да му донапиша още за която и да е игра, просто трябва да ми дадете достъп до sql датабазите ви.


==============================================================
Темплейта blackfyre е интегриран. Демо може да видите на https://argos.pw/
Акаунти:
demo pass: demo12
demo1 pass: demo12
demo2 pass: demo12
demo3 pass: demo12
demo4 pass: demo12
demo5 pass: demo12

На демото някои функции може да не работят, тъй като версията е 7.0, а вече съм стигнал 7.4.
Ако сте влизали в демото и сте избрали нов темплейт от менюто, моля изберете blackfyre или просто цъкнете във фуутъра 'изтрий бисквитките'. (delete cookies)

Темплейта след логин разполага със style switcher. Може да сменяте цветовите гами на темплейта със зелена, червена, жълта и лилава. Синята е по-начало.

Ето и малко демо снимки:

Бекграундите не се сменят при промяна на цветовите гами, но това не е проблем. В CSS файловете в colours папката може да си добавите body евент и да смените бекграундите според цветовата гама.
Също така, ако не ви харесва как седят в момента в менюто цветовите гами, мога да ги изкарам в странично меню и да може да се избират с него, както тук - https://skywarriorthemes.com/blackfyre/
Темплейта разполага с Fontawesome, Valid W3C Code, Bootstrap 3, BXSlider, NewsTicker Jquery plugin и imagesloaded jquery plugin.
Цена: 30 евро.
 
Още го ъпдейтват, само че в codecanyon версията е за WordPress.
 
Guys, започвам да ъпдейтвам пак системата!

Версия 7.5:
utf8_unicode_ci -> utf8mb4_unicode_ci (навсякъде + екстеншъните)
Добавени са версии за css/js библиотеките. От конфигурация в админ панела може да си задавате версия! Когато правите промени по css/js е хубаво да вдигнете версия +1, за да се кешират наново ресурсите и да не се налага триене на история/бисквитки и т.н.
На всяка библиотека, може в края й да сложите: ?v={{css_js_ver}} за да има тя версия... Всички темплейти вече са обходени и е добавено където трябва. Ако правите свой темплейт, просто си добавете в края, това, което написах: ?v={{css_js_ver}}
Скрит е фрейма и тултипа от Gtranslate екстеншъна, тъй като има промени, които са правени наскоро.
Тествана под PHPBB 3.3.10
AJAX Profile view боксчето, което се показва при ховър вече е с проверка за inviewport и се показва само веднъж, а не по няколко пъти при ховър на даден профил.
Леки фиксове по gamecity темата (премахнат е скрипт за style switcher (тя не ползва) и хедър менюто е доближено до контейнера максимално, за да си пасне както трябва)
Във всички темплейти е добавен нов файл "_functions.php" - от него може да кал-вате (Викате) ваши функции, които да са custom и да си ги викате навсякъде по темплейта! Вътре съм дал прост пример...
Ако решите да има нещо къстъм, може там да си го извъртите или да ме попитате как да стане. Така ще е по-добре, за да не се маже по core файловете... Както при Wordpress!
Добавено е (Author) и (Commentator) в коментарите като таг след никнейма, за да се знае кой е автора на новината и кои са коментатори в нея.
Екстеншъна за comment replies (отговори към коментарите) също претърпя малки промени, тъй като беше несъвместим с gameforest темата.
Всички библиотеки са ъпдейтнати и всичко беше наред.


До 1 седмица ще купя хост и домейн колкото за демо, че този сега изтече!
Екстеншъна за staff online е готов, само трябва да се преведе. След това започвам и preloader-a :)
 
Ще я пробвам в codecanyon скоро, но ще трябва още работа.. Направо цялата с всичко ще я кача.. Да видим дали ще мине...Дано поне един я купи, сърбят ме ръцете да я подобрявам..
 
Ще я пробвам в codecanyon скоро, но ще трябва още работа.. Направо цялата с всичко ще я кача.. Да видим дали ще мине...Дано поне един я купи, сърбят ме ръцете да я подобрявам..
После да пуснеш линк към страницата там. ;) Кви пари ще и искаш. Имай предвид, че ще те скапят от въпроси към съпорт частта. ;)
 
Ще пусна :) Аз това искам, да я купят и да откриват бъгчета или да дават заявки за нови неща, мерак ми е да я направя добре..
Има си работа, но трябва да я документирам по-добре и да сложа коментари към кода на повече места. Отделно трябва да опиша лицензите на всичко каквото съм ползвал от github.. В момента на места има смешни коментари към кода, а някои са дори на български. (оставени още от предишните хора, които са я правили и не съм ги пипал)
Работя до 18:00 вечерта и ми остава малко време за работа... Събота и Неделя наваксвам.. :) Не съм мислил за пари, но ще пробвам с нещо от рода на 70-тина евро за всичко.. Може и да е по-малко, ще видя какви са другите еквиваленти на тази там.. Не съм ровил..
 
Коментарите най-вече ги слагам към функциите, за това как се ползват. Ползвам и tidy плъгин, който сам генерира всичко, просто се допълва инфо за всяко variable.
На някои места се ползва доста сложен код и там няма коментари.. Пример за сглобката между ядрото и екстеншъните.. Има някакви масиви, сравнения и не само, четене в директории, под директории и т.н.
Има и още подобни неща, но за файловата система. Тези неща не са мои, но работят и не ги пипам. Щом работят и под php 8 значи са сравнително добре написани...
Системата хич не е малка.. Vendor папката е 1200 файла..
За мен е супер и си има всичко, но трябва 1-2-ма да я купят с няколко сървъра и да започнем работа по нея, така като я ползват повече хора..
 
Като кажеш колко е голяма вендор папката и ме караш да съжалявам, че съм писал в темата.
 
Виж, на мен това ми е една болна тема.. Защото, ако човек сам си напише класове/функции и си работи с тях, а не да ползва някакви неща, които пък са зависими от други неща и започва там един кръг.. Омагьосан..
Сега заради някаквo mobile detect репо, то вика със себе си още неща..
Това за мен е проблем, но аз нямам време, а и за някои неща няма как да ги направя сам.. В нета има уроци и как сам да си направиш темплейтна система дори.. Но.. Такъв е живота вече нали.. Имало готово измислено и там с някакви команди си го викаш..
Дразня се и искам да е изчистено и да знам с какво работя..
Сега като вляза във вендора там има папки с имена, които не ги знам какви са и са логично извикани от моите главни репота, тъй като са зависими..
Влизам вътре и гледам като паднал от небето.. Сложни неща наистина, но идеята ми е, че мога сам да си направя/потърся неща, които да знам/разбирам как работят или каква им е логиката..
Ей за това се нервирам и това за мен е болна тема..
Рутиращия клас е много добре направен и работи супер.. През него задаваш и темплейтен файл, може и ланг файл и така за всяка страница всичко е конкретно.. Сам такова нещо не мога да създам.. Нали 1 птичка пролет не прави, но идеята е, че вендор папката от 1200 файла може да е 50,100 или 150,но 1200 за 7-8 репота не ми изглежда добре..
 
Последно редактирано:

Back
Горе