Jump to content
Sign in to follow this  
KirKMS

[Модуль] Закрытый профиль By KirKMS

Recommended Posts

Всем привет. Решил написать модуль для публичного доступа.

Модуль позволяет закрыть профиль пользователя, от просмотра информации для тех кто не в друзьях.

Во вам пару скринов.

4YSPhRCc84w.jpg

sB6SzEXrMSU.jpg

 

Видео обзор модуля под спойлером!!!

Спойлер

 

Установка модуля под спойлером.

Спойлер

1)Заходим в файл \system\modules\register.php

Ищем там строку 'val_msg|1||

Вставляем сразу после неё  val_profile|1||

2)Заходим в бд в таблицу _users ищем там user_privacy

И как хотите, так и меняйте каждому пользователю ставим после val_msg|1|| вот это val_profile|1||

Я менял в ручную, т.к мало пользователей.

 

3)Заходим в файл \system\modules\settings.php

Ищем  там строку $tpl->load_template('settings/privacy.tpl');

Вставляем сразу после ней

            $tpl->set('{val_profile1}', $row['val_profile']);
            $tpl->set('{val_profile}', strtr($row['val_profile'], array('1' => 'Открытый', '2' => 'Закрытый')));

Выше ищем строку $val_msg = intval($_POST['val_msg']);

и вставляем над ней $val_profile = intval($_POST['val_profile']);

Ниже ищем строку if($val_msg <= 0 OR $val_msg > 3) $val_msg = 1;

и вставляем над ней if($val_profile <= 0 OR $val_profile > 3) $val_profile = 1;

Ниже ищем строку val_msg|{$val_msg}||

и вставляем сразу после неё val_profile|{$val_profile}||

Закрываем файл и сохраняем его.

 

4)Заходим в файл \system\modules\profile.php

Ищем там строку $tpl->set_block("'\\[privacy-msg\\](.*?)\\[/privacy-msg\\]'si","");

Вставляем сразу после неё

            
            //Приватность профиля
            if($user_privacy['val_profile'] == 1 OR $user_privacy['val_profile'] == 2 AND $check_friend OR $user_id == $id){
                $tpl->set('[privacy-profile]', '');
                $tpl->set('[/privacy-profile]', '');
                $tpl->set_block("'\\[not-privacy-profile\\](.*?)\\[/not-privacy-profile\\]'si","");
            } else {
                $tpl->set('[not-privacy-profile]', '');
                $tpl->set('[/not-privacy-profile]', '');
                $tpl->set_block("'\\[privacy-profile\\](.*?)\\[/privacy-profile\\]'si","");
            }
Закрываем файл и сохранить не забудь.

5) Качаем иконку по  891459.svg и закидываем ее по пути\ваш шаблон\images\

6)Заходим по пути\ваш шаблон\images\privacy.tpl

Ищем там строку  <div class="err_yellow no_display" id="ok_update" style="font-weight:normal;">Новые настройки приватности вступили в силу.</div>

Вставляем сразу после неё

<div class="texta color_000" style="width:300px">Тип <b>профиля</b>:</div>
 <div class="sett_privacy" onClick="settings.privacyOpen('profile')" id="privacy_lnk_profile">{val_profile}</div>
 <div class="sett_openmenu no_display" id="privacyMenu_profile">
  <div id="selected_p_privacy_lnk_msg" class="sett_selected" onClick="settings.privacyClose('profile')">{val_profile}</div>
  <div class="sett_hover" onClick="settings.setPrivacy('val_profile', 'Открытый', '1', 'privacy_lnk_profile')">Открытый</div>
  <div class="sett_hover" onClick="settings.setPrivacy('val_profile', 'Закрытый', '2', 'privacy_lnk_profile')">Закрытый</div>
 </div>
 <input type="hidden" id="val_profile" value="{val_profile1}" />
<div class="mgclr"></div>


7)Заходим по пути\ваш шаблон\js\profile.js

ищем там строку var val_msg = $('#val_msg').val(); вставляем выше неё var val_profile = $('#val_profile').val();

Ниже ищем строку val_msg: val_msg, вставляем выше неё val_profile: val_profile,

Выше ищем oi != 'privacyMenu_msg' вставляем до неё  oi != 'privacyMenu_profile' && oi != 'privacy_lnk_profile' &&

В этой же строке ищем #privacyMenu_msg, вставляем до неё #privacyMenu_profile, 

8 )Заходим по пути\ваш шаблон\profile.tpl

И там где нужно скрыть контент делаем так

[privacy-profile]

тут контент

[/privacy-profile]

Не хочу расписывать каждую строку. Их очень много.

Вот пример

[gifts][privacy-profile]
<a href="/gifts{user-id}" onClick="Page.Go(this.href); return false" style="text-decoration:none">
    <div class="albtitle" style="margin-top:5px">
        {gifts-text}
        <div><b>Все</b></div>
    </div>
    <center>{gifts}</center>
    <div class="clear"></div>
</a>
[/privacy-profile][/gifts]

В конце файла ищем 

<div class="err_yellow" style="font-weight:normal;margin-top:5px">{name} ограничила доступ к своей странице.</div>
[/not-blacklist]

и вставляем ниже

[not-privacy-profile]
<div class="err_yellow" style="font-weight:normal;margin-top:5px">
<img src="{theme}/images/close_profile.svg" <div="" style="
    margin: 0 auto 12px;
    content: '';
    display: block;
    width: 56px;
    height: 56px;
">
<div style="
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    text-align: center;
    padding-bottom: 8px;
"><strong>Это закрытый профиль</strong></div>
<div style="
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    text-align: center;
    padding-bottom: 8px;
">Добавьте {name} в друзья, чтобы смотреть его записи,</br>
фотографии и другие материалы</div>
</div>
[/not-privacy-profile]

 

 

Вот и всё:emoji_1f602:

Не забывайте чистить папку с кэш.

Модуль создан специально для пользователей cmstools.ru

Автор KirKMS

При копирование на сторонние сайты, ссылка на источник. В противном случае при обнаружение "БУДЕТ СТРАЙК"

Всем спасибо за внимание. Оставляйте отзывы и пишите идеи для новых модулей.

  • Upvote 6

Share this post


Link to post
Share on other sites
В 05.11.2020 в 10:06, KirKMS сказал:

Всем привет. Решил написать модуль для публичного доступа.

Модуль позволяет закрыть профиль пользователя, от просмотра информации для тех кто не в друзьях.

Во вам пару скринов.

4YSPhRCc84w.jpg

sB6SzEXrMSU.jpg

 

Видео обзор модуля под спойлером!!!

  Показать контент

 

Установка модуля под спойлером.

  Скрыть контент

1)Заходим в файл \system\modules\register.php

Ищем там строку 'val_msg|1||

Вставляем сразу после неё  val_profile|1||

2)Заходим в бд в таблицу _users ищем там user_privacy

И как хотите, так и меняйте каждому пользователю ставим после val_msg|1|| вот это val_profile|1||

Я менял в ручную, т.к мало пользователей.

 

3)Заходим в файл \system\modules\settings.php

Ищем  там строку $tpl->load_template('settings/privacy.tpl');

Вставляем сразу после ней

            $tpl->set('{val_profile1}', $row['val_profile']);
            $tpl->set('{val_profile}', strtr($row['val_profile'], array('1' => 'Открытый', '2' => 'Закрытый')));

Выше ищем строку $val_msg = intval($_POST['val_msg']);

и вставляем над ней $val_profile = intval($_POST['val_profile']);

Ниже ищем строку if($val_msg <= 0 OR $val_msg > 3) $val_msg = 1;

и вставляем над ней if($val_profile <= 0 OR $val_profile > 3) $val_profile = 1;

Ниже ищем строку val_msg|{$val_msg}||

и вставляем сразу после неё val_profile|{$val_profile}||

Закрываем файл и сохраняем его.

 

4)Заходим в файл \system\modules\profile.php

Ищем там строку $tpl->set_block("'\\[privacy-msg\\](.*?)\\[/privacy-msg\\]'si","");

Вставляем сразу после неё

            
            //Приватность профиля
            if($user_privacy['val_profile'] == 1 OR $user_privacy['val_profile'] == 2 AND $check_friend OR $user_id == $id){
                $tpl->set('[privacy-profile]', '');
                $tpl->set('[/privacy-profile]', '');
                $tpl->set_block("'\\[not-privacy-profile\\](.*?)\\[/not-privacy-profile\\]'si","");
            } else {
                $tpl->set('[not-privacy-profile]', '');
                $tpl->set('[/not-privacy-profile]', '');
                $tpl->set_block("'\\[privacy-profile\\](.*?)\\[/privacy-profile\\]'si","");
            }
Закрываем файл и сохранить не забудь.

5) Качаем иконку по  891459.svg и закидываем ее по пути\ваш шаблон\images\

6)Заходим по пути\ваш шаблон\images\privacy.tpl

Ищем там строку  <div class="err_yellow no_display" id="ok_update" style="font-weight:normal;">Новые настройки приватности вступили в силу.</div>

Вставляем сразу после неё

<div class="texta color_000" style="width:300px">Тип <b>профиля</b>:</div>
 <div class="sett_privacy" onClick="settings.privacyOpen('profile')" id="privacy_lnk_profile">{val_profile}</div>
 <div class="sett_openmenu no_display" id="privacyMenu_profile">
  <div id="selected_p_privacy_lnk_msg" class="sett_selected" onClick="settings.privacyClose('profile')">{val_profile}</div>
  <div class="sett_hover" onClick="settings.setPrivacy('val_profile', 'Открытый', '1', 'privacy_lnk_profile')">Открытый</div>
  <div class="sett_hover" onClick="settings.setPrivacy('val_profile', 'Закрытый', '2', 'privacy_lnk_profile')">Закрытый</div>
 </div>
 <input type="hidden" id="val_profile" value="{val_profile1}" />
<div class="mgclr"></div> 


7)Заходим по пути\ваш шаблон\js\profile.js

ищем там строку var val_msg = $('#val_msg').val(); вставляем выше неё var val_profile = $('#val_profile').val();

Ниже ищем строку val_msg: val_msg, вставляем выше неё val_profile: val_profile, 

Выше ищем oi != 'privacyMenu_msg' вставляем до неё  oi != 'privacyMenu_profile' && oi != 'privacy_lnk_profile' &&

В этой же строке ищем #privacyMenu_msg, вставляем до неё #privacyMenu_profile, 

8 )Заходим по пути\ваш шаблон\profile.tpl

И там где нужно скрыть контент делаем так

[privacy-profile] 

тут контент

[/privacy-profile]

Не хочу расписывать каждую строку. Их очень много.

Вот пример

[gifts][privacy-profile]
<a href="/gifts{user-id}" onClick="Page.Go(this.href); return false" style="text-decoration:none">
    <div class="albtitle" style="margin-top:5px">
        {gifts-text}
        <div><b>Все</b></div>
    </div>
    <center>{gifts}</center>
    <div class="clear"></div>
</a>
[/privacy-profile][/gifts]

В конце файла ищем 

<div class="err_yellow" style="font-weight:normal;margin-top:5px">{name} ограничила доступ к своей странице.</div>
[/not-blacklist]

и вставляем ниже

[not-privacy-profile]
<div class="err_yellow" style="font-weight:normal;margin-top:5px">
<img src="{theme}/images/close_profile.svg" <div="" style="
    margin: 0 auto 12px;
    content: '';
    display: block;
    width: 56px;
    height: 56px;
">
<div style="
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    text-align: center;
    padding-bottom: 8px;
"><strong>Это закрытый профиль</strong></div>
<div style="
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    text-align: center;
    padding-bottom: 8px;
">Добавьте {name} в друзья, чтобы смотреть его записи,</br>
фотографии и другие материалы</div>
</div>
[/not-privacy-profile]

 

 

Вот и всё:emoji_1f602:

Модуль создан специально для пользователей cmstools.ru

Автор KirKMS

При копирование на сторонние сайты, ссылка на источник. В противном случае при обнаружение "БУДЕТ СТРАЙК"

Всем спасибо за внимание. Оставляйте отзывы и пишите идеи для новых модулей.

+ надо папку cache очистить

  • Upvote 1

Share this post


Link to post
Share on other sites
Только что, KirKMS сказал:

@Stark98 Не нужно:emoji_1f602: Рано или поздно само обновиться 

Так, лол, а как проверить тогда работоспособность?)

Share this post


Link to post
Share on other sites

@Stark98 Установи и проверяй. Ты думаешь я совсем не знаю как VII работает и код я написал не сам?

Я когда писал модуль, кэш вообще не трогал. Так что не нужно умничать... 

Share this post


Link to post
Share on other sites
Только что, KirKMS сказал:

@Stark98 Установи и проверяй. Ты думаешь я совсем не знаю как VII работает и код я написал не сам?

Я когда писал модуль, кэш вообще не трогал. Так что не нужно умничать... 

Установил, проверил, пока кеш не очистил, ничего не работало.

Share this post


Link to post
Share on other sites
4 часа назад, KirKMS сказал:

@Stark98 ctrl+f5 и все болячки пропадают 

Я ради интереса запустил OpenServer, накатил Vii чистый и установил опять. Результат? Только с чисткой кеша заработало. Проверил на чистой с форума - там заработало сразу. Вывод - смотря какая сборка. :5aac4b952499e_1(136):

 

4 часа назад, KirKMS сказал:

@Stark98 Установи и проверяй. Ты думаешь я совсем не знаю как VII работает и код я написал не сам?

Я когда писал модуль, кэш вообще не трогал. Так что не нужно умничать... 

Также, я не обвинял тебя

Share this post


Link to post
Share on other sites
8 часов назад, Leymelki сказал:

если в друзьях то пофиг поазует что закрыто

Папку cache очистил? Мне помогло.

Edited by Stark98

Share this post


Link to post
Share on other sites
5 часов назад, Stark98 сказал:

Рад помочь.

Я сам заметил без тебя,но спасибо

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×