Forums / National / Russian / Тех. поддержка / Запросы документации

<<<1...5...9101112131415>>>

Принимаем вопросы от населения

Moool13
#166 2012-11-05 16:03

cot_rc_link_footer() работает как надо, но, нельзя ли вывести в head? Ведь документ в тегом <link> в body не пройдет валидацию. (лично для меня большого значения это не имеет, но есть люди, которым надо чтоб все правильно было)

This post was edited by Moool13 (2012-11-05 16:11, 11 years ago)
Trustmaster
#167 2012-11-05 17:05

Можно, но с помощью cot_rc_link_file() и не позднее тега header.first. И без дополнительного условия уже не обойтись.

May the Source be with you!
Moool13
#168 2012-11-05 17:23

Ясно, спасибо!

Benderoki
#169 2012-11-25 02:28

Вопрос такой, как можно получить моё мыло(т.е. мыло аккаунта под которым зашел человек). Есть переменная $usr['id'], а есть что-нибудь подобное для мыла? Или где-то её задать можно, пробовал $usr['email'] $usr['item_email'] $usr['mail'] и т.д. Пока на ум приходит только вариант с костылем (делать дополнительный запрос чтоб мыло получитьт. Но мож можно как-то стандартными способами сделать это 

Trustmaster
#170 2012-11-25 06:46
#36334 Benderoki:

Вопрос такой, как можно получить моё мыло(т.е. мыло аккаунта под которым зашел человек). Есть переменная $usr['id'], а есть что-нибудь подобное для мыла? Или где-то её задать можно, пробовал $usr['email'] $usr['item_email'] $usr['mail'] и т.д. Пока на ум приходит только вариант с костылем (делать дополнительный запрос чтоб мыло получитьт. Но мож можно как-то стандартными способами сделать это 

$usr['profile']['user_email']

May the Source be with you!
Moool13
#171 2012-11-26 19:55

Можно ли изменить стандартную ф-ию в теме, не изменяя системных файлов?

Поясню на примере:

Необходимо изменить ф-ю cot_parse_autourls(), при этом не внося изменения в functions.php (думаю понятно почему). Например, переменные можно изменить в теме с помощью $theme_reload.

Macik
#172 2012-11-27 06:24
#36342 Moool13:

Можно ли изменить стандартную ф-ию в теме, не изменяя системных файлов?

нет.

Поясню на примере:

Необходимо изменить ф-ю cot_parse_autourls(), при этом не внося изменения в functions.php (думаю понятно почему). Например, переменные можно изменить в теме с помощью $theme_reload.

В зависимости от того, какая цель стоит.  Возможно есть какой-либо обходной манёвр.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Alex300
#173 2012-11-27 06:30

Однажды определенную функцию php переопределить нельзя.

Однако Вам может помочь хук "parser.last". Он вызывается в самом конце функции cot_parse(). И там Вы можете исправить, например, все ссылки в тексте.

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

В зависимости от того, какая цель стоит.  Возможно есть какой-либо обходной манёвр.

Цель - изменить возвращаемые функцией значения.

Macik
#175 2012-11-27 17:23
#36348 Moool13:

В зависимости от того, какая цель стоит.  Возможно есть какой-либо обходной манёвр.

Цель - изменить возвращаемые функцией значения.

Это понятно. Прямой возможности сделать это нет. Но если рассмотреть задачу шире, имея в виду то, откуда эта функция вызывается и(или) для чего, то вероятнне всего можно найти решение. Как правильно отметил Алекс, одним из таких решений может служить хук "parser.last" или даже свой парсер (хук "parser"), если ф-я используется для содержимого страницы. Если это вызов, например, в коде модуля forum (для формирования какого либо тега), то опять же, можно глянуть ближайший за вызовом функции хук и в нем переопределить переменную, которая была сформирована функцией.

 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Moool13
#176 2012-11-27 19:09

Macik, Alex300, спасибо!

Написал мини-плагин с хуком parser.last, но не обошлось без костыля: ссылки, уже созданные ф-ей cot_parse_autourls(), пришлось обратно парсить в текст. Собственно, тут вопрос, сильно ли повлияет это на производительность?

 

Macik
#177 2012-11-28 08:10
#36350 Moool13:

Macik, Alex300, спасибо!

Написал мини-плагин с хуком parser.last, но не обошлось без костыля: ссылки, уже созданные ф-ей cot_parse_autourls(), пришлось обратно парсить в текст. Собственно, тут вопрос, сильно ли повлияет это на производительность?

 

Все относительно. Поставь метку времени до запуска кода плагина и после и посчитай время выполнения. Если будет не показательно - сделай цикл из 100-1000 этих операций, и посмотри. К тому же замерянное время может не напрямую влиять на производительность если содержимое страницы где-то кешируется.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Moool13
#178 2012-11-29 10:55

Macik, спасибо, попробую.

Macik
#179 2012-12-14 22:34

При формировании форм с методом отправки «Post» движок добавдяет «anti_xss» параметр «x». Вопрос зачем поле input обернуто в «div»?

return '<div style="display:inline;margin:0;padding:0"><input type="hidden" name="x" value="'.$sys['xk'].'" /></div>';

 

Добавлено 10 месяца спустя:

Смотрю в код и не понимаю... и не понимаю, что именно я не понимаю…   :)   Объяните, что это за атавизм?

/**
 * Checks POST anti-XSS parameter
 *
 * @return bool
 */
function cot_check_xp()
{
	return (defined('COT_NO_ANTIXSS') || defined('COT_AUTH')) ?
		($_SERVER['REQUEST_METHOD'] == 'POST') : isset($_POST['x']);
}

Я конечно предполагаю, что подразумевается проверка «подлинности» формы. Но где здесь проверка на корректность самого «X». 
И более того мне не понятно что оно делает в такеом виде в page.admin.php

		cot_check_xp();

 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
This post was edited by Macik (2013-10-04 01:47, 11 years ago)
Dayver
#180 2013-10-04 08:55
#36541 Macik:

При формировании форм с методом отправки «Post» движок добавдяет «anti_xss» параметр «x». Вопрос зачем поле input обернуто в «div»?

return '<div style="display:inline;margin:0;padding:0"><input type="hidden" name="x" value="'.$sys['xk'].'" /></div>';

Кажысь это сделано для так называемой обфускации ... могу путать но вроде так

Добавлено 10 месяца спустя:

Смотрю в код и не понимаю... и не понимаю, что именно я не понимаю…   :)   Объяните, что это за атавизм?

/**
 * Checks POST anti-XSS parameter
 *
 * @return bool
 */
function cot_check_xp()
{
	return (defined('COT_NO_ANTIXSS') || defined('COT_AUTH')) ?
		($_SERVER['REQUEST_METHOD'] == 'POST') : isset($_POST['x']);
}

Я конечно предполагаю, что подразумевается проверка «подлинности» формы. Но где здесь проверка на корректность самого «X». 
И более того мне не понятно что оно делает в такеом виде в page.admin.php

		cot_check_xp();

 

Точно не отвечу но проверка сама по себе происходит тут а в вышеуказанной функции видать уже идет проверка результата проверки в common.php

Pavlo Tkachenko aka Dayver
This post was edited by Dayver (2013-10-04 09:12, 11 years ago)

<<<1...5...9101112131415>>>