2

Настройка прав доступа для группы «контент-менеджер» в 1C-Bitrix

Настройка прав доступа для группы «контент-менеджер» в 1C-Bitrix

  1. Создаем группу пользователей «Контент-менеджер».
  2. В закладке «Доступ», созданной группы, поле УПРАВЛЕНИЕ СТРУКТУРОЙ установить в значение РЕДАКТИРОВАНИЕ ФАЙЛОВ И ПАПОК.
  3. Перейти в КОНТЕНТ -> СТРУКТУРА САЙТА -> ФАЙЛЫ И ПАПКИ.
  4. Выбираем для группы «Контент-менеджер» права на корень сайта — кнопка на панели «Свойства папки» в значение ЗАПИСЬ.
  5. Выбираем для группы «Контент-менеджер» права на папки /BITRIX и /BITRIX/ADMIN в значение ЧТЕНИЕ.
  6. В настройках инфоблоков к которым должен быть открыт доступ для группы «Контент-менеджер» выставить права ИЗМЕНЕНИЕ.
0

Как сделать первую букву в строке строчной?

Казалось бы, что за вопрос? Все очень просто: ucfirst и готово, в чем проблема?

А проблема возникает в тот момент, когда вы работает в UTF-8. В моем случае — постоянно.

Как известно, функция ucfirst в php не работает со строками в UTF-8 кодировке.

Поэтому я использую следующую функцию:

function mb_ucfirst($string)
{
    $string = mb_strtoupper(mb_substr($string, 0, 1)) . mb_substr($string, 1);
    return $string;
}
1

Свои условия в скидках Битрикса

В 1С-Битрикс:Управление сайтом (БУС) есть шикарный редактор условий для скидок. Он действительно очень крутой и гибкий. И всё там делается мышью, для простых людей.

Несколько примеров:

metla

Но, как это обычно бывает в реальной жизни, бывают случаи когда не хватает имеющихся в редакторе условий.

Например, нужно применить скидку для пользователя, дополнительное поле которого равняется заданному значению.

Как это сделать?

discount

Там, где я стыдливо закрасил строку, должно быть UF_USER_FIELD.
Continue Reading

2

Рекурсивно конвертировать файлы из одной кодировки в другую

Есть много файлов и папок. Файлы в кодировке utf-8. Как быстро, не поднимая шума, конвертировать их все в кодировку windows-1251?

Наверное, это можно сделать и из командной строки Windows.

Но вот так это можно сделать в Linux консоли командой в 1 строку:


find . -name "*.php" -exec sh -c "iconv -f utf-8 -t windows-1251 {} > {}.utf8" \; -exec mv "{}".utf8 "{}" \;

Что делает эта команда:
1. рекурсивно ищет файлы в текущей папке по маске *.php
2. отдает их команде iconv, которая конвертирует эти файлы из utf-8 в windows-1251 и копирует результат в файл *.utf8
3. меняет имя новому файлу с *.utf8 в исходное

0

Полезные команды EXIM

Столкнулся с необходимостью отдиагностировать работу почту в Debian (привет Rails). Постоянно искать эти команды по интернетам надоело, поэтому пускай полежит тут.

exipick

показывает сообщения в очереди EXIM.

exipick -z

показывает замороженные сообщения.

exipick -i

показывает ID сообщений.

exim -Mrm ID

удаляет из очереди сообщение с айдишником ID.

В итоге получаем:

exipick -zi | xargs exim -Mrm

очистит все замороженные сообщения из очереди.

exipick -i | xargs exim -Mrm

очистит все сообщения из очереди.

Ссылка по теме: http://blog.himic.ru/raznoe/2011/12/23/ochistit-ochered-soobscheniy-exim.html

И еще про почту.

Консольная утилита mail для отправки почты. Вроде все понятно, чтобы отправить почту пишем:

mail address@domain.com

Единственное, что все время вылетает из головы — это комбинация клавиш, по которой сообщение нужно заканчивать — Ctrl-D. Ура.

А и еще одно, чтобы переконфигурировать EXIM:

sudo dpkg-reconfigure exim4-config
0

Разные способы ограничить текст по количеству слов

Довольно часто нужно ограничить текст по количеству строк.

Понятно, что это не сложно и способов это сделать довольно много.

Но вот самые красивые.

Здесь интересное решение с массивами:

   function limit_words($string, $word_limit)
   {
	$words = explode(' ',$string);
	return trim(implode(' ', array_splice($words, 0, $word_limit))) .'...';
   }

А здесь вся сила и красота регулярных выражений:

    function limit_words($string, $word_limit)
    {
        return preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $word_limit)) .'...';
    }
0

Поиск файлов в Linux

Иногда нужно найти большие файлы в Linux или FreeBSD.

Например, найти файлы больше 50 Мб:

find . -type f -size +50M

Или, найти все *.php файлы, содержащие текст «some text»:

grep --include=*.php -rnw . -e "some text"