[Sell] Argos CMS / MVC logic less

image.png


12.1:
- Добавени са новите логин форми към phpBB. (използа се phpbb_login нейм параметъра)
- Изменения в globals.js (свързано с изобразяването на езиците)

12.0 -> 12.1
Замяна на:
App/
readme/
version.json
template/your-style/js/globals.js
template/your-style/default (отваряте sidr.html и виждате как е направена формата за логин и си я сменяте с вашата във вашия темплейт (не е задължително, но е препоръчително)
(Махнати са hidden полетата и name="login" е сменено с name="phpbb_login"
 
В следващ ъпдейт ще може да премахнете :
Code:
if (count(get_included_files()) == 1) exit("Direct access not permitted."); //Don't edit
от екстеншъните и sql.php, тъй като и това товари доста. С var dump го тествах и връща масив от 38 файла ~ средно. При 30 екстеншъна ще товари и то доста.
Ще бъде заменено от htaccess правило, което ще бъде добавено в главния htaccess файл:
Code:
RewriteRule ^ext/.*\.php$ - [F,L]
Това може да се счита за не-цялостно тестван метод, другия вариант е с дефиниция (define), но засега ще е с htaccess и ако нещо гръмне, ще го преправяме тогава.
 
image.png


12.2:
- Добавена е htaccess проверка за превенция на достъпa до ext/ папката и cache/ папката. (В cache папката има htaccess, но добавих и глобално правило за всеки случай, ако го изтриете по невнимание)
- Дефолт екстеншъните са с премахнати проверки за get_included_files

12.1->12.2:
Заменят се:
ext/ папката
.htaccess файла в root folder-a
readme/
version.json
 
Хилоу,
В Сряда пътувам за София, а на 30ти пътувам за Франция. В момента работя над нещо и чак като го свърша ще има нови ъпдейти.
На 5 Февруари стават 3 години от както я разработвам и тогава цената ще е 100 лв. отново, иначе си остава 140.
Във Франция ще съм 2 месеца и няколко дни по план, но може и повече или по малко. Нищо не е ясно, защото пътя е много и нищо не се знае, дали там всичко ще е по план или не.
Който иска да се свърже с мен, discord: .pok4
 
Здравейте, guys :)
Утре сутринта рано пътувам за Франция.
Днес продължих с това, което правя в момента и междувременно направих един бърз ъпдейт, защото ми трябваха категории за новините. Включих към тях и Json Manager-a. С него ги записвам в admin/assets/news_categories.json. Получи се супер! Вече може да създавате категории за новините и да ги ползвате с бисквитката argos_gamename. Тя е кръстена така, защото целта беше да има категории за различни игри, но може да я ползвате за всякакви категории, когато тя е сетната с име на категория автоматично ще се показват новините от дадената категория.

Няма да ви занимавам повече, ето чейнчлог за 12.3
image.png


12.3:
- Изменения във functions.php, за да не се изпълнява презаместването в pagination.json в админ панела, а само отпред в текущия стил.
- Изтрит е излишен контролер свързан с едитването на емотиконки още от първите версии в админ панела
- Добавена е опция за създаване на категории към новините (пазят се в json файл), добавен е и нов таб при новините в админ панела.
- Добавена е нова функция all_news_cats() - връща в масив категориите към новините и ги превежда с translate() функцията според това какъв език сте избрали
- Менюто в админ панела (червеното горе) е фиксирано и се движи заедно с потребителя и отделно под мобилни, ако сте под всички линкове в сайдбара се вдигате най горе при отварянето му
- Промени в readme/

12.2 -> 12.3:
Заменяте:
App/
admin/
readme/
includes/
lang/
 
Ъп.
Направих малки промени миналата Събота, но още не съм ги обявил.
Вече статистиката за уникални посещения в админ панела е за 31 дни, а не за 5. Добавил съм под нея стрелки за връщане напред и назад, за да се информирате за целия месец.
В Конфигурация съм премахнал едни br тагове за ios switch-овете, защото седяха грозно с празно пространство между инпутите и switch-овете.

Също така блaгодарение на jerryborisov, Аргос има нов бъдещ дизайн и стилно лого.
Дизайна засега остава тайна, но след известно време ще го огледам и пипна леко, и ще го интегрирам.
Логото за което говоря е:
IMG-0022.png


Дизайна трябва да стане конкурентен на другите стилове и да се наложи над тях.
За това ще има още експерименти с цветовете най-вече.

В бъдещи ъпдейти ще има още промени по админ панела.
 
Здр,
Започнах разделянето на ланг файловете. Вече greyfish-a е с отделен файл, също така и 5 ланг ключа заминаха към acp ланг файла от главния такъв.
Понеже системата е така направена, че всички екстеншъни и ланг файловете на темплейта наследяват $lang_sys (главния масив) и така всичко вика 200 ключа заедно. За това целта е колкото се може по малко ключове в главния масив, за да зарежда по бързо.
Можело е екстеншъните да ползват отделен масив, но вече е късно, а и не е чак такава болка за умиране. Ще го оптимизирам максимално.

Също така ще бъде добавена нова функция standartize_nick($nick) чрез нея ще може да показвате никове със специални символи без проблеми.
Наскоро се натъкнахме на àreej (виждате а-то) и когато се изкарват с аякс през json_encode бъгва всичко и не се изобразява, а вади грешка.
Така че и тази функция ще влезе във functions.php.

Може би в Неделя ще обявя официално 12.4 с промените.
 
image.png


12.4:
- Добавена е опция за връщане напред/назад за изминали дни в статистиката с уникални посещения в админ панела. Вече имате статистика за 31 дни. Мести се като слайдър със стрелки.
- Празното пространство между опциите в Конфигурация за определени изключвания/включвания на функции е премахнато. (за по-добър изглед)
- Разделени са още няколко ланг ключа от главния такъв (bg.php за пример)
- В greyfish show players контролера е добавена ignore_non_utf8 функцията върху името на играчите, защото стария iconv беше неточен и някои имена са излизали некоректно (не ескейпва символите както трябва)

За ъпдейт:

Презамествате:
admin/
lang/
App/
version.json
readme/
 
Здравейте,
пускам един бърз ъпдейт, а именно 12.5
image.png

12.5:
- Разделяне на още ланг дефиниции от главния масив. Вече част от ланг дефинициите за контактната форма са в отделен ланг файл.
- Фикснат бъг, благодарение на EMOTO2 (При създаване на страница, не се е въвеждало type=0 от sql заявката и при редакция на къстъм страници понякога е имало бъг, в който при отварянето на дадена страница тя не съответства с текущата, а отваря последната с type=0)

В бъдещи ъпдейти ще цепя още ланг базовия файл.
Също така в следващи ъпдейти ще сложа професионални коментари изградени с Rector върху всички методи и функции.

Остават както написах разцепване на езиковия файл още, Rector коментарите, автоматичните ъпдейти и password manager-a и цялото ядро ще е завършено.
Под PHP 8.4 все още не съм го тествал, изчаквам да си взема нов лаптоп и там ще тествам системата под AMPPS.

Имам доста работа и само в свободно време понякога вечер мога да правя по нещо малко, така че за това ще има застой засега.

Ядрото е на цена 140 лв.
За връзка с мен:
.pok4 (discord)
 
image.png

12.6:
- Създаден е Password Manager, който е достъпен от всеки админ в админ панела.
- Всички библиотеки бяха ъпдейтнати през composer (12 ъпдейта)

За замяна при ъпдейт:
App/
lang/
admin/
install/
version.json
readme/
инсертвате този sql:
Code:
CREATE TABLE IF NOT EXISTS `argos_pw_manager` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `password` varchar(255) NOT NULL,
    `user_id` int(11) NOT NULL,
    `for` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Всъщност в admin/assets при инсталация се създава php файл с променлива, която държи хеш ключа към всички пароли.
Админите могат да четат и създават пароли само за самите себе си (по юзър айди), другите админи не ги виждат!
Получи се добре и повече няма да го пипам това нещо...
В момента се създава парола и инфо за къде е паролата. На мястото на инфото може да си въведете и юзъра. Пример:
Парола: hahaha
За къде е паролата?: [email protected]
Така ще знаете, че root е потребителя в amxx-bg.info, а паролата е hahaha.
Чисто и прибрано. Мислех да го правя с аякс, но се отказах, стана повече от добре и без аякс.
Също така идеята ми беше преди да се види самата страница да се изисква главната парола за акаунта, но засега ще е така, пък по-натам ще видя дали ще го правя това.
Сега се отваря директно. Линка към PW Manager-a е най долу в сайдбара в админ панела.
Забележка: При вече инсталирана система, файлът в admin/assets/hash_key.php не бива да се изтрива или променя. Хеша е рандом, дори аз няма да го знам, защото е рандом при създаването на системата.
Ако този файл се загуби или бъде променен, всички пароли няма да могат да се четат и да се виждат, така, че имайте едно на ум за този файл!


Ето и демо:
Pw-mang.png
 
Last edited:
image.png


12.7:
- Създадена е страница в админ панела за изтегляне на автоматични ъпдейти. Чрез нея може да обновявате Аргос до последната налична версия. Файловете се теглят от мой хост.

За замяна при ъпдейт:
App/
lang/
admin/
version.json
readme/


Малко обяснения:
Тези автоматични ъпдейти са сравнително прости, те ще теглят само файловете от ядрото - App/, install/, includes/, assets, admin/ и core.php.
Тоест аз няма да качвам на тях вашите темплейт файлове, ако има нещо по темплейтите ще си го правите на ръка. (Аз ще обясня, ако такова нещо се случи)
Същото важи и за sql заявки, които ще ги обяснявам отделно, защото сега ако трябва да съм честен би било трудно да се изпълняват през скриптовете, които вече съм написал.
Целта е вие да имате пълен контрол над template/ папката, а пък аз ще ви подавам ъпдейти за ядрото. Защо ? Логично е, че по тези файлове и папки вие не трябва да пипате и променяте!
Тествал съм всичко и работи ок за сега, но може да се получат бъгове и неточности в бъдеще.
Ще продължа да описвам всеки ъпдейт и ще го качвам на хоста.
Който се обвърже с мен, то той ще получи цялата информация за ъпдейтите и т.н., но това е въведение което го планирах от отдавна и вече е факт.
Вместо да пращам на всеки съобщения или да пиша и качвам разни файлове по дискорд и форуми, то вие сами ще може да си ги изтеглите, а пък ако има sql и html промени ще си ги наложите от моите постове по форумите.
Fair. :)
Лека вечер!

PS:
image.png
 
Здравейте,
С Бота снощи късно въведохме и автоматично възпроизвеждане на sql заявки от автоматичните ъпдейти. В архива ще има sql.txt с такова съдържание:
(ПРИМЕР):
Code:
 CREATE TABLE IF NOT EXISTS table_prefix_haha (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `server_id` varchar(255),
  `last_time_offline` varchar(255),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1;

ALTER TABLE table_prefix_haha add column IF NOT EXISTS color varchar(255) NOT NULL DEFAULT '';
ALTER TABLE table_prefix_haha add column IF NOT EXISTS color_expire varchar(255) NOT NULL DEFAULT '0';
Ще разархивира sql.txt, ще презамени table_prefix с този от вашата дб, ще възпроизведе заявките и ще изтрие sql.txt
Всичко работи и е тествано.
Остава само когато ъпдейтвате, да следите дали има промени по базовите темплейти и да си ги нанесете.
Пак казвам, че аз не мога да презамествам вашите темплейтни файлове, защото може да сте си правили промени по тях и не ми е работа.
Още повече, че може да ползвате ваш темплейт със специфично име, което аз няма да знам...

Лека вечер!
 
Здравейте,
Искам само да съобщя, че ядрото (App/Models и App/Controllers) вече е документирано и всеки един метод има коментар. Всичко е направено с Rector и ChatGPT.
Остава App/Entity/ и includes/functions.php
Вчера и днес си играх с това, тъй като реших да почина малко.
Имаше и лек бъг свързан с обновяването на Privacy policy в админ панела, който оправих.
Все още няма да обновявам нова версия, може би ще е след като завърша проекта, който съм започнал. Само ще направя бекъп.

Предстои:
- Добавяне на още коментари в App/Entity и индентация
- Добавяне на коментари в includes/functions.php към всяка функция
- Интеграцията на новия default стил
- Аяксицифиране на всичко в админ панела.
- Индентация на html файловете в админ панела
Щом завърша всичко ядрото вече ще е официално изпипано и завършено. Повече нищо няма да се прави по него, а ще се пишат само стилове и екстеншъни.
Не мога да дам срок кога може да е готово. Правя всичко от себе си, за да приключа максимално бързо.
Може да е в края на Май или средата.

Също така ми предстои започване на работа и няма да имам много време, може би ще е началото на Май до края на сезона в Слънчев бряг. (Септември)
Зимата не знам дали ще се занимавам, може би ще съм в почивка и вече 2026 ще продължа.
Това са ми плановете, но да видим.. :)
 
Добър вечер,
Добавям това, че демото е ъпдейтнато до последна версия. https://argoscms.xyz/
Вече аутолоудъра работи с 2 инстанции, една за админ панела и една за предната част отпред.
Така ескейпвам App/Controllers/Admin и App/Models/Admin директориите за отпред.

Сайта зарежда сравнително по-бързо, въпреки, че темплейта не е оптимизиран и отпред има изображения, които правят страницата 3мб.
Това е максимума засега, а някога с новия темплейт се надявам да е още по-бързо, когато всичко е оптимизирано в html/css частите.

Фикснах и един малък бъг, някой е влизал с агент, който браузъра не е бил засечен и добавих дефолт стойност, за да не вади еррор лог. Не знам реално кой е и не ме интересува, най-вероятно някакъв бот.

Това е засега :)