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

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


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

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

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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