root/bookmarks.php

Revision 324, 5.3 kB (checked in by Nafania, 1 year ago)

Много мелких изменений. Если используется xbtt, то надо обязательно скачать новую версию на форуме.
Добавлен файл cron.php - если есть возможность, то пускайте cron таски через него. Особенно если используете массовую рассылку почты.

Line 
1 <?php</span>
2 <span class="code-lang">$root_path = './';
3 require ($root_path . 'include/config.php');
4 require ($root_path . 'include/functions_torrenttable.php');
5
6 $userdata = session_pagestart($user_ip);
7 init_userprefs($userdata);
8
9 loggedinorreturn();
10
11 $tor_id = request_var('torrent', 0);
12 $del_bookmark = request_var('delbookmark', array(''=>''));
13 $sort = request_var('sort', 0);
14 $type = request_var('type', 0);</span>
15 <span class="code-lang">
16 if ( $tor_id ) {
17     $sql = 'SELECT name, category FROM ' . TORRENTS_TABLE . ' WHERE fid = ' . $tor_id;
18     $result = $db->sql_query($sql);
19
20     if ( !$row = $db->sql_fetchrow($result) ) {
21         trigger_error(sprintf($lang['invalid_id'],$tor_id));
22     }
23
24     $cats = $cache->obtain_cats();
25     $cat_id = $row['category'];
26     $cat_parent_id = ( isset($cats[$cats[$cat_id]['cat_parent']]['cat_id']) ? $cats[$cats[$cat_id]['cat_parent']]['cat_id'] : 0 );
27
28     // www.phpBB-SEO.com SEO TOOLKIT BEGIN
29     if ( $cat_parent_id ) {
30         $seo->set_url($cats[$cat_parent_id]['cat_name'], $cat_parent_id, $seo->seo_static['browse']);
31         $seo->set_parent($cat_id, $seo->seo_static['browse'], $cat_parent_id, $seo->seo_static['browse']);
32     }
33     $seo->set_url($cats[$cat_id]['cat_name'], $cat_id, $seo->seo_static['browse']);
34     $seo->set_parent($tor_id, $seo->seo_static['details'], $cat_id, $seo->seo_static['browse']);
35     $seo->set_url(censor_text($row['name']), $tor_id, $seo->seo_static['details']);
36     // www.phpBB-SEO.com SEO TOOLKIT END
37
38     $url = 'details.php?id=' . $tor_id;
39     meta_refresh(3, append_sid($root_path . $url));
40
41      if ((get_row_count(BOOKMARKS_TABLE, 'WHERE userid=' . $userdata['uid'] . ' AND torrentid = ' . $tor_id)) > 0) {
42          trigger_error(sprintf($lang['torrent_already_bookmarked'], $tor_id));
43      }
44
45      $sql = 'INSERT INTO ' . BOOKMARKS_TABLE . ' (userid, torrentid) VALUES (' . $userdata['uid'] . ', ' . $tor_id . ')';
46      $db->sql_query($sql);
47
48      trigger_error(sprintf($lang['torrent_bookmarked'], $tor_id));
49 }
50
51 if ( $del_bookmark ) {
52     $ids = array();
53     for ( $i = 0; $i < sizeof($del_bookmark); ++$i ) {
54         $ids[] = intval($del_bookmark[$i]);
55     }
56
57     $sql = 'SELECT id FROM ' . BOOKMARKS_TABLE . ' WHERE id IN (' . implode(', ',$ids) . ') AND userid = ' . $userdata['uid'];
58      $result = $db->sql_query($sql);
59      if ( $row = $db->sql_fetchrow($result) ) {
60          $ids = array();
61          do {
62              $ids[] = $row['id'];
63          }
64          while ( $row = $db->sql_fetchrow($result) );
65          $sql = 'DELETE FROM ' . BOOKMARKS_TABLE . ' WHERE id IN (' . implode(', ', $ids) . ')';
66          $db->sql_query($sql);
67      }
68
69      redirect( append_sid('bookmarks.php'));
70 }
71
72
73 if ( $sort && $type ) {
74         $column = '';
75         $ascdesc = '';
76
77         switch( $sort ) {
78                 case 'asc': $ascdesc = 'ASC'; break;
79                 case 'desc': $ascdesc = 'DESC'; break;
80                 default: $ascdesc = 'DESC'; break;
81         }
82
83         switch( $type ) {
84                 case '1': $column = 't.name'; break;
85                 case '2': $column = 't.numfiles'; break;
86                 case '3': $column = 't.comments'; break;
87                 case '4':
88                     $column = 'IF(t.numratings < ' . $config['minvotes'] . ', 0, ROUND(t.ratingsum / t.numratings, 1)) ' . $ascdesc;
89                     $column .= ', t.numratings ' . $ascdesc;
90                     $column .= ', t.ctime';
91                 break;
92                 case '5': $column = 't.ctime'; break;
93                 case '7': $column = 't.size'; break;
94                 case '8': $column = 't.completed'; break;
95                 case '9': $column = 't.seeders'; break;
96                 case '10': $column = 't.leechers'; break;
97                 case '11': $column = 'u.name'; break;
98                 default: $column = 't.ctime'; break;
99         }
100
101         $orderby = 'ORDER BY ' . $column . ' ' . $ascdesc;
102
103 }
104 else {
105         $orderby = 'ORDER BY t.ctime DESC';
106 }
107
108 $cats = $cache->obtain_cats();
109
110 $sql = 'SELECT COUNT(id) AS count FROM ' . BOOKMARKS_TABLE . ' WHERE userid = ' . $userdata['uid'];
111 $result = $db->sql_query($sql);
112 $count = ( $row = $db->sql_fetchrow($result) ) ? intval($row['count']) : 0;
113 $torrentsperpage = ( !$userdata['torrentsperpage'] ? 30 : $userdata['torrentsperpage'] );</span>
114 <span class="code-lang">
115 list($pagertop, $pagerbottom, $offset, $limit) = pager($torrentsperpage, $count, 'bookmarks.php?');
116
117 $sql = 'SELECT b.id AS bookmarkid, t.fid, t.category, t.leechers, t.seeders, t.name, t.completed, t.free, t.size, t.ctime, t.comments, t.numfiles, t.filename, t.owner, t.hidden, t.numratings, t.ratingsum, t.numfiles, t.filename, t.size, t.completed, t.category, t.moderated, t.banned, u.privacy, u.parked, u.name AS username, u.title, u.class, u.donor, u.name_append, u.enabled, u.warneduntil, u.uid</span>
118 <span class="code-lang">        FROM ' . BOOKMARKS_TABLE . ' b, ' . TORRENTS_TABLE . ' t, ' . USERS_TABLE . ' u
119         WHERE b.userid = ' . $userdata['uid'] . ' AND b.torrentid = t.fid AND t.owner = u.uid ' . $orderby;
120 $result = $db->sql_query_limit($sql, $limit, $offset);
121
122 $template->assign_vars(array(</span>
123 <span class="code-lang">        'PAGER_TOP' => $pagertop,
124         'PAGER_BOTTOM' => $pagerbottom
125 ));
126 $ary = array();</span>
127 <span class="code-lang">while ( $row = $db->sql_fetchrow($result) ) {
128     $ary[] = $row;
129 }
130 $tpl = torrenttable($ary, true);</span>
131 <span class="code-lang">
132 if ( !sizeof($ary) ) {
133     trigger_error($lang['you_have_no_bookmarks']);
134 }
135
136
137 stdhead($lang['bookmarks']);
138 $template->set_filenames(array(</span>
139 <span class="code-lang">        'body' => 'bookmarks.html')
140 );
141 stdfoot();
142 ?>
Note: See TracBrowser for help on using the browser.