These are chat archives for yiisoft/yii2/rus

18th
Nov 2015
Максим
@maxyc
Nov 18 2015 00:23 UTC
живые есть?
Максим
@maxyc
Nov 18 2015 02:12 UTC
Это...
а в чем разница между обычным кроном и задачами типа MQ
Alexey Rogachev
@arogachev
Nov 18 2015 03:15 UTC
@maxyc вот неплохое объяснение
пример с регистрацией юзеров
и отсылкой им почтового уведомления
Тэкс, у нас тут что, новый контрибутор) @samdark заинтриговал
Максим
@maxyc
Nov 18 2015 03:22 UTC
@arogachev спасибо

что то странно

public function rules()
    {
        return [
            [['name', 'text', 'note', 'active', 'active_from', 'active_to', 'company_id', 'created_by'], 'safe'],
            [['company_code'], 'safe']
        ];
    }
<...>
public function search($params)
    {
        $query = parent::find();

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);

        if (!($this->load($params) && $this->validate())) {
            return $dataProvider;
        }

        die('<pre>'.print_r(['params'=>$params, 'attributes'=>$this->attributes, 'errors'=>$this->errors, 'query'=>$query], true));
<...>

при этом 'active_from', 'active_to' ни в какую не заполняется

[params] => Array
        (
            [ArticleSearch] => Array
                (
                    [company_code] => 
                    [active_from] => 1447816939
                    [active_to] => 1447816939
                )

        )

    [attributes] => Array
        (
            [id] => 
            [company_id] => 
            [code] => 
            [name] => 
            [note] => 
            [text] => 
            [created_by] => 
            [updated_by] => 
            [created_at] => 
            [updated_at] => 
            [active] => 
            [active_from] => 
            [active_to] => 
            [views] => 
        )

    [errors] => Array
        (
        )

что я делаю не так? :D

Alexey Rogachev
@arogachev
Nov 18 2015 03:45 UTC
зачем у тебя created_by в rules?
он не должен быть там, это заполняется вручную, а не приходит от пользователя
теоретически у тебя пользователь может подделать эти данные
с валидацией поработать нужно, просто safe юзать - не айс
в id если внешних ключей нет тоже можно напихать все что угодно
а, это вообще search модель...
ну тогда допустимо, лучше бы разделить хотя бы на integer / string
пока непонятно, почему не заполняется. scenarios перебит метод? может от родителя отнаследовано
scenarios должны быть перебиты, т.к. search модель наследована от основной
236286
@236286
Nov 18 2015 03:53 UTC
Господи обращаюсь к тебе, прошу, усмотреть все наши нужды программистов чата yii, быть мудрым в наших программистких вопросах, т.к. ты знаешь обо всех наших желаниях, дать также нам сил и здоровья, Аминь :)
236286
@236286
Nov 18 2015 04:24 UTC

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
кто знает, что делать тут ?

Evgeniy Tkachenko
@githubjeka
Nov 18 2015 04:55 UTC
а после чего это?
236286
@236286
Nov 18 2015 04:56 UTC
@githubjeka /var/www/html$ git clone git@github.com:komarserjio/notejam.git new
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 04:57 UTC
236286
@236286
Nov 18 2015 04:57 UTC
@githubjeka точно, друг, скачивает :)
php composer.phar install
2015-11-18-120228_1280x1024_scrot.png
236286
@236286
Nov 18 2015 05:03 UTC
@githubjeka
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:06 UTC
сделай php composer.phar update
236286
@236286
Nov 18 2015 05:10 UTC
2015-11-18-120943_1280x1024_scrot.png
@githubjeka :(
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:18 UTC
сделай composer update
blob
Доброе утро!
Vitaly
@hellvesper
Nov 18 2015 05:22 UTC
хей
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:22 UTC
хей
Vitaly
@hellvesper
Nov 18 2015 05:26 UTC
не не могу, пойду еще посплю
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:28 UTC
хорошо, я посторожу.
Vitaly
@hellvesper
Nov 18 2015 05:28 UTC
:+1:
236286
@236286
Nov 18 2015 05:35 UTC
2015-11-18-123532_1280x1024_scrot.png
160_F_60850640_lRNnu1rfNZaqYwZ2HC6ohKyuAnhTbu0C.jpg
@githubjeka
Roman Salnikov
@RSalo
Nov 18 2015 05:55 UTC
alt
всем гномиков добра и глубины кода!
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:55 UTC
@236286 ты asset плагин поставил?
@RSalo Благодарю тебя, о величайшее добро вселенной.
Roman Salnikov
@RSalo
Nov 18 2015 05:57 UTC
@236286
php composer.phar global require "fxp/composer-asset-plugin:~1.0.3"
236286
@236286
Nov 18 2015 05:58 UTC
@githubjeka да я делал php composer.phar global require "fxp/composer-asset-plugin:~1.1.0"
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:59 UTC
а у тебя в cd твоей папке есть папка vendor ?
если есть, удали. И заново пробуй composer update
Roman Salnikov
@RSalo
Nov 18 2015 05:59 UTC
1.1.0 что это за версия такая?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:00 UTC
новая вроде
236286
@236286
Nov 18 2015 06:00 UTC
@githubjeka /var/www/html/new/rubyonrails/notejam/vendor/assets
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:00 UTC
а то в 1.0.3 там баги
236286
@236286
Nov 18 2015 06:00 UTC
есть такая по ходу
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:00 UTC
@236286 удали rm /var/www/html/new/rubyonrails/notejam/vendor/ -R
236286
@236286
Nov 18 2015 06:00 UTC
@githubjeka ок
сделал
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:01 UTC
composer update
чтобы научится Yii2 ставить, надо не меньше 3К раз это сделать.
Roman Salnikov
@RSalo
Nov 18 2015 06:02 UTC
я с первого раза поставил, после 5 попыток
236286
@236286
Nov 18 2015 06:03 UTC
@githubjeka @RSalo я щас заново ставлю notejam
все удалил
только что выбрать

php composer.phar global require "fxp/composer-asset-plugin:~1.1.0"

php composer.phar global require "fxp/composer-asset-plugin:~1.0.3"

Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:04 UTC
~1.1.0"
236286
@236286
Nov 18 2015 06:11 UTC
:(
2015-11-18-131024_1280x1024_scrot.png
@githubjeka
Roman Salnikov
@RSalo
Nov 18 2015 06:11 UTC
попробуй 1.0.3 тогда
236286
@236286
Nov 18 2015 06:11 UTC
я чета ниче не понимаю
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:12 UTC
удали нафиг всё это и учи сессии
236286
@236286
Nov 18 2015 06:12 UTC
@githubjeka :(
Роман
@i-coder
Nov 18 2015 06:17 UTC
народ может кто подсказать вот есть у меня уведомления \Yii::$app->getSession()->setFlash('access', 'Продукция обновлена.'); но такие уведомления показываются после перезапуска страницы а хотелось бы иметь инструмент для пока уведомления ненадо перезагружать страницу - есть такое?
Roman Salnikov
@RSalo
Nov 18 2015 06:18 UTC
@i-coder вешаешь событие в jquery и вот тебе без перезагрузки:D
Роман
@i-coder
Nov 18 2015 06:20 UTC
@RSalo ну вешаешь на все контролы? а хотелось бы где то в контроле кинул уведомления в сессию а сессия слушалась бы фронтом что то типа такого
Roman Salnikov
@RSalo
Nov 18 2015 06:22 UTC
@i-coder в смысле на все контролы вешаешь? обычным jquery биндишь какое-нибудь событие на элемент, и потом его вызываешь при срабатывании чего-нибудь. ничего думаю мудрить там особо не надо...
Роман
@i-coder
Nov 18 2015 06:23 UTC
@RSalo есть где глянуть пример?
Roman Salnikov
@RSalo
Nov 18 2015 06:23 UTC
@i-coder как биндить?
236286
@236286
Nov 18 2015 06:23 UTC
@githubjeka если честно примерно такие же ошибки были когда я чисто yii2 через compser пытался закачать, пришлось скачать просто архив
Роман
@i-coder
Nov 18 2015 06:28 UTC
@RSalo что за биндить? непойму
Roman Salnikov
@RSalo
Nov 18 2015 06:33 UTC
@i-coder если у тебя ajax реквест, то почему бы просто не сделать в success респонсе в аяксе аппенд флэша?
я немного не понимаю тебя
Роман
@i-coder
Nov 18 2015 06:36 UTC
@RSalo ты не понял немного есть 12 классов (контролы) в них происходят события ..эти события я кидаю в ->setFlash ... я прост охотел на фронте иметь некий кусок кода)) и выводит все в одном месте без рестарта страницы ... было бы классно если типа пулинга.. но знаю что не получистя пулингом
Vitaly
@hellvesper
Nov 18 2015 06:37 UTC
@i-coder привет асинхронность)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:38 UTC
выспался?
Vitaly
@hellvesper
Nov 18 2015 06:38 UTC
ага
в душик сходил, кофеек заварил
все по феншую
а через часик на автобус
Роман
@i-coder
Nov 18 2015 06:39 UTC
@hellvesper а если забудим про пулинг ...
Roman Salnikov
@RSalo
Nov 18 2015 06:39 UTC
@i-coder а, тогда тебе смотреть в сторону там реквест таймов, сокетов или какого-нибудь лонг пуллинга:D по другому я не вижу как ему дать понять, что надо принять очередной флэш...
Vitaly
@hellvesper
Nov 18 2015 06:39 UTC
@i-coder нууу ты можешь повесит аякс чтобы по таймауту проверял какойнить экшн который будет отдавать ему события
там в пиджаке из каробке есть такой функйонал кстати
Роман
@i-coder
Nov 18 2015 06:40 UTC
@hellvesper короче тольк ос задержкой больше ни как
ладно
Vitaly
@hellvesper
Nov 18 2015 06:40 UTC
я думаю можно просто обернуть стандартный виджет флеша в пиджак и все заработает
Roman Salnikov
@RSalo
Nov 18 2015 06:40 UTC
@i-coder переходи на джаву, там такой херни нету. все постоянно в памяти висит и в реалтайме обрабатывается:D
Vitaly
@hellvesper
Nov 18 2015 06:40 UTC
@i-coder ну или сокетами. и опять привет асинхронность)
Roman Salnikov
@RSalo
Nov 18 2015 07:15 UTC
чуваки, подскажите один очень острый момент. есть допустим какой-то юзвер и возможно, он будет хранить пиратский контент у себя на странице, к которому я не буду иметь отношение
вопрос вот в самих ссылках на файл. делать прямые ссылки на пользователя, к которому принадлежит файл по типу id=100500&file=file.png или делать пользователю какой-нибудь хэш по типу hash=aea23dsom23asdmaop&file=file.png, чтобы не было явно видно, какому из пользователей принадлежит файл
я хз с точки зрения законодательства как это будет выглядеть. мало ли, если указываешь явного владельца, то можно его подставить за пиратсво и т.д. и т.п.
кто сталкивался?
Diez37
@Diez37
Nov 18 2015 07:19 UTC
@i-coder у меня похожая задача, только мне надо выводить количество договоров)) для этого отошел от yii и сделал эту ерись на phpDaemonе через webSocketы, рыботает быстро все довольны нагрузки ни какой)))
Vitaly
@hellvesper
Nov 18 2015 07:28 UTC
@RSalo с точки зрения законодательства ответсвенность на тебе а не на юзвере
делай абузу и пусть абузят на файлы, хотя могут не парится а заблочить твой ресурс)
Roman Salnikov
@RSalo
Nov 18 2015 07:30 UTC
@hellvesper так вродь как в вк там по договору использования вся ответственность снимается с вк
как-то так...
Vitaly
@hellvesper
Nov 18 2015 07:31 UTC
@RSalo пфф, трекеры вообще не хранят у себя данные, тем не менее их блочат
Roman Salnikov
@RSalo
Nov 18 2015 07:31 UTC
да рили, они охренели. зачем блочить ресурс, где кроме пиратов будут и нормальные уники?
Vitaly
@hellvesper
Nov 18 2015 07:31 UTC
просто вк крупный игрок
кого это парит?
делаешь файлообменник - парься с модерацией
Roman Salnikov
@RSalo
Nov 18 2015 07:33 UTC
@hellvesper не, я делаю, что бы юзверы могли оставлять какие-нибудь картинки/тексты
аудио будут с саундклауда лить, а видео с ютуба. часть проблемы отпадает
Vitaly
@hellvesper
Nov 18 2015 07:33 UTC
там можно забить
Nikita
@Altenrion
Nov 18 2015 07:34 UTC
Мне кажется, или обсуждения больше тянут на ветку оффтоптка?
Vitaly
@hellvesper
Nov 18 2015 07:34 UTC
разве что экстиримстские материалы будут постить =)
ну там выше техническая проблема реализации, не только ж код обсуждать
Rinat-wc
@Rinat-wc
Nov 18 2015 07:43 UTC
@RSalo какова функция Page object и Step object в codeception?
т.е в каких моментах их юзают и зачем? что за особый вид классов?
Roman Salnikov
@RSalo
Nov 18 2015 07:47 UTC
@Rinat-wc http://codeception.com/07-18-2013/codeception-pageobjects-and-friends.html#.VkwsfHbhCUk
page object какие-нибудь глобальные статики, а step object своего рода как компонент на сколько я понимаю
Roman Salnikov
@RSalo
Nov 18 2015 08:39 UTC
кто-нибудь сталкивался, когда в базе образовывалась коллизия с мд5 кэшем? на поле стоит уникальность и генератор мд5. если случайно сгенерится такой же мд5, который уже существует, то будет ексепшин или он заново перегенит пока не будет уникальным?
Андрей Коломенский
@onedevlink
Nov 18 2015 08:41 UTC
@RSalo Не перегенерит
@RSalo Вообще ситуация из разряда невозможных, если исходные данные для хеша всегда разные.
Roman Salnikov
@RSalo
Nov 18 2015 08:43 UTC
@onedevlink да, всегда разные данные
спс за помощь
Diez37
@Diez37
Nov 18 2015 09:16 UTC
ребят, а кто ни то имел опыт работы yii с MsSQL ??
Roman
@Skinka
Nov 18 2015 09:19 UTC
@Diez37 а в чем проблема?

СУСИСИ ХЛОПЦЫ

Roman Salnikov
@RSalo
Nov 18 2015 09:23 UTC
@Skinka МАСИ!
Roman
@Skinka
Nov 18 2015 09:23 UTC
@RSalo ага и вам не хворать
че нового говнокодим?
Diez37
@Diez37
Nov 18 2015 09:24 UTC
@Skinka проблема хз в чем если честно, есть yii2, на нём реализовано api RestFull, который работал месяца два нормально, сейчас же, стоит придти одному запросу, не важно какому, он кладет все, включая сервак с yii и сервак с скулем, плодит кучу конектов к скульному серваку и в конечном итоге ошибка пдошки "exception 'PDOException' with message 'SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (severity 9)'"
@Skinka код ни кто не трогал(
Roman
@Skinka
Nov 18 2015 09:24 UTC
@Diez37 а ребут пробовал?
Diez37
@Diez37
Nov 18 2015 09:25 UTC
@Skinka 8 раз
Roman
@Skinka
Nov 18 2015 09:25 UTC
включить выключить
кеша почистить) кукисы))
Diez37
@Diez37
Nov 18 2015 09:25 UTC
@Skinka 3 раза, у нас уже админ за*бался
@Skinka все уже в кроне лежит чиститься
Roman
@Skinka
Nov 18 2015 09:25 UTC
это траблы с делезкой! врятли уии тут причемто
Diez37
@Diez37
Nov 18 2015 09:26 UTC
@Skinka железка врят ли, ибо когда сервак с yii вырублен, все просто летает
Roman
@Skinka
Nov 18 2015 09:27 UTC
@Diez37 https://toster.ru/q/158023 не твой вопрос?
Diez37
@Diez37
Nov 18 2015 09:27 UTC
@Skinka щас гляну
Roman
@Skinka
Nov 18 2015 09:28 UTC
уии тут явно не причем
Diez37
@Diez37
Nov 18 2015 09:28 UTC
@Skinka к сожалению ни мой
Roman
@Skinka
Nov 18 2015 09:29 UTC
смотрите дрова одбс! может в них проблемы!
Diez37
@Diez37
Nov 18 2015 09:29 UTC
@Skinka ок, ясно, спасибо
Roman
@Skinka
Nov 18 2015 09:29 UTC
теминалка работает к базе?
Diez37
@Diez37
Nov 18 2015 09:30 UTC
@Skinka терминалка в лет просто
Roman
@Skinka
Nov 18 2015 09:30 UTC
смотрите если с конектом траблы возможно это дрова
Diez37
@Diez37
Nov 18 2015 09:31 UTC
@Skinka ну елки, два месяца ни кто не трогал и вдруг дрова полетеле на лине, при том что все остальное что написанно робит и грохается только при включении апишки, магия (
Roman Salnikov
@RSalo
Nov 18 2015 09:32 UTC
@Diez37 комп 3 раза перезагружал?
Diez37
@Diez37
Nov 18 2015 09:33 UTC
@Skinka воля админа фигли
@Skinka упс не туда)
@RSalo воля админа фигли
Roman
@Skinka
Nov 18 2015 09:38 UTC
@Diez37 ну чтото произошложе? чтотто или обновилось или слитело!
@RSalo для юзера делаешь дату последней активности?
@RSalo или такое буз надобности?
Diez37
@Diez37
Nov 18 2015 09:39 UTC
@Skinka ни то ни то ни то, в этом и беда, се логи перерыл, вот только одна ошибка которую вгладывал выше
Roman
@Skinka
Nov 18 2015 09:40 UTC
так не бывает
Roman Salnikov
@RSalo
Nov 18 2015 09:40 UTC
@Skinka как тебе удобнее будет
Diez37
@Diez37
Nov 18 2015 09:41 UTC
@Skinka как выяснилось бывает, другой вопрос, кто знает как врубить трасировку выполнения скрипта в yii
Roman
@Skinka
Nov 18 2015 09:43 UTC
@Diez37 это шо такое?
Diez37
@Diez37
Nov 18 2015 09:44 UTC
@Skinka http://habrahabr.ru/post/31463/, я нашел как врубить)
Roman
@Skinka
Nov 18 2015 09:44 UTC
@Diez37 амм УИИ тут причем?)
@RSalo я хз удобно мне ил инет) я вот думаю нужна ли эта дата! будит ли лишний апдейт в базу
Roman Salnikov
@RSalo
Nov 18 2015 09:46 UTC
@Skinka тогда обновляй
Diez37
@Diez37
Nov 18 2015 09:46 UTC
@Skinka да просто не хотел залазить в скрипты и там прописывать, в уии же через конфиг её врубить можно)
Roman
@Skinka
Nov 18 2015 09:48 UTC
@RSalo гав на тебя кароче
все какието скучные
ну вас
Roman Salnikov
@RSalo
Nov 18 2015 10:12 UTC

это нормально, что Yii::$app->security->encryptByKey генерит такого вида

NP???O???EB???f3d227310b54a1589b08f8dbd97cd46ae8f49fe7b7e42b46f53f590b51fb180d472r?n?6?? ?^??K?l?,?P??

или у меня проблемы с кодировкой?

Rinat-wc
@Rinat-wc
Nov 18 2015 10:23 UTC
@RSalo вообще то мы тут задаем вопросы, а ты как умный должен отвечать!)
236286
@236286
Nov 18 2015 10:24 UTC
@Skinka здраствуйте
Roman Salnikov
@RSalo
Nov 18 2015 10:24 UTC
@Rinat-wc да мужики, вы чо под шхонку-то загоняете=(
Roman
@Skinka
Nov 18 2015 10:33 UTC
@236286 @236286 ховаю?
236286
@236286
Nov 18 2015 10:33 UTC
@Skinka не понятно
Roman
@Skinka
Nov 18 2015 10:34 UTC
@236286 говорю как оно?
236286
@236286
Nov 18 2015 10:35 UTC
@Skinka плохо
Roman
@Skinka
Nov 18 2015 10:36 UTC
@236286 шо опять?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 10:37 UTC

сусиси

Rinat-wc
@Rinat-wc
Nov 18 2015 10:40 UTC
эти ваши сусиси читаю всегда не верно)
atcq1
@atcq1
Nov 18 2015 10:48 UTC
Кто знает, почему attrubuteLabels не является статической?
И зачем? @samdark @githubjeka
она как бы и была не статической
atcq1
@atcq1
Nov 18 2015 10:50 UTC
а вот почему?
про то и вопрос @githubjeka
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 10:52 UTC
никогда не нуждался в ней как в статической
atcq1
@atcq1
Nov 18 2015 10:52 UTC
@githubjeka yiisoft/yii2#9950
вот например тут статичность attrubuteLabels не помешала бы
сам об это спотыкался пару недель назад
236286
@236286
Nov 18 2015 10:54 UTC
@Skinka да че-то ничего не работает :(
композер не слушается
Ivan Orlov
@demisang
Nov 18 2015 11:07 UTC
Всем привет. Подскажет кто-нибудь, как создать в ubuntu файл .sh, чтобы его содержимое всегда работало от имени рута, даже если этот файл был запущен от www-data?
Может быть для ubuntu есть какой-нибудь пакет, который позволяет делать такие манипуляции?
Внутри .sh файла лежат команды на git pull и grunt. Но grunt ругается на такой запуск от www-data, говорит что не будет исполнять, потому что команда grunt вызывает другие команды, на которые нет никаких прав
Может быть для Continuous Integration есть специальные пакеты, которые позволяют запускать любые команды с полными правами?
Андрей Коломенский
@onedevlink
Nov 18 2015 11:13 UTC
@demisang можно написать скрипт, который будет вызывать другой скрипт или самого себя, представляясь рутом. А вообще, лучше просто дай пользователю службы непрерывной интеграции все нужные ему права.
Ivan Orlov
@demisang
Nov 18 2015 11:16 UTC
@onedevlink я, к сожалению, не очень разбираюсь в правах пользователей ubuntu :worried: Моя "служба" это просто bitbucket hook, которая вызывает hook.php, который вызывает shell_execute(hook.sh)...
В принципе то всё работает, кроме команды grunt. Но если через консоль от рута запускать .sh, тогда grunt нормально работает
Андрей Коломенский
@onedevlink
Nov 18 2015 11:19 UTC
@demisang либо bitbucket hook должен запускать .php под пользователем с корректными правами, либо hook.sh должен иметь логин и пароль и запускать скрипт с этим пользователем.
Ivan Orlov
@demisang
Nov 18 2015 11:20 UTC
У меня есть идея написать cron задачу на каждые 5 минут, которая будет проверять существование файла need-to-update, а этот файл будет создаваться в hook.php.
Как такой вот вариант? не слишком коряво будет?)
Андрей Коломенский
@onedevlink
Nov 18 2015 11:23 UTC
@demisang сложно сказать, я не знаю задачи) я бы юзал самый простой способ решения, даже если он "корявый".
Erik Ivanov
@MasterErik
Nov 18 2015 11:31 UTC
Я дал права пользователю от имени которого работает apache. Он выполняет git pull и пр.. Для этого есть готовые пакеты. Только добавил туда ведение логов и их вывод.
236286
@236286
Nov 18 2015 11:45 UTC
yiisoft/yii2#10184
francoispluchino/composer-asset-plugin#163
Erik Ivanov
@MasterErik
Nov 18 2015 11:47 UTC
По моему composer global require "fxp/composer-asset-plugin:~1.0"
236286
@236286
Nov 18 2015 11:49 UTC
@MasterErik composer.phar global require "fxp/composer-asset-plugin:~1.1.0"
Alexander Makarov
@samdark
Nov 18 2015 11:50 UTC
composer self-update уже делался?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 11:50 UTC
да
сносили всё
и кэш чистили
и composer.phar делали
и composer global show показывает что плагин установлен
но ошибка
Alexander Makarov
@samdark
Nov 18 2015 11:51 UTC
воспроизводится?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 11:51 UTC
я с утра не могу ему ничем помочь
ну хз, как можно воспроизвести, если я каждый день тоже самое делаю
Alexander Makarov
@samdark
Nov 18 2015 11:51 UTC
локально у себя воспроизводится?
236286
@236286
Nov 18 2015 11:51 UTC
приходиться поэтому скачивать с архива
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 11:51 UTC
сейчас попробую
Alexander Makarov
@samdark
Nov 18 2015 11:52 UTC
то есть снести, обновить глобально composer
обновить fxp
Dmitry Naumenko
@SilverFire
Nov 18 2015 11:53 UTC
@236286 rm -r ~/.composer
и все сначала
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 11:53 UTC
делали
236286
@236286
Nov 18 2015 11:54 UTC
@SilverFire удаление типа? мы делали
Maxim
@Big-Shark
Nov 18 2015 11:54 UTC
rm -rf / .composer ))) (не выполнять)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 11:54 UTC
и sudo find / -name "composer*"
Dmitry Naumenko
@SilverFire
Nov 18 2015 11:54 UTC
блин, у меня была когда-то такая дичь
Alexander Makarov
@samdark
Nov 18 2015 11:54 UTC
алё
@Big-Shark не смешно
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 11:54 UTC
я пытаюсь воспроизвести
Maxim
@Big-Shark
Nov 18 2015 11:54 UTC
@samdark разве?
Alexander Makarov
@samdark
Nov 18 2015 11:55 UTC
совсем
Maxim
@Big-Shark
Nov 18 2015 11:55 UTC
Я думаю ты понял на какую ошибку в коммите я ссылаюсь этим сообщением
Dmitry Naumenko
@SilverFire
Nov 18 2015 11:55 UTC
@Big-Shark те кто в теме - поняли. А новичек возьмет да и выполнит
попробуй
composer global require "fxp/composer-asset-plugin:@dev"
236286
@236286
Nov 18 2015 11:57 UTC
160_F_60850640_lRNnu1rfNZaqYwZ2HC6ohKyuAnhTbu0C3.jpg
Dmitry Naumenko
@SilverFire
Nov 18 2015 11:57 UTC
шо?
Alexander Makarov
@samdark
Nov 18 2015 11:57 UTC
выполнил?
Dmitry Naumenko
@SilverFire
Nov 18 2015 11:58 UTC
@236286 ты еще с нами? :fearful:
236286
@236286
Nov 18 2015 11:58 UTC
@SilverFire да
2015-11-18-185851_1280x1024_scrot.png
atcq1
@atcq1
Nov 18 2015 11:59 UTC
@samdark я там выше про attributeLabels (почему он не является статическим) спрашивал )
Alexander Makarov
@samdark
Nov 18 2015 12:01 UTC
francoispluchino/composer-asset-plugin#158
вот оно
только чёт не намёржено
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:02 UTC
ты думаешь из за нотиса?
Alexander Makarov
@samdark
Nov 18 2015 12:03 UTC
да фиг его знает
локально-то вышло воспроизвести?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:03 UTC
делается....
Alexander Makarov
@samdark
Nov 18 2015 12:03 UTC
ок
ждём
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:13 UTC
не воспроизводится
загадка...
236286
@236286
Nov 18 2015 12:15 UTC
:(
даже у профи не работает :(
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:15 UTC
винду переустанови
236286
@236286
Nov 18 2015 12:15 UTC
@githubjeka у меня убунту
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:16 UTC
переустанови
(:
я не знаю что это за косяк
у меня всё работает
236286
@236286
Nov 18 2015 12:16 UTC
@githubjeka :(
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:16 UTC
тоже самое делал, что и тебе говорил
может быть у тебя что нибудь с сетью?
до bower не докричаться
Андрей Коломенский
@onedevlink
Nov 18 2015 12:19 UTC
@236286 composer global require "fxp/composer-asset-plugin:~1.0.3" сделай
236286
@236286
Nov 18 2015 12:19 UTC
@githubjeka да вроде норм сс сетью
Андрей Коломенский
@onedevlink
Nov 18 2015 12:19 UTC
и будет всё хорошо с бовером
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:19 UTC
у меня наоборот на 1.0.3 не работало
позавчера
Андрей Коломенский
@onedevlink
Nov 18 2015 12:19 UTC
@githubjeka в доках 3
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:19 UTC
я обновлялся до 1.1.0
@onedevlink
но попробовать можно
Андрей Коломенский
@onedevlink
Nov 18 2015 12:20 UTC
@githubjeka никаких проблем с 1.0.3 не было) были проблемы с отсутсвием в принципе этого пакета)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:20 UTC
composer global require "fxp/composer-asset-plugin:~1.0.3"
236286
@236286
Nov 18 2015 12:21 UTC
2015-11-18-192110_1280x1024_scrot.png
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:22 UTC
и composer create-project --prefer-dist yiisoft/yii2-app-basic basic
236286
@236286
Nov 18 2015 12:23 UTC
2015-11-18-192325_1280x1024_scrot.png
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:24 UTC
добрый вечер
236286
@236286
Nov 18 2015 12:24 UTC
@githubjeka добрый ;)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:24 UTC
я не знаю, что тебе делать с твоей бедой.
Андрей Коломенский
@onedevlink
Nov 18 2015 12:26 UTC
@236286 /home/john/.composer зачисти, и всё заново с новой чистой папкой
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:27 UTC
делали
с утра уже всё что можно делали, осталось винду только переустановить.
236286
@236286
Nov 18 2015 12:28 UTC
@onedevlink да, мы тут @githubjeka все зачищали
уже с утра начали :(
Андрей Коломенский
@onedevlink
Nov 18 2015 12:29 UTC
@236286 composer self-update. Если не поможет то делать сисадминский бубен.
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:29 UTC
чтобы поправить твою ситуацию, надо сделать yii 2.1 и избавиться наконец от этого плагина fxp/composer-asset-plugin
236286
@236286
Nov 18 2015 12:30 UTC
@githubjeka а ваще зачем этот плагин?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:30 UTC
чтобы js твой любимый подтягивался
236286
@236286
Nov 18 2015 12:30 UTC
мне кажется он что-то не понятный какой-то
@githubjeka о круто же
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:30 UTC
нормальные люди его через bower подтягивают, а мы через composer
236286
@236286
Nov 18 2015 12:30 UTC
@githubjeka а в ларавел как?
bower ?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:31 UTC
да
но наш русский Иии ихнего ларавела .... сами знаете куда
@236286 сделай себе
blob
236286
@236286
Nov 18 2015 12:32 UTC
@githubjeka наш убунту вашего windows сами знаете
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:33 UTC
не правда
236286
@236286
Nov 18 2015 12:33 UTC
@githubjeka ну как нет:?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:33 UTC
не спамь - иди делай бубен и чини свой комп
236286
@236286
Nov 18 2015 12:33 UTC
@githubjeka а как бубен делать или чинить комп
Максим
@maxyc
Nov 18 2015 12:42 UTC
парни. нет ли на памяти каких нибудь докладов, семинаров. Как научиться оценивать задачи по времени(ладно тут справлюсь) и по деньгам
какова сейчас стоимость пхп программиста?
atcq1
@atcq1
Nov 18 2015 12:43 UTC
@maxyc чернокожего ?)
Максим
@maxyc
Nov 18 2015 12:43 UTC
свою
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:43 UTC
650 час
мало?
236286
@236286
Nov 18 2015 12:44 UTC
я знаю один программист берет 5 тысяч рублей в час
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:45 UTC
ну смотря какое задание делает.
и для кого делает, и на кого работает.
650 фриланс
мало что ли?
если мало подымайте
от проекта ещё зависит
236286
@236286
Nov 18 2015 12:46 UTC
@githubjeka не знаю, что он длеает, знаю, что для Москвы
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:47 UTC
для гос структуры, две строчки кода поменять 2000$
сайт от 30 000 $
236286
@236286
Nov 18 2015 12:47 UTC
@githubjeka круто
это где?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:47 UTC
у меня
а я за еду тут работаю
236286
@236286
Nov 18 2015 12:47 UTC
@githubjeka жалко что за еду
:(
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 12:48 UTC
зато сытый.
главное сытым быть и не болеть, остальное приложится.
236286
@236286
Nov 18 2015 12:49 UTC
@githubjeka согласен :)
Максим
@maxyc
Nov 18 2015 12:55 UTC

такой еще вопрос для знатоков.
сейчас делаю довольно большой проект. на пол года примерно. дизайна конечного нет, но есть мокапы. делаю пока на бутстрапе в мокапах.
боюсь дальше без дизайна продолжать ибо боюсь повторения случая...
а случай был такой:
есть сайт letsrun.ru - соцсеть для бегунов. сделал я его буквально за месяц. был накидан примерный дизайн. продали его азерам, полякам и еще кому то.
подошло время к реализации второй версии, адаптивный дизайн, гармины, автоматизация, карты и графики. и тут застрял я очень жестко. я стал натягивать дизайн на уже существующий функционал и понял, что попал в болото. чем дальше уходил тем глубже. работа все медлительней и медлительней шла. кое как спустя 4 месяца закрыл задачу, при оценке в месяц. ессесна деньги все профуканы. оценка была не верна ессесна, функционала много нового не было. но вот залипон случился на внедрении нового дизайна и каких то меелких функций на уже рабочий сайт.
сейчас кажется, если б я фронт начал писать с нуля, я б уложился в месяц.

у вас бывало такое? как то решали это?

Alexander Makarov
@samdark
Nov 18 2015 12:56 UTC
не уложился бы
это просто недооценка сложности задачи
и да, бывало
Максим
@maxyc
Nov 18 2015 12:58 UTC
вот боюсь сейчас попасть в это же болото. только тут оценка работы у меня в 6 раз больше. а дизайн еще даже в глаза не видел, хотя 40% примерно работы уже готово.
ушел во фриланс работать, думал будет немного попроще )))
Alexander Makarov
@samdark
Nov 18 2015 12:58 UTC
:)
а получилось ровно наоборот, да? :)
оценивай как учат всегда
разбиваешь на отдельные задачи
каждую оцениваешь
Akhristenko
@Akhristenko
Nov 18 2015 12:59 UTC
суммируешь, умножаешь на пи?
Alexander Makarov
@samdark
Nov 18 2015 12:59 UTC
если не оценивается — разбиваешь ещё
суммируешь, умножаешь как минимум на пи, да
если вообще не ясна задача — договориваешься с заказчиком оценить потом как будут материалы
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:00 UTC
у меня не бывало, я ночью сидел, но в срок укладывался. Потом уже делал выводы. Решать такие ситуации можно только опытом. Если его нет, то и определить сложно.
Maxim
@Big-Shark
Nov 18 2015 13:00 UTC
я тоже на 3 умножаю)
Alexander Makarov
@samdark
Nov 18 2015 13:00 UTC
обещаний когда нихрена не ясно не давать
Maxim
@Big-Shark
Nov 18 2015 13:00 UTC
а потом это еще раз на 3умножает контора, и перепродает)
Alexander Makarov
@samdark
Nov 18 2015 13:00 UTC
@githubjeka я не про факапы, а про саму оценку
факапы я тоже не допускал
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:00 UTC
оценка да, обычно на два умножаю
Alexander Makarov
@samdark
Nov 18 2015 13:01 UTC
nnm.ru фигачили неделю по 18 часов из за ошибки в оценках
Максим
@maxyc
Nov 18 2015 13:01 UTC
ну вот у меня третий факап за 10 лет. первые два я тупо забил :D
Alexander Makarov
@samdark
Nov 18 2015 13:01 UTC
@maxyc забивать — это не торт
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:02 UTC
дели на мелкие задачи и оценивай.
сразу не давай никаких обещаний.
только по задачам
Максим
@maxyc
Nov 18 2015 13:02 UTC
@samdark ессесна.
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:03 UTC
про дизайн засада там, там можно застрять с одной строчкой css на день...
обычно просто в TODO сейчас такое оставляю и двигаюсь дальше
Максим
@maxyc
Nov 18 2015 13:03 UTC
ну меня из этого факапа спас второй программист. я в жс там повис
ща вот параллельно тоже задача стоит https://csgo.tm/ копию сделать... хз как оценить ибо с steam api не работал никогда и чо куда хз получится
оно как с битриксом. вроде все ок, но попросят тебя ввести какой нибудь новый функционал, например, какую то нестандартную плюшку, и все, и пиздец.
короче опыт опыт опыт
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:06 UTC
доверие у заказчика, что ты сделаешь и не бросишь и не симулируешь. И тогда можно без сроков.
Roman
@Skinka
Nov 18 2015 13:11 UTC
@githubjeka ты как президент ваш) без сроков)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:12 UTC
как без сроков? оО
пять лет же
сам себе поставил, конституцию переиздал
Roman
@Skinka
Nov 18 2015 13:12 UTC
@githubjeka ну безсроков по 5 лет)
красава че)
зато стабильно одна морда)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:13 UTC
стареет
Roman
@Skinka
Nov 18 2015 13:13 UTC
а тут и 5 лет не посидят)
чи 4
я уже запутался
Максим
@maxyc
Nov 18 2015 13:40 UTC
пользуетесь битрикс24?
будьте аккуратны!!!
что то фото не вставляется https://pp.vk.me/c630823/v630823960/5ec/nIwRNQD8X_c.jpg
atcq1
@atcq1
Nov 18 2015 13:48 UTC
@maxyc не работает твой сайт
Елагин Александр
@juniorspecialist
Nov 18 2015 14:21 UTC
Всем Привет. Кто-то настраивал оплату через РОбокассу ?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 14:32 UTC
всем привет
кто-то занимался разбором логов yii?
инструменты, решения, подходы?
Андрей Коломенский
@onedevlink
Nov 18 2015 14:37 UTC
@beowulfenator в смысле красиво отображать логи?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 14:37 UTC
да
допустим, буду я в таблицу писать через db target
есть какой-то хороший готовый просмотровщик?
а может есть хорошие сторонние системы, в которые свои логи целесообразно передавать
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 15:44 UTC
elastic
для yii2 всё корявое какоето
я пока просто в таблицу пишу
вообще у elastic куча прикольных вещей для разбора логов и работы с ними - https://www.elastic.co/products
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 15:52 UTC
@githubjeka тогда уже kibana
но в целом - в ту сторону и смотрю
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 15:52 UTC
она для визуализации
ну я тоже в ту смотрю
но пока просто пишу в таблицу sql
всё что на php пробовал, всё корявое
Andrey
@DevAndreyL
Nov 18 2015 15:54 UTC
Вопрос, который меня уже мучает просто огромное количество время. Как добавить данные из модалки в базу? Когда создаю внутри модалки ActiveForm, выбивает кучу ошибок. Модалка находится внутри index.php, и соответственно рендерится через index controller. Уже пытался выносить код в отдельные файлы, и через jquery делать. Решил все же оставить в индексе, но при добавлении bootstrap/ActiveForm получаю ошибку: Call to a member function getAttributeLabel() on null.
Есть ли пример реализации подобного?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:01 UTC
да, я как раз недавно делал
я ж вроде тут и показывал, как сделано
Andrey
@DevAndreyL
Nov 18 2015 16:02 UTC
@beowulfenator Да
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:02 UTC
так что не так?
Andrey
@DevAndreyL
Nov 18 2015 16:02 UTC
вот, значит тут мы подготовили модалку, и в ней объявили пиджакс блок
<?php
Modal::begin([
    'id' => 'share-modal',
    'header' => '<h4 class="modal-title">Share</h4>',
]);
echo Html::tag('div', FA::icon('spinner fa-pulse fa-5x'), ['class' => 'modal-preloader']);
Pjax::begin([
    'id' => 'share-modal-pjax',
    'linkSelector' => false,
    'enablePushState' => false,
    'enableReplaceState' => false
]);
Pjax::end();
Modal::end();
?>


а теперь мы этой модалке говорим, что при открытии она должна взять данные через пиджакс
здесь важно, что мы передаем во вьюху два параметра
<?php
$this->registerJs("$('#share-modal').on('show.bs.modal', function (event) {
$('.modal-preloader').show();
$.pjax({
'url': '".Url::to(['/profile/share'])."',
'container': '#share-modal-pjax',
'push': false,
'replace': false,
'type': 'POST',
'data': {
'objectId': $(event.relatedTarget).data('id'),
'objectType': 'post'
}
})
})", View::POS_READY);
$this->registerJs("$('#share-modal').on('pjax:beforeReplace', function (event) {
$('.modal-preloader').hide();
})", View::POS_READY);
$this->registerJs("$('#share-modal').on('hide.bs.modal', function (event) {
$('#share-modal-pjax').html('');
})", View::POS_READY);
?>

в контроллере мы рассматриваем две ситуации - либо это первое открытие (инициализация формы), либо дальнейшие (валидация и обработка)
<?php

?>
public function actionShare()
{
$model = new ShareForm();
$objectId = Yii::$app->request->post('objectId', false);
$objectType = Yii::$app->request->post('objectType', false);

if ($objectId && $objectType) {
//window opened
$model->objectId = $objectId;
$model->objectType = $objectType;
} else {
//form submitted inside window
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
if ($model->send()) {
Yii::$app->session->addFlash('shareSuccess');
} else {
Yii::$app->session->addFlash('shareError');
}
}
}

return $this->render('_share-modal', [
'model' => $model,
]);
}
?>

ну и во вьюхе
такой же пиджакс, а в нем обычная форма
и это работает
<?php Pjax::begin([
    'id' => 'share-modal-pjax',
    'linkSelector' => false,
    'enablePushState' => false,
    'enableReplaceState' => false
]); ?>
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:03 UTC
да, это оно
что именно не работает?
Andrey
@DevAndreyL
Nov 18 2015 16:04 UTC
Ты не через ActiveForm делал, и полей для ввода данных нет
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:04 UTC
все я делал через activeform
return $this->render('_share-modal', [
'model' => $model,
]);
Andrey
@DevAndreyL
Nov 18 2015 16:05 UTC
А сама форма в отдельном view?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:05 UTC
вот эта вьюха
<?php

use yii\helpers\Html;
use yii\helpers\Json;
use yii\helpers\Url;
use yii\widgets\Pjax;
use yii\web\View;

use kartik\widgets\ActiveForm;
use rmrevin\yii\fontawesome\FA;

$object = $model->object;
?>

<?php Pjax::begin([
    'id' => 'share-modal-pjax',
    'linkSelector' => false,
    'enablePushState' => false,
    'enableReplaceState' => false
]); ?>

<?php if (Yii::$app->session->hasFlash('shareSuccess')) : ?>
    <div class="alert alert-success" role="alert">Share email sent.</div>
<?php elseif (Yii::$app->session->hasFlash('shareError')) : ?>
    <div class="alert alert-danger" role="alert">There has been an error processing this request.</div>
<?php elseif ($object) : ?>
    <?php
        $shareUrl = $object->getPostUrl(true);
        $encodedShareUrl = urlencode($shareUrl);
        $title = strip_tags($object->title);
        $encodedTitle = urlencode($title);
        $description = strip_tags($object->description);
        $encodedDescription = urlencode($description);
    ?>
    <div class="row article-list-item-block">
        <?= Html::tag('div', '', ['class' => 'col-xs-4 article-image-container', 'style' => 'background-image: url('.$object->imageUrl.');']); ?>
        <div class="col-xs-8 article-info-container">
            <?= Html::beginTag('div', [
                'id' => 'article-info',
                'class' => 'article-info',
                'data-title' => $title,
                'data-description' => $description,
                'data-tags' => Json::encode($object->getTags()->select(['name'])->column()),
                'data-fields' => Json::encode($object->getFields()->select(['name'])->column()),
            ]) ?>
                <p class="title"><?= Html::encode($title) ?></p>
                <p class="text-muted description"><?= Html::encode($description) ?></p>
            <?= Html::endTag('div') ?>
            <div class="article-action share-buttons text-center">
                <?= Html::a(FA::icon('facebook'), 'https://www.facebook.com/sharer/sharer.php?u='.$encodedShareUrl, ['class' => 'btn btn-default share-facebook', 'target' => '_blank']) ?>
                <?= Html::a(FA::icon('twitter'), 'https://twitter.com/share?url='.$encodedShareUrl.'&text='.$encodedTitle, ['class' => 'btn btn-default share-twitter', 'target' => '_blank']) ?>
                <?= Html::a(FA::icon('linkedin'), 'https://www.linkedin.com/shareArticle?mini=true&url='.$encodedShareUrl.'&title='.$encodedTitle.'&summary='.$encodedDescription, ['class' => 'btn btn-default share-linkedin', 'target' => '_blank']) ?>
                <?= Html::a(FA::icon('google-plus'), 'https://plus.google.com/share?url='.$encodedShareUrl, ['class' => 'btn btn-default share-google', 'target' => '_blank']) ?>
            </div>
        </div>
    </div>

    <?php $form = ActiveForm::begin([
        'id'=>'share-form',
        'action' => Url::to(['/profile/share']),
        'type' => 'horizontal',
        'options' => [
            'data-pjax' => 1,
        ]
    ]); ?>

    <?= $form->field($model, 'email')->textInput() ?>
    <?= $form->field($model, 'message')->textarea(['rows' => 4]) ?>
    <?= Html::activeHiddenInput($model, 'objectId') ?>
    <?= Html::activeHiddenInput($model, 'objectType') ?>
    <?= Html::submitButton('Share', ['class' => 'btn btn-green']) ?>

    <?php ActiveForm::end() ?>
<?php else : ?>
    <div class="alert alert-danger" role="alert">There has been an error processing this request.</div>
<?php endif ?>

<?php Pjax::end(); ?>
то есть прикол в том, что формы в модалке нету - она подгружается на лету
Andrey
@DevAndreyL
Nov 18 2015 16:06 UTC
Вот в чем дело
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:06 UTC
у меня это обосновано - модалка одна, а форм может быть много разных (можно поделиться разными статьями со страницы)
но это несущественно
Andrey
@DevAndreyL
Nov 18 2015 16:06 UTC

          <?php
          Modal::begin([
            'header' => '<h3>Создать встречу</h3>',
            'toggleButton' => [
              'tag' => 'button',
              'class' => 'btn btn-primary',
              'label' => 'Создать встречу',
            ]
          ]);
          ?>
          <?php
          $form = ActiveForm::begin([
            'id' => 'addMeet',
          ]);
          ?>
          <?= $form->field($model, 'title'); ?>
          <?= $form->field($model, 'describe'); ?>
          <?= Html::submitButton('Создать встречу', ['class' => 'btn btn-primary', 'name' => 'add_new_meet']); ?>
          <?php $form = ActiveForm::end(); ?>
          <?php
          Modal::end();
          ?>
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:07 UTC
да так тоже можно
надо только форму в пиджакс обернуть
и в отдельный файл вынести
Andrey
@DevAndreyL
Nov 18 2015 16:07 UTC
@beowulfenator но почему то вылетает ошибка Call to a member function getAttributeLabel() on null
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:07 UTC
чтобы контроллер рендерил только ее
так значит что-то не проинициализировано
например, $model
но ты ж небось хочешь, чтобы форма сабмитилась прямо в модалке
а не редиректила на новую страницу
Andrey
@DevAndreyL
Nov 18 2015 16:09 UTC
Можно редиректить на саму себя
Но что бы в модалке сабмитилась было бы нормально
Неплохо было бы
This message was deleted
This message was deleted
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:11 UTC
ну вот для сабмита в модалке я и делаю пиджакс
Andrey
@DevAndreyL
Nov 18 2015 16:14 UTC
@beowulfenator Спасибо, буду разбираться. За вьюху отдельное спасибо
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:17 UTC
удачи
если что, спрашивай
Andrey
@DevAndreyL
Nov 18 2015 16:23 UTC
@beowulfenator Окей спасибо. Есть вот вопрос. Не очень понятно как рендерится вьюха с формой. Как она подгружается. Через pjax?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:24 UTC
да
смотри: в первый раз там формы нет
есть пустой пиджакс блок
потом выполняется запрос
$this->registerJs("$('#share-modal').on('show.bs.modal', function (event) {
$('.modal-preloader').show();
$.pjax({
'url': '".Url::to(['/profile/share'])."',
'container': '#share-modal-pjax',
'push': false,
'replace': false,
'type': 'POST',
'data': {
'objectId': $(event.relatedTarget).data('id'),
'objectType': 'post'
}
})
})", View::POS_READY);
Andrey
@DevAndreyL
Nov 18 2015 16:27 UTC
Url::to(['/profile/share']) - это вьюха, в которой форма, и при нажатии она будет открыта, верно?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:39 UTC
это действие контроллера, которое выдает вьюху с формой
оно же выдает эту вьюху после обработки формы
т.е. возможен вариант, когда форма должна валидироваться на бэке
если она не провалидировалась, надо ее снова показать с ошибками
if ($objectId && $objectType) {
//window opened
$model->objectId = $objectId;
$model->objectType = $objectType;
} else {
//form submitted inside window
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
вот это можно сделать лучше или по-другому
важно отличить первое открытие от остальных открытий
в первый раз форму надо показывать без ошибок, что поля пустые
как-то так
Andrey
@DevAndreyL
Nov 18 2015 16:43 UTC
@beowulfenator Понятно, спасибо большое.
Andrey
@DevAndreyL
Nov 18 2015 17:16 UTC
А DataPicker загружать нужно? Так как я не могу его через use не видно. http://www.yiiframework.com/doc-2.0/yii-jui-datepicker.html
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 17:48 UTC
Для формы?
да
у меня не работало, пока я во вьюхе с модалкой не загрузил все ассеты
ActiveFormAsset::register($this);
KartikFormAsset::register($this);
по идее при подгрузке пиджаксом что-то должно было само подгрузиться, но у меня не заработало
Andrey
@DevAndreyL
Nov 18 2015 18:08 UTC
@beowulfenator У меня вообще его нет, я так понял его либо загружать с сайта jquery, либо на гите
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 18:27 UTC
надо просто зарегистрировать его ассет
Andrey
@DevAndreyL
Nov 18 2015 18:28 UTC
понял
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 18:28 UTC
\yii\jui\JuiAsset::register($this) во вьюхе
во вьюхе где модалка
Andrey
@DevAndreyL
Nov 18 2015 18:29 UTC
У меня не ищет даже jui
при прописывании пути
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 18:29 UTC
а во вьюхе, где содержимое модалки (форма), там просто по всем правилам вывести виджет
"yiisoft/yii2-jui": "*",
в composer.json
Roman
@Skinka
Nov 18 2015 18:49 UTC
хлопчики подскажите слайдер изображения чтобы слайдил изображения в исходном виде отцентрированные
Andrey
@DevAndreyL
Nov 18 2015 18:53 UTC
@beowulfenator Спасибо. Выручаешь)
@beowulfenator Правда теперь композер токен просит
@beowulfenator И не видит composer.phar,
Roman
@Skinka
Nov 18 2015 19:02 UTC
расскажите как можно юзать картика? этоже ад
@DevAndreyL дай ему токен)
Andrey
@DevAndreyL
Nov 18 2015 19:03 UTC
@Skinka Там его регистрировать по моему нужно, если я правильно нагуглил
Roman
@Skinka
Nov 18 2015 19:03 UTC
@DevAndreyL нет ! в гите получи токен и дай компосеру
Andrey
@DevAndreyL
Nov 18 2015 19:04 UTC
@Skinka Спасибо, потому что установить ничего нельзя
и обновить
@DevAndreyL А стандартный DatePicker нормальный? или есть альтернатива получше?
Roman
@Skinka
Nov 18 2015 19:08 UTC
@DevAndreyL а он тебе чем не нравится?
хватает функционала юзай не хватает ищи другой
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 20:07 UTC
мне не нравиться его навигация по смене года и месяца
предпочитаю jquery-datepicker
Максим
@maxyc
Nov 18 2015 21:48 UTC
Есть кто, помогите по поиску ошибку найти?

что то странно

public function rules()
    {
        return [
            [['name', 'text', 'note', 'company_code'], 'string'],
            [['active_from', 'active_to', 'company_id', 'created_by'], 'integer'],
            ['active', 'boolean', 'skipOnEmpty'=>true]
        ];
    }
<...>
public function search($params)
    {
        $query = parent::find();

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);

        if (!($this->load($params) && $this->validate())) {
 die('<pre>'.print_r(['params'=>$params, 'attributes'=>$this->attributes, 'errors'=>$this->errors, 'query'=>$query], true));
            return $dataProvider;
        }


<...>

при этом 'active_from', 'active_to' ни в какую не заполняется

[params] => Array
        (
            [ArticleSearch] => Array
                (
                    [company_code] => 
                    [active_from] => 1447816939
                    [active_to] => 1447816939
                )

        )

    [attributes] => Array
        (
            [id] => 
            [company_id] => 
            [code] => 
            [name] => 
            [note] => 
            [text] => 
            [created_by] => 
            [updated_by] => 
            [created_at] => 
            [updated_at] => 
            [active] => 
            [active_from] => 
            [active_to] => 
            [views] => 
        )

[errors] => Array
        (
            [active_from] => Array
                (
                    [0] => Значение «Активность с» должно быть целым числом.
                )

            [active_to] => Array
                (
                    [0] => Значение «Активность до» должно быть целым числом.
                )

        )

что я делаю не так? :D

Максим
@maxyc
Nov 18 2015 21:56 UTC
почему эти два поля не заполняются?
Nikita
@Altenrion
Nov 18 2015 21:57 UTC
Блииин
Как я вам завидую всем
Сидите еа php 5.5+
А я на работе как в прошлом веке застрял с php 5.3
Мног кастомных дров на redhat 6 скомпиленно именно под 5.3... И фреймворк старый, обновить php проблемно до жути(((
А так хочца
Максим
@maxyc
Nov 18 2015 22:02 UTC
syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)
бггг
Nikita
@Altenrion
Nov 18 2015 22:09 UTC
Всем спокойной
Максим
@maxyc
Nov 18 2015 22:12 UTC
бай