Перейти к контенту

[2.1.x]Быстрый ответ и авторизация для Lo-Fi версии


Рекомендуемые сообщения

спасибо за мод ;)

только есть маленькая проблема..после быстрого ответа инажатия на кнопку отправить выдает 404 Not Found

но камент добавляет :D подскажите плиз что сделать.

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 52
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

  • 2 месяца спустя...
А можно в Текстовой версии сделать так чтобы отображалось кто ответил последним и когда... Заранее большое спасибо...

+1. Этого очень и очень не хватает :D... Занимался кто-нибудь этим вопросом?

Ссылка на комментарий
Поделиться на других сайтах

А можете выложить инструкцию по установке в каком-нибудь другом вормате (ворд или блокнот, главное чтоб в другом)? А то этот открываю а мне иероглифы показывают.

Видимо с кодировкой у меня что-то :D

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
  • 2 недели спустя...
  • 2 недели спустя...
  • 2 недели спустя...

Всё работает,только отправляшь повторно сообщение, он вписывается в предыдущий пост,можно это как-то исправить?

Для IPB 2.2.2 всё норма!А как сделать,чтобы после отправки сообщения,переход шёл к последнему написаному посту(так же как и в полной версии форума),а не к началу страницы?

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
  • 1 месяц спустя...
  • 2 месяца спустя...
Кстати, всё забывал написать. Я прикрутил к ответу в Lo-Fi редактор TinyMCE (свою лайт версию), теперь и ббкоды и richtext работают ;)

 

Поделишься? :D

jair2000@mail.ru

 

Всё работает,только отправляшь повторно сообщение, он вписывается в предыдущий пост,можно это как-то исправить?

Для IPB 2.2.2 всё норма!А как сделать,чтобы после отправки сообщения,переход шёл к последнему написаному посту(так же как и в полной версии форума),а не к началу страницы?

 

+1

Очень желательно

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
скажите, а как-то можно сделать что бы темы юзер мог создавать из лофиверсии? а не только ответы. спасибо
Ссылка на комментарий
Поделиться на других сайтах

А можно в Текстовой версии сделать так чтобы отображалось кто ответил последним и когда... Заранее большое спасибо...

+1. Этого очень и очень не хватает :D... Занимался кто-нибудь этим вопросом?

+1 и этого тоже не хватает...

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...

Я нашла Новую тему, но для 2.2

Хотела ссылку дать на оригинал - искала на форуме - потерялась :D

Поэтому просто вставляю код. Может быть с передлками или даже так подойдет для других версий. Не знаю.

 

+---------------------------------------------------------------------------------
|   New topic in Lo-Fi version for Invision Power Board v2.2.x - 2.3.x
|   =============================================
|   http://www.ibresource.ru
|   =============================================
+----------------------------------------------------------------------------------
|
|   > Создание новой темы в Lo-Fi версии
|   > by Master aka Ruslan
|   > (c) 2007 ibresource (http://www.ibresource.ru/)
|
+----------------------------------------------------------------------------------
//------------------------------------------//
//  Изменяемые файлы
//------------------------------------------//
./lofiversion/index.php
./lofiversion/lofi_skin.php
./sources/classes/post/class_post_new.php

//------------------------------------------//
//  ./cache/lang_cache/*/lang_global.php
//------------------------------------------//
+--------------
| Найти:
+--------------

$lang = array (

+----------------
| Добавить после:
+----------------

//Master: lo-fi adds
'topic_title'					=> "Название темы:",
'topic_content'					=> "Содержимое темы:",
'new_topic'					=> "Создать тему",
'process_new_topic'				=> "Создание новой темы",

//------------------------------------------//
//  ./lofiversion/lofiskin.php
//------------------------------------------//

+--------------
| Найти:
+--------------

function LOFISKIN_pages($pages="") {
global $ipsclass;
return <<<EOF
<div class='ipbpagespan'>
{$ipsclass->lang['lofi_please']} $pages
</div>
EOF;
}

+----------------
| Добавить после:
+----------------

function LOFISKIN_new_topic($data) {
global $ipsclass;
return <<<EOF
<script type="text/javascript">
<!--
function sendform()
{
if ( (document.forms[0].TopicTitle.value == null) || (document.forms[0].TopicTitle.value.length<3) )
{
	alert('Вы должны ввести название темы, более двух символов');
	document.REPLIER.TopicTitle.focus();
	return false;		
}
 return true;
}
//--> 
</script>
<form name="REPLIER" action="{$ipsclass->base_url}" method="post" onsubmit="return sendform();">
<input type="hidden" name="act" value="Post" />
<input type="hidden" name="CODE" value="01" />
<input type="hidden" name="f" value="{$data['forum_id']}" />
<input type="hidden" name="auth_key" value="{$data['key']}" />
<input type="hidden" name="lofi_topic_used" value="1" />
	<div align="center">
		{$ipsclass->lang['topic_title']}
		<br />
		<input name="TopicTitle" size="50" maxlength="150" />
		<br />
		{$ipsclass->lang['topic_content']}
		<br />
		<textarea cols="70" rows="8" name="Post" class="textarea" tabindex="1"></textarea>
		<br /><br />
		<input type="submit" name="submit" value="{$ipsclass->lang['new_topic']}" class="button" tabindex="2" accesskey="s" />
	</div>
</form>
EOF;
}

//------------------------------------------//
//  ./lofiversion/index.php
//------------------------------------------//
+----------------
| Найти:
+----------------
if ( preg_match( "#f\d#", $main_string ) )
{
$action = 'forum';
$id	= intval( preg_replace( "#f(\d+)#", "\\1", $main_string ) );
}

+----------------
| Добавить после:
+----------------

if ( preg_match( "#new_topic\d#", $main_string ) )
{
$action = 'new_topic';
$id	= intval( preg_replace( "#new_topic(\d+)#", "\\1", $main_string ) );
}

+----------------
| Найти:
+----------------

case 'topic':
	$ipsclass->real_link = $ipsclass->base_url.'showtopic='.$id;
	$output = get_topic_page($id, $st);
	break;

+----------------
| Добавить после:
+----------------

case 'new_topic':
	$ipsclass->real_link = $ipsclass->base_url.'act=post&do=new_post&f='.$id;
	$output = get_new_topic_page($id);
	break;
+----------------		
| Найти:
+----------------

print_it($output);

+----------------
| Добавить после:
+----------------

//--------------------------------
// New topic?
//--------------------------------

function get_new_topic_page($id)
{
global $ipsclass, $std, $DB, $forums, $navarray, $LOFISKIN;

$output = "";

if (! $ipsclass->member['g_post_new_topics'])
{
	$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}

if ( $ipsclass->check_perms($ipsclass->forums->forum_by_id[$id]['start_perms']) == FALSE )
{
	$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}	

$data = array('forum_id' => $id, 'key' => $ipsclass->return_md5_check());

$ipsclass->title = $ipsclass->forums->forum_by_id[ $id ]['name'] . " > {$ipsclass->lang['process_new_topic']} ";

$navarray = _get_nav_array($id);

$navarray[] = "{$ipsclass->lang['process_new_topic']}";

return LOFISKIN_new_topic($data);
}

+----------------
| Найти:
+----------------

function _get_nav_array($id)
{
global $ipsclass, $forums, $LOFISKIN, $winpath;

+----------------
| Добавить после:
+----------------

if ($ipsclass->forums->forum_by_id[$id]['parent_id'] != 'root' && $ipsclass->check_perms($ipsclass->forums->forum_by_id[$id]['start_perms']))
{
	$navarray[] = "<br /><br /><a href='{$winpath}new_topic{$id}.html'>{$ipsclass->lang['new_topic']}</a>";	
}

//------------------------------------------//
// ./sources/classes/post/class_post_new.php
//------------------------------------------//
+----------------
| Найти:
+----------------
	//-----------------------------------------
	// Redirect them back to the topic
	//-----------------------------------------

	$this->ipsclass->boink_it($this->ipsclass->base_url."showtopic={$this->topic['tid']}");

+----------------		
| Заменить на:
+----------------

	//-----------------------------------------
	// Redirect them back to the topic
	//-----------------------------------------
	if( $this->ipsclass->input['lofi_topic_used'] )
	{
			$char = (substr(PHP_OS, 0, 3) == 'WIN' OR strstr( php_sapi_name(), 'cgi') OR php_sapi_name() == 'apache2filter') ? '?' : '/';
			$url = "lofiversion/index.php{$char}t{$this->topic['tid']}.html";
			$this->ipsclass->boink_it($url);
	}
	else
	{		
		$this->ipsclass->boink_it($this->ipsclass->base_url."showtopic={$this->topic['tid']}");
	}

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...

Маленькое дополнение.

В данном случае есть уязвимость: оставлять сообщения/создавать темы могут все желающие. Даже гости, которым это обычно запрещено.

 

Для быстрого ответа:

НАХОДИМ
-------
	$r['post'] = preg_replace( "#\[attachmentid=(\d+?)\]#is", '<a href="'.$ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?act=attach&type=post&id='."\\1".'">'.$ipsclass->lang['lofi_attach'].'</a>', $r['post'] );

	$output .= LOFISKIN_posts_entry($r, $winpath);
}
----------------
ДОБАВЛЯЕМ ПОСЛЕ:
----------------

if( $ipsclass->check_perms($ipsclass->forums->forum_by_id[ $topic['forum_id'] ]['reply_perms']) == TRUE ) {
	$data = array('forum_id' => $topic['forum_id'], 'topic_id' => $topic['tid'], 'st' => $st, 'key' => $ipsclass->return_md5_check(), 'pp' => $ipsclass->vars['display_max_posts']);
	$output .= LOFISKIN_quick_reply($data);
}

 

меняем на

 

if (!$ipsclass->member['id']){} else
{	
if( $ipsclass->check_perms($ipsclass->forums->forum_by_id[ $topic['forum_id'] ]['reply_perms']) == TRUE ) {
	$data = array('forum_id' => $topic['forum_id'], 'topic_id' => $topic['tid'], 'st' => $st, 'key' => $ipsclass->return_md5_check(), 'pp' => $ipsclass->vars['display_max_posts']);
	$output .= LOFISKIN_quick_reply($data);
}}

 

Для создания темы:

+----------------
| Найти:
+----------------

function _get_nav_array($id)
{
global $ipsclass, $forums, $LOFISKIN, $winpath;

+----------------
| Добавить после:
+----------------

if ($ipsclass->forums->forum_by_id[$id]['parent_id'] != 'root' && $ipsclass->check_perms($ipsclass->forums->forum_by_id[$id]['start_perms']))
{
	$navarray[] = "<br /><br /><a href='{$winpath}new_topic{$id}.html'>{$ipsclass->lang['new_topic']}</a>";	
}

 

меняем на

 

	if (!$ipsclass->member['id']) {}

else
{
	if ($ipsclass->forums->forum_by_id[$id]['parent_id'] != 'root' && $ipsclass->check_perms($ipsclass->forums->forum_by_id[$id]['start_perms']))
{
	$navarray[] = "<br /><br /><a href='{$winpath}new_topic{$id}.html'>{$ipsclass->lang['new_topic']}</a>";	
}	}

Ссылка на комментарий
Поделиться на других сайтах

не надо так делать!

 

 

есть форумы, в которых гостям разрешено постить темы/сообщения

тем более $ipsclass->check_perms вполне достаточно

просто запрети у маски гостей эти действия

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

чтот не разберусь сделал как описано в Сообщение #43 появилось только создать тему а ответить нету :D

что не так сделал? версия 2.3.4 да и входа тоже нет.

 

все разобрался невнимательно читал все работает

Изменено пользователем Mars91km
Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
  • 1 месяц спустя...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.