<?php class p_usermaps_photo extends cmsPlugin { public function __construct() { parent::__construct(); $this->info['plugin'] = 'p_userchat_av'; $this->info['title'] = 'Чат с миром'; $this->info['description'] = 'Позволяет общаться в чате непосредственно в вертуальном мире'; $this->info['author'] = ''; $this->info['version'] = '1.0'; $this->events[] = 'USER_LOGIN'; } public function execute($event, $item) { parent::execute(); switch ($event) { case 'USER_LOGIN': / / USERID $ _SESSION ['Avatarchat_uid'] = 'your_userid; / / USERNAME $ _SESSION ['Avatarchat_nickname'] = 'ваш_логин; / / ПОЛ - ввести 1 мужчины, 2 женщины $ _SESSION ['Avatarchat_gender'] = '1 '; / / ЧЛЕНОВ LEVEL - ввести 1 администратора и модов OR 0 постоянных членов $ _SESSION ['Avatarchat_userlevel'] = '0 ' break; } return; } public function execute($event, $item) { parent::execute(); switch ($event) { case 'USER_LOGOUT': / / USERID $ _SESSION ['Avatarchat_uid'] = 'your_userid; / / USERNAME $ _SESSION ['Avatarchat_nickname'] = 'ваш_логин; / / ПОЛ - ввести 1 мужчины, 2 женщины $ _SESSION ['Avatarchat_gender'] = '1 '; / / ЧЛЕНОВ LEVEL - ввести 1 администратора и модов OR 0 постоянных членов $ _SESSION ['Avatarchat_userlevel'] = '0 ' break; } return; }
Плагин не ставится
ЕСТЬ РЕШЕНИЕ
ЗАКРЫТО
#1
4 июня 2012 в 15:29
Что я сделал неправильно, что Плагин не ставится, подскажите плз…
#2
4 июня 2012 в 15:32
class p_usermaps_photo
$this->info['plugin'] = 'p_userchat_av';
что-то одно выберите, названия должны быть одинаковыми
$this->info['plugin'] = 'p_userchat_av';
что-то одно выберите, названия должны быть одинаковыми
#3
4 июня 2012 в 15:41
не в этом дело! все изменил! один хрен не идет!
Сегодня в 21:20
#4
4 июня 2012 в 15:44
Arioh, и в этом тоже дело
а может просто включить показ ошибок и посмотреть на что админка ругается?
две функции с таким названием — это специально?
public function execute($event, $item)
а может просто включить показ ошибок и посмотреть на что админка ругается?
две функции с таким названием — это специально?
public function execute($event, $item)
#5
4 июня 2012 в 15:46
Arioh, тут вообще код криво смотрится
могу предложить его без тега <code> опубликовать, тег убивает читабельность в данном случае
могу предложить его без тега <code> опубликовать, тег убивает читабельность в данном случае
#6
4 июня 2012 в 15:49
// ==================================================================== // /** * Процедура установки плагина * @return bool */ public function install(){ return parent::install(); } // ==================================================================== // /** * Процедура обновления плагина * @return bool */ public function upgrade(){ return parent::upgrade(); } // ==================================================================== // /** * Обработка событий * @param string $event * @param mixed $item * @return mixed */ public function execute($event, $item){
так помогите, нужно сделать интеграцию.
"Интеграция с пользовательскими базами данных будет интегрироваться с любой пользовательской базы данных. Вам понадобится знание содержания системы, чтобы сделать это. Для интеграции Вы должны быть в состоянии присвоить следующие значения ниже"
"Интеграция с пользовательскими базами данных будет интегрироваться с любой пользовательской базы данных. Вам понадобится знание содержания системы, чтобы сделать это. Для интеграции Вы должны быть в состоянии присвоить следующие значения ниже"
// USERID $_SESSION['avatarchat_uid'] = 'your_userid'; // USERNAME $_SESSION['avatarchat_nickname'] = 'your_username'; // GENDER - enter 1 male, 2 female $_SESSION['avatarchat_gender'] = '1'; // MEMBER LEVEL - enter 1 admin and mods OR 0 regular members $_SESSION['avatarchat_userlevel'] = '0';
#8
4 июня 2012 в 17:49
Пробовал так! также не пошло:
что неправильно делаю?
что неправильно делаю?
<?php class p_avatarchat extends cmsPlugin { public function __construct() { parent::__construct(); $this->info['plugin'] = 'p_avatarchat'; $this->info['title'] = 'Чат с миром'; $this->info['description'] = 'Позволяет общаться в чате непосредственно в вертуальном мире'; $this->info['author'] = ''; $this->info['version'] = '1.0'; $this->events[] = 'USER_LOGIN'; } // ==================================================================== // /** * Процедура установки плагина * @return bool */ public function install(){ return parent::install(); } // ==================================================================== // /** * Процедура обновления плагина * @return bool */ public function upgrade(){ return parent::upgrade(); } // ==================================================================== // /** * Обработка событий * @param string $event * @param mixed $item * @return mixed */ public function execute($event, $item){ parent::execute(); switch ($event) { case 'USER_LOGOUT': $_SESSION['avatarchat_uid'] = 'your_userid'; $_SESSION['avatarchat_nickname'] = 'your_username'; $_SESSION['avatarchat_gender'] = '1'; $_SESSION['avatarchat_userlevel'] = '0'; case 'USER_LOGIN': $_SESSION['avatarchat_uid'] = 'your_userid'; $_SESSION['avatarchat_nickname'] = 'your_username'; $_SESSION['avatarchat_gender'] = '1'; $_SESSION['avatarchat_userlevel'] = '0'; } return; ?>
#9
4 июня 2012 в 18:49
Заметил несколько ошибок.
1.Обрабатываются 2 события ('USER_LOGIN', 'USER_LOGOUT'). А в отлавливаемых показали только одно:
Нужно ещё добавить
Посмотрите в компоненте регистрация, на самом деле есть ли эти события.
2.Критично. Если плагин получает $item, то наверно должен и возвращать его обратно. А у вас стоит просто return;. Нужно return $item; Даже если ничего и не делаете с этим $item.
3. Некритично. Хотя это и необязательно по документации, но хороший тон ставить break; в конструкции switch-case
Это на беглый взгляд. Возможно есть ещё что-то. Надеюсь сам код запихнули в файл plugin.php. И на время отладки сделайте вывод ошибок. Это поможет. Если не получается, подробнее опишите, что хотите сделать и что именно не получается.
1.Обрабатываются 2 события ('USER_LOGIN', 'USER_LOGOUT'). А в отлавливаемых показали только одно:
$this->events[] = 'USER_LOGIN';
$this->events[] = 'USER_LOGOUT';
2.Критично. Если плагин получает $item, то наверно должен и возвращать его обратно. А у вас стоит просто return;. Нужно return $item; Даже если ничего и не делаете с этим $item.
3. Некритично. Хотя это и необязательно по документации, но хороший тон ставить break; в конструкции switch-case
Это на беглый взгляд. Возможно есть ещё что-то. Надеюсь сам код запихнули в файл plugin.php. И на время отладки сделайте вывод ошибок. Это поможет. Если не получается, подробнее опишите, что хотите сделать и что именно не получается.
#10
4 июня 2012 в 18:55
Да ещё. Проверьте открывающие и закрывающие скобки "{}". Не вижу закрывающие скобки самого класса и функции execute(). Конечно же return $item; должен быть внутри блока функции execute().
#11
4 июня 2012 в 19:51
ооо спс… плагин стал! но только после этого эфектов никаких! смысл был! есть чат avatarchat, хотел чтобы при входе на него люди заходили без регистрации!
#12
5 июня 2012 в 00:08
Да эффекта не будет. Вы присваиваете сессионной переменной простое строковое значение 'your_userid', которое будет одинаковое для всех пользователей. Я так полагаю, надо вставлять id пользователя инстанта. Также и другие поля.но только после этого эфектов никаких!
И как происходит авторизация на чате? Только по $_SESSION['avatarchat_uid']? Без пароля? Регистрация как? Чат работает на вашем сервере? Каков механизм авторизации? В общем, куча вопросов, без которых невозможно дать точный ответ как сделать.
Когда то делал интеграцию стороннего чата с инстантом, можно посмотреть по ссылке. Только в виде модуля. Там при загрузке чата берутся данные пользователя инстанта с сессии и далее по ним производится авторизация на сайте. Не очень сложно, но нужно ковыряться в файлах самого чата.
#13
5 июня 2012 в 10:27
есть скрипт чата avatarchat.prochatrooms.com/
скрипт находится у меня на хосте, пользуется одной базой с инстантом…
комментарий скрипта:
"Интеграция с пользовательскими базами данных будет интегрироваться с любой пользовательской базы данных. Вам понадобится знание содержания системы, чтобы сделать это. Для интеграции Вы должны быть в состоянии присвоить следующие значения ниже"
Код PHP:
01
// USERID
02
$_SESSION['avatarchat_uid'] = 'your_userid';
03
04
// USERNAME
05
$_SESSION['avatarchat_nickname'] = 'your_username';
06
07
// GENDER — enter 1 male, 2 female
08
$_SESSION['avatarchat_gender'] = '1';
09
10
// MEMBER LEVEL — enter 1 admin and mods OR 0 regular members
11
$_SESSION['avatarchat_userlevel'] = '0';
скрипт находится у меня на хосте, пользуется одной базой с инстантом…
комментарий скрипта:
"Интеграция с пользовательскими базами данных будет интегрироваться с любой пользовательской базы данных. Вам понадобится знание содержания системы, чтобы сделать это. Для интеграции Вы должны быть в состоянии присвоить следующие значения ниже"
Код PHP:
01
// USERID
02
$_SESSION['avatarchat_uid'] = 'your_userid';
03
04
// USERNAME
05
$_SESSION['avatarchat_nickname'] = 'your_username';
06
07
// GENDER — enter 1 male, 2 female
08
$_SESSION['avatarchat_gender'] = '1';
09
10
// MEMBER LEVEL — enter 1 admin and mods OR 0 regular members
11
$_SESSION['avatarchat_userlevel'] = '0';
#14
5 июня 2012 в 10:34
$_SESSION['avatarchat_uid'] = 'your_userid';
$_SESSION['avatarchat_nickname'] = 'your_username';
вы чересчур буквально поняли инструкцию, присваивать то нужно не эти слова(your_userid и your_username) — а реальные значения id и login.
#15
5 июня 2012 в 10:47
боюсь спросит! какие значения выводит instant чтобы уже точно!