public function ShowSkinList($list = 1, $per_page = 20, $gender = 2, $order_by = 'id', $sort = 1, $mode = 'base', $ratio = 1)
 {
     global $user;
     $list = (int) $list;
     if ($list <= 0) {
         $list = 1;
     }
     $ratio = (int) $ratio;
     if (($ratio < 1 or $ratio > 64) and $ratio != 1337 and $ratio != 31337) {
         return '';
     }
     $order_by = $order_by == 'id' ? 'id' : 'likes';
     $sort = $sort == 2 ? 'DESC' : '';
     // echo '['.$list.' |'.$per_page.' |'.$gender.' |'.$order_by.' |'.$sort.' |'.$mode.' |'.$ratio.']';
     $mode_txt = 'Классические образы (64х32)';
     $gender_txt = 'Женские';
     if ($gender < 2) {
         $gender_txt = ($gender ? 'Женские' : 'Мужские') . ' и без тега';
         $base_sql = "WHERE (`gender` = '2' OR `gender` = '" . ($gender ? 1 : 0) . "')";
     } elseif ($gender == 2) {
         $gender_txt = 'Без тега';
         $base_sql = "WHERE `gender` = '2'";
     } elseif ($gender == 3) {
         $gender_txt = 'Мужские';
         $base_sql = "WHERE `gender` = '0'";
     } else {
         $base_sql = "WHERE `gender` = '1'";
     }
     if ($mode == 'HD') {
         $mode_txt = 'Высокое разрешение';
     } elseif ($mode == 'likes') {
         $gender_txt = 'Любые';
         $mode_txt = 'Понравившиеся';
     }
     if ($mode != 'likes') {
         if ($mode == 'HD' and $ratio == 1337) {
             $base_sql .= " AND `ratio` != '1'";
         } else {
             $base_sql .= " AND `ratio` = '" . $ratio . "'";
         }
         $skins_count = mysql_result(BD("SELECT COUNT(*) FROM `" . $this->db . "` " . $base_sql), 0);
     } else {
         if (empty($user)) {
             $skins_count = 0;
         } else {
             $skins_count = mysql_result(BD("SELECT COUNT(*) FROM `" . $this->db_likes . "` WHERE `user_id`= '" . $user->id() . "' AND `item_type` = '" . $this->type . "' AND `var`='1'"), 0);
         }
     }
     $html_skin_list = '';
     if ($list > ceil($skins_count / $per_page)) {
         $list = 1;
     }
     if (!$skins_count) {
         $html_skin_list = $this->ShowPage('skin_empty.html');
     } else {
         if ($mode != 'likes') {
             $result = BD("SELECT `id` FROM `" . $this->db . "` " . $base_sql . " ORDER BY `{$order_by}` {$sort} LIMIT " . $per_page * ($list - 1) . ",{$per_page}");
         } else {
             $sql = "SELECT `item_id` AS 'id' ";
             $sql .= "FROM `" . $this->db . "` LEFT JOIN `" . $this->db_likes . "` ON " . $this->db . ".id = " . $this->db_likes . ".item_id ";
             $sql .= "WHERE " . $this->db_likes . ".user_id = '" . $user->id() . "' AND " . $this->db_likes . ".item_type = '" . $this->type . "' AND " . $this->db_likes . ".var = '1' ORDER BY " . $this->db_likes . ".id DESC LIMIT " . $per_page * ($list - 1) . ",{$per_page}";
             $result = BD($sql);
         }
         if (!mysql_num_rows($result)) {
             $html_skin_list = $this->ShowPage('skin_empty.html');
         }
         while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
             $skin = new SPItem($line[0], $this->st_subdir);
             $html_skin_list .= $skin->Show();
         }
     }
     $html_skin_list .= $this->arrowsGenerator($this->base_url . $this->url_params . '&', $list, $skins_count, $per_page);
     ob_start();
     include $this->GetView('main.html');
     return ob_get_clean();
 }
 public function ShowSkinList($list = 1, $per_page = 20, $gender = 2, $order_by = false, $sort = 1, $mode = 'base', $ratio = 1)
 {
     global $user;
     $list = (int) $list;
     if ($list <= 0) {
         $list = 1;
     }
     $ratio = (int) $ratio;
     if (($ratio < 1 or $ratio > 64) and $ratio != 1337 and $ratio != 31337) {
         return '';
     }
     switch ($order_by) {
         case 'id':
             $order_by = 'id';
             break;
         case 'likes':
             $order_by = 'likes';
             break;
         case 'comment_last':
             $order_by = 'comment_last';
             break;
         case 'comments':
             $order_by = 'comments';
             break;
         default:
             if ($this->discus) {
                 $order_by = 'comment_last';
             } else {
                 $order_by = 'id';
             }
             break;
     }
     $sort = $sort == 2 ? 'DESC' : '';
     // echo '['.$list.' |'.$per_page.' |'.$gender.' |'.$order_by.' |'.$sort.' |'.$mode.' |'.$ratio.']';
     $mode_txt = 'Классические образы (64х32)';
     $gender_txt = 'Женские';
     if ($gender < 2) {
         $gender_txt = ($gender ? 'Женские' : 'Мужские') . ' и без тега';
         $base_sql = "WHERE (`gender` = '2' OR `gender` = '" . ($gender ? 1 : 0) . "')";
     } elseif ($gender == 2) {
         $gender_txt = 'Без тега';
         $base_sql = "WHERE `gender` = '2'";
     } elseif ($gender == 3) {
         $gender_txt = 'Мужские';
         $base_sql = "WHERE `gender` = '0'";
     } else {
         $base_sql = "WHERE `gender` = '1'";
     }
     if ($mode == 'HD') {
         $mode_txt = 'Высокое разрешение';
     } elseif ($mode == 'likes') {
         $gender_txt = 'Любые';
         $mode_txt = 'Понравившиеся';
     }
     if ($mode != 'likes') {
         if ($mode == 'HD' and $ratio == 1337) {
             $base_sql .= " AND `ratio` != '1'";
         } else {
             $base_sql .= " AND `ratio` = '" . $ratio . "'";
         }
         $skins_count = getDB()->fetchRow("SELECT COUNT(*) FROM `" . $this->db . "` " . $base_sql, false, 'num');
     } else {
         if (empty($user)) {
             $skins_count = 0;
         } else {
             $skins_count = getDB()->fetchRow("SELECT COUNT(*) FROM `" . $this->db_likes . "` WHERE " . "`user_id`= '" . $user->id() . "' AND `item_type` = '" . $this->type . "' " . "AND `var`='1'", false, 'num');
         }
     }
     if (!$skins_count) {
         $skins_count = 0;
     } else {
         $skins_count = (int) $skins_count[0];
     }
     $html_skin_list = '';
     if ($list > ceil($skins_count / $per_page)) {
         $list = 1;
     }
     if (!$skins_count) {
         $html_skin_list = $this->ShowPage('skin_empty.html');
     } else {
         if ($mode != 'likes') {
             $result = getDB()->ask("SELECT `id` FROM `" . $this->db . "` " . $base_sql . " " . "ORDER BY `{$order_by}` {$sort} LIMIT " . $per_page * ($list - 1) . ", {$per_page}");
         } else {
             $sql = "SELECT `item_id` AS 'id' FROM `{$this->db}` " . "LEFT JOIN `{$this->db_likes}` ON " . $this->db . ".id = {$this->db_likes}.item_id " . "WHERE {$this->db_likes}.user_id = '" . $user->id() . "' AND " . "{$this->db_likes}.item_type = '{$this->type}' AND " . "{$this->db_likes}.var = '1' ORDER BY {$this->db_likes}.id " . "DESC LIMIT " . $per_page * ($list - 1) . ", {$per_page}";
             $result = getDB()->ask($sql);
         }
         while ($line = $result->fetch('num')) {
             $skin = new SPItem($line[0], $this->st_subdir);
             $html_skin_list .= $skin->Show($this->discus);
         }
         if (!$html_skin_list) {
             $this->ShowPage('skin_empty.html');
         }
     }
     $html_skin_list .= $this->arrowsGenerator($this->base_url . $this->url_params . '&', $list, $skins_count, $per_page);
     ob_start();
     include $this->GetView('main.html');
     return ob_get_clean();
 }