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

[2.3.x]Глобальные объявления v2


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

Мод поставил нормально. Единственное удаление про global не понял и ничего следовательно не удалил.

Какой именно и как надо удалять? В файле парсер их мнооооого очень.

 

К следствии этого не отображаются обьявления вообще.

 

 

Встроенная система диагностики не выявила ни одной ошибки.

Обьявления в АЦ включены.

 

Помогите пожалуйста.

п.с. Если не ставить дату обьявления или прошедшую дату,-то получается ошибка при просмотре любой страници форума:

Parse error: parse error, unexpected T_OBJECT_OPERATOR, expecting ',' or ';' in w:\home\forum\sources\lib\post_parser.php on line 82

 

вот все их и удалите. я удалил и проблема сразу изчезла.

 

 

DINI что значит +1 ? =)

 

ушел курить фак....спс!

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

  • Ответы 1,2k
  • Создана
  • Последний ответ

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

+1 значит, что в FAQ уже есть ответ на заданный вопрос и этот вопрос набрал один дополнительный балл. Писать долго, поэтому сократил предложение до минимума.
Ссылка на комментарий
Поделиться на других сайтах

+1 значит, что в FAQ уже есть ответ на заданный вопрос и этот вопрос набрал один дополнительный балл. Писать долго, поэтому сократил предложение до минимума.

 

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

 

жалко конечно,мод то полезный,но увы.

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

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

вот данные мои

 

character_set_client cp1251

character_set_connection cp1251

character_set_database cp1251

character_set_filesystem binary

character_set_results cp1251

character_set_server cp1251

character_set_system utf8

character_sets_dir /usr/local/mysql50-thr/share/mysql/charsets/

collation_connection cp1251_general_ci

collation_database cp1251_general_ci

collation_server cp1251_general_ci

 

вот кусок кода форума

 

if ( $this->mysql_version >= 40101 )

{

$res = mysql_query( "SHOW CHARSET LIKE '" . $this->obj['mysql_codepage'] . "'", $this->connection_id );

 

$charset = mysql_fetch_row($res);

 

mysql_query( "SET NAMES " . $this->obj['mysql_codepage'], $this->connection_id );

mysql_query( "SET CHARACTER SET " . $this->obj['mysql_codepage'], $this->connection_id );

mysql_query( "SET character_set_connection = " . $this->obj['mysql_codepage'], $this->connection_id );

mysql_query( "SET collation_connection = " . $charset[2], $this->connection_id );

}

 

 

что такое mysql_codepage - может вот это он не правильно определяет? смотрел в бд,там поля относящиеся к моду содержат в себе кракозыбря вместо внятного текста.

 

и еще вопрос чем отличается версия 258 от 259,я описание чет не нашел =(

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

olmer2002, введите в поиске по теме lite_parser.

Потом заново импортируйте настройки из xml, убедившись что в этом файле в первой строчке написана кодировка WINDOWS-1251 :D

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

olmer2002, введите в поиске по теме lite_parser.

Потом заново импортируйте настройки из xml, убедившись что в этом файле в первой строчке написана кодировка WINDOWS-1251 :D

 

про лит парсер уже углядел как час назад пост,сейчас попробую,Sannis.

в xml первый делом проверил кодировку.

 

через 5 мин отпишу резалтс,заранее спасибо

 

Спс большое всем,все получиось =)

 

а за что этот лит парсер отвечает? столько бед из-за него? =(

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

Там есть 2 парсера xml, один из них не всегда хорошо работает с кирилицей.

 

Незачто :D

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

Мод поставил нормально. Единственное удаление про global не понял и ничего следовательно не удалил.

Какой именно и как надо удалять? В файле парсер их мнооооого очень.

 

К следствии этого не отображаются обьявления вообще.

 

 

Встроенная система диагностики не выявила ни одной ошибки.

Обьявления в АЦ включены.

 

Помогите пожалуйста.

п.с. Если не ставить дату обьявления или прошедшую дату,-то получается ошибка при просмотре любой страници форума:

Parse error: parse error, unexpected T_OBJECT_OPERATOR, expecting ',' or ';' in w:\home\forum\sources\lib\post_parser.php on line 82

 

вот все их и удалите. я удалил и проблема сразу изчезла.

 

 

DINI что значит +1 ? =)

 

ушел курить фак....спс!

 

Извините,- но я не понимаю как их удалить.

Мож тупой я. Но реально не понимаю.

помогите пожалуйста.

Вот содержимое моего файла Пост_Прасер:

ИЗВИНИТЕ КРИВО ВСТАВЛЯЕТСЯ.

<?php

 

/*

+--------------------------------------------------------------------------

| Invision Power Board 2.2.2

| =============================================

| by Matthew Mecham

| © 2001 - 2007 Invision Power Services, Inc.

| http://www.invisionpower.com

| =============================================

| Web: http://www.invisionboard.com

| http://www.ibresource.ru/products/invisionpowerboard/

| Time: Monday 05th of March 2007 10:10:54 PM

| Release: e3790216629e5a2aaf37070b32237f06

| Licence Info: http://www.invisionboard.com/?license

| http://www.ibresource.ru/license

+---------------------------------------------------------------------------

| INVISION POWER BOARD НЕ ЯВЛЯЕТСЯ БЕСПЛАТНЫМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ!

| Права на ПО принадлежат Invision Power Services

| Права на перевод IBResource (http://www.ibresource.ru)

+---------------------------------------------------------------------------

| > $Date: 2006-09-22 05:28:54 -0500 (Fri, 22 Sep 2006) $

| > $Revision: 567 $

| > $Author: matt $

+---------------------------------------------------------------------------

|

| > Text processor module

| > Module written by Matt Mecham

| > Official Version: 2.0 - Number of changes to date 3 billion (estimated)

| > DBA Checked: Mon 24th May 2004

|

+--------------------------------------------------------------------------

*/

 

if ( ! defined( 'IN_ACP' ) )

{

print "<h1>Неверный вход</h1> У Вас нет доступа к директиве этого файла. Если вы проводили обновления, убедитесь, что не забыли обновить 'admin.php'.";

exit();

}

 

class post_parser {

 

var $error = "";

var $image_count = 0;

var $emoticon_count = 0;

var $quote_html = array();

var $quote_open = 0;

var $quote_closed = 0;

var $quote_error = 0;

var $emoticons = "";

var $badwords = "";

var $strip_quotes = "";

var $in_sig = "";

var $allow_unicode = 1;

var $bypass_badwords = 0;

var $load_custom_tags = 0;

var $pp_do_html = 0;

var $pp_nl2br = 1;

var $pp_wordwrap = 0;

var $max_embed_quotes = 10;

 

/*-------------------------------------------------------------------------*/

// CONSTRUCTOR

/*-------------------------------------------------------------------------*/

 

function post_parser($load=0)

{

$this->strip_quotes = $this->ipsclass->vars['strip_quotes'];

 

if ( $load )

{

$this->check_caches($load);

}

}

 

/*-------------------------------------------------------------------------*/

// CHECK (AND LOAD) CACHES

/*-------------------------------------------------------------------------*/

 

function check_caches($load=0)

{

global $this->ipsclass, $this->ipsclass, $this->ipsclass->DB;

$load=0;

if ( ! is_array( $this->ipsclass->cache['emoticons'] ) )

{

$this->ipsclass->cache['emoticons'] = array();

 

$this->ipsclass->DB->simple_construct( array( 'select' => 'typed,image,clickable,emo_set', 'from' => 'emoticons' ) );

$this->ipsclass->DB->simple_exec();

 

while ( $r = $this->ipsclass->DB->fetch_row() )

{

$this->ipsclass->cache['emoticons'][] = $r;

}

 

usort( $this->ipsclass->cache['emoticons'] , array( 'post_parser', 'smilie_length_sort' ) );

 

if ( $load )

{

$this->ipsclass->update_cache( array( 'name' => 'emoticons', 'array' => 1, 'deletefirst' => 1 ) );

}

}

 

if ( ! is_array( $this->ipsclass->cache['bbcode'] ) )

{

$this->ipsclass->cache['bbcode'] = array();

 

$this->ipsclass->DB->simple_construct( array( 'select' => 'bbcode_id, bbcode_tag, bbcode_replace, bbcode_useoption', 'from' => 'custom_bbcode' ) );

$bbcode = $this->ipsclass->DB->simple_exec();

 

while ( $r = $this->ipsclass->DB->fetch_row($bbcode) )

{

$this->ipsclass->cache['bbcode'][] = $r;

}

 

if ( $load )

{

$this->ipsclass->update_cache( array( 'name' => 'bbcode', 'array' => 1, 'deletefirst' => 1 ) );

}

}

 

if ( ! is_array( $this->ipsclass->cache['badwords'] ) )

{

$this->ipsclass->cache['badwords'] = array();

 

$this->ipsclass->DB->simple_construct( array( 'select' => 'type,swop,m_exact', 'from' => 'badwords' ) );

$bbcode = $this->ipsclass->DB->simple_exec();

 

while ( $r = $this->ipsclass->DB->fetch_row($bbcode) )

{

$this->ipsclass->cache['badwords'][] = $r;

}

 

usort( $this->ipsclass->cache['emoticons'] , array( 'post_parser', 'word_length_sort' ) );

 

if ( $load )

{

$this->ipsclass->update_cache( array( 'name' => 'badwords', 'array' => 1, 'deletefirst' => 1 ) );

}

}

}

 

/*-------------------------------------------------------------------------*/

// Strip quote tags

/*-------------------------------------------------------------------------*/

 

function strip_quote_tags( $txt="" )

{

return preg_replace( "#\

.+?\[/quote\]#is", "", $txt );

}

 

/*-------------------------------------------------------------------------*/

// strip all tags

/*-------------------------------------------------------------------------*/

 

function strip_all_tags( $txt="" )

{

$txt = $this->strip_quote_tags( $this->unconvert( $txt ) );

 

$txt = preg_replace( "#\[.+?\](.+?)\[/.+?\]#is", "\\1", $txt );

 

return $txt;

}

 

/*-------------------------------------------------------------------------*/

// strip all tags to formatted HTML

/*-------------------------------------------------------------------------*/

 

function strip_all_tags_to_formatted( $txt="" )

{

//$txt = $this->strip_quote_tags( $this->unconvert( $txt ) );

 

//$txt = preg_replace( "#\[code\](.+?)\[/code\]#is", "<pre>\\1</pre>", $txt );

 

//$txt = preg_replace( "#\[list\](.+?)\[/list\]#eis", "'<ul>' .str_replace( '[*]', '<li>', nl2br('\\1') ).'</ul>';", $txt );

 

//$txt = preg_replace( "#\

  1. (.+?)\[/list\]#eis", "'<ul>' .str_replace( '[*]', '<li>', nl2br('\\1') ).'</ul>';", $txt );

 

//$txt = preg_replace( "#\[.+?\](.+?)\[/.+?\]#is", "\\1", $txt );

 

return $txt;

}

 

/*-------------------------------------------------------------------------*/

// PARSE POLL TAGS

// Converts certain code tags for polling

/*-------------------------------------------------------------------------*/

 

function parse_poll_tags($txt)

{

 

// if you want to parse more tags for polls, simply cut n' paste from the "convert" routine

// anywhere here.

 

$txt = preg_replace( "#\[img\](.+?)\[/img\]#ie" , "\$this->regex_check_image('\\1')", $txt );

 

$txt = preg_replace( "#\[url\](\S+?)\[/url\]#ie" , "\$this->regex_build_url(array('html' => '\\1', 'show' => '\\1'))", $txt );

$txt = preg_replace( "#\[url\s*=\s*\"\;\s*(\S+?)\s*\"\;\s*\](.*?)\[\/url\]#ie" , "\$this->regex_build_url(array('html' => '\\1', 'show' => '\\2'))", $txt );

$txt = preg_replace( "#\[url\s*=\s*(\S+?)\s*\](.*?)\[\/url\]#ie" , "\$this->regex_build_url(array('html' => '\\1', 'show' => '\\2'))", $txt );

 

return $txt;

}

 

/*-------------------------------------------------------------------------*/

// convert:

// Parses raw text into smilies, HTML and iB CODE

/*-------------------------------------------------------------------------*/

 

function convert($in=array( 'TEXT' => "", 'SMILIES' => 0, 'CODE' => 0, 'SIGNATURE' => 0, 'HTML' => 0))

{

global $this->ipsclass, $this->ipsclass->DB;

 

$this->check_caches();

 

$this->in_sig = $in['SIGNATURE'];

 

$txt = $in['TEXT'];

 

//-----------------------------------------

// Returns any errors as $this->error

//-----------------------------------------

 

// Remove session id's from any post

 

$txt = preg_replace( "#(\?|&|;|&)s=([0-9a-zA-Z]){32}(&|;|&|$)?#e", "\$this->regex_bash_session('\\1', '\\3')", $txt );

 

//-----------------------------------------

// convert <br> to \n

//-----------------------------------------

 

$txt = preg_replace( "/<br>|<br \/>/", "\n", $txt );

 

//-----------------------------------------

// Are we parsing iB_CODE and do we have either '[' or ']' in the

// text we are processing?

//-----------------------------------------

 

if ( $in['CODE'] == 1 )

{

//-----------------------------------------

// Do

 tag

//-----------------------------------------

 

$txt = preg_replace( "#\[code\](.+?)\[/code\]#ies", "\$this->regex_code_tag( '\\1' )", $txt );

 

//-----------------------------------------

// Auto parse URLs

//-----------------------------------------

 

$txt = preg_replace( "#(^|\s)((http|https|news|ftp)://\w+[^\s\[\]]+)#ie" , "\$this->regex_build_url(array('html' => '\\2', 'show' => '\\2', 'st' => '\\1'))", $txt );

 

//-----------------------------------------

// Do [QUOTE(name,date)] tags

//-----------------------------------------

 

// Find the first, and last quote tag (greedy match)...

 

$txt = preg_replace( "#(\[quote(.+?)?\].*\[/quote\])#ies" , "\$this->regex_parse_quotes('\\1')" , $txt );

 

/*-------------------------------------------------------------------------*/

// If we are not parsing a siggie, lets have a bash

// at the [PHP] [SQL] and [HTML] tags.

/*-------------------------------------------------------------------------*/

 

if ($in['SIGNATURE'] != 1) {

 

$txt = preg_replace( "#\[sql\](.+?)\[/sql\]#ies" , "\$this->regex_sql_tag('\\1')" , $txt );

$txt = preg_replace( "#\[html\](.+?)\[/html\]#ies" , "\$this->regex_html_tag('\\1')" , $txt );

 

//-----------------------------------------

// [LIST] [*] [/LIST]

//-----------------------------------------

 

while( preg_match( "#\n?\[list\](.+?)\[/list\]\n?#ies" , $txt ) )

{

$txt = preg_replace( "#\n?\[list\](.+?)\[/list\]\n?#ies", "\$this->regex_list('\\1')" , $txt );

}

 

while( preg_match( "#\n?\[list=(a|A|i|I|1)\](.+?)\[/list\]\n?#ies" , $txt ) )

{

$txt = preg_replace( "#\n?\[list=(a|A|i|I|1)\](.+?)\[/list\]\n?#ies", "\$this->regex_list('\\2','\\1')" , $txt );

}

}

 

//-----------------------------------------

// Do [IMG] [FLASH] tags

//-----------------------------------------

 

if ($this->ipsclass->vars['allow_images'])

{

$txt = preg_replace( "#\[img\](.+?)\[/img\]#ie" , "\$this->regex_check_image('\\1')" , $txt );

$txt = preg_replace( "#(\[flash=)(\S+?)(\,)(\S+?)(\])(\S+?)(\[\/flash\])#ie", "\$this->regex_check_flash('\\2','\\4','\\6')", $txt );

}

 

 

// Start off with the easy stuff

 

$txt = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $txt );

$txt = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $txt );

$txt = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $txt );

$txt = preg_replace( "#\[s\](.+?)\[/s\]#is", "<s>\\1</s>", $txt );

 

// (c) (r) and (tm)

 

$txt = preg_replace( "#\(c\)#i" , "©" , $txt );

$txt = preg_replace( "#\(tm\)#i" , "™" , $txt );

$txt = preg_replace( "#\(r\)#i" , "®" , $txt );

 

// email tags

// [email]matt@index.com[/email] [email=matt@index.com]Email me[/email]

 

$txt = preg_replace( "#\[email\](\S+?)\[/email\]#i" , "<a href='mailto:\\1'>\\1</a>", $txt );

$txt = preg_replace( "#\[email\s*=\s*\"\;([\.\w\-]+\@[\.\w\-]+\.[\.\w\-]+)\s*\"\;\s*\](.*?)\[\/email\]#i" , "<a href='mailto:\\1'>\\2</a>", $txt );

$txt = preg_replace( "#\[email\s*=\s*([\.\w\-]+\@[\.\w\-]+\.[\w\-]+)\s*\](.*?)\[\/email\]#i" , "<a href='mailto:\\1'>\\2</a>", $txt );

 

// url tags

// [url]http://www.index.com[/url] [url=http://www.index.com]ibforums![/url]

 

$txt = preg_replace( "#\[url\](\S+?)\[/url\]#ie" , "\$this->regex_build_url(array('html' => '\\1', 'show' => '\\1'))", $txt );

$txt = preg_replace( "#\[url\s*=\s*\"\;\s*(\S+?)\s*\"\;\s*\](.*?)\[\/url\]#ie" , "\$this->regex_build_url(array('html' => '\\1', 'show' => '\\2'))", $txt );

$txt = preg_replace( "#\[url\s*=\s*(\S+?)\s*\](.*?)\[\/url\]#ie" , "\$this->regex_build_url(array('html' => '\\1', 'show' => '\\2'))", $txt );

 

 

// font size, colour and font style

// [font=courier]Text here[/font] [size=6]Text here[/size] [color=red]Text here[/color]

 

while ( preg_match( "#\[size=([^\]]+)\](.+?)\[/size\]#ies", $txt ) )

{

$txt = preg_replace( "#\[size=([^\]]+)\](.+?)\[/size\]#ies" , "\$this->regex_font_attr(array('s'=>'size','1'=>'\\1','2'=>'\\2'))", $txt );

}

 

while ( preg_match( "#\[font=([^\]]+)\](.*?)\[/font\]#ies", $txt ) )

{

$txt = preg_replace( "#\[font=([^\]]+)\](.*?)\[/font\]#ies" , "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt );

}

 

while( preg_match( "#\[color=([^\]]+)\](.+?)\[/color\]#ies", $txt ) )

{

$txt = preg_replace( "#\[color=([^\]]+)\](.+?)\[/color\]#ies" , "\$this->regex_font_attr(array('s'=>'col' ,'1'=>'\\1','2'=>'\\2'))", $txt );

}

 

 

}

 

// Swop \n back to <br>

 

$txt = preg_replace( "/\n/", "<br />", $txt );

 

// Unicode?

 

if ( $this->allow_unicode )

{

$txt = preg_replace("/�([0-9]+);/s", "�\\1;", $txt );

}

 

//-----------------------------------------

// Parse smilies (disallow smilies in siggies, or we'll have to query the DB for each post

// and each signature when viewing a topic, not something that we really want to do.

//-----------------------------------------

 

if ($in['SMILIES'] != 0 and $in['SIGNATURE'] == 0)

{

$txt = ' '.$txt.' ';

 

usort( $this->ipsclass->cache['emoticons'] , array( 'post_parser', 'smilie_length_sort' ) );

 

if ( count( $this->ipsclass->cache['emoticons'] ) > 0 )

{

foreach( $this->ipsclass->cache['emoticons'] as $a_id => $row)

{

if ( $row['emo_set'] != $this->ipsclass->skin['_emodir'] )

{

continue;

}

 

$code = $row['typed'];

$image = $row['image'];

 

//-----------------------------------------

// Make safe for regex

//-----------------------------------------

 

$code = preg_quote($code, "/");

 

$txt = preg_replace( "!(?<=[^\w&;/])$code(?=.\W|\W.|\W$)!ei", "\$this->convert_emoticon('$code', '$image')", $txt );

}

}

 

$txt = trim($txt);

 

if ( $this->ipsclass->vars['max_emos'] )

{

if ($this->emoticon_count > $this->ipsclass->vars['max_emos'])

{

$this->error = 'too_many_emoticons';

}

}

}

 

$txt = $this->bad_words($txt);

 

$txt = $this->bbcode_check($txt);

 

return $txt;

}

 

//-----------------------------------------

// Checks opening and closing bbtags - doesn't parse at this point

//-----------------------------------------

 

function bbcode_check($t="")

{

global $this->ipsclass, $this->ipsclass->DB, $this->ipsclass;

 

$count = array();

 

foreach( $this->ipsclass->cache['bbcode'] as $i => $r )

{

if ( $r['bbcode_useoption'] )

{

$count[ $r['bbcode_id'] ]['open'] = substr_count( strtolower($t), '['.strtolower($r['bbcode_tag']).'=' );

$count[ $r['bbcode_id'] ]['wrongopen'] = substr_count( strtolower($t), '['.strtolower($r['bbcode_tag']).']' );

}

else

{

$count[ $r['bbcode_id'] ]['open'] = substr_count( strtolower($t), '['.strtolower($r['bbcode_tag']).']' );

$count[ $r['bbcode_id'] ]['wrongopen'] = substr_count( strtolower($t), '['.strtolower($r['bbcode_tag']).'=' );

}

 

$count[ $r['bbcode_id'] ]['closed'] = substr_count( strtolower($t), '[/'.strtolower($r['bbcode_tag']).']' );

 

//-----------------------------------------

// check...

//-----------------------------------------

 

if ( $count[ $r['bbcode_id'] ]['open'] != $count[ $r['bbcode_id'] ]['closed'] )

{

if ( $count[ $r['bbcode_id'] ]['wrongopen'] == $count[ $r['bbcode_id'] ]['closed'] )

{

$this->error = 'custom_tags_incorrect2';

}

else

{

$this->error = 'custom_tags_incorrect';

}

}

}

 

return $t;

}

 

//-----------------------------------------

// My strip-tags. Converts HTML entities back before strippin' em

//-----------------------------------------

 

function my_strip_tags($t="")

{

$t = str_replace( '>', '>', $t );

$t = str_replace( '<', '<', $t );

 

$t = strip_tags($t);

 

// Make sure nothing naughty is left...

 

$t = str_replace( '<', '<', $t );

$t = str_replace( '>', '>', $t );

 

return $t;

}

 

 

//-----------------------------------------

// Word wrap, wraps 'da word innit

//-----------------------------------------

 

function my_wordwrap($t="", $chrs=0, $replace="<br />")

{

if ( $t == "" )

{

return $t;

}

 

if ( $chrs < 1 )

{

return $t;

}

 

$t = preg_replace("#([^\s<>'\"/\.\\-\?&\n\r\%]{".$chrs."})#i", " \\1".$replace ,$t);

 

return $t;

 

}

 

//-----------------------------------------

// Post DB parse tags

//-----------------------------------------

 

function post_db_parse($t="")

{

global $this->ipsclass, $this->ipsclass->DB;

 

if ( $this->pp_do_html )

{

$t = $this->post_db_parse_html( $t );

}

else

{

//$t = $this->my_strip_tags( $t );

}

 

if ( $this->pp_wordwrap > 0 )

{

$t = $this->my_wordwrap( $t, $this->pp_wordwrap );

}

 

//-----------------------------------------

// Custom BB code

//-----------------------------------------

 

if ( strstr( $t, '[/' ) )

{

$t = $this->post_db_parse_bbcode($t);

}

 

return $t;

}

 

//-----------------------------------------

// Post DB parse BBCode

//-----------------------------------------

 

function post_db_parse_bbcode($t="")

{

global $this->ipsclass, $this->ipsclass->DB, $this->ipsclass;

 

if ( is_array( $this->ipsclass->cache['bbcode'] ) and count( $this->ipsclass->cache['bbcode'] ) )

{

foreach( $this->ipsclass->cache['bbcode'] as $i => $row )

{

if ( substr_count( $row['bbcode_replace'], '{content}' ) > 1 )

{

//-----------------------------------------

// Slightly slower

//-----------------------------------------

 

if ( $row['bbcode_useoption'] )

{

preg_match_all( "#(\[".preg_quote($row['bbcode_tag'], '#' )."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\])(.+?)(\[/".preg_quote($row['bbcode_tag'], '#' )."\])#si", $t, $match );

 

for ($i=0; $i < count($match[0]); $i++)

{

$tmp = $row['bbcode_replace'];

$tmp = str_replace( '{option}' , $match[2][$i], $tmp );

$tmp = str_replace( '{content}', $match[3][$i], $tmp );

$t = str_replace( $match[0][$i], $tmp, $t );

}

}

else

{

preg_match_all( "#(\[".preg_quote($row['bbcode_tag'], '#' )."\])(.+?)(\[/".preg_quote($row['bbcode_tag'], '#' )."\])#si", $t, $match );

 

for ($i=0; $i < count($match[0]); $i++)

{

$tmp = $row['bbcode_replace'];

$tmp = str_replace( '{content}', $match[2][$i], $tmp );

$t = str_replace( $match[0][$i], $tmp, $t );

}

}

}

else

{

$replace = explode( '{content}', $row['bbcode_replace'] );

 

if ( $row['bbcode_useoption'] )

{

$t = preg_replace( "#\[".$row['bbcode_tag']."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\]#si", str_replace( '{option}', "\\1", $replace[0] ), $t );

}

else

{

$t = preg_replace( '#\['.$row['bbcode_tag'].'\]#i' , $replace[0], $t );

}

 

$t = preg_replace( '#\[/'.$row['bbcode_tag'].'\]#i', $replace[1], $t );

}

}

}

 

return $t;

}

 

//-----------------------------------------

// parse_html

// Converts the doHTML tag

//-----------------------------------------

 

function post_db_parse_html($t="")

{

if ( $t == "" )

{

return $t;

}

 

//-----------------------------------------

// Remove <br>s 'cos we know they can't

// be user inputted, 'cos they are still

// <br> at this point :)

//-----------------------------------------

 

if ( $this->pp_nl2br != 1 )

{

$t = str_replace( "<br>" , "\n" , $t );

$t = str_replace( "<br />" , "\n" , $t );

}

 

$t = str_replace( "'" , "'", $t );

$t = str_replace( "!" , "!", $t );

$t = str_replace( "$" , "$", $t );

$t = str_replace( "|" , "|", $t );

$t = str_replace( "&" , "&", $t );

$t = str_replace( ">" , ">", $t );

$t = str_replace( "<" , "<", $t );

$t = str_replace( """ , '"', $t );

 

//-----------------------------------------

// Take a crack at parsing some of the nasties

// NOTE: THIS IS NOT DESIGNED AS A FOOLPROOF METHOD

// AND SHOULD NOT BE RELIED UPON!

//-----------------------------------------

 

$t = preg_replace( "/javascript/i" , "javascript", $t );

$t = preg_replace( "/alert/i" , "alert" , $t );

$t = preg_replace( "/about:/i" , "about:" , $t );

$t = preg_replace( "/onmouseover/i", "onmouseover" , $t );

$t = preg_replace( "/onclick/i" , "onclick" , $t );

$t = preg_replace(

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

+1

 

Swedcx, а я вот не понимаю, что Вы хотите от меня? Чем еще я могу помочь, если я уже и значения всех непонятных слов объяснил, и инструкции подробные составил, и примеры по каждому пункту шага с непонятными словами привел? И про то, почему я не могу выложить готовый файл со всем изменениями, я тоже уже писал.

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

dfc_darkman, интересная ошибка. Я не думаю, что она относится непосредственно к моему моду. В принципе, в нем используется переадресация, но только в index.php. А вот почему происходит глюк в адресной строке при указании напрямую файла установки, я не знаю.

Могу лишь предположить, что это связано с настройками (переадресации) сервера.

Проблему решил. Вот что хостер написал:

переменная SERVER_PROTOCOL была нулевая.

Подправлено, дописал транзит этой переменной.

А разработчику стоит вписать проверку - если переменная пуста

- считать что это http, потому что если php в режиме cgi - такая

бага это стандартное поведение.

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

А разработчику стоит вписать проверку - если переменная пуста

- считать что это http, потому что если php в режиме cgi - такая

бага это стандартное поведение.

Под CGI проверить не имел возможности, поэтому на такой баг не натыкался. В будущей версии сделаю проверку. Спасибо!
Ссылка на комментарий
Поделиться на других сайтах

Неплохо бы в ридми добавить описания того как их добавлять и изменять .. выводить и т.д. ...
О том, где происходит управление объявлениями, в теме я уже говорил. Об остальном, думаю, догадаться несложно, учитывая тот факт, что все элементы управления, включая пункты "Добавить объявление", "Правка" и "Удалить", написаны на русском языке.

 

Все это составляет интуитивно-понятный (надеюсь, для большинства пользователей) интерфейс. Например, ссылка "Удалить" здесь находится в том же ряду таблицы, где и удаляемое объявление, а не в каком-нибудь подменю "Действия" меню "Файл", расположенного в левом верхнем углу экрана.

 

Именно поэтому я не посчитал нужным документировать каждый элемент управления модом. Однако в последнее время я все больше убеждаюсь, что здесь я все-таки просчитался. Поэтому все будущие мои моды, которые будут доступны на моем сайте (см. подпись), обязательно будут документироваться.

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

DINI, просто например Я ... немогу понять где их добавлять , и почему они не выводяться ...

хотелось бы сразу читнуть что да как и всё ... и не тратить время на разбирательства :D

ну это лично моё мнение ... ;)

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

Я ... немогу понять где их добавлять , и почему они не выводяться
Я повторю, что про то, где происходит управление объявлениями, и про то, почему они могут не выводиться, написано в FAQ.

 

Также повторю, что про те действия, которые можно совершать с объявлениями, тоже несложно догадаться, т.к. все они приведены в меню мода. Вроде, там все понятно написано.

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

мдее...

ну облазил всю админку ... нету ...

Проверил в компонентах - установлен!

Проверил запросом к БД - установлен ...

нигде нету ни малейшего намёка на "Добавить обьявление" и т.п. ...

:D

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

extezy, управление ГО происходит в компонентах. Самый нижний блок. Если у тебя его нет, очень жаль. Читай тему :D ставь заново. Фразы типа "не выводятся" ничего не значат потому, что ничего не значат. ;))) читай тему, ищи ошибку у себя.
Ссылка на комментарий
Поделиться на других сайтах

блин , только сегодня нашел эту долбаную кнопку "Добавить объявление" :D ..

аж когда полез в ЦСС стили ГО ;) ..

 

Всё работет!

Спасибо большое ! :)

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

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

 

Parse error: syntax error, unexpected ',' in /usr/home/14464/myforum.ru/html/sources/lib/post_parser.php on line 82

 

Да было такое в FAQ, я удалил все globe, по крайней мере больше не находит в тексте, заменил $ibforums, $DB, $std на нужную строчку, побился головой с размаху, удалил и снова поставил и все равно - не показывает, а при изменении даты на прошедшую или отсутсвии даты (действует постоянно) выскакивает ошибка в 82 строке.

Так, вот сейчас заменил третий раз, все равно Parse error: syntax error, unexpected ',' in /usr/home/14464/myforum.ru/html/sources/lib/post_parser.php on line 82

 

 

скажите мне пожалуйста мою тупую ошибку?

 

 

function check_caches($load=0)
{
	 $this->ipsclass, $this->ipsclass, $this->ipsclass->DB;
	$load=0;
	if ( ! is_array( $this->ipsclass->cache['emoticons'] ) )
	{
		$this->ipsclass->cache['emoticons'] = array();

		$this->ipsclass->DB->simple_construct( array( 'select' => 'typed,image,clickable,emo_set', 'from' => 'emoticons' ) );
		$this->ipsclass->DB->simple_exec();

 

строка 82

 

версия форума 2,2,2

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


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

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

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