Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0

Merge branch 'master' of github.com:ewhal/nyaa into api_wip

Cette révision appartient à :
ayame-git 2017-05-09 20:38:19 +03:00
révision dffe6b1e33
7 fichiers modifiés avec 1034 ajouts et 6 suppressions

Voir le fichier

@ -3,6 +3,7 @@ package main
import (
"bufio"
"flag"
"github.com/nicksnyder/go-i18n/i18n"
"github.com/ewhal/nyaa/config"

Voir le fichier

@ -66,6 +66,12 @@ a {
.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
background: #263238;
}
/* Profile Content */
.profile-content {
background: #29363d;
}
/* Night mode switcher */
#mainmenu a.nightswitch {
background-image: url(/img/moon.png);

Voir le fichier

@ -13,7 +13,7 @@ import (
func RssHandler(w http.ResponseWriter, r *http.Request) {
_, torrents, _, err := search.SearchByQuery(r, 1)
_, torrents, err := search.SearchByQueryNoCount(r, 1)
if err != nil {
util.SendError(w, err, 400)
return

Voir le fichier

@ -67,7 +67,17 @@ func GetTorrentById(id string) (model.Torrents, error) {
return torrent, nil
}
func GetTorrentsOrderByNoCount(parameters *WhereParams, orderBy string, limit int, offset int) (torrents []model.Torrents, err error) {
torrents, _, err = getTorrentsOrderBy(parameters, orderBy, limit, offset, false)
return
}
func GetTorrentsOrderBy(parameters *WhereParams, orderBy string, limit int, offset int) (torrents []model.Torrents, count int, err error) {
torrents, count, err = getTorrentsOrderBy(parameters, orderBy, limit, offset, true)
return
}
func getTorrentsOrderBy(parameters *WhereParams, orderBy string, limit int, offset int, countAll bool) (torrents []model.Torrents, count int, err error) {
var conditionArray []string
if strings.HasPrefix(orderBy, "filesize") {
// torrents w/ NULL filesize fuck up the sorting on postgres
@ -81,11 +91,12 @@ func GetTorrentsOrderBy(parameters *WhereParams, orderBy string, limit int, offs
params = parameters.Params
}
conditions := strings.Join(conditionArray, " AND ")
err = db.ORM.Model(&torrents).Where(conditions, params...).Count(&count).Error
if err != nil {
return
if countAll {
err = db.ORM.Model(&torrents).Where(conditions, params...).Count(&count).Error
if err != nil {
return
}
}
// TODO: Vulnerable to injections. Use query builder.
// build custom db query for performance reasons

498
translations/ko-kr.all.json Fichier normal
Voir le fichier

@ -0,0 +1,498 @@
[
{
"id": "link",
"translation": "링크"
},
{
"id": "verify_email_title",
"translation": "고양이를 위해 이메일을 확인해주세요"
},
{
"id": "verify_email_content",
"translation": "아래의 버튼을 눌러 이메일을 확인해주세요"
},
{
"id": "reset_password_title",
"translation": "고양이를 위해 암호를 리셋해주세요"
},
{
"id": "reset_password_content",
"translation": "암호를 리셋하려면 아래의 링크를 눌러주세요"
},
{
"id":"register_title",
"translation": "새 계정 만들기"
},
{
"id":"signup_box_title",
"translation": "회원가입 해주세요! <small>가입은 무료이며 언제나 그럴 것입니다</small>"
},
{
"id":"username",
"translation": "별명"
},
{
"id":"email_address_or_username",
"translation": "이메일 주소 혹은 별명"
},
{
"id":"email_address",
"translation": "이메일 주소"
},
{
"id":"password",
"translation": "암호"
},
{
"id":"confirm_password",
"translation": "암호 확인"
},
{
"id":"i_agree",
"translation": "동의합니다"
},
{
"id":"terms_conditions_confirm",
"translation": "<strong class=\"label label-primary\">회원가입</strong>을 하시면, 쿠키 사용과 더불어 <a href=\"#\" data-toggle=\"modal\" data-target=\"#t_and_c_m\">약관</a>에 동의하신 것으로 간주합니다."
},
{
"id":"signin",
"translation": "로그인"
},
{
"id":"register",
"translation": "가입"
},
{
"id":"terms_conditions",
"translation": "약관"
},
{
"id":"terms_conditions_full",
"translation": "블라블라"
},
{
"id":"remember_me",
"translation": "로그인 유지"
},
{
"id":"forgot_password",
"translation": "암호를 잊어버리셨나요?"
},
{
"id":"sign_in_box_title",
"translation": "로그인하세요"
},
{
"id":"sign_in_title",
"translation": "로그인"
},
{
"id":"register_success_title",
"translation": "성공적으로 가입했습니다!"
},
{
"id":"sign_up_success",
"translation": "가입해주셔서 고마워요!"
},
{
"id":"verify_success",
"translation": "<i style=\"color:limegreen\" class=\"glyphicon glyphicon-ok-circle\"></i>계정이 활성화 되었습니다!"
},
{
"id":"signup_verification_email",
"translation": "마지막으로 이메일 인증을 완료해 주세요! 이메일이 도착하지 않았다면 스팸 메일함도 확인해 주세요."
},
{
"id":"settings",
"translation": "계정 설정"
},
{
"id":"torrents",
"translation": "토렌트"
},
{
"id":"follow",
"translation": "팔로우"
},
{
"id":"profile_page",
"translation": "%s 프로필 페이지"
},
{
"id":"see_more_torrents_from",
"translation": "%s 에서 더 많은 토렌트 보기"
},
{
"id":"category",
"translation": "카테고리"
},
{
"id": "name",
"translation": "이름"
},
{
"id": "date",
"translation": "날짜"
},
{
"id": "size",
"translation": "크기"
},
{
"id": "links",
"translation": "링크"
},
{
"id": "home",
"translation": "홈"
},
{
"id": "error_404",
"translation": "에러 404"
},
{
"id": "toggle_navigation",
"translation": "네비게이션 토글"
},
{
"id": "upload",
"translation": "업로드"
},
{
"id": "faq",
"translation": "FAQ"
},
{
"id": "fap",
"translation": "딸"
},
{
"id": "advanced_search",
"translation": "고급 검색"
},
{
"id": "nothing_here",
"translation": "아무것도 없음"
},
{
"id": "404_not_found",
"translation": "404 Not Found"
},
{
"id": "no_torrents_uploaded",
"translation": "아직 토렌트가 업로드 되지 않았습니다!"
},
{
"id": "profile",
"translation": "프로필"
},
{
"id": "sign_out",
"translation": "로그아웃"
},
{
"id": "member",
"translation": "멤버"
},
{
"id": "sign_in",
"translation": "로그인"
},
{
"id": "sign_up",
"translation": "가입"
},
{
"id": "no_results_found",
"translation": "결과 없음"
},
{
"id": "notice_keep_seeding",
"translation": "제발좀: 시딩 부탁드려요. DHT 설정도 활성화 되어있는지 확인해주세요."
},
{
"id": "official_nyaapocalipse_faq",
"translation": "공식 Nyaapocalypse FAQ"
},
{
"id": "links_replacement_mirror",
"translation": "대체 사이트/미러 링크"
},
{
"id": "what_happened",
"translation": "무슨 일이 있었던거야?"
},
{
"id": "nyaa_se_went_offline",
"translation": "2017년 5월 1일, 모든 nyaa.se 관련 도메인들의 연결이 해제되었습니다"
},
{
"id": "its_not_a_ddos",
"translation": "비활성화 된 것으로, 평소처럼의 DDOS에 의한 것은 아닙니다."
},
{
"id": "future_not_looking_good",
"translation": "nyaa 토렌트의 미래는 그렇게 좋아보이지는 않네요. (현재 완전히 사망-처리됨)"
},
{
"id": "recovery_effort",
"translation": "현재 사방에서 복구하려는 노력이 있습니다."
},
{
"id": "is_everything_lost",
"translation": "모든 자료가 다 날라간거야?"
},
{
"id": "in_short_no",
"translation": "간단히 말하면, 아닙니다"
},
{
"id": "are_some_things_lost",
"translation": "그럼 일부가 날라갔단거네"
},
{
"id": "answer_is_nyaa_db_lost",
"translation": "저희는 현재 <s>4월 5일</s> 5월 1일까지의 데이터베이스를 확보했습니다. 거의 대부분이 살아있다는 거죠."
},
{
"id": "answer_is_sukebei_db_lost",
"translation": "Sukebei 쪽은 상황이 안좋습니다. 2016까지의 데이터 밖에 없어요. 그러나 새 데이터베이스가 나온다면 적용이 가능합니다."
},
{
"id": "how_are_we_recovering",
"translation": "어떻게 복구하는거야?"
},
{
"id": "answer_how_are_we_recovering",
"translation": "nyaa.pantsu.cat 과 sukebei.pantsu.cat 에서 상기한 데이터베이스를 이용해 호스팅 중입니다. 현재는 검색기능 뿐이지만, 곧 완전한 기능이 완성 될겁니다. Seeder/leecher 통계는 scraping 을 통해 가능하며 가까운 시일내에 복구될 것이지만, 현재는 다른 기능을 중점적으로 작업중입니다."
},
{
"id": "are_the_trackers_working",
"translation": "토렌트들은 이용할 수 있다는거지?"
},
{
"id": "answer_are_the_trackers_working",
"translation": "트래커들이 다운 됬어도 분산 DHT network를 통해 시더들과 연결할 수 있습니다. DHT network에 파일 리스트들이 있는 한, 평소처럼 이용이 가능합니다."
},
{
"id": "how_do_i_download_the_torrents",
"translation": "어떻게 토렌트를 다운로드 하는거야?"
},
{
"id": "answer_how_do_i_download_the_torrents",
"translation": "그냥 <b>마그넷 링크</b>를 이용하세요. 마그넷 링크는 DHT network 에서 파일을 찾는걸 도와줍니다. 그냥 그렇게 쓰면 됩니다."
},
{
"id": "magnet_link_should_look_like",
"translation": "마그넷 링크는 이렇게 생겼습니다:"
},
{
"id": "which_trackers_do_you_recommend",
"translation": "어떤 트래커를 쓰는게 좋아?"
},
{
"id": "answer_which_trackers_do_you_recommend",
"translation": "트래커가 없어서 다운로드가 불가능 하다면, 다음을 이용하세요:"
},
{
"id": "how_can_i_help",
"translation": "뭐 도와줄거 없어?"
},
{
"id": "answer_how_can_i_help",
"translation": "웹 개발을 해보셨다면, irc.rizon.net에 오세요. 새 데이터베이스들, 특히 sukebei 쪽을 가지고 계시다면 <b>업로드 부탁드립니다</b>."
},
{
"id": "your_design_sucks_found_a_bug",
"translation": "디자인 거지같네 / 버그 있잖아"
},
{
"id": "why_written_in_go",
"translation": "왜 Go 언어요?"
},
{
"id": "authors_favorite_language",
"translation": "제일 좋아하는 언어입니다. >__- 찡긋"
},
{
"id": "nyaa_pantsu_dont_host_files",
"translation": "nyaa.pantsu.cat 와 sukebei.pantsu.cat 는 그 어떤 파일도 호스팅하고 있지 않습니다"
},
{
"id": "upload_magnet",
"translation": "마그넷 업로드"
},
{
"id": "torrent_file",
"translation": "토렌트 파일"
},
{
"id": "uploading_torrent_prefills_fields",
"translation": "토렌트 파일을 업로드하면 몇몇 필드가 자동으로 채워집니다. 추천드립니다."
},
{
"id": "magnet_link",
"translation": "마그넷 링크"
},
{
"id": "all_categories",
"translation": "모든 카테고리"
},
{
"id": "anime",
"translation": "Anime"
},
{
"id": "anime_amv",
"translation": "Anime - 애니메이션 뮤직 비디오"
},
{
"id": "anime_english_translated",
"translation": "Anime - 영문 번역"
},
{
"id": "anime_non_english_translated",
"translation": "Anime - 비-영문 번역"
},
{
"id": "anime_raw",
"translation": "Anime - Raw"
},
{
"id": "audio",
"translation": "Audio"
},
{
"id": "audio_lossless",
"translation": "Audio - 비손실"
},
{
"id": "audio_lossy",
"translation": "Audio - 손실"
},
{
"id": "literature",
"translation": "Literature"
},
{
"id": "literature_english_translated",
"translation": "Literature - 영문 번역"
},
{
"id": "literature_raw",
"translation": "Literature - Raw"
},
{
"id": "literature_non_english_translated",
"translation": "Literature - 비-영문 번역"
},
{
"id": "live_action",
"translation": "Live Action"
},
{
"id": "live_action_english_translated",
"translation": "Live Action - 영문 번역"
},
{
"id": "live_action_idol_pv",
"translation": "Live Action - 아이돌/상업적 영상"
},
{
"id": "live_action_non_english_translated",
"translation": "Live Action - 비-영문 번역"
},
{
"id": "live_action_raw",
"translation": "Live Action - Raw"
},
{
"id": "pictures",
"translation": "Pictures"
},
{
"id": "pictures_graphics",
"translation": "Pictures - 그래픽"
},
{
"id": "pictures_photos",
"translation": "Pictures - 사진"
},
{
"id": "software",
"translation": "Software"
},
{
"id": "software_applications",
"translation": "Software - 응용프로그램"
},
{
"id": "software_games",
"translation": "Software - 게임"
},
{
"id": "torrent_description",
"translation": "토렌트 설명"
},
{
"id": "limited_html_set_is_allowed_use",
"translation": "몇몇 HTML 태그가 사용 가능합니다"
},
{
"id": "show_all",
"translation": "모두 보기"
},
{
"id": "filter_remakes",
"translation": "Filter Remakes"
},
{
"id": "trusted",
"translation": "신뢰된"
},
{
"id": "id",
"translation": "ID"
},
{
"id": "downloads",
"translation": "다운로드"
},
{
"id": "descending",
"translation": "내림차순"
},
{
"id": "ascending",
"translation": "오름차순"
},
{
"id": "search",
"translation": "검색"
},
{
"id": "hash",
"translation": "해시"
},
{
"id": "description",
"translation": "설명"
},
{
"id": "comments",
"translation": "댓글"
},
{
"id": "submit_a_comment_as_username",
"translation": "내 이름(%s)으로 댓글"
},
{
"id": "submit_a_comment_as_anonymous",
"translation": "익명으로 댓글"
},
{
"id": "submit",
"translation": "확인"
}
]

498
translations/ru-ru.all.json Fichier normal
Voir le fichier

@ -0,0 +1,498 @@
[
{
"id": "link",
"translation": "ссылка"
},
{
"id": "verify_email_title",
"translation": "Подтвердите свой Email адрес для Goyangi."
},
{
"id": "verify_email_content",
"translation": "Нажмите на ссылку ниже, чтобы подтвердить свой Email адрес."
},
{
"id": "reset_password_title",
"translation": "Восстановить пароль для Goyangi."
},
{
"id": "reset_password_content",
"translation": "Нажмите ссылку ниже, чтобы восстановить пароль."
},
{
"id":"register_title",
"translation": "Создание новой учетной записи"
},
{
"id":"signup_box_title",
"translation": "Пожалуйста, зарегистрируйтесь <small>Это бесплатно и всегда будет.</small>"
},
{
"id":"username",
"translation": "Имя пользователя"
},
{
"id":"email_address_or_username",
"translation": "Email адрес или Имя пользователя"
},
{
"id":"email_address",
"translation": "Email адрес"
},
{
"id":"password",
"translation": "Пароль"
},
{
"id":"confirm_password",
"translation": "Подтвердите Пароль"
},
{
"id":"i_agree",
"translation": "Я согласен"
},
{
"id":"terms_conditions_confirm",
"translation": "Нажимая <strong class=\"label label-primary\">Регистрация</strong>, вы соглашаетесь с <a href=\"#\" data-toggle=\"modal\" data-target=\"#t_and_c_m\">Правилами и условиями</a>, указанными на этом сайте, включая использование файлов Cookie."
},
{
"id":"signin",
"translation": "Вход"
},
{
"id":"register",
"translation": "Регистрация"
},
{
"id":"terms_conditions",
"translation": "Правила и условия"
},
{
"id":"terms_conditions_full",
"translation": "Некоторое дерьмо."
},
{
"id":"remember_me",
"translation": "Запомнить меня"
},
{
"id":"forgot_password",
"translation": "Забыли пароль?"
},
{
"id":"sign_in_box_title",
"translation": "Пожалуйста войдите"
},
{
"id":"sign_in_title",
"translation": "Вход"
},
{
"id":"register_success_title",
"translation": "Успешная регистрация"
},
{
"id":"sign_up_success",
"translation": "Благодарим за регистрацию!"
},
{
"id":"verify_success",
"translation": "<i style=\"color:limegreen\" class=\"glyphicon glyphicon-ok-circle\"></i>Теперь ваша учетная запись активирована!"
},
{
"id":"signup_verification_email",
"translation": "Теперь, в качестве последнего шага регистрации, проверьте свой почтовый ящик (или папку спам) и нажмите ссылку для активации вашей учетной записи!"
},
{
"id":"settings",
"translation": "Настройки учетной записи"
},
{
"id":"torrents",
"translation": "Торренты"
},
{
"id":"follow",
"translation": "Следить"
},
{
"id":"profile_page",
"translation": "Страница профиля %s"
},
{
"id":"see_more_torrents_from",
"translation": "Смотреть другие торренты %s "
},
{
"id":"category",
"translation": "Категория"
},
{
"id": "name",
"translation": "Название"
},
{
"id": "date",
"translation": "Дата"
},
{
"id": "size",
"translation": "Размер"
},
{
"id": "links",
"translation": "Ссылки"
},
{
"id": "home",
"translation": "Главная"
},
{
"id": "error_404",
"translation": "Ошибка 404"
},
{
"id": "toggle_navigation",
"translation": "Включить навигацию"
},
{
"id": "upload",
"translation": "Загрузить"
},
{
"id": "faq",
"translation": "FAQ"
},
{
"id": "fap",
"translation": "Фап"
},
{
"id": "advanced_search",
"translation": "Расширенный поиск"
},
{
"id": "nothing_here",
"translation": "Здесь ничего нет."
},
{
"id": "404_not_found",
"translation": "404 Не найдено"
},
{
"id": "no_torrents_uploaded",
"translation": "Нет загруженных торрентов!"
},
{
"id": "profile",
"translation": "Профиль"
},
{
"id": "sign_out",
"translation": "Выход"
},
{
"id": "member",
"translation": "Пользователь"
},
{
"id": "sign_in",
"translation": "Войти"
},
{
"id": "sign_up",
"translation": "Зарегистрироваться"
},
{
"id": "no_results_found",
"translation": "Результаты не найдены"
},
{
"id": "notice_keep_seeding",
"translation": "УВЕДОМЛЕНИЕ: УДЕРЖИВАЙ РАЗДАЧУ И ВКЛЮЧАЙ DHT ТЫ ТОРМОЗ"
},
{
"id": "official_nyaapocalipse_faq",
"translation": "Официальное Няпокалипсис FAQ"
},
{
"id": "links_replacement_mirror",
"translation": "Ссылки на замены/зеркала"
},
{
"id": "what_happened",
"translation": "Что произошло?"
},
{
"id": "nyaa_se_went_offline",
"translation": "nyaa.se и связанные с ними домены (например, nyaatorrents.info), отключились 1 мая 2017 года."
},
{
"id": "its_not_a_ddos",
"translation": "Они были деактивированы, так что это не DDoS-атака, как обычно."
},
{
"id": "future_not_looking_good",
"translation": "Будущие перспективы для nyaa выглядят не очень хорошо. (Он мертв)"
},
{
"id": "recovery_effort",
"translation": "Идет процесс восстановления."
},
{
"id": "is_everything_lost",
"translation": "Все потеряно?"
},
{
"id": "in_short_no",
"translation": "Короче говоря, нет."
},
{
"id": "are_some_things_lost",
"translation": "Некоторые вещи потеряны?"
},
{
"id": "answer_is_nyaa_db_lost",
"translation": "У нас есть база данных торрентов на nyaa до <s>5 апреля</s> 1 мая. Это означает, что почти ничего не потеряно."
},
{
"id": "answer_is_sukebei_db_lost",
"translation": "Однако, Sukebei не в лучшей форме. В настоящее время у нас есть только сукебские базы данных до 2016 года, но более новая база данных может быть доступна для использования."
},
{
"id": "how_are_we_recovering",
"translation": "Как мы выздоравливаем?"
},
{
"id": "answer_how_are_we_recovering",
"translation": "Вышеупомянутые базы данных размещаются на сайтах nyaa.pantsu.cat и sukebei.pantsu.cat. Существует функция поиска, и (почти) полная функциональность nyaa должна появиться в ближайшее время. Статистика Раздающих/Скачавших возможна с помощью скраппинга и может быть восстановлена в будущем, так как сейчас у нас в большем приоритете другие функции."
},
{
"id": "are_the_trackers_working",
"translation": "Торренты все еще работают?"
},
{
"id": "answer_are_the_trackers_working",
"translation": "Даже если трекеры не работают, раздающие все еще подключены к децентрализованной сети DHT. Пока файл находится в сети DHT, все должено работать как обычно."
},
{
"id": "how_do_i_download_the_torrents",
"translation": "Как скачать торренты?"
},
{
"id": "answer_how_do_i_download_the_torrents",
"translation": "Просто используйте <b>магнитную ссылку</b>. Магнит ссылка будет использоваться вашим клиентом BitTorrent для поиска файла в сети DHT, и они должены загружаться просто отлично."
},
{
"id": "magnet_link_should_look_like",
"translation": "Магнит ссылка должна выглядеть так:"
},
{
"id": "which_trackers_do_you_recommend",
"translation": "Какие трекеры вы рекомендуете использовать?"
},
{
"id": "answer_which_trackers_do_you_recommend",
"translation": "Если ваша торрент-загрузка запрещена из-за трекеров, вам нужно добавить некоторые из них:"
},
{
"id": "how_can_i_help",
"translation": "Чем могу помочь?"
},
{
"id": "answer_how_can_i_help",
"translation": "Если у вас есть опыт разработки веб-сайтов, вы можете присоединиться к IRC-каналу #nyaapantsu на irc.rizon.net. Если у вас есть свежие базы данных, особенно для sukebei, <b>ЗАГРУЗИТЕ ИХ</b>."
},
{
"id": "your_design_sucks_found_a_bug",
"translation": "Ваш дизайн отстой / Я нашел ошибку"
},
{
"id": "why_written_in_go",
"translation": "Почему ваше дерьмо написано на Go?"
},
{
"id": "authors_favorite_language",
"translation": "Это любимый язык программирования автора."
},
{
"id": "nyaa_pantsu_dont_host_files",
"translation": "nyaa.pantsu.cat и sukebei.pantsu.cat не содержат файлы."
},
{
"id": "upload_magnet",
"translation": "Загрузить магнит"
},
{
"id": "torrent_file",
"translation": "Торрент-файл"
},
{
"id": "uploading_torrent_prefills_fields",
"translation": "Загрузка торрент-файла позволяет предварительно заполнить некоторые поля, это рекомендуется."
},
{
"id": "magnet_link",
"translation": "Магнит ссылка"
},
{
"id": "all_categories",
"translation": "Все категории"
},
{
"id": "anime",
"translation": "Аниме"
},
{
"id": "anime_amv",
"translation": "Аниме - Аниме Музыка Видео"
},
{
"id": "anime_english_translated",
"translation": "Аниме - Английский-перевод"
},
{
"id": "anime_non_english_translated",
"translation": "Аниме - Не-английский-перевод"
},
{
"id": "anime_raw",
"translation": "Аниме - Raw"
},
{
"id": "audio",
"translation": "Аудио"
},
{
"id": "audio_lossless",
"translation": "Аудио - Lossless"
},
{
"id": "audio_lossy",
"translation": "Аудио - Lossy"
},
{
"id": "literature",
"translation": "Литература"
},
{
"id": "literature_english_translated",
"translation": "Литература - Английский-перевод"
},
{
"id": "literature_raw",
"translation": "Литература - Raw"
},
{
"id": "literature_non_english_translated",
"translation": "Литература - Не-английский-перевод"
},
{
"id": "live_action",
"translation": "Игровое кино"
},
{
"id": "live_action_english_translated",
"translation": "Игровое кино - Английский-перевод"
},
{
"id": "live_action_idol_pv",
"translation": "Игровое кино - Идол / Рекламное видео"
},
{
"id": "live_action_non_english_translated",
"translation": "Игровое кино - Не-английский-перевод"
},
{
"id": "live_action_raw",
"translation": "Игровое кино - Raw"
},
{
"id": "pictures",
"translation": "Картинки"
},
{
"id": "pictures_graphics",
"translation": "Картинки - Графика"
},
{
"id": "pictures_photos",
"translation": "Картинки - Фото"
},
{
"id": "software",
"translation": "Софт"
},
{
"id": "software_applications",
"translation": "Софт - Приложения"
},
{
"id": "software_games",
"translation": "Софт - Игры"
},
{
"id": "torrent_description",
"translation": "Описание торрента"
},
{
"id": "limited_html_set_is_allowed_use",
"translation": "В описании допускается ограниченный набор HTML, поэтому обязательно используйте"
},
{
"id": "show_all",
"translation": "Показать все"
},
{
"id": "filter_remakes",
"translation": "Фильтрация римейков"
},
{
"id": "trusted",
"translation": "Доверенные"
},
{
"id": "id",
"translation": "ID"
},
{
"id": "downloads",
"translation": "Загрузки"
},
{
"id": "descending",
"translation": "Нисходящий"
},
{
"id": "ascending",
"translation": "Восходящий"
},
{
"id": "search",
"translation": "Поиск"
},
{
"id": "hash",
"translation": "Хеш"
},
{
"id": "description",
"translation": "Описание"
},
{
"id": "comments",
"translation": "Комментарии"
},
{
"id": "submit_a_comment_as_username",
"translation": "Отправить комментарий как %s"
},
{
"id": "submit_a_comment_as_anonymous",
"translation": "Отправить комментарий как Анонимный"
},
{
"id": "submit",
"translation": "Отправить"
}
]

Voir le fichier

@ -57,6 +57,16 @@ type SearchParam struct {
}
func SearchByQuery(r *http.Request, pagenum int) (search SearchParam, tor []model.Torrents, count int, err error) {
search, tor, count, err = searchByQuery(r, pagenum, true)
return
}
func SearchByQueryNoCount(r *http.Request, pagenum int) (search SearchParam, tor []model.Torrents, err error) {
search, tor, _, err = searchByQuery(r, pagenum, false)
return
}
func searchByQuery(r *http.Request, pagenum int, countAll bool) (search SearchParam, tor []model.Torrents, count int, err error) {
max, err := strconv.ParseUint(r.URL.Query().Get("max"), 10, 32)
if err != nil {
err = nil
@ -180,6 +190,10 @@ func SearchByQuery(r *http.Request, pagenum int) (search SearchParam, tor []mode
parameters.Conditions = strings.Join(conditions[:], " AND ")
log.Infof("SQL query is :: %s\n", parameters.Conditions)
tor, count, err = torrentService.GetTorrentsOrderBy(&parameters, order_by, int(search.Max), int(search.Max)*(pagenum-1))
if countAll {
tor, count, err = torrentService.GetTorrentsOrderBy(&parameters, order_by, int(search.Max), int(search.Max)*(pagenum-1))
} else {
tor, err = torrentService.GetTorrentsOrderByNoCount(&parameters, order_by, int(search.Max), int(search.Max)*(pagenum-1))
}
return
}