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

Ошибка при добавление записи в блог


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

IPB 2.1.7

Community Blog 1.2.2 Final

 

---

 

При добавлении новой записи в свой блог, браузер вываливается в след. ошибку

 

http://img221.imageshack.us/img221/3977/blogpu2.jpg

 

при этом, сама запись в блог добавляется... при след. входе в блог она видна.

 

Добавление комментов к блогам проходит без проблем.

 

сама ошибка

Date: Sat, 01 Mar 2008 16:54:54 +0100
Error Number: 1054
Error: Unknown column 'bt.blog_id' in 'on clause'
mySQL query error: SELECT bt.tracker_id,m.name, m.email, m.id, m.language, m.last_activity, m.members_display_name, m.mgroup, m.mgroup_others,ab.blog_id as auth_blog_id FROM ibf_blog_tracker bt,ibf_members m LEFT JOIN ibf_blog_authmembers ab ON ( ab.blog_id=bt.blog_id AND ab.member_id = bt.member_id ) WHERE bt.blog_id=1 AND bt.member_id=m.id AND m.id <> 1

В чем может быть проблема?

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

MySQL 5.x. Скобочки нужно расставить в ./sources/sql/mysql_blog_queries(?).php, по аналогии с тем что для форума делается; либо заменить ab.blog_id=bt.blog_id на bt.blog_id=ab.blog_id, говорят тоже помогает.
Ссылка на комментарий
Поделиться на других сайтах

ну вот она, вся функция.. что сделать то?

 

	/*-------------------------------------------------------------------------*/
// Blog tracker
/*-------------------------------------------------------------------------*/

function blog_tracker( $entry_id="", $entry_name="", $entry="" )
{
	if ($entry_id == "")
	{
		return TRUE;
	}

	//-----------------------------------------
	// We will send these out immediatly (if published)
	//-----------------------------------------

	$count	  = 0;
	$gotem	  = array();

	$this->ipsclass->DB->build_query( array( 'select'   => 'bt.tracker_id',
											 'from'	 => array( 'blog_tracker' => 'bt' ),
											 'where'	=> 'bt.blog_id='.intval($this->blog['blog_id']),
											 'add_join' => array( 0 => array( 'select' => 'm.name, m.email, m.id, m.language, m.last_activity, m.members_display_name, m.mgroup, m.mgroup_others',
																			  'from'   => array( 'members' => 'm' ),
																			  'where'  => "bt.member_id=m.id AND m.id <> {$this->ipsclass->member['id']}",
																			  'type'   => 'inner' ),
											 					  1 => array( 'select' => 'ab.blog_id as auth_blog_id',
																			  'from'   => array( 'blog_authmembers' => 'ab' ),
																			  'where'  => "ab.blog_id=bt.blog_id AND ab.member_id = bt.member_id",
																			  'type'   => 'left' )  )
									)	  );

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

	while ( $r = $this->ipsclass->DB->fetch_row() )
	{
		$gotem[ $r['id'] ] = $r;
	}

	//-----------------------------------------
	// Row, row and parse, parse
	//-----------------------------------------

	if ( count( $gotem ) )
	{
		foreach( $gotem as $mid => $r )
		{
			if ( $this->blog['blog_private'] || $this->blog['blog_settings']['category_cache'][$this->entry['category_id']]['category_type'] != 'public' )
			{
				//-----------------------------------------
				// Mod?
				//-----------------------------------------
				$mod_canviewprivate = 0;
				if ( count($this->ipsclass->cache['blogmods']) )
				{
					$mgroups = explode( ',', $r['mgroup_others'] );
					foreach( $this->ipsclass->cache['blogmods'] as $i => $m )
					{
						if ( ( $m['moderate_mg_id'] == $r['id'] && $m['moderate_type'] == 'member' ) or
							 ( $m['moderate_mg_id'] == $r['mgroup'] && $m['moderate_type'] == 'group' ) or
							 ( in_array($m['moderate_mg_id'], $mgroups) && $m['moderate_type'] == 'group' ) )
						{
							$mod_canviewprivate = $m['moderate_can_view_private'];
						}
					}
				}

				if ( $this->blog['blog_private'] && $r['id'] != $this->blog['member_id'] &&
			 		 $this->blog['blog_id'] != $r['auth_blog_id'] &&
			 		 !$mod_canviewprivate )
				{
					continue;
   				}

   				if (  ( $this->blog['blog_settings']['category_cache'][$this->entry['category_id']]['category_type'] == 'privateclub' &&
   						$r['id'] != $this->blog['member_id'] && $this->blog['blog_id'] != $r['auth_blog_id'] && !$mod_canviewprivate )
   				   || ( $this->blog['blog_settings']['category_cache'][$this->entry['category_id']]['category_type'] == 'private' &&
   						$r['id'] != $this->blog['member_id'] && !$mod_canviewprivate ) )
   				{
   					continue;
   				}
			}

			$r['language'] = $r['language'] ? $r['language'] : 'en';

			if ( $email = $this->blog_std->get_email_template( "subs_new_entry", $member['language'] ) )
			{
				$this->email->template = $email['template'];

				$this->email->build_message( array(
													'BLOG_ID'		 => $this->blog['blog_id'],
													'BLOG_NAME'		  => $this->blog['blog_name'],
													'ENTRY_ID'		=> $entry_id,
													'ENTRY_NAME'	  => $entry_name,
													'NAME'			=> $r['name'],
													'POSTER'		  => $this->ipsclass->member['members_display_name'],
													'ENTRY'		   => $entry,
												  )
											);

				//-----------------------------------------
				// If it is published, mail now, else put it in the tracker queue
				//-----------------------------------------
				if ( $this->entry['entry_status'] == 'published' )
				{
					$this->ipsclass->DB->do_insert( 'mail_queue', array( 'mail_to' => $r['email'], 'mail_date' => time(), 'mail_subject' => $this->ipsclass->lang['bt_subject'], 'mail_content' => $this->email->message ) );
					$count++;
				}
				else
				{
					$this->ipsclass->DB->do_insert( 'blog_tracker_queue', array( 'blog_id' => $this->blog['blog_id'], 'entry_id' => $entry_id, 'tq_to' => $r['email'], 'tq_subject' => $this->ipsclass->lang['bt_subject'], 'tq_content' => $this->email->message ) );
				}
			}
		}
	}

	if ( $count > 0 )
	{
		//-----------------------------------------
		// Update cache with remaning email count
		//-----------------------------------------
		$this->ipsclass->cache['systemvars']['mail_queue'] += $count;
		$this->ipsclass->update_cache( array( 'name' => 'systemvars', 'array' => 1, 'deletefirst' => 0 ) );
	}
	return TRUE;
}

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

'where'  => "ab.blog_id=bt.blog_id AND ab.member_id = bt.member_id",

Здесь поменять. А раз не выставились скобки сами, возможно не сделано всё из http://www.ibresource.ru/forums/index.php?showtopic=24249, ./ips_kernel/class_db_mysql.php

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

менял - не помогает. ошибки для 5-го мускула вроде все исправлял.. щас проверю

 

всё верно! не всё для 5-го мускула было пофиксено. спасибо :D

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

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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