A
Какой файл нужен?
A
samplecontainer
A
есть мысли?
Vitaliy
есть мысли?
А у файлах, блоках що? Ті, які наприклад не виводяться
Vitaliy
есть мысли?
Ще в самій адмінці глянь вкладку конфігурацій плагіна, там є поля в яких доках, шаблонах показувати
A
у меня проблема в том что сама вкладка "Блоки страницы" не появляется при редактировании страницы
A
вот такая должна быть
A
а на моей нет такого
A
ничего
Vitaliy
ничего
А версія плагіна яка? Здається в новій інше трохи, не за пк, не гляну зараз
A
1.3.16
Vitaliy
Добрі люди, питання для обговорення більше. Що зараз є найефективнішим проти спаму через форми?
𝓔𝓾𝓰𝓮𝓷𝓮
Привіт)
Volodymyr
Добрі люди, питання для обговорення більше. Що зараз є найефективнішим проти спаму через форми?
1. Відправка форми по ajax, головне endpoint не вказувати в action, можна зашити в js або якомусь іншому data-attribute. 2. Приховане поле за допомогою css, яке не треба заповняти(бот заповнить, значить блочимо форму) 3. recaptcha 3
𝓔𝓾𝓰𝓮𝓷𝓮
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевірка схованого поля, зробив поле, сховав його в формі, назвав <input type="email" class="n-message" name="n-message" value="">, в стилях указав display: none; і перевіряю через hooks, "якщо заповнено" даю відповідь 200 ок, але є ньюанс) <?php if ($_POST['n-message']) { // трололошка якась)) echo $FetchIt->success('Все гуд чувак'); die(); } else { return true; } 2. Перевірка самого повідомлення на знаки які не потрібні // Визначаємо значення службових змінних за замовчуванням $success=true; $haserror=false; // Масив заборонених фрагментів рядків // Якщо в якому-небудь полі форми зустрінеться один з нижче перелічених фрагментів, то далі обробляти повідомлення не будемо $forb=array( '@', 'http', 'https', '://', 'www', 'Test', 'test' ); // Проходимо по масиву заборонених фрагментів foreach ($forb as $f){ if($haserror==false){ // Якщо ще не зустрівся заборонений фрагмент $haserror=strpos($value,$f); // Перевіряємо його в значенні поточного перевіряємого поля вводу } } // Якщо була виявлена помилка if ($haserror!=false) { $validator->addError($key,'Недопустиме значення!'); $modx->log(xPDO::LOG_LEVEL_ERROR,'Тут живе какашка: IP='.$_SERVER['REMOTE_ADDR'].' Зміст: '.$key.': '.$value); $success=false; } // Повертаємо результат роботи валідатора return $success; Ну це на прикладі MODX, але думаю і на EVO можно зробити 3. csrf_token, типу такого (https://laravel.com/docs/11.x/csrf), генерація токена, пишемо в кукі, перевірка токена перед відправленням повідомлення, але думаю що можно і не csrf_token а генерувати случайні літери та цифри, use Illuminate\Support\Str; // Генеруємо випадковий рядок довжиною 8 символів $randomString = Str::random(8); а то токени веліки))
𝓔𝓾𝓰𝓮𝓷𝓮
за пів року зовсім без спаму
𝓔𝓾𝓰𝓮𝓷𝓮
раніше стояв гугляка другої версії, але спам він пропускав жуть
𝓔𝓾𝓰𝓮𝓷𝓮
Так і є
Гугляку викинути Ну можливо третю версію ставити, але там мені не сподобалося, він конфліктує, якщо на сторінках декілька форм Да і політика їх, не дуже
𝓔𝓾𝓰𝓮𝓷𝓮
А ось перевірка скритого поля, та сертифікат. Норм
𝓔𝓾𝓰𝓮𝓷𝓮
Можливо навіть без другого пункту буде норм
Vitaliy
Дякую за відповіді
Vitaliy
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевірка схованого поля, зробив поле, сховав його в формі, назвав <input type="email" class="n-message" name="n-message" value="">, в стилях указав display: none; і перевіряю через hooks, "якщо заповнено" даю відповідь 200 ок, але є ньюанс) <?php if ($_POST['n-message']) { // трололошка якась)) echo $FetchIt->success('Все гуд чувак'); die(); } else { return true; } 2. Перевірка самого повідомлення на знаки які не потрібні // Визначаємо значення службових змінних за замовчуванням $success=true; $haserror=false; // Масив заборонених фрагментів рядків // Якщо в якому-небудь полі форми зустрінеться один з нижче перелічених фрагментів, то далі обробляти повідомлення не будемо $forb=array( '@', 'http', 'https', '://', 'www', 'Test', 'test' ); // Проходимо по масиву заборонених фрагментів foreach ($forb as $f){ if($haserror==false){ // Якщо ще не зустрівся заборонений фрагмент $haserror=strpos($value,$f); // Перевіряємо його в значенні поточного перевіряємого поля вводу } } // Якщо була виявлена помилка if ($haserror!=false) { $validator->addError($key,'Недопустиме значення!'); $modx->log(xPDO::LOG_LEVEL_ERROR,'Тут живе какашка: IP='.$_SERVER['REMOTE_ADDR'].' Зміст: '.$key.': '.$value); $success=false; } // Повертаємо результат роботи валідатора return $success; Ну це на прикладі MODX, але думаю і на EVO можно зробити 3. csrf_token, типу такого (https://laravel.com/docs/11.x/csrf), генерація токена, пишемо в кукі, перевірка токена перед відправленням повідомлення, але думаю що можно і не csrf_token а генерувати случайні літери та цифри, use Illuminate\Support\Str; // Генеруємо випадковий рядок довжиною 8 символів $randomString = Str::random(8); а то токени веліки))
є різниця чи на php чи js реалізовувати?
𝓔𝓾𝓰𝓮𝓷𝓮
є різниця чи на php чи js реалізовувати?
Робив на пихі, але думаю що різниці немає
Vitaliy
Добрі люди, є такий модуль SimpleTube, користувався пару разів, але ось вирішили закинути туди відео shorts, модуль не дозволяє такого типу. Може є хаки якісь, чи зразу своє рішення писати сідати?)
Vitaliy
@Dmi3yy https://www.youtube.com/@EvolutionCMS2 це саме актуальний канал по 3 й версії ?
Dmytro
Ще багато інфи тут є @evolutioncmsnews
Yevhenii
Підкажіть, як працює мультисайтовість? Дивився і в адмінці і в документації, не бачу, ткніть носом плз
Yevhenii
На головному лендінгу прямо по центру ця можливість заявлена, а де шукати невідомо
Dmytro
@seigerit тут якраз тобі питання по фічі з мультидеревами
Serhii
На головному лендінгу прямо по центру ця можливість заявлена, а де шукати невідомо
Ну саме просте було колись на старих версіях вирішувалось через дерево ресурсів. Наразі розробляю модуль мультисайт https://seiger.github.io/sMultisite/ Теж буде використовуватись дерево документів, але зроблено додаткові плагіни.
Serhii
Ну з мануалами у нас біда. Колись робив, але то було давно. І зі старою адмінкою давно вже не працюю.
Serhii
Якщо хтось може, то нехай підкаже людині.
Serhii
Наразі я розробляю сайт з мультидоменом та єкомерц. Поки що не закінчив, хоча основний функціонал наче є. Я б спробував на тестовому чи задовольняє потреби на даний момент, а тоді вже й на прод.
Andrey
Може в когось є не складна і не термінова робота? Готовий взятися навіть безкоштовно. Після 22го року не працював так як працював з руснею, та і не до того було. Хочу спробувати чи годен ще на щось.
𝓔𝓾𝓰𝓮𝓷𝓮
Зачпунял
Dmytro
Заблочів нафіг
Віталій Пушкарьов 🇺🇦
Вітаю, товариство! Може хтось знає — при встановленні через composer на хостингу виникає помилка: Fatal error: Duplicate declaration of static variable $i in /home/ ... /core/functions/actions/mutate_content.php on line 857 Версії PHP всюди 8.3.
Віталій Пушкарьов 🇺🇦
Роблю все, як у Дмитра на відео в Ютубі
Dmytro
Судячи за все у вас не актуальна версія файлу
Dmytro
Бо на гіт все ок
Dmytro
Порівняйте чи однаковий контент файлу https://github.com/evolution-cms/evolution/blob/3.2.x/core/functions/actions/mutate_content.php#L857
Віталій Пушкарьов 🇺🇦
Дякую! Зараз перевірю.
Віталій Пушкарьов 🇺🇦
Так, є різниця:
Віталій Пушкарьов 🇺🇦
Тоді як правильно встановити: Я робив так: composer create-project evolutioncms/evolution:3.2.4 . --remove-vcs Якщо писати 3.x-dev — не пускає...
Віталій Пушкарьов 🇺🇦
Встановив через браузер, все добре. Дякую за відповіді!
Віталій Пушкарьов 🇺🇦
Сорі за назойлівісь, де можна взяти актуальні докі?
Віталій Пушкарьов 🇺🇦
BaseController::$evo is deprecated
Dmytro
Взагалі всі ресурси які живі можно знайти тут по лінкам: https://evo.im
Віталій Пушкарьов 🇺🇦
Дякую!
Dmytro
І ось канал новин там можно пошукати по історіі там доволі багато інфи є @evolutioncmsnews
Volodymyr
Всім привіт, можливо тут є профі в elasticsearch?
Artur
останній реліз відповідно до Гітхабу https://github.com/evolution-cms/evolution/releases це 3.2.4, там PHP 8.3 не працює через PHP Fatal error: Duplicate declaration of static variable $i in ..../evolution-3.2.4/core/functions/actions/mutate_content.php on line 857 пропоную зробити мінорний реліз з фіксом, бо 8.3 вже давно вийшла, щоб ті хто останню версію з гітхаба ставлять не стикалися з цим, бо неочевидно
Serhii
Хотів оновити ядро Laravel до 11 версії, але поки що на маю на те час.
Null
https://github.com/evolution-cms/evolution/releases/tag/3.2.5
Serhii
Друзі. Настав час оплати хостінга. Накиньте донатів плз.
𝓔𝓾𝓰𝓮𝓷𝓮
+100
Serhii
Дякую
Vadym
+100
𝓔𝓾𝓰𝓮𝓷𝓮
Запускаємо челендж збір "+100 на EVO" ))
Artur
https://github.com/evolution-cms/evolution/releases/tag/3.2.5
там маленький пулреквест ще, бо інакше після оновлення до 3.2.5 кнопка не пропадає про потрібне оновлення до 3.2.5
𝓔𝓾𝓰𝓮𝓷𝓮
Хлопці та дівчата) Бодрого усім вечора! Може у когось є бажання чи час, треба аплікуху на телефон написати? Сама аплікуха дуже проста, форма зворотнього зв'язку.
𝓔𝓾𝓰𝓮𝓷𝓮
Чи краще з GPT поспілкуватися?
Artur
Хлопці та дівчата) Бодрого усім вечора! Може у когось є бажання чи час, треба аплікуху на телефон написати? Сама аплікуха дуже проста, форма зворотнього зв'язку.
якщо дійсно форма, є безкоштовний конструктор, https://www.zoho.com/creator/pricing-comparison.html , тобто можете самі на Zoho створити, під веб, Android та iOS, не потребує кодингу. Там є обмеження звичайно в безкоштовній версії, але платна теж недорога. Ну або повністю самому код писати з ionic, якщо знаєте html/css, чи на freelancehunt пошукати людину якщо на раз треба.
Artur
Я перевірив на своїх сайтах. То пропадає кнопка. Гляну пулл реквест.
там розгалуження логіки в plugin.updater.php є, залежно від того з гіта ставиться апдейт чи ні, я ставив не з гіта. Ну або недокомітився може просто version.php, якщо локально в ньому версія вірна на цих сайтах