Количество символов в календаре

Автор SAS, 15 февраля 2006, 09:21:09

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

SAS

Вопрос такой у меня, как можно увеличить количество символов отображаемых в событиях календаря, вот например я забил праздник -

15 Января 2006 - День памяти воинов-интернационалистов

так у меня на главной внизу да и самом календаре выводится только - День памяти воинов-интернацион

подскажите как поправить...

Kest

Такая же проблема. Плиз помогите.

Mavn

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

uniqum


SAS


Mavn

Выполнить mysql запрос к БД
ALTER TABLE `smf_calendar_holidays` CHANGE `title` `title` VARCHAR( 100 )

Где smf_ -префикс базы
100 - количество символов, так сказать столько сколько нужно :)!

Единственное сразу оговоримся проверьте на локалке мы не сильны в програмировании :)! У нас заработало все тип топ!
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

SAS

да, все нормально пашет, только я уж по-старинке, прям в базе исправил phpmyadmin`ом :) (и как это я сам не допер)

Mavn

как говорится лучше вывесить решение :) одни нашли как сделать другие нет :), а решение на форуме есть;)
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Customize

#8
Неполучается ! ввожу и 100 и 90 и 300 пробывал всеравно обрезает ! Больше 48 ссимволов не пускает !
         Че делать ?!

SAS

ты как правишь, вышеприведенным запрсом или прямиком в базе ?

Customize

#10
Цитироватьты как правишь, вышеприведенным запрсом или прямиком в базе ?

Через phpmyadmin ...

         захожу в раздел  smf_calendar и smf_calendar_holidays и там правлю ....

   

Вот как обстоит дело->

Вводишь  текст события календаря в событие календаря, его срезает на 48(или около того) символах.
После этого находишь его же в редактроке календаря, там, где весь список праздников, жмешь на него, чтоб отредактировать, вводишь полностью текст события праздника заново.  После этого вводится весь текст целиком, ничего не срезается, а с первого ввода не как не получается!

В какой таблице SQL надо изменить значения, для того чтобы исправить сей глюк ?

SAS

phpmyadmin -> твоя база -> SQL -> вставить запрс - ALTER TABLE `smf_calendar_holidays` CHANGE `title` `title` VARCHAR( 100 );

mpk

#12
форма режет количество символов еще на вводе. только вот никак не могу найти эту чертову форму с именем title. есть форма с именем evtitle (для события надо понимать).
Добавил:
потратил некоторое время на осмотр буржуйского форума. оказывается я не те формы редактировал.
собсно темf от буржуев по сабжу:
http://www.simplemachines.org/community/index.php?topic=24720.msg195857;topicseen#msg195857
то есть надо понимать, что сначала надо установить varchar а потом отредактировать post.template.php на предмет длины поля с именем title. сам еще не пробовал, посмотрим - поможет ли. но мне остается не понятным за что тогда отвечает поле evtitle...
Добавил:
отредактировал post.template.php и subs-post.php, сделал varchar как надо... ничерта не выходит +_+ хреноваааа...

Mavn

если не ошибаемся то название события которое публикуется на форуме evtitle
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

mpk

#14
Цитата: mpk от 03 декабря 2006, 23:43:14
отредактировал post.template.php и subs-post.php, сделал varchar как надо... ничерта не выходит +_+ хреноваааа...
Блин! Отредактировал еще строку где-то, где увидел значение "48" и события стали постится до 100 символов. Но как мне holidays сделать такими же?! Помогите люди, добрые, помираю! %)
добавил: после изменениея varchar holidays стали отображать 50 символов, а отображали 30...

Mavn

вообще то лучше изменить поле на text тогда длина поля будет увеличина значительно и обрезаться ничего не будет
длина varchar =30
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

mpk

#16
ха! решение нашлось!
В папке Sources ищем файл ManageCalendar.php и там строку
('$date', SUBSTRING('$_REQUEST[title]', 1, 48))", __FILE__, __LINE__);
и меняем 48 на необходимое для нас значение.
ЗЫ: это при условии всех внесенных выше изменений.

MotoKot

#17
для чего там две базы?
одна smf_calendar и вторая smf_calendar_holidays  ?

В первой есть
title varchar(48) latin1_swedish_ci

во второй -
title varchar(30) latin1_swedish_ci
Судя по названию, вторая отвечает только за праздники. Но тогда откуда ограничение 30 символов в событиях? Событие - это вроде не то же самое, что праздник, так?

Можно еще раз по шагам расписать процедуру изменений, чтобы и праздники, и события были ограничены хотя бы 100 символами, а не 30 ?

Я пробовал в smf_calendar_holidays менять title varchar с 30 на 100, все равно при вводе "Отправить событие" разрешает ввести только 30 (откуда вы вообще взяли 48?) символов.

15:35 Нашел в файле Subs-Posts.php вот это:
Цитировать// No title?
      if ($func['htmltrim']($_POST['evtitle']) === '')
         fatal_lang_error('calendar17', false);
      if ($func['strlen']($_POST['evtitle']) > 30)
         $_POST['evtitle'] = $func['substr']($_POST['evtitle'], 0, 30);

Очень похоже, что evtitle - это как раз и есть event title, то бишь заголовок события.

15:45 Попробовал во всех местах (т.е. в обеих базах, и в обоих php-модулях) поставить 60 вместо 48 и 30.
Ничего не изменилось. Не дает вводить свыше 30 символов.

16:00
Нашел файл Calendar.template.php
А в нем строчку:
Цитировать<input type="text" name="evtitle" maxlength="30"

Думаю, оно или нет. По функциям очень похоже :-)

16:05
Да, оно. Урра!!! Поправил maxlength="30" на maxlength="60"
Дает вводить 60 символов теперь.

Теперь буду искать, какая база нужна, т.к. в базе все равно пока что сохраняется только 30 символов (или 48 - хз.)
В календаре и на главной странице форума отображается 30, но что-то подсказывает, что в базе храняться именно 48...

16:30
поправил в в таблице smf_calendar параметр title varchar(48) на title varchar(60)
ничего не изменилось.
Не возвращая значение обратно на 48, поправил в Subs-Post.php
Цитироватьif ($func['strlen']($_POST['evtitle']) > 60)
         $_POST['evtitle'] = $func['substr']($_POST['evtitle'], 0, 60);

стало отображаться 48 символов.

Думаю. Похоже, дело в ManageCalendar.php

16:40
Нет, не при чем. ManageCalendar.php влияет только на редактирование событий. т.е. первоначально сделать сразу 60 - не получается.
Сначала надо создать событие, оно будет 48 символов.
Потом, при редактировании, уже можно расширять до 60.
Ищу дальше.

16:50
А дело было в файле Calendar.php
Вот что там было
ЦитироватьVALUES ($id_board, $id_topic, SUBSTRING('$title', 1, 48)
Я поправил вот так:
ЦитироватьVALUES ($id_board, $id_topic, SUBSTRING('$title', 1, 60)
И все вроде заработало. Теперь и на первой странице, в "Информационный центр" - "Календарь предстоящих событий", и в самом календаре - везде рисуется именно 60 символов, как и хотелось.
Но!
так происходит, только если использовать проверочную строку типа
абвгдАБВ10 бвгдАБВ20 бвгдАБВ30 бвгдАБВ40 бвгдАБВ50 бвгдАБВ60
(в ней как раз 60 символов в русской кодировке)

Если использовать кавычки - сразу срезается какая-то часть текста. С чем может быть связано?

17:10
Короче , не знаю, в чем дело. Устал искать уже. Возникло подозрение, что кавычки в базе сохраняются не одним символом, а несколькими. Поставил в обеих таблицах, и в smf_calendar и в smf_calendar_holidays значение параметра title в 100. Все равно как-то странно... если сразу вводить с кавычками - глючит, срезает. Но потом если отредактировать - все ок.

17:35
Пало подозрение на измененную строчку
ЦитироватьVALUES ($id_board, $id_topic, SUBSTRING('$title', 1, 60)
в sql-запросе в файле Calendar.php

Раньше там было 48. Не с проста, наверное...
Поставил 100 вместо 60.
Либо я уже сошел с ума, либо все заработало.  laugh

Прошу! Проверьте у себя!
А то я голову об стену разобью. Причем не свою :-)
Drive Like Lightning - Crash Like Thunder

MotoKot

Дополню:
не забудьте еще поправить строчку
Цитировать<input type="text" name="evtitle" maxlength="30" size="30" value="', $context['event']['title'], '" />
В файле
forum/Themes/classic/Post.template.php

classic - потому что я использую эту тему. У вас она может быть и default, babylon или еще какая-нибудь....

maxlength="30" я поменял на maxlength="60". Проверил. Работает.
Drive Like Lightning - Crash Like Thunder

mpk

Я уже не помню, что я там правил. Но мучения были похожие. Значит Вы на верном пути ; )

MotoKot

Цитата: mpk от 11 февраля 2007, 21:50:51
Я уже не помню, что я там правил. Но мучения были похожие. Значит Вы на верном пути ; )
Вот поэтому (чтобы не забыть), я и записывал все свои действия.
Сейчас все работает :-)
Drive Like Lightning - Crash Like Thunder

savirmir

Уважаемые господа!
А решения попроще (типа мода...) так и не нашлось? :(

Mavn

а собственно говоря ничего сложного в этом нет чтобы писать мод для этого
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

savirmir

Цитата: Mavn от 05 апреля 2007, 19:57:00
а собственно говоря ничего сложного в этом нет чтобы писать мод для этого
Да ладно Вам...
Не фига себе инструкция написана выше... Это просто?!
Шутить изволите... ;)

А мод очень многим был бы полезен! Ведь на самом деле чепуха получается! Названия праздников можно сохранять только в обрезанном виде... Это ж явная недоработка разработчиков!
Почему не поправят?..

mpk

Цитата: savirmir от 05 апреля 2007, 20:48:19
Да ладно Вам...
Не фига себе инструкция написана выше... Это просто?!
Шутить изволите... ;)

А мод очень многим был бы полезен! Ведь на самом деле чепуха получается! Названия праздников можно сохранять только в обрезанном виде... Это ж явная недоработка разработчиков!
Почему не поправят?..
Это меры безопасности. Исправлять их слишком неоднозначно, а внести изменения в указанные файлы ничего не стоит на самом деле. Кроме того с модами мучений не меньше. Да и потом когда сам руками поправил, точно знаешь что и где.

savirmir

#25
Цитата: mpk от 06 апреля 2007, 01:21:24
Это меры безопасности. Исправлять их слишком неоднозначно, а внести изменения в указанные файлы ничего не стоит на самом деле. Кроме того с модами мучений не меньше. Да и потом когда сам руками поправил, точно знаешь что и где.
Да?!
А не проще было бы в процессе разработки движка форума предусмотреть функцию настройки числа символов в Админке?! И, естественно, ограничить их число нужным параметром, например 100 или 150?..
Причём здесь безопасность?!
Вот так глюки выдают за фичи, Вы уж извините...

ЗЫ. И всё же, если всё так просто, напишите, пожалуйста, инструкцию как это сделать!
Честное слово, из вышеприведённой информации совершенно ничего неясно! Каша...
Советы-то противоречат друг другу, а праздники настроить хочется...

И особенно здорово Ваши слова звучат после Вашего же утверждения:
Цитата: mpk от 11 февраля 2007, 21:50:51
Я уже не помню, что я там правил. Но мучения были похожие. Значит Вы на верном пути ; )
Зачем же мазохизмом заниматся?!

mpk

Да не помню я как это все сделать. Работает и ладно. Товарищ MotoKot по-моему расписал все по пунктам. Главное что:
1)
Цитировать
Да?!
А не проще было бы в процессе разработки движка форума предусмотреть функцию настройки числа символов в Админке?! И, естественно, ограничить их число нужным параметром, например 100 или 150?..
Причём здесь безопасность?!
Вот так глюки выдают за фичи, Вы уж извините...
Насколько я понимаю, злоумышленник может подделать интерфейс и ввести то, что не надо в форму. Или просто очень много текста. Вряд ли Вас это порадует. Поэтому и стоит ограничения в БД varchar. Его и надо сменить на требуемое значение.
2)
Все озвученные здесь файлы необходимо прежде всего искать в папке с используемым Вами шаблоном. Если там нет этих файлов, или файлы есть, но нет тех строк, то ищем их в папке шаблона default.
3)
Цитировать
Если использовать кавычки - сразу срезается какая-то часть текста. С чем может быть связано?
Думается мне, что это сделано специально, и любые символы типа кавычек и апострофов преобразуются в html-сущности. Тоже для того, что бы злоумышленник не мог че-нить сделать с БД например. Хотя возможно я и не прав.
savirmir, извините за бесполезные для Вас разглагольствования, но я действительно не помню, что я делал, что б у меня заработало. Видимо я люблю "мазахизм" %)

SeDo4

А для smf 1.1.2 те же самые действия выполнять надо?

mpk


Mavn

Демогогию заканчиваем!!! мод собирать все равно не буду не вижу смысла, все что нужно исправить уже написано в данной теме
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

kolbasuha

Подскажите, а как быть с форумом 1.1.9?