Календарь - все сообщения темы за выбранную дату
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Hvzh
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 15 лет 7 месяцев
- Благодарил (а): 1 раз
Календарь - все сообщения темы за выбранную дату
Скажите, существует ли такой мод? Где-то вроде инфа проскакивала, но я не помню, где. А все календари, которые мне попадались, выдают только события
(
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Календарь - все сообщения темы за выбранную дату
На основе календарика от board3 Portal это делается элементарно. Совершенно непонятно, почему его авторы эту возможность в свой календарь не включили.
-
Hvzh
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 15 лет 7 месяцев
- Благодарил (а): 1 раз
Re: Календарь - все сообщения темы за выбранную дату
А не подскажете, как? Я новичок в phpBB...Sheer писал(а):На основе календарика от board3 Portal это делается элементарно
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Календарь - все сообщения темы за выбранную дату
Файл portal/block/mini_cal.php
Найти
Перед этим вставить
После вставить
Найти
Код: Выделить всё
// get the calendar month Код: Выделить всё
define('MINI_CAL_DAY_LINK_CLASS', 'gensmall'); Код: Выделить всё
$mini_cal_day = ($mini_cal_today == $d_mini_cal_today) ? '<span style="font-weight: bold; color: ' . $portal_config['portal_minicalendar_today_color'] . ';">' . $mini_cal_this_day . '</span>' : $mini_cal_this_day; Код: Выделить всё
$mini_cal_day_link = '<a href="' . append_sid($phpbb_root_path . "search.$phpEx?search_id=day&sd=a&st=" . $mini_cal_today) . '" class="' . MINI_CAL_DAY_LINK_CLASS . '" style="color: ' . $portal_config['portal_minicalendar_day_link_color'] . ';">' . ( $mini_cal_day ) . '</a>';
$mini_cal_day = ( $mini_cal_today >= $d_mini_cal_today ) ? $mini_cal_day_link : $mini_cal_day;
-
Gabriil
- phpBB 1.2.1
- Сообщения: 28
- Стаж: 16 лет 7 месяцев
- Благодарил (а): 6 раз
Re: Календарь - все сообщения темы за выбранную дату
Sheer, после добавления предложенного Вами кода в mini_cal.php дни в календаре стали кликабельными, но при нажатии на любую дату выдает:
Подходящих тем или сообщений не найдено
Подходящих тем или сообщений не найдено
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Календарь - все сообщения темы за выбранную дату
Мда... хотел как проще...
Замени этот кусок кода
На этот
Замени этот кусок кода
Код: Выделить всё
$mini_cal_day_link = '<a href="' . append_sid($phpbb_root_path . "search.$phpEx?search_id=day&sd=a&st=" . $mini_cal_today) . '" class="' . MINI_CAL_DAY_LINK_CLASS . '" style="color: ' . $portal_config['portal_minicalendar_day_link_color'] . ';">' . ( $mini_cal_day ) . '</a>';
$mini_cal_day = ( $mini_cal_today >= $d_mini_cal_today ) ? $mini_cal_day_link : $mini_cal_day; Код: Выделить всё
$nix_mini_cal_today = gmmktime($config['board_timezone'], 0, 0, $mini_cal_this_month, $mini_cal_this_day, $mini_cal_this_year);
$nix_mini_cal_today = $nix_mini_cal_today - ($user->data['user_timezone'] * 3600) - ($config['board_timezone'] * 3600) - ($config['board_dst'] * 3600);
$mini_cal_day_link = '<a href="' . append_sid($phpbb_root_path . "search.$phpEx?search_id=day&sd=a&st=" . $nix_mini_cal_today) . '" class="' . MINI_CAL_DAY_LINK_CLASS . '" style="color: ' . $portal_config['portal_minicalendar_day_link_color'] . ';">' . ( $mini_cal_day ) . '</a>';
$mini_cal_day = ( $mini_cal_today >= $d_mini_cal_today ) ? $mini_cal_day_link : $mini_cal_day; -
Gabriil
- phpBB 1.2.1
- Сообщения: 28
- Стаж: 16 лет 7 месяцев
- Благодарил (а): 6 раз
Re: Календарь - все сообщения темы за выбранную дату
Код поменял, кеш почистил, но ничего не изменилось. по прежнему ничего не находит.
может у меня руки не с того места растут...
может у меня руки не с того места растут...
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Календарь - все сообщения темы за выбранную дату
Ссылку в студию. Приложи к сообщению файл mini_cal.php
-
Gabriil
- phpBB 1.2.1
- Сообщения: 28
- Стаж: 16 лет 7 месяцев
- Благодарил (а): 6 раз
Re: Календарь - все сообщения темы за выбранную дату
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Календарь - все сообщения темы за выбранную дату
Простите старика.... Про search.php я забыл совсем...
Найти
После вставить
Найти
После вставить
Найти
Код: Выделить всё
$sort_dir = request_var('sd', 'd'); Код: Выделить всё
$day = request_var('day', 0);
$time = $sort_days; Код: Выделить всё
// Oh holy Bob, bring us some activity... Код: Выделить всё
case 'day' :
$next_time = ($time + (24*3600))-1;
$u_sort_param = 'st=';
$u_sort_param .= $time;
$u_sort_param .= '&sk=t&sd=a';
$sql_sort = 'ORDER BY t.post_time';
$sql = 'SELECT t.post_id
FROM ' . POSTS_TABLE . ' t
WHERE t.post_time > '.$time.' AND t.post_time < '.$next_time.'
' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : '') . "
$sql_sort";
$field = 'post_id';
break; -
Gabriil
- phpBB 1.2.1
- Сообщения: 28
- Стаж: 16 лет 7 месяцев
- Благодарил (а): 6 раз
Re: Календарь - все сообщения темы за выбранную дату
Sheer
после изменения search.php при нажатии на дату вылазит такая ошибка:
SQL ERROR [ mysql4 ]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND t.post_time < 86399 O' at line 3 [1064]
SQL
SELECT t.post_id FROM phpbb_posts t WHERE t.post_time > AND t.post_time < 86399 ORDER BY t.post_time LIMIT 1001
я Вас, наверное, уже замучил...
после изменения search.php при нажатии на дату вылазит такая ошибка:
SQL ERROR [ mysql4 ]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND t.post_time < 86399 O' at line 3 [1064]
SQL
SELECT t.post_id FROM phpbb_posts t WHERE t.post_time > AND t.post_time < 86399 ORDER BY t.post_time LIMIT 1001
я Вас, наверное, уже замучил...
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Календарь - все сообщения темы за выбранную дату
Э... да у тебя там search.php модифицированный как-то...
Попробуй так
Вот это
удали
Замени
на
Попробуй так
Вот это
Код: Выделить всё
$day = request_var('day', 0);
$time = $sort_days; Замени
Код: Выделить всё
case 'day' :
$next_time = ($time + (24*3600))-1;
$u_sort_param = 'st=';
$u_sort_param .= $time;
$u_sort_param .= '&sk=t&sd=a';
$sql_sort = 'ORDER BY t.post_time';
$sql = 'SELECT t.post_id
FROM ' . POSTS_TABLE . ' t
WHERE t.post_time > '.$time.' AND t.post_time < '.$next_time.'
' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : '') . "
$sql_sort";
$field = 'post_id';
break; Код: Выделить всё
// Поиск из календаря
case 'day' :
$time = request_var('st', 0);
$next_time = ($time + (24*3600))-1;
$sql = 'SELECT post_id FROM ' . POSTS_TABLE . ' WHERE post_time > '.$time.' AND post_time < '.$next_time.' ORDER BY post_time';
$field = 'post_id';
break; -
Gabriil
- phpBB 1.2.1
- Сообщения: 28
- Стаж: 16 лет 7 месяцев
- Благодарил (а): 6 раз
Re: Календарь - все сообщения темы за выбранную дату
Sheer
вот теперь Вы меня простите за невнимательность... SQL ошибку выдавало, так как я не вставил в search.php
поиск из календаря работает с обоими вариантами кодов. и последний вопрос - какой из этих вариантов лучше оставить? беспокоюсь о нагрузке на базу
Спасибо за поддержку.
вот теперь Вы меня простите за невнимательность... SQL ошибку выдавало, так как я не вставил в search.php
Код: Выделить всё
$day = request_var('day', 0);
$time = $sort_days;Спасибо за поддержку.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Календарь - все сообщения темы за выбранную дату
Я так и подумал, ибо у тебя $time было не определено (а вот debug включать надо!).Gabriil писал(а):так как я не вставил в search.php
Второй вариант проще. Но на нагрузку никак не повлияет.
Добавлено спустя 59 минут 7 секунд:
И еще, у тебя почему-то в mini_cal.php не определены значения
$portal_config['portal_minicalendar_day_link_color'] и $portal_config['portal_minicalendar_today_color']Сделай так (это для "косметики")
mini_cal.php
' . $portal_config['portal_minicalendar_day_link_color'] . ' заменить на #006F00$portal_config['portal_minicalendar_today_color'] заменить на #FF0000Строку
Код: Выделить всё
$mini_cal_day = ($mini_cal_today == $d_mini_cal_today) ? '<span style="font-weight: bold; color: ' . $portal_config['portal_minicalendar_today_color'] . ';">' . $mini_cal_this_day . '</span>' : $mini_cal_this_day; Код: Выделить всё
$mini_cal_day = ( $mini_cal_today == $d_mini_cal_today ) ? '<span class="' . MINI_CAL_TODAY_CLASS . '" style="font-weight: bold; border-style: outset; border-width: thin; color: #FF0000;">' . $mini_cal_this_day . '</span>' : $mini_cal_this_day; -
Gabriil
- phpBB 1.2.1
- Сообщения: 28
- Стаж: 16 лет 7 месяцев
- Благодарил (а): 6 раз
Re: Календарь - все сообщения темы за выбранную дату
Если честно, я уже запутался что и где нужно менять...
Вот решил проэксперементировать и в коде:
строку
заменил на:
не знаю, правильно ли это, но ошибки при включенном дебаге исчесли и поиск в календаре работает.
Sheer, что Вы скажете по этому поводу?
Вот решил проэксперементировать и в коде:
Код: Выделить всё
$nix_mini_cal_today = gmmktime($config['board_timezone'], 0, 0, $mini_cal_this_month, $mini_cal_this_day, $mini_cal_this_year);
$nix_mini_cal_today = $nix_mini_cal_today - ($user->data['user_timezone'] * 3600) - ($config['board_timezone'] * 3600) - ($config['board_dst'] * 3600);
$mini_cal_day_link = '<a href="' . append_sid($phpbb_root_path . "search.$phpEx?search_id=day&sd=a&st=" . $nix_mini_cal_today) . '" class="' . MINI_CAL_DAY_LINK_CLASS . '" style="color: ' . $portal_config['portal_minicalendar_day_link_color'] . ';">' . ( $mini_cal_day ) . '</a>';
$mini_cal_day = ( $mini_cal_today >= $d_mini_cal_today ) ? $mini_cal_day_link : $mini_cal_day;Код: Выделить всё
['portal_minicalendar_day_link_color']Код: Выделить всё
['portal_minicalendar_today_color']Sheer, что Вы скажете по этому поводу?

