View file style/LuxeSocial/php/includes/tape_wall_comm.php

File size: 11.33Kb
<?php
  
if ($tape_data == 1) {
  
  $wall = db::get_string("SELECT * FROM `WALL` WHERE `ID` = ? LIMIT 1", [$tlist['OBJECT_ID']]);
  
}

if (isset($wall['ID'])){
  
  /*
  -----
  Опрос
  -----
  */
  
  $polling = db::get_string("SELECT * FROM `WALL_POLLING` WHERE `WALL_ID` = ? AND `ACT` = '1' LIMIT 1", [$wall['ID']]);
  $pol2 = null;
  
  if ($polling['PHONE'] == 1){
    
    $style = "background: linear-gradient(to top left, #C141D7, #F44336);";
  
  }elseif ($polling['PHONE'] == 2){
    
    $style = "background: linear-gradient(to top left, #4EC852, #FFEB3B);";
  
  }elseif ($polling['PHONE'] == 3){
  
    $style = "background: linear-gradient(to top left, #EF281A, #FFEB3B);";
  
  }elseif ($polling['PHONE'] == 4){
  
    $style = "background: linear-gradient(to top left, #35D33B, #2196F3);";
  
  }elseif ($polling['PHONE'] == 5){
  
    $style = "background: linear-gradient(to top left, #0BDAFB, #0539EB);";
  
  }elseif ($polling['PHONE'] == 6){
  
    $style = "background: linear-gradient(to top left, #F22727, #1531DA);";
  
  }elseif ($polling['PHONE'] == 7){
  
    $style = "background: linear-gradient(to top left, #8127B0, #FF12E8);";
  
  }elseif ($polling['PHONE'] == 8){
  
    $style = "background: linear-gradient(to top left, #3DE344, #00793C);";
  
  }elseif ($polling['PHONE'] == 9){
  
    $style = "background: linear-gradient(to top left, #79C908, #84641C);";
  
  }elseif ($polling['PHONE'] == 10){
  
    $style = "background: linear-gradient(to top left, #1E2123, #B4C3C9);";
  
  }elseif ($polling['PHONE'] == 11){
  
    $style = "background: linear-gradient(to top left, #FFABFE, #7AE3F4);";
  
  }elseif ($polling['PHONE'] == 12){
  
    $style = "background: linear-gradient(to top left, #EC7AF4, #7AF494);";
  
  }

  if ($polling['PRIVATE'] == 0){
  
    $pname = lg('Публичный опрос');

  }else{
  
    $pname = lg('Анонимный опрос');

  }

  if (isset($polling['ID']) && str($polling['NAME']) > 0){
  
    $style2 = "overflow: hidden; position: relative; background: rgba(50, 50, 50, 0.3); padding: 8px; margin-top: 7px; margin-bottom: 7px; border-radius: 10px;";
  
    $pol2 .= "
    <br />
    <a href='/account/wall/show/?id=".$wall['ID']."'>
    <div style='".$style." box-sizing: border-box; border-radius: 10px; padding: 10px; color: white;'>
    <?=icons('bullhorn', 16, 'fa-fw')?> <b>".tabs($polling['NAME'])."</b><br />
    <small>".$pname."</small>
    ";
  
    $my_option = db::get_string("SELECT * FROM `WALL_POLLING_OPTIONS_USER` WHERE `POLLING_ID` = ? AND `USER_ID` = ? LIMIT 1", [$polling['ID'], user('ID')]);
  
    $data2 = db::get_string_all("SELECT * FROM `WALL_POLLING_OPTIONS` WHERE `POLLING_ID` = ? ORDER BY `NUM` ASC LIMIT 10", [$polling['ID']]);
    while ($list2 = $data2->fetch()){
    
      $allcount = db::get_column("SELECT COUNT(*) FROM `WALL_POLLING_OPTIONS_USER` WHERE `POLLING_ID` = ?", [$polling['ID']]);
      $pcount = db::get_column("SELECT COUNT(*) FROM `WALL_POLLING_OPTIONS_USER` WHERE `OPTION_ID` = ? AND `POLLING_ID` = ?", [$list2['ID'], $polling['ID']]);
    
      if ($pcount != 0){
      
        $ret = round(($pcount / $allcount) * 100, 2);
    
      }else{
      
        $ret = 0;
    
      }
    
      $pol2 .= "
      <div style='".$style2."'>
      <div style='border-radius: 10px; height: 35px; top: 0; bottom: 0; left: 0; position: absolute; width: ".$ret."%; background: rgba(255, 255, 255, 0.3);'></div>
      <small><font color='white'>
      ".$list2['NUM'].". ".tabs($list2['NAME'])."
      ".($my_option['OPTION_ID'] == $list2['ID'] ? icons('check', 11, 'fa-fw') : null)."
      (".$pcount." ".lg('чел.').")
      <span style='float: right;'>".$ret."%</span>
      </font></small></div>
      ";
  
    }
  
    $pol2 .= '<small>';
  
    if ($polling['STIME'] == 0){
    
      $pol2 .= '<b>'.lg('Срок опроса').':</b> '.lg('бессрочный');
    
    }else{
    
      if ($polling['STIME'] < TM){
      
        $pol2 .= '<b>'.lg('Срок опроса').':</b> '.lg('закончен');
      
      }else{
      
        $pol2 .= '<b>'.lg('Срок опроса').':</b> '.ftime($polling['STIME']);
      
      }
    
    }
  
    $pol2 .= '
    <br /><b>'.lg('Опрос начат').':</b> '.ftime($polling['TIME']).' 
    </small>
    </div>
    </a>
    ';
  
  }

  /*-----------------------*/
  
  $link = '/m/communities/wall_show/?id='.$wall['ID'];
  $name = '<a href="'.communities::url($wall['COMMUNITY_ID']).'"><font color="#5DCBB7">'.icons('users', 15, 'fa-fw').'</font> <font color="black"><b>'.communities::name($wall['COMMUNITY_ID']).'</b></font></a>';
  $avatar = '<a href="'.communities::url($wall['COMMUNITY_ID']).'">'.communities::avatar($wall['COMMUNITY_ID'], 45, 0).'</a>';
  
  $data_at = db::get_string_all("SELECT `TYPE`,`OBJECT_ID` FROM `ATTACHMENTS` WHERE `ID_POST` = ? AND `TYPE_POST` = ? AND (`TYPE` = ? OR `TYPE` = ?) ORDER BY `TIME` DESC LIMIT 3", [$wall['ID'], 'wall', 'photos', 'videos']);
  $i = 0;
  $img = null;
  $video = null;
  while ($list_at = $data_at->fetch()) {
    
    $photos = db::get_string("SELECT `SHIF`,`EXT`,`ID`,`NAME` FROM `PHOTOS` WHERE `ID` = ? LIMIT 1", [$list_at['OBJECT_ID']]);
    $videos = db::get_string("SELECT * FROM `VIDEOS` WHERE `ID` = ? LIMIT 1", [$list_at['OBJECT_ID']]);
    
    if (isset($photos['ID']) && $list_at['TYPE'] == 'photos') {
      
      $i++;
      
      if ($i == 1) { $img .= '<img onclick="img_show(\'/files/upload/photos/source/'.$photos['SHIF'].'.'.$photos['EXT'].'\', \'/m/photos/show/?id='.$photos['ID'].'\', \''.tabs(crop_text($photos['NAME'],0,20)).'\')" class="img" src="/files/upload/photos/source/'.$photos['SHIF'].'.'.$photos['EXT'].'" style="max-width: 99%; box-sizing: border-box; cursor: pointer">'; }
      if ($i == 2) { $img .= '<img onclick="img_show(\'/files/upload/photos/source/'.$photos['SHIF'].'.'.$photos['EXT'].'\', \'/m/photos/show/?id='.$photos['ID'].'\', \''.tabs(crop_text($photos['NAME'],0,20)).'\')" class="img" src="/files/upload/photos/source/'.$photos['SHIF'].'.'.$photos['EXT'].'" style="max-width: 45%; box-sizing: border-box; cursor: pointer">'; }
      if ($i == 3) { $img .= '<img onclick="img_show(\'/files/upload/photos/source/'.$photos['SHIF'].'.'.$photos['EXT'].'\', \'/m/photos/show/?id='.$photos['ID'].'\', \''.tabs(crop_text($photos['NAME'],0,20)).'\')" class="img" src="/files/upload/photos/source/'.$photos['SHIF'].'.'.$photos['EXT'].'" style="max-width: 45%; box-sizing: border-box; cursor: pointer">'; }
      
    }elseif (isset($videos['ID']) && $list_at['TYPE'] == 'videos') {
      
      if (isset($videos['YOUTUBE']) && str($videos['YOUTUBE']) > 0) {
        
        $video = "<iframe style='width: 99%' height='220' src='https://www.youtube.com/embed/".$videos['YOUTUBE']."' frameborder='0' allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe>";
        
      }else{
        
        $video = '<video src="/files/upload/videos/source/'.$videos['ID'].'.'.$videos['EXT'].'" type="'.file::mime($videos['EXT']).'" style="width: 99%; max-height: 300px; box-sizing: border-box" controls></video>';
        
      }
      
    }
    
  }
  
  $bdelete = null;
  $bedit = null;
  
  $delete = null;
  
  if ($tape_data == 1) {
    
    $delete = '<a href="/?tape_delete='.$tlist['ID'].'&'.TOKEN_URL.'"><div class="list-menu hover">'.icons('times', 15, 'fa-fw').' '.lg('Удалить из ленты').'</div></a>';
    
  }
  
  if ($wall['USER_ID'] == user('ID') || access('wall', null) == true) {
    
    $bdelete = '<a href="/m/communities/wall_show/?id='.$wall['ID'].'&get=delete&'.TOKEN_URL.'"><div class="list-menu hover">'.icons('trash', 15, 'fa-fw').' '.lg('Удалить запись').'</div></a>';
    $bedit = '<a href="/m/communities/wall_edit/?id='.$wall['ID'].'&get=delete&'.TOKEN_URL.'"><div class="list-menu hover">'.icons('pencil', 15, 'fa-fw').' '.lg('Редактировать запись').'</div></a>';
    
  }

  $blink = '<a href="'.$link.'"><div class="list-menu hover">'.icons('link', 15, 'fa-fw').' '.lg('К записи').'</div></a>';
  
  $tape_list = likes_ajax($wall['ID'], 'wall', $wall['USER_ID'], 1).dislikes_ajax($wall['ID'], 'wall').'
  
  <div class="modal_phone modal_center_close" id="wmenu'.$wall['ID'].'2" onclick="modal_center(\'wmenu'.$wall['ID'].'\', \'close\')"></div>
  <div id="wmenu'.$wall['ID'].'" class="modal_center modal_center_open">
  <div class="modal_bottom_title2">'.lg('Действия').'<button onclick="modal_center_close()">'.icons('times', 20).'</button></div>
  <div class="modal-container">'.$delete.$bedit.$bdelete.$blink.'</div>
  </div>
  
  <div class="list" style="position: relative">
  <div class="user-info-mini" style="margin-bottom: 10px">
  <div class="user-avatar-mini">'.$avatar.'</div>
  <div class="user-login-mini" style="top: 4px; left: 55px">'.$name.'<br /><a class="time" href="'.$link.'">'.ftime($wall['TIME']).'</a></div>
  <span class="main_content_lmenu" onclick="modal_center(\'wmenu'.$wall['ID'].'\', \'open\')">'.icons('ellipsis-v', 17, 'fa-fw').'</span>
  </div>
  '.$img.$video.$pol2.'
  <div style="padding: 5px; font-size: 12px">'.(str($wall['MESSAGE']) > 1000 ? crop_text(text($wall['MESSAGE']),0,1000) : text($wall['MESSAGE'])).'<br /><a href="'.$link.'">'.lg('Читать полностью...').'</a></div>
  <div style="padding: 4px; font-size: 13px; margin-top: 6px">
  <span id="wlike'.$wall['ID'].'">
  <div style="margin-top: -15px; margin-bottom: 8px">
  '.likes_list($wall['ID'], 'wall', '/?get='.$root).'
  </div>
  '.ls_likes($wall['ID'], 'wall', 'w', $durl).ls_dislikes($wall['ID'], 'wall', 'w', $durl).'
  </span>
  <a href="'.$link.'" class="main_content_button">'.icons('comment', 15, 'fa-fw', 'far').' '.db::get_column("SELECT COUNT(`ID`) FROM `COMMENTS` WHERE `OBJECT_ID` = ? AND `OBJECT_TYPE` = ? LIMIT 1", [$wall['ID'], 'wall_comm_comments']).'</a>
  <a class="main_content_button" href="/m/communities/wall_share/?id='.$wall['ID'].'">'.icons('share-square-o', 15, 'fa-fw', 'far').' '.db::get_column("SELECT COUNT(`ID`) FROM `WALL` WHERE `SHARE` = ? LIMIT 1", [$wall['ID']]).'</a>
  <a class="main_content_button" style="background: none; float: right; padding: 8px 0.5em; position: relative; top: 3px" href="/m/eye/?id='.$wall['ID'].'&url='.base64_encode('/').'&type=wall&'.TOKEN_URL.'">'.icons('eye', 15, 'fa-fw').' '.db::get_column("SELECT COUNT(`ID`) FROM `EYE` WHERE `OBJECT_ID` = ? AND `TYPE` = ? LIMIT 1", [$wall['ID'], 'wall']).'</a>
  </div>
  </div>
  ';
  
}else{
  
  $delete = '<a href="/?tape_delete='.$tlist['ID'].'&'.TOKEN_URL.'"><div class="list-menu hover">'.icons('times', 15, 'fa-fw').' '.lg('Удалить из ленты').'</div></a>';
  
  $tape_list = '
  
  <div class="modal_phone modal_center_close" id="bmenu'.$wall['ID'].'2" onclick="modal_center(\'wmenu'.$wall['ID'].'\', \'close\')"></div>
  <div id="wmenu'.$wall['ID'].'" class="modal_center modal_center_open">
  <div class="modal_bottom_title2">'.lg('Действия').'<button onclick="modal_center_close()">'.icons('times', 20).'</button></div>
  <div class="modal-container">'.$delete.'</div>
  </div>
  
  <div class="list" style="position: relative">
  <div class="user-info-mini" style="margin-bottom: 10px">
  <div class="user-login-mini" style="top: 4px; left: 55px">'.lg('Запись со стены уже удалена').'</div>
  <span class="main_content_lmenu" onclick="modal_center(\'wmenu'.$wall['ID'].'\', \'open\')">'.icons('ellipsis-v', 17, 'fa-fw').'</span>
  </div>
  </div>
  ';
  
}