No regular expressions were active.
1 |
|
<?php
|
|
1 |
|
<?php
|
2 |
|
/*********
**********
**********
**********
**********
**********
**********
******
|
|
2 |
|
/*********
**********
**********
**********
**********
**********
**********
******
|
3 |
|
*
O
rca Intera
ctive Foru
m Script
|
|
3 |
|
*
O
rca Intera
ctive Foru
m Script
|
4 |
|
*
----------
-----
|
|
4 |
|
*
----------
-----
--
|
5 |
|
*
Start
e
d
:
Fr
Nov
10
2006
|
|
5 |
|
*
b
e
gin
:
Fr
Nov
10
2006
|
6 |
|
*
C
opyright
:
(C)
200
7
BoonEx
Group
|
|
6 |
|
*
c
opyright
:
(C)
200
6
BoonEx
Group
|
7 |
|
*
W
ebsite
:
http://www
.boonex.co
m
|
|
7 |
|
*
w
ebsite
:
http://www
.boonex.co
m
/
|
8 |
|
* This fil
e is part
of Orca -
Interactiv
e Forum Sc
ript
|
|
8 |
|
* This fil
e is part
of Orca -
Interactiv
e Forum Sc
ript
|
9 |
|
*
|
|
9 |
|
*
|
10 |
|
*
Orca
is
free
software
;
y
o
u
c
a
n
r
ed
i
s
tribut
e
i
t
and/
o
r
modify
i
t
u
n
d
e
r
|
|
10 |
|
*
Orca
is
free
software
.
This
w
o
rk
is
li
c
e
n
s
ed
under
a
Creat
i
ve
Common
s
At
tribut
i
o
n
3.0
L
i
ce
n
s
e
.
|
11 |
|
* the term
s of the G
NU General
Public Li
cense as p
ublished b
y the
|
|
11 |
|
* http://c
reativecom
mons.org/l
icenses/by
/3.0/
|
12 |
|
* Free Sof
tware Foun
dation; ei
ther versi
on 2 of th
e
|
|
|
13 |
|
* License,
or any la
ter versio
n.
|
|
|
14 |
|
*
|
|
12 |
|
*
|
15 |
|
* Orca is
distribute
d in the h
ope that i
t will be
useful, bu
t WITHOUT
ANY WARRAN
TY;
|
|
13 |
|
* Orca is
distribute
d in the h
ope that i
t will be
useful, bu
t WITHOUT
ANY WARRAN
TY;
|
16 |
|
* without
even the i
mplied war
ranty of
MERCHANTAB
ILITY or F
ITNESS FOR
A PARTICU
LAR PURPOS
E.
|
|
14 |
|
* without
even the i
mplied war
ranty of
MERCHANTAB
ILITY or F
ITNESS FOR
A PARTICU
LAR PURPOS
E.
|
17 |
|
*
See
the
GNU
G
e
n
e
r
al
Pu
b
l
i
c
License
for
more
details.
|
|
15 |
|
*
See
the
Cr
e
ativ
e
Commons
Att
r
i
b
ut
i
on
3.0
License
for
more
details.
|
18 |
|
*
You
should
have
received
a
copy
of
the
GNU
G
e
n
e
r
al
Pu
b
l
i
c
License
along
with
Orca,
|
|
16 |
|
*
You
should
have
received
a
copy
of
the
Cr
e
ativ
e
Commons
Att
r
i
b
ut
i
on
3.0
License
along
with
Orca,
|
19 |
|
* see lice
nse.txt fi
le; if not
, write to
marketing
@boonex.co
m
|
|
17 |
|
* see lice
nse.txt fi
le; if not
, write to
marketing
@boonex.co
m
|
20 |
|
**********
**********
**********
**********
**********
**********
**********
*****/
|
|
18 |
|
**********
**********
**********
**********
**********
**********
**********
*****/
|
21 |
|
|
|
19 |
|
|
22 |
|
|
|
20 |
|
|
23 |
|
define ('T
F_FORUM',
'
`'.$gConf[
'db']['pre
fix'].'for
um`');
|
|
21 |
|
define ('T
F_FORUM',
'
`'.$gConf[
'db']['pre
fix'].'for
um`');
|
24 |
|
define ('T
F_FORUM_CA
T', '
`'.$gConf[
'db']['pre
fix'].'for
um_cat`');
|
|
22 |
|
define ('T
F_FORUM_CA
T', '
`'.$gConf[
'db']['pre
fix'].'for
um_cat`');
|
25 |
|
define ('T
F_FORUM_PO
ST', '
`'.$gConf[
'db']['pre
fix'].'for
um_post`')
;
|
|
23 |
|
define ('T
F_FORUM_PO
ST', '
`'.$gConf[
'db']['pre
fix'].'for
um_post`')
;
|
26 |
|
define ('T
F_FORUM_TO
PIC', '
`'.$gConf[
'db']['pre
fix'].'for
um_topic`'
);
|
|
24 |
|
define ('T
F_FORUM_TO
PIC', '
`'.$gConf[
'db']['pre
fix'].'for
um_topic`'
);
|
27 |
|
define ('T
F_FORUM_VO
TE', '
`'.$gConf[
'db']['pre
fix'].'for
um_vote`')
;
|
|
25 |
|
define ('T
F_FORUM_VO
TE', '
`'.$gConf[
'db']['pre
fix'].'for
um_vote`')
;
|
28 |
|
define ('T
F_FORUM_RE
PORT', '
`'.$gConf[
'db']['pre
fix'].'for
um_report`
');
|
|
26 |
|
define ('T
F_FORUM_RE
PORT', '
`'.$gConf[
'db']['pre
fix'].'for
um_report`
');
|
29 |
|
define ('T
F_FORUM_FL
AG', '
`'.$gConf[
'db']['pre
fix'].'for
um_flag`')
;
|
|
27 |
|
define ('T
F_FORUM_FL
AG', '
`'.$gConf[
'db']['pre
fix'].'for
um_flag`')
;
|
30 |
|
define ('T
F_FORUM_US
ER_ACT', '
`'.$gConf[
'db']['pre
fix'].'for
um_user_ac
tivity`');
|
|
28 |
|
define ('T
F_FORUM_US
ER_ACT', '
`'.$gConf[
'db']['pre
fix'].'for
um_user_ac
tivity`');
|
31 |
|
define ('T
F_FORUM_US
ER_STAT','
`'.$gConf[
'db']['pre
fix'].'for
um_user_st
at`');
|
|
29 |
|
define ('T
F_FORUM_US
ER_STAT','
`'.$gConf[
'db']['pre
fix'].'for
um_user_st
at`');
|
32 |
|
|
|
30 |
|
|
33 |
|
// forum d
atabase fu
nctions
|
|
31 |
|
// forum d
atabase fu
nctions
|
34 |
|
|
|
32 |
|
|
35 |
|
class DbFo
rum extend
s BxDb
|
|
33 |
|
class DbFo
rum extend
s BxDb
|
36 |
|
{
|
|
34 |
|
{
|
37 |
|
|
|
35 |
|
|
38 |
|
/**
|
|
36 |
|
/**
|
39 |
|
* con
structor
|
|
37 |
|
* con
structor
|
40 |
|
*/
|
|
38 |
|
*/
|
41 |
|
functi
on DbForum
()
|
|
39 |
|
functi
on DbForum
()
|
42 |
|
{
|
|
40 |
|
{
|
43 |
|
gl
obal $gCon
f;
|
|
41 |
|
gl
obal $gCon
f;
|
44 |
|
pa
rent::BxDb
($gConf['
db']['db']
, $gConf['
db']['user
'], $gConf
['db']['pw
d'], $gCon
f['db']['h
ost'], $gC
onf['db'][
'port'], $
gConf['db'
]['sock'])
;
|
|
42 |
|
pa
rent::BxDb
($gConf['
db']['db']
, $gConf['
db']['user
'], $gConf
['db']['pw
d'], $gCon
f['db']['h
ost'], $gC
onf['db'][
'port'], $
gConf['db'
]['sock'])
;
|
45 |
|
}
|
|
43 |
|
}
|
46 |
|
|
|
44 |
|
|
47 |
|
functi
on searchM
essages ($
s, $u, $f,
$type, $p
osts, $lim
it)
|
|
45 |
|
functi
on searchM
essages ($
s, $u, $f,
$type, $p
osts, $lim
it)
|
48 |
|
{
|
|
46 |
|
{
|
49 |
|
gl
obal $gCon
f;
|
|
47 |
|
gl
obal $gCon
f;
|
50 |
|
|
|
48 |
|
|
51 |
|
if
($limit >
500) $li
mit = 500;
|
|
49 |
|
if
($limit >
500) $li
mit = 500;
|
52 |
|
|
|
50 |
|
|
53 |
|
$u
= trim ($
u);
|
|
51 |
|
$u
= trim ($
u);
|
54 |
|
$s
= trim ($
s);
|
|
52 |
|
$s
= trim ($
s);
|
55 |
|
|
|
53 |
|
|
56 |
|
$s
ql_w = '';
|
|
54 |
|
$s
ql_w = '';
|
57 |
|
|
|
55 |
|
|
58 |
|
if
(strlen($
s) > 2)
|
|
56 |
|
if
(strlen($
s) > 2)
|
59 |
|
{
|
|
57 |
|
{
|
60 |
|
$s = pre
g_replace
('/\s+/',
'%', $s);
|
|
58 |
|
$s = pre
g_replace
('/\s+/',
'%', $s);
|
61 |
|
if ('msg
s' == $typ
e) // mess
ages
|
|
59 |
|
if ('msg
s' == $typ
e) // mess
ages
|
62 |
|
$sql
_w .= " AN
D `post_te
xt` LIKE '
%$s%' ";
|
|
60 |
|
$sql
_w .= " AN
D `post_te
xt` LIKE '
%$s%' ";
|
63 |
|
else //
titles
|
|
61 |
|
else //
titles
|
64 |
|
$sql
_w .= " AN
D `topic_t
itle` LIKE
'%$s%' ";
|
|
62 |
|
$sql
_w .= " AN
D `topic_t
itle` LIKE
'%$s%' ";
|
65 |
|
}
|
|
63 |
|
}
|
66 |
|
|
|
64 |
|
|
67 |
|
if
(strlen($
u) > 2)
|
|
65 |
|
if
(strlen($
u) > 2)
|
68 |
|
{
|
|
66 |
|
{
|
69 |
|
$u = pre
g_replace
('/\s+/',
'%', $u);
|
|
67 |
|
$u = pre
g_replace
('/\s+/',
'%', $u);
|
70 |
|
if ('msg
s' == $typ
e)
|
|
68 |
|
if ('msg
s' == $typ
e)
|
71 |
|
$sql
_w .= " AN
D `user` L
IKE '%$u%'
";
|
|
69 |
|
$sql
_w .= " AN
D `user` L
IKE '%$u%'
";
|
72 |
|
else
|
|
70 |
|
else
|
73 |
|
$sql
_w .= " AN
D `first_p
ost_user`
LIKE '%$u%
' ";
|
|
71 |
|
$sql
_w .= " AN
D `first_p
ost_user`
LIKE '%$u%
' ";
|
74 |
|
}
|
|
72 |
|
}
|
75 |
|
|
|
73 |
|
|
76 |
|
if
($f > 0)
|
|
74 |
|
if
($f > 0)
|
77 |
|
{
|
|
75 |
|
{
|
78 |
|
$sql_w .
= " AND t3
.`forum_id
` = '$f' "
;
|
|
76 |
|
$sql_w .
= " AND t3
.`forum_id
` = '$f' "
;
|
79 |
|
}
|
|
77 |
|
}
|
80 |
|
|
|
78 |
|
|
81 |
|
$x
= '';
|
|
79 |
|
$x
= '';
|
82 |
|
if
($posts)
$x .= ', `
post_text`
';
|
|
80 |
|
if
($posts)
$x .= ', `
post_text`
';
|
83 |
|
|
|
81 |
|
|
84 |
|
|
|
82 |
|
|
85 |
|
if
('msgs' =
= $type)
|
|
83 |
|
if
('msgs' =
= $type)
|
86 |
|
{
|
|
84 |
|
{
|
87 |
|
return $
this->getA
ll ("
|
|
85 |
|
return $
this->getA
ll ("
|
88 |
|
SELECT
DISTINCTRO
W
t4.`cat_id
`,
`cat_name`
,
t3.`forum_
id`,
`forum_tit
le`,
t2.`topic_
id`,
`topic_tit
le`,
`post_id`,
DATE_FORMA
T(FROM_UNI
XTIME(t1.`
when`),'{$
gConf['dat
e_format']
}')
AS
`date`,
`user`
$x
|
|
86 |
|
SELECT
DISTINCTRO
W
t4.`cat_id
`,
t4.`cat_ur
i`,
`cat_name`
,
t3.`forum_
id`,
t3.`forum_
uri`,
`forum_tit
le`,
t2.`topic_
id`,
t2.`topic_
uri`,
`topic_tit
le`,
`post_id`,
DATE_FORMA
T(FROM_UNI
XTIME(t1.`
when`),'{$
gConf['dat
e_format']
}')
AS
`date`,
`user`
$x
|
89 |
|
FROM "
. TF_FORU
M_POST . "
AS t1
|
|
87 |
|
FROM "
. TF_FORU
M_POST . "
AS t1
|
90 |
|
INNER
JOIN " .
TF_FORUM_T
OPIC . " A
S t2 ON (t
2.`topic_i
d` = t1.`t
opic_id`)
|
|
88 |
|
INNER
JOIN " .
TF_FORUM_T
OPIC . " A
S t2 ON (t
2.`topic_i
d` = t1.`t
opic_id`)
|
91 |
|
INNER
JOIN " .
TF_FORUM .
" AS t3 O
N (t1.`for
um_id` = t
3.`forum_i
d`)
|
|
89 |
|
INNER
JOIN " .
TF_FORUM .
" AS t3 O
N (t1.`for
um_id` = t
3.`forum_i
d`)
|
92 |
|
INNER
JOIN " . T
F_FORUM_CA
T . " AS t
4 ON (t3.`
cat_id` =
t4.`cat_id
`)
|
|
90 |
|
INNER
JOIN " . T
F_FORUM_CA
T . " AS t
4 ON (t3.`
cat_id` =
t4.`cat_id
`)
|
93 |
|
WHERE
1 $sql_w
|
|
91 |
|
WHERE
1 $sql_w
|
94 |
|
ORDER
BY `last_p
ost_when`
DESC
|
|
92 |
|
ORDER
BY `last_p
ost_when`
DESC
|
95 |
|
LIMIT
$limit");
|
|
93 |
|
LIMIT
$limit");
|
96 |
|
}
|
|
94 |
|
}
|
97 |
|
el
se // sear
ch titles
|
|
95 |
|
el
se // sear
ch titles
|
98 |
|
{
|
|
96 |
|
{
|
99 |
|
return $
this->getA
ll ("
|
|
97 |
|
return $
this->getA
ll ("
|
100 |
|
SELECT
t4.`cat_id
`,
`cat_name`
,
t3.`forum_
id`,
`forum_tit
le`,
t2.`topic_
id`,
`topic_tit
le`,
DATE_FORMA
T(FROM_UNI
XTIME(`fir
st_post_wh
en`),'{$gC
onf['date_
format']}'
)
AS
`date`,
`first_pos
t_user`
AS
`user`
|
|
98 |
|
SELECT
t4.`cat_id
`,
t4.`cat_ur
i`,
`cat_name`
,
t3.`forum_
id`,
t3.`forum_
uri`,
`forum_tit
le`,
t2.`topic_
id`,
t2.`topic_
uri`,
`topic_tit
le`,
DATE_FORMA
T(FROM_UNI
XTIME(`fir
st_post_wh
en`),'{$gC
onf['date_
format']}'
)
AS
`date`,
`first_pos
t_user`
AS
`user`
|
101 |
|
FROM "
. TF_FORU
M_TOPIC .
" AS t2
|
|
99 |
|
FROM "
. TF_FORU
M_TOPIC .
" AS t2
|
102 |
|
INNER
JOIN " .
TF_FORUM .
" AS t3 O
N (t2.`for
um_id` = t
3.`forum_i
d`)
|
|
100 |
|
INNER
JOIN " .
TF_FORUM .
" AS t3 O
N (t2.`for
um_id` = t
3.`forum_i
d`)
|
103 |
|
INNER
JOIN " . T
F_FORUM_CA
T . " AS t
4 ON (t3.`
cat_id` =
t4.`cat_id
`)
|
|
101 |
|
INNER
JOIN " . T
F_FORUM_CA
T . " AS t
4 ON (t3.`
cat_id` =
t4.`cat_id
`)
|
104 |
|
WHERE
1 $sql_w
|
|
102 |
|
WHERE
1 $sql_w
|
105 |
|
ORDER
BY `last_p
ost_when`
DESC
|
|
103 |
|
ORDER
BY `last_p
ost_when`
DESC
|
106 |
|
LIMIT
$limit");
|
|
104 |
|
LIMIT
$limit");
|
107 |
|
}
|
|
105 |
|
}
|
108 |
|
}
|
|
106 |
|
}
|
109 |
|
|
|
107 |
|
|
110 |
|
functi
on getCate
gs ()
|
|
108 |
|
functi
on getCate
gs ()
|
111 |
|
{
|
|
109 |
|
{
|
112 |
|
return
$this->get
All
("SELECT
`cat_id`,
`cat_
name`,
`cat_icon`
FROM
"
.
TF_FORUM_C
AT
.
"
ORDER
BY
`cat_order
`
ASC");
|
|
110 |
|
return
$this->get
All
("SELECT
`cat_id`,
`cat_
uri`,
`cat_
name`,
`cat_icon`
FROM
"
.
TF_FORUM_C
AT
.
"
ORDER
BY
`cat_order
`
ASC");
|
113 |
|
}
|
|
111 |
|
}
|
114 |
|
|
|
112 |
|
|
115 |
|
functi
on getCatT
itle ($id)
|
|
113 |
|
functi
on getCatT
itle ($id)
|
116 |
|
{
|
|
114 |
|
{
|
117 |
|
re
turn $this
->getOne (
"SELECT `c
at_name` F
ROM " . TF
_FORUM_CAT
. " WHERE
`cat_id`
= '$id'");
|
|
115 |
|
re
turn $this
->getOne (
"SELECT `c
at_name` F
ROM " . TF
_FORUM_CAT
. " WHERE
`cat_id`
= '$id'");
|
118 |
|
}
|
|
116 |
|
}
|
119 |
|
|
|
117 |
|
|
|
|
118 |
|
functi
on getCat
($id)
|
|
|
119 |
|
{
|
|
|
120 |
|
re
turn $this
->getRow (
"SELECT `c
at_id`, `c
at_uri`, `
cat_name`
FROM " . T
F_FORUM_CA
T . " WHER
E `cat_id`
= '$id'")
;
|
|
|
121 |
|
}
|
|
|
122 |
|
|
120 |
|
functi
on getForu
ms ($c)
|
|
123 |
|
functi
on getForu
ms ($c)
|
121 |
|
{
|
|
124 |
|
{
|
122 |
|
gl
obal $gCon
f;
|
|
125 |
|
gl
obal $gCon
f;
|
123 |
|
return
$this->get
All
(
"SELECT
`forum_id`
,
`
cat_id`,
`forum_tit
le`,
`forum_des
c`,
`forum_typ
e`,
`forum_pos
ts`,
`forum_top
ics`,
DATE_FORMA
T(FROM_UNI
XTIME(`for
um_last`),
'{$gConf['
date_forma
t']}')
AS
`forum_las
t`,
`forum_las
t`
AS
`forum_las
t_ts`
FROM
"
.
TF_FORUM
.
($c
?
"
WHERE
`cat_id`
=
'$c'":
'')
.
'
ORDER
BY
`forum_id`
ASC');
|
|
126 |
|
return
$this->get
All
(
"SELECT
`forum_id`
,
`
forum_uri`
,
`
cat_id`,
`forum_tit
le`,
`forum_des
c`,
`forum_typ
e`,
`forum_pos
ts`,
`forum_top
ics`,
DATE_FORMA
T(FROM_UNI
XTIME(`for
um_last`),
'{$gConf['
date_forma
t']}')
AS
`forum_las
t`,
`forum_las
t`
AS
`forum_las
t_ts`
FROM
"
.
TF_FORUM
.
($c
?
"
WHERE
`cat_id`
=
'$c'":
'')
.
'
ORDER
BY
`forum_id`
ASC');
|
124 |
|
}
|
|
127 |
|
}
|
125 |
|
|
|
128 |
|
|
126 |
|
function
getForum
($
f
)
|
|
129 |
|
function
getForum
sByCatUri
($
c
)
|
127 |
|
{
|
|
130 |
|
{
|
128 |
|
gl
obal $gCon
f;
|
|
131 |
|
gl
obal $gCon
f;
|
129 |
|
return
$this->get
Row
(
"SELECT
`
cat_id`,
`
forum_titl
e`,
`forum_des
c`,
`forum_typ
e`,
`forum_pos
ts`,
DATE_FORMA
T(FROM_UNI
XTIME(`for
um_last`),
'{$gConf['
date_forma
t']}')
AS
`forum_las
t`
FROM
"
.
TF_FORUM
.
"
WHERE
`
forum_id`
=
'$f
'
LIMIT
1"
);
|
|
132 |
|
return
$this->get
All
(
"SELECT
`
forum_id`,
`forum_uri
`,
`tc`.`
cat_id`,
`
tc`.`cat_u
ri`,
`
forum_titl
e`,
`forum_des
c`,
`forum_typ
e`,
`forum_pos
ts`,
`forum_top
ics`,
DATE_FORMA
T(FROM_UNI
XTIME(`for
um_last`),
'{$gConf['
date_forma
t']}')
AS
`forum_las
t`
,
`forum_las
t`
AS
`forum_las
t_ts`
FROM
"
.
TF_FORUM
.
"
AS
`tf`
INNER
JOIN
"
.
TF_FORUM_C
AT
.
"
AS
`tc`
ON
(`tf`.`cat
_id`
=
`tc`.`cat_
id`)
"
.
($c
?
"
WHERE
`
cat_uri`
=
'$c'":
'')
.
'
ORDER
BY
`
forum_id`
ASC
'
);
|
130 |
|
}
|
|
133 |
|
}
|
131 |
|
|
|
134 |
|
|
132 |
|
function
getForum
IdByTopicI
d
($
topic_id
)
|
|
135 |
|
function
getForum
($
f
)
|
133 |
|
{
|
|
136 |
|
{
|
134 |
|
re
turn $this
->getOne (
"SELECT `
forum_id`
FROM" . TF
_FORUM_TOP
IC . " WHE
RE `topic_
id` = '$to
pic_id' LI
MIT 1");
|
|
137 |
|
re
turn $this
->getForum
By ('forum
_id', $f);
|
135 |
|
}
|
|
138 |
|
}
|
136 |
|
|
|
139 |
|
|
137 |
|
function
getForum
Type
By
Top
i
cId
($
topic_id
)
|
|
140 |
|
function
getForum
By
Ur
i
($
f
)
|
138 |
|
{
|
|
141 |
|
{
|
139 |
|
re
turn $this
->getOne (
"SELECT `
forum_type
` FROM " .
TF_FORUM
. " INNER
JOIN " . T
F_FORUM_TO
PIC . " US
ING(`forum
_id`) WHER
E `topic_i
d` = '$top
ic_id' LIM
IT 1");
|
|
142 |
|
re
turn $this
->getForum
By ('forum
_uri', $f)
;
|
140 |
|
}
|
|
143 |
|
}
|
141 |
|
|
|
144 |
|
|
142 |
|
function
getForum
Type
By
PostId
($
po
s
t_id
)
|
|
145 |
|
function
getForum
By
($
s
Name,
$sVal
)
|
143 |
|
{
|
|
146 |
|
{
|
144 |
|
re
turn $this
->getOne (
"SELECT `
forum_type
` FROM " .
TF_FORUM
. " INNER
JOIN " . T
F_FORUM_PO
ST . " USI
NG(`forum_
id`) WHERE
`post_id`
= '$post_
id' LIMIT
1");
|
|
147 |
|
gl
obal $gCon
f;
|
|
|
148 |
|
re
turn $this
->getRow (
"SELECT `
cat_id`, `
forum_id`,
`forum_ur
i`, `forum
_title`, `
forum_desc
`, `forum_
type`, `fo
rum_posts`
, DATE_FOR
MAT(FROM_U
NIXTIME(`f
orum_last`
),'{$gConf
['date_for
mat']}') A
S `forum_l
ast` FROM
" . TF_FOR
UM . " WHE
RE `$sName
` = '$sVal
' LIMIT 1"
);
|
145 |
|
}
|
|
149 |
|
}
|
146 |
|
|
|
150 |
|
|
147 |
|
function
getForum
Id
ByPostId
($post_id)
|
|
151 |
|
function
getForum
ByPostId
($post_id)
|
148 |
|
{
|
|
152 |
|
{
|
149 |
|
return
$this->get
One
(
"SELECT
`
forum_id`
FROM
"
.
TF_FORUM
_POST
.
"
WHERE
`post_id`
=
'$post_id'
LIMIT
1");
|
|
153 |
|
return
$this->get
Row
(
"SELECT
`
tf`.`
forum_id`
,
`tf`.`foru
m_uri`,
`tf`.`foru
m_type`
FROM
"
.
TF_FORUM
.
"
AS
`tf`
INNER
JOIN
"
.
TF_FORUM
_POST
.
"
USING(`for
um_id`)
WHERE
`post_id`
=
'$post_id'
LIMIT
1");
|
150 |
|
}
|
|
154 |
|
}
|
151 |
|
|
|
155 |
|
|
152 |
|
functi
on getPost
Ids ($p)
|
|
156 |
|
functi
on getPost
Ids ($p)
|
153 |
|
{
|
|
157 |
|
{
|
154 |
|
re
turn $this
->getRow (
"SELECT `
forum_id`,
`topic_id
` FROM " .
TF_FORUM_
POST . " W
HERE `post
_id` = '$p
' LIMIT 1"
);
|
|
158 |
|
re
turn $this
->getRow (
"SELECT `
forum_id`,
`topic_id
` FROM " .
TF_FORUM_
POST . " W
HERE `post
_id` = '$p
' LIMIT 1"
);
|
155 |
|
}
|
|
159 |
|
}
|
156 |
|
|
|
160 |
|
|
157 |
|
functi
on getTopi
csNum ($f)
|
|
161 |
|
functi
on getTopi
csNum ($f)
|
158 |
|
{
|
|
162 |
|
{
|
159 |
|
re
turn $this
->getOne (
"SELECT CO
UNT(`topic
_id`) FROM
" . TF_FO
RUM_TOPIC
. " WHERE
`forum_id`
= '$f'");
|
|
163 |
|
re
turn $this
->getOne (
"SELECT CO
UNT(`topic
_id`) FROM
" . TF_FO
RUM_TOPIC
. " WHERE
`forum_id`
= '$f'");
|
160 |
|
}
|
|
164 |
|
}
|
161 |
|
|
|
165 |
|
|
162 |
|
functi
on getTopi
cs ($f, $s
tart)
|
|
166 |
|
functi
on getTopi
cs ($f, $s
tart)
|
163 |
|
{
|
|
167 |
|
{
|
164 |
|
gl
obal $gCon
f;
|
|
168 |
|
gl
obal $gCon
f;
|
165 |
|
return
$this->get
All
(
"SELECT
f1.`topic_
id`,
`topic_tit
le`,
`first_pos
t_user`,
DATE_FORMA
T(FROM_UNI
XTIME(`fir
st_post_wh
en`),'{$gC
onf['date_
format']}'
)
AS
`first_whe
n`,
`last_post
_user`,
DATE_FORMA
T(FROM_UNI
XTIME(`las
t_post_whe
n`),'{$gCo
nf['date_f
ormat']}')
AS
`last_when
`,
`last_post
_when`,
`topic_pos
ts`
AS
`count_pos
ts`,
`topic_sti
cky`,
`topic_loc
ked`
FROM
"
.
TF_FORUM_T
OPIC
.
"
AS
f1
WHERE
f1.`forum_
id`
=
'$f'
ORDER
BY
`topic_sti
cky`
DESC,
`last_post
_when`
DESC
LIMIT
$start,
{$gConf['t
opics_per_
page']}");
|
|
169 |
|
|
|
|
170 |
|
return
$this->get
All
(
"SELECT
f1.`topic_
id`,
f1.`topic_
uri`,
`topic_tit
le`,
`first_pos
t_user`,
DATE_FORMA
T(FROM_UNI
XTIME(`fir
st_post_wh
en`),'{$gC
onf['date_
format']}'
)
AS
`first_whe
n`,
`last_post
_user`,
DATE_FORMA
T(FROM_UNI
XTIME(`las
t_post_whe
n`),'{$gCo
nf['date_f
ormat']}')
AS
`last_when
`,
`last_post
_when`,
`topic_pos
ts`
AS
`count_pos
ts`,
`topic_sti
cky`,
`topic_loc
ked`
FROM
"
.
TF_FORUM_T
OPIC
.
"
AS
f1
WHERE
f1.`forum_
id`
=
'$f'
ORDER
BY
`topic_sti
cky`
DESC,
`last_post
_when`
DESC
LIMIT
$start,
{$gConf['t
opics_per_
page']}");
|
166 |
|
}
|
|
171 |
|
}
|
167 |
|
|
|
172 |
|
|
168 |
|
functi
on getMyFl
aggedTopic
s ($u)
|
|
173 |
|
functi
on getMyFl
aggedTopic
s ($u)
|
169 |
|
{
|
|
174 |
|
{
|
170 |
|
gl
obal $gCon
f;
|
|
175 |
|
gl
obal $gCon
f;
|
171 |
|
|
|
176 |
|
|
172 |
|
$sql
=
"SELECT
f1.`topic_
id`,
`topic_tit
le`,
`last_post
_when`,
`topic_pos
ts`
AS
`count_pos
ts`
FROM
"
.
TF_FORUM_T
OPIC
.
"
AS
f1
INNER
JOIN
"
.
TF_FORUM_F
LAG
.
"
AS
f2
USING
(`topic_id
`)
WHERE
f2.`user`
=
'$u'
ORDER
BY
`last_post
_when`
DESC";
|
|
177 |
|
$sql
=
"SELECT
f1.`topic_
id`,
f1.`topic_
uri`,
`topic_tit
le`,
`last_post
_when`,
`topic_pos
ts`
AS
`count_pos
ts`
FROM
"
.
TF_FORUM_T
OPIC
.
"
AS
f1
INNER
JOIN
"
.
TF_FORUM_F
LAG
.
"
AS
f2
USING
(`topic_id
`)
WHERE
f2.`user`
=
'$u'
ORDER
BY
`last_post
_when`
DESC";
|
173 |
|
|
|
178 |
|
|
174 |
|
re
turn $this
->getAll (
$sql);
|
|
179 |
|
re
turn $this
->getAll (
$sql);
|
175 |
|
}
|
|
180 |
|
}
|
176 |
|
|
|
181 |
|
|
177 |
|
functi
on getMyTh
readsTopic
s ($u)
|
|
182 |
|
functi
on getMyTh
readsTopic
s ($u)
|
178 |
|
{
|
|
183 |
|
{
|
179 |
|
gl
obal $gCon
f;
|
|
184 |
|
gl
obal $gCon
f;
|
180 |
|
|
|
185 |
|
|
181 |
|
$sql
=
"SELECT
DISTINCTRO
W
f1.`topic_
id`,
`topic_tit
le`,
`last_post
_when`,
`topic_pos
ts`
AS
`count_pos
ts`
FROM
"
.
TF_FORUM_T
OPIC
.
"
AS
f1
INNER
JOIN
"
.
TF_FORUM_P
OST
.
"
AS
f2
USING
(`topic_id
`)
WHERE
f2.`user`
=
'$u'
ORDER
BY
`last_post
_when`
DESC";
|
|
186 |
|
$sql
=
"SELECT
DISTINCTRO
W
f1.`topic_
id`,
f1.`topic_
uri`,
`topic_tit
le`,
`last_post
_when`,
`topic_pos
ts`
AS
`count_pos
ts`
FROM
"
.
TF_FORUM_T
OPIC
.
"
AS
f1
INNER
JOIN
"
.
TF_FORUM_P
OST
.
"
AS
f2
USING
(`topic_id
`)
WHERE
f2.`user`
=
'$u'
ORDER
BY
`last_post
_when`
DESC";
|
182 |
|
|
|
187 |
|
|
183 |
|
re
turn $this
->getAll (
$sql);
|
|
188 |
|
re
turn $this
->getAll (
$sql);
|
184 |
|
}
|
|
189 |
|
}
|
185 |
|
|
|
190 |
|
|
186 |
|
functi
on getTopi
c ($t)
|
|
191 |
|
functi
on getTopi
c ($t)
|
187 |
|
{
|
|
192 |
|
{
|
188 |
|
return
$this->get
Row
(
"SELECT
`topic_id`
,
`topic_
title`,
`forum_tit
le`,
`forum_des
c`,
`forum_typ
e`,
f1.`forum_
id`,
`cat_id`,
`topic_loc
ked`
FROM
"
.
TF_FORUM_T
OPIC
.
"
AS
f1
INNER
JOIN
"
.
TF_FORUM
.
"
USING
(`forum_id
`)
WHERE
f1.`
topic_id
`
=
'$
t
'
LIMIT
1");
|
|
193 |
|
re
turn $this
->getTopic
By ('topic
_id', $t);
|
|
|
194 |
|
}
|
|
|
195 |
|
|
|
|
196 |
|
functi
on getTopi
cByUri ($t
)
|
|
|
197 |
|
{
|
|
|
198 |
|
re
turn $this
->getTopic
By ('topic
_uri', $t)
;
|
|
|
199 |
|
}
|
|
|
200 |
|
|
|
|
201 |
|
functi
on getTopi
cBy ($sNam
e, $sVal)
|
|
|
202 |
|
{
|
|
|
203 |
|
return
$this->get
Row
(
"SELECT
`topic_id`
,
`topic_
uri`,
`topic_
title`,
`forum_tit
le`,
`forum_des
c`,
`forum_typ
e`,
`forum_uri
`,
f1.`forum_
id`,
`cat_id`,
`topic_loc
ked`
FROM
"
.
TF_FORUM_T
OPIC
.
"
AS
f1
INNER
JOIN
"
.
TF_FORUM
.
"
USING
(`forum_id
`)
WHERE
f1.`
$sName
`
=
'$
sVal
'
LIMIT
1");
|
189 |
|
}
|
|
204 |
|
}
|
190 |
|
|
|
205 |
|
|
191 |
|
functi
on getPost
User ($p)
|
|
206 |
|
functi
on getPost
User ($p)
|
192 |
|
{
|
|
207 |
|
{
|
193 |
|
re
turn $this
->getOne (
"SELECT `
user` FROM
" . TF_FO
RUM_POST .
" WHERE `
post_id` =
'$p'");
|
|
208 |
|
re
turn $this
->getOne (
"SELECT `
user` FROM
" . TF_FO
RUM_POST .
" WHERE `
post_id` =
'$p'");
|
194 |
|
}
|
|
209 |
|
}
|
195 |
|
|
|
210 |
|
|
196 |
|
functi
on getTopi
cPost ($t,
$x = 'las
t')
|
|
211 |
|
functi
on getTopi
cPost ($t,
$x = 'las
t')
|
197 |
|
{
|
|
212 |
|
{
|
198 |
|
gl
obal $gCon
f;
|
|
213 |
|
gl
obal $gCon
f;
|
199 |
|
re
turn $this
->getRow (
"SELECT `
user`, t1.
`when` AS
`when2`, D
ATE_FORMAT
(FROM_UNIX
TIME(`when
`),'{$gCon
f['date_fo
rmat']}')
AS `when`
FROM " . T
F_FORUM_PO
ST . " AS
t1 WHERE `
topic_id`
= '$t' ORD
ER BY t1.`
when` " .
('last' ==
$x ? 'DE
SC' : 'ASC
') . " L
IMIT 1");
|
|
214 |
|
re
turn $this
->getRow (
"SELECT `
user`, t1.
`when` AS
`when2`, D
ATE_FORMAT
(FROM_UNIX
TIME(`when
`),'{$gCon
f['date_fo
rmat']}')
AS `when`
FROM " . T
F_FORUM_PO
ST . " AS
t1 WHERE `
topic_id`
= '$t' ORD
ER BY t1.`
when` " .
('last' ==
$x ? 'DE
SC' : 'ASC
') . " L
IMIT 1");
|
200 |
|
}
|
|
215 |
|
}
|
201 |
|
|
|
216 |
|
|
202 |
|
functi
on getTopi
cDesc ($t)
|
|
217 |
|
functi
on getTopi
cDesc ($t)
|
203 |
|
{
|
|
218 |
|
{
|
204 |
|
gl
obal $gCon
f;
|
|
219 |
|
gl
obal $gCon
f;
|
205 |
|
re
turn $this
->getOne (
"SELECT L
EFT(`post_
text`, {$g
Conf['topi
cs_desc_le
n']}) FROM
" . TF_FO
RUM_POST .
" WHERE `
topic_id`
= '$t' ORD
ER BY `whe
n` ASC LIM
IT 1");
|
|
220 |
|
re
turn $this
->getOne (
"SELECT L
EFT(`post_
text`, {$g
Conf['topi
cs_desc_le
n']}) FROM
" . TF_FO
RUM_POST .
" WHERE `
topic_id`
= '$t' ORD
ER BY `whe
n` ASC LIM
IT 1");
|
206 |
|
}
|
|
221 |
|
}
|
207 |
|
|
|
222 |
|
|
208 |
|
functi
on editPos
t ($p, $te
xt)
|
|
223 |
|
functi
on editPos
t ($p, $te
xt)
|
209 |
|
{
|
|
224 |
|
{
|
210 |
|
re
turn $this
->query ("
UPDATE " .
TF_FORUM_
POST . " S
ET `post_t
ext` = '$t
ext' WHERE
post_id =
'$p'");
|
|
225 |
|
re
turn $this
->query ("
UPDATE " .
TF_FORUM_
POST . " S
ET `post_t
ext` = '$t
ext' WHERE
post_id =
'$p'");
|
211 |
|
}
|
|
226 |
|
}
|
212 |
|
|
|
227 |
|
|
213 |
|
function
newTopic
($f,
$title,
$text,
$sticky,
$user
)
|
|
228 |
|
function
newTopic
($f,
$title,
$text,
$sticky,
$user
,
$uri
)
|
214 |
|
{
|
|
229 |
|
{
|
215 |
|
$t
s = time (
);
|
|
230 |
|
$t
s = time (
);
|
216 |
|
|
|
231 |
|
|
217 |
|
$s
ticky = $s
ticky ? $t
s : 0;
|
|
232 |
|
$s
ticky = $s
ticky ? $t
s : 0;
|
218 |
|
|
|
233 |
|
|
219 |
|
//
add topic
title
|
|
234 |
|
//
add topic
title
|
220 |
|
if
(!$this->q
uery
("INSERT
INTO"
.
TF_FORUM_T
OPIC
.
"
SET
`topic_pos
ts`
=
1,
`forum_id`
=
'$f',
`topic_tit
le`
=
'$title',
`when`
=
'$ts',
`first_pos
t_user`
=
'$user',
`first_pos
t_when`
=
'$ts',
`last_post
_user`
=
'$user',
`last_post
_when`
=
'$ts',
`topic_sti
cky`
=
'$sticky'
"))
|
|
235 |
|
if
(!$this->q
uery
("INSERT
INTO"
.
TF_FORUM_T
OPIC
.
"
SET
`topic_pos
ts`
=
1,
`forum_id`
=
'$f',
`topic_tit
le`
=
'$title',
`when`
=
'$ts',
`first_pos
t_user`
=
'$user',
`first_pos
t_when`
=
'$ts',
`last_post
_user`
=
'$user',
`last_post
_when`
=
'$ts',
`topic_sti
cky`
=
'$sticky'
,
`topic_uri
`
=
'$uri'
"))
|
221 |
|
return f
alse;
|
|
236 |
|
return f
alse;
|
222 |
|
|
|
237 |
|
|
223 |
|
//
get topic
_id
|
|
238 |
|
//
get topic
_id
|
224 |
|
if
(!($topic
_id = $thi
s->getOne
("SELECT `
topic_id`
FROM " . T
F_FORUM_TO
PIC . " WH
ERE `forum
_id` = '$f
' AND `whe
n` = '$ts'
")))
|
|
239 |
|
if
(!($topic
_id = $thi
s->getOne
("SELECT `
topic_id`
FROM " . T
F_FORUM_TO
PIC . " WH
ERE `forum
_id` = '$f
' AND `whe
n` = '$ts'
")))
|
225 |
|
return f
alse;
|
|
240 |
|
return f
alse;
|
226 |
|
|
|
241 |
|
|
227 |
|
//
add topic
post
|
|
242 |
|
//
add topic
post
|
228 |
|
if
(!$this->
query ("IN
SERT INTO"
. TF_FORU
M_POST . "
SET `topi
c_id` = '$
topic_id',
`forum_id
` = '$f',
`user` = '
$user', `p
ost_text`
= '$text',
`when` =
'$ts'"))
|
|
243 |
|
if
(!$this->
query ("IN
SERT INTO"
. TF_FORU
M_POST . "
SET `topi
c_id` = '$
topic_id',
`forum_id
` = '$f',
`user` = '
$user', `p
ost_text`
= '$text',
`when` =
'$ts'"))
|
229 |
|
return f
alse;
|
|
244 |
|
return f
alse;
|
230 |
|
|
|
245 |
|
|
231 |
|
//
increase
number of
forum post
s and set
timeof las
t post
|
|
246 |
|
//
increase
number of
forum post
s and set
timeof las
t post
|
232 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM . "
SET `foru
m_posts` =
`forum_po
sts` + 1,
`forum_top
ics` = `fo
rum_topics
` + 1, `fo
rum_last`
= '$ts' WH
ERE `forum
_id` = '$f
'"))
|
|
247 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM . "
SET `foru
m_posts` =
`forum_po
sts` + 1,
`forum_top
ics` = `fo
rum_topics
` + 1, `fo
rum_last`
= '$ts' WH
ERE `forum
_id` = '$f
'"))
|
233 |
|
return f
alse;
|
|
248 |
|
return f
alse;
|
234 |
|
|
|
249 |
|
|
235 |
|
//
update us
er stats
|
|
250 |
|
//
update us
er stats
|
236 |
|
if
(!$this->
userStatsI
nc ($user,
$ts))
|
|
251 |
|
if
(!$this->
userStatsI
nc ($user,
$ts))
|
237 |
|
return f
alse;
|
|
252 |
|
return f
alse;
|
238 |
|
|
|
253 |
|
|
239 |
|
re
turn true;
|
|
254 |
|
re
turn true;
|
240 |
|
}
|
|
255 |
|
}
|
241 |
|
|
|
256 |
|
|
242 |
|
functi
on deleteP
ost ($post
_id)
|
|
257 |
|
functi
on deleteP
ost ($post
_id)
|
243 |
|
{
|
|
258 |
|
{
|
244 |
|
$a
= $this->
getPostIds
($post_id
);
|
|
259 |
|
$a
= $this->
getPostIds
($post_id
);
|
245 |
|
|
|
260 |
|
|
246 |
|
$u
ser = $thi
s->getPost
User ($pos
t_id);
|
|
261 |
|
$u
ser = $thi
s->getPost
User ($pos
t_id);
|
247 |
|
|
|
262 |
|
|
248 |
|
//
delete po
st
|
|
263 |
|
//
delete po
st
|
249 |
|
if
(!$this->
query ("DE
LETE FROM
" . TF_FOR
UM_POST .
" WHERE `p
ost_id` =
'$post_id'
"))
|
|
264 |
|
if
(!$this->
query ("DE
LETE FROM
" . TF_FOR
UM_POST .
" WHERE `p
ost_id` =
'$post_id'
"))
|
250 |
|
return f
alse;
|
|
265 |
|
return f
alse;
|
251 |
|
|
|
266 |
|
|
252 |
|
//
decrease
number of
forum post
s
|
|
267 |
|
//
decrease
number of
forum post
s
|
253 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM . "
SET `foru
m_posts` =
`forum_po
sts` - 1 W
HERE `foru
m_id` = '{
$a['forum_
id']}'"))
|
|
268 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM . "
SET `foru
m_posts` =
`forum_po
sts` - 1 W
HERE `foru
m_id` = '{
$a['forum_
id']}'"))
|
254 |
|
return f
alse;
|
|
269 |
|
return f
alse;
|
255 |
|
|
|
270 |
|
|
256 |
|
//
update us
er stats
|
|
271 |
|
//
update us
er stats
|
257 |
|
if
(!$this->
userStatsD
ec ($user)
)
|
|
272 |
|
if
(!$this->
userStatsD
ec ($user)
)
|
258 |
|
return f
alse;
|
|
273 |
|
return f
alse;
|
259 |
|
|
|
274 |
|
|
260 |
|
//
update la
st post
|
|
275 |
|
//
update la
st post
|
261 |
|
$l
ast = $thi
s->getTopi
cPost ($a[
'topic_id'
], 'last')
;
|
|
276 |
|
$l
ast = $thi
s->getTopi
cPost ($a[
'topic_id'
], 'last')
;
|
262 |
|
|
|
277 |
|
|
263 |
|
//
decrease
number of
topic post
s
|
|
278 |
|
//
decrease
number of
topic post
s
|
264 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM_TOP
IC . " SET
`topic_po
sts` = `to
pic_posts`
- 1, `las
t_post_use
r` = '{$la
st['user']
}', `last_
post_when`
= '{$last
['when2']}
' WHERE `t
opic_id` =
'{$a['top
ic_id']}'"
))
|
|
279 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM_TOP
IC . " SET
`topic_po
sts` = `to
pic_posts`
- 1, `las
t_post_use
r` = '{$la
st['user']
}', `last_
post_when`
= '{$last
['when2']}
' WHERE `t
opic_id` =
'{$a['top
ic_id']}'"
))
|
265 |
|
return f
alse;
|
|
280 |
|
return f
alse;
|
266 |
|
|
|
281 |
|
|
267 |
|
//
delete to
pic
|
|
282 |
|
//
delete to
pic
|
268 |
|
if
(0 == $th
is->getOne
("SELECT C
OUNT(*) FR
OM " . TF_
FORUM_POST
. " WHERE
`topic_id
` = '{$a['
topic_id']
}'"))
|
|
283 |
|
if
(0 == $th
is->getOne
("SELECT C
OUNT(*) FR
OM " . TF_
FORUM_POST
. " WHERE
`topic_id
` = '{$a['
topic_id']
}'"))
|
269 |
|
{
|
|
284 |
|
{
|
270 |
|
if ($thi
s->query("
DELETE FRO
M " . TF_F
ORUM_TOPIC
. " WHERE
`topic_id
` = '{$a['
topic_id']
}'"))
|
|
285 |
|
if ($thi
s->query("
DELETE FRO
M " . TF_F
ORUM_TOPIC
. " WHERE
`topic_id
` = '{$a['
topic_id']
}'"))
|
271 |
|
{
|
|
286 |
|
{
|
272 |
|
// d
escrease n
umber of t
opics
|
|
287 |
|
// d
escrease n
umber of t
opics
|
273 |
|
$thi
s->query (
"UPDATE "
. TF_FORUM
. " SET `
forum_topi
cs` = `for
um_topics`
- 1 WHERE
`forum_id
` = '{$a['
forum_id']
}'");
|
|
288 |
|
$thi
s->query (
"UPDATE "
. TF_FORUM
. " SET `
forum_topi
cs` = `for
um_topics`
- 1 WHERE
`forum_id
` = '{$a['
forum_id']
}'");
|
274 |
|
}
|
|
289 |
|
}
|
275 |
|
}
|
|
290 |
|
}
|
276 |
|
|
|
291 |
|
|
277 |
|
re
turn true;
|
|
292 |
|
re
turn true;
|
278 |
|
}
|
|
293 |
|
}
|
279 |
|
|
|
294 |
|
|
280 |
|
functi
on postRep
ly ($forum
_id, $topi
c_id, $tex
t, $user)
|
|
295 |
|
functi
on postRep
ly ($forum
_id, $topi
c_id, $tex
t, $user)
|
281 |
|
{
|
|
296 |
|
{
|
282 |
|
$t
s = time (
);
|
|
297 |
|
$t
s = time (
);
|
283 |
|
|
|
298 |
|
|
284 |
|
//
add topic
post
|
|
299 |
|
//
add topic
post
|
285 |
|
if
(!$this->
query ("IN
SERT INTO"
. TF_FORU
M_POST . "
SET `topi
c_id` = '$
topic_id',
`forum_id
` = '$foru
m_id', `us
er` = '$us
er', `post
_text` = '
$text', `w
hen` = '$t
s'"))
|
|
300 |
|
if
(!$this->
query ("IN
SERT INTO"
. TF_FORU
M_POST . "
SET `topi
c_id` = '$
topic_id',
`forum_id
` = '$foru
m_id', `us
er` = '$us
er', `post
_text` = '
$text', `w
hen` = '$t
s'"))
|
286 |
|
return f
alse;
|
|
301 |
|
return f
alse;
|
287 |
|
|
|
302 |
|
|
288 |
|
//
increase
number of
forum post
s and set
timeof las
t post
|
|
303 |
|
//
increase
number of
forum post
s and set
timeof las
t post
|
289 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM . "
SET `foru
m_posts` =
`forum_po
sts` + 1,
`forum_las
t` = '$ts'
WHERE `fo
rum_id` =
'$forum_id
'"))
|
|
304 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM . "
SET `foru
m_posts` =
`forum_po
sts` + 1,
`forum_las
t` = '$ts'
WHERE `fo
rum_id` =
'$forum_id
'"))
|
290 |
|
return f
alse;
|
|
305 |
|
return f
alse;
|
291 |
|
|
|
306 |
|
|
292 |
|
//
update la
st post
|
|
307 |
|
//
update la
st post
|
293 |
|
$l
ast = $thi
s->getTopi
cPost ($to
pic_id, 'l
ast');
|
|
308 |
|
$l
ast = $thi
s->getTopi
cPost ($to
pic_id, 'l
ast');
|
294 |
|
|
|
309 |
|
|
295 |
|
//
increase
number of
topic post
s
|
|
310 |
|
//
increase
number of
topic post
s
|
296 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM_TOP
IC . " SET
`topic_po
sts` = `to
pic_posts`
+ 1, `las
t_post_use
r` = '{$la
st['user']
}', `last_
post_when`
= '{$last
['when2']}
' WHERE `t
opic_id` =
'{$topic_
id}'"))
|
|
311 |
|
if
(!$this->
query ("UP
DATE" . TF
_FORUM_TOP
IC . " SET
`topic_po
sts` = `to
pic_posts`
+ 1, `las
t_post_use
r` = '{$la
st['user']
}', `last_
post_when`
= '{$last
['when2']}
' WHERE `t
opic_id` =
'{$topic_
id}'"))
|
297 |
|
return f
alse;
|
|
312 |
|
return f
alse;
|
298 |
|
|
|
313 |
|
|
299 |
|
//
update us
er stats
|
|
314 |
|
//
update us
er stats
|
300 |
|
if
(!$this->
userStatsI
nc ($user,
$ts))
|
|
315 |
|
if
(!$this->
userStatsI
nc ($user,
$ts))
|
301 |
|
return f
alse;
|
|
316 |
|
return f
alse;
|
302 |
|
|
|
317 |
|
|
303 |
|
re
turn true;
|
|
318 |
|
re
turn true;
|
304 |
|
}
|
|
319 |
|
}
|
305 |
|
|
|
320 |
|
|
306 |
|
functi
on getPost
s ($t, $u)
|
|
321 |
|
functi
on getPost
s ($t, $u)
|
307 |
|
{
|
|
322 |
|
{
|
|
|
323 |
|
re
turn $this
->getPosts
By ($u, '`
ft`.`topic
_id`', $t)
;
|
|
|
324 |
|
}
|
|
|
325 |
|
|
|
|
326 |
|
functi
on getPost
sByUri ($t
, $u)
|
|
|
327 |
|
{
|
|
|
328 |
|
re
turn $this
->getPosts
By ($u, '`
ft`.`topic
_uri`', $t
);
|
|
|
329 |
|
}
|
|
|
330 |
|
|
|
|
331 |
|
functi
on getPost
sBy ($u, $
sName, $sV
al)
|
|
|
332 |
|
{
|
308 |
|
gl
obal $gCon
f;
|
|
333 |
|
gl
obal $gCon
f;
|
309 |
|
|
|
334 |
|
|
310 |
|
$s
ql_add1 =
"'-1' AS `
voted`, 0
as `vote_u
ser_point`
, ";
|
|
335 |
|
$s
ql_add1 =
"'-1' AS `
voted`, 0
as `vote_u
ser_point`
, ";
|
311 |
|
$s
ql_add2 =
'';
|
|
336 |
|
$s
ql_add2 =
'';
|
312 |
|
|
|
337 |
|
|
313 |
|
if
($u)
|
|
338 |
|
if
($u)
|
314 |
|
{
|
|
339 |
|
{
|
315 |
|
$sql_add
1 = "(1 -
ISNULL(t2.
`post_id`)
) AS `vote
d`, t2.`vo
te_point`
as `vote_u
ser_point`
, ";
|
|
340 |
|
$sql_add
1 = "(1 -
ISNULL(t2.
`post_id`)
) AS `vote
d`, t2.`vo
te_point`
as `vote_u
ser_point`
, ";
|
316 |
|
$sql_add
2 = " LEFT
JOIN " .
TF_FORUM_V
OTE . " AS
t2 ON ( t
2.`user_na
me` = '$u'
AND t1.`p
ost_id` =
t2.`post_i
d`) ";
|
|
341 |
|
$sql_add
2 = " LEFT
JOIN " .
TF_FORUM_V
OTE . " AS
t2 ON ( t
2.`user_na
me` = '$u'
AND t1.`p
ost_id` =
t2.`post_i
d`) ";
|
317 |
|
}
|
|
342 |
|
}
|
318 |
|
|
|
343 |
|
|
319 |
|
$sql
=
"SELECT
`f
orum_id`,
`t
opic_id`,
t1
.`post_id`
,
`user`,
`post_text
`,
`votes`,
$sql_add1
DATE_FORMA
T(FROM_UNI
XTIME(t1.`
when`),'{$
gConf['dat
e_format']
}')
AS
`when`
FROM
"
.
TF_FORUM_P
OST
.
"
AS
t1
$sql_add2
WH
ER
E
`topic_id`
=
'$
t
'
ORDER
BY
t1.`when`
ASC";
|
|
344 |
|
$sql
=
"SELECT
`f
t`.`f
orum_id`,
`t
1`.`t
opic_id`,
`
t1
`
.`post_id`
,
`user`,
`post_text
`,
`votes`,
$sql_add1
DATE_FORMA
T(FROM_UNI
XTIME(t1.`
when`),'{$
gConf['dat
e_format']
}')
AS
`when`
FROM
"
.
TF_FORUM_P
OST
.
"
AS
t1
$sql_add2
INN
ER
JOIN
"
.
TF_FORUM_T
OPIC
.
"
AS
`ft`
ON
(`ft`.
`topic_id`
=
`t1`.`topi
c_id`)
WHERE
$sName
=
'$
sVal
'
ORDER
BY
t1.`when`
ASC";
|
320 |
|
|
|
345 |
|
|
321 |
|
re
turn $this
->getAll (
$sql);
|
|
346 |
|
re
turn $this
->getAll (
$sql);
|
322 |
|
}
|
|
347 |
|
}
|
323 |
|
|
|
348 |
|
|
|
|
349 |
|
|
324 |
|
functi
on getUser
PostsList
($user, $s
ort, $limi
t = 10)
|
|
350 |
|
functi
on getUser
PostsList
($user, $s
ort, $limi
t = 10)
|
325 |
|
{
|
|
351 |
|
{
|
326 |
|
gl
obal $gCon
f;
|
|
352 |
|
gl
obal $gCon
f;
|
327 |
|
|
|
353 |
|
|
328 |
|
sw
itch ($sor
t)
|
|
354 |
|
sw
itch ($sor
t)
|
329 |
|
{
|
|
355 |
|
{
|
330 |
|
case 'to
p':
|
|
356 |
|
case 'to
p':
|
331 |
|
$ord
er_by = "
t1.`votes`
DESC ";
|
|
357 |
|
$ord
er_by = "
t1.`votes`
DESC ";
|
332 |
|
brea
k;
|
|
358 |
|
brea
k;
|
333 |
|
case 'rn
d':
|
|
359 |
|
case 'rn
d':
|
334 |
|
$ord
er_by = "
RAND() ";
|
|
360 |
|
$ord
er_by = "
RAND() ";
|
335 |
|
brea
k;
|
|
361 |
|
brea
k;
|
336 |
|
default:
|
|
362 |
|
default:
|
337 |
|
$ord
er_by = "
t1.`when`
DESC ";
|
|
363 |
|
$ord
er_by = "
t1.`when`
DESC ";
|
338 |
|
}
|
|
364 |
|
}
|
339 |
|
|
|
365 |
|
|
340 |
|
$s
ql = "
|
|
366 |
|
$s
ql = "
|
341 |
|
SELECT
t1.`forum_
id`,
t1.`topic_
id`,
t2.`topic_
title`,
t1.`post_i
d`,
t1.`user`,
LEFT(`post
_text`,
256)
AS
`post_text
`,
DATE_FORMA
T(FROM_UNI
XTIME(t1.`
when`),'{$
gConf['dat
e_format']
}')
AS
`when`
|
|
367 |
|
SELECT
t1.`forum_
id`,
t1.`topic_
id`,
t2.`topic_
uri`,
t2.`topic_
title`,
t1.`post_i
d`,
t1.`user`,
LEFT(`post
_text`,
256)
AS
`post_text
`,
DATE_FORMA
T(FROM_UNI
XTIME(t1.`
when`),'{$
gConf['dat
e_format']
}')
AS
`when`
|
342 |
|
FROM " .
TF_FORUM_
POST . " A
S t1
|
|
368 |
|
FROM " .
TF_FORUM_
POST . " A
S t1
|
343 |
|
IN
NER JOIN "
. TF_FORU
M_TOPIC .
" AS t2
|
|
369 |
|
IN
NER JOIN "
. TF_FORU
M_TOPIC .
" AS t2
|
344 |
|
ON (t1.`
topic_id`
= t2.`topi
c_id`)
|
|
370 |
|
ON (t1.`
topic_id`
= t2.`topi
c_id`)
|
345 |
|
WH
ERE t1.`u
ser` = '$u
ser'
|
|
371 |
|
WH
ERE t1.`u
ser` = '$u
ser'
|
346 |
|
OR
DER BY " .
$order_by
. "
|
|
372 |
|
OR
DER BY " .
$order_by
. "
|
347 |
|
LI
MIT $limit
";
|
|
373 |
|
LI
MIT $limit
";
|
348 |
|
|
|
374 |
|
|
349 |
|
re
turn $this
->getAll (
$sql);
|
|
375 |
|
re
turn $this
->getAll (
$sql);
|
350 |
|
}
|
|
376 |
|
}
|
351 |
|
|
|
377 |
|
|
352 |
|
functi
on getAllP
ostsList (
$sort, $li
mit = 10)
|
|
378 |
|
functi
on getAllP
ostsList (
$sort, $li
mit = 10)
|
353 |
|
{
|
|
379 |
|
{
|
354 |
|
gl
obal $gCon
f;
|
|
380 |
|
gl
obal $gCon
f;
|
355 |
|
|
|
381 |
|
|
356 |
|
sw
itch ($sor
t)
|
|
382 |
|
sw
itch ($sor
t)
|
357 |
|
{
|
|
383 |
|
{
|
358 |
|
case 'to
p':
|
|
384 |
|
case 'to
p':
|
359 |
|
$ord
er_by = "
t1.`votes`
DESC ";
|
|
385 |
|
$ord
er_by = "
t1.`votes`
DESC ";
|
360 |
|
brea
k;
|
|
386 |
|
brea
k;
|
361 |
|
case 'rn
d':
|
|
387 |
|
case 'rn
d':
|
362 |
|
$ord
er_by = "
RAND() ";
|
|
388 |
|
$ord
er_by = "
RAND() ";
|
363 |
|
brea
k;
|
|
389 |
|
brea
k;
|
364 |
|
default:
|
|
390 |
|
default:
|
365 |
|
$ord
er_by = "
t1.`when`
DESC ";
|
|
391 |
|
$ord
er_by = "
t1.`when`
DESC ";
|
366 |
|
}
|
|
392 |
|
}
|
367 |
|
|
|
393 |
|
|
368 |
|
$s
ql = "
|
|
394 |
|
$s
ql = "
|
369 |
|
SELECT
t1.`forum_
id`,
t1.`topic_
id`,
t2.`topic_
title`,
t1.`post_i
d`,
t1.`user`,
LEFT(`post
_text`,
256)
AS
`post_text
`,
DATE_FORMA
T(FROM_UNI
XTIME(t1.`
when`),'{$
gConf['dat
e_format']
}')
AS
`when`
|
|
395 |
|
SELECT
t1.`forum_
id`,
t1.`topic_
id`,
t2.`topic_
uri`,
t2.`topic_
title`,
t1.`post_i
d`,
t1.`user`,
LEFT(`post
_text`,
256)
AS
`post_text
`,
DATE_FORMA
T(FROM_UNI
XTIME(t1.`
when`),'{$
gConf['dat
e_format']
}')
AS
`when`
|
370 |
|
FROM " .
TF_FORUM_
POST . " A
S t1
|
|
396 |
|
FROM " .
TF_FORUM_
POST . " A
S t1
|
371 |
|
IN
NER JOIN "
. TF_FORU
M_TOPIC .
" AS t2
|
|
397 |
|
IN
NER JOIN "
. TF_FORU
M_TOPIC .
" AS t2
|
372 |
|
ON (t1.`
topic_id`
= t2.`topi
c_id`)
|
|
398 |
|
ON (t1.`
topic_id`
= t2.`topi
c_id`)
|
373 |
|
WH
ERE 1
|
|
399 |
|
WH
ERE 1
|
374 |
|
OR
DER BY " .
$order_by
. "
|
|
400 |
|
OR
DER BY " .
$order_by
. "
|
375 |
|
LI
MIT $limit
";
|
|
401 |
|
LI
MIT $limit
";
|
376 |
|
|
|
402 |
|
|
377 |
|
re
turn $this
->getAll (
$sql);
|
|
403 |
|
re
turn $this
->getAll (
$sql);
|
378 |
|
}
|
|
404 |
|
}
|
379 |
|
|
|
405 |
|
|
380 |
|
functi
on getPost
($post_id
, $u)
|
|
406 |
|
functi
on getPost
($post_id
, $u)
|
381 |
|
{
|
|
407 |
|
{
|
382 |
|
gl
obal $gCon
f;
|
|
408 |
|
gl
obal $gCon
f;
|
383 |
|
|
|
409 |
|
|
384 |
|
$s
ql_add1 =
"'-1' AS `
voted`, 0
as `vote_u
ser_point`
, ";
|
|
410 |
|
$s
ql_add1 =
"'-1' AS `
voted`, 0
as `vote_u
ser_point`
, ";
|
385 |
|
$s
ql_add2 =
'';
|
|
411 |
|
$s
ql_add2 =
'';
|
386 |
|
|
|
412 |
|
|
387 |
|
if
($u)
|
|
413 |
|
if
($u)
|
388 |
|
{
|
|
414 |
|
{
|
389 |
|
$sql_add
1 = "(1 -
ISNULL(t2.
`post_id`)
) AS `vote
d`, t2.`vo
te_point`
as `vote_u
ser_point`
, ";
|
|
415 |
|
$sql_add
1 = "(1 -
ISNULL(t2.
`post_id`)
) AS `vote
d`, t2.`vo
te_point`
as `vote_u
ser_point`
, ";
|
390 |
|
$sql_add
2 = " LEFT
JOIN " .
TF_FORUM_V
OTE . " AS
t2 ON ( t
2.`user_na
me` = '$u'
AND t1.`p
ost_id` =
t2.`post_i
d`) ";
|
|
416 |
|
$sql_add
2 = " LEFT
JOIN " .
TF_FORUM_V
OTE . " AS
t2 ON ( t
2.`user_na
me` = '$u'
AND t1.`p
ost_id` =
t2.`post_i
d`) ";
|
391 |
|
}
|
|
417 |
|
}
|
392 |
|
|
|
418 |
|
|
393 |
|
$s
ql = "SEL
ECT `forum
_id`, `top
ic_id`, t1
.`post_id`
, `user`,
`post_text
`, `votes`
, $sql_add
1 DATE_FOR
MAT(FROM_U
NIXTIME(t1
.`when`),'
{$gConf['d
ate_format
']}') AS `
when` FROM
" . TF_FO
RUM_POST .
" AS t1 $
sql_add2 W
HERE t1.`p
ost_id` =
'$post_id'
LIMIT 1";
|
|
419 |
|
$s
ql = "SEL
ECT `forum
_id`, `top
ic_id`, t1
.`post_id`
, `user`,
`post_text
`, `votes`
, $sql_add
1 DATE_FOR
MAT(FROM_U
NIXTIME(t1
.`when`),'
{$gConf['d
ate_format
']}') AS `
when` FROM
" . TF_FO
RUM_POST .
" AS t1 $
sql_add2 W
HERE t1.`p
ost_id` =
'$post_id'
LIMIT 1";
|
394 |
|
re
turn $this
->getRow (
$sql);
|
|
420 |
|
re
turn $this
->getRow (
$sql);
|
395 |
|
}
|
|
421 |
|
}
|
396 |
|
|
|
422 |
|
|
397 |
|
|
|
423 |
|
|
398 |
|
functi
on getUser
Posts ($u)
|
|
424 |
|
functi
on getUser
Posts ($u)
|
399 |
|
{
|
|
425 |
|
{
|
400 |
|
//
return $th
is->getOne
("SELECT
COUNT(`pos
t_id`) FRO
M " . TF_F
ORUM_POST
. " WHERE
`user` = '
$u'");
|
|
426 |
|
//
return $th
is->getOne
("SELECT
COUNT(`pos
t_id`) FRO
M " . TF_F
ORUM_POST
. " WHERE
`user` = '
$u'");
|
401 |
|
re
turn (int)
$this->get
One ("SELE
CT `posts`
FROM " .
TF_FORUM_U
SER_STAT .
" WHERE `
user` = '$
u'");
|
|
427 |
|
re
turn (int)
$this->get
One ("SELE
CT `posts`
FROM " .
TF_FORUM_U
SER_STAT .
" WHERE `
user` = '$
u'");
|
402 |
|
}
|
|
428 |
|
}
|
403 |
|
|
|
429 |
|
|
404 |
|
functi
on insertV
ote ($post
_id, $u, $
vote)
|
|
430 |
|
functi
on insertV
ote ($post
_id, $u, $
vote)
|
405 |
|
{
|
|
431 |
|
{
|
406 |
|
$s
ql = "INSE
RT INTO "
. TF_FORUM
_VOTE . "
SET `user_
name` = '$
u', `post_
id` = '$po
st_id', `v
ote_point`
= " . ($v
ote > 0 ?
'1' : '-1'
) . ", `vo
te_when` =
UNIX_TIME
STAMP()";
|
|
432 |
|
$s
ql = "INSE
RT INTO "
. TF_FORUM
_VOTE . "
SET `user_
name` = '$
u', `post_
id` = '$po
st_id', `v
ote_point`
= " . ($v
ote > 0 ?
'1' : '-1'
) . ", `vo
te_when` =
UNIX_TIME
STAMP()";
|
407 |
|
if
(!$this->
query($sql
)) return
false;
|
|
433 |
|
if
(!$this->
query($sql
)) return
false;
|
408 |
|
|
|
434 |
|
|
409 |
|
$s
ql = "UPDA
TE " . TF_
FORUM_POST
. " SET `
votes` = `
votes` " .
($vote >
0 ? '+ 1'
: '- 1') .
" WHERE `
post_id` =
'$post_id
' LIMIT 1"
;
|
|
435 |
|
$s
ql = "UPDA
TE " . TF_
FORUM_POST
. " SET `
votes` = `
votes` " .
($vote >
0 ? '+ 1'
: '- 1') .
" WHERE `
post_id` =
'$post_id
' LIMIT 1"
;
|
410 |
|
re
turn $this
->query($s
ql);
|
|
436 |
|
re
turn $this
->query($s
ql);
|
411 |
|
}
|
|
437 |
|
}
|
412 |
|
|
|
438 |
|
|
413 |
|
function
getTopic
Id
ByPostId
($post_id)
|
|
439 |
|
function
getTopic
ByPostId
($post_id)
|
414 |
|
{
|
|
440 |
|
{
|
415 |
|
$sql
=
"SELECT
`topic_id`
FROM
"
.
TF_FORUM_P
OST
.
"
WHERE
`post_id`
=
'$post_id'
";
|
|
441 |
|
$sql
=
"SELECT
`topic_id`
,
`forum_id`
FROM
"
.
TF_FORUM_P
OST
.
"
WHERE
`post_id`
=
'$post_id'
";
|
416 |
|
return
$this->get
One
($sql);
|
|
442 |
|
return
$this->get
Row
($sql);
|
417 |
|
}
|
|
443 |
|
}
|
418 |
|
|
|
444 |
|
|
419 |
|
functi
on report
($post_id,
$u)
|
|
445 |
|
functi
on report
($post_id,
$u)
|
420 |
|
{
|
|
446 |
|
{
|
421 |
|
$s
ql = "INSE
RT INTO "
. TF_FORUM
_REPORT .
" SET `use
r_name` =
'$u', `pos
t_id` = '$
post_id'";
|
|
447 |
|
$s
ql = "INSE
RT INTO "
. TF_FORUM
_REPORT .
" SET `use
r_name` =
'$u', `pos
t_id` = '$
post_id'";
|
422 |
|
if
(!$this->
query($sql
)) return
false;
|
|
448 |
|
if
(!$this->
query($sql
)) return
false;
|
423 |
|
|
|
449 |
|
|
424 |
|
$s
ql = "UPDA
TE " . TF_
FORUM_POST
. " SET `
reports` =
`reports`
+ 1 WHERE
`post_id`
= '$post_
id' LIMIT
1";
|
|
450 |
|
$s
ql = "UPDA
TE " . TF_
FORUM_POST
. " SET `
reports` =
`reports`
+ 1 WHERE
`post_id`
= '$post_
id' LIMIT
1";
|
425 |
|
re
turn $this
->query($s
ql);
|
|
451 |
|
re
turn $this
->query($s
ql);
|
426 |
|
}
|
|
452 |
|
}
|
427 |
|
|
|
453 |
|
|
428 |
|
functi
on isFlagg
ed ($topic
_id, $u)
|
|
454 |
|
functi
on isFlagg
ed ($topic
_id, $u)
|
429 |
|
{
|
|
455 |
|
{
|
430 |
|
$s
ql = "SELE
CT `topic_
id` FROM "
. TF_FORU
M_FLAG . "
WHERE `us
er` = '$u'
AND `topi
c_id` = '$
topic_id'"
;
|
|
456 |
|
$s
ql = "SELE
CT `topic_
id` FROM "
. TF_FORU
M_FLAG . "
WHERE `us
er` = '$u'
AND `topi
c_id` = '$
topic_id'"
;
|
431 |
|
re
turn $this
->getOne (
$sql);
|
|
457 |
|
re
turn $this
->getOne (
$sql);
|
432 |
|
}
|
|
458 |
|
}
|
433 |
|
|
|
459 |
|
|
434 |
|
functi
on flag ($
topic_id,
$u)
|
|
460 |
|
functi
on flag ($
topic_id,
$u)
|
435 |
|
{
|
|
461 |
|
{
|
436 |
|
$s
ql = "INSE
RT INTO "
. TF_FORUM
_FLAG . "
SET `user`
= '$u', `
topic_id`
= '$topic_
id', `when
` = UNIX_T
IMESTAMP()
";
|
|
462 |
|
$s
ql = "INSE
RT INTO "
. TF_FORUM
_FLAG . "
SET `user`
= '$u', `
topic_id`
= '$topic_
id', `when
` = UNIX_T
IMESTAMP()
";
|
437 |
|
re
turn $this
->query ($
sql);
|
|
463 |
|
re
turn $this
->query ($
sql);
|
438 |
|
}
|
|
464 |
|
}
|
439 |
|
|
|
465 |
|
|
440 |
|
functi
on unflag
($topic_id
, $u)
|
|
466 |
|
functi
on unflag
($topic_id
, $u)
|
441 |
|
{
|
|
467 |
|
{
|
442 |
|
$s
ql = "DELE
TE FROM "
. TF_FORUM
_FLAG . "
WHERE `use
r` = '$u'
AND `topic
_id` = '$t
opic_id' L
IMIT 1";
|
|
468 |
|
$s
ql = "DELE
TE FROM "
. TF_FORUM
_FLAG . "
WHERE `use
r` = '$u'
AND `topic
_id` = '$t
opic_id' L
IMIT 1";
|
443 |
|
re
turn $this
->query ($
sql);
|
|
469 |
|
re
turn $this
->query ($
sql);
|
444 |
|
}
|
|
470 |
|
}
|
445 |
|
|
|
471 |
|
|
446 |
|
functi
on updateU
serActivit
y ($user)
|
|
472 |
|
functi
on updateU
serActivit
y ($user)
|
447 |
|
{
|
|
473 |
|
{
|
448 |
|
gl
obal $gCon
f;
|
|
474 |
|
gl
obal $gCon
f;
|
449 |
|
|
|
475 |
|
|
450 |
|
$s
ql = "SELE
CT `act_cu
rrent` FRO
M " . TF_F
ORUM_USER_
ACT . " WH
ERE `user`
= '$user
' LIMIT 1"
;
|
|
476 |
|
$s
ql = "SELE
CT `act_cu
rrent` FRO
M " . TF_F
ORUM_USER_
ACT . " WH
ERE `user`
= '$user
' LIMIT 1"
;
|
451 |
|
$c
urrent = (
int)$this-
>getOne ($
sql);
|
|
477 |
|
$c
urrent = (
int)$this-
>getOne ($
sql);
|
452 |
|
|
|
478 |
|
|
453 |
|
if
((time()
- $current
) > $gConf
['online']
)
|
|
479 |
|
if
((time()
- $current
) > $gConf
['online']
)
|
454 |
|
{
|
|
480 |
|
{
|
455 |
|
if ($cur
rent)
|
|
481 |
|
if ($cur
rent)
|
456 |
|
$sql
= "UPDATE
" . TF_FO
RUM_USER_A
CT . " SET
`act_curr
ent`='" .
time() . "
', `act_la
st` = '$cu
rrent' WHE
RE `user`
= '$user'"
;
|
|
482 |
|
$sql
= "UPDATE
" . TF_FO
RUM_USER_A
CT . " SET
`act_curr
ent`='" .
time() . "
', `act_la
st` = '$cu
rrent' WHE
RE `user`
= '$user'"
;
|
457 |
|
else
|
|
483 |
|
else
|
458 |
|
$sql
= "INSERT
INTO " .
TF_FORUM_U
SER_ACT .
" (`user`,
`act_curre
nt`,`act_l
ast`) VALU
ES ('$user
', '" . ti
me() . "',
'$current
')";
|
|
484 |
|
$sql
= "INSERT
INTO " .
TF_FORUM_U
SER_ACT .
" (`user`,
`act_curre
nt`,`act_l
ast`) VALU
ES ('$user
', '" . ti
me() . "',
'$current
')";
|
459 |
|
}
|
|
485 |
|
}
|
460 |
|
el
se
|
|
486 |
|
el
se
|
461 |
|
{
|
|
487 |
|
{
|
462 |
|
$sql = "
UPDATE " .
TF_FORUM_
USER_ACT .
" SET `ac
t_current`
='" . time
() . "' WH
ERE `user`
= '$user'
";
|
|
488 |
|
$sql = "
UPDATE " .
TF_FORUM_
USER_ACT .
" SET `ac
t_current`
='" . time
() . "' WH
ERE `user`
= '$user'
";
|
463 |
|
}
|
|
489 |
|
}
|
464 |
|
|
|
490 |
|
|
465 |
|
re
turn $this
->query ($
sql);
|
|
491 |
|
re
turn $this
->query ($
sql);
|
466 |
|
}
|
|
492 |
|
}
|
467 |
|
|
|
493 |
|
|
468 |
|
functi
on updateU
serLastAct
ivity ($us
er)
|
|
494 |
|
functi
on updateU
serLastAct
ivity ($us
er)
|
469 |
|
{
|
|
495 |
|
{
|
470 |
|
gl
obal $gCon
f;
|
|
496 |
|
gl
obal $gCon
f;
|
471 |
|
|
|
497 |
|
|
472 |
|
$t
= time();
|
|
498 |
|
$t
= time();
|
473 |
|
|
|
499 |
|
|
474 |
|
$s
ql = "UPDA
TE " . TF_
FORUM_USER
_ACT . " S
ET `act_cu
rrent`='$t
', `act_la
st` = '$t'
WHERE `us
er` = '$us
er'";
|
|
500 |
|
$s
ql = "UPDA
TE " . TF_
FORUM_USER
_ACT . " S
ET `act_cu
rrent`='$t
', `act_la
st` = '$t'
WHERE `us
er` = '$us
er'";
|
475 |
|
|
|
501 |
|
|
476 |
|
re
turn $this
->query ($
sql);
|
|
502 |
|
re
turn $this
->query ($
sql);
|
477 |
|
}
|
|
503 |
|
}
|
478 |
|
|
|
504 |
|
|
479 |
|
functi
on getUser
LastActivi
ty ($user)
|
|
505 |
|
functi
on getUser
LastActivi
ty ($user)
|
480 |
|
{
|
|
506 |
|
{
|
481 |
|
$s
ql = "SELE
CT `act_la
st` FROM "
. TF_FORU
M_USER_ACT
. " WHERE
`user` =
'$user' L
IMIT 1";
|
|
507 |
|
$s
ql = "SELE
CT `act_la
st` FROM "
. TF_FORU
M_USER_ACT
. " WHERE
`user` =
'$user' L
IMIT 1";
|
482 |
|
re
turn (int)
$this->get
One ($sql)
;
|
|
508 |
|
re
turn (int)
$this->get
One ($sql)
;
|
483 |
|
}
|
|
509 |
|
}
|
484 |
|
|
|
510 |
|
|
485 |
|
functi
on getUser
LastOnline
Time ($use
r)
|
|
511 |
|
functi
on getUser
LastOnline
Time ($use
r)
|
486 |
|
{
|
|
512 |
|
{
|
487 |
|
gl
obal $gCon
f;
|
|
513 |
|
gl
obal $gCon
f;
|
488 |
|
re
turn $this
->getOne (
"SELECT DA
TE_FORMAT(
FROM_UNIXT
IME(`act_c
urrent`),'
{$gConf['d
ate_format
']}') AS `
act_curren
t` FROM "
. TF_FORUM
_USER_ACT
. " WHERE
`user` =
'$user' LI
MIT 1");
|
|
514 |
|
re
turn $this
->getOne (
"SELECT DA
TE_FORMAT(
FROM_UNIXT
IME(`act_c
urrent`),'
{$gConf['d
ate_format
']}') AS `
act_curren
t` FROM "
. TF_FORUM
_USER_ACT
. " WHERE
`user` =
'$user' LI
MIT 1");
|
489 |
|
}
|
|
515 |
|
}
|
490 |
|
|
|
516 |
|
|
491 |
|
functi
on userSta
tsInc ($us
er, $when)
|
|
517 |
|
functi
on userSta
tsInc ($us
er, $when)
|
492 |
|
{
|
|
518 |
|
{
|
493 |
|
$u
= $this->
getOne ("S
ELECT `use
r` FROM "
. TF_FORUM
_USER_STAT
. " WHERE
`user` =
'$user'");
|
|
519 |
|
$u
= $this->
getOne ("S
ELECT `use
r` FROM "
. TF_FORUM
_USER_STAT
. " WHERE
`user` =
'$user'");
|
494 |
|
if
($u)
|
|
520 |
|
if
($u)
|
495 |
|
{
|
|
521 |
|
{
|
496 |
|
$this->q
uery ("UPD
ATE " . TF
_FORUM_USE
R_STAT . "
SET `post
s` = `post
s` + 1, `u
ser_last_p
ost` = '$w
hen' WHERE
`user` =
'$user'");
|
|
522 |
|
$this->q
uery ("UPD
ATE " . TF
_FORUM_USE
R_STAT . "
SET `post
s` = `post
s` + 1, `u
ser_last_p
ost` = '$w
hen' WHERE
`user` =
'$user'");
|
497 |
|
}
|
|
523 |
|
}
|
498 |
|
el
se
|
|
524 |
|
el
se
|
499 |
|
{
|
|
525 |
|
{
|
500 |
|
$this->q
uery ("INS
ERT INTO "
. TF_FORU
M_USER_STA
T . " SET
`posts` =
1, `user_l
ast_post`
= '$when',
`user` =
'$user'");
|
|
526 |
|
$this->q
uery ("INS
ERT INTO "
. TF_FORU
M_USER_STA
T . " SET
`posts` =
1, `user_l
ast_post`
= '$when',
`user` =
'$user'");
|
501 |
|
}
|
|
527 |
|
}
|
502 |
|
}
|
|
528 |
|
}
|
503 |
|
|
|
529 |
|
|
504 |
|
functi
on userSta
tsDec ($us
er)
|
|
530 |
|
functi
on userSta
tsDec ($us
er)
|
505 |
|
{
|
|
531 |
|
{
|
506 |
|
$u
= $this->
getOne ("S
ELECT `use
r` FROM "
. TF_FORUM
_USER_STAT
. " WHERE
`user` =
'$user'");
|
|
532 |
|
$u
= $this->
getOne ("S
ELECT `use
r` FROM "
. TF_FORUM
_USER_STAT
. " WHERE
`user` =
'$user'");
|
507 |
|
if
(!$u) ret
urn;
|
|
533 |
|
if
(!$u) ret
urn;
|
508 |
|
|
|
534 |
|
|
509 |
|
$w
hen = $thi
s->getOne
("SELECT `
when` FROM
" . TF_FO
RUM_POST .
" WHERE `
user` = '$
user' ORDE
R BY `when
` DESC LIM
IT 1");
|
|
535 |
|
$w
hen = $thi
s->getOne
("SELECT `
when` FROM
" . TF_FO
RUM_POST .
" WHERE `
user` = '$
user' ORDE
R BY `when
` DESC LIM
IT 1");
|
510 |
|
|
|
536 |
|
|
511 |
|
re
turn $this
->query ("
UPDATE " .
TF_FORUM_
USER_STAT
. " SET `p
osts` = `p
osts` - 1,
`user_las
t_post` =
'$when' WH
ERE `user`
= '$user'
");
|
|
537 |
|
re
turn $this
->query ("
UPDATE " .
TF_FORUM_
USER_STAT
. " SET `p
osts` = `p
osts` - 1,
`user_las
t_post` =
'$when' WH
ERE `user`
= '$user'
");
|
512 |
|
}
|
|
538 |
|
}
|
513 |
|
|
|
539 |
|
|
514 |
|
functi
on getUser
Stat ($u)
|
|
540 |
|
functi
on getUser
Stat ($u)
|
515 |
|
{
|
|
541 |
|
{
|
516 |
|
gl
obal $gCon
f;
|
|
542 |
|
gl
obal $gCon
f;
|
517 |
|
|
|
543 |
|
|
518 |
|
re
turn $this
->getRow (
"SELECT `p
osts`, DAT
E_FORMAT(F
ROM_UNIXTI
ME(`user_l
ast_post`)
,'{$gConf[
'date_form
at']}') AS
`user_las
t_post` FR
OM " . TF_
FORUM_USER
_STAT . "
WHERE `use
r` = '$u'"
);
|
|
544 |
|
re
turn $this
->getRow (
"SELECT `p
osts`, DAT
E_FORMAT(F
ROM_UNIXTI
ME(`user_l
ast_post`)
,'{$gConf[
'date_form
at']}') AS
`user_las
t_post` FR
OM " . TF_
FORUM_USER
_STAT . "
WHERE `use
r` = '$u'"
);
|
519 |
|
}
|
|
545 |
|
}
|
520 |
|
|
|
546 |
|
|
521 |
|
functi
on getLive
Posts ($c,
$ts)
|
|
547 |
|
functi
on getLive
Posts ($c,
$ts)
|
522 |
|
{
|
|
548 |
|
{
|
523 |
|
gl
obal $gCon
f;
|
|
549 |
|
gl
obal $gCon
f;
|
524 |
|
|
|
550 |
|
|
525 |
|
$w
here = '1'
;
|
|
551 |
|
$w
here = '1'
;
|
526 |
|
$o
rder = 'DE
SC';
|
|
552 |
|
$o
rder = 'DE
SC';
|
527 |
|
if
($ts)
|
|
553 |
|
if
($ts)
|
528 |
|
{
|
|
554 |
|
{
|
529 |
|
$where =
"tp.`when
` > $ts";
|
|
555 |
|
$where =
"tp.`when
` > $ts";
|
530 |
|
$order =
'ASC';
|
|
556 |
|
$order =
'ASC';
|
531 |
|
}
|
|
557 |
|
}
|
532 |
|
|
|
558 |
|
|
533 |
|
$sql
=
"SELECT
(UNIX_TIME
STAMP()
-
tp.`when`)
AS
`sec`,
tp.`when`
AS
`ts`,
`tp`.`user
`,
`tp`.`post
_id`,
LEFT(`tp`.
`post_text
`,
{$gConf['l
ive_tracke
r_desc_len
']})
AS
`post_text
`,
tt.`topic_
id`,
`tt`.`topi
c_title`,
tf.`forum_
id`,
`tf`.`foru
m_title`,
tc.`cat_id
`,
`tc`.`cat_
name`
FROM
"
.
TF_FORUM_P
OST
.
"
AS
tp
INNER
JOIN
"
.
TF_FORUM_T
OPIC
.
"
AS
tt
USING(`top
ic_id`)
INNER
JOIN
"
.
TF_FORUM
.
"
AS
tf
ON
(tf.`forum
_id`
=
tp.`forum_
id`
AND
`tt`.`foru
m_id`
=
tf.`forum_
id`)
INNER
JOIN
"
.
TF_FORUM_C
AT
.
"
AS
tc
USING(`cat
_id`)
WHERE
$where
ORDER
BY
tp.`when`
$order
LIMIT
$c";
|
|
559 |
|
$sql
=
"SELECT
(UNIX_TIME
STAMP()
-
tp.`when`)
AS
`sec`,
tp.`when`
AS
`ts`,
`tp`.`user
`,
`tp`.`post
_id`,
LEFT(`tp`.
`post_text
`,
{$gConf['l
ive_tracke
r_desc_len
']})
AS
`post_text
`,
tt.`topic_
id`,
tt.`topic_
uri`,
`tt`.`topi
c_title`,
tf.`forum_
id`,
tf.`forum_
uri`,
`tf`.`foru
m_title`,
tc.`cat_id
`,
tc.`cat_ur
i`,
`tc`.`cat_
name`
FROM
"
.
TF_FORUM_P
OST
.
"
AS
tp
INNER
JOIN
"
.
TF_FORUM_T
OPIC
.
"
AS
tt
USING(`top
ic_id`)
INNER
JOIN
"
.
TF_FORUM
.
"
AS
tf
ON
(tf.`forum
_id`
=
tp.`forum_
id`
AND
`tt`.`foru
m_id`
=
tf.`forum_
id`)
INNER
JOIN
"
.
TF_FORUM_C
AT
.
"
AS
tc
USING(`cat
_id`)
WHERE
$where
ORDER
BY
tp.`when`
$order
LIMIT
$c";
|
534 |
|
|
|
560 |
|
|
535 |
|
|
|
561 |
|
|
536 |
|
re
turn $this
->getAll (
$sql);
|
|
562 |
|
re
turn $this
->getAll (
$sql);
|
537 |
|
}
|
|
563 |
|
}
|
538 |
|
|
|
564 |
|
|
539 |
|
|
|
565 |
|
|
540 |
|
functi
on getNewP
ostTs ($ts
)
|
|
566 |
|
functi
on getNewP
ostTs ($ts
)
|
541 |
|
{
|
|
567 |
|
{
|
542 |
|
re
turn $this
->getOne("
SELECT `wh
en` FROM "
. TF_FORU
M_POST . "
WHERE `wh
en` > '$ts
' ORDER BY
`when` AS
C LIMIT 1"
);
|
|
568 |
|
re
turn $this
->getOne("
SELECT `wh
en` FROM "
. TF_FORU
M_POST . "
WHERE `wh
en` > '$ts
' ORDER BY
`when` AS
C LIMIT 1"
);
|
543 |
|
}
|
|
569 |
|
}
|
544 |
|
|
|
570 |
|
|
545 |
|
// private
functions
|
|
571 |
|
// private
functions
|
546 |
|
|
|
572 |
|
|
547 |
|
}
|
|
573 |
|
}
|
548 |
|
|
|
574 |
|
|
549 |
|
|
|
575 |
|
|
550 |
|
|
|
576 |
|
|
551 |
|
|
|
577 |
|
|
552 |
|
|
|
578 |
|
|
553 |
|
?>
|
|
579 |
|
?>
|