View file pages/top_uzer.php

File size: 5.96Kb
<?php
//автор - figura
//сайт - http://f-pt.ru


include("../sistem/cfg.dat");
include("../sistem/global.dat");
include("../temes/$teme/verh.dat");

echo'<div class="razd"><B>Топ юзеров</B></div>';

if($status=="uzer" || $status=="moder" || $status=="admin")
{
   //кешовый фаил
   if($file_time = @filemtime("../data/statstik/usertop.dat"))
   {
      $file_time = $file_time + "10800";
   }else{ $file_time = "0"; }
   $real_time = time();
   
   
   
   if($file_time < $real_time)
   {
      //обновляем кеш
      $arrs_dir = scandir("../data/uzer/");
      
      $user_top_file = fopen("../data/statstik/usertop.dat", "w+");
      flock ($user_top_file,LOCK_EX);
      
      $i = 0; $var = count($arrs_dir);
      while($i < $var)
      {
         if(($arrs_dir[$i] != ".") && ($arrs_dir[$i] != ".."))
         {
            $arrs = file("../data/uzer/$arrs_dir[$i]");
            $arrs = explode("<||>",$arrs[0]);
            $kod_str = "$arrs_dir[$i]|$arrs[2]|$arrs[3]|$arrs[4]|\r\n";
            fputs($user_top_file,$kod_str);
         }
         ++$i;
      }
      
      flock ($user_top_file,LOCK_UN);
      fclose($user_top_file);
      @chmod("../data/statstik/usertop.dat", 0666);
   }
   
   
   
   
   
   if(empty($act)){ $act = "postov"; }
   if($act == "postov"){ echo'Самые активные'; }else{ echo'<a href="top_uzer.php?act=postov&amp;'.SID.'">Самые активные</a>'; }
   echo' | ';
   if($act == "golosov"){ echo'Самые популярные'; }else{ echo'<a href="top_uzer.php?act=golosov&amp;'.SID.'">Самые популярные</a>'; }
   echo'<br>';
   
   
   if($act == "postov")
   {
      $arrs_dir = file("../data/statstik/usertop.dat");
      $i = 0;
      $var = count($arrs_dir);
      while($i < $var)
      {
         $arrs = explode("|",$arrs_dir[$i]);
         $param["$arrs[0]"] = $arrs[1];
         ++$i;
      }
      
      arsort($param);
      
      foreach($param as $key => $value)
      {
         //echo(" -> $value <br>");
         $arr_uzer_login[] = $key;
         $arr_uzer_post[] = $value;
      }
      
      $nom = count($arr_uzer_login)-1;
      
      //начало новой навигации
      if(isset($_GET['nom_page'])){$nom_page = $_GET['nom_page'];}else{ $nom_page = "1"; }
      if(eregi("[^0-9]" , $nom_page )){ $nom_page = "1"; }
      $asd = $nom_page - 1;
      $i= $asd * 30;
      $var = $i+30;
      if($nom < $i){ $var = 0; echo'Страница не найдена!<br>'; }
      
      while($i < $var)
      {
         if($i <= $nom)
         {
            $uzer_login = str_replace(".dat","", $arr_uzer_login[$i]);
            $n = $i + 1;
            echo'<div class="link">'.$n.'.<a href="../pages/my_menu.php?act=anket&amp;if_uzer='.$uzer_login.'&amp;'.SID.'"><B>'.$uzer_login.'</B></a> ['.$arr_uzer_post[$i].']</div>';
         }
         ++$i;
      }
      
      //конец новой навигации
      $asd2 = ceil($nom / 30); 
      $asd3 = "0";
      
      //навигация вперёд, назад
      if("1" < $nom_page)
      {
         $nom_previous_page = $nom_page - 1;
         echo '<a href="top_uzer.php?act='.$act.'&amp;nom_page='.$nom_previous_page.'&amp;'.SID.'">Назад</a>';
      }else{ echo 'Назад'; }
      echo'|';
      if($asd2 > $nom_page)
      {
         $nom_next_page = $nom_page + 1;
         echo '<a href="top_uzer.php?act='.$act.'&amp;nom_page='.$nom_next_page.'&amp;'.SID.'">Далее</a>';
      }else{ echo 'Далее'; }
      
      
   }
   
   
   
   if($act == "golosov")
   {
      $arrs_dir = file("../data/statstik/usertop.dat");
      $i = 0;
      $var = count($arrs_dir);
      while($i < $var)
      {
         $arrs = explode("|",$arrs_dir[$i]);
         $rating = $arrs[2] - $arrs[3];
         $param["$arrs[0]"] = $rating;
         ++$i;
      }
      
      arsort($param);
      
      foreach($param as $key => $value)
      {
         
         $arr_uzer_login[] = $key;
         $arr_uzer_post[] = $value;
      }
      
      $nom = count($arr_uzer_login)-1;
      
      //начало новой навигации
      if(isset($_GET['nom_page'])){$nom_page = $_GET['nom_page'];}else{ $nom_page = "1"; }
      if(eregi("[^0-9]" , $nom_page )){ $nom_page = "1"; }
      $asd = $nom_page - 1;
      $i= $asd * 30;
      $var = $i+30;
      if($nom < $i){ $var = 0; echo'Страница не найдена!<br>'; }
      
      while($i < $var)
      {
         if($i <= $nom)
         {
            $uzer_login = str_replace(".dat","", $arr_uzer_login[$i]);
            $n = $i + 1;
            echo'<div class="link">'.$n.'.<a href="../pages/my_menu.php?act=anket&amp;if_uzer='.$uzer_login.'&amp;'.SID.'"><B>'.$uzer_login.'</B></a> ['.$arr_uzer_post[$i].']</div>';
         }
         ++$i;
      }
      
      //конец новой навигации
      $asd2 = ceil($nom / 30);
      $asd3 = "0";
      
      //навигация вперёд, назад
      if("1" < $nom_page)
      {
         $nom_previous_page = $nom_page - 1;
         echo '<a href="top_uzer.php?act='.$act.'&amp;nom_page='.$nom_previous_page.'&amp;'.SID.'">Назад</a>';
      }else{ echo 'Назад'; }
      echo'|';
      if($asd2 > $nom_page)
      {
         $nom_next_page = $nom_page + 1;
         echo '<a href="top_uzer.php?act='.$act.'&amp;nom_page='.$nom_next_page.'&amp;'.SID.'">Далее</a>';
      }else{ echo 'Далее'; }
      
   }
   
   
   
}else{ echo'Данная информация доступна только Авторизированным пользователям<br>'; }
echo'<br><a href="stats.php?act=index&amp;'.SID.'">К статистике</a><br>';
echo'<hr size="2" width="100%">';
echo'<a href="../index.php?'.SID.'">На главную</a><br>';
include("../sistem/global_end.dat");
include("../temes/$teme/niz.dat");
?>