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

[1.x.x]Posts Merge / Склейка сообщений /


GiV

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

Parse error: parse error, expecting `')'' in /home/мой_сайт/public_html/sources/functions.php on line 48

Fatal error: Cannot instantiate non-existent class: func in /home/мой_сайтi/public_html/index.php on line 176

 

Вот строчки ~ 48:

 

  $this->time_options = array( 'JOINED' => $INFO['clock_joined'],
         'SHORT'  => $INFO['clock_short'],
         'LONG'   => $INFO['clock_long'],
         'MERGE'  => 'H:i'
         'ANN'	=> "m-d-y"
          );

 

Вот ~176

 

	function txt_htmlspecialchars($t="")
{
 // Use forward look up to only convert & not {
 $t = preg_replace("/&(?!#[0-9]+;)/s", '&', $t );
 $t = str_replace( "<", "<"  , $t );
 $t = str_replace( ">", ">"  , $t );
 $t = str_replace( '"', """, $t );
 
 return $t; // A nice cup of?
}

Добавлено в [mergetime]1082582647[/mergetime]

Сорри, проблему решил сам! :D

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

  • 1 месяц спустя...
  • Ответы 94
  • Создана
  • Последний ответ

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

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

У меня такая проблема :D Там где при ответе выводиться Последние 10 сообщений [ в обратном порядке ] у меня почемуто, вместо даты выводит Добавил @ [mergetime]1085514533[/mergetime]

Проверял всё на 10 раз стоит вроде всё правильно. а здесь такой лабцды нет

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

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

Vanish

я так сразу и догодался, просто подбирал слова :D , а потом вставил, не заработало, а потом смотрел а там копернул из блакнота с текстом не множко удалил, и всё пошло, теперь я очень рад! ;)

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

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

Вот трабл :D

 

При нажатии кнопы "Цитата"

вываливает следующие:

 

/* +-------------------------------------------------------------------------- | Invision Power Board v1.3 Final | ======================================== | by Matthew Mecham | © 2001 - 2003 Invision Power Services | http://www.invisionpower.com | ======================================== | Web: http://www.invisionboard.com | Time: Thu, 20 Nov 2003 01:15:27 GMT | Release: 322f4d4bcd09dcb3058f62ae41ab3e8b | Email: matt@invisionpower.com | Licence Info: http://www.invisionboard.com/?license +--------------------------------------------------------------------------- | | > Reply with quote library | > Module written by Matt Mecham | +-------------------------------------------------------------------------- */ class post_functions extends Post { var $nav = array(); var $title = ""; var $post = array(); var $topic = array(); var $upload = array(); var $mod_topic = array(); var $quoted_post = array(); var $quoted_post_author = array(); var $m_group = ""; function post_functions($class) { global $ibforums, $std, $DB; // Lets load the topic from the database before we do anything else. $DB->query("SELECT * FROM ibf_topics WHERE forum_id='".$class->forum['id']."' AND tid='".$ibforums->input['t']."'"); $this->topic = $DB->fetch_row(); // Is it legitimate? if (! $this->topic['tid']) { $std->Error( array( LEVEL => 1, MSG => 'missing_files') ); } //------------------------------------------------- // Lets do some tests to make sure that we are // allowed to reply to this topic //------------------------------------------------- if ($this->topic['poll_state'] == 'closed' and $ibforums->member['g_is_supadmin'] != 1) { $std->Error( array( LEVEL => 1, MSG => 'no_replies') ); } if ($this->topic['starter_id'] == $ibforums->member['id']) { if (! $ibforums->member['g_reply_own_topics']) { $std->Error( array( LEVEL => 1, MSG => 'no_replies') ); } } if ($this->topic['starter_id'] != $ibforums->member['id']) { if (! $ibforums->member['g_reply_other_topics']) { $std->Error( array( LEVEL => 1, MSG => 'no_replies') ); } } if ( $std->check_perms($class->forum['reply_perms']) == FALSE ) { $std->Error( array( LEVEL => 1, MSG => 'no_replies') ); } // Is the topic locked? if ($this->topic['state'] != 'open') { if ($ibforums->member['g_post_closed'] != 1) { $std->Error( array( LEVEL => 1, MSG => 'locked_topic') ); } } } function process($class) { global $ibforums, $std, $DB, $print; //------------------------------------------------- // Parse the post, and check for any errors. //------------------------------------------------- $this->post = $class->compile_post(); //------------------------------------------------- // If we have a post to quote, lets sort that now //------------------------------------------------- if ($ibforums->input['QPost']) { $this->quoted_post['AUTHOR']['name'] = $ibforums->input['QAuthorN']; $this->quoted_post['DATE'] = $std->get_date( $ibforums->input['QDate'], 'LONG' ); $this->quoted_post['post'] = $class->parser->convert( array( 'TEXT' => $ibforums->input['QPost'], 'SMILIES' => $ibforums->input['enableemo'], 'CODE' => 1, 'HTML' => 0, ) ); if ( $class->parser->error != "" ) { $class->obj['post_errors'] = $class->parser->error; $class->dump_quote = '
['name'].','.$this->quoted_post['DATE'].']'.$ibforums->input['QPost'].'
'."\n"; $this->show_form($class); } // add it to the post $html = $class->parser->wrap_style( array( 'STYLE' => 'QUOTE', 'EXTRA' => '(' . $this->quoted_post['AUTHOR']['name'] . ' @ ' . $this->quoted_post['DATE'] . ')' ) ); if ( $class->obj['preview_post'] == "" ) { $this->quoted_post['AUTHOR']['name'] = str_replace( "-", "-", $this->quoted_post['AUTHOR']['name'] ); $this->post['post'] = "" . "{$html['START']} ".trim($this->quoted_post['post'])." " . "{$html['END']}

" . $this->post['post']; } else { $class->dump_quote = '

['name'].','.$this->quoted_post['DATE'].']'.$ibforums->input['QPost'].'
'."\n"; } } if ($class->obj['post_errors'] == "") { $this->upload = $class->process_upload(); } if ( ($class->obj['post_errors'] != "") or ($class->obj['preview_post'] != "") ) { // Show the form again $this->show_form($class); } else { $this->add_reply($class); } } function add_reply($class) { global $ibforums, $std, $DB, $print; //------------------------------------------------- // Update the post info with the upload array info //------------------------------------------------- $this->post['attach_id'] = $this->upload['attach_id']; $this->post['attach_type'] = $this->upload['attach_type']; $this->post['attach_hits'] = $this->upload['attach_hits']; $this->post['attach_file'] = $this->upload['attach_file']; //------------------------------------------------- // Insert the post into the database to get the // last inserted value of the auto_increment field //------------------------------------------------- $this->post['topic_id'] = $this->topic['tid']; $return_to_move = 0; if ( ($ibforums->input['mod_options'] != "") or ($ibforums->input['mod_options'] != 'nowt') ) { if ($ibforums->input['mod_options'] == 'pin') { if ($ibforums->member['g_is_supmod'] == 1 or $class->moderator['pin_topic'] == 1) { $this->topic['pinned'] = 1; $class->moderate_log('Pinned topic from post form', $this->topic['title']); } } else if ($ibforums->input['mod_options'] == 'close') { if ($ibforums->member['g_is_supmod'] == 1 or $class->moderator['close_topic'] == 1) { $this->topic['state'] = 'closed'; $class->moderate_log('Closed topic from post form', $this->topic['title']); } } else if ($ibforums->input['mod_options'] == 'move') { if ($ibforums->member['g_is_supmod'] == 1 or $class->moderator['move_topic'] == 1) { $return_to_move = 1; } } else if ($ibforums->input['mod_options'] == 'pinclose') { if ($ibforums->member['g_is_supmod'] == 1 or ( $class->moderator['pin_topic'] == 1 AND $class->moderator['close_topic'] == 1 ) ) { $this->topic['pinned'] = 1; $this->topic['state'] = 'closed'; $class->moderate_log('Pinned & closed topic from post form', $this->topic['title']); } } } //########### Merge Posts Hack From Ruforum dot net ########## $DB->query("SELECT * FROM ibf_posts WHERE topic_id = '".$this->post['topic_id']."' ORDER BY post_date DESC LIMIT 0,1"); $this->lastpost = $DB->fetch_row(); $timedeff = time() - $this->lastpost['post_date']; if ($this->post['author_id'] == $this->lastpost['author_id'] && $timedeff < 1200 && !($this->post['attach_id']) && $this->post['author_id']) { $this->post['post'] = $this->lastpost['post'] . "

Добавлено в [mergetime]".time()."[/mergetime]

". $this->post['post']; $DB->query("UPDATE ibf_posts SET post = '".addslashes($this->post['post'])."' WHERE pid = '".$this->lastpost['pid']."'"); if ( $class->obj['moderate'] == 1 or $class->obj['moderate'] == 3 ) { $DB->query("UPDATE ibf_forums SET has_mod_posts=1 WHERE id=".$class->forum['id']); $page = floor( ($this->topic['posts'] ) / $ibforums->vars['display_max_posts']); $page = $page * $ibforums->vars['display_max_posts']; $print->redirect_screen( $ibforums->lang['moderate_post'], "showtopic={$this->topic['tid']}&st=$page" ); } //------------------------------------------------- // Redirect them back to the topic //------------------------------------------------- if ($return_to_move == 1) { $std->boink_it($class->base_url."act=Mod&CODE=02&f={$class->forum['id']}&t={$this->topic['tid']}"); } else { $page = floor( ($this->topic['posts'] ) / $ibforums->vars['display_max_posts']); $page = $page * $ibforums->vars['display_max_posts']; $std->boink_it($class->base_url."showtopic={$this->topic['tid']}&st=$pageentry{$this->lastpost['pid']}"); } exit; } //########### Merge Posts Hack From Ruforum dot net ########## $db_string = $std->compile_db_string( $this->post ); $DB->query("INSERT INTO ibf_posts (" .$db_string['FIELD_NAMES']. ") VALUES (". $db_string['FIELD_VALUES'] .")"); $this->post['pid'] = $DB->get_insert_id(); if ( $class->obj['moderate'] == 1 or $class->obj['moderate'] == 3 ) { $DB->query("UPDATE ibf_forums SET has_mod_posts=1 WHERE id=".$class->forum['id']); $page = floor( ($this->topic['posts'] + 1) / $ibforums->vars['display_max_posts']); $page = $page * $ibforums->vars['display_max_posts']; $print->redirect_screen( $ibforums->lang['moderate_post'], "showtopic={$this->topic['tid']}&st=$page" ); } //------------------------------------------------- // If we are still here, lets update the // board/forum/topic stats //------------------------------------------------- $class->forum['last_title'] = str_replace( "'", "'", $this->topic['title'] );; $class->forum['last_id'] = $this->topic['tid']; $class->forum['last_post'] = time(); $class->forum['last_poster_name'] = $ibforums->member['id'] ? $ibforums->member['name'] : $ibforums->input['UserName']; $class->forum['last_poster_id'] = $ibforums->member['id']; $class->forum['posts']++; // Update the database $DB->query("UPDATE ibf_forums SET last_title='" .$class->forum['last_title'] ."', ". "last_id='" .$class->forum['last_id'] ."', ". "last_post='" .$class->forum['last_post'] ."', ". "last_poster_name='".$class->forum['last_poster_name'] ."', ". "last_poster_id='" .$class->forum['last_poster_id'] ."', ". "posts='" .$class->forum['posts'] ."' ". "WHERE id='" .$class->forum['id'] ."'"); //------------------------------------------------- // Get the correct number of replies the topic has //------------------------------------------------- $DB->query("SELECT COUNT(pid) as posts FROM ibf_posts WHERE topic_id={$this->topic['tid']} and queued != 1"); $posts = $DB->fetch_row(); $pcount = intval( $posts['posts'] - 1 ); //+------------------------------------------------------------------------------------------------------ $DB->query("UPDATE ibf_topics SET last_poster_id='" .$class->forum['last_poster_id'] ."', ". "last_poster_name='" .$class->forum['last_poster_name'] ."', ". "last_post='" .$class->forum['last_post'] ."', ". "pinned='" .$this->topic['pinned'] ."', ". "state='" .$this->topic['state'] ."', ". "posts=$pcount ". "WHERE tid='" .$this->topic['tid'] ."'"); //+------------------------------------------------------------------------------------------------------ $DB->query("UPDATE ibf_stats SET TOTAL_REPLIES=TOTAL_REPLIES+1"); //------------------------------------------------- // If we are a member, lets update thier last post // date and increment their post count. //------------------------------------------------- $pcount = ""; if ($ibforums->member['id']) { if ($class->forum['inc_postcount']) { // Increment the users post count $pcount = "posts=posts+1, "; } // Are we checking for auto promotion? if ($ibforums->member['g_promotion'] != '-1&-1') { list($gid, $gposts) = explode( '&', $ibforums->member['g_promotion'] ); if ( $gid > 0 and $gposts > 0 ) { if ( $ibforums->member['posts'] + 1 >= $gposts ) { $mgroup = "mgroup='$gid', "; if ( USE_MODULES == 1 ) { $class->modules->register_class(&$class); $class->modules->on_group_change($ibforums->member['id'], $gid); } } } } $ibforums->member['last_post'] = time(); $DB->query("UPDATE ibf_members SET ".$pcount.$mgroup. "last_post='" .$ibforums->member['last_post'] ."'". "WHERE id='" .$ibforums->member['id']."'"); } //------------------------------------------------- // Are we tracking topics we reply in 'auto_track'? //------------------------------------------------- if ( $ibforums->member['id'] AND $ibforums->input['enabletrack'] == 1 ) { $DB->query("SELECT trid FROM ibf_tracker WHERE topic_id='".$this->topic['tid']."' AND member_id='".$ibforums->member['id']."'"); if ( ! $DB->get_num_rows() ) { $db_string = $DB->compile_db_insert_string( array ( 'member_id' => $ibforums->member['id'], 'topic_id' => $this->topic['tid'], 'start_date' => time(), ) ); $DB->query("INSERT INTO ibf_tracker ({$db_string['FIELD_NAMES']}) VALUES ({$db_string['FIELD_VALUES']})"); } } //------------------------------------------------- // Check for subscribed topics // Pass on the previous last post time of the topic // to see if we need to send emails out //------------------------------------------------- $class->topic_tracker( $this->topic['tid'], $this->post['post'], $class->forum['last_poster_name'], $this->topic['last_post'] ); //------------------------------------------------- // Redirect them back to the topic //------------------------------------------------- if ($return_to_move == 1) { $std->boink_it($class->base_url."act=Mod&CODE=02&f={$class->forum['id']}&t={$this->topic['tid']}"); } else { $page = floor( ($this->topic['posts'] + 1) / $ibforums->vars['display_max_posts']); $page = $page * $ibforums->vars['display_max_posts']; $std->boink_it($class->base_url."showtopic={$this->topic['tid']}&st=$pageentry{$this->post['pid']}"); } } function show_form($class) { global $ibforums, $std, $DB, $print, $HTTP_POST_VARS; //------------------------------------------------- // Sort out the "raw" textarea input and make it safe incase // we have a

 

 

Версия: Русский Модифицированный IPB v1.3 Final © 2003 BesTFileZ.Net & IBR Team

 

Help plz !

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

Поставил на свой Русский Модифицированный IPB v1.3 Final, несколько раз проверял, стоит всё правельно, но почему то не склеивает... Помагитя плиз...
Ссылка на комментарий
Поделиться на других сайтах

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

Установил данный мод, все работает, склеиваеться то - биш, но вот при нажатии на "цитировать" (который в правом верхнем углу поста), вываливаеться ошибка ;) Ругаеться на post_q_reply_post.php.

- parse error, unexpected ';', expecting ')'

 

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

 

 

 

 

ПЕРЕСТАВИЛ, ВСЕ ЗАРАБОТАЛО ! Вопрос снимаеться

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

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

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

Значит вы что то не дописали скин_топик наверное или куда там...:D нема преобразования наверное

у меня всё ок лично ;)

всё работает

версия 1.3.1

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

  • 3 месяца спустя...

Пришел просвятить на счет:

Added @ [mergetime]1102422823[/mergetime]

вместо

Добавлено в 20:50

 

Дело в том, что надо еще в нескольких файлах добавить строку

$row['post'] = preg_replace( "#\[mergetime\](\d+)\[/mergetime\]#ies", "\$std->get_date( '\\1', 'MERGE' )", $row['post'] );

 

А точнее в файлах sources/Post.php (это чтобы переформатировало в "Последние 10 сообщений [ в обратном порядке ]" ) и sources/Search.php (а это чтобы переформатировал при поиске).

 

sources/Post.php

ищем

$row['post']   = $this->parser->post_db_parse($row['post'], $this->forum['use_html'] AND $ibforums->member['g_dohtml'] ? 1 : 0);

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

 

sources/Search.php

 

перед

                                if ( $ibforums->vars['post_wordwrap'] > 0 )
                               {
                                       $row['post'] = $this->parser->my_wordwrap( $row['post'], $ibforums->vars['post_wordwrap']);
                               }

                               $this->output .= $this->html->RenderPostRow( $this->parse_entry($row, 1) );

 

и перед

                               //--------------------------------------------------------------
                               // Parse HTML tag on the fly
                               //--------------------------------------------------------------


                               if ( $row['use_html'] == 1 )
                               {
                                       // So far, so good..

                                       if ( stristr( $row['post'], '[dohtml]' ) )
                                       {
                                               // [doHTML] tag found..

                                               $parse = ($row['use_html'] AND $row['g_dohtml']) ? 1 : 0;

                                               $row['post'] = $this->parser->post_db_parse($row['post'], $parse );
                                       }
                               }

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

Это ж уже обсуждалось в другой такой же теме

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

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

  • 5 недель спустя...
В какой именно части поиска? (по идее в двух частях показывать должно после изменений указаных выше)
Ссылка на комментарий
Поделиться на других сайтах

ну когда включаешь "отображать найденное в виде сообщений, то пишет вот так:

сделано...

время: 600 секунд..

Добавлено @ [mergetime]1113739833[/mergetime]

тест добавления...

Добавлено в [mergetime]1113739919[/mergetime]

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

Перед

                                //--------------------------------------------------------------
                               // Parse HTML tag on the fly
                               //--------------------------------------------------------------

                               if ( $row['use_html'] == 1 )
                               {
                                       // So far, so good..

                                       if ( stristr( $row['post'], '[dohtml]' ) )
                                       {
                                               // [doHTML] tag found..

                                               $parse = ($row['use_html'] AND $row['g_dohtml']) ? 1 : 0;

                                               $row['post'] = $this->parser->post_db_parse($row['post'], $parse );
                                       }
                               }

 

Вставлял

$row['post'] = preg_replace( "#\[mergetime\](\d+)\[/mergetime\]#ies", "\$std->get_date( '\\1', 'MERGE' )", $row['post'] );

 

?

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

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

Когда добавляется текст для склейки, виснет опера.

Ошибка какая-то с редиректом.

Раньше всё было работало нормально по методу Song'а.

 

Как исправить?

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


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

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

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