These are chat archives for yiisoft/yii2/rus

18th
Nov 2015
Максим
@maxyc
Nov 18 2015 00:23
живые есть?
Максим
@maxyc
Nov 18 2015 02:12
Это...
а в чем разница между обычным кроном и задачами типа MQ
Alexey Rogachev
@arogachev
Nov 18 2015 03:15
@maxyc вот неплохое объяснение
пример с регистрацией юзеров
и отсылкой им почтового уведомления
Тэкс, у нас тут что, новый контрибутор) @samdark заинтриговал
Максим
@maxyc
Nov 18 2015 03:22
@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
зачем у тебя created_by в rules?
он не должен быть там, это заполняется вручную, а не приходит от пользователя
теоретически у тебя пользователь может подделать эти данные
с валидацией поработать нужно, просто safe юзать - не айс
в id если внешних ключей нет тоже можно напихать все что угодно
а, это вообще search модель...
ну тогда допустимо, лучше бы разделить хотя бы на integer / string
пока непонятно, почему не заполняется. scenarios перебит метод? может от родителя отнаследовано
scenarios должны быть перебиты, т.к. search модель наследована от основной
236286
@236286
Nov 18 2015 03:53
Господи обращаюсь к тебе, прошу, усмотреть все наши нужды программистов чата yii, быть мудрым в наших программистких вопросах, т.к. ты знаешь обо всех наших желаниях, дать также нам сил и здоровья, Аминь :)
236286
@236286
Nov 18 2015 04:24

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
а после чего это?
236286
@236286
Nov 18 2015 04:56
@githubjeka /var/www/html$ git clone git@github.com:komarserjio/notejam.git new
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 04:57
236286
@236286
Nov 18 2015 04:57
@githubjeka точно, друг, скачивает :)
php composer.phar install
2015-11-18-120228_1280x1024_scrot.png
236286
@236286
Nov 18 2015 05:03
@githubjeka
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:06
сделай php composer.phar update
236286
@236286
Nov 18 2015 05:10
2015-11-18-120943_1280x1024_scrot.png
@githubjeka :(
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:18
сделай composer update
blob
Доброе утро!
Vitaly
@hellvesper
Nov 18 2015 05:22
хей
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:22
хей
Vitaly
@hellvesper
Nov 18 2015 05:26
не не могу, пойду еще посплю
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:28
хорошо, я посторожу.
Vitaly
@hellvesper
Nov 18 2015 05:28
:+1:
236286
@236286
Nov 18 2015 05:35
2015-11-18-123532_1280x1024_scrot.png
160_F_60850640_lRNnu1rfNZaqYwZ2HC6ohKyuAnhTbu0C.jpg
@githubjeka
Roman Salnikov
@RSalo
Nov 18 2015 05:55
alt
всем гномиков добра и глубины кода!
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:55
@236286 ты asset плагин поставил?
@RSalo Благодарю тебя, о величайшее добро вселенной.
Roman Salnikov
@RSalo
Nov 18 2015 05:57
@236286
php composer.phar global require "fxp/composer-asset-plugin:~1.0.3"
236286
@236286
Nov 18 2015 05:58
@githubjeka да я делал php composer.phar global require "fxp/composer-asset-plugin:~1.1.0"
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 05:59
а у тебя в cd твоей папке есть папка vendor ?
если есть, удали. И заново пробуй composer update
Roman Salnikov
@RSalo
Nov 18 2015 05:59
1.1.0 что это за версия такая?
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:00
новая вроде
236286
@236286
Nov 18 2015 06:00
@githubjeka /var/www/html/new/rubyonrails/notejam/vendor/assets
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:00
а то в 1.0.3 там баги
236286
@236286
Nov 18 2015 06:00
есть такая по ходу
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:00
@236286 удали rm /var/www/html/new/rubyonrails/notejam/vendor/ -R
236286
@236286
Nov 18 2015 06:00
@githubjeka ок
сделал
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:01
composer update
чтобы научится Yii2 ставить, надо не меньше 3К раз это сделать.
Roman Salnikov
@RSalo
Nov 18 2015 06:02
я с первого раза поставил, после 5 попыток
236286
@236286
Nov 18 2015 06:03
@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
~1.1.0"
236286
@236286
Nov 18 2015 06:11
:(
2015-11-18-131024_1280x1024_scrot.png
@githubjeka
Roman Salnikov
@RSalo
Nov 18 2015 06:11
попробуй 1.0.3 тогда
236286
@236286
Nov 18 2015 06:11
я чета ниче не понимаю
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:12
удали нафиг всё это и учи сессии
236286
@236286
Nov 18 2015 06:12
@githubjeka :(
Роман
@i-coder
Nov 18 2015 06:17
народ может кто подсказать вот есть у меня уведомления \Yii::$app->getSession()->setFlash('access', 'Продукция обновлена.'); но такие уведомления показываются после перезапуска страницы а хотелось бы иметь инструмент для пока уведомления ненадо перезагружать страницу - есть такое?
Roman Salnikov
@RSalo
Nov 18 2015 06:18
@i-coder вешаешь событие в jquery и вот тебе без перезагрузки:D
Роман
@i-coder
Nov 18 2015 06:20
@RSalo ну вешаешь на все контролы? а хотелось бы где то в контроле кинул уведомления в сессию а сессия слушалась бы фронтом что то типа такого
Roman Salnikov
@RSalo
Nov 18 2015 06:22
@i-coder в смысле на все контролы вешаешь? обычным jquery биндишь какое-нибудь событие на элемент, и потом его вызываешь при срабатывании чего-нибудь. ничего думаю мудрить там особо не надо...
Роман
@i-coder
Nov 18 2015 06:23
@RSalo есть где глянуть пример?
Roman Salnikov
@RSalo
Nov 18 2015 06:23
@i-coder как биндить?
236286
@236286
Nov 18 2015 06:23
@githubjeka если честно примерно такие же ошибки были когда я чисто yii2 через compser пытался закачать, пришлось скачать просто архив
Роман
@i-coder
Nov 18 2015 06:28
@RSalo что за биндить? непойму
Roman Salnikov
@RSalo
Nov 18 2015 06:33
@i-coder если у тебя ajax реквест, то почему бы просто не сделать в success респонсе в аяксе аппенд флэша?
я немного не понимаю тебя
Роман
@i-coder
Nov 18 2015 06:36
@RSalo ты не понял немного есть 12 классов (контролы) в них происходят события ..эти события я кидаю в ->setFlash ... я прост охотел на фронте иметь некий кусок кода)) и выводит все в одном месте без рестарта страницы ... было бы классно если типа пулинга.. но знаю что не получистя пулингом
Vitaly
@hellvesper
Nov 18 2015 06:37
@i-coder привет асинхронность)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 06:38
выспался?
Vitaly
@hellvesper
Nov 18 2015 06:38
ага
в душик сходил, кофеек заварил
все по феншую
а через часик на автобус
Роман
@i-coder
Nov 18 2015 06:39
@hellvesper а если забудим про пулинг ...
Roman Salnikov
@RSalo
Nov 18 2015 06:39
@i-coder а, тогда тебе смотреть в сторону там реквест таймов, сокетов или какого-нибудь лонг пуллинга:D по другому я не вижу как ему дать понять, что надо принять очередной флэш...
Vitaly
@hellvesper
Nov 18 2015 06:39
@i-coder нууу ты можешь повесит аякс чтобы по таймауту проверял какойнить экшн который будет отдавать ему события
там в пиджаке из каробке есть такой функйонал кстати
Роман
@i-coder
Nov 18 2015 06:40
@hellvesper короче тольк ос задержкой больше ни как
ладно
Vitaly
@hellvesper
Nov 18 2015 06:40
я думаю можно просто обернуть стандартный виджет флеша в пиджак и все заработает
Roman Salnikov
@RSalo
Nov 18 2015 06:40
@i-coder переходи на джаву, там такой херни нету. все постоянно в памяти висит и в реалтайме обрабатывается:D
Vitaly
@hellvesper
Nov 18 2015 06:40
@i-coder ну или сокетами. и опять привет асинхронность)
Roman Salnikov
@RSalo
Nov 18 2015 07:15
чуваки, подскажите один очень острый момент. есть допустим какой-то юзвер и возможно, он будет хранить пиратский контент у себя на странице, к которому я не буду иметь отношение
вопрос вот в самих ссылках на файл. делать прямые ссылки на пользователя, к которому принадлежит файл по типу id=100500&file=file.png или делать пользователю какой-нибудь хэш по типу hash=aea23dsom23asdmaop&file=file.png, чтобы не было явно видно, какому из пользователей принадлежит файл
я хз с точки зрения законодательства как это будет выглядеть. мало ли, если указываешь явного владельца, то можно его подставить за пиратсво и т.д. и т.п.
кто сталкивался?
Diez37
@Diez37
Nov 18 2015 07:19
@i-coder у меня похожая задача, только мне надо выводить количество договоров)) для этого отошел от yii и сделал эту ерись на phpDaemonе через webSocketы, рыботает быстро все довольны нагрузки ни какой)))
Vitaly
@hellvesper
Nov 18 2015 07:28
@RSalo с точки зрения законодательства ответсвенность на тебе а не на юзвере
делай абузу и пусть абузят на файлы, хотя могут не парится а заблочить твой ресурс)
Roman Salnikov
@RSalo
Nov 18 2015 07:30
@hellvesper так вродь как в вк там по договору использования вся ответственность снимается с вк
как-то так...
Vitaly
@hellvesper
Nov 18 2015 07:31
@RSalo пфф, трекеры вообще не хранят у себя данные, тем не менее их блочат
Roman Salnikov
@RSalo
Nov 18 2015 07:31
да рили, они охренели. зачем блочить ресурс, где кроме пиратов будут и нормальные уники?
Vitaly
@hellvesper
Nov 18 2015 07:31
просто вк крупный игрок
кого это парит?
делаешь файлообменник - парься с модерацией
Roman Salnikov
@RSalo
Nov 18 2015 07:33
@hellvesper не, я делаю, что бы юзверы могли оставлять какие-нибудь картинки/тексты
аудио будут с саундклауда лить, а видео с ютуба. часть проблемы отпадает
Vitaly
@hellvesper
Nov 18 2015 07:33
там можно забить
Nikita
@Altenrion
Nov 18 2015 07:34
Мне кажется, или обсуждения больше тянут на ветку оффтоптка?
Vitaly
@hellvesper
Nov 18 2015 07:34
разве что экстиримстские материалы будут постить =)
ну там выше техническая проблема реализации, не только ж код обсуждать
Rinat-wc
@Rinat-wc
Nov 18 2015 07:43
@RSalo какова функция Page object и Step object в codeception?
т.е в каких моментах их юзают и зачем? что за особый вид классов?
Roman Salnikov
@RSalo
Nov 18 2015 07:47
@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
кто-нибудь сталкивался, когда в базе образовывалась коллизия с мд5 кэшем? на поле стоит уникальность и генератор мд5. если случайно сгенерится такой же мд5, который уже существует, то будет ексепшин или он заново перегенит пока не будет уникальным?
Андрей Коломенский
@onedevlink
Nov 18 2015 08:41
@RSalo Не перегенерит
@RSalo Вообще ситуация из разряда невозможных, если исходные данные для хеша всегда разные.
Roman Salnikov
@RSalo
Nov 18 2015 08:43
@onedevlink да, всегда разные данные
спс за помощь
Diez37
@Diez37
Nov 18 2015 09:16
ребят, а кто ни то имел опыт работы yii с MsSQL ??
Roman
@Skinka
Nov 18 2015 09:19
@Diez37 а в чем проблема?

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

Roman Salnikov
@RSalo
Nov 18 2015 09:23
@Skinka МАСИ!
Roman
@Skinka
Nov 18 2015 09:23
@RSalo ага и вам не хворать
че нового говнокодим?
Diez37
@Diez37
Nov 18 2015 09:24
@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
@Diez37 а ребут пробовал?
Diez37
@Diez37
Nov 18 2015 09:25
@Skinka 8 раз
Roman
@Skinka
Nov 18 2015 09:25
включить выключить
кеша почистить) кукисы))
Diez37
@Diez37
Nov 18 2015 09:25
@Skinka 3 раза, у нас уже админ за*бался
@Skinka все уже в кроне лежит чиститься
Roman
@Skinka
Nov 18 2015 09:25
это траблы с делезкой! врятли уии тут причемто
Diez37
@Diez37
Nov 18 2015 09:26
@Skinka железка врят ли, ибо когда сервак с yii вырублен, все просто летает
Roman
@Skinka
Nov 18 2015 09:27
@Diez37 https://toster.ru/q/158023 не твой вопрос?
Diez37
@Diez37
Nov 18 2015 09:27
@Skinka щас гляну
Roman
@Skinka
Nov 18 2015 09:28
уии тут явно не причем
Diez37
@Diez37
Nov 18 2015 09:28
@Skinka к сожалению ни мой
Roman
@Skinka
Nov 18 2015 09:29
смотрите дрова одбс! может в них проблемы!
Diez37
@Diez37
Nov 18 2015 09:29
@Skinka ок, ясно, спасибо
Roman
@Skinka
Nov 18 2015 09:29
теминалка работает к базе?
Diez37
@Diez37
Nov 18 2015 09:30
@Skinka терминалка в лет просто
Roman
@Skinka
Nov 18 2015 09:30
смотрите если с конектом траблы возможно это дрова
Diez37
@Diez37
Nov 18 2015 09:31
@Skinka ну елки, два месяца ни кто не трогал и вдруг дрова полетеле на лине, при том что все остальное что написанно робит и грохается только при включении апишки, магия (
Roman Salnikov
@RSalo
Nov 18 2015 09:32
@Diez37 комп 3 раза перезагружал?
Diez37
@Diez37
Nov 18 2015 09:33
@Skinka воля админа фигли
@Skinka упс не туда)
@RSalo воля админа фигли
Roman
@Skinka
Nov 18 2015 09:38
@Diez37 ну чтото произошложе? чтотто или обновилось или слитело!
@RSalo для юзера делаешь дату последней активности?
@RSalo или такое буз надобности?
Diez37
@Diez37
Nov 18 2015 09:39
@Skinka ни то ни то ни то, в этом и беда, се логи перерыл, вот только одна ошибка которую вгладывал выше
Roman
@Skinka
Nov 18 2015 09:40
так не бывает
Roman Salnikov
@RSalo
Nov 18 2015 09:40
@Skinka как тебе удобнее будет
Diez37
@Diez37
Nov 18 2015 09:41
@Skinka как выяснилось бывает, другой вопрос, кто знает как врубить трасировку выполнения скрипта в yii
Roman
@Skinka
Nov 18 2015 09:43
@Diez37 это шо такое?
Diez37
@Diez37
Nov 18 2015 09:44
@Skinka http://habrahabr.ru/post/31463/, я нашел как врубить)
Roman
@Skinka
Nov 18 2015 09:44
@Diez37 амм УИИ тут причем?)
@RSalo я хз удобно мне ил инет) я вот думаю нужна ли эта дата! будит ли лишний апдейт в базу
Roman Salnikov
@RSalo
Nov 18 2015 09:46
@Skinka тогда обновляй
Diez37
@Diez37
Nov 18 2015 09:46
@Skinka да просто не хотел залазить в скрипты и там прописывать, в уии же через конфиг её врубить можно)
Roman
@Skinka
Nov 18 2015 09:48
@RSalo гав на тебя кароче
все какието скучные
ну вас
Roman Salnikov
@RSalo
Nov 18 2015 10:12

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

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

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

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

сусиси

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

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

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

Alexander Makarov
@samdark
Nov 18 2015 12:56
не уложился бы
это просто недооценка сложности задачи
и да, бывало
Максим
@maxyc
Nov 18 2015 12:58
вот боюсь сейчас попасть в это же болото. только тут оценка работы у меня в 6 раз больше. а дизайн еще даже в глаза не видел, хотя 40% примерно работы уже готово.
ушел во фриланс работать, думал будет немного попроще )))
Alexander Makarov
@samdark
Nov 18 2015 12:58
:)
а получилось ровно наоборот, да? :)
оценивай как учат всегда
разбиваешь на отдельные задачи
каждую оцениваешь
Akhristenko
@Akhristenko
Nov 18 2015 12:59
суммируешь, умножаешь на пи?
Alexander Makarov
@samdark
Nov 18 2015 12:59
если не оценивается — разбиваешь ещё
суммируешь, умножаешь как минимум на пи, да
если вообще не ясна задача — договориваешься с заказчиком оценить потом как будут материалы
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:00
у меня не бывало, я ночью сидел, но в срок укладывался. Потом уже делал выводы. Решать такие ситуации можно только опытом. Если его нет, то и определить сложно.
Maxim
@Big-Shark
Nov 18 2015 13:00
я тоже на 3 умножаю)
Alexander Makarov
@samdark
Nov 18 2015 13:00
обещаний когда нихрена не ясно не давать
Maxim
@Big-Shark
Nov 18 2015 13:00
а потом это еще раз на 3умножает контора, и перепродает)
Alexander Makarov
@samdark
Nov 18 2015 13:00
@githubjeka я не про факапы, а про саму оценку
факапы я тоже не допускал
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:00
оценка да, обычно на два умножаю
Alexander Makarov
@samdark
Nov 18 2015 13:01
nnm.ru фигачили неделю по 18 часов из за ошибки в оценках
Максим
@maxyc
Nov 18 2015 13:01
ну вот у меня третий факап за 10 лет. первые два я тупо забил :D
Alexander Makarov
@samdark
Nov 18 2015 13:01
@maxyc забивать — это не торт
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:02
дели на мелкие задачи и оценивай.
сразу не давай никаких обещаний.
только по задачам
Максим
@maxyc
Nov 18 2015 13:02
@samdark ессесна.
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:03
про дизайн засада там, там можно застрять с одной строчкой css на день...
обычно просто в TODO сейчас такое оставляю и двигаюсь дальше
Максим
@maxyc
Nov 18 2015 13:03
ну меня из этого факапа спас второй программист. я в жс там повис
ща вот параллельно тоже задача стоит https://csgo.tm/ копию сделать... хз как оценить ибо с steam api не работал никогда и чо куда хз получится
оно как с битриксом. вроде все ок, но попросят тебя ввести какой нибудь новый функционал, например, какую то нестандартную плюшку, и все, и пиздец.
короче опыт опыт опыт
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:06
доверие у заказчика, что ты сделаешь и не бросишь и не симулируешь. И тогда можно без сроков.
Roman
@Skinka
Nov 18 2015 13:11
@githubjeka ты как президент ваш) без сроков)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:12
как без сроков? оО
пять лет же
сам себе поставил, конституцию переиздал
Roman
@Skinka
Nov 18 2015 13:12
@githubjeka ну безсроков по 5 лет)
красава че)
зато стабильно одна морда)
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 13:13
стареет
Roman
@Skinka
Nov 18 2015 13:13
а тут и 5 лет не посидят)
чи 4
я уже запутался
Максим
@maxyc
Nov 18 2015 13:40
пользуетесь битрикс24?
будьте аккуратны!!!
что то фото не вставляется https://pp.vk.me/c630823/v630823960/5ec/nIwRNQD8X_c.jpg
atcq1
@atcq1
Nov 18 2015 13:48
@maxyc не работает твой сайт
Елагин Александр
@juniorspecialist
Nov 18 2015 14:21
Всем Привет. Кто-то настраивал оплату через РОбокассу ?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 14:32
всем привет
кто-то занимался разбором логов yii?
инструменты, решения, подходы?
Андрей Коломенский
@onedevlink
Nov 18 2015 14:37
@beowulfenator в смысле красиво отображать логи?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 14:37
да
допустим, буду я в таблицу писать через db target
есть какой-то хороший готовый просмотровщик?
а может есть хорошие сторонние системы, в которые свои логи целесообразно передавать
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 15:44
elastic
для yii2 всё корявое какоето
я пока просто в таблицу пишу
вообще у elastic куча прикольных вещей для разбора логов и работы с ними - https://www.elastic.co/products
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 15:52
@githubjeka тогда уже kibana
но в целом - в ту сторону и смотрю
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 15:52
она для визуализации
ну я тоже в ту смотрю
но пока просто пишу в таблицу sql
всё что на php пробовал, всё корявое
Andrey
@DevAndreyL
Nov 18 2015 15:54
Вопрос, который меня уже мучает просто огромное количество время. Как добавить данные из модалки в базу? Когда создаю внутри модалки ActiveForm, выбивает кучу ошибок. Модалка находится внутри index.php, и соответственно рендерится через index controller. Уже пытался выносить код в отдельные файлы, и через jquery делать. Решил все же оставить в индексе, но при добавлении bootstrap/ActiveForm получаю ошибку: Call to a member function getAttributeLabel() on null.
Есть ли пример реализации подобного?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:01
да, я как раз недавно делал
я ж вроде тут и показывал, как сделано
Andrey
@DevAndreyL
Nov 18 2015 16:02
@beowulfenator Да
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:02
так что не так?
Andrey
@DevAndreyL
Nov 18 2015 16:02
вот, значит тут мы подготовили модалку, и в ней объявили пиджакс блок
<?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
да, это оно
что именно не работает?
Andrey
@DevAndreyL
Nov 18 2015 16:04
Ты не через ActiveForm делал, и полей для ввода данных нет
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:04
все я делал через activeform
return $this->render('_share-modal', [
'model' => $model,
]);
Andrey
@DevAndreyL
Nov 18 2015 16:05
А сама форма в отдельном view?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:05
вот эта вьюха
<?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
Вот в чем дело
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:06
у меня это обосновано - модалка одна, а форм может быть много разных (можно поделиться разными статьями со страницы)
но это несущественно
Andrey
@DevAndreyL
Nov 18 2015 16:06

          <?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
да так тоже можно
надо только форму в пиджакс обернуть
и в отдельный файл вынести
Andrey
@DevAndreyL
Nov 18 2015 16:07
@beowulfenator но почему то вылетает ошибка Call to a member function getAttributeLabel() on null
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:07
чтобы контроллер рендерил только ее
так значит что-то не проинициализировано
например, $model
но ты ж небось хочешь, чтобы форма сабмитилась прямо в модалке
а не редиректила на новую страницу
Andrey
@DevAndreyL
Nov 18 2015 16:09
Можно редиректить на саму себя
Но что бы в модалке сабмитилась было бы нормально
Неплохо было бы
This message was deleted
This message was deleted
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:11
ну вот для сабмита в модалке я и делаю пиджакс
Andrey
@DevAndreyL
Nov 18 2015 16:14
@beowulfenator Спасибо, буду разбираться. За вьюху отдельное спасибо
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:17
удачи
если что, спрашивай
Andrey
@DevAndreyL
Nov 18 2015 16:23
@beowulfenator Окей спасибо. Есть вот вопрос. Не очень понятно как рендерится вьюха с формой. Как она подгружается. Через pjax?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:24
да
смотри: в первый раз там формы нет
есть пустой пиджакс блок
потом выполняется запрос
$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
Url::to(['/profile/share']) - это вьюха, в которой форма, и при нажатии она будет открыта, верно?
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 16:39
это действие контроллера, которое выдает вьюху с формой
оно же выдает эту вьюху после обработки формы
т.е. возможен вариант, когда форма должна валидироваться на бэке
если она не провалидировалась, надо ее снова показать с ошибками
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
@beowulfenator Понятно, спасибо большое.
Andrey
@DevAndreyL
Nov 18 2015 17:16
А DataPicker загружать нужно? Так как я не могу его через use не видно. http://www.yiiframework.com/doc-2.0/yii-jui-datepicker.html
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 17:48
Для формы?
да
у меня не работало, пока я во вьюхе с модалкой не загрузил все ассеты
ActiveFormAsset::register($this);
KartikFormAsset::register($this);
по идее при подгрузке пиджаксом что-то должно было само подгрузиться, но у меня не заработало
Andrey
@DevAndreyL
Nov 18 2015 18:08
@beowulfenator У меня вообще его нет, я так понял его либо загружать с сайта jquery, либо на гите
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 18:27
надо просто зарегистрировать его ассет
Andrey
@DevAndreyL
Nov 18 2015 18:28
понял
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 18:28
\yii\jui\JuiAsset::register($this) во вьюхе
во вьюхе где модалка
Andrey
@DevAndreyL
Nov 18 2015 18:29
У меня не ищет даже jui
при прописывании пути
Konstantin Sirotkin
@beowulfenator
Nov 18 2015 18:29
а во вьюхе, где содержимое модалки (форма), там просто по всем правилам вывести виджет
"yiisoft/yii2-jui": "*",
в composer.json
Roman
@Skinka
Nov 18 2015 18:49
хлопчики подскажите слайдер изображения чтобы слайдил изображения в исходном виде отцентрированные
Andrey
@DevAndreyL
Nov 18 2015 18:53
@beowulfenator Спасибо. Выручаешь)
@beowulfenator Правда теперь композер токен просит
@beowulfenator И не видит composer.phar,
Roman
@Skinka
Nov 18 2015 19:02
расскажите как можно юзать картика? этоже ад
@DevAndreyL дай ему токен)
Andrey
@DevAndreyL
Nov 18 2015 19:03
@Skinka Там его регистрировать по моему нужно, если я правильно нагуглил
Roman
@Skinka
Nov 18 2015 19:03
@DevAndreyL нет ! в гите получи токен и дай компосеру
Andrey
@DevAndreyL
Nov 18 2015 19:04
@Skinka Спасибо, потому что установить ничего нельзя
и обновить
@DevAndreyL А стандартный DatePicker нормальный? или есть альтернатива получше?
Roman
@Skinka
Nov 18 2015 19:08
@DevAndreyL а он тебе чем не нравится?
хватает функционала юзай не хватает ищи другой
Evgeniy Tkachenko
@githubjeka
Nov 18 2015 20:07
мне не нравиться его навигация по смене года и месяца
предпочитаю jquery-datepicker
Максим
@maxyc
Nov 18 2015 21:48
Есть кто, помогите по поиску ошибку найти?

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

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