[Sell] Argos CMS / MVC logic less

С бота завършихме и flood protection екстеншъна. Писах по напред, че ще има подобно нещо. Става въпрос за защита от прекомерни http рекуести или задържане на f5, пускане на аякс заяки в безкраен цикъл като:
Code:
// Define a function to get the Twitch game ID and then get streamers
function fetchTwitchStreams() {
    var twitch_game_id = 0;
    $.ajax({
        url: "/ajax/ext/pok4/twitch_streams",
        type: "POST",
        data: {get_game: 1},
        success: function(data) {
            if(data) {
                twitch_game_id = data;
                // Make a new request with the game ID
                $.ajax({
                    url: "/ajax/ext/pok4/twitch_streams",
                    type: "POST",
                    data: {get_streamers: 1, game_id: twitch_game_id},
                    success: function(data) {
                        if(data) {
                            $(".streamers").append(data);
                        }
                    }
                });
            }
        }
    });
}

// Set interval to call the function every 5 seconds (5000 milliseconds)
setInterval(fetchTwitchStreams, 1); // Adjust interval as per your requirement (e.g., 5000 for every 5 seconds)
или пък пускане на file_get_contents/curl/guzzle рекуести към сайта ви.

Класа е писан от турчин, като бота го пригоди да работи на php 8.3. В ext.php ще видите това:

Code:
$jsonFile = 'ext/pok4/flood_protection/banned_users.json';
$this->requestLimiter = new \RequestLimiter($jsonFile);
$message = json_encode(["status" => false, "mesaj" => "https://www.google.com."]);

// If 20 requests are made in 30 seconds, ban for 90 seconds...
$this->requestLimiter->processRequest(20, 30, 90, $message);
интересува ви долния код където виждате 20, 30 и 90.
Съответно на 20 рекуеста наведнъж за 30 секунди ще направи бан за 90 секунди.
Това е по начало, а пък вие благодарение на тестове, може да ги редактирате.
Баннатите потребители се съхраняват в json файла в папката на екстеншъна и се изтриват като изтекът.
Също така баннатия потребител по начало се препраща в google.com.
Сметнато е че е по-добре от exit/die.

Може да го тествате на argoscms.pw с безкраен аякс като горния или по друг начин.
Цена: 15 евро.


ЗАБЕЛЕЖКА: това е проста защита за определен човек до 2 или 3ма още. Ако ви пуснат флууд от различни айпита, този скрипт няма да е работещ. Ползвайте cloudflare или нещо от неговия сорт..
 
Last edited:
Поредният екстеншън е готов. Става дума за случайни вицове. Всички вицове са в json файл в папката на екстеншъна и може да си ги редактирате и/или добавите нови. Показват се на случаен принцип при рефреш, демо:
Screenshot-20240724-181308.png


Цена 5 евро.

ПС: вицовете ги генерира бота и са тъпички, но вие си ги редактирайте. В json файла за момента не поддържа html, но ако искате да има и html поддръжка за <br>, <b> и т.н, пишете, ще го едитнем.
 
3 часа си играх с телефона и бота, но накрая се получи.
Този път направихме екстеншън за админска активност с lazy load при скруул в таблицата, демо:
Screenshot-20240724-211620.png


Този екстеншън е за хората с безплатната версия, защото във версия 9.0 ще е вграден в системата, но със странициране, а не lazy load.
Цена 20 евро.
Ще логва и потребителите на които сте дали достъп, но не са админи в phpbb.
 
Last edited:
Още един много полезен екстеншън е готов. Това е екстеншъна за преподредба на менютата.
Както знаете Аргос ползва статични менюта, а не динамични съхранявани в датабаза.
Поради тази причина преподредбата на боксовете може да става само с js.
Демо на админ частта:
Screenshot-20240725-110407.png



Как работи?
Първо описвате класа или айдито което държи боксовете. Главния им контейнер. Било то .right_menu или .left_menu. Ако имате col-md-3 и са еднакви за ляво и дясно то влиза в сила долното поле където ако е 1 ще прихване първото col-md-3 (предполага се че е ляво), а ако зададете 2 ще прихване второто (след първото) под ред в сорс кода.
Ако нямате повтарящи се елементи нека седи 1.
Третото поле съдържа бройката боксове които имате за преподредба. Аз имам 18 в дясно и съм въвел 18.
След клик ще ви генерира 18 виртуални боксове и с drag and drop може да им смените позициите.
След запазване на промените всичко се записва в json файл в папката на екстеншъна и промените влизат веднага в сила. Има възможност и за рестартиране на всички подредби и започване отначало.
Това е един много полезен екстеншън, който като се прибера ще го и преведа на всички езици. Засега остава само на английски.
Тествал съм го на default стила и работи ок, но би трябвало да няма проблеми с другите теми.
Единствено може да има проблем ако темплейта не е кодиран правилно, защото работи само с първите дивове в контейнера който му подадете ( в случая .right_menu ).
Това е от мен!
Цена 15 евро.
 
Last edited:
На коледа имаме екстеншън за сняг, а на Хелоуин имаме екстеншън със... Прилепи!
Screenshot-20240725-131451.png


В ext.php може да си нагласите колко да излизат, колко да са бързи и т.н. Също така съм сложил проверка за празника по дата и те ще излизат точно на него. Вътре е и png файла с прилепа и винаги може да го замените с тикви хаха :)
Цена 5 евро.
 
Screenshot-20240725-143735.png


Представлява екстеншън, който изкарва банер статус на сървъра ви. Изисква server id което се взима лесно от настройките. Има различни стилове и се контролира от json файл в папката на екстеншъна. Там посочвате сървър айдито и името на стила.
В момента се ползва стил banner2, а другите с които може да експериментирате са: shield, banner1, banner3, banner4

Цена: 5 евро
 
Още един екстеншън за новини за cs2 работещ със стийм апи и curl request. Тук освен че са включени и някои ъпдейти, има и новини за други неща около играта.
Цена: 5 евро
Демо:
Screenshot-20240725-170714.png
 
Още един екстеншън е завършен.Демо:
Screenshot-20240725-182916.png


Става въпрос за справка на дата центровете на стийм през тяхното api. Показва дали са долу или са на линия.
Изисква стийм апи кей и при продажба ще трябва да си генерирате, моя не го давам.

Цена: 7евро
 
Още един екстеншън е готов. Това е екстеншън за дневния хороскоп и работещ с translate функцията на гугъл.
Хороскопа се взима от https://php.mk/services/horoskop#auth - изисква се генерация на токен, който е безплатен и се получава след регистрация.
Демо
Screenshot-20240726-012604.png

Цена: 10 евро
 
Още един готов екстеншън. Това е взимaне на инфо за последните комити свързани с модове за cs 1.6 и cs2. Така може винаги да знаете кога има нов ъпдейт и да го свалите.
По желание може да се добавят още репота, за сега те са:
Code:
$repositories = [
            ['owner' => 'alliedmodders', 'repo' => 'sourcemod'],
            ['owner' => 'alliedmodders', 'repo' => 'metamod-source'],
            ['owner' => 'Bots-United', 'repo' => 'metamod-p'],
            ['owner' => 'theAsmodai', 'repo' => 'metamod-r'],
            ['owner' => 's1lentq', 'repo' => 'reapi'],
            ['owner' => 'dreamstalker', 'repo' => 'rehlds'],
            ['owner' => 's1lentq', 'repo' => 'ReGameDLL_CS'],
            ['owner' => 'alliedmodders', 'repo' => 'amxmodx']
        ];
Екстеншъна работи с github api и изисква токен, който се генерира през профила ви там.
Демо:
Screenshot-20240726-123326.png

Цена: 7 евро
 
Last edited:
Факт за мен е, че системата с много екстеншъни започва да работи бавно.
То всяка система с много модули ще забози.
Играх си с бота да напише нов autoloader с кеш, но времето за зареждане беше почти същото като с robotloader-a, който също работи с кеш и ползва nette utils библиотеките.

Има неща, които определено може да се оптимизират още, като едни от тях са ланг файловете. Там всичко е накуп, масивите не са разделени конкретно за всяка страница, а всичко и за админ панела и сайта е примерно в bg.php,а пък тези ключове за админ панела отпред не се ползват.
Не знам това дали бози, но може да се пипне.

Като се прибера версия 9.0 ще е може би от последните релийзи. Ще разделя на малки бета версии при мен и щом стане готова 9.0 ще я обявя.
Бота ще пренапише лошите функции, но според мен главния проблем е аутолоудъра, защото в кеш файла има 500 неймспейса и четенето му тормози системата.

Phpfastcache има версия 9.0, а системата ползва 8.0. Ще гледам да я ъпдейтна. Всъщност повечето библиотеки са ъпдейтнати и като се прибера ще ги ъпдейтна през composer.

Аз се нервирах, че моя лаптоп е слаб, а пък и демото на jump.bg бози. Ще видя какво ще стане с версия 9.0.
То демото е много стара версия, ползва още headjs и аутолоудъра минава през езиковите файлове и на тях слага неймспейсове..В по-новите версии съм ги изолирал...

Но златното правило си остава по малко екстеншъни за по бързо зареждане. И разбира се да са написани както трябва.

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

Утре ще видим, може да направя нещо малко, ако се сетя за нещо по интересно и като за телефон :}

Напомням, че ако някой купи сега 8.8.1, то той ще получи 9.0 безплатно. Версия 8.8.1 е 60 лв, а пък версия 9.0 ще е 100. Спестявате 40 лв :]

Като завърша 9.0 и още няколко екстеншъна ще почна да правя темплейти. Дори мога да направя нов дефолт темплейт, че този вече е морално стар..Кога беше 2013 хаха..

Демото изтича Октомври. Въобще няма да го подновявам, ще купя нов домейн и хост и ще кача последната версия.

Айде...
 
Тези, които няма да се докоснат до версия 9.0, където ще има това калкулаторче вградено, то ето им го като екстеншън:
Screenshot-20240726-235545.png

Цена 5 евро
 
Готов е още един, а именно youtube player, който чете видео айдита от json файл в папката на екстеншъна. Запазва в local storage текущото време на самото видео и позицията на самото видео (до което сте стигнали)
По начало бокса е с име Our Music и в json файла има 2 песни, но винаги може да ги промените.
Може да сложите поредица от цс видеа и да смените името на бокса.
След всяко видео започва автоматично следващото.
Плеъра е responsive.
Demo:
Screenshot-20240727-134525.png


Цена 5 евро
 
Нов екстеншън, който показва фейсбуук постовете ви от вашата страница. Името на страницата се въвежда в json файл в папката на екстеншъна.
Цена: 5 евро
Демо:
Screenshot-20240728-155421.png
 
Още един екстеншън е готов, извличане на последни 6 новини от rss емисията на https://fakti.bg.
Цена: 5 евро

Screenshot-20240728-172147.png
 
Още един готов. Това е екстеншън за сваляне на библиотеки като този в amxxbg. Слагате ги в папката на екстеншъна/inc и екстеншъна сам си ги вади и т.н.
Цена: 5 евро
 

Attachments

  • Screenshot_20240728-235220.png
    Screenshot_20240728-235220.png
    722.2 KB · Views: 4
Още едно екстеншънче е готово, този път това са ревюта за проекта през дискорд, работещи с дискорд бот.
Направете канал и го заключете, генерирайте бот с read/write права и го вкарайте в канала, дайте му роля.
В така заключения канал, бота ще публикува ревютата на потребителите, които могат да избират и оценка със звезди.

Цена: 10 евро
Демо:
Screenshot-20240729-142401.png

Screenshot-20240729-143141.png


Аз вече съм написал подобен и за аренаплей, но той работи с mysql. Който от 2та изберете е почти все тая. И двата работят със слайдъри, другия е по сложен...
Този като се прибера ще го преведа.
 
Завърших и екстеншъна с реакциите. Работи с vanilla js, защото ако беше с jquery нямаше да тръгне на демото.
Който иска мога да му го обърна с бота, но и така си е добре. Лайк бутона съм го сложил под текста на новините, но винаги може да се премести. Също така, същия скрипт може да се сложи и на коментарите. По желание може да се добави известие с лс дали някой е реагирал на автора. Работи по айпи адрес.
Цена: 10 евро

Screenshot-20240729-173642.png
 
Днес докато търсих какъв да е следващия екстеншън, търсих в гугъл за cs2 servers и попаднах на няколко сайта, които си ги записах, а и ги снимах. Нов дефолт темплейт със сигурност ще има и трябва да се получи максимално добре, за да е достоен заместник на текущия.

Какво ще включва?
font awesome 4.7 icons
bootstrap icons
bootstrap и popper js последни версии
jquery 3x
animations css
root css дефиниции
сдържано съдържание и по специално без style="' тагове
запазени класове от default стила
вкарване на повече дата тагове и класове с цел по лесно инжектиране на js код
валиден w3c код
Къстъм js/jquery слайдъри
сайдбар
color switcher с цел смяна на цветовите гами

За сега това ми се върти в главата, но може да изникне и нещо ново. Едно е сигурно, щом бъде завършен всички дизайни нататък ще трябва да се съобразяват с html на този темплейт. Говорим за класове, айдита и дата тагове.
Това е при положение, че сами решите да си правите темплейти!
 
Поредният е готов. Става дума за бокс с част от рекламираните рандом банери под слайдъра. Евента може да се смени по всяко време, за да може бокса да е на друго място. Банерите се показват на рандом принцип.
Цена 5 евро
Screenshot-20240730-133640.png