Работа с базой — Убираем еще лишнее

Такс , сегодня обрежем своим трекеру еще одну страшную панацею которая срет в базе, хотя имеет довольно таки весомое предназначение .
readtorrents — таблица, которая хранит в себе информацию пользователя о просмотренных торрентах и ставить торренту метку «новый» если он не было просмотрен пользователем .
Минус этой фишки в том , что постоянно она долбит базу при просмотре торрентов и при листание списка торрентов делает не совсем красивый запрос . Короче , от этой хны надо избавляться .

После того как мы распрощаемся с этой фенечкой , что бы пользователи не терялись в списках торрентов , я публиковал мод «Торренты за n число» . Удобно и красиво .
Что и где удалить ? В файле browse.php , в запросе удаляем следующую строчку :

".($CURUSER ? ", EXISTS(SELECT * FROM readtorrents WHERE readtorrents.userid = ".sqlesc($CURUSER["id"])." AND readtorrents.torrentid = torrents.id) AS readtorrent" : ", 1 AS readtorrent")."

затем , в функцие torrenttable убираем :

if ($row["readtorrent"] == 0 && $variant == "index")
				   print ("<strong><span style="color: #00ed00; font-size: xx-small;">[новый]</span></strong>");

Так же в деталях торрента убираем запрос , который снимал метку «новый» с торрентов . В файле details.php убираем :

sql_query("INSERT INTO readtorrents (userid, torrentid) VALUES (".sqlesc($CURUSER["id"]).", ".sqlesc($id).")")/* or sqlerr(__FILE__,__LINE__)*/;

ни и убираем тблицу в базе :

 DROP TABLE `readtorrents`

В общем все . Облегчили запрос в browse.php при выводе списка торрентов , почистили базу данных , брали запрос в деталях торрент .

UPDATE :  Ипона в рот , забыл про удаление торрентов и юзверов .

В файлах —  delacct.php, delacctadmin.php, deltorrent.php, cleanup.php, functions.php, modtask.php  — удаляем строчки связанные с базой readtorrents ! Найти их можно при помощи поиска по файлу , обычно это Ctrl + F .
Спасибо Thanatos за наводку .

Работа с базой — Убираем еще лишнее: 8 комментариев

  1. Thanatos

    Например файл delltorrent.php
    sql_query(«DELETE FROM readtorrents WHERE torrentid IN (» . implode(«, «, array_map(«sqlesc», $_POST[«delete»])) . «)») or sqlerr(__FILE__,__LINE__);

  2. Thanatos

    Файл markread.php можно удалить если не ошибаюсь

  3. Thanatos

    Cleanup.php

    sql_query(«DELETE FROM readtorrents WHERE userid = «.sqlesc($arr[«id»])) or sqlerr(__FILE__,__LINE__);

    modtask.php

    sql_query(«DELETE FROM readtorrents WHERE userid = $userid») or sqlerr(__FILE__,__LINE__);

Комментарии запрещены.