[Sell] Argos CMS / MVC logic less

Вече е направено горното, имах малко свободно време и се заиграх.
Лайв демо може да видите на новия дизайн: https://argoscms.xyz/test_things/argos/
Вижте в сорса как са заредени вече библиотеките.
Нарочно файла ще е отделен + самата библиотека е инклудната ръчно (седи в папка includes/), защото ако го мина през рутиране и клас, то това ще отнеме доста време, там е и аутолоудъра от composer и става излишно закъснение. За това този файл остава част от Аргос и всеки може да го ползва Пожелание.
 
Днес по-късно ще интегрирам и тази библиотека в системата - https://github.com/JayBizzle/Crawler-Detect
В момента се използва проверката за ботове от phpbb, само че тя поддържа едва 60-тина бота (те са в phpbb_users), докато тази - 1000+.
Аз съм я ползвал през 2017 в мой проект и съм наясно, че работи супер добре.
Просто с нея ще презаместя phpbb метода за ботовете.
Така ще може да се предпазите още по-добре от ботове и нежелани обхождания на вашия уеб проект.
 
Така, библиотеката вече е интегрирана. На мястото на $this->is_bot е вкарана самата функционалност, а phpbb бот проверката вече е $this->is_seo_bot, защото там са най важните ботове, които може да индексират съдържанието ви.
В този ред на мисли сложих и нова функция:
Code:
is_registered_or_seo_bot()
връща true ако потребителя е регистриран и логнат или е seo bot (от ботовете на phpbb)
Има и глобална темплейт дефиниция със същото име
Code:
{{#is_registered_or_seo_bot}} your text {{/is_registered_or_seo_bot}}
Така, примерно ако направите някаква част от сайта си за регистрирани потребители, но искате и ботовете да имат достъп - може да я ползвате.

Също така кеша от min.php го преместих в cache/ папката, защото няма смисъл да е в assets/ папката, по-добре всичко да е на едно място.
Редактирал съм и изтриването на кеша от Конфигурация да го трие от там.
Засега версия 13.0 е стабилна, но може да изникне нещо де, не съм тествал напълно всичко все още.
 
Здравейте!
- timeago функцията вече работи и за бъдещи дати (epoch), до момента работеше само с по-стари дати от сегашното време.
- оптимизации в ajax админските контролери
Това е за версия 13.0 още.

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

Мисля, че след 10-тина дни ще съм приключил и ще интегрирам и дизайнът, който на мен лично много ми харесва, но ще се пипне още. (Тъмна тема, Tippy и други библиотеки, които съм си харесал за интеграция)
 
buenas noches, chicos!

В следващата версия 13.1 ще има нов таб в админ панела. Таба ще се казва 'Известия'.
В този таб ще има 2 под таба:
- Нотификации
- Емейли
Когато отворите един от табовете ще видите:
* Селект меню от което ще избирате:
--- Глобално известяване
--- Единично известяване
------При единично известяване ще пада поле за въвеждане на потребителско име или Айди (и 2-те ще са възможни)
--- Текстареа с вашето послание до вашия/ите потребител/и. (при емейлите ще може да се поддържа html)
--- Бутон за изпращане

При двата варианта, вие ще може да изпратите масово известие до всички или единично до 1 потребител.
При емейл известията, особено при масовото изпращане трябва да се подходи по-специфичен начин. Ще има аякс и ще се изпращат на по-малко, защото може да се счете за спам, особено ако ползвате SMTP на гугъл. До момента не съм го тествал, но при всички положения, ако имате много потребители с емейли на gmail - не знам дали всичко ще се изпрати или някои няма да пристигнат/или ще са в папка СПАМ.
За това ще направя аякс скрипт с прогрес бар, който ще разпраща емейлите на по-малко и ще може да следите горе-долу колко време остава.
Може би на 10 секунди 2-3 емейла.
Пак казвам, не съм сигурен как ще работи. Наведнъж ако се разпратят ще има проблем, в това съм сигурен. За това ще го направя така, както съм замислил.
В config.env може да добавя и глобална дефиниция, която е MASS_EMAIL_FREQUENCY = 10 и от там да се сменя на колко секунди да се изпращат емейлите. 2-3 мисля, че е ОК на 10 секунди.

Всичко това няма да е трудно, а всъщност много полезно.
Ще добавя и още 1 sql таблица argos_unsubscribed_emails и в нея ще се съхраняват емейлите, които са се отказали от вашите известия/новини/ъпдейти, които пращате.
Ще има innerjoin и сравнения. Ако емейла е отказан и е в дб таблицата - няма да му се праща нов, а ще го подмине.
Също така ще има специална страница, която ще се посещава и ще има известие, че потребителя се е отказал успешно от абонаментите ви.
Така всичко ще е според правилата!

Има време за всичко, само да свърша... :)