Hoşgeldiniz,
Ziyaretçi
.Lütfen
giriş yapın
veya
kayıt olun
.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen
buraya tıklayın
.
1 Saat
1 Gün
1 Hafta
1 Ay
Her zaman
Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
Ana Sayfa
Forum
Arama
Giriş
Kayıt Ol
Simple Machines Forum Türkçe Yardım Sitesi
>
Simple Machines Forum
>
Dökümanlar
> Konu:
Kimler Online - Alfabetik Sıralama
Sayfa: [
1
]
Aşağı git
« önceki
sonraki »
Bu Konuyu Gönder
Yazdır
Gönderen
Konu: Kimler Online - Alfabetik Sıralama (Okunma Sayısı 1430 defa)
husmen73
Sr. Member
Çevrimdışı
Mesaj Sayısı: 3166
Gülhin İnternet'e sitenizin tasarımını yaptırın.
Kimler Online - Alfabetik Sıralama
«
:
Ocak 29, 2007, 12:40:47 ÖS »
Sources/BoardIndex.php
Kod: (Bul)
// Load the users online right now.
$result = db_query("
SELECT
lo.ID_MEMBER, lo.logTime, mem.realName, mem.memberName, mem.showOnline,
mg.onlineColor, mg.ID_GROUP, mg.groupName
FROM {$db_prefix}log_online AS lo
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lo.ID_MEMBER)
LEFT JOIN {$db_prefix}membergroups AS mg ON (mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP))", __FILE__, __LINE__);
Kod: (Değiştir)
// Load the users online right now.
$result = db_query("
SELECT
lo.ID_MEMBER, lo.logTime, mem.realName, mem.memberName, mem.showOnline,
mg.onlineColor, mg.ID_GROUP, mg.groupName
FROM {$db_prefix}log_online AS lo
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lo.ID_MEMBER)
LEFT JOIN {$db_prefix}membergroups AS mg ON (mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP))
ORDER BY mem.realName ASC", __FILE__, __LINE__);
Yedek alın.
Kayıtlı
Anka Teması
ve
Oboj Teması
satışa sunulmuştur.
www.gulhin.com
Bana ulaşmak isterseniz husmen100[at]hotmail.com mail adresimi kullanabilirsiniz. MSN Messenger üzerinden
SMF konusunda yardım etmiyorum
fakat Tema Tasarımı konusunda
ücretli
yardımcı olabilirim. Saygılarımla.
Shey
H-Full Member
Çevrimdışı
Mesaj Sayısı: 37
Ynt: Kimler Online - Alfabetik Sıralama
«
Yanıtla #1 :
Ocak 29, 2007, 10:43:06 ÖS »
bblack teması kullanıyorum dediğini aynen yaptım ama olmadı
Kayıtlı
husmen73
Sr. Member
Çevrimdışı
Mesaj Sayısı: 3166
Gülhin İnternet'e sitenizin tasarımını yaptırın.
Ynt: Kimler Online - Alfabetik Sıralama
«
Yanıtla #2 :
Ocak 30, 2007, 01:30:37 ÖÖ »
Bunun tema ile ilgisi yok. BoardIndex.php dosyasında değişiklik yaptın değil mi? BoardIndex.template.php
değil
Kayıtlı
Anka Teması
ve
Oboj Teması
satışa sunulmuştur.
www.gulhin.com
Bana ulaşmak isterseniz husmen100[at]hotmail.com mail adresimi kullanabilirsiniz. MSN Messenger üzerinden
SMF konusunda yardım etmiyorum
fakat Tema Tasarımı konusunda
ücretli
yardımcı olabilirim. Saygılarımla.
Shey
H-Full Member
Çevrimdışı
Mesaj Sayısı: 37
Ynt: Kimler Online - Alfabetik Sıralama
«
Yanıtla #3 :
Ocak 30, 2007, 01:36:21 ÖÖ »
yaptım istersen buraya ekliyim husmen boardindeks.php yi
Kayıtlı
inan
Jr. Member
Çevrimdışı
Mesaj Sayısı: 1563
Ynt: Kimler Online - Alfabetik Sıralama
«
Yanıtla #4 :
Ocak 30, 2007, 01:37:04 ÖÖ »
ekle bakalım ama ripdle ekle
Kayıtlı
smfdestek sitesi:
www.rapsmf.com
BİZİMLE ÇALIŞMAK İSTERMİSİNİZ...
iletişim :
inan_diyadin@hotmail.com
Tema yapmak isteyen ama yapamıyan
Bana ulaşsın...
MSN 'den SMF Destek Vermiyorum.Ekleyip SEnkimsin Diyede Sormayın!!!
Shey
H-Full Member
Çevrimdışı
Mesaj Sayısı: 37
Ynt: Kimler Online - Alfabetik Sıralama
«
Yanıtla #5 :
Ocak 30, 2007, 01:42:02 ÖÖ »
Kod:
<?php
/******************************************************************************
* BoardIndex.php *
*******************************************************************************
* SMF: Simple Machines Forum *
* Open-Source Project Inspired by Zef Hemel (zef@zefhemel.com) *
* =========================================================================== *
* Software Version: SMF 1.1 RC3 *
* Software by: Simple Machines (http://www.simplemachines.org) *
* Copyright 2001-2006 by: Lewis Media (http://www.lewismedia.com) *
* Support, News, Updates at: http://www.simplemachines.org *
*******************************************************************************
* This program is free software; you may redistribute it and/or modify it *
* under the terms of the provided license as published by Lewis Media. *
* *
* This program is distributed in the hope that it is and will be useful, *
* but WITHOUT ANY WARRANTIES; without even any implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
* See the "license.txt" file for details of the Simple Machines license. *
* The latest version can always be found at http://www.simplemachines.org. *
******************************************************************************/
if (!
defined
(
'SMF'
))
die(
'Hacking attempt...'
);
/*
The single function this file contains is used to display the main
board index. It uses just the following functions:
void BoardIndex()
- shows the board index.
- uses the BoardIndex template, and main sub template.
- may use the boardindex subtemplate for wireless support.
- updates the most online statistics.
- is accessed by ?action=boardindex.
bool calendarDoIndex()
- prepares the calendar data for the board index.
- takes care of caching it for speed.
- depends upon these settings: cal_showeventsonindex,
cal_showbdaysonindex, cal_showholidaysonindex.
- returns whether there is anything to display.
*/
// Show the board index!
function
BoardIndex
()
{
global
$txt
,
$scripturl
,
$db_prefix
,
$ID_MEMBER
,
$user_info
,
$sourcedir
;
global
$modSettings
,
$context
,
$settings
;
// For wireless, we use the Wireless template...
if (
WIRELESS
)
$context
[
'sub_template'
] =
WIRELESS_PROTOCOL
.
'_boardindex'
;
else
loadTemplate
(
'BoardIndex'
);
// Remember the most recent topic for optimizing the recent posts feature.
$most_recent_topic
= array(
'timestamp'
=>
0
,
'ref'
=>
null
);
// Board Viewers - by HarzeM
$board_viewers
= array();
if (!empty(
$settings
[
'display_who_viewing'
]))
{
// get the users that are on some boards :)
$request
=
db_query
(
"
SELECT session, url
FROM {$db_prefix}log_online
WHERE INSTR(url, 's:5:\"board\";i:')"
,
__FILE__
,
__LINE__
);
// for each user ...
while(
$row
=
mysql_fetch_assoc
(
$request
))
{
// no user ?! useless forum!
if (empty(
$row
[
'session'
]))
continue;
// a second check on the user, if it is in some board
$bw_poss
=
strpos
(
$row
[
'url'
],
's:5:"board";i:'
);
if (
$bw_poss
===
false
) continue;
// found someone inside! try to get the end of the board number
$bw_pose
=
strpos
(
$row
[
'url'
],
';'
,
$bw_poss
+
14
);
// extract the board number, and add to board viewers
if(!isset(
$board_viewers
[
substr
(
$row
[
'url'
],
$bw_poss
+
14
,
$bw_pose
-
$bw_poss
-
14
)]))
$board_viewers
[
substr
(
$row
[
'url'
],
$bw_poss
+
14
,
$bw_pose
-
$bw_poss
-
14
)] =
0
;
$board_viewers
[
substr
(
$row
[
'url'
],
$bw_poss
+
14
,
$bw_pose
-
$bw_poss
-
14
)]++;
}
// thanks.
mysql_free_result
(
$request
);
}
// Statistics such as number of boards, categories, etc. by rallyproco
$result
=
db_query
(
"
SELECT COUNT(b.ID_BOARD)
FROM {$db_prefix}boards AS b"
,
__FILE__
,
__LINE__
);
list (
$context
[
'num_boards'
]) =
mysql_fetch_row
(
$result
);
mysql_free_result
(
$result
);
$result
=
db_query
(
"
SELECT COUNT(c.ID_CAT)
FROM {$db_prefix}categories AS c"
,
__FILE__
,
__LINE__
);
list (
$context
[
'num_categories'
]) =
mysql_fetch_row
(
$result
);
mysql_free_result
(
$result
);
$context
[
'num_members'
] = &
$modSettings
[
'totalMembers'
];
$context
[
'num_posts'
] = &
$modSettings
[
'totalMessages'
];
$context
[
'num_topics'
] = &
$modSettings
[
'totalTopics'
];
$context
[
'most_members_online'
] = array(
'number'
=> &
$modSettings
[
'mostOnline'
],
'date'
=>
timeformat
(
$modSettings
[
'mostDate'
])
);
$context
[
'latest_member'
] = &
$context
[
'common_stats'
][
'latest_member'
];
// Poster top 10.
$members_result
=
db_query
(
"
SELECT ID_MEMBER, realName, posts
FROM {$db_prefix}members
ORDER BY posts DESC
LIMIT 10"
,
__FILE__
,
__LINE__
);
$context
[
'top_posters'
] = array();
$max_num_posts
=
1
;
while (
$row_members
=
mysql_fetch_assoc
(
$members_result
))
{
$context
[
'top_posters'
][] = array(
'name'
=>
$row_members
[
'realName'
],
'id'
=>
$row_members
[
'ID_MEMBER'
],
'num_posts'
=>
$row_members
[
'posts'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
],
'link'
=>
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
] .
'"><img src="http://www.forum03.net/forum/Themes/BB_Lack/images/icons/kullanici.gif">'
.
$row_members
[
'realName'
] .
'</a>'
);
if (!empty(
$modSettings
[
'MemberColorStats'
]))
$MemberColor_ID_MEMBER
[
$row_members
[
'ID_MEMBER'
]] =
$row_members
[
'ID_MEMBER'
];
if (
$max_num_posts
<
$row_members
[
'posts'
])
$max_num_posts
=
$row_members
[
'posts'
];
}
mysql_free_result
(
$members_result
);
foreach (
$context
[
'top_posters'
] as
$i
=>
$poster
)
$context
[
'top_posters'
][
$i
][
'post_percent'
] =
round
((
$poster
[
'num_posts'
] *
100
) /
$max_num_posts
);
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
]))
$MemberColor_ID_MEMBER
[
$modSettings
[
'latestMember'
]] =
$modSettings
[
'latestMember'
];
//Yeah baby give me some colors =).
if (!empty(
$MemberColor_ID_MEMBER
)) {
//Now Load the Missing global :)
global
$user_profile
;
loadMemberData
(
$MemberColor_ID_MEMBER
);
$cmemcolid
=
NULL
;
if (!empty(
$modSettings
[
'MemberColorStats'
])) {
// Poster top 10.
foreach(
$context
[
'top_posters'
] as
$key
=>
$value
) {
$cmemcolid
=
$context
[
'top_posters'
][
$key
][
'id'
];
$profile
= &
$user_profile
[
$cmemcolid
];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'top_posters'
][
$key
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><img src="http://www.forum03.net/forum/Themes/BB_Lack/images/icons/kullanici.gif"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
])) {
$profile
= &
$user_profile
[
$modSettings
[
'latestMember'
]];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'latest_member'
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
// yeni uyeler. by rallyproco
$members_result
=
db_query
(
"
SELECT ID_MEMBER, realName, posts
FROM {$db_prefix}members
ORDER BY ID_MEMBER DESC
LIMIT 10"
,
__FILE__
,
__LINE__
);
$context
[
'yeniuyeler'
] = array();
$max_num_posts
=
1
;
while (
$row_members
=
mysql_fetch_assoc
(
$members_result
))
{
$context
[
'yeniuyeler'
][] = array(
'name'
=>
$row_members
[
'realName'
],
'id'
=>
$row_members
[
'ID_MEMBER'
],
'num_posts'
=>
$row_members
[
'posts'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
],
'link'
=>
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
] .
'"><img src="http://forum03.net/forum/Themes/BB_Lack/images/icons/kullanici.gif">'
.
$row_members
[
'realName'
] .
'</a>'
);
if (!empty(
$modSettings
[
'MemberColorStats'
]))
$MemberColor_ID_MEMBER
[
$row_members
[
'ID_MEMBER'
]] =
$row_members
[
'ID_MEMBER'
];
if (
$max_num_posts
<
$row_members
[
'posts'
])
$max_num_posts
=
$row_members
[
'posts'
];
}
mysql_free_result
(
$members_result
);
foreach (
$context
[
'yeniuyeler'
] as
$i
=>
$poster
)
$context
[
'yeniuyeler'
][
$i
][
'post_percent'
] =
round
((
$poster
[
'num_posts'
] *
100
) /
$max_num_posts
);
//Yeah baby give me some colors =).
if (!empty(
$MemberColor_ID_MEMBER
)) {
//Now Load the Missing global :)
global
$user_profile
;
loadMemberData
(
$MemberColor_ID_MEMBER
);
$cmemcolid
=
NULL
;
if (!empty(
$modSettings
[
'MemberColorStats'
])) {
// repkarma
foreach(
$context
[
'yeniuyeler'
] as
$key
=>
$value
) {
$cmemcolid
=
$context
[
'yeniuyeler'
][
$key
][
'id'
];
$profile
= &
$user_profile
[
$cmemcolid
];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'yeniuyeler'
][
$key
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
])) {
$profile
= &
$user_profile
[
$modSettings
[
'latestMember'
]];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'latest_member'
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
// repkarma top 10. by rallyproco
$members_result
=
db_query
(
"
SELECT ID_MEMBER, realName, posts , karmaGood
FROM {$db_prefix}members
ORDER BY karmaGood DESC
LIMIT 10"
,
__FILE__
,
__LINE__
);
$context
[
'repkarma'
] = array();
$max_num_posts
=
1
;
while (
$row_members
=
mysql_fetch_assoc
(
$members_result
))
{
$context
[
'repkarma'
][] = array(
'name'
=>
$row_members
[
'realName'
],
'id'
=>
$row_members
[
'ID_MEMBER'
],
'karma'
=>
$row_members
[
'karmaGood'
],
'num_posts'
=>
$row_members
[
'posts'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
],
'link'
=>
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
] .
'">'
.
$row_members
[
'realName'
] .
'</a>'
);
if (!empty(
$modSettings
[
'MemberColorStats'
]))
$MemberColor_ID_MEMBER
[
$row_members
[
'ID_MEMBER'
]] =
$row_members
[
'ID_MEMBER'
];
if (
$max_num_posts
<
$row_members
[
'posts'
])
$max_num_posts
=
$row_members
[
'posts'
];
}
mysql_free_result
(
$members_result
);
foreach (
$context
[
'repkarma'
] as
$i
=>
$poster
)
$context
[
'repkarma'
][
$i
][
'post_percent'
] =
round
((
$poster
[
'num_posts'
] *
100
) /
$max_num_posts
);
//Yeah baby give me some colors =).
if (!empty(
$MemberColor_ID_MEMBER
)) {
//Now Load the Missing global :)
global
$user_profile
;
loadMemberData
(
$MemberColor_ID_MEMBER
);
$cmemcolid
=
NULL
;
if (!empty(
$modSettings
[
'MemberColorStats'
])) {
// repkarma
foreach(
$context
[
'repkarma'
] as
$key
=>
$value
) {
$cmemcolid
=
$context
[
'repkarma'
][
$key
][
'id'
];
$profile
= &
$user_profile
[
$cmemcolid
];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'repkarma'
][
$key
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
])) {
$profile
= &
$user_profile
[
$modSettings
[
'latestMember'
]];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'latest_member'
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
// Topic views top 10.
$topic_view_result
=
db_query
(
"
SELECT m.subject, t.numViews, t.ID_BOARD, t.ID_TOPIC, b.name
FROM ({$db_prefix}topics AS t, {$db_prefix}messages AS m, {$db_prefix}boards AS b)
WHERE m.ID_MSG = t.ID_FIRST_MSG
AND $user_info[query_see_board]"
. (!empty(
$modSettings
[
'recycle_enable'
]) &&
$modSettings
[
'recycle_board'
] >
0
?
"
AND b.ID_BOARD != $modSettings[recycle_board]"
:
''
) .
"
AND t.ID_BOARD = b.ID_BOARD"
. (!empty(
$topic_ids
) ?
"
AND t.ID_TOPIC IN ("
.
implode
(
', '
,
$topic_ids
) .
")"
:
''
) .
"
ORDER BY t.numViews DESC
LIMIT 10"
,
__FILE__
,
__LINE__
);
$context
[
'top_topics_views'
] = array();
$max_num_views
=
1
;
while (
$row_topic_views
=
mysql_fetch_assoc
(
$topic_view_result
))
{
censorText
(
$row_topic_views
[
'subject'
]);
$row_topic_views
[
'subject'
] =
shorten_subject
(
$row_topic_views
[
'subject'
],
22
);
$context
[
'top_topics_views'
][] = array(
'id'
=>
$row_topic_views
[
'ID_TOPIC'
],
'board'
=> array(
'id'
=>
$row_topic_views
[
'ID_BOARD'
],
'name'
=>
$row_topic_views
[
'name'
],
'href'
=>
$scripturl
.
'?board='
.
$row_topic_views
[
'ID_BOARD'
] .
'.0'
,
'link'
=>
'<a href="'
.
$scripturl
.
'?board='
.
$row_topic_views
[
'ID_BOARD'
] .
'.0">'
.
$row_topic_views
[
'name'
] .
'</a>'
),
'subject'
=>
$row_topic_views
[
'shorten_subject'
],
'num_views'
=>
$row_topic_views
[
'numViews'
],
'href'
=>
$scripturl
.
'?topic='
.
$row_topic_views
[
'ID_TOPIC'
] .
'.0'
,
'link'
=>
'<a href="'
.
$scripturl
.
'?topic='
.
$row_topic_views
[
'ID_TOPIC'
] .
'.0">'
.
$row_topic_views
[
'subject'
] .
'</a>'
);
if (
$max_num_views
<
$row_topic_views
[
'numViews'
])
$max_num_views
=
$row_topic_views
[
'numViews'
];
}
mysql_free_result
(
$topic_view_result
);
foreach (
$context
[
'top_topics_views'
] as
$i
=>
$topic
)
$context
[
'top_topics_views'
][
$i
][
'post_percent'
] =
round
((
$topic
[
'num_views'
] *
100
) /
$max_num_views
);
// Find all boards and categories, as well as related information. This will be sorted by the natural order of boards and categories, which we control.
$result_boards
=
db_query
(
"
SELECT
c.name AS catName, c.ID_CAT, b.ID_BOARD, b.name AS boardName, b.description,
b.numPosts, b.numTopics, b.ID_PARENT, IFNULL(m.posterTime, 0) AS posterTime,
IFNULL(mem.memberName, m.posterName) AS posterName, m.subject, m.ID_TOPIC,
IFNULL(mem.realName, m.posterName) AS realName,"
. (
$user_info
[
'is_guest'
] ?
"
1 AS isRead, 0 AS new_from"
:
"
(IFNULL(lb.ID_MSG, 0) >= b.ID_MSG_UPDATED) AS isRead, IFNULL(lb.ID_MSG, -1) + 1 AS new_from,
c.canCollapse, IFNULL(cc.ID_MEMBER, 0) AS isCollapsed"
) .
",
IFNULL(mem.ID_MEMBER, 0) AS ID_MEMBER, m.ID_MSG,
IFNULL(mods_mem.ID_MEMBER, 0) AS ID_MODERATOR, mods_mem.realName AS modRealName, m.icon
FROM {$db_prefix}boards AS b
LEFT JOIN {$db_prefix}categories AS c ON (c.ID_CAT = b.ID_CAT)
LEFT JOIN {$db_prefix}messages AS m ON (m.ID_MSG = b.ID_LAST_MSG)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)"
. (!
$user_info
[
'is_guest'
] ?
"
LEFT JOIN {$db_prefix}log_boards AS lb ON (lb.ID_BOARD = b.ID_BOARD AND lb.ID_MEMBER = $ID_MEMBER)
LEFT JOIN {$db_prefix}collapsed_categories AS cc ON (cc.ID_CAT = c.ID_CAT AND cc.ID_MEMBER = $ID_MEMBER)"
:
''
) .
"
LEFT JOIN {$db_prefix}moderators AS mods ON (mods.ID_BOARD = b.ID_BOARD)
LEFT JOIN {$db_prefix}members AS mods_mem ON (mods_mem.ID_MEMBER = mods.ID_MEMBER)
WHERE $user_info[query_see_board]"
. (empty(
$modSettings
[
'countChildPosts'
]) ?
"
AND b.childLevel <= 1"
:
''
),
__FILE__
,
__LINE__
);
// Run through the categories and boards....
$context
[
'categories'
] = array();
while (
$row_board
=
mysql_fetch_assoc
(
$result_boards
))
{
// Haven't set this category yet.
if (empty(
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]]))
{
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]] = array(
'id'
=>
$row_board
[
'ID_CAT'
],
'name'
=>
$row_board
[
'catName'
],
'is_collapsed'
=> isset(
$row_board
[
'canCollapse'
]) &&
$row_board
[
'canCollapse'
] ==
1
&&
$row_board
[
'isCollapsed'
] >
0
,
'can_collapse'
=> isset(
$row_board
[
'canCollapse'
]) &&
$row_board
[
'canCollapse'
] ==
1
,
'collapse_href'
=> isset(
$row_board
[
'canCollapse'
]) ?
$scripturl
.
'?action=collapse;c='
.
$row_board
[
'ID_CAT'
] .
';sa='
. (
$row_board
[
'isCollapsed'
] >
0
?
'expand'
:
'collapse;'
) .
'#'
.
$row_board
[
'ID_CAT'
] :
''
,
'collapse_image'
=> isset(
$row_board
[
'canCollapse'
]) ?
'<img src="'
.
$settings
[
'images_url'
] .
'/'
. (
$row_board
[
'isCollapsed'
] >
0
?
'expand.gif" alt="+"'
:
'collapse.gif" alt="-"'
) .
' border="0" />'
:
''
,
'href'
=>
$scripturl
.
'#'
.
$row_board
[
'ID_CAT'
],
'boards'
=> array(),
'new'
=>
false
);
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'link'
] =
'<a name="'
.
$row_board
[
'ID_CAT'
] .
'" href="'
. (isset(
$row_board
[
'canCollapse'
]) ?
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'collapse_href'
] :
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'href'
]) .
'">'
.
$row_board
[
'catName'
] .
'</a>'
;
}
// If this board has new posts in it (and isn't the recycle bin!) then the category is new.
if (empty(
$modSettings
[
'recycle_enable'
]) ||
$modSettings
[
'recycle_board'
] !=
$row_board
[
'ID_BOARD'
])
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'new'
] |= empty(
$row_board
[
'isRead'
]) &&
$row_board
[
'posterName'
] !=
''
;
// Collapsed category - don't do any of this.
if (
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'is_collapsed'
])
continue;
// Let's save some typing. Climbing the array might be slower, anyhow.
$this_category
= &
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'boards'
];
// This is a parent board.
if (empty(
$row_board
[
'ID_PARENT'
]))
{
// Is this a new board, or just another moderator?
if (!isset(
$this_category
[
$row_board
[
'ID_BOARD'
]]))
{
// Not a child.
$isChild
=
false
;
$this_category
[
$row_board
[
'ID_BOARD'
]] = array(
'new'
=> empty(
$row_board
[
'isRead'
]),
'id'
=>
$row_board
[
'ID_BOARD'
],
'name'
=>
$row_board
[
'boardName'
],
'description'
=>
$row_board
[
'description'
],
'moderators'
=> array(),
'link_moderators'
=> array(),
'children'
=> array(),
'link_children'
=> array(),
'children_new'
=>
false
,
'topics'
=>
$row_board
[
'numTopics'
],
'posts'
=>
$row_board
[
'numPosts'
],
'viewers'
=> isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
,
// Board Viewers - by HarzeM
'href'
=>
$scripturl
.
'?board='
.
$row_board
[
'ID_BOARD'
] .
'.0'
,
'link'
=>
'<a href="'
.
$scripturl
.
'?board='
.
$row_board
[
'ID_BOARD'
] .
'.0">'
.
$row_board
[
'boardName'
] .
'</a>'
);
}
if (!empty(
$row_board
[
'ID_MODERATOR'
]))
{
$this_category
[
$row_board
[
'ID_BOARD'
]][
'moderators'
][
$row_board
[
'ID_MODERATOR'
]] = array(
'id'
=>
$row_board
[
'ID_MODERATOR'
],
'name'
=>
$row_board
[
'modRealName'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MODERATOR'
],
'link'
=>
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MODERATOR'
] .
'" title="'
.
$txt
[
62
] .
'">'
.
$row_board
[
'modRealName'
] .
'</a>'
);
$this_category
[
$row_board
[
'ID_BOARD'
]][
'link_moderators'
][] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MODERATOR'
] .
'" title="'
.
$txt
[
62
] .
'">'
.
$row_board
[
'modRealName'
] .
'</a>'
;
}
}
// Found a child board.... make sure we've found its parent and the child hasn't been set already.
elseif (isset(
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
]) && !isset(
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]]))
{
// A valid child!
$isChild
=
true
;
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]] = array(
'id'
=>
$row_board
[
'ID_BOARD'
],
'name'
=>
$row_board
[
'boardName'
],
'description'
=>
$row_board
[
'description'
],
'new'
=> empty(
$row_board
[
'isRead'
]) &&
$row_board
[
'posterName'
] !=
''
,
'topics'
=>
$row_board
[
'numTopics'
],
'posts'
=>
$row_board
[
'numPosts'
],
'viewers'
=> isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
,
// Board Viewers - by HarzeM
'href'
=>
$scripturl
.
'?board='
.
$row_board
[
'ID_BOARD'
] .
'.0'
,
'link'
=>
'<a href="'
.
$scripturl
.
'?board='
.
$row_board
[
'ID_BOARD'
] .
'.0">'
.
$row_board
[
'boardName'
] .
'</a>'
);
// Counting child board posts is... slow :/.
if (!empty(
$modSettings
[
'countChildPosts'
]))
{
$this_category
[
$row_board
[
'ID_PARENT'
]][
'posts'
] +=
$row_board
[
'numPosts'
];
$this_category
[
$row_board
[
'ID_PARENT'
]][
'topics'
] +=
$row_board
[
'numTopics'
];
$this_category
[
$row_board
[
'ID_PARENT'
]][
'viewers'
] += isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
;
// Board Viewers - by HarzeM
}
// Does this board contain new boards?
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children_new'
] |= empty(
$row_board
[
'isRead'
]);
// This is easier to use in many cases for the theme....
$this_category
[
$row_board
[
'ID_PARENT'
]][
'link_children'
][] = &
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]][
'link'
];
}
// Child of a child... just add it on...
elseif (!empty(
$modSettings
[
'countChildPosts'
]))
{
if (!isset(
$parent_map
))
$parent_map
= array();
if (!isset(
$parent_map
[
$row_board
[
'ID_PARENT'
]]))
foreach (
$this_category
as
$id
=>
$board
)
{
if (!isset(
$board
[
'children'
][
$row_board
[
'ID_PARENT'
]]))
continue;
$parent_map
[
$row_board
[
'ID_PARENT'
]] = array(&
$this_category
[
$id
], &
$this_category
[
$id
][
'children'
][
$row_board
[
'ID_PARENT'
]]);
$parent_map
[
$row_board
[
'ID_BOARD'
]] = array(&
$this_category
[
$id
], &
$this_category
[
$id
][
'children'
][
$row_board
[
'ID_PARENT'
]]);
break;
}
if (isset(
$parent_map
[
$row_board
[
'ID_PARENT'
]]))
{
$parent_map
[
$row_board
[
'ID_PARENT'
]][
0
][
'posts'
] +=
$row_board
[
'numPosts'
];
$parent_map
[
$row_board
[
'ID_PARENT'
]][
0
][
'topics'
] +=
$row_board
[
'numTopics'
];
$parent_map
[
$row_board
[
'ID_PARENT'
]][
0
][
'viewers'
] += isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
;
// Board Viewers - by HarzeM
$parent_map
[
$row_board
[
'ID_PARENT'
]][
1
][
'posts'
] +=
$row_board
[
'numPosts'
];
$parent_map
[
$row_board
[
'ID_PARENT'
]][
1
][
'topics'
] +=
$row_board
[
'numTopics'
];
$parent_map
[
$row_board
[
'ID_PARENT'
]][
1
][
'viewers'
] += isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
;
// Board Viewers - by HarzeM
continue;
}
continue;
}
// Found a child of a child - skip.
else
continue;
// Prepare the subject, and make sure it's not too long.
censorText
(
$row_board
[
'subject'
]);
$row_board
[
'short_subject'
] =
shorten_subject
(
$row_board
[
'subject'
],
24
);
$this_last_post
= array(
'id'
=>
$row_board
[
'ID_MSG'
],
'time'
=>
$row_board
[
'posterTime'
] >
0
?
timeformat
(
$row_board
[
'posterTime'
]) :
$txt
[
470
],
'timestamp'
=>
forum_time
(
true
,
$row_board
[
'posterTime'
]),
'subject'
=>
$row_board
[
'short_subject'
],
'member'
=> array(
'id'
=>
$row_board
[
'ID_MEMBER'
],
'username'
=>
$row_board
[
'posterName'
] !=
''
?
$row_board
[
'posterName'
] :
$txt
[
470
],
'name'
=>
$row_board
[
'realName'
],
'href'
=>
$row_board
[
'posterName'
] !=
''
&& !empty(
$row_board
[
'ID_MEMBER'
]) ?
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MEMBER'
] :
''
,
'link'
=>
$row_board
[
'posterName'
] !=
''
? (!empty(
$row_board
[
'ID_MEMBER'
]) ?
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MEMBER'
] .
'">'
.
$row_board
[
'realName'
] .
'</a>'
:
$row_board
[
'realName'
]) :
$txt
[
470
],
),
'start'
=>
'msg'
.
$row_board
[
'new_from'
],
'topic'
=>
$row_board
[
'ID_TOPIC'
]
);
if (!empty(
$modSettings
[
'MemberColorBoardindex'
]) && !empty(
$row_board
[
'ID_MEMBER'
])) {
$MemberColor_ID_MEMBER
[
$row_board
[
'ID_MEMBER'
]] =
$row_board
[
'ID_MEMBER'
];
$MemberColor_board
[
$isChild
?
$row_board
[
'ID_PARENT'
] :
$row_board
[
'ID_BOARD'
]] = array(
'bid'
=> (
$isChild
?
$row_board
[
'ID_PARENT'
] :
$row_board
[
'ID_BOARD'
]),
'cat'
=>
$row_board
[
'ID_CAT'
]);
}
// Provide the href and link.
if (
$row_board
[
'subject'
] !=
''
)
{
$this_last_post
[
'href'
] =
$scripturl
.
'?topic='
.
$row_board
[
'ID_TOPIC'
] .
'.msg'
. (
$user_info
[
'is_guest'
] ?
$modSettings
[
'maxMsgID'
] :
$row_board
[
'new_from'
]) . (empty(
$row_board
[
'isRead'
]) ?
';boardseen'
:
''
) .
'#new'
;
$this_last_post
[
'link'
] =
'<a href="'
.
$this_last_post
[
'href'
] .
'" title="'
.
$row_board
[
'subject'
] .
'">'
.
$row_board
[
'short_subject'
] .
'</a>'
;
}
else
{
$this_last_post
[
'href'
] =
''
;
$this_last_post
[
'link'
] =
$txt
[
470
];
}
// Set the last post in the parent board.
if (empty(
$row_board
[
'ID_PARENT'
]) || (
$isChild
&& !empty(
$row_board
[
'posterTime'
]) &&
$this_category
[
$row_board
[
'ID_PARENT'
]][
'last_post'
][
'timestamp'
] <
forum_time
(
true
,
$row_board
[
'posterTime'
])))
$this_category
[
$isChild
?
$row_board
[
'ID_PARENT'
] :
$row_board
[
'ID_BOARD'
]][
'last_post'
] =
$this_last_post
;
// Just in the child...?
if (
$isChild
)
{
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]][
'last_post'
] =
$this_last_post
;
// If there are no posts in this board, it really can't be new...
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]][
'new'
] &=
$row_board
[
'posterName'
] !=
''
;
}
// No last post for this board? It's not new then, is it..?
elseif (
$row_board
[
'posterName'
] ==
''
)
$this_category
[
$row_board
[
'ID_BOARD'
]][
'new'
] =
false
;
// Determine a global most recent topic.
if (!empty(
$row_board
[
'posterTime'
]) &&
forum_time
(
true
,
$row_board
[
'posterTime'
]) >
$most_recent_topic
[
'timestamp'
])
$most_recent_topic
= array(
'timestamp'
=>
forum_time
(
true
,
$row_board
[
'posterTime'
]),
'ref'
=> &
$this_category
[
$isChild
?
$row_board
[
'ID_PARENT'
] :
$row_board
[
'ID_BOARD'
]][
'last_post'
],
);
}
mysql_free_result
(
$result_boards
);
//The latest member?
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
]))
$MemberColor_ID_MEMBER
[
$modSettings
[
'latestMember'
]] =
$modSettings
[
'latestMember'
];
// Know set the colors for the last post...
if (!empty(
$MemberColor_ID_MEMBER
)) {
//Now i can Load the Missing global :)
global
$user_profile
;
loadMemberData
(
$MemberColor_ID_MEMBER
);
$cmemcolid
=
NULL
;
//So the BoardIndex need colored links
if (!empty(
$modSettings
[
'MemberColorBoardindex'
]) && !empty(
$MemberColor_board
))
foreach(
$MemberColor_board
as
$boardid_memcolor
) {
$cmemcolid
=
$context
[
'categories'
][
$boardid_memcolor
[
'cat'
]][
'boards'
][
$boardid_memcolor
[
'bid'
]][
'last_post'
][
'member'
][
'id'
];
$profile
= &
$user_profile
[
$cmemcolid
];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'categories'
][
$boardid_memcolor
[
'cat'
]][
'boards'
][
$boardid_memcolor
[
'bid'
]][
'last_post'
][
'member'
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
// Load the users online right now.
$result
=
db_query
(
"
SELECT
lo.ID_MEMBER, lo.logTime, mem.realName, mem.memberName, mem.showOnline,
mg.onlineColor, mg.ID_GROUP, mg.groupName
FROM {$db_prefix}log_online AS lo
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lo.ID_MEMBER)
LEFT JOIN {$db_prefix}membergroups AS mg ON (mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP))
ORDER BY mem.realName ASC"
,
__FILE__
,
__LINE__
);
$context
[
'users_online'
] = array();
$context
[
'list_users_online'
] = array();
$context
[
'online_groups'
] = array();
$context
[
'num_guests'
] =
0
;
$context
[
'num_buddies'
] =
0
;
$context
[
'num_users_hidden'
] =
0
;
$context
[
'show_buddies'
] = !empty(
$user_info
[
'buddies'
]);
while (
$row
=
mysql_fetch_assoc
(
$result
))
{
if (empty(
$row
[
'realName'
]))
{
$context
[
'num_guests'
]++;
continue;
}
elseif (empty(
$row
[
'showOnline'
]) && !
allowedTo
(
'moderate_forum'
))
{
$context
[
'num_users_hidden'
]++;
continue;
}
// Some basic color coding...
if (!empty(
$row
[
'onlineColor'
]))
$link
=
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
] .
'" style="color: '
.
$row
[
'onlineColor'
] .
';"><img src="http://forum03.net/forum/Themes/BB_Lack/images/icons/kullanici.gif">'
.
$row
[
'realName'
] .
'</a>'
;
else
$link
=
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
] .
'">'
.
$row
[
'realName'
] .
'</a>'
;
$is_buddy
=
in_array
(
$row
[
'ID_MEMBER'
],
$user_info
[
'buddies'
]);
if (
$is_buddy
)
{
$context
[
'num_buddies'
]++;
$link
=
'<b>'
.
$link
.
'</b>'
;
}
$context
[
'users_online'
][
$row
[
'logTime'
] .
$row
[
'memberName'
]] = array(
'id'
=>
$row
[
'ID_MEMBER'
],
'username'
=>
$row
[
'memberName'
],
'name'
=>
$row
[
'realName'
],
'group'
=>
$row
[
'ID_GROUP'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
],
'link'
=>
$link
,
'is_buddy'
=>
$is_buddy
,
'hidden'
=> empty(
$row
[
'showOnline'
]),
);
$context
[
'list_users_online'
][
$row
[
'logTime'
] .
$row
[
'memberName'
]] = empty(
$row
[
'showOnline'
]) ?
'<i>'
.
$link
.
'</i>'
:
$link
;
if (!isset(
$context
[
'online_groups'
][
$row
[
'ID_GROUP'
]]))
$context
[
'online_groups'
][
$row
[
'ID_GROUP'
]] = array(
'id'
=>
$row
[
'ID_GROUP'
],
'name'
=>
$row
[
'groupName'
],
'color'
=>
$row
[
'onlineColor'
]
);
}
mysql_free_result
(
$result
);
krsort
(
$context
[
'users_online'
]);
krsort
(
$context
[
'list_users_online'
]);
ksort
(
$context
[
'online_groups'
]);
$context
[
'num_users_online'
] =
count
(
$context
[
'users_online'
]) +
$context
[
'num_users_hidden'
];
// Load the users online today.
$date
= @
getdate
(
forum_time
(
false
));
$midnight
=
mktime
(
0
,
0
,
0
,
$date
[
'mon'
],
$date
[
'mday'
],
$date
[
'year'
]) - (
$modSettings
[
'time_offset'
] *
3600
);
$s
=
strpos
(
$user_info
[
'time_format'
],
'%S'
) ===
false
?
''
:
':%S'
;
if (
strpos
(
$user_info
[
'time_format'
],
'%H'
) ===
false
&&
strpos
(
$user_info
[
'time_format'
],
'%T'
) ===
false
)
$time_fmt
=
'%I:%M'
.
$s
.
' %p'
;
else
$time_fmt
=
'%H:%M'
.
$s
;
$result
=
db_query
(
"
SELECT
mem.ID_MEMBER, mem.lastLogin, mem.realName, mem.memberName, mem.showOnline,
mg.onlineColor, mg.ID_GROUP, mg.groupName
FROM {$db_prefix}members AS mem
LEFT JOIN {$db_prefix}membergroups AS mg ON (mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP)) WHERE mem.lastLogin >= $midnight"
,
__FILE__
,
__LINE__
);
$context
[
'num_hidden_users_online_today'
] =
0
;
$context
[
'users_online_today'
] = array();
$context
[
'list_users_online_today'
] = array();
while (
$row
=
mysql_fetch_assoc
(
$result
))
{
if (empty(
$row
[
'showOnline'
]))
{
$context
[
'num_hidden_users_online_today'
] =
$context
[
'num_hidden_users_online_today'
] +
1
;
if (!
$user_info
[
'is_admin'
]) continue;
}
$userday
=
strftime
(
'%d'
,
forum_time
(
true
));
$loginday
=
strftime
(
'%d'
,
forum_time
(
true
,
$row
[
'lastLogin'
]));
$yesterday
=
$userday
==
$loginday
?
''
:
$txt
[
'uot_yesterday'
];
$lastLogin
=
$yesterday
.
strftime
(
$time_fmt
,
forum_time
(
true
,
$row
[
'lastLogin'
]));
$title
=
' title="'
.
$lastLogin
.
'"'
;
// Some basic color coding...
if (!empty(
$row
[
'onlineColor'
]))
$link
=
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
] .
'"'
.
$title
.
' style="color: '
.
$row
[
'onlineColor'
] .
';">'
.
$row
[
'realName'
] .
'</a>'
;
else
$link
=
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
] .
'"'
.
$title
.
'>'
.
$row
[
'realName'
] .
'</a>'
;
$is_buddy
=
in_array
(
$row
[
'ID_MEMBER'
],
$user_info
[
'buddies'
]);
if (
$is_buddy
)
{
$link
=
'<b>'
.
$link
.
'</b>'
;
}
$context
[
'users_online_today'
][
$row
[
'lastLogin'
] .
$row
[
'memberName'
]] = array(
'id'
=>
$row
[
'ID_MEMBER'
],
'username'
=>
$row
[
'memberName'
],
'name'
=>
$row
[
'realName'
],
'group'
=>
$row
[
'ID_GROUP'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
],
'link'
=>
$link
,
'is_buddy'
=>
$is_buddy
,
'hidden'
=> empty(
$row
[
'showOnline'
]),
);
$context
[
'list_users_online_today'
][
$row
[
'lastLogin'
] .
$row
[
'memberName'
]] = empty(
$row
[
'showOnline'
]) ?
'<i>'
.
$link
.
'</i>'
:
$link
;
}
mysql_free_result
(
$result
);
krsort
(
$context
[
'users_online_today'
]);
krsort
(
$context
[
'list_users_online_today'
]);
$context
[
'num_users_online_today'
] =
count
(
$context
[
'users_online_today'
]);
if (!
$user_info
[
'is_admin'
])
{
$context
[
'num_users_online_today'
] =
$context
[
'num_users_online_today'
] +
$context
[
'num_hidden_users_online_today'
];
}
// Track most online statistics?
if (!empty(
$modSettings
[
'trackStats'
]))
{
// Determine the most users online - both all time and per day.
$total_users
=
$context
[
'num_guests'
] +
$context
[
'num_users_online'
];
// More members on now than ever were? Update it!
if (!isset(
$modSettings
[
'mostOnline'
]) ||
$total_users
>=
$modSettings
[
'mostOnline'
])
updateSettings
(array(
'mostOnline'
=>
$total_users
,
'mostDate'
=>
time
()));
$date
=
strftime
(
'%Y-%m-%d'
,
forum_time
(
false
));
// One or more stats are not up-to-date?
if (!isset(
$modSettings
[
'mostOnlineUpdated'
]) ||
$modSettings
[
'mostOnlineUpdated'
] !=
$date
)
{
$request
=
db_query
(
"
SELECT mostOn
FROM {$db_prefix}log_activity
WHERE date = '$date'
LIMIT 1"
,
__FILE__
,
__LINE__
);
// The log_activity hasn't got an entry for today?
if (
mysql_num_rows
(
$request
) ==
0
)
{
db_query
(
"
INSERT IGNORE INTO {$db_prefix}log_activity
(date, mostOn)
VALUES ('$date', $total_users)"
,
__FILE__
,
__LINE__
);
}
// There's an entry in log_activity on today...
else
{
list (
$modSettings
[
'mostOnlineToday'
]) =
mysql_fetch_row
(
$request
);
if (
$total_users
>
$modSettings
[
'mostOnlineToday'
])
trackStats
(array(
'mostOn'
=>
$total_users
));
$total_users
=
max
(
$total_users
,
$modSettings
[
'mostOnlineToday'
]);
}
mysql_free_result
(
$request
);
updateSettings
(array(
'mostOnlineUpdated'
=>
$date
,
'mostOnlineToday'
=>
$total_users
));
}
// Highest number of users online today?
elseif (
$total_users
>
$modSettings
[
'mostOnlineToday'
])
{
trackStats
(array(
'mostOn'
=>
$total_users
));
updateSettings
(array(
'mostOnlineUpdated'
=>
$date
,
'mostOnlineToday'
=>
$total_users
));
}
}
// Set the latest member.
$context
[
'latest_member'
] = &
$context
[
'common_stats'
][
'latest_member'
];
// Load the most recent post?
if ((!empty(
$settings
[
'number_recent_posts'
]) &&
$settings
[
'number_recent_posts'
] ==
1
) ||
$settings
[
'show_sp1_info'
])
$context
[
'latest_post'
] =
$most_recent_topic
[
'ref'
];
if (!empty(
$settings
[
'number_recent_posts'
]) &&
$settings
[
'number_recent_posts'
] >
1
)
{
require_once(
$sourcedir
.
'/Recent.php'
);
if ((
$context
[
'latest_posts'
] =
cache_get_data
(
'boardindex-latest_posts:'
.
md5
(
$user_info
[
'query_see_board'
] .
$user_info
[
'language'
]),
180
)) ==
null
)
{
$context
[
'latest_posts'
] =
getLastPosts
(
$settings
[
'number_recent_posts'
]);
cache_put_data
(
'boardindex-latest_posts:'
.
md5
(
$user_info
[
'query_see_board'
] .
$user_info
[
'language'
]),
$context
[
'latest_posts'
],
180
);
}
// We have to clean up the cached data a bit.
else
{
foreach (
$context
[
'latest_posts'
] as
$k
=>
$post
)
{
$context
[
'latest_posts'
][
$k
][
'time'
] =
timeformat
(
$post
[
'raw_timestamp'
]);
$context
[
'latest_posts'
][
$k
][
'timestamp'
] =
forum_time
(
true
,
$post
[
'raw_timestamp'
]);
}
}
}
$settings
[
'display_recent_bar'
] = !empty(
$settings
[
'number_recent_posts'
]) ?
$settings
[
'number_recent_posts'
] :
0
;
$settings
[
'show_member_bar'
] &=
allowedTo
(
'view_mlist'
);
$context
[
'show_stats'
] =
allowedTo
(
'view_stats'
) && !empty(
$modSettings
[
'trackStats'
]);
$context
[
'show_member_list'
] =
allowedTo
(
'view_mlist'
);
$context
[
'show_who'
] =
allowedTo
(
'who_view'
) && !empty(
$modSettings
[
'who_enabled'
]);
// Set some permission related settings.
$context
[
'show_login_bar'
] =
$user_info
[
'is_guest'
] && empty(
$modSettings
[
'enableVBStyleLogin'
]);
$context
[
'show_calendar'
] =
allowedTo
(
'calendar_view'
) && !empty(
$modSettings
[
'cal_enabled'
]);
// Load the calendar?
if (
$context
[
'show_calendar'
])
$context
[
'show_calendar'
] =
calendarDoIndex
();
$context
[
'page_title'
] =
$txt
[
18
];
}
// Called from the BoardIndex to display the current day's events on the board index.
function
calendarDoIndex
()
{
global
$modSettings
,
$context
,
$user_info
,
$scripturl
,
$sc
,
$ID_MEMBER
;
// Make sure at least one of the options is checked.
if (empty(
$modSettings
[
'cal_showeventsonindex'
]) && empty(
$modSettings
[
'cal_showbdaysonindex'
]) && empty(
$modSettings
[
'cal_showholidaysonindex'
]))
return
false
;
// Get the current forum time and check whether the statistics are up to date.
if (empty(
$modSettings
[
'cal_today_updated'
]) ||
$modSettings
[
'cal_today_updated'
] !=
strftime
(
'%Y%m%d'
,
forum_time
(
false
)))
updateStats
(
'calendar'
);
// Load the holidays for today, ...
if (!empty(
$modSettings
[
'cal_showholidaysonindex'
]) && isset(
$modSettings
[
'cal_today_holiday'
]))
$holidays
=
unserialize
(
$modSettings
[
'cal_today_holiday'
]);
// ... the birthdays for today, ...
if (!empty(
$modSettings
[
'cal_showbdaysonindex'
]) && isset(
$modSettings
[
'cal_today_birthday'
]))
$bday
=
unserialize
(
$modSettings
[
'cal_today_birthday'
]);
// ... and the events for today.
if (!empty(
$modSettings
[
'cal_showeventsonindex'
]) && isset(
$modSettings
[
'cal_today_event'
]))
$events
=
unserialize
(
$modSettings
[
'cal_today_event'
]);
// No events, birthdays, or holidays... don't show anything. Simple.
if (empty(
$holidays
) && empty(
$bday
) && empty(
$events
))
return
false
;
// This shouldn't be less than one!
if (empty(
$modSettings
[
'cal_days_for_index'
]) ||
$modSettings
[
'cal_days_for_index'
] <
1
)
$days_for_index
=
86400
;
else
$days_for_index
=
$modSettings
[
'cal_days_for_index'
] *
86400
;
$context
[
'calendar_only_today'
] =
$modSettings
[
'cal_days_for_index'
] ==
1
;
// Get the current member time/date.
$now
=
forum_time
();
// This is used to show the "how-do-I-edit" help.
$context
[
'calendar_can_edit'
] =
allowedTo
(
'calendar_edit_any'
);
// Holidays between now and now + days.
$context
[
'calendar_holidays'
] = array();
for (
$i
=
$now
;
$i
<
$now
+
$days_for_index
;
$i
+=
86400
)
{
if (isset(
$holidays
[
strftime
(
'%Y-%m-%d'
,
$i
)]))
$context
[
'calendar_holidays'
] =
array_merge
(
$context
[
'calendar_holidays'
],
$holidays
[
strftime
(
'%Y-%m-%d'
,
$i
)]);
}
// Happy Birthday, guys and gals!
$context
[
'calendar_birthdays'
] = array();
for (
$i
=
$now
;
$i
<
$now
+
$days_for_index
;
$i
+=
86400
)
if (isset(
$bday
[
strftime
(
'%Y-%m-%d'
,
$i
)]))
{
foreach (
$bday
[
strftime
(
'%Y-%m-%d'
,
$i
)] as
$index
=>
$dummy
)
$bday
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$index
][
'is_today'
] =
strftime
(
'%Y-%m-%d'
,
$i
) ==
strftime
(
'%Y-%m-%d'
,
forum_time
());
$context
[
'calendar_birthdays'
] =
array_merge
(
$context
[
'calendar_birthdays'
],
$bday
[
strftime
(
'%Y-%m-%d'
,
$i
)]);
}
$context
[
'calendar_events'
] = array();
$duplicates
= array();
for (
$i
=
$now
;
$i
<
$now
+
$days_for_index
;
$i
+=
86400
)
{
if (empty(
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)]))
continue;
foreach (
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)] as
$ev
=>
$event
)
{
if (empty(
$event
[
'topic'
]) || (
count
(
array_intersect
(
$user_info
[
'groups'
],
$event
[
'allowed_groups'
])) !=
0
||
allowedTo
(
'admin_forum'
)))
{
if (isset(
$duplicates
[
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
][
'topic'
] .
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
][
'title'
]]))
{
unset(
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
]);
continue;
}
$this_event
= &
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
];
$this_event
[
'href'
] =
$this_event
[
'topic'
] ==
0
?
''
:
$scripturl
.
'?topic='
.
$this_event
[
'topic'
] .
'.0'
;
$this_event
[
'modify_href'
] =
$scripturl
.
'?action='
. (
$this_event
[
'topic'
] ==
0
?
'calendar;sa=post;'
:
'post;msg='
.
$this_event
[
'msg'
] .
';topic='
.
$this_event
[
'topic'
] .
'.0;calendar;'
) .
'eventid='
.
$this_event
[
'id'
] .
';sesc='
.
$sc
;
$this_event
[
'can_edit'
] =
allowedTo
(
'calendar_edit_any'
) || (
$this_event
[
'poster'
] ==
$ID_MEMBER
&&
allowedTo
(
'calendar_edit_own'
));
$this_event
[
'is_today'
] = (
strftime
(
'%Y-%m-%d'
,
$i
)) ==
strftime
(
'%Y-%m-%d'
,
forum_time
());
$this_event
[
'date'
] =
strftime
(
'%Y-%m-%d'
,
$i
);
$duplicates
[
$this_event
[
'topic'
] .
$this_event
[
'title'
]] =
true
;
}
else
unset(
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
]);
}
if (!empty(
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)]))
$context
[
'calendar_events'
] =
array_merge
(
$context
[
'calendar_events'
],
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)]);
}
for (
$i
=
0
,
$n
=
count
(
$context
[
'calendar_birthdays'
]);
$i
<
$n
;
$i
++)
$context
[
'calendar_birthdays'
][
$i
][
'is_last'
] = !isset(
$context
[
'calendar_birthdays'
][
$i
+
1
]);
for (
$i
=
0
,
$n
=
count
(
$context
[
'calendar_events'
]);
$i
<
$n
;
$i
++)
$context
[
'calendar_events'
][
$i
][
'is_last'
] = !isset(
$context
[
'calendar_events'
][
$i
+
1
]);
// This is used to make sure the header should be displayed.
return !empty(
$context
[
'calendar_holidays'
]) || !empty(
$context
[
'calendar_birthdays'
]) || !empty(
$context
[
'calendar_events'
]);
}
?>
Kayıtlı
cakal93
Ziyaretçi
Ynt: Kimler Online - Alfabetik Sıralama
«
Yanıtla #6 :
Şubat 03, 2007, 11:42:24 ÖÖ »
Kod:
<?php
/******************************************************************************
* BoardIndex.php *
*******************************************************************************
* SMF: Simple Machines Forum *
* Open-Source Project Inspired by Zef Hemel (zef@zefhemel.com) *
* =========================================================================== *
* Software Version: SMF 1.1 RC3 *
* Software by: Simple Machines (http://www.simplemachines.org) *
* Copyright 2001-2006 by: Lewis Media (http://www.lewismedia.com) *
* Support, News, Updates at: http://www.simplemachines.org *
*******************************************************************************
* This program is free software; you may redistribute it and/or modify it *
* under the terms of the provided license as published by Lewis Media. *
* *
* This program is distributed in the hope that it is and will be useful, *
* but WITHOUT ANY WARRANTIES; without even any implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
* See the "license.txt" file for details of the Simple Machines license. *
* The latest version can always be found at http://www.simplemachines.org. *
******************************************************************************/
if (!
defined
(
'SMF'
))
die(
'Hacking attempt...'
);
/*
The single function this file contains is used to display the main
board index. It uses just the following functions:
void BoardIndex()
- shows the board index.
- uses the BoardIndex template, and main sub template.
- may use the boardindex subtemplate for wireless support.
- updates the most online statistics.
- is accessed by ?action=boardindex.
bool calendarDoIndex()
- prepares the calendar data for the board index.
- takes care of caching it for speed.
- depends upon these settings: cal_showeventsonindex,
cal_showbdaysonindex, cal_showholidaysonindex.
- returns whether there is anything to display.
*/
// Show the board index!
function
BoardIndex
()
{
global
$txt
,
$scripturl
,
$db_prefix
,
$ID_MEMBER
,
$user_info
,
$sourcedir
;
global
$modSettings
,
$context
,
$settings
;
// For wireless, we use the Wireless template...
if (
WIRELESS
)
$context
[
'sub_template'
] =
WIRELESS_PROTOCOL
.
'_boardindex'
;
else
loadTemplate
(
'BoardIndex'
);
// Remember the most recent topic for optimizing the recent posts feature.
$most_recent_topic
= array(
'timestamp'
=>
0
,
'ref'
=>
null
);
// Board Viewers - by HarzeM
$board_viewers
= array();
if (!empty(
$settings
[
'display_who_viewing'
]))
{
// get the users that are on some boards :)
$request
=
db_query
(
"
SELECT session, url
FROM {$db_prefix}log_online
WHERE INSTR(url, 's:5:\"board\";i:')"
,
__FILE__
,
__LINE__
);
// for each user ...
while(
$row
=
mysql_fetch_assoc
(
$request
))
{
// no user ?! useless forum!
if (empty(
$row
[
'session'
]))
continue;
// a second check on the user, if it is in some board
$bw_poss
=
strpos
(
$row
[
'url'
],
's:5:"board";i:'
);
if (
$bw_poss
===
false
) continue;
// found someone inside! try to get the end of the board number
$bw_pose
=
strpos
(
$row
[
'url'
],
';'
,
$bw_poss
+
14
);
// extract the board number, and add to board viewers
if(!isset(
$board_viewers
[
substr
(
$row
[
'url'
],
$bw_poss
+
14
,
$bw_pose
-
$bw_poss
-
14
)]))
$board_viewers
[
substr
(
$row
[
'url'
],
$bw_poss
+
14
,
$bw_pose
-
$bw_poss
-
14
)] =
0
;
$board_viewers
[
substr
(
$row
[
'url'
],
$bw_poss
+
14
,
$bw_pose
-
$bw_poss
-
14
)]++;
}
// thanks.
mysql_free_result
(
$request
);
}
// Statistics such as number of boards, categories, etc. by rallyproco
$result
=
db_query
(
"
SELECT COUNT(b.ID_BOARD)
FROM {$db_prefix}boards AS b"
,
__FILE__
,
__LINE__
);
list (
$context
[
'num_boards'
]) =
mysql_fetch_row
(
$result
);
mysql_free_result
(
$result
);
$result
=
db_query
(
"
SELECT COUNT(c.ID_CAT)
FROM {$db_prefix}categories AS c"
,
__FILE__
,
__LINE__
);
list (
$context
[
'num_categories'
]) =
mysql_fetch_row
(
$result
);
mysql_free_result
(
$result
);
$context
[
'num_members'
] = &
$modSettings
[
'totalMembers'
];
$context
[
'num_posts'
] = &
$modSettings
[
'totalMessages'
];
$context
[
'num_topics'
] = &
$modSettings
[
'totalTopics'
];
$context
[
'most_members_online'
] = array(
'number'
=> &
$modSettings
[
'mostOnline'
],
'date'
=>
timeformat
(
$modSettings
[
'mostDate'
])
);
$context
[
'latest_member'
] = &
$context
[
'common_stats'
][
'latest_member'
];
// Poster top 10.
$members_result
=
db_query
(
"
SELECT ID_MEMBER, realName, posts
FROM {$db_prefix}members
ORDER BY posts DESC
LIMIT 10"
,
__FILE__
,
__LINE__
);
$context
[
'top_posters'
] = array();
$max_num_posts
=
1
;
while (
$row_members
=
mysql_fetch_assoc
(
$members_result
))
{
$context
[
'top_posters'
][] = array(
'name'
=>
$row_members
[
'realName'
],
'id'
=>
$row_members
[
'ID_MEMBER'
],
'num_posts'
=>
$row_members
[
'posts'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
],
'link'
=>
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
] .
'"><img src="http://www.forum03.net/forum/Themes/BB_Lack/images/icons/kullanici.gif">'
.
$row_members
[
'realName'
] .
'</a>'
);
if (!empty(
$modSettings
[
'MemberColorStats'
]))
$MemberColor_ID_MEMBER
[
$row_members
[
'ID_MEMBER'
]] =
$row_members
[
'ID_MEMBER'
];
if (
$max_num_posts
<
$row_members
[
'posts'
])
$max_num_posts
=
$row_members
[
'posts'
];
}
mysql_free_result
(
$members_result
);
foreach (
$context
[
'top_posters'
] as
$i
=>
$poster
)
$context
[
'top_posters'
][
$i
][
'post_percent'
] =
round
((
$poster
[
'num_posts'
] *
100
) /
$max_num_posts
);
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
]))
$MemberColor_ID_MEMBER
[
$modSettings
[
'latestMember'
]] =
$modSettings
[
'latestMember'
];
//Yeah baby give me some colors =).
if (!empty(
$MemberColor_ID_MEMBER
)) {
//Now Load the Missing global :)
global
$user_profile
;
loadMemberData
(
$MemberColor_ID_MEMBER
);
$cmemcolid
=
NULL
;
if (!empty(
$modSettings
[
'MemberColorStats'
])) {
// Poster top 10.
foreach(
$context
[
'top_posters'
] as
$key
=>
$value
) {
$cmemcolid
=
$context
[
'top_posters'
][
$key
][
'id'
];
$profile
= &
$user_profile
[
$cmemcolid
];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'top_posters'
][
$key
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><img src="http://www.forum03.net/forum/Themes/BB_Lack/images/icons/kullanici.gif"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
])) {
$profile
= &
$user_profile
[
$modSettings
[
'latestMember'
]];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'latest_member'
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
// yeni uyeler. by rallyproco
$members_result
=
db_query
(
"
SELECT ID_MEMBER, realName, posts
FROM {$db_prefix}members
ORDER BY ID_MEMBER DESC
LIMIT 10"
,
__FILE__
,
__LINE__
);
$context
[
'yeniuyeler'
] = array();
$max_num_posts
=
1
;
while (
$row_members
=
mysql_fetch_assoc
(
$members_result
))
{
$context
[
'yeniuyeler'
][] = array(
'name'
=>
$row_members
[
'realName'
],
'id'
=>
$row_members
[
'ID_MEMBER'
],
'num_posts'
=>
$row_members
[
'posts'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
],
'link'
=>
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
] .
'"><img src="http://forum03.net/forum/Themes/BB_Lack/images/icons/kullanici.gif">'
.
$row_members
[
'realName'
] .
'</a>'
);
if (!empty(
$modSettings
[
'MemberColorStats'
]))
$MemberColor_ID_MEMBER
[
$row_members
[
'ID_MEMBER'
]] =
$row_members
[
'ID_MEMBER'
];
if (
$max_num_posts
<
$row_members
[
'posts'
])
$max_num_posts
=
$row_members
[
'posts'
];
}
mysql_free_result
(
$members_result
);
foreach (
$context
[
'yeniuyeler'
] as
$i
=>
$poster
)
$context
[
'yeniuyeler'
][
$i
][
'post_percent'
] =
round
((
$poster
[
'num_posts'
] *
100
) /
$max_num_posts
);
//Yeah baby give me some colors =).
if (!empty(
$MemberColor_ID_MEMBER
)) {
//Now Load the Missing global :)
global
$user_profile
;
loadMemberData
(
$MemberColor_ID_MEMBER
);
$cmemcolid
=
NULL
;
if (!empty(
$modSettings
[
'MemberColorStats'
])) {
// repkarma
foreach(
$context
[
'yeniuyeler'
] as
$key
=>
$value
) {
$cmemcolid
=
$context
[
'yeniuyeler'
][
$key
][
'id'
];
$profile
= &
$user_profile
[
$cmemcolid
];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'yeniuyeler'
][
$key
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
])) {
$profile
= &
$user_profile
[
$modSettings
[
'latestMember'
]];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'latest_member'
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
// repkarma top 10. by rallyproco
$members_result
=
db_query
(
"
SELECT ID_MEMBER, realName, posts , karmaGood
FROM {$db_prefix}members
ORDER BY karmaGood DESC
LIMIT 10"
,
__FILE__
,
__LINE__
);
$context
[
'repkarma'
] = array();
$max_num_posts
=
1
;
while (
$row_members
=
mysql_fetch_assoc
(
$members_result
))
{
$context
[
'repkarma'
][] = array(
'name'
=>
$row_members
[
'realName'
],
'id'
=>
$row_members
[
'ID_MEMBER'
],
'karma'
=>
$row_members
[
'karmaGood'
],
'num_posts'
=>
$row_members
[
'posts'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
],
'link'
=>
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_members
[
'ID_MEMBER'
] .
'">'
.
$row_members
[
'realName'
] .
'</a>'
);
if (!empty(
$modSettings
[
'MemberColorStats'
]))
$MemberColor_ID_MEMBER
[
$row_members
[
'ID_MEMBER'
]] =
$row_members
[
'ID_MEMBER'
];
if (
$max_num_posts
<
$row_members
[
'posts'
])
$max_num_posts
=
$row_members
[
'posts'
];
}
mysql_free_result
(
$members_result
);
foreach (
$context
[
'repkarma'
] as
$i
=>
$poster
)
$context
[
'repkarma'
][
$i
][
'post_percent'
] =
round
((
$poster
[
'num_posts'
] *
100
) /
$max_num_posts
);
//Yeah baby give me some colors =).
if (!empty(
$MemberColor_ID_MEMBER
)) {
//Now Load the Missing global :)
global
$user_profile
;
loadMemberData
(
$MemberColor_ID_MEMBER
);
$cmemcolid
=
NULL
;
if (!empty(
$modSettings
[
'MemberColorStats'
])) {
// repkarma
foreach(
$context
[
'repkarma'
] as
$key
=>
$value
) {
$cmemcolid
=
$context
[
'repkarma'
][
$key
][
'id'
];
$profile
= &
$user_profile
[
$cmemcolid
];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'repkarma'
][
$key
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
])) {
$profile
= &
$user_profile
[
$modSettings
[
'latestMember'
]];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'latest_member'
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
// Topic views top 10.
$topic_view_result
=
db_query
(
"
SELECT m.subject, t.numViews, t.ID_BOARD, t.ID_TOPIC, b.name
FROM ({$db_prefix}topics AS t, {$db_prefix}messages AS m, {$db_prefix}boards AS b)
WHERE m.ID_MSG = t.ID_FIRST_MSG
AND $user_info[query_see_board]"
. (!empty(
$modSettings
[
'recycle_enable'
]) &&
$modSettings
[
'recycle_board'
] >
0
?
"
AND b.ID_BOARD != $modSettings[recycle_board]"
:
''
) .
"
AND t.ID_BOARD = b.ID_BOARD"
. (!empty(
$topic_ids
) ?
"
AND t.ID_TOPIC IN ("
.
implode
(
', '
,
$topic_ids
) .
")"
:
''
) .
"
ORDER BY t.numViews DESC
LIMIT 10"
,
__FILE__
,
__LINE__
);
$context
[
'top_topics_views'
] = array();
$max_num_views
=
1
;
while (
$row_topic_views
=
mysql_fetch_assoc
(
$topic_view_result
))
{
censorText
(
$row_topic_views
[
'subject'
]);
$row_topic_views
[
'subject'
] =
shorten_subject
(
$row_topic_views
[
'subject'
],
22
);
$context
[
'top_topics_views'
][] = array(
'id'
=>
$row_topic_views
[
'ID_TOPIC'
],
'board'
=> array(
'id'
=>
$row_topic_views
[
'ID_BOARD'
],
'name'
=>
$row_topic_views
[
'name'
],
'href'
=>
$scripturl
.
'?board='
.
$row_topic_views
[
'ID_BOARD'
] .
'.0'
,
'link'
=>
'<a href="'
.
$scripturl
.
'?board='
.
$row_topic_views
[
'ID_BOARD'
] .
'.0">'
.
$row_topic_views
[
'name'
] .
'</a>'
),
'subject'
=>
$row_topic_views
[
'shorten_subject'
],
'num_views'
=>
$row_topic_views
[
'numViews'
],
'href'
=>
$scripturl
.
'?topic='
.
$row_topic_views
[
'ID_TOPIC'
] .
'.0'
,
'link'
=>
'<a href="'
.
$scripturl
.
'?topic='
.
$row_topic_views
[
'ID_TOPIC'
] .
'.0">'
.
$row_topic_views
[
'subject'
] .
'</a>'
);
if (
$max_num_views
<
$row_topic_views
[
'numViews'
])
$max_num_views
=
$row_topic_views
[
'numViews'
];
}
mysql_free_result
(
$topic_view_result
);
foreach (
$context
[
'top_topics_views'
] as
$i
=>
$topic
)
$context
[
'top_topics_views'
][
$i
][
'post_percent'
] =
round
((
$topic
[
'num_views'
] *
100
) /
$max_num_views
);
// Find all boards and categories, as well as related information. This will be sorted by the natural order of boards and categories, which we control.
$result_boards
=
db_query
(
"
SELECT
c.name AS catName, c.ID_CAT, b.ID_BOARD, b.name AS boardName, b.description,
b.numPosts, b.numTopics, b.ID_PARENT, IFNULL(m.posterTime, 0) AS posterTime,
IFNULL(mem.memberName, m.posterName) AS posterName, m.subject, m.ID_TOPIC,
IFNULL(mem.realName, m.posterName) AS realName,"
. (
$user_info
[
'is_guest'
] ?
"
1 AS isRead, 0 AS new_from"
:
"
(IFNULL(lb.ID_MSG, 0) >= b.ID_MSG_UPDATED) AS isRead, IFNULL(lb.ID_MSG, -1) + 1 AS new_from,
c.canCollapse, IFNULL(cc.ID_MEMBER, 0) AS isCollapsed"
) .
",
IFNULL(mem.ID_MEMBER, 0) AS ID_MEMBER, m.ID_MSG,
IFNULL(mods_mem.ID_MEMBER, 0) AS ID_MODERATOR, mods_mem.realName AS modRealName, m.icon
FROM {$db_prefix}boards AS b
LEFT JOIN {$db_prefix}categories AS c ON (c.ID_CAT = b.ID_CAT)
LEFT JOIN {$db_prefix}messages AS m ON (m.ID_MSG = b.ID_LAST_MSG)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)"
. (!
$user_info
[
'is_guest'
] ?
"
LEFT JOIN {$db_prefix}log_boards AS lb ON (lb.ID_BOARD = b.ID_BOARD AND lb.ID_MEMBER = $ID_MEMBER)
LEFT JOIN {$db_prefix}collapsed_categories AS cc ON (cc.ID_CAT = c.ID_CAT AND cc.ID_MEMBER = $ID_MEMBER)"
:
''
) .
"
LEFT JOIN {$db_prefix}moderators AS mods ON (mods.ID_BOARD = b.ID_BOARD)
LEFT JOIN {$db_prefix}members AS mods_mem ON (mods_mem.ID_MEMBER = mods.ID_MEMBER)
WHERE $user_info[query_see_board]"
. (empty(
$modSettings
[
'countChildPosts'
]) ?
"
AND b.childLevel <= 1"
:
''
),
__FILE__
,
__LINE__
);
// Run through the categories and boards....
$context
[
'categories'
] = array();
while (
$row_board
=
mysql_fetch_assoc
(
$result_boards
))
{
// Haven't set this category yet.
if (empty(
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]]))
{
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]] = array(
'id'
=>
$row_board
[
'ID_CAT'
],
'name'
=>
$row_board
[
'catName'
],
'is_collapsed'
=> isset(
$row_board
[
'canCollapse'
]) &&
$row_board
[
'canCollapse'
] ==
1
&&
$row_board
[
'isCollapsed'
] >
0
,
'can_collapse'
=> isset(
$row_board
[
'canCollapse'
]) &&
$row_board
[
'canCollapse'
] ==
1
,
'collapse_href'
=> isset(
$row_board
[
'canCollapse'
]) ?
$scripturl
.
'?action=collapse;c='
.
$row_board
[
'ID_CAT'
] .
';sa='
. (
$row_board
[
'isCollapsed'
] >
0
?
'expand'
:
'collapse;'
) .
'#'
.
$row_board
[
'ID_CAT'
] :
''
,
'collapse_image'
=> isset(
$row_board
[
'canCollapse'
]) ?
'<img src="'
.
$settings
[
'images_url'
] .
'/'
. (
$row_board
[
'isCollapsed'
] >
0
?
'expand.gif" alt="+"'
:
'collapse.gif" alt="-"'
) .
' border="0" />'
:
''
,
'href'
=>
$scripturl
.
'#'
.
$row_board
[
'ID_CAT'
],
'boards'
=> array(),
'new'
=>
false
);
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'link'
] =
'<a name="'
.
$row_board
[
'ID_CAT'
] .
'" href="'
. (isset(
$row_board
[
'canCollapse'
]) ?
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'collapse_href'
] :
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'href'
]) .
'">'
.
$row_board
[
'catName'
] .
'</a>'
;
}
// If this board has new posts in it (and isn't the recycle bin!) then the category is new.
if (empty(
$modSettings
[
'recycle_enable'
]) ||
$modSettings
[
'recycle_board'
] !=
$row_board
[
'ID_BOARD'
])
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'new'
] |= empty(
$row_board
[
'isRead'
]) &&
$row_board
[
'posterName'
] !=
''
;
// Collapsed category - don't do any of this.
if (
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'is_collapsed'
])
continue;
// Let's save some typing. Climbing the array might be slower, anyhow.
$this_category
= &
$context
[
'categories'
][
$row_board
[
'ID_CAT'
]][
'boards'
];
// This is a parent board.
if (empty(
$row_board
[
'ID_PARENT'
]))
{
// Is this a new board, or just another moderator?
if (!isset(
$this_category
[
$row_board
[
'ID_BOARD'
]]))
{
// Not a child.
$isChild
=
false
;
$this_category
[
$row_board
[
'ID_BOARD'
]] = array(
'new'
=> empty(
$row_board
[
'isRead'
]),
'id'
=>
$row_board
[
'ID_BOARD'
],
'name'
=>
$row_board
[
'boardName'
],
'description'
=>
$row_board
[
'description'
],
'moderators'
=> array(),
'link_moderators'
=> array(),
'children'
=> array(),
'link_children'
=> array(),
'children_new'
=>
false
,
'topics'
=>
$row_board
[
'numTopics'
],
'posts'
=>
$row_board
[
'numPosts'
],
'viewers'
=> isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
,
// Board Viewers - by HarzeM
'href'
=>
$scripturl
.
'?board='
.
$row_board
[
'ID_BOARD'
] .
'.0'
,
'link'
=>
'<a href="'
.
$scripturl
.
'?board='
.
$row_board
[
'ID_BOARD'
] .
'.0">'
.
$row_board
[
'boardName'
] .
'</a>'
);
}
if (!empty(
$row_board
[
'ID_MODERATOR'
]))
{
$this_category
[
$row_board
[
'ID_BOARD'
]][
'moderators'
][
$row_board
[
'ID_MODERATOR'
]] = array(
'id'
=>
$row_board
[
'ID_MODERATOR'
],
'name'
=>
$row_board
[
'modRealName'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MODERATOR'
],
'link'
=>
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MODERATOR'
] .
'" title="'
.
$txt
[
62
] .
'">'
.
$row_board
[
'modRealName'
] .
'</a>'
);
$this_category
[
$row_board
[
'ID_BOARD'
]][
'link_moderators'
][] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MODERATOR'
] .
'" title="'
.
$txt
[
62
] .
'">'
.
$row_board
[
'modRealName'
] .
'</a>'
;
}
}
// Found a child board.... make sure we've found its parent and the child hasn't been set already.
elseif (isset(
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
]) && !isset(
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]]))
{
// A valid child!
$isChild
=
true
;
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]] = array(
'id'
=>
$row_board
[
'ID_BOARD'
],
'name'
=>
$row_board
[
'boardName'
],
'description'
=>
$row_board
[
'description'
],
'new'
=> empty(
$row_board
[
'isRead'
]) &&
$row_board
[
'posterName'
] !=
''
,
'topics'
=>
$row_board
[
'numTopics'
],
'posts'
=>
$row_board
[
'numPosts'
],
'viewers'
=> isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
,
// Board Viewers - by HarzeM
'href'
=>
$scripturl
.
'?board='
.
$row_board
[
'ID_BOARD'
] .
'.0'
,
'link'
=>
'<a href="'
.
$scripturl
.
'?board='
.
$row_board
[
'ID_BOARD'
] .
'.0">'
.
$row_board
[
'boardName'
] .
'</a>'
);
// Counting child board posts is... slow :/.
if (!empty(
$modSettings
[
'countChildPosts'
]))
{
$this_category
[
$row_board
[
'ID_PARENT'
]][
'posts'
] +=
$row_board
[
'numPosts'
];
$this_category
[
$row_board
[
'ID_PARENT'
]][
'topics'
] +=
$row_board
[
'numTopics'
];
$this_category
[
$row_board
[
'ID_PARENT'
]][
'viewers'
] += isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
;
// Board Viewers - by HarzeM
}
// Does this board contain new boards?
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children_new'
] |= empty(
$row_board
[
'isRead'
]);
// This is easier to use in many cases for the theme....
$this_category
[
$row_board
[
'ID_PARENT'
]][
'link_children'
][] = &
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]][
'link'
];
}
// Child of a child... just add it on...
elseif (!empty(
$modSettings
[
'countChildPosts'
]))
{
if (!isset(
$parent_map
))
$parent_map
= array();
if (!isset(
$parent_map
[
$row_board
[
'ID_PARENT'
]]))
foreach (
$this_category
as
$id
=>
$board
)
{
if (!isset(
$board
[
'children'
][
$row_board
[
'ID_PARENT'
]]))
continue;
$parent_map
[
$row_board
[
'ID_PARENT'
]] = array(&
$this_category
[
$id
], &
$this_category
[
$id
][
'children'
][
$row_board
[
'ID_PARENT'
]]);
$parent_map
[
$row_board
[
'ID_BOARD'
]] = array(&
$this_category
[
$id
], &
$this_category
[
$id
][
'children'
][
$row_board
[
'ID_PARENT'
]]);
break;
}
if (isset(
$parent_map
[
$row_board
[
'ID_PARENT'
]]))
{
$parent_map
[
$row_board
[
'ID_PARENT'
]][
0
][
'posts'
] +=
$row_board
[
'numPosts'
];
$parent_map
[
$row_board
[
'ID_PARENT'
]][
0
][
'topics'
] +=
$row_board
[
'numTopics'
];
$parent_map
[
$row_board
[
'ID_PARENT'
]][
0
][
'viewers'
] += isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
;
// Board Viewers - by HarzeM
$parent_map
[
$row_board
[
'ID_PARENT'
]][
1
][
'posts'
] +=
$row_board
[
'numPosts'
];
$parent_map
[
$row_board
[
'ID_PARENT'
]][
1
][
'topics'
] +=
$row_board
[
'numTopics'
];
$parent_map
[
$row_board
[
'ID_PARENT'
]][
1
][
'viewers'
] += isset(
$board_viewers
[
$row_board
[
'ID_BOARD'
]]) ?
$board_viewers
[
$row_board
[
'ID_BOARD'
]] :
0
;
// Board Viewers - by HarzeM
continue;
}
continue;
}
// Found a child of a child - skip.
else
continue;
// Prepare the subject, and make sure it's not too long.
censorText
(
$row_board
[
'subject'
]);
$row_board
[
'short_subject'
] =
shorten_subject
(
$row_board
[
'subject'
],
24
);
$this_last_post
= array(
'id'
=>
$row_board
[
'ID_MSG'
],
'time'
=>
$row_board
[
'posterTime'
] >
0
?
timeformat
(
$row_board
[
'posterTime'
]) :
$txt
[
470
],
'timestamp'
=>
forum_time
(
true
,
$row_board
[
'posterTime'
]),
'subject'
=>
$row_board
[
'short_subject'
],
'member'
=> array(
'id'
=>
$row_board
[
'ID_MEMBER'
],
'username'
=>
$row_board
[
'posterName'
] !=
''
?
$row_board
[
'posterName'
] :
$txt
[
470
],
'name'
=>
$row_board
[
'realName'
],
'href'
=>
$row_board
[
'posterName'
] !=
''
&& !empty(
$row_board
[
'ID_MEMBER'
]) ?
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MEMBER'
] :
''
,
'link'
=>
$row_board
[
'posterName'
] !=
''
? (!empty(
$row_board
[
'ID_MEMBER'
]) ?
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row_board
[
'ID_MEMBER'
] .
'">'
.
$row_board
[
'realName'
] .
'</a>'
:
$row_board
[
'realName'
]) :
$txt
[
470
],
),
'start'
=>
'msg'
.
$row_board
[
'new_from'
],
'topic'
=>
$row_board
[
'ID_TOPIC'
]
);
if (!empty(
$modSettings
[
'MemberColorBoardindex'
]) && !empty(
$row_board
[
'ID_MEMBER'
])) {
$MemberColor_ID_MEMBER
[
$row_board
[
'ID_MEMBER'
]] =
$row_board
[
'ID_MEMBER'
];
$MemberColor_board
[
$isChild
?
$row_board
[
'ID_PARENT'
] :
$row_board
[
'ID_BOARD'
]] = array(
'bid'
=> (
$isChild
?
$row_board
[
'ID_PARENT'
] :
$row_board
[
'ID_BOARD'
]),
'cat'
=>
$row_board
[
'ID_CAT'
]);
}
// Provide the href and link.
if (
$row_board
[
'subject'
] !=
''
)
{
$this_last_post
[
'href'
] =
$scripturl
.
'?topic='
.
$row_board
[
'ID_TOPIC'
] .
'.msg'
. (
$user_info
[
'is_guest'
] ?
$modSettings
[
'maxMsgID'
] :
$row_board
[
'new_from'
]) . (empty(
$row_board
[
'isRead'
]) ?
';boardseen'
:
''
) .
'#new'
;
$this_last_post
[
'link'
] =
'<a href="'
.
$this_last_post
[
'href'
] .
'" title="'
.
$row_board
[
'subject'
] .
'">'
.
$row_board
[
'short_subject'
] .
'</a>'
;
}
else
{
$this_last_post
[
'href'
] =
''
;
$this_last_post
[
'link'
] =
$txt
[
470
];
}
// Set the last post in the parent board.
if (empty(
$row_board
[
'ID_PARENT'
]) || (
$isChild
&& !empty(
$row_board
[
'posterTime'
]) &&
$this_category
[
$row_board
[
'ID_PARENT'
]][
'last_post'
][
'timestamp'
] <
forum_time
(
true
,
$row_board
[
'posterTime'
])))
$this_category
[
$isChild
?
$row_board
[
'ID_PARENT'
] :
$row_board
[
'ID_BOARD'
]][
'last_post'
] =
$this_last_post
;
// Just in the child...?
if (
$isChild
)
{
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]][
'last_post'
] =
$this_last_post
;
// If there are no posts in this board, it really can't be new...
$this_category
[
$row_board
[
'ID_PARENT'
]][
'children'
][
$row_board
[
'ID_BOARD'
]][
'new'
] &=
$row_board
[
'posterName'
] !=
''
;
}
// No last post for this board? It's not new then, is it..?
elseif (
$row_board
[
'posterName'
] ==
''
)
$this_category
[
$row_board
[
'ID_BOARD'
]][
'new'
] =
false
;
// Determine a global most recent topic.
if (!empty(
$row_board
[
'posterTime'
]) &&
forum_time
(
true
,
$row_board
[
'posterTime'
]) >
$most_recent_topic
[
'timestamp'
])
$most_recent_topic
= array(
'timestamp'
=>
forum_time
(
true
,
$row_board
[
'posterTime'
]),
'ref'
=> &
$this_category
[
$isChild
?
$row_board
[
'ID_PARENT'
] :
$row_board
[
'ID_BOARD'
]][
'last_post'
],
);
}
mysql_free_result
(
$result_boards
);
//The latest member?
if (!empty(
$modSettings
[
'latestMember'
]) && !empty(
$modSettings
[
'MemberColorLatestMember'
]))
$MemberColor_ID_MEMBER
[
$modSettings
[
'latestMember'
]] =
$modSettings
[
'latestMember'
];
// Know set the colors for the last post...
if (!empty(
$MemberColor_ID_MEMBER
)) {
//Now i can Load the Missing global :)
global
$user_profile
;
loadMemberData
(
$MemberColor_ID_MEMBER
);
$cmemcolid
=
NULL
;
//So the BoardIndex need colored links
if (!empty(
$modSettings
[
'MemberColorBoardindex'
]) && !empty(
$MemberColor_board
))
foreach(
$MemberColor_board
as
$boardid_memcolor
) {
$cmemcolid
=
$context
[
'categories'
][
$boardid_memcolor
[
'cat'
]][
'boards'
][
$boardid_memcolor
[
'bid'
]][
'last_post'
][
'member'
][
'id'
];
$profile
= &
$user_profile
[
$cmemcolid
];
if(!empty(
$profile
[
'member_group_color'
]) || !empty(
$profile
[
'post_group_color'
]))
$context
[
'categories'
][
$boardid_memcolor
[
'cat'
]][
'boards'
][
$boardid_memcolor
[
'bid'
]][
'last_post'
][
'member'
][
'link'
] =
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$profile
[
'ID_MEMBER'
] .
'" title="'
.
$txt
[
92
] .
' '
.
$profile
[
'realName'
] .
'"><font color="'
.(!empty(
$profile
[
'member_group_color'
]) ?
$profile
[
'member_group_color'
] :
$profile
[
'post_group_color'
]).
'">'
.
$profile
[
'realName'
] .
'</font></a>'
;
}
}
// Load the users online right now.
$result
=
db_query
(
"
SELECT
lo.ID_MEMBER, lo.logTime, mem.realName, mem.memberName, mem.showOnline,
mg.onlineColor, mg.ID_GROUP, mg.groupName
FROM {$db_prefix}log_online AS lo
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lo.ID_MEMBER)
LEFT JOIN {$db_prefix}membergroups AS mg ON (mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP))
ORDER BY mem.realName ASC"
,
__FILE__
,
__LINE__
);
$context
[
'users_online'
] = array();
$context
[
'list_users_online'
] = array();
$context
[
'online_groups'
] = array();
$context
[
'num_guests'
] =
0
;
$context
[
'num_buddies'
] =
0
;
$context
[
'num_users_hidden'
] =
0
;
$context
[
'show_buddies'
] = !empty(
$user_info
[
'buddies'
]);
while (
$row
=
mysql_fetch_assoc
(
$result
))
{
if (empty(
$row
[
'realName'
]))
{
$context
[
'num_guests'
]++;
continue;
}
elseif (empty(
$row
[
'showOnline'
]) && !
allowedTo
(
'moderate_forum'
))
{
$context
[
'num_users_hidden'
]++;
continue;
}
// Some basic color coding...
if (!empty(
$row
[
'onlineColor'
]))
$link
=
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
] .
'" style="color: '
.
$row
[
'onlineColor'
] .
';"><img src="http://forum03.net/forum/Themes/BB_Lack/images/icons/kullanici.gif">'
.
$row
[
'realName'
] .
'</a>'
;
else
$link
=
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
] .
'">'
.
$row
[
'realName'
] .
'</a>'
;
$is_buddy
=
in_array
(
$row
[
'ID_MEMBER'
],
$user_info
[
'buddies'
]);
if (
$is_buddy
)
{
$context
[
'num_buddies'
]++;
$link
=
'<b>'
.
$link
.
'</b>'
;
}
$context
[
'users_online'
][
$row
[
'logTime'
] .
$row
[
'memberName'
]] = array(
'id'
=>
$row
[
'ID_MEMBER'
],
'username'
=>
$row
[
'memberName'
],
'name'
=>
$row
[
'realName'
],
'group'
=>
$row
[
'ID_GROUP'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
],
'link'
=>
$link
,
'is_buddy'
=>
$is_buddy
,
'hidden'
=> empty(
$row
[
'showOnline'
]),
);
$context
[
'list_users_online'
][
$row
[
'logTime'
] .
$row
[
'memberName'
]] = empty(
$row
[
'showOnline'
]) ?
'<i>'
.
$link
.
'</i>'
:
$link
;
if (!isset(
$context
[
'online_groups'
][
$row
[
'ID_GROUP'
]]))
$context
[
'online_groups'
][
$row
[
'ID_GROUP'
]] = array(
'id'
=>
$row
[
'ID_GROUP'
],
'name'
=>
$row
[
'groupName'
],
'color'
=>
$row
[
'onlineColor'
]
);
}
mysql_free_result
(
$result
);
krsort
(
$context
[
'users_online'
]);
krsort
(
$context
[
'list_users_online'
]);
ksort
(
$context
[
'online_groups'
]);
$context
[
'num_users_online'
] =
count
(
$context
[
'users_online'
]) +
$context
[
'num_users_hidden'
];
// Load the users online today.
$date
= @
getdate
(
forum_time
(
false
));
$midnight
=
mktime
(
0
,
0
,
0
,
$date
[
'mon'
],
$date
[
'mday'
],
$date
[
'year'
]) - (
$modSettings
[
'time_offset'
] *
3600
);
$s
=
strpos
(
$user_info
[
'time_format'
],
'%S'
) ===
false
?
''
:
':%S'
;
if (
strpos
(
$user_info
[
'time_format'
],
'%H'
) ===
false
&&
strpos
(
$user_info
[
'time_format'
],
'%T'
) ===
false
)
$time_fmt
=
'%I:%M'
.
$s
.
' %p'
;
else
$time_fmt
=
'%H:%M'
.
$s
;
$result
=
db_query
(
"
SELECT
mem.ID_MEMBER, mem.lastLogin, mem.realName, mem.memberName, mem.showOnline,
mg.onlineColor, mg.ID_GROUP, mg.groupName
FROM {$db_prefix}members AS mem
LEFT JOIN {$db_prefix}membergroups AS mg ON (mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP)) WHERE mem.lastLogin >= $midnight"
,
__FILE__
,
__LINE__
);
$context
[
'num_hidden_users_online_today'
] =
0
;
$context
[
'users_online_today'
] = array();
$context
[
'list_users_online_today'
] = array();
while (
$row
=
mysql_fetch_assoc
(
$result
))
{
if (empty(
$row
[
'showOnline'
]))
{
$context
[
'num_hidden_users_online_today'
] =
$context
[
'num_hidden_users_online_today'
] +
1
;
if (!
$user_info
[
'is_admin'
]) continue;
}
$userday
=
strftime
(
'%d'
,
forum_time
(
true
));
$loginday
=
strftime
(
'%d'
,
forum_time
(
true
,
$row
[
'lastLogin'
]));
$yesterday
=
$userday
==
$loginday
?
''
:
$txt
[
'uot_yesterday'
];
$lastLogin
=
$yesterday
.
strftime
(
$time_fmt
,
forum_time
(
true
,
$row
[
'lastLogin'
]));
$title
=
' title="'
.
$lastLogin
.
'"'
;
// Some basic color coding...
if (!empty(
$row
[
'onlineColor'
]))
$link
=
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
] .
'"'
.
$title
.
' style="color: '
.
$row
[
'onlineColor'
] .
';">'
.
$row
[
'realName'
] .
'</a>'
;
else
$link
=
'<a href="'
.
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
] .
'"'
.
$title
.
'>'
.
$row
[
'realName'
] .
'</a>'
;
$is_buddy
=
in_array
(
$row
[
'ID_MEMBER'
],
$user_info
[
'buddies'
]);
if (
$is_buddy
)
{
$link
=
'<b>'
.
$link
.
'</b>'
;
}
$context
[
'users_online_today'
][
$row
[
'lastLogin'
] .
$row
[
'memberName'
]] = array(
'id'
=>
$row
[
'ID_MEMBER'
],
'username'
=>
$row
[
'memberName'
],
'name'
=>
$row
[
'realName'
],
'group'
=>
$row
[
'ID_GROUP'
],
'href'
=>
$scripturl
.
'?action=profile;u='
.
$row
[
'ID_MEMBER'
],
'link'
=>
$link
,
'is_buddy'
=>
$is_buddy
,
'hidden'
=> empty(
$row
[
'showOnline'
]),
);
$context
[
'list_users_online_today'
][
$row
[
'lastLogin'
] .
$row
[
'memberName'
]] = empty(
$row
[
'showOnline'
]) ?
'<i>'
.
$link
.
'</i>'
:
$link
;
}
mysql_free_result
(
$result
);
krsort
(
$context
[
'users_online_today'
]);
krsort
(
$context
[
'list_users_online_today'
]);
$context
[
'num_users_online_today'
] =
count
(
$context
[
'users_online_today'
]);
if (!
$user_info
[
'is_admin'
])
{
$context
[
'num_users_online_today'
] =
$context
[
'num_users_online_today'
] +
$context
[
'num_hidden_users_online_today'
];
}
// Track most online statistics?
if (!empty(
$modSettings
[
'trackStats'
]))
{
// Determine the most users online - both all time and per day.
$total_users
=
$context
[
'num_guests'
] +
$context
[
'num_users_online'
];
// More members on now than ever were? Update it!
if (!isset(
$modSettings
[
'mostOnline'
]) ||
$total_users
>=
$modSettings
[
'mostOnline'
])
updateSettings
(array(
'mostOnline'
=>
$total_users
,
'mostDate'
=>
time
()));
$date
=
strftime
(
'%Y-%m-%d'
,
forum_time
(
false
));
// One or more stats are not up-to-date?
if (!isset(
$modSettings
[
'mostOnlineUpdated'
]) ||
$modSettings
[
'mostOnlineUpdated'
] !=
$date
)
{
$request
=
db_query
(
"
SELECT mostOn
FROM {$db_prefix}log_activity
WHERE date = '$date'
LIMIT 1"
,
__FILE__
,
__LINE__
);
// The log_activity hasn't got an entry for today?
if (
mysql_num_rows
(
$request
) ==
0
)
{
db_query
(
"
INSERT IGNORE INTO {$db_prefix}log_activity
(date, mostOn)
VALUES ('$date', $total_users)"
,
__FILE__
,
__LINE__
);
}
// There's an entry in log_activity on today...
else
{
list (
$modSettings
[
'mostOnlineToday'
]) =
mysql_fetch_row
(
$request
);
if (
$total_users
>
$modSettings
[
'mostOnlineToday'
])
trackStats
(array(
'mostOn'
=>
$total_users
));
$total_users
=
max
(
$total_users
,
$modSettings
[
'mostOnlineToday'
]);
}
mysql_free_result
(
$request
);
updateSettings
(array(
'mostOnlineUpdated'
=>
$date
,
'mostOnlineToday'
=>
$total_users
));
}
// Highest number of users online today?
elseif (
$total_users
>
$modSettings
[
'mostOnlineToday'
])
{
trackStats
(array(
'mostOn'
=>
$total_users
));
updateSettings
(array(
'mostOnlineUpdated'
=>
$date
,
'mostOnlineToday'
=>
$total_users
));
}
}
// Set the latest member.
$context
[
'latest_member'
] = &
$context
[
'common_stats'
][
'latest_member'
];
// Load the most recent post?
if ((!empty(
$settings
[
'number_recent_posts'
]) &&
$settings
[
'number_recent_posts'
] ==
1
) ||
$settings
[
'show_sp1_info'
])
$context
[
'latest_post'
] =
$most_recent_topic
[
'ref'
];
if (!empty(
$settings
[
'number_recent_posts'
]) &&
$settings
[
'number_recent_posts'
] >
1
)
{
require_once(
$sourcedir
.
'/Recent.php'
);
if ((
$context
[
'latest_posts'
] =
cache_get_data
(
'boardindex-latest_posts:'
.
md5
(
$user_info
[
'query_see_board'
] .
$user_info
[
'language'
]),
180
)) ==
null
)
{
$context
[
'latest_posts'
] =
getLastPosts
(
$settings
[
'number_recent_posts'
]);
cache_put_data
(
'boardindex-latest_posts:'
.
md5
(
$user_info
[
'query_see_board'
] .
$user_info
[
'language'
]),
$context
[
'latest_posts'
],
180
);
}
// We have to clean up the cached data a bit.
else
{
foreach (
$context
[
'latest_posts'
] as
$k
=>
$post
)
{
$context
[
'latest_posts'
][
$k
][
'time'
] =
timeformat
(
$post
[
'raw_timestamp'
]);
$context
[
'latest_posts'
][
$k
][
'timestamp'
] =
forum_time
(
true
,
$post
[
'raw_timestamp'
]);
}
}
}
$settings
[
'display_recent_bar'
] = !empty(
$settings
[
'number_recent_posts'
]) ?
$settings
[
'number_recent_posts'
] :
0
;
$settings
[
'show_member_bar'
] &=
allowedTo
(
'view_mlist'
);
$context
[
'show_stats'
] =
allowedTo
(
'view_stats'
) && !empty(
$modSettings
[
'trackStats'
]);
$context
[
'show_member_list'
] =
allowedTo
(
'view_mlist'
);
$context
[
'show_who'
] =
allowedTo
(
'who_view'
) && !empty(
$modSettings
[
'who_enabled'
]);
// Set some permission related settings.
$context
[
'show_login_bar'
] =
$user_info
[
'is_guest'
] && empty(
$modSettings
[
'enableVBStyleLogin'
]);
$context
[
'show_calendar'
] =
allowedTo
(
'calendar_view'
) && !empty(
$modSettings
[
'cal_enabled'
]);
// Load the calendar?
if (
$context
[
'show_calendar'
])
$context
[
'show_calendar'
] =
calendarDoIndex
();
$context
[
'page_title'
] =
$txt
[
18
];
}
// Called from the BoardIndex to display the current day's events on the board index.
function
calendarDoIndex
()
{
global
$modSettings
,
$context
,
$user_info
,
$scripturl
,
$sc
,
$ID_MEMBER
;
// Make sure at least one of the options is checked.
if (empty(
$modSettings
[
'cal_showeventsonindex'
]) && empty(
$modSettings
[
'cal_showbdaysonindex'
]) && empty(
$modSettings
[
'cal_showholidaysonindex'
]))
return
false
;
// Get the current forum time and check whether the statistics are up to date.
if (empty(
$modSettings
[
'cal_today_updated'
]) ||
$modSettings
[
'cal_today_updated'
] !=
strftime
(
'%Y%m%d'
,
forum_time
(
false
)))
updateStats
(
'calendar'
);
// Load the holidays for today, ...
if (!empty(
$modSettings
[
'cal_showholidaysonindex'
]) && isset(
$modSettings
[
'cal_today_holiday'
]))
$holidays
=
unserialize
(
$modSettings
[
'cal_today_holiday'
]);
// ... the birthdays for today, ...
if (!empty(
$modSettings
[
'cal_showbdaysonindex'
]) && isset(
$modSettings
[
'cal_today_birthday'
]))
$bday
=
unserialize
(
$modSettings
[
'cal_today_birthday'
]);
// ... and the events for today.
if (!empty(
$modSettings
[
'cal_showeventsonindex'
]) && isset(
$modSettings
[
'cal_today_event'
]))
$events
=
unserialize
(
$modSettings
[
'cal_today_event'
]);
// No events, birthdays, or holidays... don't show anything. Simple.
if (empty(
$holidays
) && empty(
$bday
) && empty(
$events
))
return
false
;
// This shouldn't be less than one!
if (empty(
$modSettings
[
'cal_days_for_index'
]) ||
$modSettings
[
'cal_days_for_index'
] <
1
)
$days_for_index
=
86400
;
else
$days_for_index
=
$modSettings
[
'cal_days_for_index'
] *
86400
;
$context
[
'calendar_only_today'
] =
$modSettings
[
'cal_days_for_index'
] ==
1
;
// Get the current member time/date.
$now
=
forum_time
();
// This is used to show the "how-do-I-edit" help.
$context
[
'calendar_can_edit'
] =
allowedTo
(
'calendar_edit_any'
);
// Holidays between now and now + days.
$context
[
'calendar_holidays'
] = array();
for (
$i
=
$now
;
$i
<
$now
+
$days_for_index
;
$i
+=
86400
)
{
if (isset(
$holidays
[
strftime
(
'%Y-%m-%d'
,
$i
)]))
$context
[
'calendar_holidays'
] =
array_merge
(
$context
[
'calendar_holidays'
],
$holidays
[
strftime
(
'%Y-%m-%d'
,
$i
)]);
}
// Happy Birthday, guys and gals!
$context
[
'calendar_birthdays'
] = array();
for (
$i
=
$now
;
$i
<
$now
+
$days_for_index
;
$i
+=
86400
)
if (isset(
$bday
[
strftime
(
'%Y-%m-%d'
,
$i
)]))
{
foreach (
$bday
[
strftime
(
'%Y-%m-%d'
,
$i
)] as
$index
=>
$dummy
)
$bday
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$index
][
'is_today'
] =
strftime
(
'%Y-%m-%d'
,
$i
) ==
strftime
(
'%Y-%m-%d'
,
forum_time
());
$context
[
'calendar_birthdays'
] =
array_merge
(
$context
[
'calendar_birthdays'
],
$bday
[
strftime
(
'%Y-%m-%d'
,
$i
)]);
}
$context
[
'calendar_events'
] = array();
$duplicates
= array();
for (
$i
=
$now
;
$i
<
$now
+
$days_for_index
;
$i
+=
86400
)
{
if (empty(
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)]))
continue;
foreach (
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)] as
$ev
=>
$event
)
{
if (empty(
$event
[
'topic'
]) || (
count
(
array_intersect
(
$user_info
[
'groups'
],
$event
[
'allowed_groups'
])) !=
0
||
allowedTo
(
'admin_forum'
)))
{
if (isset(
$duplicates
[
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
][
'topic'
] .
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
][
'title'
]]))
{
unset(
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
]);
continue;
}
$this_event
= &
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
];
$this_event
[
'href'
] =
$this_event
[
'topic'
] ==
0
?
''
:
$scripturl
.
'?topic='
.
$this_event
[
'topic'
] .
'.0'
;
$this_event
[
'modify_href'
] =
$scripturl
.
'?action='
. (
$this_event
[
'topic'
] ==
0
?
'calendar;sa=post;'
:
'post;msg='
.
$this_event
[
'msg'
] .
';topic='
.
$this_event
[
'topic'
] .
'.0;calendar;'
) .
'eventid='
.
$this_event
[
'id'
] .
';sesc='
.
$sc
;
$this_event
[
'can_edit'
] =
allowedTo
(
'calendar_edit_any'
) || (
$this_event
[
'poster'
] ==
$ID_MEMBER
&&
allowedTo
(
'calendar_edit_own'
));
$this_event
[
'is_today'
] = (
strftime
(
'%Y-%m-%d'
,
$i
)) ==
strftime
(
'%Y-%m-%d'
,
forum_time
());
$this_event
[
'date'
] =
strftime
(
'%Y-%m-%d'
,
$i
);
$duplicates
[
$this_event
[
'topic'
] .
$this_event
[
'title'
]] =
true
;
}
else
unset(
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)][
$ev
]);
}
if (!empty(
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)]))
$context
[
'calendar_events'
] =
array_merge
(
$context
[
'calendar_events'
],
$events
[
strftime
(
'%Y-%m-%d'
,
$i
)]);
}
for (
$i
=
0
,
$n
=
count
(
$context
[
'calendar_birthdays'
]);
$i
<
$n
;
$i
++)
$context
[
'calendar_birthdays'
][
$i
][
'is_last'
] = !isset(
$context
[
'calendar_birthdays'
][
$i
+
1
]);
for (
$i
=
0
,
$n
=
count
(
$context
[
'calendar_events'
]);
$i
<
$n
;
$i
++)
$context
[
'calendar_events'
][
$i
][
'is_last'
] = !isset(
$context
[
'calendar_events'
][
$i
+
1
]);
// This is used to make sure the header should be displayed.
return !empty(
$context
[
'calendar_holidays'
]) || !empty(
$context
[
'calendar_birthdays'
]) || !empty(
$context
[
'calendar_events'
]);
}
?>
al bakalim
Kayıtlı
Sayfa: [
1
]
Yukarı git
Bu Konuyu Gönder
Yazdır
Simple Machines Forum Türkçe Yardım Sitesi
>
Simple Machines Forum
>
Dökümanlar
> Konu:
Kimler Online - Alfabetik Sıralama
« önceki
sonraki »
Gitmek istediğiniz yer:
Gitmek istediğiniz yer:
-----------------------------
SMFTuRK.nET Haberleri
-----------------------------
=> SMFTURK.NET'ten Haberler ve Duyurular
===> Duyurular
===> Şikayet ve İstekler
=> Simple Machines Forum'dan Haberler
-----------------------------
Tinyportal
-----------------------------
=> Tinyportal Kurulumu ve Hataları
-----------------------------
Simple Machines Forum
-----------------------------
=> SMF Kurulumu ve Hataları
=> Dökümanlar
===> HiLe'Ler
=> SMF'yi Kişiselleştirin
=> Yeni Başlayanlar
-----------------------------
Simple Machines Forum Modifikasyonları
-----------------------------
=> Modifikasyonlar, Kurulumları ve Hataları
===> Manuel Kurulum
===> Modifikasyonlar
-----------------------------
Simple Machines Forum Temaları
-----------------------------
=> Temalar, Yüklenmesi ve Hataları
===>
Temalar
===> Ücretli Temalar
=> Temalarınızı kendinize göre düzenleyin
-----------------------------
Diğer Konular
-----------------------------
=> HTML, PHP, JavaScript
===>
Google Optimizasyon - SMF SEO
=> Sohbet
===> Simple Machines Forumlarımız
===> Reklam Hizmetleri
===>
Web Hosting
Yükleniyor...