Rich
гибко можешь добавить любой модуль
Vladimir
Обьясню, если я, например, в frontend зафигачу пару модулей-приложений, то их в любом случае придется бутстрапить в конфиге frontend, а нафига мне это делать для всех модулей, если они, возможно, и не будут использоваться в рамках текущего жизненного цикла
Vladimir
Это время и ресурс
Vladimir
и будет проблемой повесить их на разные домены
Rich
в основном конфиге задай, положи в vendor
Vladimir
Забей, нашел всё такие доку по теме https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-adding-more-apps.md
Anonymous
всем привет! кто нибудь работал с mssql? есть проблема с кодировкой . при создании модели все поля на русском записываются в таком видео 译닐냐 . А если делать простой инсерт через CreateComand, то проблем нет. Куда копать?
Dmytro 🇺🇦
кодировка базы какая?
Dmytro 🇺🇦
обычный insert пробовал прям с мускуля делать в обход фреймворка?
Anonymous
utf-8
Anonymous
через фреймфорк Yii::$app->db->createCommand("Insert into ...
Dmytro 🇺🇦
через фреймфорк Yii::$app->db->createCommand("Insert into ...
обычный инсерт в базу что дает? безо всякого фреймворка.
Dmytro 🇺🇦
может проблема с кодировкой файлов самого проекта? хз, если честно. попахивает дичью какой-то или жестким профтыком :)
Anonymous
так же все ок
Anonymous
ну вот да. в дебаг панели если посмотреть то инсертит уже иероглифы
Anonymous
обычно если проблемы то между 1251 и ютф а тут такое 닐냐
Dmytro 🇺🇦
проблема в фреймворке. попробуй грохнуть вендор и переставить. если не поможет - бери лопату побольше и копай
Anonymous
вот например INSERT INTO [col1] ([col2]...) VALUES (559003, 0xd0b1, 0, 0xd0b1) 0xd0b1 - это буква "б"
Stas
кто что посоветует почитать актуального по автодеплою? кому что помогло?
Эд
Парни, доброго дня! Как посоветуете вести статистику, есть Таблица Persone, нужно ввести по нему статистику данных типа, кол-во просмотров, кол-во подписок, кол-во лайков дизлайков, кол-во репортов - все это дело разбиваеться по датам
Максим
Парни, доброго дня! Как посоветуете вести статистику, есть Таблица Persone, нужно ввести по нему статистику данных типа, кол-во просмотров, кол-во подписок, кол-во лайков дизлайков, кол-во репортов - все это дело разбиваеться по датам
отдельные таблицы под лайки, просмотры. для экономии можно сразу по датам группировать в таблице, например, инкрементить лайки в одну дату, если другая - создаем новую строку с новой датой и туда считаем данные
Максим
ну если надо следить, кто ставил, тогда сложней. Если просто считать количество - то без связей
Максим
как вариант, можно в куки писать кому что лайкнул, чтобы не было дублей в ближайшее время, если не критичная инфа. если как в вк хочется - строгий учет, тогда надо все связывать друг с другом
PowerAxis
кто что посоветует почитать актуального по автодеплою? кому что помогло?
Давеча deployer настроил для своего проекта. У него, кстати, есть готовые шаблоны деплоя для разных фреймворков. Можно взять за основу
Vladimir
Ку всем В yii2 active form можно как-то форму заполнить, не используя hiddeninput, то есть чтобы пользователь вообще не мог на клиенте поменять значение формы?
Была идея добавить данные свои переменные в ажакс, тк форма отправляется через data: form.serialize(), вот только проблема в том, что после сериализации форма превращается в csrf в который хрен что добавишь, до нее форма нечитаемый объект, так что туда особо ничего не запушить
Vladimir
В обшем, нужна помощь
Vladimir
Я делаю комменты виджетом, форма комментов отправляется через ажакс, нужно как-то передать модуль и id материала
Vladimir
И чтобы хитрый клиент не смог взять и написать свой модуль и id материала, а не тот на котором он сидит
NVlad
И чтобы хитрый клиент не смог взять и написать свой модуль и id материала, а не тот на котором он сидит
на событие beforeValidate добавь код который будет добавлять скрытые поля, а после отправки удаляй эти поля
NVlad
но в принципе хитрый клиент, при большом желании всё равно сможет подменить значения просто отправив пост запрос :)
Vladimir
Он же тип защищать должен
NVlad
открывашь страницу, берёшь данные csrf генеришь пост запрос с ипользованием :)
NVlad
ничего особо сложного
Vladimir
Может тогда уже в контроллере придумать как эти данные брать?
Vladimir
Или забить
NVlad
Может тогда уже в контроллере придумать как эти данные брать?
при генерации формы сохраняй данные в сессии
Vladimir
Тогда толку особо не будет же, что я хидден инпутом его делаю, что извращаюсь с формо1
Good
Просто всегда пишите бекенд так, как будто на фронте у вас злобный кулхацкер, который пихает в запросы все что угодно
NVlad
Тогда толку особо не будет же, что я хидден инпутом его делаю, что извращаюсь с формо1
слегка сложнее будет понять как и откуда данные брать, но совсем слегка
Vladimir
при генерации формы сохраняй данные в сессии
Сохранить модуль id и материал id в сессии, а потом при обработке контроллером аякса обращаться к сессии за этими данными?
NVlad
да
Vladimir
Просто всегда пишите бекенд так, как будто на фронте у вас злобный кулхацкер, который пихает в запросы все что угодно
Ну такто кроме того, что через форму одного материала он сможет отправить коммент в совершенно другой модуль или материал ничего страшного не произойдет, но все равно неприятно
NVlad
единственное могут быть проблемы когда будет открыто несколько вкладок с сайтом
NVlad
но там уже начнутся и проблемы с csrf
Good
В любом случае проще не доверять
NVlad
Ну такто кроме того, что через форму одного материала он сможет отправить коммент в совершенно другой модуль или материал ничего страшного не произойдет, но все равно неприятно
тогда не усложняй. если у человека есть права добавлять комменты в то место куда добавляется комментарий - добавляй. если у него нет на это прав - ошибка.
NVlad
Так и шо тогда делать
храни данные в скрытых полях
Vladimir
тогда не усложняй. если у человека есть права добавлять комменты в то место куда добавляется комментарий - добавляй. если у него нет на это прав - ошибка.
Ну модуль можно через IN проверять, а вот что с материалом делать- добавить лишнюю проверку, есть ли его id'шник в соответствующей таблице?
NVlad
тут уже зависит от того, что необходимо получить
NVlad
если достаточно проверить наличие записи в нужной таблице, то так и делай
Vladimir
Ну смотри, так он сможет слать комментарии к несуществующим материалам, а так я проверю что тот куда он шлет существует
NVlad
не зная логики трудно что-то порекомендовать. может в таблице foregin key который не даст добавить запись если нет записи к которой он относится
NVlad
может надо проверять права на возможность добавлять комментарий к этому материалу
Артем
Не правильно делаете. Широкую на широкую!
Vladimir
не зная логики трудно что-то порекомендовать. может в таблице foregin key который не даст добавить запись если нет записи к которой он относится
Ну тут проблема в том, что форигн кея нету тк комментарий может добавляться к материалам из разных таблиц, там есть поле entity_id и module, но думаю тогда может передавать в module класс модели или тейблнейм, и уже в контроллере перед добавлением коммента проверять это ручками
Vladimir
Ну есть ли в module_table или moduleClass:tablename материал с entity_id
NVlad
@Playerro, @mrG1K дело говорит :)
Vladimir
Ок, сяп
Vladimir
большой
Oleg
Привет! Подскажите, пожалуйста, проверенную и 100% рабочую связку "Поведение для Дерева + Виджет дерева" для организации иерархии. Уже замахался, из рабочих только Дерево от Картика, но оно замороченное слишком и использует Nested Sets (я предпочитаю Adjacency List). Проверял виджеты от Paulzi, Arogachev, Voskobovich итд - почти ничего не работает по разным причинам (то нотайсы выкидывает, то ещё что-то). Ещё у меня нюанс. Есть две модели - основная с деревом (Page) и связанная (PageContent) - для хранения мультиязычных данных (name, description etc.). Так вот, в основном в этих деревьях (например у Картика), аттрибут "name" - в основной таблице с деревом хранится, а мне надо, чтобы оно брало его со связанной модели. Сохраняло при редактировании тоже в связанную модель, а не в основную таблицу с деревом.
Павел
пили сам руками
Vladimir
Напиши свой валидатор. который будет это делать
А может как-то хитро заюзать валидатор exists?
Vladimir
Только мне надо сделать динамический targetClass
Vladimir
И вообще, можно ли один атрибут использовать при валидации другого
Vladimir
А то чет не найду никак
Vladimir
О все, разобрался
NVlad
Только мне надо сделать динамический targetClass
унаследуйся от ExistValidator перепиши validateAttribute на что-нибудь подобное validateAttribute($model, $attribute) { $this->targetClass = ...; parent::validateAttribute($model, $attribute) }
NVlad
и используй свой валидатор
The Ant
Привет! Подскажите, пожалуйста, проверенную и 100% рабочую связку "Поведение для Дерева + Виджет дерева" для организации иерархии. Уже замахался, из рабочих только Дерево от Картика, но оно замороченное слишком и использует Nested Sets (я предпочитаю Adjacency List). Проверял виджеты от Paulzi, Arogachev, Voskobovich итд - почти ничего не работает по разным причинам (то нотайсы выкидывает, то ещё что-то). Ещё у меня нюанс. Есть две модели - основная с деревом (Page) и связанная (PageContent) - для хранения мультиязычных данных (name, description etc.). Так вот, в основном в этих деревьях (например у Картика), аттрибут "name" - в основной таблице с деревом хранится, а мне надо, чтобы оно брало его со связанной модели. Сохраняло при редактировании тоже в связанную модель, а не в основную таблицу с деревом.
вот ведь... тяжело когда нада, а сам не можешь. Это такой ужас :(