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

<<<1...5...1011121314151617>>>

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

Kabak
#196 05.11.2013 20:29

Кто-нибудь подскажет, каким образом при сохранении настроек плагина - нажатии админом кнопки обновить проверять валидность полей ? Я прошу хотябы разъяснения, есть ли в Cotonti такая возможность без написания дополнительных плагинов, или как это реализовать в собственном плагине ? Я прошерстил почти все плагины из базовой поставки и везде уверены что "человеки" не ошибаются. :)  Каким образом или на какой hook подвешивать проверку при нажатии админом кнопки "обновить" в админпанели ?

bbcont
#197 06.11.2013 02:16
 $token = sed_unique(16);
        $sid 

Объясните пожалуйста что такое и как они формируются, что касаемо запросов, то они у меня выдают всю необходимую информацию, у меня видемо версия старая, и sidtime у меня нет, а что должно быть вместо него не пойму

Added 2 hours later:

как формируется поле user_auth  в таблице юсерс? щас сравнивал регистрацию с новым кодом и старым, все формируется идентично, только user_auth не заполняется, не могу найти вообще где оно формируется, его значение - a:12:{s:5:"admin";a:1:{s:1:"a";i:0;}s:8:"comments"....

Пользователь так и не авторизуется после регистарции, хотя все поля в БД записываются и  $_SESSION[$sys['site_id']] = $u1;  тоже отрабатывает успешно


Відредаговано: bbcont (06.11.2013 04:14, 10 років тому)
Sergey
#198 06.11.2013 07:51

Я могу дать один дельный совет: установите отладчик CodeLobster PHP Edition http://www.codelobster.com/  он бесплатен, работает на локалке  и в нем прекрасно видно как меняются значение переменных

www.cotonti.mobi
Kabak
#199 06.11.2013 09:12

Добрый день ещё раз.

Подскажите пожалуйста, при обращении к функции cot_generate_usertags

 вот таким вот образом:

$sql = $db->query("SELECT * FROM $db_users WHERE user_id=1 LIMIT 1");
cot_die($sql->rowCount()==0);
$urr = $sql->fetch();
       
$temp->assign(cot_generate_usertags($urr, 'UM_ROW_', '', true));

Я получаю ошибку :

Fatal error: Call to undefined function cot_build_groupsms() in Z:\home\cotonti\www\system\functions.php on line 1999

в functions.php функции  cot_build_groupsms()  нет, есть только её вызов в строке 1999  в которой и происходит ошибка.

где описана cot_build_groupsms() и как её правильно подключить к моему плагину ?

Добавлено 13 минуты спустя:

#38343 Sergey:

Я могу дать один дельный совет: установите отладчик CodeLobster PHP Edition http://www.codelobster.com/  он бесплатен, работает на локалке  и в нем прекрасно видно как меняются значение переменных

Каким образом вы отлаживаете плагины под Cotonti в этом отладчике?


Відредаговано: Kabak (06.11.2013 09:46, 10 років тому)
Trustmaster
#200 06.11.2013 10:08

Вам нужно подключить модуль users через зависимости в своем модуле/плагине:

require_once cot_incfile('users', 'module');

 

Добавлено 2 минуты спустя:

#38341 Kabak:

Кто-нибудь подскажет, каким образом при сохранении настроек плагина - нажатии админом кнопки обновить проверять валидность полей ? Я прошу хотябы разъяснения, есть ли в Cotonti такая возможность без написания дополнительных плагинов, или как это реализовать в собственном плагине ? Я прошерстил почти все плагины из базовой поставки и везде уверены что "человеки" не ошибаются. :)  Каким образом или на какой hook подвешивать проверку при нажатии админом кнопки "обновить" в админпанели ?

В admin.config.php есть хук admin.config.edit.first, правда придётся немного исхитриться, чтобы сделать в нём проверку. Со времён LDU считалось, что админ не дурак и не враг :)

May the Source be with you!
Sergey
#201 06.11.2013 10:38

Что уж проще. Загружаем сервер WAMP. Грузим лобстер. В начале загружаем тот файл с которого надо смотреть (отлаживать), потом по F8 набираем сайт в локалке, у меня это http://localhost/www.cot625v8.ru/ далее ставим точку останова на той строки, с которой начиннаем отладку, потом F5 (крайний левый треугольник) ждем когда дойдет до точки останова, а потом по шагово, как нравится, с заходом в функцию или нет. В Виде устанавливаем окно переменных и смотрим. Но можно еще и документацию перед этим прочитать  Прямоугольники это остановы  или прекращения отладки

www.cotonti.mobi
Kabak
#202 06.11.2013 11:06

А с Denwer поможете настроить ? Я почитал на этом сайте  как пользоваться встроенной отладкой.  Я пользуюсь NetBeans. Но что-то не разобрался как настроить NetBeans чтобы отлаживать и пошагово ходить по Cotonti

bbcont
#203 06.11.2013 11:14
#38343 Sergey:

Я могу дать один дельный совет: установите отладчик CodeLobster PHP Edition http://www.codelobster.com/  он бесплатен, работает на локалке  и в нем прекрасно видно как меняются значение переменных

это да, хорошая штука, но я не пойму сам механизм формирования переменных

Added 9 minutes later:

А именно как получить и смысл переменных:

$rremember

$sid

$token

с остальными вроде все ясно

 


Відредаговано: bbcont (06.11.2013 11:23, 10 років тому)
Sergey
#204 06.11.2013 11:35
#38349 bbcont:

А именно как получить и смысл переменных:

Смысл? В этом и заключается искусство программирования. Надо уметь читать мысль в программе. 

www.cotonti.mobi
bbcont
#205 06.11.2013 11:43
#38351 Sergey:
#38349 bbcont:

А именно как получить и смысл переменных:

Смысл? В этом и заключается искусство программирования. Надо уметь читать мысль в программе. 

а по теме, в чем же смысл?

Sergey
#206 06.11.2013 11:57

. В этот раз рассмотрим обработчик сессии, хранящий данные в базе данных. http://club.shelek.ru/viewart.php?id=267  и http://php.ru/forum/viewtopic.php?t=15658 а так, надо самому.

www.cotonti.mobi
Kabak
#207 10.11.2013 08:44

Добрый день, подскажите есть ли в Cotonti какая-то система глобальных переменных по определению назначения кнопок в админке и если да, как она работает ? Тэги и их соответствие действиям при нажатии и т.д. Или всё определяется и формируется каждым плагином отдельно ?  Вот например, в списке пользователей можно нажать на "стрелки" и отсортировать списки пользователей по имени и т.д.  Меня интересует именно описание кнопки - её действие и куда кидает движок при нажатии на кнопку. Как это формируется в ядре и определяется ?


Відредаговано: Kabak (10.11.2013 11:23, 10 років тому)
Trustmaster
#208 10.11.2013 16:21

В админке есть такая конвенция по GET-параметрам:

  • m - модуль или режим верхнего уровня, например 'page' или 'config';
  • n - субмодуль (используется иногда);
  • a - действие, например 'send' или 'edit';
  • b - действие второго уровня (используется редко);
  • d - номер страницы или отступ в паджинации;
  • s - поле соритовки;
  • w - направление сортировки.

Насильно ни один из них не насаждается, поскольку в Cotonti нет понятия маршрутов и жесткого роутинга, по сути это просто GET-параметры

May the Source be with you!
Kabak
#209 10.11.2013 19:19

Например :  в users.edit.php есть проверка

	$ruserdelete = cot_import('ruserdelete','P','BOL');
	if ($ruserdelete)...

Где происходит привязка 'ruserdelete' к конкретному полю - тегу {USERS_EDIT_DELETE} в users.edit.tpl ?  т.е.  где определено что 'ruserdelete' получает значение тэга {USERS_EDIT_DELETE} ?

Добавлено 17 минуты спустя:

При редактировании данных пользователя админом, вверху есть ссылка например : Пользователи / 1111   [ Правка ] и тексту "правка" соответствует конкретная ссылка - например: http://www.cotonti.com/index.php?e=users&m=edit&id=9  с заполненными переменными 'e', 'm' и т.д. Всё понятно, но механизм формирования этих ссылок можно расписать ? Или опять же сам писатель плагина/модуля формирует подобный запрос  для системы - привязку запроса к ссылке отображаемой на странице и нет конкретных правил для подобных запросов?


Відредаговано: Kabak (10.11.2013 19:46, 10 років тому)
Trustmaster
#210 11.11.2013 06:25

Ссылки формируются с помощью функции cot_url() а поля форм при помощи Forms API (system/form.php), обычно в tags-части того или иного скрипта. Например, открываем users.edit.php, видим там ближе к концу файла:

$t->assign(array(
	// ...
	'USERS_EDIT_DELETE' => ($sys['user_istopadmin']) ? cot_radiobox(0, 'ruserdelete', array(1, 0), array($L['Yes'], $L['No'])) . $delete_pfs : $L['na'],
));

 

May the Source be with you!

<<<1...5...1011121314151617>>>