Forumlar / National / Russian / Тех. поддержка / Баги 097

<<<123>>>

esclkm
#16 2012-03-14 07:26

имеет ! включите имена переменных в файл функций - и подключайте фаш файл функций там где надо

тоже самое сделано со страницами. посмотрите примеры

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Dayver
#17 2012-03-14 09:49
#33539 Eugene:

Что бы в самописных плагинах и модулях использовать их на ряду с $db_pages и пр.

Я наткнулся на эту проблему на прошлой неделе - в процессе конвертации MyFiles (от ez) под Siena. Оказалось, что эти 2 переменные для базы сейчас в конфиге самого модуля PFS. Это вроде логично - включил модуль и переменные для 2 таблиц стали активными - вот только scope их использования = (((( 

Сторонний плагин действительно не имеет к этим переменным доступа...

Поэтому плагины правильно писать используя конструкцию вида (на примере того же модуля page)

if (cot_module_active('page'))
{
	require_once cot_incfile('page',  'module');
}

Которая проинклудит файл /modules/page/inc/page.functions.php в котором есть 

// Global variables
global $cot_extrafields, $db_pages, $db_x;
$db_pages = (isset($db_pages)) ? $db_pages : $db_x . 'pages';

И всего делов то - правильно пишем плагины под Сиену

Pavlo Tkachenko aka Dayver
Trustmaster
#18 2012-03-14 17:52
#33535 Moool13:

В page если одновременно открыть в разных вкладках несколько страниц материалов, в которых можно скачать файл, скачать файлы со всех вкладок не получится, а только с последней открытой, в остальных ссылка вида index.php?e=page&c=pg-books&id=139&a=dl преобразуется в index.php?e=page&amp;c=pg-books&amp;id=139. Так же, если в одном материале нажать на ссылку первый раз - все норм, а вот если второй раз (без обновления страницы) - происходит та же ошибка.

Добавлено 21 секунда спустя:

Пример могу продемонстрировать на моем сайте.

Я бы это багом не назвал. Это защита от hotlinking'а, и так уж она реализована, что использует сессии, чтобы удостовериться, что пользователь сначала посетил нужную страницу, и именно с неё скачал файл.

May the Source be with you!
Moool13
#19 2012-03-14 18:21

Это защита от hotlinking'а

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

Trustmaster
#20 2012-03-15 07:22

Теоретически можно, для каждой страницы создавать отдельную переменную сессии. Это сработает, просто в сессии будет каждый раз много "мусора".

May the Source be with you!
Eugene
#21 2012-03-15 19:03
#33543 Dayver:

И всего делов то - правильно пишем плагины под Сиену

Согласен... для меня больше это было новостью, чем багом...

ещё учиться и учиться... )))  Поднимем уровень, сиеноплагинописательства на новые высоты, товарищи!

 

Moool13
#22 2012-03-16 16:56
#33559 Trustmaster:

Теоретически можно, для каждой страницы создавать отдельную переменную сессии. Это сработает, просто в сессии будет каждый раз много "мусора".

А мусор будет мешать работе сайта?

 

Trustmaster
#23 2012-03-16 17:54

Возможно, что и не слишком сильно. В среднем пользователь просматривает всего несколько страниц за сеанс, проблемы могут быть только с краулерами, поддерживающими куки - их сессии будут полны отметок о посещении страниц.

May the Source be with you!
Moool13
#24 2012-03-16 18:17

Это плохо.

Alex300
#25 2012-03-23 06:38

В последней версии сиены появился хук urleditor.rewrite.first позволяющий модулям обрабатывать свое ЧПУ, не описанное в пресетах по-умолчанию. Но код, следующий за ним его "перекрывает", что делает невозмжным использование этого хука.

Сам хук вызывается в функции cot_apply_rwr(), но в силу особенностей php, если мой модуль после обработки ЧПУ не может прервать выполнение этой функции т.к. "return" в приинклуденном файле прерывает выполнение этого самого файла и передает управление назад после вызвавшей его строки.

Предлагаю в этой функции после кода

      /* === Hook === */
		foreach (cot_getextplugins('urleditor.rewrite.first') as $pl)
		{
			include $pl;
		}
		/* ===== */

Добавить проверку необходимости дальнейшей обработки ЧПУ.

Я смог реализовать обработку ЧПУ при помощи хука input. Но правильней все-таки было бы использовать urleditor.rewrite.first

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
McDuck
#26 2012-03-23 11:18

i118n,  Интернационализация структуры ( siena 097) - невозможно перейти на следующую страницу редактирования. Ссылка формируется вроде правильная:

.../index.php?e=i18n&m=structure&l=ru#get;e=i18n&m=structure&l=ru&d=2

Переход на следующую страницу не происходит

Alex300
#27 2012-03-23 12:06

#get;e=i18n&m=structure&l=ru (перед последним парамтром &d=2) - лишняя часть ссылки. Надо бы избавиться.

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
McDuck
#28 2012-03-23 12:46

Alex300 Спасибо, адрес править проще, чем в базе копаться ;)

Trustmaster, прошу пофиксить

P.S. Ссылка формируется  в виде, как написал Алекс, после чего в адресной строке браузера появляется вышеприведенное безобразие. ЧПУ отключены


Bu konu McDuck tarafından düzenlendi(2012-03-23 13:45, 12 yıllar önce)
motor2hg
#29 2012-03-23 13:45

Если написать личное сообщение, отформатировать его по всякому и отослать его например мне. Потом редактировать его. Я лично вижу кашу из тегов и сообщения. Думаю так быть не должно. На форуме ведь такого нет.

Например текст сообщения

Это тестовое сообщение. 

Возле дома,
Где все до одури знакомо,
Где душу греют тополя,
Я присяду,
Я столько лет здесь не был кряду,
Меня барахтала земля

при редактировании превращается

<p> Это тестовое сообщение. </p> <p> <strong>Возле дома</strong>,<br /> Где все до <span style="color:#2f4f4f;">одури знакомо</span>,<br /><span style="background-color:#ffd700;">Где душу греют тополя,</span><br /> Я присяду,<br /> Я столько лет здесь не был кряду,<br /> Меня барахтала земля</p>

 


Bu konu motor2hg tarafından düzenlendi(2012-03-23 13:59, 12 yıllar önce)
Trustmaster
#30 2012-03-23 15:59

Тикеты созданы, всем спасибо за тестирование! Как говорится, Follow us on GitHub!

May the Source be with you!

<<<123>>>