PageRenderTime 45ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 1ms

/htdocs/yurivn/modcp/index.php

https://gitlab.com/trang1104/portable_project
PHP | 382 lines | 350 code | 11 blank | 21 comment | 8 complexity | 3dd775889818bb972a3dd62c85ac3603 MD5 | raw file
Possible License(s): GPL-2.0, BSD-2-Clause, AGPL-1.0, Apache-2.0, GPL-3.0, MPL-2.0, LGPL-3.0, LGPL-2.0, LGPL-2.1, MPL-2.0-no-copyleft-exception, BSD-3-Clause
  1. <?php
  2. /*======================================================================*\
  3. || #################################################################### ||
  4. || # vBulletin 4.2.2 Alpha 1 - Licence Number VBFSA2W3VC
  5. || # ---------------------------------------------------------------- # ||
  6. || # Copyright ©2000-2013 vBulletin Solutions Inc. All Rights Reserved. ||
  7. || # This file may not be redistributed in whole or significant part. # ||
  8. || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
  9. || # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
  10. || #################################################################### ||
  11. \*======================================================================*/
  12. // ######################## SET PHP ENVIRONMENT ###########################
  13. error_reporting(E_ALL & ~E_NOTICE);
  14. // ##################### DEFINE IMPORTANT CONSTANTS #######################
  15. define('CVS_REVISION', '$RCSfile$ - $Revision: 40911 $');
  16. // #################### PRE-CACHE TEMPLATES AND DATA ######################
  17. $phrasegroups = array('cphome');
  18. $specialtemplates = array();
  19. // ########################## REQUIRE BACK-END ############################
  20. require_once('./global.php');
  21. // ############################# LOG ACTION ###############################
  22. if (empty($_REQUEST['do']))
  23. {
  24. log_admin_action();
  25. }
  26. // ########################################################################
  27. // ######################### START MAIN SCRIPT ############################
  28. // ########################################################################
  29. $vbulletin->input->clean_array_gpc('r', array('redirect' => TYPE_NOHTML)); # Not sure where this comes from
  30. if (!empty($vbulletin->GPC['redirect']))
  31. {
  32. define('CP_REDIRECT', $vbulletin->GPC['redirect']);
  33. print_stop_message('redirecting_please_wait');
  34. }
  35. // #############################################################################
  36. // ############################### LOG OUT OF CP ###############################
  37. // #############################################################################
  38. if ($_REQUEST['do'] == 'cplogout')
  39. {
  40. vbsetcookie('cpsession', '', false, true, true);
  41. $db->query_write("DELETE FROM " . TABLE_PREFIX . "cpsession WHERE userid = " . $vbulletin->userinfo['userid'] . " AND hash = '" . $db->escape_string($vbulletin->GPC[COOKIE_PREFIX . 'cpsession']) . "'");
  42. if (!empty($vbulletin->session->vars['sessionurl_js']))
  43. {
  44. exec_header_redirect('index.php?' . $vbulletin->session->vars['sessionurl_js']);
  45. }
  46. else
  47. {
  48. exec_header_redirect('index.php');
  49. }
  50. }
  51. if (empty($_REQUEST['do']))
  52. {
  53. $_REQUEST['do'] = 'frames';
  54. }
  55. if ($_REQUEST['do'] == 'frames')
  56. {
  57. $vbulletin->input->clean_array_gpc('r', array(
  58. 'loc' => TYPE_NOHTML
  59. ));
  60. $navframe = '<frame src="index.php?' . $vbulletin->session->vars['sessionurl'] . "do=nav" . iif($cpnavjs, '&amp;cpnavjs=1') . "\" name=\"nav\" scrolling=\"yes\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" border=\"no\" />\n";
  61. $headframe = '<frame src="index.php?' . $vbulletin->session->vars['sessionurl'] . "do=head\" name=\"head\" scrolling=\"no\" noresize=\"noresize\" frameborder=\"0\" marginwidth=\"10\" marginheight=\"0\" border=\"no\" />\n";
  62. $mainframe = '<frame src="' . iif(!empty($vbulletin->GPC['loc']) AND !preg_match('#^[a-z]+:#i', $vbulletin->GPC['loc']), create_full_url($vbulletin->GPC['loc']), 'index.php?' . $vbulletin->session->vars['sessionurl'] . 'do=home') . "\" name=\"main\" scrolling=\"yes\" frameborder=\"0\" marginwidth=\"10\" marginheight=\"10\" border=\"no\" />\n";
  63. ?>
  64. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  65. <html xmlns="http://www.w3.org/1999/xhtml" dir="<?php echo vB_Template_Runtime::fetchStyleVar('textdirection'); ?>" lang="<?php echo vB_Template_Runtime::fetchStyleVar('languagecode'); ?>">
  66. <head>
  67. <script type="text/javascript">
  68. <!-- // get out of any containing frameset
  69. if (self.parent.frames.length != 0)
  70. {
  71. document.write('<span style="font: bold 10pt verdana,sans-serif">Get me out of this frame set!</span>');
  72. self.parent.location.replace(document.location.href);
  73. }
  74. // -->
  75. </script>
  76. <title><?php echo $vbulletin->options['bbtitle']; ?> <?php echo $vbphrase['moderator_control_panel']; ?></title>
  77. </head>
  78. <?php
  79. if (vB_Template_Runtime::fetchStyleVar('textdirection') == 'ltr')
  80. {
  81. // left-to-right frameset
  82. ?>
  83. <frameset cols="195,*" framespacing="0" border="0" frameborder="0" frameborder="no" border="0">
  84. <?php echo $navframe; ?>
  85. <frameset rows="20,*" framespacing="0" border="0" frameborder="0" frameborder="no" border="0">
  86. <?php echo $headframe; ?>
  87. <?php echo $mainframe; ?>
  88. </frameset>
  89. </frameset>
  90. <?php
  91. }
  92. else
  93. {
  94. // right-to-left frameset
  95. ?>
  96. <frameset cols="*,195" framespacing="0" border="0" frameborder="0" frameborder="no" border="0">
  97. <frameset rows="20,*" framespacing="0" border="0" frameborder="0" frameborder="no" border="0">
  98. <?php echo $headframe; ?>
  99. <?php echo $mainframe; ?>
  100. </frameset>
  101. <?php echo $navframe; ?>
  102. </frameset>
  103. <?php
  104. }
  105. ?>
  106. <noframes>
  107. <body>
  108. <p><?php echo $vbphrase['no_frames_support']; ?></p>
  109. </body>
  110. </noframes>
  111. </html>
  112. <?php
  113. }
  114. if ($_REQUEST['do'] == 'head')
  115. {
  116. define('IS_NAV_PANEL', true);
  117. print_cp_header();
  118. $forumhomelink = fetch_seo_url('forumhome|bburl', array());
  119. ?>
  120. <table border="0" width="100%" height="100%">
  121. <tr valign="middle">
  122. <td><a href="http://www.vbulletin.com/" target="_blank"><b><?php echo $vbphrase['moderator_control_panel']; ?></b> (vBulletin <?php echo $vbulletin->versionnumber; ?>)</a></td>
  123. <td style="white-space:nowrap; text-align:<?php echo vB_Template_Runtime::fetchStyleVar('right'); ?>; font-weight:bold">
  124. <a href="<?php echo $forumhomelink; ?>" target="_blank"><?php echo $vbphrase['forum_home_page']; ?></a>
  125. |
  126. <a href="index.php?<?php echo $vbulletin->session->vars['sessionurl']; ?>do=cplogout" onclick="return confirm('<?php echo $vbphrase['sure_you_want_to_log_out_of_cp']; ?>');" target="_top"><?php echo $vbphrase['log_out']; ?></a>
  127. </td>
  128. </tr>
  129. </table>
  130. <?php
  131. print_cp_footer();
  132. }
  133. if ($_REQUEST['do'] == 'home')
  134. {
  135. print_cp_header($vbphrase['welcome_to_the_vbulletin_moderator_control_panel']);
  136. print_form_header('', '');
  137. print_table_header($vbphrase['welcome_to_the_vbulletin_moderator_control_panel']);
  138. print_table_footer();
  139. // *************************************
  140. // QUICK ADMIN LINKS
  141. //$reminders = fetch_reminders_array();
  142. print_table_start();
  143. print_table_header($vbphrase['quick_moderator_links']);
  144. $datecut = TIMENOW - $vbulletin->options['cookietimeout'];
  145. $guestsarry = $db->query_first("SELECT COUNT(host) AS sessions FROM " . TABLE_PREFIX . "session WHERE userid = 0 AND lastactivity > $datecut");
  146. $membersarry = $db->query_read("SELECT DISTINCT userid FROM " . TABLE_PREFIX . "session WHERE userid <> 0 AND lastactivity > $datecut");
  147. $guests = intval($guestsarry['sessions']);
  148. $members = intval($db->num_rows($membersarry));
  149. $is_windows = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN');
  150. $loadavg = array();
  151. if (!$is_windows AND function_exists('exec') AND $stats = @exec('uptime 2>&1') AND trim($stats) != '' AND preg_match('#: ([\d.,]+),?\s+([\d.,]+),?\s+([\d.,]+)$#', $stats, $regs))
  152. {
  153. $loadavg[0] = vb_number_format($regs[1], 2);
  154. $loadavg[1] = vb_number_format($regs[2], 2);
  155. $loadavg[2] = vb_number_format($regs[3], 2);
  156. }
  157. else if (!$is_windows AND @file_exists('/proc/loadavg') AND $stats = @file_get_contents('/proc/loadavg') AND trim($stats) != '')
  158. {
  159. $loadavg = explode(' ', $stats);
  160. $loadavg[0] = vb_number_format($loadavg[0], 2);
  161. $loadavg[1] = vb_number_format($loadavg[1], 2);
  162. $loadavg[2] = vb_number_format($loadavg[2], 2);
  163. }
  164. if (!empty($loadavg))
  165. {
  166. print_label_row($vbphrase['server_load_averages'], "$loadavg[0]&nbsp;&nbsp;$loadavg[1]&nbsp;&nbsp;$loadavg[2] | " . construct_phrase($vbphrase['users_online_x_members_y_guests'], vb_number_format($guests + $members), vb_number_format($members), vb_number_format($guests)), '', 'top', NULL, false);
  167. }
  168. else
  169. {
  170. print_label_row($vbphrase['users_online'], construct_phrase($vbphrase['x_y_members_z_guests'], vb_number_format($guests + $members), vb_number_format($members), vb_number_format($guests)), '', 'top', NULL, false);
  171. }
  172. ($hook = vBulletinHook::fetch_hook('mod_index_main')) ? eval($hook) : false;
  173. print_label_row($vbphrase['quick_user_finder'], '
  174. <form action="user.php?do=findnames" method="post" style="display:inline">
  175. <input type="hidden" name="s" value="' . $vbulletin->session->vars['sessionhash'] . '" />
  176. <input type="hidden" name="do" value="findnames" />
  177. <input type="text" class="bginput" name="findname" size="30" tabindex="1" />
  178. <input type="submit" class="button" value=" ' . $vbphrase['find'] . ' " tabindex="1" />
  179. <input type="submit" class="button" value="' . $vbphrase['exact_match'] . '" tabindex="1" name="exact" />
  180. </form>
  181. ', '', 'top', NULL, false
  182. );
  183. print_label_row($vbphrase['php_function_lookup'], '
  184. <form action="http://www.ph' . 'p.net/manual-lookup.ph' . 'p" method="get" style="display:inline">
  185. <input type="text" class="bginput" name="function" size="30" tabindex="1" />
  186. <input type="submit" value=" ' . $vbphrase['find'] . ' " class="button" tabindex="1" />
  187. </form>
  188. ', '', 'top', NULL, false
  189. );
  190. print_label_row($vbphrase['mysql_language_lookup'], '
  191. <form action="http://www.mysql.com/search/" method="get" style="display:inline">
  192. <input type="hidden" name="doc" value="1" />
  193. <input type="hidden" name="m" value="o" />
  194. <input type="text" class="bginput" name="q" size="30" tabindex="1" />
  195. <input type="submit" value=" ' . $vbphrase['find'] . ' " class="button" tabindex="1" />
  196. </form>
  197. ', '', 'top', NULL, false
  198. );
  199. print_label_row($vbphrase['useful_links'], '
  200. <form style="display:inline">
  201. <select onchange="if (this.options[this.selectedIndex].value != \'\') { window.open(this.options[this.selectedIndex].value); } return false;" tabindex="1" class="bginput">
  202. <option value="">-- ' . $vbphrase['useful_links'] . ' --</option>' . construct_select_options(array(
  203. 'vBulletin' => array(
  204. 'http://www.vbulletin.com/' => $vbphrase['home_page'] . ' (vBulletin.com)',
  205. 'http://members.vbulletin.com/' => $vbphrase['members_area'],
  206. 'http://www.vbulletin.com/forum/' => $vbphrase['community_forums'],
  207. 'http://www.vbulletin.com/manual/' => $vbphrase['reference_manual']
  208. ),
  209. 'PHP' => array(
  210. 'http://www.ph' . 'p.net/' => $vbphrase['home_page'] . ' (PHP.net)',
  211. 'http://www.ph' . 'p.net/manual/' => $vbphrase['reference_manual'],
  212. 'http://www.ph' . 'p.net/downloads.ph' . 'p' => $vbphrase['download_latest_version']
  213. ),
  214. 'MySQL' => array(
  215. 'http://www.mysql.com/' => $vbphrase['home_page'] . ' (MySQL.com)',
  216. 'http://www.mysql.com/documentation/' => $vbphrase['reference_manual'],
  217. 'http://www.mysql.com/downloads/' => $vbphrase['download_latest_version'],
  218. )
  219. )) . '</select>
  220. </form>
  221. ', '', 'top', NULL, false
  222. );
  223. print_table_footer(2, '', '', false);
  224. // *************************************
  225. // vBULLETIN CREDITS
  226. require_once(DIR . '/includes/vbulletin_credits.php');
  227. print_cp_footer();
  228. }
  229. if ($_REQUEST['do'] == 'nav')
  230. {
  231. require_once(DIR . '/includes/adminfunctions_navpanel.php');
  232. print_cp_header();
  233. ?>
  234. <div>
  235. <img src="../cpstyles/<?php echo $vbulletin->options['cpstylefolder']; ?>/cp_logo.gif" alt="" border="0" hspace="4" vspace="4" /><?php
  236. echo "</div>\n\n<div style=\"width:168px; padding: 4px\">\n";
  237. construct_nav_spacer();
  238. // *************************************************
  239. if (can_moderate(0, 'canannounce'))
  240. {
  241. construct_nav_option($vbphrase['post_new_announcement'], 'announcement.php?do=add');
  242. construct_nav_option($vbphrase['forum_manager'], 'forum.php?do=modify');
  243. construct_nav_group($vbphrase['announcements']);
  244. construct_nav_spacer();
  245. }
  246. // *************************************************
  247. $canmoderate = false;
  248. if (can_moderate(0, 'canmoderateposts'))
  249. {
  250. $canmoderate = true;
  251. construct_nav_option($vbphrase['moderate_threads'], 'moderate.php?do=posts');
  252. construct_nav_option($vbphrase['moderate_posts'], 'moderate.php?do=posts#posts');
  253. }
  254. if (can_moderate(0, 'canmoderateattachments'))
  255. {
  256. $canmoderate = true;
  257. construct_nav_option($vbphrase['moderate_attachments'], 'moderate.php?do=attachments');
  258. }
  259. if (can_moderate_calendar())
  260. {
  261. $canmoderate = true;
  262. construct_nav_option($vbphrase['moderate_events'], 'moderate.php?do=events');
  263. }
  264. if (can_moderate(0, 'canmoderatevisitormessages'))
  265. {
  266. $canmoderate = true;
  267. construct_nav_option($vbphrase['moderate_visitor_messages'], 'moderate.php?do=messages');
  268. }
  269. if ($canmoderate)
  270. {
  271. construct_nav_group($vbphrase['moderation']);
  272. construct_nav_spacer();
  273. }
  274. // *************************************************
  275. $canuser = false;
  276. if (can_moderate(0, 'canunbanusers') OR can_moderate(0, 'canbanusers') OR can_moderate(0, 'canviewprofile') OR can_moderate(0, 'caneditsigs') OR can_moderate(0, 'caneditavatar'))
  277. {
  278. $canuser = true;
  279. construct_nav_option($vbphrase['search_for_users'],'user.php?do=find');
  280. }
  281. if (can_moderate(0, 'canbanusers'))
  282. {
  283. $canuser = true;
  284. construct_nav_option($vbphrase['ban_user'], 'banning.php?do=banuser');
  285. }
  286. if (can_moderate(0, 'canunbanusers') OR can_moderate(0, 'canbanusers'))
  287. {
  288. $canuser = true;
  289. construct_nav_option($vbphrase['view_banned_users'], 'banning.php?do=modify');
  290. }
  291. if (can_moderate(0, 'canviewips'))
  292. {
  293. $canuser = true;
  294. construct_nav_option($vbphrase['search_ip_addresses'], 'user.php?do=doips');
  295. }
  296. if ($canuser)
  297. {
  298. construct_nav_group($vbphrase['users']);
  299. construct_nav_spacer();
  300. }
  301. // *************************************************
  302. if ($groupleader = $db->query_first("SELECT userid FROM " . TABLE_PREFIX . "usergroupleader WHERE userid = " . $vbulletin->userinfo['userid']) OR ($permissions['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']))
  303. {
  304. construct_nav_option($vbphrase['join_requests'], 'user.php?do=viewjoinrequests');
  305. construct_nav_group($vbphrase['usergroups']);
  306. construct_nav_spacer();
  307. }
  308. // *************************************************
  309. $canmass = false;
  310. if (can_moderate(0, 'canmassmove'))
  311. {
  312. $canmass = true;
  313. construct_nav_option($vbphrase['move'], 'thread.php?do=move');
  314. }
  315. if (can_moderate(0, 'canmassprune'))
  316. {
  317. $canmass = true;
  318. construct_nav_option($vbphrase['prune'], 'thread.php?do=prune');
  319. }
  320. if ($canmass)
  321. {
  322. construct_nav_group($vbphrase['thread']);
  323. construct_nav_spacer();
  324. }
  325. ($hook = vBulletinHook::fetch_hook('mod_index_navigation')) ? eval($hook) : false;
  326. print_nav_panel();
  327. echo "</div>\n";
  328. // *************************************************
  329. define('NO_CP_COPYRIGHT', true);
  330. unset($DEVDEBUG);
  331. print_cp_footer();
  332. }
  333. /*======================================================================*\
  334. || ####################################################################
  335. || # Downloaded: 03:13, Sat Sep 7th 2013
  336. || # CVS: $RCSfile$ - $Revision: 40911 $
  337. || ####################################################################
  338. \*======================================================================*/
  339. ?>