These are chat archives for LaravelRUS/chat

20th
May 2014
Vladimir Yuldashev
@vyuldashev
May 20 2014 06:28
@Quiss а что за приложение?
Andrey
@Quiss
May 20 2014 07:20
@vladimir-yuldashev Ночный челенджи
в МСК
http://nightkids.pro/ для ни
хх
Vladimir Yuldashev
@vyuldashev
May 20 2014 07:23
отлично, буду иметь ввиду ) делаю одну платформу )
Corvus
@BlahBlag
May 20 2014 07:54
как сделать авторизацию на админке?
если уже есть авторизация на сайте
как использовать стандартные средства чтобы сделать и там и там
Vladimir Yuldashev
@vyuldashev
May 20 2014 07:56
на ролях можно сделать
можно по флагу is_admin
Евгений Борисов
@AgelxNash
May 20 2014 07:56
Corvus
@BlahBlag
May 20 2014 07:57
то есть сделать поле в таблица ис_админ и проверять условием иф?
Vladimir Yuldashev
@vyuldashev
May 20 2014 07:57
да, у тебя же не планируется разделение дальнейшее?
есть только юзер и админ?
Corvus
@BlahBlag
May 20 2014 07:57
да
а еще думаю можно на сессиях самому сделать
так даже быстрее
и удобнее
//ADMIN LOGIN FUNCTION
    public function admin_login() {

        $input = Input::all();

        $rules = array(
                'username' => 'required|between:3,20|alpha_num',
                'password' => 'required|alpha_num'
            );

        $validation = Validator::make($input, $rules);

        if ($validation->fails()) {
            return Redirect::to('/admin')->with_errors($validation);
        } else {

            $admin = DB::table('admin')->first();


            if($username == $admin->username && $password = Hash::check($password, $admin->password)) {

                Session::put('username', $username);

                return Redirect::to('/admin/analytics');

            } else {

                return Redirect::to('/admin');

            }

        }

    }
а дальше фильтр для роута
и форгет для логаута
Vladimir Yuldashev
@vyuldashev
May 20 2014 08:00
ну и?
Corvus
@BlahBlag
May 20 2014 08:00
нормально?
Евгений Борисов
@AgelxNash
May 20 2014 08:00
он хвастается какой умный)
Corvus
@BlahBlag
May 20 2014 08:00
или не кактит?
Vladimir Yuldashev
@vyuldashev
May 20 2014 08:01
ща
Corvus
@BlahBlag
May 20 2014 08:01
он работает
я проверил
но безопасно ли
Alexander Egorov
@Amegatron
May 20 2014 08:01
муторно, как уже сказали - нужно просто поле isAdmin, либо role
и на основе него различать админа и обычного пользователя
Vladimir Yuldashev
@vyuldashev
May 20 2014 08:05
так ли не проще
?
'exists:users,username,is_admin,1' // это уже как у тебя вставишь значения
Andrey
@Quiss
May 20 2014 08:06
@vladimir-yuldashev там в общем по GPS определяется и когда человек приходит на указанную точку (задано в админке) ему дается следующее задание + следующая точка
Vladimir Yuldashev
@vyuldashev
May 20 2014 08:06
@Quiss а что еще есть?
Andrey
@Quiss
May 20 2014 08:07
@vladimir-yuldashev Лечение + Стрельба по соседям в радиусе
Vladimir Yuldashev
@vyuldashev
May 20 2014 08:07
@Quiss в смысле лечение?)
Andrey
@Quiss
May 20 2014 08:08
@vladimir-yuldashev ну человекA стрельнул попал в людей которые были в радиусе 50 метров отнялось 25% жизней
@vladimir-yuldashev ЧеловекБ может залечится)
if($health == 0) game_over();
Alexander Egorov
@Amegatron
May 20 2014 08:08
@vladimir-yuldashev в твоем варианте отсутствует проверка пароля админа, атата =)
Corvus
@BlahBlag
May 20 2014 08:12
exists:users,username,is_admin,1', это строка проверяет есть ли в поле ис_админ цифра 1?
Евгений Борисов
@AgelxNash
May 20 2014 08:13
Какая-то мутная авторизация у вас
Auth::attempt(array(
    'email'    => Input::get( 'email' ),
    'password' => Input::get( 'password' )
), Input::get( 'remember' ));
вот вся авторизация
а в фильтре уже проверяешь Auth::check() && Auth::user()->isAdmin
Евгений Борисов
@AgelxNash
May 20 2014 08:18
Route::filter('backend', function(){
    if( ! Auth::check() || ! Auth::user()->isAdmin){
        App::abort(403);
    }
});
Route::group(array('prefix' => 'admin', 'before' => 'backend'), function(){
    Route::get('/', array('as' => 'admin.index', 'uses' => 'AdminController@main'));
});
шаманят че-т непонятное
Alexander Egorov
@Amegatron
May 20 2014 08:20
@AgelxNash :+1:
Vladimir Yuldashev
@vyuldashev
May 20 2014 08:20
@Amegatron ну надо еще юзера из базы users выбрать да ) и в валидатор вставить
забыл
Alexander Egorov
@Amegatron
May 20 2014 08:21
@AgelxNash только в backend надо отрицание в условии поставить
Евгений Борисов
@AgelxNash
May 20 2014 08:21
@Amegatron спасибо, поправил
Alexander Egorov
@Amegatron
May 20 2014 08:21
=)
блин, чебы такое еще замутить на ларике ...
желательно общественно-полезное )
на FL.ru всего 10 проектов на Ларе, и те по большинству с ангуляром х_Х
Евгений Борисов
@AgelxNash
May 20 2014 08:26
@Amegatron я пока свои чаты на сокетах делаю - появилось желание сделать собственный чат на ларке для сообщества)
заодно и с банами вопрос решить, и правами доступа, и авторизацией через сайт. Чтобы единый акк был и на форуме и в чате
Правда хз - найдется ли время)
Vladimir Yuldashev
@vyuldashev
May 20 2014 08:27
скиньте слайды с конфы от Dayle Rees по архитектуре пожалуйста
Andrey
@Quiss
May 20 2014 08:28
Люди) по быстрому у кого есть костыль может есть число например 9, надо получать 2 числа что-бы в сумме было 9
Alexander Egorov
@Amegatron
May 20 2014 08:28
@AgelxNash ну не думаю, что с гиттера народ перейдет на новый чат какой-то, тут удобно
Andrey
@Quiss
May 20 2014 08:28
если принято 9 то например 5 4 или 7 2 получать
если нет готового решения, пошел писать)
Евгений Борисов
@AgelxNash
May 20 2014 08:30
$i = 9;
$j = ceil($i/2);
$data = array($j, $i-$j);
Andrey
@Quiss
May 20 2014 08:30
спасиб)
Alexander Egorov
@Amegatron
May 20 2014 08:33
хм, чета gmail отвалился
Andrey
@Quiss
May 20 2014 08:34
@Amegatron да нет работает
Alexander Egorov
@Amegatron
May 20 2014 08:34
у меня ошибку выдает
а во, просто рефрешнуть надо было
саму страницу имеется ввиду
Vladimir Yuldashev
@vyuldashev
May 20 2014 08:36
@Butochnikov у тебя нет случайно слайдов от Dayle Rees?
ILYA ERSHOV
@ershov-ilya
May 20 2014 10:08
Алоха, пиплы )
Alexander Egorov
@Amegatron
May 20 2014 10:11
привет
Alexander Egorov
@Amegatron
May 20 2014 10:52
@Butochnikov футболка кстати после 3х стирок начала выцветать =(
Orel
@2byte
May 20 2014 12:02
В доке $paginator = Paginator::make($tests, count($tests), Config :: get('es.per_test')); это понятно, но как получить нужно подмножество данных массива?
Orel
@2byte
May 20 2014 12:08
Хотя бы смещение возвращал
Евгений Борисов
@AgelxNash
May 20 2014 12:11
@2byte попробуй SEOPaginate для пагниации
@ershov-ilya ;-)
Orel
@2byte
May 20 2014 12:14
Странно, зачем тогда в него класть массив, если он только странички считает, а разбивает модельные данные
Vladimir Yuldashev
@vyuldashev
May 20 2014 12:29
какие еще аналоги KeenIO есть?
Orel
@2byte
May 20 2014 12:30
Никто с помощью пагинатора лары массивы не разбивал ? Не модели
Corvus
@BlahBlag
May 20 2014 12:59
парни кому нужен хороший дизайн за 5 тыщ
Vladimir Yuldashev
@vyuldashev
May 20 2014 13:00
началось
Corvus
@BlahBlag
May 20 2014 13:01
МНЕ ЗАВТРА ОТДАВАТЬ
ИНАЧЕ МНЕ КОНЕЦ
Vladimir Yuldashev
@vyuldashev
May 20 2014 13:01
чего отдавать?
Corvus
@BlahBlag
May 20 2014 13:01
деньги
я должен 5 тыщ
Vladimir Yuldashev
@vyuldashev
May 20 2014 13:01
кому?
Corvus
@BlahBlag
May 20 2014 13:01
человеку
за 5 тыщ парни индивидуально сделаю
быстро
вы даже можете накинуть свое
если есть кому продать
мне только 5 нада
я вот этот диз который сверху
за 6 часов
сделал
Alexander Egorov
@Amegatron
May 20 2014 13:07
перезайми
Corvus
@BlahBlag
May 20 2014 13:07
если было бы у кого
Alexander Egorov
@Amegatron
May 20 2014 13:08
а что, ты совсем безработный?
Corvus
@BlahBlag
May 20 2014 13:09
работал когда-то, меня уволили так как я был молодой, а нас было 2 сисадмина в фирме. Тому мужику 40 лет было и у него дети семья
а работу здесь сложно найти
на фрилансе дизайн закази
2 тыщи дадут
а мне 5 надо
Alexander Egorov
@Amegatron
May 20 2014 13:09
ну значит найди другую работу ... я перед тем, как начал программистом работать кем только не работал ...
Corvus
@BlahBlag
May 20 2014 13:10
я пробовал
и столяром
и кем только не пробовал
не берут
Alexander Egorov
@Amegatron
May 20 2014 13:11
не обязательно профильную работу, я вот продавцом работал, и курьером, и почтальоном, и промоутером
и даже листовки раздавал у метро
а если город не устраивает - то надо переезжать
Corvus
@BlahBlag
May 20 2014 13:13
у меня нет метро
слышь отстань
что ты знаешь о жизни
щенок
Alexander Egorov
@Amegatron
May 20 2014 13:14
аххах
Corvus
@BlahBlag
May 20 2014 13:14
:smile:
Alexander Egorov
@Amegatron
May 20 2014 13:15
"и вообще, не кричи на меня, истиричка" (c) :D
это из Бригады :)
Corvus
@BlahBlag
May 20 2014 13:25
блять
на фрилансе
пидарасы
отказывают
не обоснованно
причем с таким маленьким бюждетом
пидарасы
Vitaly Vyrodov
@Vitaly-V
May 20 2014 13:27
@BlahBlag Это чат пор ларавель. Давай будем уважать друг друга.
Corvus
@BlahBlag
May 20 2014 13:28
я про фриланс лол
при чем тут ларавел
Vitaly Vyrodov
@Vitaly-V
May 20 2014 13:28
Не обащай внимания :)
Corvus
@BlahBlag
May 20 2014 13:29
я так и сделаю
вот как как мне до четверга
достать 5 касарей
Orel
@2byte
May 20 2014 13:33
на крайняк ламбард
Corvus
@BlahBlag
May 20 2014 13:33
у меня продать нечего
есть болгарка
фильтр для воды
дрель
Alexander Egorov
@Amegatron
May 20 2014 13:33
либо микрофинансовые организации, но думаю без работы тебе ничего не дадут
Corvus
@BlahBlag
May 20 2014 13:33
фильтр большой
Orel
@2byte
May 20 2014 13:34
Блин, не ожидал такого от лары, что пагинатор не может разбивать массив, а только создавать страницы
Corvus
@BlahBlag
May 20 2014 13:34
сука
еще один пидараз
на фрилансе
отказал
Alexander Egorov
@Amegatron
May 20 2014 13:34
хватит материться тут
Corvus
@BlahBlag
May 20 2014 13:34
займи 5 тыщ
до конца месяца
Alexander Egorov
@Amegatron
May 20 2014 13:35
оно мне надо? ты мне кто?
Corvus
@BlahBlag
May 20 2014 13:35
я бы тебе 7 вернул
это кошерно
Alexander Egorov
@Amegatron
May 20 2014 13:35
ты 5 вернуть не можешь, а уже обещаешь мне 7
Corvus
@BlahBlag
May 20 2014 13:35
через месяц смогу
Alexander Egorov
@Amegatron
May 20 2014 13:36
ну вот и договорись, чтобы тебе перенесли срок
Corvus
@BlahBlag
May 20 2014 13:36
дело в том, что тот человек должен еще одному человеку
и так по цепочке
Alexander Egorov
@Amegatron
May 20 2014 13:36
весело вы там живете
Corvus
@BlahBlag
May 20 2014 13:36
в цепи 3 чеда
я крайний
мне плохо
Orel
@2byte
May 20 2014 13:40
@Amegatron ну ты работяга))
Corvus
@BlahBlag
May 20 2014 13:41
да балабол он
какай работяга
Я как-то спрашивал месяц назад)
примерно)
нашел решение)
Corvus
@BlahBlag
May 20 2014 13:42
лошара
Andrey
@Quiss
May 20 2014 13:43
@BlahBlag Эт ты кому
Corvus
@BlahBlag
May 20 2014 13:46
отвали
зачем тебе это?
Orel
@2byte
May 20 2014 13:48
@Quiss нифига ничего не понял, ну ладно...
Corvus
@BlahBlag
May 20 2014 13:49
я же говорил он лошара
Andrey
@Quiss
May 20 2014 13:49
@2byte я как-то искал разворачивание лары с пред-установленными пакетами, как вариант предложили заново их разворачивать)
@2byte или с гита тянуть, а тут можно с гита с composer'ом
Corvus
@BlahBlag
May 20 2014 13:52
@Quiss ты тупой?
устанавливаешь пакеты
в ларавел
и все
можно архивировать его
Orel
@2byte
May 20 2014 13:52
:smile:
Andrey
@Quiss
May 20 2014 13:53
@BlahBlag Лесом иди)
Corvus
@BlahBlag
May 20 2014 13:53
и использовать в других прожектах
вгляди на мою аватарку
она излучает мудрость и опыт
так что мне можно верить
Andrey
@Quiss
May 20 2014 13:56
@BlahBlag Ты мудрый и опытный) иди 5 тыщ ищи )
Orel
@2byte
May 20 2014 13:56
@BlahBlag на аватарке петушок излучает мудрость и опыт? )
Corvus
@BlahBlag
May 20 2014 13:56
@2и
@2byte это ворон придурок
мне тебя жаль если ты не может отличить
Vladimir Yuldashev
@vyuldashev
May 20 2014 13:56
@Quiss @2byte :-D
@2byte как тебе не стыдно не отличать, айайай
Orel
@2byte
May 20 2014 13:59
:smile:
@Quiss не поленился же блять картинку сделал
Corvus
@BlahBlag
May 20 2014 14:20
ну все
пиздец
у меня кончился про
Orel
@2byte
May 20 2014 14:22

Добавил свой метод в пагинатор для разбивки массива

public function getItemsOffset()
    {
        $offsetItem = ($this->currentPage-1)*$this->perPage;

        $items = array();

        if (!empty($this->items)) {
            $i = 1;
            foreach ($this->items as $key => $data) {
                if ($i > $offsetItem && $i <= ($offsetItem+$this->perPage)) {
                    $items[] = $data;
                }
                $i++;
            }
        }

        return $items;
    }

Странно, почему из коробки нет такой возможности, для чего тогда класть Paginator::make($items, $totalItems, $perPage); $items туда

Corvus
@BlahBlag
May 20 2014 14:29
почему на фрилансе одни пидорасы а не заказчики?
Corvus
@BlahBlag
May 20 2014 14:31
да пошел ты нах
это они мудаки
не ценят
не понимают
Andrey
@Quiss
May 20 2014 14:31
Все, жизнь тлен, вокруг одно разочарование, боль, страдание, иди повешайся)
Corvus
@BlahBlag
May 20 2014 14:32
а если повешусь на твоей совести сука будет
ты же меня подговорил
Andrey
@Quiss
May 20 2014 14:32
))) ладно
@BlahBlag Я запомню тебя таким) обещаю)
Corvus
@BlahBlag
May 20 2014 14:32
впринципе возможно и вешаться не придется
если я не появлюсь здесь завтра вечером
заявите в милицию
скажите Александр Бельский пропал
Corvus
@BlahBlag
May 20 2014 14:49
ДА СУКА
ДА
Я НАШЕЛ
я СПААСЕН
причем не занимая
ворон - опыт мудрость
продал болгарку
Shappy
@Formcd
May 20 2014 14:54
=))) нашел 5 рублей?:)))
Corvus
@BlahBlag
May 20 2014 14:55
тысяч
рублей
Orel
@2byte
May 20 2014 15:03
Болгарку продал?
Shappy
@Formcd
May 20 2014 15:04
=)))
Orel
@2byte
May 20 2014 15:04
@BlahBlag честно, очень рад за тебя, ты нас не покидаешь ))
slider23
@slider23
May 20 2014 15:07
Corvus
@BlahBlag
May 20 2014 15:08
да фигня все обновления
Corvus
@BlahBlag
May 20 2014 15:13
как проверить хеш пароля?
if($username == $admin->username && $password = Hash::check(Input::get('passowrd'), $admin->password))
if($username == $admin->username && $password = Hash::check(Input::get('passowrd'), $admin->password))
не пашеь
кажется
авторизация не работает
public function admin_login() {

        $input = Input::all();

        $validation = Validator::make($input, $rules);

        if ($validation->fails()) {
            return Redirect::to('/admin')->with_errors($validation);
        } else {

            $username = trim($input['username']);
            $username = strtolower($username);
            $password = trim($input['password']);
            $password = strtolower($password);
            $admin = Admin::find(1);

            if($username == $admin->username &&  $password = Hash::check(Input::get('passowrd'), $admin->password)) {

                Session::put('username', $username);

                return Redirect::to('/admin/products');

            } else {

                return Redirect::to('/admin');

            }

        }

    }
да я знаю пропустил rules но причина не в нем
добавил не работает
валидацию убрал
тоже не пашет
все поля есть
пароль в базе как положено захеширован
все
разобрался
Corvus
@BlahBlag
May 20 2014 15:23
скажите почему заказчики такие пидорасы на фрилансе?
зачем указывать только про?
какой им от этого прок?
пидарасы
slider23
@slider23
May 20 2014 15:23
Чтобы на такого как ты не попасть случайно
Corvus
@BlahBlag
May 20 2014 15:24
чем я плох?
slider23
@slider23
May 20 2014 15:25
тем, например, что вместо того, чтобы сесть и разобраться с относительно простой проблемой, ты флудил в чате. И такое у тебя, видимо, часто. А заказчику результат нужен.
Alexander Egorov
@Amegatron
May 20 2014 15:25
тем что ты неадекват как минимум
Corvus
@BlahBlag
May 20 2014 15:25
ну во первых, я дизайнер
а во вторых свою не адекватность я не показываю
заказчику
и он от этого никак не страдает
Alexander Egorov
@Amegatron
May 20 2014 15:26
так если ты дизайнер, что ты здесь то забыл? дизайни себе на здоровье
здесь не дизайнеры собрались
slider23
@slider23
May 20 2014 15:26
Ну и да, общаться с человеком, который почему-то всеми силами показывает, что он невменяемый ммм чудик - это тратить впустую свое время. В реальной жизни такие как ты до Про не поднимаются, если не изменят свое поведение.
Roman
@TeroBlaZe
May 20 2014 15:26
Для тех, кто пользовуется штормом и гитом и хотьраз задавался мыслью а что за Changelist там такие https://www.zagirov.name/phpstorm-redmine-changelist-workflow/
slider23
@slider23
May 20 2014 15:28
О, Рустам со самодела на октопресс переехал ?
slider23
@slider23
May 20 2014 15:29
Вот-вот, именно про это я и говорю.
Corvus
@BlahBlag
May 20 2014 15:29
ты такой жирный
Alexander Egorov
@Amegatron
May 20 2014 15:32
@BlahBlag чего ты тут хочешь добиться?
Corvus
@BlahBlag
May 20 2014 15:32
умиротворения
Alexander Egorov
@Amegatron
May 20 2014 15:32
без тебя тут все мирно и культурно общались
Roman
@TeroBlaZe
May 20 2014 15:32
умири, творение
Alexander Egorov
@Amegatron
May 20 2014 15:32
умер от варенья
Corvus
@BlahBlag
May 20 2014 15:33
тероблазе дебил
Roman
@TeroBlaZe
May 20 2014 15:33
меня это как-то должно зацепить? Да?
slider23
@slider23
May 20 2014 15:34
Народ, а как артизан-команды в сервис-провайдере по своим неймспейсам регистрить ? Я вдруг понял, что ни разу этого не делал, с первого раза не получилось.
Alexander Egorov
@Amegatron
May 20 2014 15:34
@BlahBlag ты осознаешь, что ты здесь только потому, что просто у чата не функции бана?
Vitaly Vyrodov
@Vitaly-V
May 20 2014 15:34
И очень жаль что её нет
Alexander Egorov
@Amegatron
May 20 2014 15:34
@slider23 не понял пробелму? просто регистрируешь свой класс, главное чтобы он аввтозагрузчиком был виден
Alexander Egorov
@Amegatron
May 20 2014 15:35
@slider23 единственное, Artisan::add в сервис провайдере не работает почему-то
атестат в крови атестат в крови
Roman
@TeroBlaZe
May 20 2014 15:38
мозги в ж..
Corvus
@BlahBlag
May 20 2014 15:39
тероблазе иди на
ахахахах
прикиньте мне @slider23 о росте говорит
а сам только и делал что контрибутил комментарии
переправляю "вьюха" на "шаблон"
Все
теперь я тоже вырос
законтрибутил
slider23
@slider23
May 20 2014 15:44
Задело, да ? :) Но увы, это правда. Сам посуди - кому охота с таким как ты общаться ?
Corvus
@BlahBlag
May 20 2014 15:45
я дизигнер
и такой что тебе даже и не снилось
  • и программить умею
а это значит что программировать может каждый
а делать хороший дизайн нет
Alexey
@Butochnikov
May 20 2014 15:46
@BlahBlag ты во что наш чат превратил? давай заканчивай тут
Corvus
@BlahBlag
May 20 2014 15:47
@Butochnikov я его оживил
там где я - жизнь
Alexey
@Butochnikov
May 20 2014 15:48
возможно и так, но жизнь бывает разная
Corvus
@BlahBlag
May 20 2014 15:50
да есть интересная, как сейчас у нас и есть скучная, где все строят из себя вежливых людей и даже не матерятся
Alexander Egorov
@Amegatron
May 20 2014 15:50
@BlahBlag я тебе уже как-то говорил, иди на двач, там весело и нескучно, там ты будешь свой среди своих
Corvus
@BlahBlag
May 20 2014 15:51
зачем?
Alexander Egorov
@Amegatron
May 20 2014 15:51
@BlahBlag а зачем ты здесь?
зачем тратишь свое и наше время?
Corvus
@BlahBlag
May 20 2014 15:51
я не трачу
я иногда помогаю
и прошу помощи
Alexander Egorov
@Amegatron
May 20 2014 15:51
1) ты никому еще не помог
2) ты клянчишь как малое дите, чтобы взрослые дяди за тебя решили твои проблемы
Alexey
@Butochnikov
May 20 2014 15:52
только в перерывах между этими благими делами, не пиши пож-ста
Thomas Anderson
@elvendor
May 20 2014 15:53
@BlahBlag не строим из себя вежливых людей, а ищем помощи, развиваемся, учимся друг у друга, делимся бесплатно идеями, имеем свои цели, чего-то добиваемся и зарабатываем деньги, и я более чем уверен, что тут все начали серьезно думать о заработке задолго до 20 лет, а тебе 23 уже, и все что ты умеешь - это "прикалываться"
Corvus
@BlahBlag
May 20 2014 15:54
баурамчетыреик
нет я еще делаю хороший дизигн
и вообще что ты знаешь о жизни щенок?
не всегда облодая знаниями и умения можно заработать
Alexander Egorov
@Amegatron
May 20 2014 15:55
@BlahBlag хорошие дизайнеры хорошо зарабатывают
Thomas Anderson
@elvendor
May 20 2014 15:55
ага, хороший дизайн за пятеру не продается, и уж точно не таким базарным способом
Corvus
@BlahBlag
May 20 2014 15:55
пошел ты
Thomas Anderson
@elvendor
May 20 2014 15:57
ага, а ты сиди лучше учись, пацан. у тебя есть куча времени
Alexander Egorov
@Amegatron
May 20 2014 15:57
но нет мозгов, по-моему
Corvus
@BlahBlag
May 20 2014 15:57
ахахахха
нечего
скоро вы тоже поймете
о чем я говорю
Thomas Anderson
@elvendor
May 20 2014 16:01
Ты думаешь мы не бывали в такой ситуации, как у тебя? Еще как бывали, но мы не ныли и не обвиняли в этом кого-то. Заметь, даже не смотря на то, что ты тут всех успел оскорбить, мы все равно тебе подсказываем как правильно встать на дорогу, на которой можно начать зарабатывать. Цени это
Corvus
@BlahBlag
May 20 2014 16:01
я не кого не обвинял тупой ты даун
и не выпрашщивал
я предлагал что то в замен
Thomas Anderson
@elvendor
May 20 2014 16:02
ЧТО?
Corvus
@BlahBlag
May 20 2014 16:02
тупой ты даун
Thomas Anderson
@elvendor
May 20 2014 16:03
ага, тупее тебе причем
Alexander Egorov
@Amegatron
May 20 2014 16:04

я не кого не обвинял тупой ты даун

твоих мозгов даже не хватает увидеть противоречие в этой фразе

Corvus
@BlahBlag
May 20 2014 16:04
заказчики на фрилансе действительно пидарасы
Thomas Anderson
@elvendor
May 20 2014 16:05
я офф, всем пока.. много что еще нужно доделать
Alexander Egorov
@Amegatron
May 20 2014 16:07
бб
Thomas Anderson
@elvendor
May 20 2014 16:07
и заработать денег за потраченное время, @BlahBlag . Давай шевели шариками и тоже делай деньги
Andrey
@Quiss
May 20 2014 16:18
@BlahBlag Ты веселый) спасибо паржал)
Alexander Egorov
@Amegatron
May 20 2014 16:24
@Quiss ты осознаешь, что подкинул масла в огонь ? :D
Roman
@TeroBlaZe
May 20 2014 18:36
как-то в карбоне можно time diff for humans на русском вывести?
Twent
@twent
May 20 2014 18:55
Всем добрый вечер. Поясните пожалуйста про массовое заполнение. Даже в русской доке как-то не понятно.
Alexander Egorov
@Amegatron
May 20 2014 19:04
@twent честно я сам не до конца понимаю эту штуку, пробовал посмотреть в исходниках ларика - запутался =)
Roman
@TeroBlaZe
May 20 2014 19:06
@twent А что там не понятно? то что это список полей, которые можно или нельзя заполнять при сохрании/запросе в модель?
Alexander Egorov
@Amegatron
May 20 2014 19:10
@TeroBlaZe ну на практике у меня тоже все просто: есть $fillable с полями для заполнения. Но в ларике механизм довольно сложный с этими заполнениями, ведь есть еще $guarded к примеру
Вот например что мне ответил Proger_XP на хабре:
http://habrahabr.ru/post/222453/#comment_7578917
ой
Twent
@twent
May 20 2014 19:11

@TeroBlaZe
Вот пример с доки

class User extends Eloquent {

  protected $guarded = array('id', 'password');

}

Получается, что в данном примере при отправки формы регистрации (допустим), пароль и id браться не будут? Правильно понимаю?

Roman
@TeroBlaZe
May 20 2014 19:11
ну так guarded это те поля, которые не будут выводиться при запросе например User::all() не выводит хеши паролей т.к password - guarded
исправил пост
Alexey
@Butochnikov
May 20 2014 19:14
@Amegatron я думал, что ты уже все для себя решил по этой теме
Roman
@TeroBlaZe
May 20 2014 19:15
ой пардон, я guarded Спутал с hidden)
Alexander Egorov
@Amegatron
May 20 2014 19:15
дык не, просто был вопрос про массовое заполнение, я ответил, что не все так просто, а для себя я решил, что юзаю $fillable и не парюсь )
Roman
@TeroBlaZe
May 20 2014 19:15
но это ничего не меняет
fillable это по сути обратное guarded я так понимаю
чтоб 10 полей не писать в разрешенные, можно одно запретить
Twent
@twent
May 20 2014 19:18
Дак что есть "заполнение"? Меня термин смущает.
Только получение или и отправка и получение и изменение - все вместе?
Roman
@TeroBlaZe
May 20 2014 19:19
To get started, set the fillable or guarded properties on your model.
Alexander Egorov
@Amegatron
May 20 2014 19:20
заполнение, это когда ты делаешь MyModel::create($data);
или $model->fill($data);
Roman
@TeroBlaZe
May 20 2014 19:21
Тоесть когда ты делаешь User::create(парампам... Если у тебя в fillable только username а ты пихаешь в create еще и другие поля, то они буду игнорироваться, а если ты назначил guarded - username то ты смжешь заполнить всё(если я правильно понял), но не сможешь username
Ну или $user->username = "Вася", $user->save() то же самое
Twent
@twent
May 20 2014 19:23
Получается что и при создании и изменении и получении. Теперь понял.
Спасибо!
Roman
@TeroBlaZe
May 20 2014 19:23
т.е под Mass Assigment(Массовое присвоение, правильнее) подразумевается тот процесс, который происходит в конструкторе, когда переданные значения присваиваются динамическим полям в моделе

собственно не знаю, что не понятно из документации, в англ даже понятнее,

The inverse of fillable is guarded, and serves as a "black-list" instead of a "white-list":

чем

Противоположность $fillable — свойство $guarded, которое содержит список запрещённых к заполнению полей.

т.е у кого как мозг работает)
Alexander Egorov
@Amegatron
May 20 2014 19:26
да вроде норм перевод
Roman
@TeroBlaZe
May 20 2014 19:28
Да, не плохой, но некоторая часть сути теряется при преобразовании в не режущую слух фразу)) Я уже как-то говорил, что когда читал русскую документацию - терялся, будто читаю что-то новое
Corvus
@BlahBlag
May 20 2014 19:30
привет всем в этом чатике
Twent
@twent
May 20 2014 19:31
Привет
Alexander Zhuravlev
@SCIF
May 20 2014 21:46
А чего в скайпе нафлудили? Гиттер лежал?
Brezhnev Ivan
@vanchelo
May 20 2014 22:04
неа
просто тролли есть)
Brezhnev Ivan
@vanchelo
May 20 2014 22:15
Кто знал что в компосере можно команды писать сокращенно?
к примеру вместо composer update писать composer upd
или даже composer u
Alexander Zhuravlev
@SCIF
May 20 2014 22:16
Я знал. В гите тоже
Brezhnev Ivan
@vanchelo
May 20 2014 22:16
т.е. если команды с такой буквой нет, то можно сокращать)
или писать еще букву)
Alexander Zhuravlev
@SCIF
May 20 2014 22:17
И в утилите ip и в меркуриале
Brezhnev Ivan
@vanchelo
May 20 2014 22:17
блин, знал и не рассказал))
Alexander Zhuravlev
@SCIF
May 20 2014 22:17
Ну это нормальный софт, а нормальный софт так умеет :)
Brezhnev Ivan
@vanchelo
May 20 2014 22:17
понял)
а я случайно узнал)
на самом деле это круто)
laravel/framework@c942a1b
это они от SQLInjection защитились типа?
Alexander Zhuravlev
@SCIF
May 20 2014 22:28
Гм. Поменяли работу с именованием полей.
а до недавних пор лара не считалась дырявой)))
Alexander Zhuravlev
@SCIF
May 20 2014 22:33
Весело. Нужно почитать что конкретно было, чтобы понять
Brezhnev Ivan
@vanchelo
May 20 2014 22:35
короче если ты юзал в моделе $guarded массив то лара подвержена инъекции
а если только $fillable то можно спать спокойной)
Alexander Zhuravlev
@SCIF
May 20 2014 22:36
Вопрос в другом — какие данные ломали весь кайф :)
Brezhnev Ivan
@vanchelo
May 20 2014 22:36
а вот в тестах есть
но я так логику и не понял того что они изменили
не правильно раньше кавычки экранировало скорее всего
мне тоже интересно какие именно данные ломали)
Alexey
@Butochnikov
May 20 2014 22:38
2-я дыра по безопасности в ларе?
Brezhnev Ivan
@vanchelo
May 20 2014 22:38
ага
наверное пока мало кто копал просто в этом направлении)
хотя если не пользоваться mass assigment, то можно спать спокойной)
Alexey
@Butochnikov
May 20 2014 22:39
надеюсь, что теперь будут копать.
Alexander Zhuravlev
@SCIF
May 20 2014 22:39

$builder->select('*')->From('some`table');

То есть вот это раньше ломало всё.

Brezhnev Ivan
@vanchelo
May 20 2014 22:40
я к примеру почти не пользуюсь ->fill($array) или new Model($array)

То есть вот это раньше ломало всё.

походу так)

Alexander Zhuravlev
@SCIF
May 20 2014 22:40
Ну раз это тестят, то соотв было кривое поведение
Brezhnev Ivan
@vanchelo
May 20 2014 22:40
скорее всего ты прав) я просто с тестами мало сталкивался)
Alexey
@Butochnikov
May 20 2014 22:41
так сейчас поправили? или убрали... а то как с envoy, не работает на windows и все
Brezhnev Ivan
@vanchelo
May 20 2014 22:42
исправили, надо обновляться до 4.1.29
Alexander Zhuravlev
@SCIF
May 20 2014 22:48
Ну надо полагать, что основная проблема была в простейшей инъекции вида:
some_col`; DROP DATABASE; --
Brezhnev Ivan
@vanchelo
May 20 2014 22:49
весело)
Alexander Zhuravlev
@SCIF
May 20 2014 22:50
То есть просто он обрамлял в кавычки, без проверки что внутри. Соотв. по старинке можно было заюзать -- и откинуть конец запроса. А так как это mass assignment, то выполнятся все запросы, что были составлены, а не первый. Как-то так что ли... Блин, не получится на работе сейчас затестить, а было бы интересно
Brezhnev Ivan
@vanchelo
May 20 2014 22:51
а почему нельзя было просто удалять все кавычки любых видов?
Brezhnev Ivan
@vanchelo
May 20 2014 22:57
@Butochnikov а ты еще новость эту не запостил в группу?
Alexander Zhuravlev
@SCIF
May 20 2014 23:19
@vanchelo , дык они ведь по тексту могут быть. Ты имеешь ввиду из названий колонок? Ну ... Это валидный символ видать :)
Brezhnev Ivan
@vanchelo
May 20 2014 23:20
ага, из названий)
а значения то и так экранируются, там же PDO за этим следит
Alexey
@Butochnikov
May 20 2014 23:21
нет, хочешь напиши текст, я поставлю. у тебя точнее получится
Alexander Zhuravlev
@SCIF
May 20 2014 23:21
CREATE TABLE IF NOT EXISTS `vd``"vfd` (
  `dw3'd``"df` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Вот тебе вполне валидно :)
Brezhnev Ivan
@vanchelo
May 20 2014 23:21
гы
Alexey
@Butochnikov
May 20 2014 23:22
как де все-таки удобнее в gitter, чем в скайпе
Brezhnev Ivan
@vanchelo
May 20 2014 23:22
здесь удобно
пока Благ спит)
Alexey
@Butochnikov
May 20 2014 23:23
напишешь новость?
Brezhnev Ivan
@vanchelo
May 20 2014 23:24
могу написать
Alexey
@Butochnikov
May 20 2014 23:25
давай,а я запощу... кидай мне в личку вконтакте
Brezhnev Ivan
@vanchelo
May 20 2014 23:25
ок
Alexander Zhuravlev
@SCIF
May 20 2014 23:26
Людииии.
Brezhnev Ivan
@vanchelo
May 20 2014 23:27
аа
Alexander Zhuravlev
@SCIF
May 20 2014 23:27
Я храню ипы в блоб столбце в мускуле. Сделал поле в сущности доктриновской с типом блоб. Можете предположить ЧТО кладёт в это поле доктрина?
В смысле какого типа.
Значения понятно-то что мои, но блин в какой тип она это заворачивает....
Brezhnev Ivan
@vanchelo
May 20 2014 23:28
рассказывай)
Alexander Zhuravlev
@SCIF
May 20 2014 23:28
resource
Brezhnev Ivan
@vanchelo
May 20 2014 23:29
?
Alexander Zhuravlev
@SCIF
May 20 2014 23:29
stream resource.
Это блин файл по его мнению :)
Brezhnev Ivan
@vanchelo
May 20 2014 23:29
гы
Alexander Zhuravlev
@SCIF
May 20 2014 23:29
Зацените:
    public function getIp()
    {
        return inet_ntop(fgets($this->ip));
    }
fgets()!!!
У меня культурный шок.
Brezhnev Ivan
@vanchelo
May 20 2014 23:30
это в доктрине такое?
Alexander Zhuravlev
@SCIF
May 20 2014 23:30
Я не понимаю — она считает, что просто строка — это не бинари-сейф? Этот ресурс ведь также память жрёт как и строка.
Brezhnev Ivan
@vanchelo
May 20 2014 23:30
она походу проверяет существование IP?
Alexander Zhuravlev
@SCIF
May 20 2014 23:30
Не, это я разворачиваю ип. Это мой геттер.
Просто мне приходится fgets'ом вытаскивать данные из поля бд.
Brezhnev Ivan
@vanchelo
May 20 2014 23:31
ааа
а ты нашел место где она это проворачивает?
Alexander Zhuravlev
@SCIF
May 20 2014 23:33
Ну и лично для меня, вчера было открытием, что можно инстанциировать объекты, без вызова конструктора
Нет, в доках честно указано, что ресурс вернёт. Но я не думал, что stream resource это будет
Ещё и в base64 заворачивает....
Brezhnev Ivan
@vanchelo
May 20 2014 23:38
ага)
Maxim
@Big-Shark
May 20 2014 23:39
Бывает)
Alexander Egorov
@Amegatron
May 20 2014 23:42
и ведь не спят же :)
Maxim
@Big-Shark
May 20 2014 23:42
10.42 ) Часовые пояса решают)
Alexander Egorov
@Amegatron
May 20 2014 23:42
3:42 х_Х
У меня оказывается умный Андроид: у него есть "ночной режим" с самообучением, во время которого он не пиликает уведомлениями из приложений, типо новой почты или сообщение в ВК =)
Alexander Zhuravlev
@SCIF
May 20 2014 23:48
//$val = str_repeat('01234567890asdfghjkl', 1000);
fopen('data://text/plain;base64,' . base64_encode(str_repeat('01234567890asdfghjkl', 1000)), 'r');
echo memory_get_peak_usage(true).' | ';
echo memory_get_peak_usage()."\n";
scif@scif-pc:~/bin$ php ./res_test.php 
524288 | 304376
scif@scif-pc:~/bin$ php ./res_test.php 
262144 | 248872
Верхний — это fopen с закомментированной строкой с присвоением. Нижний — это наоборот: закомментированная строка с присвоением и раскомментированный фопен
Maxim
@Big-Shark
May 20 2014 23:50
фопен работает быстрей получается и меньше памяти жрет?
Alexander Zhuravlev
@SCIF
May 20 2014 23:51
Наоборот — верхний, это фопен.
Maxim
@Big-Shark
May 20 2014 23:51
аа, тогда печально
Кто подскажет бесплатный сервис для выставления инвойсов?
Alexander Zhuravlev
@SCIF
May 20 2014 23:51
Дык бейс64 — всегда будет большой оверхед
Что этот сервис должен делать?
Maxim
@Big-Shark
May 20 2014 23:53
минимум просто сохранять инвойсы, и возможность вбивать количество часов и рейт
Alexander Zhuravlev
@SCIF
May 20 2014 23:54
Что ты понимаешь под инвойсами???
Maxim
@Big-Shark
May 20 2014 23:54
платежка с реквезитами
Alexander Zhuravlev
@SCIF
May 20 2014 23:54
Я машину покупал и тоже приносил инвойс. Но тебе ведь не такие нужны
Brezhnev Ivan
@vanchelo
May 20 2014 23:55
так есть на ларике fusioninvoice, поставь и пользуйся
Alexander Zhuravlev
@SCIF
May 20 2014 23:55
Это ведь всегда делается на фирменном бланке и прочее. Либо тебе просто квитанцию нужно?
Maxim
@Big-Shark
May 20 2014 23:55
просто квитанцию
@vanchelo разве fusioninvoice не стал закрытым репом?
Alexander Zhuravlev
@SCIF
May 20 2014 23:56
Именно внешний сервис нужен? Не проще накропать с использованием какого-нибудь tcpdf?
Brezhnev Ivan
@vanchelo
May 20 2014 23:56
там есть форк который развивается
Maxim
@Big-Shark
May 20 2014 23:56
кинь линк плиз
@SCIF некогда писать)