Перейти к содержимому


переделка чата для MKP


Сообщений в теме: 163

#21 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 24 September 2011 - 22:59

куда ето двигается поле для вода?О_О ссылку

#22 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 24 September 2011 - 23:44

Просмотр сообщенияСнеговик (24.9.2011, 22:59) писал:

куда ето двигается поле для вода?О_О ссылку

когда через фрейм выводишь или на прямую смотришь тоже самое ]]>http://сайт/index.ph...pchat&op=online]]>

#23 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 25 September 2011 - 00:00

скрин хоть покажите.  у мен никуда не двигается

#24 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 25 September 2011 - 00:26

Просмотр сообщенияСнеговик (25.9.2011, 0:00) писал:

скрин хоть покажите.  у мен никуда не двигается

ой это мой косяк извиняюсь я случайно не там размеры окна удалил вот и ползал у меня он

а вопрос как внедрить ббкоды я воткнул ток они не действуют при нажатии вот мой кусок кода

$bbeditor= $mklib->get_commentbbeditor();
$autoreid = $mkportals->member['id'];
if (!$autoreid) {
		$submit="Зарегестрируйтесь или авторизируйтесь для отправки сообщения";
		} else {
		$submit="<form id=\"t-box\" action=\"?\" style=\"\">
  $bbeditor
  <input type=\"text\"  class='msg' style=\"width:500px;\" >
  <input  type=\"submit\" value=\"Отправить\" style=\"margin-top:5px;\">
</form>";
		}
$output .="
<div id=\"msg-box\">
  <ul>
  </ul>
</div>
<div><center>$submit</center></div>
</td></tr>";
	$blocks .= $Skin->view_block("ЧАТ", $output);
	$mklib->printpage("1", "1", "Чат", $blocks);

Сообщение отредактировал xeon: 25 September 2011 - 00:27


#25 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 25 September 2011 - 00:30

замени

$submit="<form id=\"t-box\" action=\"?\" style=\"\">
  Имя: <input type=\"text\" class='name' value=\"$autore\" style=\"width:100px;\" >
  <input type=\"text\" class='msg' style=\"width:500px;\" >
  <input type=\"submit\" value=\"Отправить\" style=\"margin-top:5px;\">
</form>";

на

$submit="<form id=\"t-box\" name=\"editor\" action=\"?\" style=\"\">
  Имя: <input type=\"text\" class='name' value=\"$autore\" style=\"width:100px;\" >
<input type=\"text\" class='msg' name=\"ta\" style=\"width:500px;\" ><a id=\"cont\" OnClick=\"SwitchMenu('sm')\"><img  src=\"" .  "/mkportal/editor/bbeditor/images/smaile.png\"></a>
  <input type=\"submit\" value=\"Отправить\" style=\"margin-top:5px;\">
<div id=\"sm\" style=\"display:none;\">
<iframe src=\"$mklib->siteurl/index.php?ind=urlobox&op=show_emoticons\" width=\"100\" height=\"200\" scrolling=\"auto\"></iframe>
</div>
</form>";
в двух местах

и замени
   while($row = $DB->fetch_row($res)){
		//Заносим сообщения в массив
		$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "msg"=>$row['text']);
	  }
	}

на

 while($row = $DB->fetch_row($res)){
		//Заносим сообщения в массив
	$text=$mklib_board->decode_smilies($row['text']);			
				
		
		$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "msg"=>$text);
	  }
	}

у меня работает

Сообщение отредактировал Снеговик: 25 September 2011 - 00:32


#26 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 25 September 2011 - 00:36

чёт у меня модуль отрубило сообщения не показывает

вылетает как заменяю вот это

$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "msg"=>$row['text']);

Сообщение отредактировал xeon: 25 September 2011 - 00:42


#27 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 25 September 2011 - 00:43

Просмотр сообщенияxeon (25.9.2011, 0:36) писал:

чёт у меня модуль отрубило сообщения не показывает

ах да совсем забыл

везде замените $Skin,$MK_BOARD;   на  $Skin,$MK_BOARD,$mklib_board;

#28 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 25 September 2011 - 00:49

ну что?

#29 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 25 September 2011 - 00:53

Просмотр сообщенияСнеговик (25.9.2011, 0:49) писал:

ну что?

во теперь пашет пойду доделаю удаление сообщений потом цветом групп займусь

#30 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 26 September 2011 - 19:41

Снеговик помоги не могу вообще сделать удаление лишних сообщений с настройкой прав доступа к удалению разрешения на группы  админ дефолтно модер или ещё какие нибудь  как в стандартном порталовском замучился уже это делать

вот как пока выглядит всё что сделал цветом групп не занимался как мучился с удалением
Снимок.PNG

Сообщение отредактировал xeon: 26 September 2011 - 19:45


#31 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 26 September 2011 - 22:23

ну чтож пробуйте:


находим
case 'chat':
$this->chat();
break;
ниже добаляем
case 'delete':
					$this->delete();
				break;




находим
$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "msg"=>$text);
меняем на

if($mkportals->member['g_access_cp']) {
$dell = "<a href=\"#\" onclick=\"del_chat('{$row['id']}'); return false;\"><img style=\"\" src=\"/mkportal/modules/mkpchat/del.png\" border=0 alt=\"del\"></a>";
		}else {$dell=""; }
				
				
		
		$msg[] = array("id"=>$row['id'], "name"=>$row['name'], "msg"=>$text, "del"=>$dell);



находим
function chat() {

выше добавляем функцию удаления смс

function delete() {
		global $mkportals, $DB, $mklib, $Skin,$MK_BOARD,$mklib_board;
	

		$id = intval($mkportals->input['id']);
		$DB->query("DELETE FROM chat WHERE id = $id");
$DB->close_db();
	}

обязательно замените

if (!$autoreid) {
		$submit="Зарегестрируйтесь или авторизируйтесь для отправки сообщения";
		} else {
		$submit="<form id=\"t-box\" action=\"?\" style=\"\">
  Имя: <input type=\"text\" class='name' value=\"$autore\" style=\"width:100px;\" >
  <input type=\"text\" class='msg' style=\"width:500px;\" >
  <input type=\"submit\" value=\"Отправить\" style=\"margin-top:5px;\">
</form>";
		}
$output .="
<div id=\"msg-box\">
  <ul>
  </ul>
</div>
<div>
$submit</div>
</table></td></tr>";

на

if (!$autoreid) {
		$submit="Зарегестрируйтесь или авторизируйтесь для отправки сообщения"; $none ="style=\"display: none;\" ";
		} else {
		$submit="";  
		}
$output .="
<div id=\"msg-box\">
  <ul  >
  </ul>
</div>
$submit
<div $none ><form id=\"t-box\" name=\"editor\" action=\"?\" style=\"\">
<div id=\"btn_smile\">
Смайлы
<div id=\"opensmile\">
$smile
</div></div>

  Имя: <input type=\"text\" class='name' value=\"$autore\" style=\"width:100px;\" >
<input type=\"text\" class='msg' name=\"message\" style=\"width:500px;\" >
<input type=\"submit\" value=\"Отправить\" style=\"margin-top:5px;\">
</form></div>
</table></td></tr>";

и соответсвенно в функции online аналогично

if (!$autoreid) {
		$submit="Зарегестрируйтесь или авторизируйтесь для отправки сообщения";
		} else {
		$submit="<form id=\"t-box\" action=\"?\" style=\"\">
  Имя: <input type=\"text\" class='name' value=\"$autore\" style=\"width:100px;\" >
  <input type=\"text\" class='msg' style=\"width:500px;\" >
  <input type=\"submit\" value=\"Отправить\" style=\"margin-top:5px;\">
</form>";
		}
echo "
<div id=\"msg-box\">
  <ul>
  </ul>
</div>
<div>
$submit</div>
</table></td></tr>";

заменить на

if (!$autoreid) {
		$submit="Зарегестрируйтесь или авторизируйтесь для отправки сообщения"; $none ="style=\"display: none;\" ";
		} else {
		$submit="";  
		}
echo "
<div id=\"msg-box\">
  <ul  >
  </ul>
</div>
$submit
<div $none ><form id=\"t-box\" name=\"editor\" action=\"?\" style=\"\">
<div id=\"btn_smile\">
Смайлы
<div id=\"opensmile\">
$smile
</div></div>

  Имя: <input type=\"text\" class='name' value=\"$autore\" style=\"width:100px;\" >
<input type=\"text\" class='msg' name=\"message\" style=\"width:500px;\" >
<input type=\"submit\" value=\"Отправить\" style=\"margin-top:5px;\">
</form></div>
</table></td></tr>";

иначе  у  гостей зашедших в модуль чата небудут обновлятся сообщения.
заменяем имеющийся sc.js на этот скачать

вроде все.

единственно что без перезагрузки страницы пропадет удаленное смс только у того кто его удали  (((, у всех остальных оно пропадет после обновления страницы.


картинка  для ссылки на удаление del.png положить в папку с чатом

Сообщение отредактировал Снеговик: 27 September 2011 - 14:08


#32 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 28 September 2011 - 17:45

Просмотр сообщенияСнеговик (26.9.2011, 22:23) писал:

единственно что без перезагрузки страницы пропадет удаленное смс только у того кто его удали  (((, у всех остальных оно пропадет после обновления страницы.

я попробую сделать с другом чтоб он обновлял чат после удаления это скорее и за javascripta

слушай и ещё возникла проблема с кодировкой ср1251 после установки удаления сообщений вот чат в кодировке в виновской всё перевел в ср1251 и бд и модуль и js и сами страницы со скриптами и результат 0  версия портала R1.0.1 и форум ipb 2.3.6

Снимок2.PNG

#33 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 28 September 2011 - 17:53

Просмотр сообщенияxeon (28.9.2011, 17:45) писал:

я попробую сделать с другом чтоб он обновлял чат после удаления это скорее и за javascripta

ну попробуйте))  сделать ето не проблема.

по умолчанию при авто обновлении чата выводится только новое сообщение.

чтобы удаленных смс небыло видно у простых пользователей необходимо поправить чтобы при авто обновлении выводило не  новое добавленное сообщение а все сообщения из бд.


по кодировке если использовал utf версию то необхоимо перекачать версию для кирилицы и внести изменения.

#34 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 28 September 2011 - 18:35

Просмотр сообщенияСнеговик (28.9.2011, 17:53) писал:

ну попробуйте))  сделать ето не проблема.

по умолчанию при авто обновлении чата выводится только новое сообщение.

чтобы удаленных смс небыло видно у простых пользователей необходимо поправить чтобы при авто обновлении выводило не  новое добавленное сообщение а все сообщения из бд.


по кодировке если использовал utf версию то необхоимо перекачать версию для кирилицы и внести изменения.

проблема с кодировкой осталась не знаю уже что делать

#35 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 28 September 2011 - 19:50

бд какой кодировки?
в таблице кирилицей записаны сообщения?

#36 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 28 September 2011 - 20:06

Просмотр сообщенияСнеговик (28.9.2011, 19:50) писал:

бд какой кодировки?
в таблице кирилицей записаны сообщения?

сp1251_general_ci это бд
в таблице старые сообщения записаны кириллицей  вот новые когда через чат добавляется  или через бд то выводит одни знаки (????)

#37 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 28 September 2011 - 20:24

Просмотр сообщенияxeon (28.9.2011, 20:06) писал:

сp1251_general_ci это бд
в таблице старые сообщения записаны кириллицей  вот новые когда через чат добавляется  или через бд то выводит одни знаки (????)

сообщения в какой кодировки записываются в бд?

index.php модуля в студию

#38 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 28 September 2011 - 20:32

Просмотр сообщенияСнеговик (28.9.2011, 20:24) писал:

сообщения в какой кодировки записываются в бд?

index.php модуля в студию

сообщения не пишут в бд ток ник

Прикрепленный файл  index.zip   2.76К   142 Количество загрузок:

Сообщение отредактировал xeon: 28 September 2011 - 20:33


#39 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 28 September 2011 - 20:41

$name = iconv("cp1251", "{$mklib->charset}", $name);
$msg = iconv("cp1251", "{$mklib->charset}", $msg);

это кто придумал????

данные передаются аяксом только в utf-8, для тех  у кого иная кодировка я добавил  

$name = iconv("UTF-8", "{$mklib->charset}", $name);
		$msg = iconv("UTF-8", "{$mklib->charset}", $msg);

это менять не стоило

#40 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 28 September 2011 - 20:47

Просмотр сообщенияСнеговик (28.9.2011, 20:41) писал:

$name = iconv("cp1251", "{$mklib->charset}", $name);
$msg = iconv("cp1251", "{$mklib->charset}", $msg);

это кто придумал????

данные передаются аяксом только в utf-8, для тех  у кого иная кодировка я добавил  

$name = iconv("UTF-8", "{$mklib->charset}", $name);
		$msg = iconv("UTF-8", "{$mklib->charset}", $msg);

это менять не стоило

исправил но  раньше все русские буквы отображались знаками (????) а теперь пустота пишет он отправляет но нечего невидно в бд поле текст пусто



Ответить



  


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных