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

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

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

Moool13
#166 05.11.2012 16:03

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


Відредаговано: Moool13 (05.11.2012 16:11, 12 років тому)
Trustmaster
#167 05.11.2012 17:05

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

May the Source be with you!
Moool13
#168 05.11.2012 17:23

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

Benderoki
#169 25.11.2012 02:28

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

Trustmaster
#170 25.11.2012 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 26.11.2012 19:55

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

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

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

Macik
#172 27.11.2012 06:24
#36342 Moool13:

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

нет.

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

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

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

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

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

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

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

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

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

Macik
#175 27.11.2012 17:23
#36348 Moool13:

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

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

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

 

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

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

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

 

Macik
#177 28.11.2012 08:10
#36350 Moool13:

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

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

 

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

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

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

Macik
#179 14.12.2012 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

Відредаговано: Macik (04.10.2013 01:47, 11 років тому)
Dayver
#180 04.10.2013 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

Відредаговано: Dayver (04.10.2013 09:12, 11 років тому)

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