Доработать функцию

moradin

Постоялец
Регистрация
11 Фев 2016
Сообщения
76
Реакции
14
Доброго времени суток. Есть код на сайте, который прячет определенную категорию под блюр:
Код:
   private function _preparePostData($data) {

      $data->userLogged = (!User::Logged() && $data->category === 'Гифки для взрослых') ? 'style="filter: blur(15px)"' : null;
      $data->id = (int) $data->id;
      $data->name = App::fakeName($data->user);
      $data->czas = App::unixTimeArray($data->czas);
      $data->catlink = $this->getCatLink($data->category);
      $data->check18 = $this->checkFor18($data->category);
      $data->czas['ago'] = App::zmienczas($data->czas['unix']);
      $data->profile = $data->logged ? 'profile' . SR . $data->user : '#';
      $data->url_relative = App::postLink($data);
      $data->embed = $this->config->get('app_url') .'/embed,'. $data->id;
      $data->url_http = $this->config->get('app_url') .'/'. $data->url_relative;
      $data->avatar = $data->logged ? App::getAvatar($data->user) : App::getAvatar();
      $data->taglist = App::tagList($data->tagi);
      $data->imgdata = $this->_postImage($data);
      $data->score = $data->likes - $data->dislikes;
      $data->path = 'Uploads/Media/' . $data->dir;
      $data->opis = strip_tags($data->opis,"<ul><ol><dl><li><h1><h2><h3><h4><h5><h6><table><tr><td><th><thead><video><source><audio><iframe><blockquote><span><a><p><img><br>");
  
      $data->prc = $this->getLikesPrc($data);
  
      if ($data->mediadata && $data->media = json_decode($data->mediadata)) {

         $data->extension = isset($data->media->mime) ? App::mime2ext($data->media->mime) : 'mp4';
         $data->media->file = isset($data->media->file) ? $data->media->file : (isset($data->media->media_mp4) ? $data->media->media_mp4 : false);
         if ($data->type == "video" && $data->mode == "local") {
            $data->vurl = $data->media->file ?: $data->path . '.' . $data->extension;
        }

      }
Также есть код, который прячет отдельные гифки из этой категории под блюр и также показывает всплывающее окно с просьбой авторизации:
Код:
private function checkFor18($name) {
   
     if($name == 'Гифки для взрослых' && !User::Logged()) {
     $block = '<script>';
     $block .= "jQuery(document).ready(function() {";
     $block .= "jQuery('.cd-user-modal').addClass('is-visible');";
     $block .= "jQuery('#cd-signup').addClass('is-selected');";
     $block .= "jQuery('.cd-switcher li:last-child a').addClass('selected');";
     $block .= "jQuery('.main.page').css({'filter':'blur(25px)'})";
     $block .= "})</script>";
     return $block;
      }
   }
Помогите сделать чтобы при клике в категории "Для взрослых", на гифку под блюром всплывало окно с просьбой авторизации.
 
Последнее редактирование:
сделайте у gif-ок onclick="showAuthWindow();" и пропишите отдельно
Код:
function showAuthWindow() {
     jQuery('.cd-user-modal').addClass('is-visible');
     jQuery('#cd-signup').addClass('is-selected');
     jQuery('.cd-switcher li:last-child a').addClass('selected');
}
 
Также есть код, который прячет отдельные гифки из этой категории под блюр и также показывает всплывающее окно с просьбой авторизации:
Прятать яваскриптом гифки 18+ от незарегистрированных — глупое занятие.
Они вообще не должны выводиться на страницу в этом случае.
Потому что кому надо — отключат js или блюр и всё увидят, это ведь на стороне клиента работает.
Так что первой же строкой должно IMHO быть:
PHP:
if (!User::Logged() && $data->category === 'Гифки для взрослых') return false;
Ну или там ссылку на авторизацию вверните вместо false.
Вообще, на будущее: вопросы лучше задавать, указывая — что за движок, какой модуль правите и пр.
Потому что сейчас — какой объект дергаете, это только у вас в голове.
И это ни фига ни чистый PHP, а скорее вопрос к движку относится.
 
Последнее редактирование:
Прятать яваскриптом гифки 18+ от незарегистрированных — глупое занятие.
Это же чистая формальность, чтобы РКН не придрался, и чтоб была "приманка" для ленивых и не очень сообразительных. Такой контент, в гифках, платно, в 2020-м... серьёзно? )) но раз надо человку, значит, надо...
 
Это же чистая формальность, чтобы РКН не придрался

Ага, а там типа все тупые.
Имхо нужно делать как положено, и не играть в угадайку — не заметят, заблочат или штрафанут?

И потом тут немного нестыковка в задаче.
Вместо каждой гифки же не будешь выводить окно с просьбой авторизации?
Поэтому и рекомендация — вместо гифки выводить «Данный контент доступен только после регистрации» например.
А слово «регистрации» — ссылкой или в виде кнопки.

Берите пример с этого сайта — скрытый контент он и есть скрытый, и его не подсмотришь правкой стиля или отключением js на клиенте.
 
Ага, а там типа все тупые.
Берите пример с этого сайта — скрытый контент он и есть скрытый, и его не подсмотришь правкой стиля или отключением js на клиенте.
Вы правы, правильнее, конечно, генерить реальную подмену на сервере через Imagick::adaptiveBlurImage или аналоги.
 
Назад
Сверху