Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

[Модуль] открытие - закрытия группы


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

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

1 заходим в system/classes/wall.public.php
ишем

Спойлер
$tpl->set('{text}', stripslashes($row_wall['text']));
			$tpl->set('{name}', $row_wall['title']);
			
			$tpl->set('{user-id}', $row_wall['public_id']);
			if($row_wall['adres']) $tpl->set('{adres-id}', $row_wall['adres']);
			else $tpl->set('{adres-id}', 'public'.$row_wall['public_id']);
			
			megaDate($row_wall['add_date']);
			
			if($row_wall['photo'])
				$tpl->set('{ava}', '/uploads/groups/'.$row_wall['public_id'].'/50_'.$row_wall['photo']);
			else
				$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
				
			if($row_wall['view_author']==1 and $row_wall['uid']!=0) $tpl->set('{author_view}', '<div class="wall_signed"><a class="wall_signed_by" href="/id'.$idu.'">'.$rowxxd['user_search_pref'].'</a></div>');
			else $tpl->set('{author_view}', '');

 

заменить на

Спойлер
$rowxd = $db->super_query("SELECT user_photo,user_search_pref FROM `".PREFIX."_users` WHERE user_id = '{$row_wall['uid']}'");          
            $tpl->set('{text}', $new_msg);
			$tpl->set('{text1}', stripslashes($row_wall['text']));
			$tpl->set('{user-id}', $row_wall['public_id']);
			megaDate($row_wall['add_date']);
			if($row_wall['uid']!=0 and $row_wall['ofmessgroup']==0) {
				if($rowxd['page_name']) $tpl->set('{adres-id}', $rowxd['page_name']);
				else $tpl->set('{adres-id}', 'u'.$row_wall['uid']);
				if($rowxd['user_photo'])
					$tpl->set('{ava}', '/uploads/users/'.$row_wall['uid'].'/50_'.$rowxd['user_photo']);
				else
					$tpl->set('{ava}', '{theme}/images/no_ava_50.png');	
				$tpl->set('{name}', $rowxd['user_search_pref']);
			} else {
				if($row_wall['adres']) $tpl->set('{adres-id}', $row_wall['adres']);
				else $tpl->set('{adres-id}', 'public'.$row_wall['public_id']);
				if($row_wall['photo'])
					$tpl->set('{ava}', '/uploads/groups/'.$row_wall['public_id'].'/50_'.$row_wall['photo']);
				else
					$tpl->set('{ava}', '{theme}/images/no_ava_50.png');	
				$tpl->set('{name}', $row_wall['title']);
			}
			if($rowxd['user_id']) $page_name_name = $rowxd['user_id'];
			else $page_name_name = 'u'.$row_wall['uid'];
			if($row_wall['view_author']==1 and $row_wall['uid']!=0 and $row_wall['ofmessgroup']==1) $tpl->set('{author_view}', '<div id="post_sig"><a href="/'.$page_name_name.'"onClick="Page.Go(this.href); return false"class="wall_author_bl hash_link"><div class="icon-user-6"></div><div class="aname">'.$rowxd['user_search_pref'].'</div><div class="clear"></div></a></div>');
			else $tpl->set('{author_view}', '');

 

2 заходим в system/modules/ открыть public.php
ишем

Спойлер
if(stripos($row['admin'], "u{$user_id}|") !== false)
			$public_admin = true;
		else
			$public_admin = false;

 

выше вставить

Спойлер
$user_privacy_loting = xfieldsdataload($row['privacy']);
		$country_city_name = explode('|', $row['country_city_name']);
		if($user_privacy_loting['val_intog'] == 1) $user_speedbar = "Открытая группа";
		else $user_speedbar = "Закрытая группа";

 

ишем

Спойлер
//Выводим информцию о том кто смотрит страницу для себя

 

выше вставить

Спойлер
/ Приватность
		if($user_privacy_loting['val_wall1'] == 1){
	        $tpl->set_block("'\\[wall_privacy\\](.*?)\\[/wall_privacy\\]'si","");
		} else {
			$tpl->set('[wall_privacy]', '');
			$tpl->set('[/wall_privacy]', '');
		}
		if($user_privacy_loting['val_wall1'] == 3 and $public_admin == false) {
		    $tpl->set_block("'\\[wall_privacy_admin\\](.*?)\\[/wall_privacy_admin\\]'si","");
		} else {
			$tpl->set('[wall_privacy_admin]', '');
			$tpl->set('[/wall_privacy_admin]', '');
		}

 

ищем

Спойлер
//Проверка подписан юзер или нет
		if(stripos($row['ulist'], "|{$user_id}|") !== false)
			$tpl->set('{yes}', 'no_display');
		else
			$tpl->set('{no}', 'no_display');

 

ниже вставить

Спойлер
//Проверка открыта группа или нет
		if($user_privacy_loting['val_intog'] == 1){
		$tpl->set('{login}', 'Подписатся');
		} else {
		$tpl->set('{login}', 'Подати заяву');
		}

 

3 заходим в system\modules открыть groups.php
ищем

Спойлер
$db->query("INSERT INTO `".PREFIX."_communities` SET title = '{$title}', type = 1, traf = 1, ulist = '|{$user_id}|', date = NOW(), admin = 'u{$user_id}|', real_admin = '{$user_id}', time={$server_time}, comments = 1, privacy = '

 

после вставить

Спойлер
val_wall1|2||val_intog|1||

 

ишем

Спойлер
case "wall_send":

 

ишем там запрос

Спойлер
//Проверка на админа
$row = $db->super_query("SELECT admin, del, ban,

 

внево вставить

Спойлер
privacy

 

ишем

Спойлер
if($podpis == 1 and stripos($row['admin'], "u{$user_id}|") !== false) $podpis = 1;
			else $podpis = 0;
			if(stripos($row['admin'], "u{$user_id}|") !== false AND isset($wall_text) AND !empty($wall_text) OR isset($attach_files) AND !empty($attach_files) AND $row['del'] == 0 AND $row['ban'] == 0){

 

заменить на

Спойлер

            if(isset($wall_text) AND !empty($wall_text) OR isset($attach_files) AND !empty($attach_files) AND $row['del'] == 0 AND $row['ban'] == 0){
		    $user_privacy_loting = xfieldsdataload($row['privacy']);
			if(stripos($row['admin'], "u{$user_id}|") !== false or $user_privacy_loting['val_wall1'] == 2){

 

4 заходим в templates\Default\js открыть profile.js
ищем

Спойлер
var years = $('#years').val();

 

ниже вставить

Спойлер
var val_wall1=$('#wall1').val();
var val_intog=$('#intog').val();

 

ишем

Спойлер
$.post('/index.php?go=editpage&act=saveGeneralInfo', {id:id, title: title, adres: adres,

 

после вставить

Спойлер
val_wall1: val_wall1, val_intog: val_intog,

 

ищем
 

Спойлер
var groups = {

 

после вставить

Спойлер
event: function(event){
     var oi = (event.target) ? event.target.id: ((event.srcElement) ? event.srcElement.id : null); 
     var fast_oi = oi.substring(0, 9);

     if(oi != 'privacyMenu_wall1' && oi!= 'privacyMenu_intog' && oi!= 'privacyMenu_forum' && oi!= 'wall_lnk_wall1' && oi!= 'intog_lnk_wall1' && oi!= 'forum_lnk_wall1')
     $('#privacyMenu_wall1','#privacyMenu_intog','#privacyMenu_forum').fadeOut(120);
     },

 

ищем в этомже коде

Спойлер
edittab_admin: function(id){
		$('#edittab2').show();
		$('#public_editbg_container').animate({scrollLeft: "+820"});
	},

 

ниже вставить
 

Спойлер
privacyOpen: function(id){
$('.sett_openmenu').hide();
$('#privacyMenu_'+id).show();
},
privacyClose:function(id){
$('#privacyMenu_'+id).fadeOut(120);
},
setPrivacy:function(val_id,mtext,opt,text_id){
$('#'+val_id).val(opt);$('#'+text_id).text(mtext);
$('#selected_p_'+text_id).text(mtext);groups.privacyClose(val_id);
},

 

5 заходим в templates\Default\epage открыть edit.tpl
ищем

Спойлер
<div class="result_list_shadow" style="width: 60px; margin-top: 250px; "><div class="shadow1"></div><div class="shadow2"></div></div></div></div>

 

после вставить

Спойлер
</div>
<div class="mgclr" style="padding-top:7px;"></div>
<div class="mgclr clear"></div>
  
    <div class="texta_profileedit">Стена</div>
  <div class="sett_privacy" onClick="groups.privacyOpen('wall1')" id="wall_lnk_wall1" style="margin-top: 3px;">{val_wall1_text_wall}</div>
  <div class="sett_openmenu no_display" id="privacyMenu_wall1" style="margin-top: 3px;margin-left: 255px;width: 272px;">
  <div id="selected_p_wall_lnk_wall1" class="sett_selected" onClick="groups.privacyClose('wall1')">{val_wall1_text_wall}</div>
  <div class="sett_hover" onClick="groups.setPrivacy('wall1', 'Выключена', '1', 'wall_lnk_wall1')">Выключена (Не доступна никому)</div>
  <div class="sett_hover" onClick="groups.setPrivacy('wall1', 'Открытая', '2', 'wall_lnk_wall1')">Открытая (На стене писать могут все)</div>
  <div class="sett_hover" onClick="groups.setPrivacy('wall1', 'Закрытая', '3', 'wall_lnk_wall1')">Закрытая (только администраторы сообщества)</div>
  </div>
  
  <input type="hidden" id="wall1" value="{val_wall1_wall}" />
  <div class="mgclr"></div>
  <div class="texta_profileedit">Тип группы:</div>
  <div class="sett_privacy" onClick="groups.privacyOpen('intog')" id="intog_lnk_wall1" style="margin-top: 3px;">{val_intog_text}</div>
  <div class="sett_openmenu no_display" id="privacyMenu_intog" style="margin-top: 3px;margin-left: 255px;width: 272px;">
  <div id="selected_p_wall_lnk_wall1" class="sett_selected" onClick="groups.privacyClose('intog')">{val_intog_text}</div>
  <div class="sett_hover" onClick="groups.setPrivacy('intog', 'Открытая', '1', 'intog_lnk_wall1')">Открытые (Видят все пользователи)</div>
  <div class="sett_hover" onClick="groups.setPrivacy('intog', 'Закрытая', '2', 'intog_lnk_wall1')">Ограниченные (Видят только подписчики)</div>
  </div>

 

6  заходим в system\modules открыть editpage.php
ищем

Спойлер
$tpl->set('{pid}', $pid);
$tpl->set('{title}', stripslashes($row['title']));

 

выще вставить
 

Спойлер
$rowd = xfieldsdataload($row['privacy']);
					$tpl->set('{val_wall1_wall}', $rowd['val_wall1']);
		            $tpl->set('{val_wall1_text_wall}', strtr($rowd['val_wall1'], array('1' => 'Выключена (Не доступна никому)', '2' => 'Открытая (На стене писать могут все)', '3' => 'Закрытая (Только администраторы сообщества)')));
		            $tpl->set('{val_intog}', $rowd['val_intog']);
		            $tpl->set('{val_intog_text}', strtr($rowd['val_intog'], array('1' => 'Открытая (Вступление в сообщество открыто)', '2' => 'Закрытая (Проверять заявки на вступление)')));

 

ишем

Спойлер
$years = intval($_POST['years']);

 

ниже вставить

Спойлер
$val_wall1 = intval($_POST['val_wall1']);
$val_intog = intval($_POST['val_intog']);

 

ишем

Спойлер
if($links<0 or $links>1) $links = 0;
if($albums<0 or $albums>1) $albums = 0;

 

више вставить

Спойлер
if($val_wall1 <= 0 OR $val_wall1 > 3) $val_wall1 = 1;
if($val_intog <= 0 OR $val_intog > 2) $val_intog = 1;

 

ишем

Спойлер
$privacy = "p_audio|{$audio}||p_contact|{$contact}||p_videos|{$videos}||

 

после вставить

Спойлер
val_wall1|{$val_wall1}||val_intog|{$val_intog}||

 

7 заходим в templates\Default\public открыть main.tpl
ишем

Спойлер
<div id="wallpublic">

выше вставить

[wall_privacy]

ишем

[admin_red]<div class="newmes" id="wall_tab" style="border-bottom:0px;margin-bottom:-5px">

заменить [admin_red]

на эта

[wall_privacy_admin]

ишем

</div>[/admin_red]

заменить [/admin_red]

на эта

[/wall_privacy_admin]

ишем

<div id="public_wall_records">{records}</div>

перед ней вставить

[/wall_privacy]

 

 

[Модуль] приватнастей в группу.txt

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

  • kphp изменил название на [Модуль] открытие - закрытия группы

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

 

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

38 минут назад, NaFanyA сказал:

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

 

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

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

34 минуты назад, kphp сказал:

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

Прочитай сам: "виде ставим, ищем", и так весь пост, ты называешь это достойным постом для форума? Такие посты уже как минимум нужно удалять.

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

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