Блог пользователя - warobushek

Единая сессия для домена и поддоменов. Мультиязычность.

12 сентября 2011 в 13:28

Здравствуйте. Подскажите, пожалуйста, в чем может быть причина? Как дальше решать проблему?

Мультиязычный сайт на основе модуля i18n на поддоменах.
Есть домен example.com и поддомены ru.example.com и en.example.com.
Структура папки sites:
sites
|
|- all
|- default
|  |-files
|  |-settings.php
|
|- example.com
   |-files
   |-settings.php

Нужно, чтобы авторизация была единой для всех поддоменов и основного домена.

Как везде и советуется, я указал cookie_domain='.example.com' в файле example.com/settings.php.
Сбросил куки и кеш в браузерах, очистил .таблицу сессий друпала.

---------
В итоге не на всех компьютерах работает единая авторизация:
Компьютер 1: Windows 7, Avast
Входим на сайт по адресу example.com/user
Попадаем на страницу example.com/users/example_admin авторизованными
Переключаемся на en.example.com - остаемся авторизованными.
Компьютер 2: Windows XP, антивирус отсутствует
Входим на сайт по адресу example.com/user
Попадаем на страницу example.com/users/example_admin с надпиью "Доступ запрещен" -- т.е. не проходит авторизация для домена example.com
Переключаемся на en.example.com - здесь мы авторизованы.
------
Если на компьютере 2 сначала перейти на страницу example.com/user, а потом уже сбросить куки, то авторизация проходит на всех поддоменах и основном домене.
------
Пробовал заменить ~470 строку в bootstrap.inc — без результата.

Добавить русский домен для сайта

5 сентября 2011 в 20:31

Есть сайт mysite.ru с друпалом 6.
Также для него есть русский домен мойсайт.рф
При попытке открыть мойсайт.рф перекидывает на /install.php

Как побороть без редиректа в htaccess?

Pathauto синоним [menupath-raw] когда язык ноды != язык интерфейса

9 июля 2011 в 17:27

Всем привет!

Заметил следующий неприятный факт:
создаю английскую ноду в английском интерфейсе сайта — синоним создается.
создаю английскую ноду в русском интерфейсе сайта — синоним не создается.

Для создаваемого материала в настройках указан шаблон [menupath-raw]

Массовое формирование также распространяется только на материалы на языке интерфейса.
Такое же поведение и при вызове node_save программно.

Лечил ли кто-нибудь это уже? Если поделитесь рецептом, то буду очень признателен.

Выбор редактора администратором сайта

2 июля 2011 в 7:10

Здравствуйте.
Подскажите пожалуйста модуль, позволяющий выбирать администраторам сайта один из установленных WYSIWYG редакторов для редактирования.

TinyMCE + WYSIWYG --- как для body iframe прописать класс, идентификатор?

3 июня 2011 в 3:13

Задал путь для css файла моей темы в настройках профиля wysiwyg. Но т.к. некоторые элементы у меня определены как
.content ul, то текст в редакторе выглядит, не так, как для обычного пользователя.

Как внутри формируемого iframe задать класс элементу body.
Подобное делал для ckeditor, там в конфигурационном файле правилось. Как здесь... пока не понял.
Подскажете - буду очень признателен.

<!--break--> оборачивается в параграф. TinyMCE

25 апреля 2011 в 18:08

Всем привет.
Уже не первый час мучаюсь над этим багом/фичей. Кто сталкивался, с этим помогите пожалуйста.

Мультиязычность, поддомены и автоматический переход на языковой поддомен.

16 апреля 2011 в 9:51

Всем привет!

Делаю все на одном движке и наборе модулей.
Использую i18n

Основной сайт
mysite.ru - основной язык выбрал русский.
Языковые домены:
ru.mysite.ru
en.mysite.ru

Создал папку sites/mysite.ru и в нее положил settings.php
Настроил i18n/locale для разделения языков по доменам.

Но вот "жесть":
захожу я на сайт mysite.ru - Вижу все как положено на русском языке. Перехожу в раздел управление и опа... я уже в ru.mysite.ru/admin

i18n язык по умолчанию.

12 апреля 2011 в 8:25

На сайте язык по умолчанию должен быть русский, дополнительный английский.
Делаю по руководству http://drupal.org/node/275705

- Если язык по умолчанию оставляю английский, то работает как и должно:
при выборе языка в блоке "language switcher" показывается нода на выбранном языке.
- Если же устанавливаю русский язык по умолчанию, то этот блок не работает похоже, да и переход по адресу
mysite/en
mysite/ru не работают толком.

Как сделать русский язык по умолчанию?

WYSIWYG с возможностью вставки видео/флеш роликов в произвольное место страницы

10 апреля 2011 в 16:45

Подскажите пожалуйста такой редактор. И желательно, чтобы писал оформление в стили, а не использовал свои классы, как например ckeditor.

Возможность отложить товар(расплатиться при получении товара) или оплатить сразу - какие модули позволяют это сделать/настроить?

10 апреля 2011 в 16:43

?

drupal, nginx и 2 БД

27 октября 2010 в 12:34

На тестовой площадке сделал копию текущего сайта.
На работающей площадке apache, тут nginx.

Один модуль использует не основную базу данных, а вторую.
Для этого у меня в коде формирования блока написано:

<?php
..
db_set_active('baza2');
..
db_set_active('default');
..
?>

При попытке открыть сайт выводится куча сообщений об ошибке наподобие:

Warning: Table &#039;baza2.watchdog&#039; doesn&#039;t exist
query: INSERT INTO watchdog
    (uid, type, message, variables, severity, link, location, referer, hostname, timestamp)
    VALUES
    (4, &#039;php&#039;, &#039;%message in %file on line %line.&#039;, &#039;a:4:{s:6:\&quot;%error\&quot;;s:12:\&quot;user warning\&quot;;s:8:\&quot;%message\&quot;;s:108:\&quot;Table &amp;#039;baza2.menu_custom&amp;#039; doesn&amp;#039;t exist\nquery: SELECT * FROM menu_custom ORDER BY title\&quot;;s:5:\&quot;%file\&quot;;s:50:\&quot;/путь/к/друпал/modules/menu/menu.module\&quot;;s:5:\&quot;%line\&quot;;i:449;}&#039;, 3, &#039;&#039;, &#039;http://10.5.12.18:8080/&#039;, &#039;http://10.5.12.18:8080/admin/build&#039;, &#039;10.1.21.49&#039;, 1288166104) in /путь/к/друпал/includes/database.mysql.inc on line 139

Если комментирую строчку db_set_active('baza2'); (и все обращения к этой базе)
то ошибок нет. Я даже оставлял только строчки

<?phpdb_set_active('baza2');
db_set_active('default');
?>

ошибки все равно появляются.

Попробовал вывести тестовую информацию.
оказалось что ошибки выводятся после
db_set_active('default');

ImageCache позволяет анониму создавать уменьшенную картинку согласно существующему шаблону.

26 октября 2010 в 15:17

Есть картинка с именем some_image.png в папке files. Если !аноним! пройдет по пути sites/default/files/imagecache/presetmy/some_image.png, то будет автоматически создана уменьшенная копия существующей картинки.
Т.о. если на сайте есть еще куча других картинок, не подлежащих уменьшению, то любой желающий может насоздавать уменьшенных копий картинок столько, сколько есть в папке files. => уменьшить свободное место на хостинге.

Разрешения выставлены только для администратора.

Можно с этим как-то бороться?

Поиск по определенному типу материалов

9 сентября 2010 в 19:49

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

Advertisement скрыть статистику от анонимов

8 сентября 2010 в 9:30

Заметил, что анонимный пользователь может просмотреть статистику кликов.
Кроме того, если кликал администратор, аноним видит имя пользователя админа.

Покопался в настройках и разрешениях и что-то не нашел способа скрыть эту статистику.

Как вы это делали?

Когда boost создает кеш?

4 сентября 2010 в 18:10

Кратко:
Пробую boost на ngnix. Кеширует не все страницы, открываемые анонимом, или кеширует не сразу. Отдает тоже не кешированные. Когда boost кеширует открываемые страницы?

Полно:
ngnix 0.7.67
Установил boost согласно readme.txt. В отчете о состоянии пишет, что установлено правильно и остальное зависит от настроек boost. Настроил согласно [##545908]Boost Installation & Settings[/##].
На вкладке "Производительность" кеширование поставил "отключено" (это я прочитал в вышеприведенной инструкции).
Сейчас ситуация такая - в папке кеша лежат 6 html-ок. Чтобы они появились там я перещелкал наверно страниц 40.
Сложилось такое впечатление, что boost кеширует не при первом открытии страницы.

И вот основной вопрос: когда boost кеширует открываемые страницы? Когда он производит сжатие страниц?
Дополнительный вопрос, если ответ - при первом открытии: в моем случае это из-за ngnix?

Только что осенило, почему может работать не так как надо - при установке boost мы прописываем в .htaccess, некоторые правила, а в ngnix нет htaccess. Буду копать в эту сторону.
Тем не менее вопрос остается открытым, т.к. production site на Apache.

Главная страница построена на динамических блоках => стандартное кеширование для нее нужно отключить?

30 августа 2010 в 21:36

Перечитал уже порядочное количество тем на этом сайте про кеширование. И сложилось следующее представление о кешировании:
включенное нормальное кеширование на странице "производительность" сохраняет страницу целиком. Таким образом закешированная главная страница сайта, где много динам. блоков будет оставаться всегда неизменной, верно?
и в этом случае мне поможет только
CacheExclude
или
Формирование этих блоков через Javascript

Верно? А как быть с нагрузкой на сервер? Здесь помогут только штуки типа eAcelerator?

Drupal.ahahError при возврате html кода через drupal_json

10 августа 2010 в 15:15

Признаюсь, что создаю пока вторую форму, вооруженную AHAH;
Столкнулся с тем, что если возвращать обычный текст, то вставляется, если же HTML - то нет (зависает прогресс-бар). Это касается именно этой формы.

FireBug'ом проследил, что останавливается на Drupal.ahahError, который в свою очередь вызывается из-за установленно status="parseerror". Собственно, ломаю голову, где этот status может быть установлен. В ahah.js не нашел. jquery перерывать - ужас...

Для формирования добавляемого HTML реализован callback:

function _my_poll_add_text_radio_op() {

  $output  = '';

  $form_build_id = $_POST['form_build_id'];
  $form_id = $_POST['form_id'];

  $form_state = array('submitted' => FALSE);
  $form = form_get_cache($form_build_id, $form_state);

//Изменение формы:
// .... пропущено ...

 
  form_set_cache($form_build_id, $form, $form_state);

  $form['#post']       = $_POST;
  $form['#redirect']   = FALSE;
  $form['#programmed'] = FALSE;

  $form = form_builder($form_id, $form, $form_state);

//$output = "<br/>111"; //не работает  
  $output = "111";     //работает
 
  drupal_json(array('status' => TRUE, 'data' => $output));

}

Кто нибудь сталкивался с таким? Как выходили из этой ситуации? В чем была причина в вашем случае?

после обновления views 2.10 --> 2.11 пропали некоторые пункты моего меню

4 августа 2010 в 9:23

Обновлял следующим образом
удалил папку со старым views, загрузил новый views. Обновил страницу модулей. И ... в менюшке пропал один раздел меню.
при этом в журнале следующие ошибки.

call_user_func_array(): First argument is expected to be a valid callback, 'views_access' was given в файле путь к друпалу/http2/includes/menu.inc в строке 452

есть дамп базы(но без DROP TABLE)
стоит сразу восстанавливать из дампа?

Отслеживать "конкретные" изменения в материалах сайта.

3 августа 2010 в 11:21

Есть ли модуль, позволяющий администратору посмотреть что конкретно, кто и когда поменял в материалах сайта?
Как он называется?