Jump to content
CMSTOOLS.ru - форум поддержки и развития CMS

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


Recommended Posts

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

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

Edited by kphp
Link to comment
Share on other sites

  • kphp changed the title to [Модуль] открытие - закрытия группы

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

 

  • Downvote 1
Link to comment
Share on other sites

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

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

 

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

Edited by kphp
Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...