[Sell] Argos CMS / MVC logic less

Ентусиаст си, не се отказваш. Вече е 2023 края, a темата от 2022 и май освен @pafa7a друг не е коментирал. Викам и аз да се разпиша с един безсмислен коментар :)
 
Е..Имам само 1 клиент за сега, който е доволен и след известно време ще стартира проекта си. Https://lob.bg
========================================================
8.4.2:
- Темплейтите бяха обходени и всички минификационни файлове са изтрити и са заменени с пълни версии (броят се на пръсти), тъй като останалите бяха заменени от CDN-та.
- Добавена е възможност да си пишете чейнчлог файлове на екстеншъните, които се четат директно от админ панела на Аргос. В папката на екстеншъна ви трябва да има changelog.txt файл, който може да си го описвате като html. В админ панела ще видите това при клик на версията на конкретен екстеншън: https://i.ibb.co/fYt7ZG8/image.png
- Всички темплейти бяха обходени и отново където имаше не-индентнат код е индентнат
- Премахнати са някои правила на html minify библиотеката (премахваше " кавичките на класовете, което според мен е предпоставка за грешки) - Изключват се за секунди, напомням, че се ползва тази библиотека - https://github.com/voku/HtmlMin
- Всички библиотеки бяха ъпдейтнати през composer (имаше 2 библиотеки, които бяха "захапани", тоест ъпдейтнати)
- Чейнчлог файла е ъпдейтнат, както и рийдми-то
- В basecontroller-a имаше някои корекции свързани с глобалните променливи

Исках да оптимизирам и изкарването на къстъм леви и десни менюта, но логиките не съм ги писал аз, ползва се DOMDocument и някакви странни цикли, първо foreach, пък вътре има while.. Въобще.. Пробвах да ги махна, но пък дава html грешки и не се трият първите дивове в orizon темплейта, ако премахна тези цикли.. Ще го оставя за по-нататък, когато имам повече време, може и тотално да ги пренапиша. По принцип менютата се изкарват без досег до sql таблиците, а директно чрез функции print_to_left($content) и print_to_right($content), направо изплюва съдържанието което му е подадено в конкретен евент (от евентите на системата)
Дали това е правилен начин - не знам, тъй като при 10 менюта - това са 10 заявки - първо с file_get_contents за html файловете на конкретно мено и след това с DOMDocument се манипулира и запазва съдържанието на менюто, което при повечето случаи е HTML.

Както споменах вече и в предната версия всичко вече е индентнато и може да има някой бъг, тъй като съм ползвал автоматични индентатори на код. Неймспейсовете не са PSR12 - не мога да преправям сега всички екстеншъни и да им сменям имена на папки, неймспейсове и т.н. Това няма да стане сега, а по-нататък.

Ако няма интерес към системата ще преосмисля да пусна ядрото безплатно с default темата и 4-5 екстеншъна от тези на val4o0o0.
Вид маркетингово трикче, пък ако я харесате ще си плащате за останалите темплейти и моите екстешъни! Цените няма да са надути!
 
8.4.3:
Вече системата не работи с HeadJS - махнах го. Прецених, че тази стара библиотека вече е ненужна.
Официален сайт: https://headjs.github.io/
Benchmark: https://headjs.github.io/test/headjs.html
Резултатите с нея и библиотеките най-долу са почти еднакви, даже понякога като са долу е по-добре.
Всички темплейти претърпяха промени, както и екстеншъните, тъй като всичко беше написано с нея.
Добавих и нов евент: core_event_js_libs_insert - В него се инжектират само js библиотеки - <script src="link"></script>
Също така стария евент: core_event_inside_head_ready_front е преименуван на: core_event_inside_script_tag
В този нов евент се инсертва js кода директно в <script></script> тагове долу под библиотеките, където е и ядрото на jquery.
 
8.4.4:
- Ъпдейтната е tablesorter библиотеката в greyfish папката и ползва вече fontawesome
- В чата юзърнейма вече се взима от сесията, а не през hidden input-a
- config таблицата е дропната и е преправена, работи на съвсем друг принцип (минималистичен), изменения и в install/sql.php и в някои екстеншъни (от моите)
- Добавено е автоматично създаване на config.env, ако го няма (като празен файл) - предотвратява грешки. (не е задължително обаче :))
- В темплейтите беше забравен head.ready на места и вече е минат през обикновения dom content load. (purplemagic,crystalsmu и lob)
- Фиксната е грешка в инсталатора заради необхванати проверки за redis server и port
- Добавени са css дефиниции за dropzone по темплейтите, тъй като се ползва cdn вече и бокса беше без цвят (при default темплейта не са нужни)
 
Нови екстеншъни!

Става дума за разширение на чата, който така или иначе побира само определени съобщения. Чрез jquery разширявам функциите му, като отново прихващам бутона за събмит и събмитвам всичко в отделна таблица (за чат хронология). Всичко си се поддържа - emoji-та, линкове и т.н.
Новото тук е, че вече има и изцяло нова тагинг система в този addon. Как работи ?
При писане в чата на @user - прихваща user-нейм-а и праща лично съобщение до тагнатия от този, който го е тагнал в чата с подкана да влезе в хронологичната страница и да види съобщението с тага.
Всичко стана лесно и бързо с pregmatch all, един foreach и масив, който излиза от regex правилото.
Pattern-a поддържа само букви, цифри, _ и -, като има и подминаване на емейли, ако се засекат... Тоест работи само с @nick.
Ако има проблеми то те ще са в regex правилото, но от тестовете ми не забелязах такива.
Къстъм страницата е на адрес: your-site.com/pages/chat_hrono

Също така има и още 1 екстеншън, който от админ панела може да задавате meta description таг само за индекса. Причината е, че в индекса няма дескрипшън, а е добре да има. Става от 1 поле в къстъм страница от админ панела.
Нарочно не съм вкарал такава функция в ядрото, тъй като може да стане от екстеншън, иначе трябваше да има там иф-ове и самия мета таг, а така става по-бързо и лесно.
Целта ми е темплейтите да са максимално опростени, за да може да се променят по-лесно
:)
 
Last edited:
8.4.5:
- Грейфиш зоната и листата са стандартизирани с изключение на зоната на foxstrike, която не работи с carousel.
Вече се ползват CDN-та с изключение само на tablesorter библиотеката. Carousel-a вече е https://flickity.metafizzy.co/, a пък fancybox беше ъпдейтнат до последната 3х версия.
- В контролера за инсталатора е добавена редис проверка за дали е успешна кънекцията към сървъра или не (предотвратява грешки)
- Оптимизация на sql заявка с inner join в чат контролера
- Фикснах също така календара в админ панела да не захожда към Декември от Януари на предишната година и към Януари от Декември към следващата година (с прости проверки и return)


Разширих малко advanced comments екстеншъна, а именно вече след +10 и -10 рейтинг на коментарите се оцветяват в различни цветове (зелено/червено), ето демо:
https://i.ibb.co/Gt2s8RH/image.png
Това работи със settimeout, тъй като няма как иначе заради аякс-а, който извежда отговорите към коментарите. Нагласено е на след 10 секунди.
Тоест като минат 10 секунди тогава оцветява всичко, което е намерило като рейтинг +10 и повече/-10 и повече. Просто няма как на този етап. Промените са в js файла на екстеншъна (само)

Скоро ще ъпдейтна демото с последната версия, тъй като промените са много. Очаквам по-добър перформънс при зареждането на сайта като цяло.
Също така ще кача и банлисти, за да се активират магазините...
 
Нов екстеншън!


Става дума за гласуване с page peel ефект в bgtop.
Jquery библиотеката е сравнително стара и добре известна - https://github.com/robflaherty/jQuery-Peelback
Може да си сменяте и изображението за peel ефекта, а и изображението за bgtop което се явява вид реклама зад peel ефекта.
Аз намерих случайно в гугъл това и го оразмерих, но не се получи много добре като цяло... Може някой който разбира от PS да направи някое по-добро и да си го сложи него.
Също така не съм слагал 24 часова проверка, тъй като няма смисъл (според мен, защото е добре прикрито горе).
Ако някой иска, мога да сложа и проверка за 24 часа като на мястото на изображението да се показва друго - че, трябва да се изчака 24 часа, за да гласува пак и отдолу може да пише "Благодарим за интереса и отделеното време". (хмм...)
 
Утре довършвам голям екстеншън. Става дума за статистика (мониторинг) на гейм сървъри. Доста голям!
Има claim на сървър, boost/vip услуги, рейтинг система (колкото повече гласували за даден сървър - той се издига), favorites, голяма търсачка и т.н.

Утре го довършвам и пращам на следващите клиенти, които го платиха. Ще дам и лайв демота.
Cron-a е направен по добър начин и работи чрез сесии и ъпдейтва сървърите на по-малко, за да не се пускат всички сокети в loop-a.
Много добре го измислих и работи. Като стигне последна страница - се ресетват стойностите и почва от страница 1.
Всичко работи перфектно, има и няколко jquery библиотеки - получи се супер, а и клиентите го харесаха..
 
След 10 дни работа и 5000 реда код - дойде време да представя и новия екстеншън - Става дума за Гейм мониторинг система за гейм сървъри. Към нея и по желание върви мастър сървър настроен да работи с базата й данни.
Демо - https://game-select.eu/ (все още в разработка и промени по html/css)
Скоро ще има още едно демо на нов клиент, който около Коледа ще си я закупи, вероятно с някой друг темплейт.


Системата е много напомпана и с много функции!
- Рейтинг система (рейтнатите сървъри се рейтват само от регнати потребители)
- Boost/Vip услуги - първо е boost после е vip в листата, а след тях са рейтнатите сървъри по рейтинг
- Favorites
- Claim (може да се удостоверява собствеността и сменя user id-то, което е публикувало сървъра)
- Статистики за 24 часа (играчи/карти от cronjob-а)
- Cronjob-a работи по специален начин на база сесии и ъпдейтва сървърите на по-малко и след финалната страница се ресетва и почва от 0. По-начало ъпдейтва 5 сървъра на препоръчителни 3-4 минути cron.
- Голяма търсачка с много опции
- Голям specific view за определен сървър
- Репорт система
- Банер статистика
- Преглед на играчи + Load more бутон (ако има сървъри с много играчи да няма много scroll)
- Country + флаг поддръжка
- Бот поддръжка
- Copyto Clipboard js библиотека, tooltip библиотека, charts.js библиотека + save input in cookie библиотека
- При добавяне може да се избира гейм мод (за специфична игра са различни и се контролират от главния js файл)
- Събран в 1 екстеншън (всичко е в ext.php), в папката на екстеншъна са всички файлове (html/js/css/imgs)
- Външни боксове в индекса (последно добавени, последно буустнати, последни вип) + статистика по игри (колко сървъра са добавени и колко онлайн играча има)
- Ban/Изтриване на сървър
- Възможност за owner-a да качва csstats.dat файла за 1.6 сървърите (само) и принтва цялата статистика + странициране
- преведена на bg/en/ru/fr/es
- изображенията се взимат от gametracker.com + js проверка за счупени изображения и сетва дефолт изображение
- Добавена е хостнейм хронология (смяна на името на сървъра) + jquery datatables (показва се при прегледа му)
- Добавена е хронология за вип/бууст пакетите за определен сървър (показва се при прегледа му)
- Добавени са боксове с допълнителна статистика в индекса на база държави/играчи

Също така има още нови екстеншъни:
- Breadcrumb (може да се види на демото горе), добавя breadcrumbs на всяка страница
- popup alerts (с IZiToast jquery библиотека), добавя алтерти като попъпи за определени акции на страницата. Има и звуци към тях, но не се чуват винаги (заради chrome политиките), може да се махнат при желание
 
8.5:
- Всички мета рефреши са заменени с header refresh през php
- Добавен е клас на аватар функцията във includes/functions.php
- Функцията за грейфиш претърпя промени, тъй като поради не-точни проверки статуса на офлайн сървърите не се е сетвал. (вече е ок)
- dropzone ъплоуд формата вече е със сетнати css атрибути и се изобразява добре според темата тъмна/светла.
- Добавена е функция translate($from,$to,$word) - работи с гугъл API, но не изисква API key (в бъдеще, ако има промени ще се пренаписва), едвам я намерих из гугъл...


Нов екстеншън! Вече има голям ajax chat (копие на cbb чата), може да го видите в действие на https://game-select.eu
Чата разполага с доста функции, като :
- ББ кодове
- Mention система
- ЛС (отварят се стаи и се избира на кой да отговориш, ако са ти писали други потребители)
- Спиране/пускане на звук
- Чат хронология
- Админите могат да трият съобщения или всички съобщения с бутони, които са видими само от админите
Все още е в разработка и по време на работа, може да срещнете бъгове. Ще се постарая тези дни да го довърша.
Чата няма нищо общо с вградения в системата, задължително е, ако го ползвате да спрете вградения чат. (става от Конфигурацията в админ панела)
 
Минавам само да спомена, че онзи ден се опитахме да я инсталираме на хост, който нямаше MariaDB, а само MySQL и даде на късо..
Тоест, таблиците в sql.php в инсталатора не се изпълниха до край, защото MySQL разклонението не поддържаше едни DEFAULT стойности на колони в таблиците. Наложи се да редактирам на ръка...
Също така в момента системата има проблем, когато е в под папка. Трябва да се инсталира в главната. Ще се постарая да го оправя.
Рутиранията не се възпроизвеждат, а уж има зададена проверка за под папка в рутиранията (core.php) и RewriteBase за под папка. Удря 404 въпреки това... И може би проблема е само в инсталатора май, но не съм се задълбочил..
Мъчих се малко онзи ден, но не стана... Тъй де, ще го оправим някак, това мисля, че не е важно сега. В следващите ъпдейти ще го имам в предвид.

Весело прекарване на новата година! :)
 
Оправих проблема с рутирането. Проблема е бил съвсем малък и още от първите версии са си го оставили така.
В core.php се намира:
Code:
$router->setBasePath($route_dir);
-->
Code:
$router->setBasePath('/');
И проблема се отстранява, дори не трябва rewriteBase през htaccess.

На $route_dir е имало:
Code:
$route_dir = (str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME'])) == '/') ? $route_dir = '' : $route_dir = '/' . basename(__DIR__);
На локалката и на jump.bg не работи този метод, защото сетва папката в която е системата.
Явно като са я писали и тествали е било на някой локален хост и е сработвало, но вече не. Било е много отдавна според мен.

Също така в админ панела имаше неточности с едни таблици за хронология (логове) и са оправени (не се подреджаха една до друга).

Има и нов екстеншън:
https://game-select.eu/pages/user?u=game-select
https://game-select.eu/pages/user?u=AsusRogStrix
https://game-select.eu/pages/user?u=Unionplayer
https://game-select.eu/pages/user?u=Vulevv

Това е екстеншън за преглед на профили, като потребителите могат да заключват частично някоя информация. (Админите винаги виждат всичко)
Публични са профилите и се виждат добавените сървъри, дата на регистрация, аватар, име, кредити, хронология на кредитите и т.н.
Целта е започване на изолиране на phpbb3 като функции. Естествено може да му се добавят още много функции.
Имам екстеншъни за регистрация, забравена парола, смяна на парола и сега и този. След няколко дни ще направя и смяна на аватар.
В екстеншъна има is_ext_active() функции и си комуникира с gmon/profile екстеншъна, може да се добавят още функции от други екстеншъни.

phpbb ще е наложителен винаги, но може да го ползвате само за ядро, а не реално. Може дори да го затворите и забраните регистрациите от админ панела.

Също така cbb чата вече е завършен, може да се затварят стаи, да се цъква върху аватара и още други глупости, които вече не помня. js файла му е 800 реда, а пък ядрото (ext.php) - 600.
 
8.5.1:
- Fixed: PHP Deprecated: Creation of dynamic property PHPRouter\Route::$action is deprecated in /home/test/public_html/argos/vendor/pok4/php-router/src/Route.php on line 176
Warning-a се е показвал при инсталатора в рутиращия клас. Той вече е архивиран, тъй като автора му има друга версия, която разработва. Аз съм го форкнал и си налагам сам промени по него. Предпочитам го, защото пък иначе ще трябва много пренаписване.
Има 2 начина за отстраняването му - https://sanjeebaryal.com.np/fix-creation-of-dynamic-property-is-deprecated-since-php-8-2/, аз предпочетох първия, просто го декларирах като private и предупрждението изчезна.
- Добавен е пълен път към no avatar изображението за потребителите във функцията get_user_ava_by_id(). (Когато системата е в под папка е вадило счупено изображение)
 
8.6:
- Добавена е възможност за изобразяване на новините в къстъм страница, а не в индекса. В config.env - BLOG_MODE="1"
- Добавена е възможност за създаване на къстъм евенти във _functions.php на темите. От там вече може да създавате евенти, ако темплейта ви е по-сложен и да ги задавате по екстеншъните. Целта е да не се пипа в includes/events.php. Парчето код е същото като там, но с global $dispatcher във foreach цикъла.
- Всички библиотеки са ъпдейтнати през composer, засече ъпдейт на LGSL (добавени са GTA CONNECTED и още някакви други игри)
- Изменения в рийдми.

Работя по интегрирането на нов темплейт, който няма да се пуска безплатно със системата, също така и по нови екстеншъни за същия проект. Ще предоставя демо в най скоро време!
 
Здравейте,
Искам да представя новото разширение за gmon екстеншъна - https://game-select.eu/pages/widget?ip=51.89.78.39:27015

Става дума за напълно контрулируем уиджет, който може да ползвате във вашите сайтове, вместо да инсталирате lgsl/greyfish или друга библиотека.
Работи с кеш, като информацията в уиджета се обновява на 5 минути (тоест инфото за вашия сървър). Инфото се съхранява на хоста на game-select в Redis.

Работи с PHP GD и малко jquery + библиотеката за цветовете.
Също така уиджета може да бъде на един от поддържаните езици в системата.
Цена на екстеншъна: 60 лв. (върви само с gmon екстеншъна, иначе не се продава отделно!)
 
Всички мои бъдещи и настоящи клиенти могат да ми пишат, за да им изпратя cronjob файл писан на python за gmon статистиката, която е писана от мен. Екстеншъна вече разполага с cronjob, който е писан на софтуерен език и използва async requests и работи моментално за игрите поддържани от системата. В момента само FiveM не се поддържа, но съм писал на автора на game query-тата, за да видим дали ще добави поддръжката.

Библиотеката е тази - https://github.com/opengsq/opengsq-python

Така вашите сървъри ще се обновяват без видимо закъснение и питон е по-подходящ като цяло за тази работа. Предимствата също така са, че файла може да е винаги с вас на вашия личен компютър и да го пускате от там, независимо дали сте под Windows/Linux. Трябва да си изтеглите python + python mysqldb с pip. Ако сте под Windows Windows Visual Studio Code 143 (около 3гб), на линукс това нещо не ви трябва.
Забележка: Ако го пускате от ваша лична машина, имайте в предвид, че ви трябва отдалечен mysql достъп даден от хостинг компанията ви за вашата машина, за да може да се свържете с датабазата отдалечено.

Питонския скрипт може да се настрои на 3-4 минути, за да обхожда всички сървъри. Аз в момента го тествам със 150 сървъра и работи много добре наведнъж.
:)


Искам да подчертая, че в момента всичко е ОК и без него, но ако имате над 500 сървъра, първите сървъри в моментното обновяване ще са с голямо закъснение докато се обходят всички 500 и се стартира обратно от 1 (първия).
С този питонски скрипт би трябвало всичко да е Ок и да обхожда нормално. Единствено може да има проблем, ако на сървъра/машината от която сте го пуснали е слаба. (малко cpu/ram)

Файла ще е безплатен и ще върви с екстеншъна за статистиката, не се продава отделно!
 
8.7:
- Добавени са нови regex правила във FormValidator класа в Entity папката (Включително и такъв за валидно steam id)
- Оправен е бъг за ънлогин след логин (при кликване на произволен линк) - не се е получавало всеки път, но забелязах, че в global_vars.php:
Code:
'login_proceed' => append_sid("" . removeLastSlash($_SERVER["FORUM_PATH"]) . "/ucp.php", 'mode=login', true, $bb_session_id),
е било с грешна стойност за SID (Session ID)
-->
Code:
'login_proceed' => append_sid("" . removeLastSlash($_SERVER["FORUM_PATH"]) . "/ucp.php", 'mode=login', true, $token),
Трябва да е с $token, който седи в phpbb_bridge.
За сега не съм забелязъл повече проблеми, но ако има - пишете! (това важи и за безплатната версия, която е пусната тук)
- LGSL беше ъпдейтнат и са добавени нови протоколи: (Necesse and BeamMP protocols)
- Леки фиксове по _functions.php в lob2 темплейта (добавена е проверка за налични резултати от sql таблица)

Напомням за _functions.php:
- Toва е файл, който е предвидено в него да няма html, а ако го има, да не се принтва вътре, а да е в променливи за mustache (логично), може да пишете всякакви функции, да си инциирате ajax заявки към него и т.н.
Също така, вътре може да имате ланг дефиниции и дори може да си направите папка в темплейта lang/ и вътре да си създадете всички налични ланг файлове към момента и да си създадете къстъм ланг дефиниции само за вашия нов и уникален темплейт!

Ето как:
Code:
function translate_some() {
    global $lang_sys;

    $languages = ['bg', 'en', 'ru', 'es', 'fr'];

    $current_language = get_current_language();

    if (in_array($current_language, $languages)) {
        $lang_file = "lang/{$current_language}.php";
        if (file_exists(__DIR__.'/'.$lang_file)) {
            require_once($lang_file);
            $lang_sys = array_merge($lang_sys, $lang);
        }
    }
}
translate_some();

Пример за съдържание на bg.php в template/your_template/lang/bg.php:
Code:
<?php
$lang = [
    'lang_arenaplay_news'=>'Новини',
    'lang_arenaplay_more'=>'Още...',
    'lang_arenaplay_up_img'=>'Качи изображение',
    'lang_arenaplay_shop'=>'Магазин',
    'lang_arenaplay_skins'=>'Скинове',
    'lang_arenaplay_stats'=>'Статистика',
    'lang_arenaplay_list_p'=>'Списък с играчи',
    'lang_arenaplay_list_a'=>'Списък на админите',
    'lang_arenaplay_list_v'=>'Списък с ВИП играчите',
    'lang_arenaplay_banlist'=>'Банлист',
    'lang_arenaplay_requests'=>'Заявки',
    'lang_arenaplay_reviews'=>'Отзиви',
    'lang_arenplay_rules'=>'Правила',
    'lang_arenaplay_credits_stats'=>'Статистика на кредитите',
    'lang_arenaplay_turn_on_navi'=>'Превключете навигацията',
    'lang_arenaplay_maybe_search'=>'Може би търсите това?',
    'lang_arenaplay_notices'=>'Уведомления',
    'lang_arenaplay_notices_new'=>'НОВО',
    'lang_arenaplay_notice_v_all'=>'Вижте всички',
    'lang_arenaplay_found_us'=>'Може да ни намерите тук',
    'lang_arenaplay_good_morning'=>'Добро утро',
    'lang_arenaplay_good_day'=>'Добър ден',
    'lang_arenaplay_good_night'=>'Добър вечер',
];

Това са къстъм ланг дефиниции, които може да ги викате по темплейта си с {{lang_arenalay_list_v}} - примерно, това е от самия файл извадка на ключ от масива, който отговаря за превод: 'Списък с ВИП играчите'.
В останалите ланг файлове трябва да имате същите ключове, но с различни преводи, а именно преводи на : en,ru,fr,es (защото това е от bg.php)

Пак ще ми се наложи да пътувам за Франция и няма да ме има 3-4 месеца. През това време, ако има някой който иска нещо - ще трябва да чака. Заминавам началото на месец Март!
 
Last edited:
Здравейте,

Малко delay имаше от мен, но много скоро (6-7 дни) ще представя нов проект на база Аргос, става дума за нов Counter-Strike 2 сайт, който ще е нещо различно от досега вижданите проекти и въобще в последно време. Става вече около месец го работя и се получава супер, а по дизайна нищо не правя, сервира ми се всичко наготово. Дизайна не е мой, даден ми е и по него кодирам всичко.
Има много функции и ще са трудно достижими за изкопиране/направа.

А за системата:
Има някои неточности по ядрото още, ползва се arrayIterator навсякъде, а не е нужен на места. Дали ако се махне ще има по-добро представяне - може би, може би не. Ползва се на места по ядрото и има нетипични цикли с него, за да може mustache да усвои информацията от цикъла се минава през arrayIterator, но ако самата функция се пренапише и се изкара assign функцията извън цикъла вероятно той няма да е нужен. Вече няколко екстеншъна правя без него и всичко си работи.
Не съм чел какъв му е перформънса, но ако имате 20 екстеншъна и като сметнем и ядрото (там го има на не малко места) - 60-70 arrayIterator функции минаващи всички масиви мисля, че си е доста, може спокойно да се махне....

Обмислям да добавя в админ панела при екстеншъните опция да се вижда колко са включени и колко изключени. Към този момент с последния проект общите екстеншъни са 160.

Също така CS:GO във файлове като категория все още стои и в новата версия ще е вече CS2.

Искам да направя така, че да може да се задават къстъм линкове за достъп от админ панела, защото в момента се избират само наличните в масивите страници от админ панела, а някои клиенти ме помолиха, ако има вариант да се задава къстъм страница, та ако има някой екстеншън, който е податлив на редакция от било то модератори/и/или ваши потребители, на които имате доверие - да се даде достъп.
В момента до екстеншъните не може да се дава достъп, тъй като това са страници с чувствителна информация и може да се правят мизерии, ако някой му дадете достъп и му нямате 100% доверие.
За това ще направя опит да направя така, че да въвеждате директно страницата на админската страница на конкретен екстеншън и да давате достъп само до нея, като изключваме всички останали.

Версия 8.7 е може би най-най стабилната до момента, защото в последния месец при работата ми със системата не съм забелязъл нито един проблем! В момента работя на PHP 8.1, но има 2 проекта, които са на 8.3 и си работят перфектно!

За новият проект има доста нови екстеншъни, но не съм описал и стари в рийдми документацията и след приключване ще се събера и ще опиша всичко и ще дам лайв демо, ще опресня всичко и ще дам пълен чейнчлог за новата версия + новите екстеншъни.

Напомням, че нямам време за нищо, а началото на Март заминавам за Франция и няма да ме има 3-4 месеца. Евентуално след Франция ще съм свободен за нови неща, като вече има хора на опашка, които ще ме чакат...

Айде :)
 
Bonjour... :)

Argos 8.8:
  • оптимизации във includes/functions.php
  • оправен бъг свързан с required полетата във валидаторския клас
  • добавени са почти всички празници в България в евент календара в админ панела.Излизат с туултип.
  • добавена е възможност за зареждане на рутиранията от json файл - routes.json
  • добавена е възможност за добавяне на къстъм страници за достъп от админ панела
  • оптимизации в core.php
Новият проект е завършен и скоро ще дам лайв демо, даден е за тестове на собственика му.
 
Завършвам с един последен ъпдейт, тъй като скоро заминавам.

8.8.1:
- Добавена е статистика в екстеншъните (Тотални, Включени и Изключени), демо: https://i.ibb.co/71MHPL4/image.png
- Търсачката при екстеншъните вече не търси отляво надясно, а търси в пълна конкретика и маркира всичко точно.
- Евент календара пак претърпя промени. Вече съботите и неделите са маркирани в болд и text-warning: Демо: https://i.ibb.co/tYkY309/image.png

Това е последния ъпдейт, след Франция започвам леко по-лека да я пренаписвам:
Сбиване на масивите в mustache с compact
Премахване на ArrayIterator-ите
Замяна на всички mysql заявки с prepare statements
Пренаписване на функции и оптимизирането им (ще ползвам и бота за всеки случай)

Общо взето работа за 1 седмица, но нямам време сега.