paristemi
[ class tree: paristemi ] [ index: paristemi ] [ all elements ]

Source for file bibletrivia.php

Documentation is available at bibletrivia.php

  1. <?php
  2. /**
  3. * <b>Bible Trivia</b><br />
  4. * The lists all of the bible trivia (and showcased) and allows user to answer question and get response.
  5. * This page parses out verse XML:
  6. * <code><verse ver="NKJV">John 3:16</verse><link ver="NIV">John 3:16</link></code>
  7. * @author Kristen O'Brien <kristen_paristemi-com>
  8. * @copyright Copyright 2004, Kristen O'Brien
  9. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  10. * @link http://www.paristemi.com Paristemi Main Site
  11. * @package paristemi
  12. * @subpackage paristemi_business_logic
  13. * @since Build 0.5
  14. * @version Build 0.7
  15. * @filesource
  16. */
  17. /**
  18. * Include the constants file and all of the files in the include list
  19. */
  20. if(ltrim(dirname($_SERVER['SCRIPT_FILENAME'])) == "" || !file_exists($_SERVER['DOCUMENT_ROOT']."/constants.php")) {
  21. if(!file_exists("../constants.php")) { require_once("../public_html/constants.php"); }
  22. else { require_once("../constants.php"); }
  23. }
  24. else { require_once($_SERVER['DOCUMENT_ROOT']."/constants.php"); }
  25. foreach($INCLUDE_LIST as $includefile) { require_once $includefile; }
  26.  
  27. $db = new Database();
  28. $db_main = $db->GetClass('main');
  29. $smarty = UtilSmarty::createSmarty();
  30.  
  31. $id = "";
  32. if(count($HTTP_POST_VARS) > 0) {
  33. if(isset($HTTP_POST_VARS['ID'])) {$id = $HTTP_POST_VARS['ID'];}
  34. }
  35. else if(getenv("QUERY_STRING")) {
  36. if(isset($HTTP_GET_VARS['id'])) {$id = $HTTP_GET_VARS['id'];}
  37. }
  38.  
  39. if($id != "") {
  40. $trivia = $db_main->GetBibleTrivia($id);
  41. $pagesubtitle = $trivia->Title;
  42. }
  43. else { $pagesubtitle = ""; }
  44. require_once $HTTP_DOCUMENT_ROOT.$INCLUDE_PATH.$HEADER.
  45. "?pagetitle=".str_replace(" ","%20",htmlentities($S_BIBLE_TRIVIA)).
  46. "&pagesubtitle=".str_replace(" ","%20",htmlentities(stripslashes($pagesubtitle))).
  47. "&pagedesc=".str_replace(" ","%20",htmlentities($CHURCH_NAME." ".$S_DESC_BIBLE_TRIVIA));
  48. $sidesection = array('Title'=>$S_BIBLE_TRIVIA,'Links'=>array());
  49. $trivias = $db_main->GetAllBibleTrivia($LISTING_LIMIT,0,"BT.ID desc ");
  50. foreach($trivias as $trivia) {
  51. $sidesection['Links'][] = array('LinkPath'=>$HTTP_DOCUMENT_ROOT.
  52. $BIBLE_TRIVIA_FILE."?id=".$trivia->ID,
  53. 'LinkText'=>wordwrap($trivia->Title,30,"<br />"));
  54. }
  55. $sidesection['Links'][] = array('LinkPath'=>"",'LinkText'=>"break");
  56. $scount=0;
  57. if(isset($HTTP_GET_VARS['scount'])) {$scount = $HTTP_GET_VARS['scount'];}
  58. else { $scount = $db_main->GetAllBibleTriviaCount(); }
  59. if($scount > 0) {
  60. $sidesection['Links'][] = array(
  61. 'LinkPath'=>$HTTP_DOCUMENT_ROOT.$BIBLE_TRIVIA_FILE."?listing=yes",
  62. 'LinkText'=>$S_ALL." ".$S_BIBLE_TRIVIA); }
  63. $smarty->assign('sidesections',array($sidesection));
  64. if(count($HTTP_POST_VARS) > 0) {
  65. $ans="";
  66. if(isset($HTTP_POST_VARS['Answer'])) {$ans = $HTTP_POST_VARS['Answer'];}
  67. $trivia = $db_main->GetBibleTrivia($id);
  68. $tblarr = array();
  69. $tblclass = "tbl-listing";
  70. $tbltdclass = array("tbl-listing-title","tbl-listing-item");
  71. $tblheader = "<h2>".$trivia->Title."</h2>";
  72. array_push($tblarr,array($S_QUESTION,$trivia->Question));
  73. $db_main->IncrementBibleTriviaAnsweredCount($id);
  74. if($trivia->AnswerNum == $ans) { $response = UtilBible::ParseVerses($trivia->CorrectText); }
  75. else { $response = UtilBible::ParseVerses($trivia->IncorrectText); }
  76. array_push($tblarr,array($S_ANSWER." ".$S_RESPONSE,$response));
  77. array_push($tblarr,array("&nbsp;",'<br /><a href="'.$HTTP_DOCUMENT_ROOT.$BIBLE_TRIVIA_FILE.
  78. '?id='.$id.'">'.$S_RETURN_TO." ".$S_QUESTION.'</a>'));
  79. $smarty->assign('printtable',UtilHtml::createTable($tblarr,$tblheader,$tblclass,"","",$tbltdclass));
  80. }
  81. else if($HTTP_GET_VARS) {
  82. $listing="";$lbegin=0;$scount=0;$scntflg=false;
  83. if(isset($HTTP_GET_VARS['listing'])) {$listing = $HTTP_GET_VARS['listing'];}
  84. if(isset($HTTP_GET_VARS['lbegin'])) {$lbegin = $HTTP_GET_VARS['lbegin'];}
  85. if(isset($HTTP_GET_VARS['scount'])) {$scount = $HTTP_GET_VARS['scount'];$scntflg=true;}
  86. if($id != null) {
  87. $trivia = $db_main->GetBibleTrivia($id);
  88. $smarty->assign('heading',$trivia->Title);
  89. $smarty->assign('formname',"bibletrivia");
  90. $smarty->assign('formaction',$BIBLE_TRIVIA_FILE);
  91. $smarty->assign('toptext',array('heading'=>$S_QUESTION,'text'=>$trivia->Question));
  92. $smarty->assign('hiddeninputs',array(array('name'=>"ID",'value'=>$trivia->ID)));
  93. $answers = Array($trivia->Answer1,$trivia->Answer2,$trivia->Answer3,$trivia->Answer4,$trivia->Answer5,$trivia->Answer6);
  94. $smarty->assign('radiotitle',$S_ANSWERS);
  95. $radioinputs = array();
  96. for($i = 0; $i < 6; $i++) {
  97. if($answers[$i] != "") {
  98. $radioinputs[] = array('name'=>"Answer",'value'=>($i+1),'Title'=>$answers[$i]);
  99. }
  100. }
  101. $smarty->assign('radioinputs',$radioinputs);
  102. $smarty->assign('submitname',$S_FORM_SUBMIT);
  103. }
  104. else if($listing == "yes") {
  105. $trivias = $db_main->GetAllBibleTrivia($LISTING_LIMIT,$lbegin,"BT.Title asc ");
  106. $scount = $db_main->GetAllBibleTriviaCount();
  107. $smarty->assign('heading',$S_ALL." ".$S_BIBLE_TRIVIA." (".$scount." ".$S_TOTAL.")");
  108. $listelements = array();
  109. foreach($trivias as $trivia) {
  110. $listelements[] = array('LinkPath'=>$HTTP_DOCUMENT_ROOT.$BIBLE_TRIVIA_FILE."?id=".$trivia->ID,
  111. 'Title'=>$trivia->Title);
  112. }
  113. $smarty->assign('listelements',$listelements);
  114. $bottomlinks = array();
  115. if($scount >= $lbegin-$LISTING_LIMIT && $lbegin-$LISTING_LIMIT >= 0) {
  116. $bottomlinks[] = array('LinkPath'=>$HTTP_DOCUMENT_ROOT.$BIBLE_TRIVIA_FILE.
  117. "?listing=yes"."&amp;lbegin=".($lbegin-$LISTING_LIMIT).
  118. "&amp;scount=".$scount,'LinkText'=>"&lt;&lt; ".$S_PREVIOUS." ".$LISTING_LIMIT);
  119. }
  120. if($lbegin+$LISTING_LIMIT < $scount) {
  121. if($scount-($lbegin+$LISTING_LIMIT) < $LISTING_LIMIT) {
  122. $linktext = $S_NEXT." ".($scount-($lbegin+$LISTING_LIMIT))." &gt;&gt;";
  123. }
  124. else { $linktext = $S_NEXT." ".$LISTING_LIMIT." &gt;&gt;"; }
  125. $bottomlinks[] = array('LinkPath'=>$HTTP_DOCUMENT_ROOT.$BIBLE_TRIVIA_FILE.
  126. "?listing=yes"."&amp;lbegin=".($lbegin+$LISTING_LIMIT)."&amp;scount=".$scount,
  127. 'LinkText'=>$linktext);
  128. }
  129. $smarty->assign('bottomlinks',$bottomlinks);
  130. }
  131. }
  132. else {
  133. $trivia = $db_main->GetShowcaseBibleTrivia();
  134. $smarty->assign('heading',$trivia->Title);
  135. $smarty->assign('formname',"bibletrivia");
  136. $smarty->assign('formaction',$BIBLE_TRIVIA_FILE);
  137. $smarty->assign('toptext',array('heading'=>$S_QUESTION,'text'=>$trivia->Question));
  138. $smarty->assign('hiddeninputs',array(array('name'=>"ID",'value'=>$trivia->ID)));
  139. $answers = Array($trivia->Answer1,$trivia->Answer2,$trivia->Answer3,$trivia->Answer4,$trivia->Answer5,$trivia->Answer6);
  140. $smarty->assign('radiotitle',$S_ANSWERS);
  141. $radioinputs = array();
  142. for($i = 0; $i < 6; $i++) {
  143. if($answers[$i] != "") {
  144. $radioinputs[] = array('name'=>"Answer",'value'=>($i+1),'Title'=>$answers[$i]);
  145. }
  146. }
  147. $smarty->assign('radioinputs',$radioinputs);
  148. $smarty->assign('submitname',$S_FORM_SUBMIT);
  149. }
  150. UtilSmarty::displaySectionPage($smarty);
  151. ?>
  152. <?php require_once $SERVER_DIRECTORY.$INCLUDE_PATH.$FOOTER; ?>

Documentation generated on Mon, 10 May 2004 12:08:00 -0700 by phpDocumentor 1.3.0RC3