PageRenderTime 54ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/globalsettings.inc.php

https://github.com/timconstan/vtcalendar
PHP | 148 lines | 124 code | 16 blank | 8 comment | 28 complexity | 9ab720fb2ba29261d363e4d821880860 MD5 | raw file
  1. <?php
  2. define("ALLOWINCLUDES", TRUE); // in effect, any file that includes "globalsettings.inc.php" is also authorized to call other include files
  3. require_once('config.inc.php');
  4. require_once('DB.php');
  5. require_once('inputvalidation.inc.php');
  6. // set the correct calendarid
  7. if ( isset($_GET['calendarid']) && isValidInput($_GET['calendarid'],'calendarid') ) { $calendarid = $_GET['calendarid']; }
  8. elseif ( isset($_GET['calendar']) && isValidInput($_GET['calendar'],'calendarid')) { $calendarid = $_GET['calendar']; }
  9. else { unset($calendarid); }
  10. if ( isset($calendarid) ) {
  11. if ( calendar_exists ( $calendarid ) ) { // switch to different calendar
  12. $_SESSION["CALENDARID"] = $calendarid;
  13. setCalendarPreferences();
  14. logout();
  15. }
  16. }
  17. if ( !isset($_SESSION["CALENDARID"]) ) {
  18. $_SESSION["CALENDARID"] = "default";
  19. setCalendarPreferences();
  20. logout();
  21. }
  22. // exclude month view for certain browsers because of extremely slow load times
  23. if ( $_SERVER["HTTP_USER_AGENT"] == "Mozilla/4.0 (compatible; MSIE 5.22; Mac_PowerPC)" ) {
  24. $enableViewMonth = false;
  25. }
  26. else {
  27. $enableViewMonth = true;
  28. }
  29. //sets variable to according to week starting day specified in "config.inc.php". Sunday is default week starting day if WEEK_STARTING_DAY isn't defined in "config.inc.php'
  30. if(WEEK_STARTING_DAY == 0 || WEEK_STARTING_DAY == 1 ) {
  31. $week_start = WEEK_STARTING_DAY;
  32. }else{
  33. $week_start = 0;
  34. }
  35. if(USE_AMPM == false){
  36. $use_ampm=false;
  37. $day_beg_h=0; // if 0:00 - 23:00 time format is used,appropriate day start, end hours will be passed to datetime2timestamp funtions where calculating day edges
  38. $day_end_h=23;
  39. }else{
  40. $use_ampm=true;
  41. $day_beg_h=0;
  42. $day_end_h=11;
  43. }
  44. function calendar_exists ( $calendarid ) {
  45. $database = DB::connect( DATABASE );
  46. $result = DBQuery($database, "SELECT count(id) FROM vtcal_calendar WHERE id='".sqlescape($calendarid)."'" );
  47. $r = $result->fetchRow(0);
  48. $database->disconnect();
  49. return ($r[0]==1);
  50. }
  51. function setCalendarPreferences() {
  52. $database = DB::connect( DATABASE );
  53. $result = DBQuery($database, "SELECT * FROM vtcal_calendar WHERE id='".sqlescape($_SESSION["CALENDARID"])."'" );
  54. $calendar = $result->fetchRow(DB_FETCHMODE_ASSOC,0);
  55. $_SESSION["TITLE"] = $calendar['title'];
  56. $_SESSION["NAME"] = $calendar['name'];
  57. $_SESSION["HEADER"] = $calendar['header'];
  58. $_SESSION["FOOTER"] = $calendar['footer'];
  59. $_SESSION["VIEWAUTHREQUIRED"] = $calendar['viewauthrequired'];
  60. $_SESSION["FORWARDEVENTDEFAULT"] = $calendar['forwardeventdefault'];
  61. $_SESSION["BGCOLOR"] = $calendar['bgcolor'];
  62. $_SESSION["MAINCOLOR"] = $calendar['maincolor'];
  63. $_SESSION["TODAYCOLOR"] = $calendar['todaycolor'];
  64. $_SESSION["PASTCOLOR"] = $calendar['pastcolor'];
  65. $_SESSION["FUTURECOLOR"] = $calendar['futurecolor'];
  66. $_SESSION["TEXTCOLOR"] = $calendar['textcolor'];
  67. $_SESSION["LINKCOLOR"] = $calendar['linkcolor'];
  68. $_SESSION["GRIDCOLOR"] = $calendar['gridcolor'];
  69. $result = DBQuery($database, "SELECT * FROM vtcal_sponsor WHERE calendarid='".sqlescape($_SESSION["CALENDARID"])."' AND admin='1'" );
  70. $sponsor = $result->fetchRow(DB_FETCHMODE_ASSOC,0);
  71. $_SESSION["ADMINEMAIL"] = $sponsor['email'];
  72. }
  73. function logout() {
  74. unset($_SESSION["AUTH_USERID"]);
  75. unset($_SESSION["AUTH_SPONSORID"]);
  76. unset($_SESSION["AUTH_SPONSORNAME"]);
  77. unset($_SESSION["AUTH_ADMIN"]);
  78. }
  79. function DBQuery($database, $query) {
  80. $result = $database->query( $query );
  81. if ( SQLLOGFILE!="" ) {
  82. $logfile = fopen(SQLLOGFILE, "a");
  83. if (!empty($_SESSION["AUTH_USERID"])) { $user = $_SESSION["AUTH_USERID"]; } else { $user = "anonymous"; }
  84. fputs($logfile, date( "Y-m-d H:i:s", time() )." ".$_SERVER["REMOTE_ADDR"]." ".$user." ".$_SERVER["PHP_SELF"]." ".$query."\n");
  85. fclose($logfile);
  86. }
  87. return $result;
  88. }
  89. // run a sanity check on incoming request variables and set particular variables if checks are passed
  90. function setVar(&$var,$value,$type) {
  91. if (isset($value)) {
  92. // first, remove any escaping that may have happened if magic_quotes_gpc is set to ON in php.ini
  93. if (get_magic_quotes_gpc()) {
  94. if (is_array($value)) {
  95. foreach ($value as $key=>$v) {
  96. $value[$key] = stripslashes($v);
  97. }
  98. }
  99. else {
  100. $value = stripslashes($value);
  101. }
  102. }
  103. if (isValidInput($value, $type)) {
  104. $var = $value;
  105. return;
  106. }
  107. }
  108. // unless something is explicitly allowed unset the variable
  109. $var = NULL;
  110. return;
  111. }
  112. // escapes a value to make it safe for a SQL query
  113. function sqlescape($value) {
  114. if (preg_match("/^pgsql/",DATABASE)) {
  115. return pg_escape_string($value);
  116. }
  117. else {
  118. return mysql_escape_string($value);
  119. }
  120. }
  121. require_once('languages/'.LANGUAGE.'.inc.php');
  122. // returns a string in a particular language
  123. function lang($sTextKey) {
  124. if (isset($GLOBALS['lang'][$sTextKey])) {
  125. return $GLOBALS['lang'][$sTextKey];
  126. }
  127. else {
  128. require('languages/en.inc.php');
  129. return $lang[$sTextKey];
  130. }
  131. }
  132. ?>