KirKMS Опубликовано 5 ноября, 2020 Жалоба Поделиться Опубликовано 5 ноября, 2020 Всем привет. Решил написать модуль для публичного доступа. Модуль позволяет закрыть профиль пользователя, от просмотра информации для тех кто не в друзьях. Во вам пару скринов. Видео обзор модуля под спойлером!!! Спойлер Установка модуля под спойлером. Спойлер 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) Качаем иконку по и закидываем ее по пути\ваш шаблон\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] Вот и всё Не забывайте чистить папку с кэш. Модуль создан специально для пользователей cmstools.ru Автор KirKMS При копирование на сторонние сайты, ссылка на источник. В противном случае при обнаружение "БУДЕТ СТРАЙК" Всем спасибо за внимание. Оставляйте отзывы и пишите идеи для новых модулей. 1 6 Ссылка на комментарий Поделиться на другие сайты Поделиться
Maxim Lovly Опубликовано 5 ноября, 2020 Жалоба Поделиться Опубликовано 5 ноября, 2020 Годно, думаю возьму кое что к себе в сборочку. Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 22 ноября, 2020 Жалоба Поделиться Опубликовано 22 ноября, 2020 В 05.11.2020 в 10:06, KirKMS сказал: Всем привет. Решил написать модуль для публичного доступа. Модуль позволяет закрыть профиль пользователя, от просмотра информации для тех кто не в друзьях. Во вам пару скринов. Видео обзор модуля под спойлером!!! Показать контент Установка модуля под спойлером. Скрыть контент 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) Качаем иконку по и закидываем ее по пути\ваш шаблон\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] Вот и всё Модуль создан специально для пользователей cmstools.ru Автор KirKMS При копирование на сторонние сайты, ссылка на источник. В противном случае при обнаружение "БУДЕТ СТРАЙК" Всем спасибо за внимание. Оставляйте отзывы и пишите идеи для новых модулей. + надо папку cache очистить 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 22 ноября, 2020 Автор Жалоба Поделиться Опубликовано 22 ноября, 2020 @Stark98 Не нужно Рано или поздно само обновиться Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 22 ноября, 2020 Жалоба Поделиться Опубликовано 22 ноября, 2020 Только что, KirKMS сказал: @Stark98 Не нужно Рано или поздно само обновиться Так, лол, а как проверить тогда работоспособность?) Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 22 ноября, 2020 Автор Жалоба Поделиться Опубликовано 22 ноября, 2020 @Stark98 Установи и проверяй. Ты думаешь я совсем не знаю как VII работает и код я написал не сам? Я когда писал модуль, кэш вообще не трогал. Так что не нужно умничать... Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 22 ноября, 2020 Жалоба Поделиться Опубликовано 22 ноября, 2020 Только что, KirKMS сказал: @Stark98 Установи и проверяй. Ты думаешь я совсем не знаю как VII работает и код я написал не сам? Я когда писал модуль, кэш вообще не трогал. Так что не нужно умничать... Установил, проверил, пока кеш не очистил, ничего не работало. Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 22 ноября, 2020 Автор Жалоба Поделиться Опубликовано 22 ноября, 2020 @Stark98 ctrl+f5 и все болячки пропадают Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 22 ноября, 2020 Жалоба Поделиться Опубликовано 22 ноября, 2020 4 часа назад, KirKMS сказал: @Stark98 ctrl+f5 и все болячки пропадают Я ради интереса запустил OpenServer, накатил Vii чистый и установил опять. Результат? Только с чисткой кеша заработало. Проверил на чистой с форума - там заработало сразу. Вывод - смотря какая сборка. 4 часа назад, KirKMS сказал: @Stark98 Установи и проверяй. Ты думаешь я совсем не знаю как VII работает и код я написал не сам? Я когда писал модуль, кэш вообще не трогал. Так что не нужно умничать... Также, я не обвинял тебя Ссылка на комментарий Поделиться на другие сайты Поделиться
Leymelki Опубликовано 22 ноября, 2020 Жалоба Поделиться Опубликовано 22 ноября, 2020 если в друзьях то пофиг поазует что закрыто Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 23 ноября, 2020 Жалоба Поделиться Опубликовано 23 ноября, 2020 (изменено) 8 часов назад, Leymelki сказал: если в друзьях то пофиг поазует что закрыто Папку cache очистил? Мне помогло. Изменено 23 ноября, 2020 пользователем Stark98 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leymelki Опубликовано 23 ноября, 2020 Жалоба Поделиться Опубликовано 23 ноября, 2020 1 час назад, Stark98 сказал: Папку cache очистил? Мне помогло. Да уже потом заметил! Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 23 ноября, 2020 Жалоба Поделиться Опубликовано 23 ноября, 2020 8 часов назад, Leymelki сказал: Да уже потом заметил! Рад помочь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Print_control Опубликовано 23 ноября, 2020 Жалоба Поделиться Опубликовано 23 ноября, 2020 Пока кеш не очистил не роботоло Ссылка на комментарий Поделиться на другие сайты Поделиться
Leymelki Опубликовано 23 ноября, 2020 Жалоба Поделиться Опубликовано 23 ноября, 2020 5 часов назад, Stark98 сказал: Рад помочь. Я сам заметил без тебя,но спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Leymelki Опубликовано 25 ноября, 2020 Жалоба Поделиться Опубликовано 25 ноября, 2020 все новые зареганые с замком( Ссылка на комментарий Поделиться на другие сайты Поделиться
RUS67 Опубликовано 12 марта, 2021 Жалоба Поделиться Опубликовано 12 марта, 2021 В 25.11.2020 в 20:27, Leymelki сказал: все новые зареганые с замком( Значит что-то неправильно сделал. Всё отлично встало, новореги с открытым профилем Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения