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

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

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

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

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

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
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
В 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
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

8 часов назад, Leymelki сказал:

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

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

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

  • 3 месяца спустя...
В 25.11.2020 в 20:27, Leymelki сказал:

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

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

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

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