load.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. ////////////////////////////////////////////////////////////////////////////////
  3. // Copyright (C) ReloadCMS Development Team //
  4. // http://reloadcms.sf.net //
  5. // //
  6. // This program is distributed in the hope that it will be useful, //
  7. // but WITHOUT ANY WARRANTY, without even the implied warranty of //
  8. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. //
  9. // //
  10. // This product released under GNU General Public License v2 //
  11. ////////////////////////////////////////////////////////////////////////////////
  12. ////////////////////////////////////////////////////////////////////////////////
  13. // Ban check function //
  14. ////////////////////////////////////////////////////////////////////////////////
  15. function ifbanned($ip) {
  16. if (!$banlist = @file(CONFIG_PATH . 'bans.ini')) {
  17. $banlist = array();
  18. }
  19. foreach ($banlist as $banstring) {
  20. $ban = '/^' . str_replace('*', '(\d*)', str_replace('.', '\\.', trim($banstring))) . '$/';
  21. if (preg_match($ban, $ip)) {
  22. return true;
  23. }
  24. }
  25. return false;
  26. }
  27. ////////////////////////////////////////////////////////////////////////////////
  28. // Ban check //
  29. ////////////////////////////////////////////////////////////////////////////////
  30. if (ifbanned($_SERVER['REMOTE_ADDR'])) {
  31. rcms_log_put('Notification', $this->user['username'], 'Attempt to access from banned IP');
  32. die('You are banned from this site');
  33. }
  34. // UMASK Must be 000!
  35. umask(000);
  36. ////////////////////////////////////////////////////////////////////////////////
  37. // Loading system libraries //
  38. ////////////////////////////////////////////////////////////////////////////////
  39. include_once(SYSTEM_MODULES_PATH . 'filesystem.php');
  40. include_once(SYSTEM_MODULES_PATH . 'etc.php');
  41. include_once(SYSTEM_MODULES_PATH . 'templates.php');
  42. include_once(SYSTEM_MODULES_PATH . 'user-classes.php');
  43. include_once(SYSTEM_MODULES_PATH . 'tar.php');
  44. include_once(SYSTEM_MODULES_PATH . 'system.php');
  45. include_once(SYSTEM_MODULES_PATH . 'compatibility.php');
  46. include_once(SYSTEM_MODULES_PATH . 'formsgen.php');
  47. ////////////////////////////////////////////////////////////////////////////////
  48. // Initializing session //
  49. ////////////////////////////////////////////////////////////////////////////////
  50. $system = new rcms_system(@$_POST['lang_form'], @$_POST['user_selected_skin']);
  51. if (!empty($_POST['login_form'])) {
  52. $system->logInUser(@$_POST['username'], @$_POST['password'], !empty($_POST['remember']) ? true : false);
  53. }
  54. if (!empty($_POST['logout_form'])) {
  55. $system->logOutUser();
  56. rcms_redirect('index.php', true);
  57. }
  58. //additional get-request user auto logout sub
  59. if (!empty($_GET['idleTimerAutoLogout'])) {
  60. $system->logOutUser();
  61. rcms_redirect('index.php', true);
  62. }
  63. //normal get-request user logout
  64. if (!empty($_GET['forceLogout'])) {
  65. $system->logOutUser();
  66. rcms_redirect('index.php', true);
  67. }
  68. define('LOGGED_IN', $system->logged_in);
  69. // Show some messages about activation or initialization
  70. if (!empty($system->results['user_init']))
  71. show_window('', $system->results['user_init'], 'center');
  72. ?>