Сегодня 19 марта, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7283
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

Yii 1.1.15 (исправление безопасности)

2014-06-30 10:01:39 (читать в оригинале)

Вышел Yii 1.1.15, исправляющий проблему безопасности, найденную в 1.1.14. Более ранние версии не затронуты. Если вы используете его, следует обновиться. 1.1.15 полностью совместим с 1.1.14.

Уязвимость затрагивает CDetailView. Если ваше приложение берёт значение value от пользователя, то атакующий имеет возможность выполнить произвольный PHP скрипт на вашем сервере. Мы не раскрываем подробностей сразу чтобы дать время обновиться. По нашим данным детали пока известны только основной команде разработчиков фреймворка.

Уязвимости присвоен номер CVE-2014-4672.

Забрать дистрибутив можно, как обычно, на yiiframework.com или обновиться через Composer.



Иллюстрированное руководство по рефакторингу

2014-06-26 15:21:51 (читать в оригинале)

На хабре анонсировали отличное иллюстрированное руководство по рефакторингу. Объяснения простые и понятные, примеры пока на Java и PHP.

Рекомендую



PHP 5.6.0RC1

2014-06-20 14:14:25 (читать в оригинале)

Вышел первый кандидат в релизы PHP 5.6.0. Можно помочь разработчикам, проверив свои проекты на этой версии (не на боевых серверах, конечно) и сообщив о проблемах.

Изменения радуют. Рассмотрим самое интересное.

Можно использовать простые выражения в константах и значениях по умолчанию:

class PostCache
{
    const EXPIRE_HOUR = 60 * 60;
    const EXPIRE_DAY = self::EXPIRE_HOUR * 24;
 
    public function put($data, $expire = 3 * EXPIRE_HOUR) {
        // ...
    }
}

Аргументы переменной длины:

function queue($name, $delay = null, ...$data)
{
    foreach ($data as $item) {
        Queue::put($name, $item, $delay);
    }
}

Можно на лету распаковать массив в аргументы функции:

function updatePerson($id, $firstName, $lastName)
{
    // ...
}
 
$person = ['Alexander', 'Makarov'];
updatePerson(42, ...$person)

Ввели оператор для возведения в степень:

echo 2 ** 8; // 256
 
$n = 2;
$n **= 8;
echo $n; // 256

При помощи use теперь можно импортировать функции и константы:

namespace My\Space {
    const FOO = 42;
    function f() { echo __FUNCTION__."\n"; }
}
 
// global namespace
namespace {
    use const My\Space\FOO;
    use function My\Space\f;
 
    echo FOO."\n";
    f();
}
  • В ядро включили phpdbg.
  • Кодировка для htmlspecialchars и других функций, которым она нужна теперь берётся из default_charset. По умолчанию используется UTF-8.
  • iconv официально помечен как deprecated.
  • Можно повторно использовать php://input.
  • Можно загружать файлы больше двух гигабайт.
  • Уменьшили потребление памяти при обработке POST-запросов.

Об остальных изменениях можно почитать на соответствующей странице документации, которая ещё будет дописываться.



GitHub Octicons

2014-06-19 14:21:47 (читать в оригинале)

Команда GitHub выложило набор значков, используемых в проекте, в свободный доступ под лицензией SIL OFL 1.1. Значки векторные. Выполнены в виде шрифта, использовать который очень просто:

<link rel="stylesheet" href="/octicons/octicons.css">
 
...
 
<span class="octicon octicon-flame"></span>

Пользуемся



Android, фрагмент в фрагменте и startActivityForResult

2014-06-12 20:21:30 (читать в оригинале)

Одна из самых раздражающих недоработок Android проявляется когда нужно из фрагмента получить изображение с камеры или выбрать из готовых. Для этого используется Fragment.startActivityForResult(), а результат приходит в Fragment.onActivityResult(). Всё бы хорошо, но если фрагмент является потомком другого фрагмента, onActivityResult() не вызывается. Решается не очень тривиально:

startActivityForResult() вызываем не для текущего фрагмента, а для родителя:

private Fragment getActivityStarterFragment() {
        if (getParentFragment() != null) {
            return getParentFragment();
        }
        return this;
    }
 
getActivityStarterFragment().startActivityForResult(...);

В фрагменте-родителе явно вызываем onActivityResult() потомков:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callOnActivityResultOnChildFragments(this, requestCode, resultCode, data);
}
 
// реализовано коллегами после изучения https://gist.github.com/artem-zinnatullin/6916740
public static void callOnActivityResultOnChildFragments(Fragment parent, int requestCode, int resultCode, Intent data) {
    FragmentManager childFragmentManager = parent.getChildFragmentManager();
        if (childFragmentManager != null) {
            List<Fragment> childFragments = childFragmentManager.getFragments();
            if (childFragments == null) {
                return;
            }
            for (Fragment child : childFragments) {
                if (child != null && !child.isDetached() && !child.isRemoving()) {
                    child.onActivityResult(requestCode, resultCode, data);
            }
        }
    }
}


Страницы: ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ... 

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.