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

[2.1.x]mod_family [Мод семьи]


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

Уважаемый Destruction. пожалуйста обьясните, как сделать вывод данных о семье под аватаром.
Ссылка на комментарий
Поделиться на других сайтах

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

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

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

Загружено фотографий

А если я ленивый ? )

 

Вообще - это приведёт к целому ряду дополнительных запросов к MySQL, вернее - для каждого поста по запросу, посему делать это не рекоммендую - нужно менять структуру мода.

 

Вобщем проверять не буду - нету под рукой установленного мода, а в общих чертах, так:

 

/sources/sql/mysql_queries.php

Найти (в функциях topics_get_posts и topics_get_posts_with_join):

m.members_display_name

Добавить далее:

, m.family

 

/sources/lib/func_topic_linear.php и /sources/lib/func_topic_threaded.php

 

Найти:

			$poster = $return['poster'];
		$row	= $return['row'];

Добавить ниже:

		// mod_family
	$bonds_string = explode( "\r\n", $this->ipsclass->vars['mod_family_bonds'] );
	$bond = array();
	for( $i = 0; $i < count( $bonds_string ); $i ++ ){
		$bonds[] = explode( "=", $bonds_string[$i] );
		if( !in_array( $bonds[ count( $bonds )-1 ][0], $bond ) ){
			$bond[] = $bonds[ count( $bonds )-1 ][0];
		}
		if( !in_array( $bonds[ count( $bonds )-1 ][1], $bond ) ){
			$bond[] = $bonds[ count( $bonds )-1 ][1];
		}
	}
	$ids = array();
	$states = array();
	$family = explode( ";", $poster['family'] );
	for( $i = 0; $i < count( $family ); $i ++ ){
		list( $id, $state ) = explode( ":", $family[$i] );
		if( !strlen( $id ) || !strlen( $state ) ){
			continue;
		}
		$ids[] = $id;
		$states[ $id ] = $state;
	}
	$ids = implode( ",", $ids );
	$family = array();
	if( !empty( $ids ) ){
		$this->ipsclass->DB->query( "SELECT id, members_display_name as mdname FROM ibf_members WHERE id IN( $ids ) LIMIT " . count( $states ) );
		while( $kin = $this->ipsclass->DB->fetch_row() ){
			$family[] = $kin['mdname'] . "[" . $bond[ $states[ $kin[ 'id' ] ] ]	 . "]";
		}
	}
	$poster['family'] = implode( ", ", $family );
	// end mod_family

 

Ну, а затем заталкиваем в нужное место в skin_topic > RenderRow из переменной {$poster['family']}.

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

Аффтар , респект , всё сделал

Конечно хорошо было бы если бы была проверка например на количество родственников , что юы мона было ограничения ставить

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

Помоему запрос на проверку существования нампример одного мамы или папы должен идти что то вроде вот таким образом

 

if (mysql_num_rows(mysql_query("SELECT id FROM ibf_members  WHERE id = '".ид пользователя, тоесть себя."' And LIKE '".id кого хочиш добавить ник пользователя.":".тип, ну там мама или папа."'  LIMIT 1”)) > 0)
{$error = 'у вас уже есть мама или папа ...';}

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

аналогично даже ничего не добавилось и не появилось совсем ничего ...

6 настроек обновлены и 0 вставлены ...

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

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

Так, мод для 2.1.x, а 2.1.x не приспособлен к 5ому MySQL.

 

Так, что я не усматриваю тут никаких недоделок со своей стороны, хотя конечно можно было бы что-то подправить, но переходить на MySQL 5 очень не хочется.

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

Всем привет! Офигеть модуль, то что надо! Спасибо! но у меня ьаг :D При выборе значит любого там кого хош пишет мол кто ты сам себе будеш? ;)( Всё ж прпавильно сделал...и ссылка в профиле не отображаеться..тока вручную вводить (( Надеюсь на помошь
Ссылка на комментарий
Поделиться на других сайтах

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

Установил все по инструкции: выходит ошибка:D

Parse error: syntax error, unexpected T_CASE, expecting ':' or '{' in /www_host/hosts/harry.w6.ru/sources/action_public/usercp.php on line 170

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

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

поставил на 2.2.2 все работает :D спасибо большое ;)

 

пришлось только немножко изменить пути:

 

АЦ > ВНЕШНИЙ ВИД > * > Изменить HTML-фрагменты > skin_ucp > Добавить шаблон

Название: family

Входящие переменные: $family, $options, $select, $keys

Содержание:

 

<script type="text/javascript">
<!-- //
function update_array(id){
  var keys = new Array($keys);
  for( var i = 0; i < keys.length; i++ ){
     document.getElementById('bond_'+i).style.display='none';
  }
  document.getElementById('bond_'+id).style.display='';
}
// -->
</script>
<div class="formsubtitle">Настройки семьи</div>
<form action="{$this->ipsclass->base_url}" method="post">
<table class='ipbtable' cellspacing="0">
<input type="hidden" name="act" value="UserCP" />
<input type="hidden" name="CODE" value="do_family" />
<input type="hidden" name="do" value="add" />
<tr>
<td class="pformleft"><b>Ник на форуме</b></td>
<td class="pformright"><input type="text" name="username" value="Родственник" onfocus="if(this.value=='Родственник')this.value='';" onblur="if(this.value=='')this.value='Родственник';"></td>
</tr>
<td class="pformleft"><b>Кем он(а) тебе будет?</b></td>
<td class="pformright"><select name="type" onchange="update_array(this.value);"><option selected>--Выберите--$options</select></td>
</tr>
</tr>
<td class="pformleft"><b>Кем ты ему|ей будешь?</b></td>
<td class="pformright">$select </td>
</tr>
</table>
<div class="formsubtitle" style="text-align: center;"><input type="submit" class='button' value="Добавить родственника"></div>
</form>
<br />
<div class="formsubtitle">Родственники</div>
<table class='ipbtable' cellspacing="0">
$family
</table>

 

АЦ > ВНЕШНИЙ ВИД > * > Изменить HTML-фрагменты > skin_ucp > Добавить шаблон

Название: family_row

Входящие переменные: $name, $state, $id

Содержание:

 

<tr>
<td class="pformleft">$name [$state]</td>
<td class="pformright">
<if="$this->ipsclass->vars['mod_family_on'] == 1 && in_array($this->ipsclass->member['mgroup'], explode(',',$this->ipsclass->vars['mod_family_delete']))">
<a href="{$this->ipsclass->base_url}act=UserCP&CODE=dele_family&id=$id" style="color:red;">{$this->ipsclass->lang['delete']}</a> | 
</if>
<a href="{$this->ipsclass->base_url}showuser=$id" style="color:blue;">{$this->ipsclass->lang['profile']}</a>
</td>
</tr>

 

АЦ > ВНЕШНИЙ ВИД > * > Изменить HTML-фрагменты > skin_ucp > Menu_bar

Найти:

 

<div class="formsubtitle">{$this->ipsclass->lang['m_personal']}</div>
		<p>

 

Добавить ниже:

 

<if="$this->ipsclass->vars['mod_family_on'] == 1 && in_array($this->ipsclass->member['mgroup'], explode(',',$this->ipsclass->vars['mod_family_agroups']))">
       <{ITEM_START}> <a href="{$this->ipsclass->base_url}act=UserCP&CODE=family">{$this->ipsclass->lang['family']}</a><br />
</if>

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

я так и не понял что найти?!?!?

 

 

 

Найти:
}

?>

Добавить выше:
/*-------------------------------------------------*/
// Mod family start
/*-------------------------------------------------*/
function family(){
	// check mod_family on
	if( $this->ipsclass->vars['mod_family_on'] != "1" ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_disabl_function' ) );
	}
	// check mod_family access
	if( !in_array( $this->ipsclass->member['mgroup'], explode(",", $this->ipsclass->vars['mod_family_agroups'] ) ) ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_forbid_function' ) );
	}
	// generate bond arrays
	$bonds_string = explode( "\r\n", $this->ipsclass->vars['mod_family_bonds'] );
	$bond = array();
	for( $i = 0; $i < count( $bonds_string ); $i ++ ){
		$bonds[] = explode( "=", $bonds_string[$i] );
		if( !in_array( $bonds[ count( $bonds )-1 ][0], $bond ) ){
			$bond[] = $bonds[ count( $bonds )-1 ][0];
		}
		if( !in_array( $bonds[ count( $bonds )-1 ][1], $bond ) ){
			$bond[] = $bonds[ count( $bonds )-1 ][1];
		}
	}
	for( $i = 0; $i < count( $bond ); $i ++ ){
		$keys[] = "'".$i."'";
		$options[$i] = "<option value='{$i}'>".$bond[$i];
			$select[$i] = array();
			for( $j = 0; $j < count( $bonds ); $j ++ ){
				if( $bonds[$j][0] == $bond[$i] && !in_array( "<option value='".array_search( $bonds[$j][1], $bond )."'>" . $bonds[$j][1] , $select[$i] ) ){
					$select[$i][] = "<option value='".array_search( $bonds[$j][1], $bond )."'>" . $bonds[$j][1];
				}
				if( $bonds[$j][1] == $bond[$i] && !in_array( "<option value='".array_search( $bonds[$j][0], $bond )."'>" . $bonds[$j][0] , $select[$i] ) ){
					$select[$i][] = "<option value='".array_search( $bonds[$j][0], $bond )."'>" . $bonds[$j][0];
				}
			}
		}
		for( $i = 0; $i < count( $select ); $i++ ){
			$select[$i] = "<select id='bond_{$i}' style='display:none;' name='you_type_{$i}'>\r\n" . implode( "\r\n", $select[$i] ) . "\r\n</select>";
		}
		$select = implode( "\r\n", $select );
		$options = implode( "\r\n", $options );
		$keys = implode( ", ", $keys );
		$family = explode( ";", $this->ipsclass->member['family']);
		$in = "";
		for( $i = 0; $i < count( $family ); $i ++ ){
			list($id, $state) = explode( ":", $family[$i] );
			if( !strlen( $id ) || !strlen( $state ) ){
				continue;
			}
			if( strlen( $in ) ){
				$in .= ",";
			}
			$what[ $id ] = $bond[ $state ];
			$in .= "'" . $id . "'";
		}
		$rows = array();
		if( strlen( $in ) ){
			$this->ipsclass->DB->query( "SELECT id, members_display_name FROM ibf_members WHERE id IN( $in )" );
			while( $family = $this->ipsclass->DB->fetch_row() ){
				$rows[] = $this->ipsclass->compiled_templates['skin_ucp']->family_row( $family['members_display_name'], $what[ $family[ 'id' ] ], $family['id'] );
			}
		}
		$rows = implode( "\r\n", $rows );
	$this->output .= $this->ipsclass->compiled_templates['skin_ucp']->family( $rows, $options, $select, $keys );
}

function delete_family(){
	$id = intval( $this->ipsclass->input['id'] );
	$family = explode( ";", $this->ipsclass->member['family'] );
	$fam = "";
	for( $i = 0; $i < count( $family ); $i ++ ){
		list( $uid, $state ) = explode( ":", $family[$i] );
		if( !strlen( $id ) || !strlen( $state ) || $uid == $id ){
			continue;
		}
		if( strlen( $fam ) ){
			$fam .= ";";
		}
		$fam .= $uid . ":" . $state;
	}
	$this->ipsclass->DB->query( "UPDATE ibf_members SET family='$fam' WHERE id='{$this->ipsclass->member['id']}'" );
	$this->ipsclass->DB->query( "SELECT family FROM ibf_members WHERE id='$id'" );
	$family = $this->ipsclass->DB->fetch_row();
	$family = explode( ";", $family['family'] );
	$fam = "";
	for( $i = 0; $i < count( $family ); $i ++ ){
		list( $uid, $state ) = explode( ":", $family[$i] );
		if( !strlen( $id ) || !strlen( $state ) || $uid == $this->ipsclass->member['id'] ){
			continue;
		}
		if( strlen( $fam ) ){
			$fam .= ";";
		}
		$fam .= $uid . ":" . $state;
	}
	$this->ipsclass->DB->query( "UPDATE ibf_members SET family='$fam' WHERE id='$id'" );
	$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['family_deleted'], 'act=UserCP&CODE=family' );
}

function do_family(){
	// check mod_family on
	if( $this->ipsclass->vars['mod_family_on'] != "1" ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_disabl_function' ) );
	}
	// check mod_family access
	if( !in_array( $this->ipsclass->member['mgroup'], explode(",", $this->ipsclass->vars['mod_family_agroups'] ) ) ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_forbid_function' ) );
	}
	// check username
	$username = addslashes( $this->ipsclass->input['username'] );
	$this->ipsclass->DB->query( "SELECT id, family, mgroup FROM ibf_members WHERE members_display_name='$username'" );
	if( !$user = $this->ipsclass->DB->fetch_row() ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'user_not_found' ) );
	}
	// already validating ?
	$this->ipsclass->DB->query( "SELECT id FROM ibf_family_validating WHERE fid IN ({$user['id']},{$this->ipsclass->member['id']}) AND tid IN ({$user['id']},{$this->ipsclass->member['id']})" );
	if( $this->ipsclass->DB->get_num_rows() > 0 ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'family_already_validating' ) );
	}
	// input user - self ?
	if( $this->ipsclass->member['id'] == $user['id'] ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'family_self' ) );
	}
	// his can't use function ?
	if( !in_array( $user['mgroup'], explode(",", $this->ipsclass->vars['mod_family_agroups'] ) ) ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_forbid_function_for_user' ) );
	}
	// grab data
	$his_state = intval( $this->ipsclass->input['type'] );
	$you_state = intval( $this->ipsclass->input['you_type_'.$his_state] );
	// generate bond arrays
	$bonds_string = explode( "\r\n", $this->ipsclass->vars['mod_family_bonds'] );
	$bond = array();
	for( $i = 0; $i < count( $bonds_string ); $i ++ ){
		$bonds[] = explode( "=", $bonds_string[$i] );
		if( !in_array( $bonds[ count( $bonds )-1 ][0], $bond ) ){
			$bond[] = $bonds[ count( $bonds )-1 ][0];
		}
		if( !in_array( $bonds[ count( $bonds )-1 ][1], $bond ) ){
			$bond[] = $bonds[ count( $bonds )-1 ][1];
		}
	}
	if( !isset( $bond[ $his_state ] ) ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'incorret_family_type' ) );
	}
	$flag = false;
	for( $i = 0; $i < count( $bonds ); $i ++ ){
		if(
			$bonds[$i][0] == $bond[$his_state]
				&& $bonds[$i][1] == $bond[$you_state]
			|| $bonds[$i][1] == $bond[$his_state]
				&& $bonds[$i][0] == $bond[$you_state]
		){
			$flag = true;
			break;
		}
	}
	if( !$flag ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'incorret_family_type' ) );
	}
	// you family
	$you_family = explode( ";", $this->ipsclass->member['family'] );
	$you_fam = array();
	for( $i = 0; $i < count( $you_family ); $i ++ ){
		if( empty( $you_family[$i] ) ){
			continue;
		}
		$family = explode( ":", $you_family[$i] );
		$you_fam[ $family[0] ] = $family[1];
	}
	if( isset( $you_fam[ $user['id'] ] ) ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'already_in_family' ) );
	}
	// his family
	$his_family = explode( ";", $user['family'] );
	$his_fam = array();
	for( $i = 0; $i < count( $his_family ); $i ++ ){
		if( empty( $his_family[$i] ) ){
			continue;
		}
		$family = explode( ":", $his_family[$i] );
		$his_fam[ $family[0] ] = $family[1];
	}
	if( isset( $his_fam[ $this->ipsclass->member['id'] ] ) ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'already_in_family' ) );
	}
	// build family line
	$you_fam[ $user['id'] ] = $his_state;
	$his_fam[ $this->ipsclass->member['id'] ] = $you_state;
	$you_family = "";
	$his_family = "";
	foreach( $you_fam as $id => $state ){
		$you_family .= ";" . $id . ":" . $state;
	}
	foreach( $his_fam as $id => $state ){
		$his_family .= ";" . $id . ":" . $state;
	}
	$you_family = substr( $you_family, 1, strlen( $you_family ) );
	$his_family = substr( $his_family, 1, strlen( $his_family ) );
	if( strlen( $you_family ) > 255 ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'your_family_to_long' ) );
	}
	if( strlen( $his_family ) > 255 ){
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'his_family_to_long' ) );
	}
	if( in_array( $this->ipsclass->member['mgroup'], explode( ",", $this->ipsclass->vars['mod_family_nopm'] ) ) ){
		// add to family
		$this->ipsclass->DB->query( "UPDATE ibf_members SET family='$you_family' WHERE id='{$this->ipsclass->member['id']}'" );
		$this->ipsclass->DB->query( "UPDATE ibf_members SET family='$his_family' WHERE id='{$user['id']}'" );
		$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['added_to_family'], 'act=UserCP&CODE=family' );
	}
	else{
		// send pm and insert to validating table
		$this->ipsclass->DB->query( "INSERT INTO ibf_family_validating VALUES('', '{$this->ipsclass->member['id']}', '{$user['id']}', '{$you_state}', '{$his_state}', '".time()."')" );
		$v_id = $this->ipsclass->DB->get_insert_id();
		$this->fast_pm( sprintf( $this->ipsclass->lang['family_msg_text'], $username, $bond[$his_state], $this->ipsclass->base_url."act=UserCP&CODE=accept_family&id=$v_id", $this->ipsclass->base_url."act=UserCP&CODE=decline_family&id=$v_id" ), $this->ipsclass->member['id'], $user['id'], $this->ipsclass->lang['family_msg_title'] );
		$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['added_to_validating'], 'act=UserCP&CODE=family' );
	}
}

function v_family( $mode ){
	// if selected accept
	if( $mode ){
		// accept family validation
		// check mod_family on
		if( $this->ipsclass->vars['mod_family_on'] != "1" ){
			$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_disabl_function' ) );
		}
		// check mod_family access
		if( !in_array( $this->ipsclass->member['mgroup'], explode(",", $this->ipsclass->vars['mod_family_agroups'] ) ) ){
			$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_forbid_function' ) );
		}
		$vid = intval( $this->ipsclass->input['id'] );
		// grab family accept data
		$this->ipsclass->DB->query( "SELECT * FROM ibf_family_validating WHERE id='$vid' AND tid='{$this->ipsclass->member['id']}'" );
		// check exists
		if( !$family = $this->ipsclass->DB->fetch_row() ){
			$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_family_validate' ) );
		}
		// grab users family data
		$this->ipsclass->DB->query( "SELECT family FROM ibf_members WHERE id='{$family['fid']}'" );
		$his_family = $this->ipsclass->DB->fetch_row();
		$his_family = $his_family['family'];
		$you_family = $this->ipsclass->member['family'];
		// update his family
		if( strlen( $his_family ) ){
			$his_family .= ";";
		}
		$his_family .= $family['tid'] . ":" . $family['tstate'];
		// update you family
		if( strlen( $you_family ) ){
			$you_family .= ";";
		}
		$you_family .= $family['fid'] . ":" . $family['fstate'];
		// insert updated data and delete validating
		$this->ipsclass->DB->query( "DELETE FROM ibf_family_validating WHERE id='$vid' AND tid='{$this->ipsclass->member['id']}'" );
		$this->ipsclass->DB->query( "UPDATE ibf_members SET family='$you_family' WHERE id='{$family['tid']}'" );
		$this->ipsclass->DB->query( "UPDATE ibf_members SET family='$his_family' WHERE id='{$family['fid']}'" );
		$this->fast_pm( sprintf( $this->ipsclass->lang['do_accept_family_text'], $this->ipsclass->member['members_display_name'] ), $family['tid'], $family['fid'], $this->ipsclass->lang['do_accept_family_title'] );
		$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['validating_complete'], 'act=UserCP&CODE=family' );
	}
	else{
		// decline family validation
		// check mod_family on
		if( $this->ipsclass->vars['mod_family_on'] != "1" ){
			$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_disabl_function' ) );
		}
		// check mod_family access
		if( !in_array( $this->ipsclass->member['mgroup'], explode(",", $this->ipsclass->vars['mod_family_agroups'] ) ) ){
			$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'admin_forbid_function' ) );
		}
		$vid = intval( $this->ipsclass->input['id'] );
		$this->ipsclass->DB->query( "SELECT * FROM ibf_family_validating WHERE id='$vid' AND tid='{$this->ipsclass->member['id']}'" );
		// check exists
		if( !$family = $this->ipsclass->DB->fetch_row() ){
			$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_family_validate' ) );
		}
		$this->ipsclass->DB->query( "DELETE FROM ibf_family_validating WHERE id='$vid' AND tid='{$this->ipsclass->member['id']}'" );
		$this->fast_pm( sprintf( $this->ipsclass->lang['do_decline_family_text'], $this->ipsclass->member['members_display_name'] ), $family['tid'], $family['fid'], $this->ipsclass->lang['do_decline_family_title'] );
		$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['validating_complete'], 'act=UserCP&CODE=family' );
	}
}

function fast_pm( $post, $from, $to, $title ){
		$this->ipsclass->DB->do_insert( 'message_text', array(
		   'msg_date'		   => time(),
		   'msg_post'		  => $post,
		   'msg_sent_to_count' => "1",
		   'msg_post_key'	  => md5(microtime()),
		   'msg_author_id'	 => $frin,
		   'msg_ip_address'	=> $this->ipsclass->ip_address
	)	  );
	$msg_id = $this->ipsclass->DB->get_insert_id();
	$this->ipsclass->DB->do_insert( 'message_topics', array(
			'mt_msg_id'	 => $msg_id,
			'mt_date'	   => time(),
			'mt_title'	  => $title,
			'mt_from_id'	=> $from,
			'mt_to_id'	  => $to,
			'mt_vid_folder' => 'in',
			'mt_owner_id'   => $to,
	)	  );

	//-----------------------------------------
	// Update profile
	//-----------------------------------------
	$this->ipsclass->DB->query( "SELECT vdirs FROM ibf_member_extra WHERE id='$to'" );
	$vdirs = $this->ipsclass->DB->fetch_row();
		preg_match( "#(?:^|\|)in:.+?;(\d+)(?:\||$)#i", $vdirs['vdirs'], $match );
	$inbox_count = intval($match[1])+1;
	foreach( explode( "|", $vdirs['vdirs'] ) as $dir ){
		list ($id  , $data)  = explode( ":", $dir );
		list ($real, $count) = explode( ";", $data );
		if ( ! $id ){
			continue;
		}
		if ( $id == 'in' ){
			$count = $inbox_count;
			$count = $count < 1 ? 0 : $count;
		}
		$rebuild[$id] = $id.':'.$real.';'.intval($count);
	}
	$final = implode( '|', $rebuild );
	$this->ipsclass->DB->query( "UPDATE ibf_member_extra SET vdirs='$final' WHERE id='$to'" );
	$this->ipsclass->DB->query( "UPDATE ibf_members SET new_msg=new_msg+1 WHERE id='$to'" );
}
/*-------------------------------------------------*/
// Mod family end
/*-------------------------------------------------*/

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

Найти:

}

 

?>

То что выделено, что тут непонятного? :D

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

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

установил на 2.3.4 мод.

прежде был 2.1.7 с модом, но после апдейта надо ещо раз мод ставить

ну все вроди стоит только:

1) не могу добавлять нормально соответствуещие родствиники (см. вкладышы)

2) БД не трогал, а семья с 2.1.7 почемуто не отображаетса в порфилях вопше. будто ее нет. но в БД есть!

 

п.с. рисунки к 1 вопросу

post-34677-1204661812_thumb.jpg

post-34677-1204661821_thumb.jpg

post-34677-1204661828_thumb.jpg

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

лан.

 

другой вопрос.

 

тотже форум 2.3.4 - поставил мод. вродь пашет, но в профиле невидно семей вопше (тех кто в ней и заголовка пита "семья") вопше ничево.. но семья стоит!

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

OK

 

вопрос номер три (мож хоть здесь помощь будет)

 

кто-то имеет модуль для IPB 2.3.4. ?

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

  • 4 месяца спустя...
установил на 2.3.4 мод.

прежде был 2.1.7 с модом, но после апдейта надо ещо раз мод ставить

ну все вроди стоит только:

1) не могу добавлять нормально соответствуещие родствиники (см. вкладышы)

2) БД не трогал, а семья с 2.1.7 почемуто не отображаетса в порфилях вопше. будто ее нет. но в БД есть!

 

п.с. рисунки к 1 вопросу

По первому вопросу аналогичная проблема.

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

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

теперь подскажите как базу даных очищать а то выдает ошибку базы даных при регистрации а я потом сойл сморил ошибки и вот чё писало

 

===================================================

Время: Sat, 09 Aug 2008 06:14:44 +0400

Код ошибки: 1364

Сообщение сервера: Field 'warntext' doesn't have a default value

IP-адрес клиента: 10.1.100.67

Страница: /forums/index.php

Запрос: INSERT INTO ibff_member_extra (id,vdirs,interests,signature) VALUES(146,'in:Входящие|sent:Отправленные','','')

 

 

помогите оч прошу

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

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

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

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

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