These are chat archives for LaravelRUS/chat

24th
May 2014
Alexander Egorov
@Amegatron
May 24 2014 02:46
@TeroBlaZe а чем плох вызов away с get-параметром url ?
slider23
@slider23
May 24 2014 03:42
@Amegatron в чистом php есть прекрасная file_get_contents, которая может дергать урлы, если надо дернуть у себя немножко, (чужие по пустому реферу могут блокировать) то можно юзать её вместо того, чтобы ставить guzzle или возиться с простынями курла.
Alexander Egorov
@Amegatron
May 24 2014 03:43
не, это совсем не то, у меня еще куки надо отслеживать и заголовки
я щас CodeCeption копаю
классная штука
то что нужно мне
Alexander Egorov
@Amegatron
May 24 2014 05:30
печалька, кажется guzzle из коробки не хэндлит куки между реквестами, нужно плагин ставить х_Х
а хотя может и держит ... =)
slider23
@slider23
May 24 2014 05:33
не, нужен плагин, вроде
Alexander Egorov
@Amegatron
May 24 2014 05:33
угу
я думалпросто плагин идет сразу
странно, ибо мастхэвная вещь
Alexander Egorov
@Amegatron
May 24 2014 05:38
странно, в доке CookiePlugin идет как pre-built, но у меня в дистрибе его нету, надо require наверно еще какой-то писать в композере
ну да, guzzle/plugin
Alexander Egorov
@Amegatron
May 24 2014 06:00
уффф, вот это я головняк словил со своим гребаным шифрованием =))) зато конечный тест очень даже красивый на CodeCeption'е =)))
<?php

$I = new CryptoApiGuy($scenario);
$I->wantTo('test crypto api echo');
$I->usePublicCertificate('./public.crt');

$key = md5(mt_rand());
$iv = substr(md5(mt_rand()), 0, 16);
$I->useAESKey($key, $iv, 256);

$I->enableCookies();
$I->sendPOST('init', [
    'key'   => base64_encode($I->getRsa()->encrypt(base64_encode($key))),
    'iv'    => base64_encode($I->getRsa()->encrypt(base64_encode($iv))),
]);
$I->seeResponseCodeIs(200);
$I->seeResponseContains('OK');

$message = "Hello World!";
$I->sendPOST('test-echo', [
    'message'   => base64_encode($I->getAes()->encrypt($message)),
]);
$I->seeResponseCodeIs(200);
$I->seeResponseIsJson();
$I->seeValidSignature();
$I->seeMessageInResponse($message);
только щас заметил, что малость перемудрил с base64 энкодингом AES ключа =)))
Thomas Anderson
@elvendor
May 24 2014 06:03
Красиво
Alexander Egorov
@Amegatron
May 24 2014 06:44
все-таки непонятки у меня с обновлением пакетов ... зарелизил опять новую версию пакета, точно не pre-release, а композер пока не видит апдейт
не знаю, совпадение или нет, но после того, как я просто перепаблишил релиз (без изменений) - композер его увидел х_Х
Shappy
@Formcd
May 24 2014 07:09

Всем привет... Вопрос про валидацию... Нужно собственное правило сделать, в примерах такой код есть:

Validator::extend('foo', function ($attribute, $value, $parameters) {
  return $value == 'foo';
});

Это получается прям перед самой валидацией надо вставлять? И что должно возвращать? Текст ошибки если она была?

Orel
@2byte
May 24 2014 07:24
true false
Validator :: make($inputs, array(
    'login'   => 'foo'
), array(
   'login.foo' => 'Текст ошибки foo :attribute'
));
Alexander Egorov
@Amegatron
May 24 2014 07:30
@Formcd Validator::extend надо прописать например в app/start/global.php
Orel
@2byte
May 24 2014 07:30
Или перед созданием валидатора
Такая проблема, конфликт шаблонов, есть два модуля в каждом из которых вызывается в контроллере index.blade.php, так вот конфликт в том, что они в storage/views они заменяют друг друга, что делать?
Orel
@2byte
May 24 2014 07:38
Бред какой то, ES\Admin\Controllers\AdminController@getIndex возвращает View :: make('index'); адрес шаблонов переопределен на ES/Admin/Views в сервисе. А создается в storage/views индекс который находится в DP/View/index.blade.php
Orel
@2byte
May 24 2014 07:55
Вот проблема в том, что View :: addLocation() добавляет путь шаблонов в массив
$this->paths[] = $location; и находится, ближайший
Shappy
@Formcd
May 24 2014 08:17

Чет ребят я так и не догнал... Есть отдельный метод у меня с валидацией всех полей (ну пока только одно поле):

public function getNewOrderValidation()
    {
        Validator::extend('delivery_method', function ($attribute, $value, $parameters) {
            return false;
        });

        return Validator::make(Input::all(), 
            array('deliveryMethod' => 'delivery_method'), 
            array('deliveryMethod.delivery_method' => 'error here!'));
    }

К нему из контроллера обращаемся,

        $validator = $orderModel->getNewOrderValidation();
        $messages = $validator->errors();
        dd($messages);

В итоге вардамп ниче не выдает толком...
Вот что выдает:
object(Illuminate\Support\MessageBag)#302 (2) { ["messages":protected]=> array(0) { } ["format":protected]=> string(8) ":message" }

Orel
@2byte
May 24 2014 08:20
Получить ошибки из валидатора $validator->messages(); возвратит массив
$validator->messages()->all()
$validator->messages('field') все ошибка field
Shappy
@Formcd
May 24 2014 08:23

Так так:) Спасибо работает... А во вьюхе так ошибки выводить?

    {{ $errors->first('deliveryMethod') }}

И как проверить были ли ошибки после валидации?

А кажется нашел:)
Спасибо большое...
Orel
@2byte
May 24 2014 08:25
выводи как тебе удобно
Shappy
@Formcd
May 24 2014 08:27
@2byte Спасибо:)
Twent
@twent
May 24 2014 12:22
Всем привет. Какую библиотеку для рисования графиков посоветуете?
Twent
@twent
May 24 2014 14:01
Извиняюсь за вопрос...
new Morris.Line({
  element: 'myfirstchart1',
  data: как передать сюда переменную PHP?,
  xkey: 'id',
  ykeys: ['first'],
  labels: ['last']
});
Thomas Anderson
@elvendor
May 24 2014 14:02
@twent скрипт в отдельном файле или в коде?
Twent
@twent
May 24 2014 14:02
@bayram4ik в коде
Thomas Anderson
@elvendor
May 24 2014 14:03
тогда просто data: {{ $var }}
а если это массив, то {{ json_encode($var) }}
Twent
@twent
May 24 2014 14:09

Для проверки сделал

var data = {{ json_encode($user) }};
alert(data);

Во всплывающем окне object Object

Alexander Egorov
@Amegatron
May 24 2014 14:09
console.log(data)
Thomas Anderson
@elvendor
May 24 2014 14:11
все правильно, ты получаешь объект
Alexander Egorov
@Amegatron
May 24 2014 14:11
вообще json_enccode в любом случае нужно, даже если это простая переменная
Twent
@twent
May 24 2014 14:24
Туго до меня доходит. Как мне обратиться к свойствам этого объекта в js?
Thomas Anderson
@elvendor
May 24 2014 14:25
data.key
Nikolay Denisenko
@PEKTOP
May 24 2014 15:25
:) я думал что пропустил skype-call, но оказывается сегодня на вечер перенеслось все...
... или я перепутал am и pm когда записывал в календарь на смартфон %)
Alexey
@Butochnikov
May 24 2014 15:27
через 30 мин начало
Alexander Egorov
@Amegatron
May 24 2014 15:29
мы решили сделать так: в скайпе только выступающие, осальные - смотрят стрим. Там есть чат, будем следить за ним, если будут вопросы какие-то или обсуждения. Думаю так ок будет?
@PEKTOP проводить skype-call в 8 утра по МСК было бы жестоко :D
Corvus
@BlahBlag
May 24 2014 15:33
привет пидоры
Nikolay Denisenko
@PEKTOP
May 24 2014 15:34
@Amegatron ну участники с разных часовый поясов, думаю любое время было бы приемлемым.
Corvus
@BlahBlag
May 24 2014 15:34
ректор саси
Nikolay Denisenko
@PEKTOP
May 24 2014 15:35
кто админит чат? кикните уёбка!
Corvus
@BlahBlag
May 24 2014 15:35
отец твой уебак
Alexander Egorov
@Amegatron
May 24 2014 15:35
@PEKTOP скоро будет эта возможность
Corvus
@BlahBlag
May 24 2014 15:38
@PEKTOP эй даун. Ладно можешь общаца спокойно
Orkhan Maharramli
@orkhan
May 24 2014 15:48
vsem privet
Alexey
@Butochnikov
May 24 2014 15:48
привет
Orkhan Maharramli
@orkhan
May 24 2014 15:49
kogda nachinaete?
Alexey
@Butochnikov
May 24 2014 15:49
по идее через 10 мин
Orel
@2byte
May 24 2014 15:50
Что будет через 10 минут?
online vstrecha
Orel
@2byte
May 24 2014 15:52
:+1:
Orel
@2byte
May 24 2014 16:05
Виснет (
Vadim Polh
@VadimPolh
May 24 2014 16:06
ребята кто работал с вордпрессом?
Alexey
@Butochnikov
May 24 2014 16:06
в чем вопрос?
Vadim Polh
@VadimPolh
May 24 2014 16:06
@Butochnikov плагин пишу свой, косяк с метабоксами в кастомном типе постов не сохраняет
пол часа не могу понять че не так
в базу не пишет вообще
Orkhan Maharramli
@orkhan
May 24 2014 16:07
kod pokazhite
Alexey
@Butochnikov
May 24 2014 16:10
так сложно сказать
Vadim Polh
@VadimPolh
May 24 2014 16:11

‘’’
<?php
/
Plugin Name: Print-Service main plugin
Plugin URI: http://wp.tutsplus.com/
Description: Main plugin for project Print-Service by KontoraX
Version: 1.0
Author: Vadim Polh
Author URI: http://werbdesign.com/
License: GPLv2
/
add_action( 'init', 'create_post_types' );
add_action( 'admin_init', 'my_custom_types_print' );
add_action( 'admin_init', 'my_custom_types_stamp' );
add_action( 'save_post', 'add_print_fields', 10, 2 );
//add_action( 'save_post', 'add_stamp_fields', 10, 2 );

function create_post_types() {
register_post_type( 'print_items',
    array(
        'labels' => array(
            'name' => 'Печати',
            'singular_name' => 'Печати',
            'add_new' => 'Добавить новую',
            'add_new_item' => 'Добавить новую печать',
            'edit' => 'Редактировать',
            'edit_item' => 'Редактировать печать',
            'new_item' => 'Добавить новую печать',
            'view' => 'Просмотреть печать',
            'view_item' => 'Просмотреть печать',
            'search_items' => 'Поиск печати',
            'not_found' => 'Печати не найдены',
            'not_found_in_trash' => 'В корзине печатей не найдено',
            'parent' => 'Родительская печать'
        ),
        'public' => true,
        'menu_position' => 10,
        'supports' => array( 'title', 'thumbnail'),
        'taxonomies' => array( '' ),
        'menu_icon' => plugins_url( 'images/print.jpg', __FILE__ ),
        'has_archive' => true
    )
);
register_post_type( 'stamp_items',
    array(
        'labels' => array(
            'name' => 'Штампы',
            'singular_name' => 'Штампы',
            'add_new' => 'Добавить новый',
            'add_new_item' => 'Добавить новый штамп',
            'edit' => 'Редактировать',
            'edit_item' => 'Редактировать штамп',
            'new_item' => 'Добавить новый штамп',
            'view' => 'Просмотреть штамп',
            'view_item' => 'Просмотреть штамп',
            'search_items' => 'Поиск щтампа',
            'not_found' => 'Штампы не найдены',
            'not_found_in_trash' => 'В корзине штампов не найдено',
            'parent' => 'Родительский штамп'
        ),
        'public' => true,
        'menu_position' => 10,
        'supports' => array( 'title','thumbnail'),
        'taxonomies' => array( '' ),
        'menu_icon' => plugins_url( 'images/stamp.png', __FILE__ ),
        'has_archive' => true
    )
);

}
function my_custom_types_print() {
add_meta_box( 'print_items_box',
'Параметры печати',
'display_print_meta_box',
'print_items', 'normal', 'high'
);
}
function my_custom_types_stamp() {
add_meta_box( 'stamp_items_box',
'Параметры штампа',
'display_stamp_meta_box',
'stamp_items', 'normal', 'high'
);
}
?>
<?php
function display_print_meta_box($print_items) {
// Retrieve current name of the Director and Movie Rating based on review ID
$price = esc_html( get_post_meta( $price->ID, 'price', true ) );
//$movie_rating = intval( get_post_meta( $movie_review->ID, 'movie_rating', true ) );
?>
<table>
<tr>
<td style="width: 100%">Цена</td>
<td><input type="text" size="80" name="price_value" value="<?php echo $price; ?>" /></td>
</tr><?print_r($_POST)?>
<!-- <tr> <td style="width: 150px">Movie Rating</td> <td> <select style="width: 100px" name="movie_review_rating"> <?php // Generate all items of drop-down list for ( $rating = 5; $rating >= 1; $rating -- ) { ?> <option value="<?php echo $rating; ?>" <?php echo selected( $rating, $movie_rating ); ?>> <?php echo $rating; ?> stars <?php } ?> </select> </td> </tr> -->
</table>
<?php
}
?>
<?php
function display_stamp_meta_box( $stamp_items) {
// Retrieve current name of the Director and Movie Rating based on review ID
$price = esc_html( get_post_meta( $price->ID, 'price', true ) );
//$movie_rating = intval( get_post_meta( $movie_review->ID, 'movie_rating', true ) );
?>
<table>
<tr>
<td style="width: 100%">Цена</td>
<td><input type="text" size="80" name="price_value" value="<?php echo $price;?>" /></td>
</tr>
<!-- <tr> <td style="width: 150px">Movie Rating</td> <td> <select style="width: 100px" name="movie_review_rating"> <?php // Generate all items of drop-down list for ( $rating = 5; $rating >= 1; $rating -- ) { ?> <option value="<?php echo $rating; ?>" <?php echo selected( $rating, $movie_rating ); ?>> <?php echo $rating; ?> stars <?php } ?> </select> </td> </tr> -->
</table>
<?php
}
?>
<?
function add_print_fields($print_items_id, $print_items) {
// Check post type for movie reviews
if ( $print_items->post_type == 'print_items' ) {
// Store data in post meta table if present in post data
if ( isset( $_POST['price_value'] ) && $_POST['price_value'] != '' ) {
update_post_meta( $print_items_id, 'price', $_POST['price_value'] );
}
// if ( isset( $_POST['movie_review_rating'] ) && $_POST['movie_review_rating'] != '' ) {
// update_post_meta( $movie_review_id, 'movie_rating', $_POST['movie_review_rating'] );
// }
}
}

?>
‘''

бля как код оформить
Twent
@twent
May 24 2014 16:11
@VadimPolh тильда где, буква ё
Orkhan Maharramli
@orkhan
May 24 2014 16:11
pastebin
Vadim Polh
@VadimPolh
May 24 2014 16:11
сорри
Alexey
@Butochnikov
May 24 2014 16:15
сейчас трансляция у нас идет... гляну позднее ок? хотя не скажу, что я спец в вордпресс
Vadim Polh
@VadimPolh
May 24 2014 16:16
@Butochnikov буду блогодарен
Orel
@2byte
May 24 2014 16:16
@Butochnikov виснет через каждые 10 сек
Alexey
@Butochnikov
May 24 2014 16:16
да виснет
Orel
@2byte
May 24 2014 16:17
Что ж делать
У меня скорость интернета норм
Vadim Polh
@VadimPolh
May 24 2014 16:38
@Butochnikov спасибо, уже не надо смотреть ошибка была в лишней букве s;)
Alexey
@Butochnikov
May 24 2014 16:39
:+1:
Orel
@2byte
May 24 2014 16:39
@VadimPolh ctrl+s ?
Vadim Polh
@VadimPolh
May 24 2014 16:45
@2byte нет, просто portfoli_items в одном случае и portfoli_item в другом
Maxim Seshuk
@maximseshuk
May 24 2014 16:46

Ребят
привет

нужно сделать авторизацию через php, как думаете, если буду использовать hybrid auth - норм будет?

через вконтакте*
Orel
@2byte
May 24 2014 16:46
Auth драйвер лары?
просто думаю
для 1 способо авторизации не жирно будет использовать библиотеук эту?
нужно мнение ваше)
спасибо заранее)
Alexey
@Butochnikov
May 24 2014 17:05
если тебе для лары то пакетов много
Maxim Seshuk
@maximseshuk
May 24 2014 17:08
Много? Например?
Я нашёл какой-то старый пакет.
Alexey
@Butochnikov
May 24 2014 17:09
у тебя задача какая?
Maxim Seshuk
@maximseshuk
May 24 2014 17:12
Авторизироваться на сайте через вконтакте для доступа к голосованию в битве
Maxim Seshuk
@maximseshuk
May 24 2014 17:15
да) ничего так)
спасибо, воспользуюсь!
slider23
@slider23
May 24 2014 18:34
Слушая встречу, завел в forge staging-сервер для будущего laravel.su - http://sharedstation.net/docs . Деплой через пуш, секунд через 10 после пуша все изменения уже на сервере, прикольно.
Corvus
@BlahBlag
May 24 2014 18:36
нахуя столько сообществ ларавела создавть
Alexey
@Butochnikov
May 24 2014 18:38
@slider23 круто
потом стили причешем и будет готовый диз. если такой всем нравится
Shappy
@Formcd
May 24 2014 19:55

Какие способы есть сохранить новую запись в бд и получить id этой записи?

$id = DB::table('users')->insertGetId(
    array('email' => 'john@example.com', 'votes' => 0)
);

Такой способ обычно используется? А если поля Eloquent модели например забить, т.е. обращение типа Order::insertGetId() может быть?

где Order - модель:)
This message was deleted
Shappy
@Formcd
May 24 2014 20:37
Короче просто $orderModel->id
=)
Alexander Egorov
@Amegatron
May 24 2014 22:18
@Formcd
$order = Order::create($data);
$order->id;
Alexey
@Butochnikov
May 24 2014 22:25
@slider23 а ты что уже всю документацию перевел?