Jump to content

[Модуль] Закрытый профиль 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

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

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

  • Like 1
  • Upvote 6
Link to comment
Share on other sites

  • 3 weeks later...
В 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
Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

Только что, KirKMS сказал:

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

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

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

Link to comment
Share on other sites

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

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

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

 

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

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

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

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

Link to comment
Share on other sites

  • 3 months later...
В 25.11.2020 в 20:27, Leymelki сказал:

все новые зареганые с замком(

Значит что-то неправильно сделал. Всё отлично встало, новореги  с открытым профилем

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...