You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(486) |
Jul
(201) |
Aug
(194) |
Sep
(87) |
Oct
(72) |
Nov
(72) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(6) |
Feb
(41) |
Mar
(22) |
Apr
(4) |
May
(12) |
Jun
|
Jul
|
Aug
(42) |
Sep
(21) |
Oct
(14) |
Nov
(10) |
Dec
|
2007 |
Jan
(14) |
Feb
(34) |
Mar
(61) |
Apr
(54) |
May
(140) |
Jun
(184) |
Jul
(164) |
Aug
(130) |
Sep
(241) |
Oct
(175) |
Nov
(148) |
Dec
(96) |
2008 |
Jan
(5) |
Feb
(38) |
Mar
(30) |
Apr
(46) |
May
(25) |
Jun
(22) |
Jul
(5) |
Aug
(17) |
Sep
(2) |
Oct
(100) |
Nov
(83) |
Dec
(33) |
2009 |
Jan
(127) |
Feb
(43) |
Mar
(86) |
Apr
(34) |
May
(50) |
Jun
(168) |
Jul
(48) |
Aug
(66) |
Sep
(38) |
Oct
(75) |
Nov
(113) |
Dec
(72) |
2010 |
Jan
(123) |
Feb
(68) |
Mar
(26) |
Apr
(11) |
May
(39) |
Jun
(131) |
Jul
(56) |
Aug
(79) |
Sep
(69) |
Oct
(17) |
Nov
(166) |
Dec
(32) |
2011 |
Jan
(21) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(8) |
Dec
|
2012 |
Jan
(2) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Chris S. <san...@us...> - 2005-11-28 15:30:25
|
Update of /cvsroot/stack/stack-1-0/frontend_general In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7611/frontend_general Modified Files: loginregister.php process_input.php Log Message: Index: loginregister.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/frontend_general/loginregister.php,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** loginregister.php 29 Aug 2005 18:41:03 -0000 1.9 --- loginregister.php 28 Nov 2005 15:30:05 -0000 1.10 *************** *** 89,93 **** } ! $_SESSION['user'] = $user; ?> --- 89,94 ---- } ! //$_SESSION['user'] = $user; ! session_register($user); ?> Index: process_input.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/frontend_general/process_input.php,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** process_input.php 28 Nov 2005 12:56:28 -0000 1.7 --- process_input.php 28 Nov 2005 15:30:05 -0000 1.8 *************** *** 70,74 **** // for other purposes depending on the file. // (2.0) Try to establish the user. ! if (array_key_exists('user',$_SESSION)) { $user = $_SESSION['user']; $username = $user['username']; --- 70,74 ---- // for other purposes depending on the file. // (2.0) Try to establish the user. ! if (isset($_SESSION['user'])) { $user = $_SESSION['user']; $username = $user['username']; |
From: Chris S. <san...@us...> - 2005-11-28 14:10:23
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24899/scripts Modified Files: stackCAS.php stackQuestion.php Log Message: Index: stackCAS.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackCAS.php,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** stackCAS.php 24 Nov 2005 18:58:17 -0000 1.14 --- stackCAS.php 28 Nov 2005 14:10:01 -0000 1.15 *************** *** 330,334 **** if ('' != $unp['ValidationError']) { $unp['Valid'] = 'false'; ! $unp['AnswerNote'] .= ' ValidationError'; $unp['Ans']['error'] = $unp['ValidationError']; } --- 330,334 ---- if ('' != $unp['ValidationError']) { $unp['Valid'] = 'false'; ! $unp['AnswerNote'] .= ', ValidationError'; $unp['Ans']['error'] = $unp['ValidationError']; } *************** *** 353,357 **** } - return $unp; } --- 353,356 ---- *************** *** 467,476 **** $unp = CASParsePreparse($instr); ! $unp['Ans'] = CASParsePreparse($unp['Ans']); ! if (''==$unp['Ans']['error']) { ! unset($unp['Ans']['error']); } if (''!=$unp['AnswerTestError']) { $unp['Ans']['error']=$unp['AnswerTestError']; --- 466,478 ---- $unp = CASParsePreparse($instr); ! if (array_key_exists('Ans',$unp)) { ! $unp['Ans'] = CASParsePreparse($unp['Ans']); ! if (''==$unp['Ans']['error']) { ! unset($unp['Ans']['error']); ! } } + if (''!=$unp['AnswerTestError']) { $unp['Ans']['error']=$unp['AnswerTestError']; *************** *** 478,481 **** --- 480,485 ---- unset($unp['AnswerTestError']); + + if (array_key_exists('Valid',$unp)) { $unp['Valid'] = strtolower($unp['Valid']); Index: stackQuestion.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackQuestion.php,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** stackQuestion.php 27 Nov 2005 11:30:52 -0000 1.55 --- stackQuestion.php 28 Nov 2005 14:10:01 -0000 1.56 *************** *** 1645,1652 **** $this_attempt=array_merge($this_attempt,$valid_attempt); } ! } return $this_attempt; } --- 1645,1677 ---- $this_attempt=array_merge($this_attempt,$valid_attempt); } ! ! } ! ! ! // Error check the result from the CAS. ! if (array_key_exists('error',$this_attempt['Ans'])) { ! //There is an error in the student's answer! ! $this_attempt['RawAns'] = $RawAns; ! $this_attempt['Valid'] = 'false'; ! $this_attempt['Penalty'] = 0; ! $this_attempt['RawMark'] = 0; ! if ('' == $this_attempt['Ans']['display']) { ! $this_attempt['Ans']['display'] = $RawAns; ! } else { ! $varin = $this_attempt['Ans']['display']; ! $opt = $options['Display']; ! $this_attempt['Ans']['display']=stack_casstring_to_display($varin, $opt); ! } ! $this_attempt['AnswerNote'] = ' CAS error'; ! $this_attempt['FeedBack'] = ' '.$this_attempt['Ans']['error']; ! } else { ! // Convert the display form of the answer. ! $varin = $this_attempt['Ans']['display']; ! $opt = $options['Display']; ! $this_attempt['Ans']['display']=stack_casstring_to_display($varin, $opt); } return $this_attempt; + } *************** *** 1875,1880 **** $this_prattempt = stack_apply_answertest($RawAns,$CorrectAns,$at,$ato,$options,$errors); unset($this_prattempt['Ans']); ! $this_attempt = array_merge($this_attempt,$this_prattempt); ! $this_attempt['RawAns']= $RawAns; // Make sure any output is displayed correctly. --- 1900,1905 ---- $this_prattempt = stack_apply_answertest($RawAns,$CorrectAns,$at,$ato,$options,$errors); unset($this_prattempt['Ans']); ! $this_attempt = array_merge($this_attempt,$this_prattempt); ! $this_attempt['RawAns'] = $RawAns; // Make sure any output is displayed correctly. *************** *** 1899,1919 **** } // end of 'if(potresp) exist'. So, we have $this_attempt marked. - // Error check the result from the CAS. - if (array_key_exists('error',$this_attempt['Ans'])) { - //There is an error in the student's answer! - $this_attempt['RawAns'] = $RawAns; - $this_attempt['Valid'] = 'false'; - $this_attempt['Penalty'] = 0; - $this_attempt['RawMark'] = 0; - $this_attempt['Ans']['display']=$RawAns; - $this_attempt['AnswerNote']= ' CAS error'; - $this_attempt['FeedBack']= ' '.$this_attempt['Ans']['error']; - } else { - // Convert the display form of the answer. - $varin = $this_attempt['Ans']['display']; - $opt = $options['Display']; - $this_attempt['Ans']['display']=stack_casstring_to_display($varin, $opt); - } - } // End of section (3) --- 1924,1927 ---- |
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6993 Modified Files: chat.php choosequiz.php documentation.php editquiz.php editsubject.php editzone.php import.php index.php question_bank.php Log Message: Better error trapping, requiring process_input.php Index: editzone.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/editzone.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** editzone.php 12 Sep 2005 08:07:47 -0000 1.3 --- editzone.php 28 Nov 2005 12:56:28 -0000 1.4 *************** *** 47,51 **** /////////////////////////////////////////////////////////////// $default_action = ''; ! include('frontend_general/process_input.php'); $PostTo = 'editzone.php'; --- 47,51 ---- /////////////////////////////////////////////////////////////// $default_action = ''; ! require_once('frontend_general/process_input.php'); $PostTo = 'editzone.php'; Index: editsubject.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/editsubject.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** editsubject.php 24 Nov 2005 18:47:46 -0000 1.4 --- editsubject.php 28 Nov 2005 12:56:28 -0000 1.5 *************** *** 42,46 **** /////////////////////////////////////////////////////////////// $default_action = 'subject_choose'; ! include('frontend_general/process_input.php'); $PostTo = 'editsubject.php'; --- 42,46 ---- /////////////////////////////////////////////////////////////// $default_action = 'subject_choose'; ! require_once('frontend_general/process_input.php'); $PostTo = 'editsubject.php'; Index: import.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/import.php,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** import.php 4 Sep 2005 21:26:18 -0000 1.10 --- import.php 28 Nov 2005 12:56:28 -0000 1.11 *************** *** 39,43 **** $default_action = 'import'; ! include('frontend_general/process_input.php'); $PostTo = 'import.php'; --- 39,43 ---- $default_action = 'import'; ! require_once('frontend_general/process_input.php'); $PostTo = 'import.php'; Index: editquiz.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/editquiz.php,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** editquiz.php 26 Oct 2005 17:49:28 -0000 1.24 --- editquiz.php 28 Nov 2005 12:56:28 -0000 1.25 *************** *** 43,47 **** /////////////////////////////////////////////////////////////// $default_action = 'quiz_choose'; ! include('frontend_general/process_input.php'); $PostTo = 'editquiz.php'; --- 43,47 ---- /////////////////////////////////////////////////////////////// $default_action = 'quiz_choose'; ! require_once('frontend_general/process_input.php'); $PostTo = 'editquiz.php'; Index: index.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/index.php,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** index.php 27 Nov 2005 11:30:51 -0000 1.36 --- index.php 28 Nov 2005 12:56:28 -0000 1.37 *************** *** 42,46 **** $default_action = 'loginscreen'; ! include($stack_root.'/frontend_general/process_input.php'); /////////////////////////////////////////////////////////////// --- 42,46 ---- $default_action = 'loginscreen'; ! require_once($stack_root.'/frontend_general/process_input.php'); /////////////////////////////////////////////////////////////// Index: documentation.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/documentation.php,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** documentation.php 29 Aug 2005 18:41:03 -0000 1.8 --- documentation.php 28 Nov 2005 12:56:28 -0000 1.9 *************** *** 37,41 **** $default_action = ''; ! include($stack_root.'/frontend_general/process_input.php'); ////////////////////////////////////////////////////////////// --- 37,41 ---- $default_action = ''; ! require_once($stack_root.'/frontend_general/process_input.php'); ////////////////////////////////////////////////////////////// Index: question_bank.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/question_bank.php,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** question_bank.php 20 Oct 2005 10:40:40 -0000 1.17 --- question_bank.php 28 Nov 2005 12:56:28 -0000 1.18 *************** *** 36,40 **** require_once($stack_root.'/scripts/stackFrontend.php'); $default_action = 'questionbank_screen'; ! include($stack_root.'/frontend_general/process_input.php'); include('html/trypopupform.html'); --- 36,40 ---- require_once($stack_root.'/scripts/stackFrontend.php'); $default_action = 'questionbank_screen'; ! require_once($stack_root.'/frontend_general/process_input.php'); include('html/trypopupform.html'); Index: chat.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/chat.php,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** chat.php 29 Aug 2005 18:41:03 -0000 1.12 --- chat.php 28 Nov 2005 12:56:28 -0000 1.13 *************** *** 101,105 **** echo "<p><b>Your CAS for this session is:</b> {$stack_cas['cas']}.<br/>\n"; ! echo "<b>Your display option is:</b> $options[Display].</p>\n"; // **************************************************** --- 101,105 ---- echo "<p><b>Your CAS for this session is:</b> {$stack_cas['cas']}.<br/>\n"; ! echo "<b>Your display option is:</b> {$options['Display']}.</p>\n"; // **************************************************** Index: choosequiz.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/choosequiz.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** choosequiz.php 15 Sep 2005 08:50:41 -0000 1.3 --- choosequiz.php 28 Nov 2005 12:56:28 -0000 1.4 *************** *** 26,33 **** */ - $user = stack_user_guest(); - if (array_key_exists('subjectID',$_GET)) { --- 26,31 ---- |
From: Chris S. <san...@us...> - 2005-11-28 12:56:36
|
Update of /cvsroot/stack/stack-1-0/scripts/install In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6993/scripts/install Modified Files: stacktest.php Log Message: Better error trapping, requiring process_input.php Index: stacktest.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/install/stacktest.php,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** stacktest.php 24 Oct 2005 09:25:27 -0000 1.13 --- stacktest.php 28 Nov 2005 12:56:28 -0000 1.14 *************** *** 163,167 **** echo "<h2>Next</h2>\n\n"; ! if ($some_errors) { echo "You have Errors in your install."; phpinfo(); --- 163,167 ---- echo "<h2>Next</h2>\n\n"; ! if ($some_errors or array_key_exists('debug',$_GET)) { echo "You have Errors in your install."; phpinfo(); |
From: Chris S. <san...@us...> - 2005-11-28 12:56:36
|
Update of /cvsroot/stack/stack-1-0/frontend_general In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6993/frontend_general Modified Files: process_input.php Log Message: Better error trapping, requiring process_input.php Index: process_input.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/frontend_general/process_input.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** process_input.php 29 Aug 2005 18:41:03 -0000 1.6 --- process_input.php 28 Nov 2005 12:56:28 -0000 1.7 *************** *** 29,33 **** $user = ''; - if (get_magic_quotes_gpc()) { /** --- 29,32 ---- *************** *** 68,72 **** } - // Establish the user - we always need this to print the header as well as // for other purposes depending on the file. --- 67,70 ---- *************** *** 86,89 **** $options = stack_options_set(NULL); - ?> --- 84,86 ---- |
From: Chris S. <san...@us...> - 2005-11-27 11:31:08
|
Update of /cvsroot/stack/stack-1-0/scripts/maxima In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8882/scripts/maxima Modified Files: stackfun.php stackmaxima.mac Log Message: Index: stackmaxima.mac =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/maxima/stackmaxima.mac,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** stackmaxima.mac 19 Nov 2005 16:37:08 -0000 1.51 --- stackmaxima.mac 27 Nov 2005 11:30:52 -0000 1.52 *************** *** 84,88 **** /* Makes a complex j if needed */ i:%i; ! make_complexJ(OPT_COMPLEXJ) := if OPT_COMPLEXJ=j then (j:%i,load("complexj.lisp")); /* Makes multiplication signs look correct */ --- 84,88 ---- /* Makes a complex j if needed */ i:%i; ! make_complexJ(OPT_COMPLEXJ) := if OPT_COMPLEXJ=j then (j:%i,load("complexj.lisp")); /* Makes multiplication signs look correct */ *************** *** 209,213 **** StackReturnOb(val,rawmk,ansnote,fb):=block([str], ! str:concat(" Valid = [ ",val," ], RawMark = [ ",rawmk," ], AnswerNote = [ ",ansnote," ], FeedBack= [ ",fb," ]"), return(str) ); --- 209,213 ---- StackReturnOb(val,rawmk,ansnote,fb):=block([str], ! str:concat(" Valid = [ ",val," ], RawMark = [ ",rawmk," ], AnswerNote = [ ",ansnote," ], FeedBack= [ ",fb," ]"), return(str) ); *************** *** 855,861 **** sExpr: SA, rawmk: 0, fb: "", ansnote: "", ret: StackReturnOb(val,rawmk,ansnote,fb), ! if factor( expand( sExpr ) ) = factor( expand( tExpr ) ) then ! block( ! [topOp, list], topOp: op( sExpr ), list: args( sExpr ), --- 855,860 ---- sExpr: SA, rawmk: 0, fb: "", ansnote: "", ret: StackReturnOb(val,rawmk,ansnote,fb), ! if Stack_Test(sExpr,tExpr) then ! block([topOp, list], topOp: op( sExpr ), list: args( sExpr ), *************** *** 870,874 **** oldsimp:simp, simp:true, ! val: "true", tExprPartFrac:ev(partfrac(tExpr,wrt),simp), sExprexpand:expand(sExpr), --- 869,873 ---- oldsimp:simp, simp:true, ! val:"true", tExprPartFrac:ev(partfrac(tExpr,wrt),simp), sExprexpand:expand(sExpr), *************** *** 884,891 **** simp:oldsimp ), ! if topOp = "+" or topOp = "-" then block([tExprPartFrac,oldsimp,val], oldsimp:simp, simp:true, ! val: "true", tExprPartFrac:ev(partfrac(tExpr,wrt),simp), if tExprPartFrac=expand(sExpr) or tExprPartFrac=sExpr then --- 883,890 ---- simp:oldsimp ), ! if topOp = "+" or topOp = "-" then block([tExprPartFrac,oldsimp], oldsimp:simp, simp:true, ! val:"true", tExprPartFrac:ev(partfrac(tExpr,wrt),simp), if tExprPartFrac=expand(sExpr) or tExprPartFrac=sExpr then *************** *** 919,928 **** ) else ! block( ! [sDeg,tDeg], ! sDeg: deg(denom(factor(sExpr))), ! tDeg: deg(denom(factor(tExpr))), ! sNDeg: deg(num(factor(sExpr))), ! tNDeg: deg(num(factor(tExpr))), if tDeg # sDeg then block( --- 918,926 ---- ) else ! block([sDeg,tDeg], ! sDeg: degree(denom(factor(sExpr)),wrt), ! tDeg: degree(denom(factor(tExpr)),wrt), ! sNDeg: degree(num(factor(sExpr)),wrt), ! tNDeg: degree(num(factor(tExpr)),wrt), if tDeg # sDeg then block( *************** *** 937,946 **** else block( ! if sDeg = 2 then ! ret: quadTest(sExpr,tExpr,wrt) ! else if sDeg = 3 then ! ret: tripTest(sExpr,tExpr,wrt) ! else ! ret: singTest(sExpr,tExpr) ) ) --- 935,943 ---- else block( ! val: "true", ! rawmk: string(0), ! ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$\$")), ! ret: StackReturnOb(val,rawmk,ansnote,fb) ) ) *************** *** 1054,1106 **** /*****************************************************************/ /* Partial Fractions answer Test functions */ ! /* Author: LastRenshai */ /*****************************************************************/ /* *******Functions Used******** */ - /* deg(Expr) */ /* isDenomSame(sExpr, tExpr) */ /* isNumSame(sExpr, tExpr) */ /* isPartFrac(sExpr, tExpr, wrt) */ - /* quadTest(sExpr, tExpr, wrt) */ /* sameVars(expr1, expr2) */ - /* singTest(sExpr, tExpr) */ - /* tripTest(sExpr, tExpr, wrt) */ /* ***************************** */ - - /* ******************Degree Of Polynomial Test************************* */ - /* Assumes expression isn't already expanded and contains a val of x */ - /* requires : expression with variable such as x */ - /* returns : degree of highest power of var */ - /* ******************************************************************** */ - deg(expr):= - if atom(expr) then 1 - else - block( - - expr2: expand(expr), - topOp: op(expr2), - - if topOp = "^" then - part(args(expr2),2) - else if topOp = "*" then - block( - secPart: part(args(expr2),2), - if atom(secPart) then - 1 - else - deg(part(args(expr2),2)) - ) - - else - block( - firstArg: part(expr2,1), - if atom(firstArg) then - 1 - else - deg(part(args(expr2),1)) - ) - ); - - /* ************Denominator Same Test*************************** */ --- 1051,1063 ---- /*****************************************************************/ /* Partial Fractions answer Test functions */ ! /* Author: LastRenshai, Modified by Chris Sangwin */ /*****************************************************************/ /* *******Functions Used******** */ /* isDenomSame(sExpr, tExpr) */ /* isNumSame(sExpr, tExpr) */ /* isPartFrac(sExpr, tExpr, wrt) */ /* sameVars(expr1, expr2) */ /* ***************************** */ /* ************Denominator Same Test*************************** */ *************** *** 1162,1213 **** ); - /* **********************QUAD TEST***************************** */ - /* Use: Degree of Expression is 2, expressions not equivalent */ - /* Requires: SExpr - Students Expression */ - /* TExpr - Teachers Expression */ - /* wrt - Variable part frac occurs */ - /* Returns: StackReturnOb */ - /* CASE 1: different Numerators - factored sExpr */ - /* CASE 2: diff denominators - sDenom and tDenom */ - /* CASE 3: Other wise - Factored sExpr */ - /* ************************************************************ */ - - quadTest(sExpr, tExpr, wrt):= - - block( [val, rawmk, ansnote, fb], - tPExpr: partFrac(tExpr, wrt), - tExprL: part(tPExpr,1), - tExprR: part(tPExpr,2), - sExprL: part(sExpr,1), - sExprR: part(sExpr,2), - - if (isNumSame(sExprL, tExprL) = false and isNumSame(sExprL, tExprR) = false) - or (isNumSame(sExprR, tExprL) = false and isNumSame(sExprR, tExprR) = false) then - block( - val: "true", - rawmk: string(0), - ansnote: "ATPartFrac_ret_expression", - fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$\$")) - ) - else if (isDenomSame(sExprL, tExprL) = false and isDenomSame(sExprL, tExprR) = false) - or (isDenomSame(sExprR, tExprL) = false and isDenomSame(sExprR, tExprR) = false) then - block( - val: "true", - rawmk: string(0), - ansnote: "ATPartFrac_denom_ret", - fb: StackAddFeedback("","ATPartFrac_denom_ret", StackDISP(denom(factor(sExpr)),"\$"), StackDISP(denom(factor(tExpr)),"\$")) - ) - else - block( - val:"true", - rawmk: string(0), - ansnote: "ATPartFrac_ret_expression", - fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$\$")) - ), - ret: StackReturnOb(val, rawmk,ansnote,fb), - return(ret) - ); - - /* ***************Variables used the Same********************** */ --- 1119,1122 ---- *************** *** 1225,1310 **** ); - - /* ****************1st Degree Partial Fraction***************** */ - /* Use: Degree of Expression is 1, expressions not equivalent */ - /* Requires: SExpr - Students Expression */ - /* TExpr - Teachers Expression */ - /* Returns: StackReturnOb */ - /* CASE 1: different Numerators - factored sExpr */ - /* CASE 2: diff denominators - sDenom and tDenom */ - /* CASE 3: Other wise - Factored sExpr */ - /* ************************************************************ */ - - singTest(sExpr, tExpr):= - ( [val, rawmk, ansnote, fb], - tE: factor(tExpr), - sE: factor(sExpr), - if (isDenomSame(sE,tE) = false) then - block( - val:"true", - rawmk: string(0), - ansnote: "ATPartFrac_denom_ret", - fb: StackAddFeedback("","ATPartFrac_denom_ret", StackDISP(denom(sE),"\$"), StackDISP(denom(tE),"\$")) - ) - else - block( - val:"true", - rawmk: string(0), - ansnote: "ATPartFrac_ret_expression", - fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(sE,"\$")) - ), - ret: StackReturnOb(val, rawmk, ansnote, fb), - return(ret) - ); - - /* ****************3rd Degree Partial Fraction***************** */ - /* Use: Degree of Expression is 3, expressions not equivalent */ - /* Requires: SExpr - Students Expression */ - /* TExpr - Teachers Expression */ - /* wrt - Variable part frac occurs */ - /* Returns: StackReturnOb */ - /* CASE 1: different Numerators - factored sExpr */ - /* CASE 2: diff denominators - sDenom and tDenom */ - /* CASE 3: Other wise - Factored sExpr */ - /* ************************************************************ */ - - tripTest(sExpr, tExpr, wrt):= - ( [val, rawmk, ansnote, fb], - tPExpr: partFrac(tExpr,wrt), - s1: part(sExpr,1), - s2: part(sExpr,2), - s3: part(sExpr,3), - t1: part(tPExpr,1), - t2: part(tPExpr,2), - t3: part(tPExpr,3), - - if (isNumSame(s1,t1) =false and isNumSame(s1,t2) = false and isNumSame(s1,t3) = false) - OR (isNumSame(s2,t1) =false and isNumSame(s2,t2) = false and isNumSame(s2,t3) = false) - OR (isNumSame(s3,t1) =false and isNumSame(s3,t2) = false and isNumSame(s3,t3) = false) then - block( - val:"true", - rawmk: string(0), - ansnote: "ATPartFrac_ret_expression", - fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$")) - ) - else if (isDenomSame(s1,t1) = false and isDenomSame(s1,t2) = false and isDenomSame(s1, t3) = false) - OR (isDenomSame(s2,t1) = false and isDenomSame(s2,t2) = false and isDenomSame(s2, t3) = false) - OR (isDenomSame(s3,t1) = false and isDenomSame(s3,t2) = false and isDenomSame(s3, t3) = false) then - block( - val: "true", - rawmk: string(0), - ansnote: "ATPartFrac_denom_ret", - fb: StackAddFeedback("","ATPartFrac_denom_ret", StackDISP(denom(factor(sExpr)),"\$"), StackDISP(denom(factor(tExpr)),"\$")) - ) - else - block( - val: "true", - rawmk: string(0), - ansnote: "ATPartFrac_ret_expression", - fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$")) - ), - ret: StackReturnOb(val, rawmk, ansnote, fb), - return(ret) - ); /*********************/ --- 1134,1137 ---- Index: stackfun.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/maxima/stackfun.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** stackfun.php 9 Nov 2005 13:53:08 -0000 1.5 --- stackfun.php 27 Nov 2005 11:30:52 -0000 1.6 *************** *** 158,161 **** --- 158,217 ---- $stack_cmd['plot']['use'] = 's'; + /**********************************************/ + /* From the Maxima Powers package */ + /**********************************************/ + + $stack_cmd['variablep']['doc'] = 'variablep(e) evaluates to true if and only if e is a non-constant symbol + or a subscripted symbol. Because symbolp(pi) evaluates to true, we need to check whether cd mae is constant.'; + $stack_cmd['variablep']['syntax'] = 'variablep(e)'; + $stack_cmd['variablep']['type'] = 'powers'; + $stack_cmd['variablep']['use'] = 't'; + + $stack_cmd['polynomialp']['doc'] = 'Return true iff and only if e is a polynomial in the variables v.'; + $stack_cmd['polynomialp']['syntax'] = 'polynomialp(e,[v])'; + $stack_cmd['polynomialp']['type'] = 'powers'; + $stack_cmd['polynomialp']['use'] = 't'; + + $stack_cmd['degree']['doc'] = 'Return the degree of the symbol x in the polynomial p. When + x is a list, degree(p, [x1,x2,...,xn]) returns + degree(p,x1) + degree(lcoeff(p, x1),[x2,...xn]). + Finally, degree(p,[]) returns 0.'; + $stack_cmd['degree']['syntax'] = 'degree(p,x)'; + $stack_cmd['degree']['type'] = 'powers'; + $stack_cmd['degree']['use'] = 't'; + + $stack_cmd['lcoeff']['doc'] = 'Return the leadning coefficient, ie coefficient of the term of the polynomial e that contains the highest power of x (or v)'; + $stack_cmd['lcoeff']['syntax'] = 'lcoeff(e,[v])'; + $stack_cmd['lcoeff']['type'] = 'powers'; + $stack_cmd['lcoeff']['use'] = 't'; + + $stack_cmd['tcoeff']['doc'] = 'Return the coefficient of the term of the polynomial e that contains the lowest power of x (or v)'; + $stack_cmd['tcoeff']['syntax'] = 'tcoeff(e,[v])'; + $stack_cmd['tcoeff']['type'] = 'powers'; + $stack_cmd['tcoeff']['use'] = 't'; + + $stack_cmd['allcoeffs']['doc'] = 'If e is a sum of powers of x, return a list of the coefficients of powers of x. When e isn\'t a sum of powers, return false. '; + $stack_cmd['allcoeffs']['syntax'] = 'allcoeffs(e,x)'; + $stack_cmd['allcoeffs']['type'] = 'powers'; + $stack_cmd['allcoeffs']['use'] = 't'; + + $stack_cmd['total_degree']['doc'] = 'Return the total degree of the polynomial. '; + $stack_cmd['total_degree']['syntax'] = 'total_degree(p,[v])'; + $stack_cmd['total_degree']['type'] = 'powers'; + $stack_cmd['total_degree']['use'] = 't'; + + $stack_cmd['ordinal_string']['doc'] = 'ordinal_string(i) returns the ordinal name of the integer i. eg, ordinal_string(i)="second".'; + $stack_cmd['ordinal_string']['syntax'] = 'ordinal_string(i)'; + $stack_cmd['ordinal_string']['type'] = 'powers'; + $stack_cmd['ordinal_string']['use'] = 't'; + + + $stack_cmd['']['doc'] = ''; + $stack_cmd['']['syntax'] = ''; + $stack_cmd['']['type'] = ''; + $stack_cmd['']['use'] = ''; + + + //$stack_cmd['']['doc'] = ''; //$stack_cmd['']['syntax'] = ''; |
From: Chris S. <san...@us...> - 2005-11-27 11:31:07
|
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8882 Modified Files: index.php quiz.php stackConfig.php.dist Log Message: Index: quiz.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/quiz.php,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** quiz.php 19 Nov 2005 15:33:54 -0000 1.48 --- quiz.php 27 Nov 2005 11:30:52 -0000 1.49 *************** *** 802,805 **** --- 802,808 ---- <td>".get_string('STACKHomePage','stack','')."</td></tr>\n"; echo "</table>"; + if (''!=$options['TeacherEmail']) { + echo '<p>'.get_string('FE_index_email','stack',$options['TeacherEmail']).'</p>'; + } Index: stackConfig.php.dist =================================================================== RCS file: /cvsroot/stack/stack-1-0/stackConfig.php.dist,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** stackConfig.php.dist 17 Nov 2005 21:54:19 -0000 1.6 --- stackConfig.php.dist 27 Nov 2005 11:30:52 -0000 1.7 *************** *** 129,135 **** /***************************************************/ $stack_mail['sendmail'] = FALSE; // Don't send mail $stack_mail['smtp_host' ] = 'mail.somewhere.com'; // smtp server - $stack_mail['admin_email'] = 'so...@so...'; // The email address of the adminstrator. /*************************************************************/ --- 129,140 ---- /***************************************************/ + // The email address of the adminstrator. + $stack_mail['admin_email'] = 'so...@so...'; + // If this empty, '', or has the value 'so...@so...' the email address + // at the bottom of subject and quiz pages will be suppressed. + + // Use the settings below to have STACK send email automatically. $stack_mail['sendmail'] = FALSE; // Don't send mail $stack_mail['smtp_host' ] = 'mail.somewhere.com'; // smtp server /*************************************************************/ Index: index.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/index.php,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** index.php 19 Nov 2005 15:33:54 -0000 1.35 --- index.php 27 Nov 2005 11:30:51 -0000 1.36 *************** *** 181,184 **** --- 181,188 ---- } echo $subject['subjectHTMLFoot']; + $options = stack_options_set(NULL,$subject); + if (''!=$options['TeacherEmail']) { + echo '<p>'.get_string('FE_index_email','stack',$options['TeacherEmail']).'</p>'; + } } break; |
From: Chris S. <san...@us...> - 2005-11-27 11:31:07
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8882/lang/en/doc Modified Files: about_install.php author_commonsyntax.php author_testsuite.php en_doc.php Log Message: Index: about_install.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/about_install.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** about_install.php 25 Nov 2005 16:02:21 -0000 1.6 --- about_install.php 27 Nov 2005 11:30:52 -0000 1.7 *************** *** 32,37 **** <li><b>Microsoft:</b> STACK has been tested on Windows XP and Windows 2000 using IIS and <a href="http://www.easyphp.org/">EasyPHP</a>. EasyPHP is by far the easiest ! platform on which to install STACK. However, this does not seem to be as efficient as Linux and ! may not be suitable for a production server.</li> </ul> --- 32,37 ---- <li><b>Microsoft:</b> STACK has been tested on Windows XP and Windows 2000 using IIS and <a href="http://www.easyphp.org/">EasyPHP</a>. EasyPHP is by far the easiest ! platform on which to install STACK. However, EasyPHP is <font color="red">not</font> ! suitable for a production server.</li> </ul> *************** *** 47,51 **** <li>You need to convex LaTeX to HTML with <a href="http://hutchinson.belmont.ma.us/tth/">TtH</a>. <li>The computer algebra system (<a href="#cas">see below</a>) ! <a href="http://maxima.sourceforge.net/">Maxima</a>. Version 5.9.1 (or later) is needed to include graphical support. (Note, for those on a Microsoft platform, the <a href="http://wxmaxima.sourceforge.net/">wxMaxima</a> front end is much better than that distributed with Maxima itself and is well worth installing for --- 47,52 ---- <li>You need to convex LaTeX to HTML with <a href="http://hutchinson.belmont.ma.us/tth/">TtH</a>. <li>The computer algebra system (<a href="#cas">see below</a>) ! <a href="http://maxima.sourceforge.net/">Maxima</a>. Version 5.9.1 is needed. Version 5.9.2 is the ! latest release, but is not currently supported - this will change in the near future. (Note, for those on a Microsoft platform, the <a href="http://wxmaxima.sourceforge.net/">wxMaxima</a> front end is much better than that distributed with Maxima itself and is well worth installing for *************** *** 81,86 **** <p><font color="red">WARNING! What these scripts attempt to do is inherently insecure.</font> This system is designed to ! execute arbitrary third party CAS code on your server, to create ! mathematical questions. This is inherently insecure, and you should be aware of the dangers. These are <em>in addition</em> to the normal security problems associated with interactive, --- 82,88 ---- <p><font color="red">WARNING! What these scripts attempt to do is inherently insecure.</font> This system is designed to ! execute CAS code typed in by your student (or indeed an arbitrary third party) ! on your server, to create and mark mathematical questions. ! This is inherently insecure, and you should be aware of the dangers. These are <em>in addition</em> to the normal security problems associated with interactive, *************** *** 101,108 **** <h2><a href="http://www.php.net/">PHP</a></h2> ! STACK needs no special PHP settings, although the function <tt>proc_open</tt> ! must be available to establish a connection with the external applications. ! <p>For mail, use the <a href="http://pear.php.net/">pear class</a>. For example in Linux, to install this from the command line, type <tt>pear install mail</tt>, for example.<br /> --- 103,117 ---- <h2><a href="http://www.php.net/">PHP</a></h2> ! STACK needs ! <ul> ! <li><em>sessions</em> to be enabled.</li> ! <li>the function <tt>proc_open</tt> ! must be available to establish a connection with the external applications.</li> ! </ul> ! There are enabled by default. Apart from this ! requirement there are no special PHP settings. ! <p>For mail alterts (which are not fully implemented) ! , use the <a href="http://pear.php.net/">pear class</a>. For example in Linux, to install this from the command line, type <tt>pear install mail</tt>, for example.<br /> *************** *** 117,121 **** downloads.</p> ! <p>For reference, the Linux test system adopted the following options. <br /><tt>./configure --with-mysql --with-apache --with-gd --with-zlib</tt> </p> --- 126,130 ---- downloads.</p> ! <p>For reference, I use Linux with the following options. <br /><tt>./configure --with-mysql --with-apache --with-gd --with-zlib</tt> </p> Index: author_testsuite.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/author_testsuite.php,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** author_testsuite.php 19 Nov 2005 16:37:08 -0000 1.22 --- author_testsuite.php 27 Nov 2005 11:30:52 -0000 1.23 *************** *** 184,192 **** $testsuite[] = stack_testsuite_construct('PartFrac','1/m','1/n',0,'n','Basic tests'); $testsuite[] = stack_testsuite_construct('PartFrac','1/n','1/n',0,'n',''); ! $testsuite[] = stack_testsuite_construct('PartFrac','1/(n+1)-1/n','1/(n+1)-1/n',1,'n','A simple correct answer'); $testsuite[] = stack_testsuite_construct('PartFrac','3/(x+1) + 3/(x+2)','3*(2*x+3)/((x+1)*(x+2))',1,'x','2 answers to the same question'); $testsuite[] = stack_testsuite_construct('PartFrac','3*(1/(x+1) + 1/(x+2))','3*(2*x+3)/((x+1)*(x+2))',1,'x',''); - $testsuite[] = stack_testsuite_construct('PartFrac','1/(n+1)+1/(1-n)','1/(n+1)-1/(n-1)',1,'n',''); - $testsuite[] = stack_testsuite_construct('PartFrac','3*(1/(n+1)+1/(1-n))','3/(n+1)-3/(n-1)',1,'n',''); $testsuite[] = stack_testsuite_construct('PartFrac','3*x*(1/(x+1) + 2/(x+2))','-12/(x+2)-3/(x+1)+9',0,'x','Incorrect algebraic factors, but algebraically equivalent'); $testsuite[] = stack_testsuite_construct('PartFrac','(3*x+3)*(1/(x+1) + 2/(x+2))','9-6/(x+2)',0,'x',''); --- 184,195 ---- $testsuite[] = stack_testsuite_construct('PartFrac','1/m','1/n',0,'n','Basic tests'); $testsuite[] = stack_testsuite_construct('PartFrac','1/n','1/n',0,'n',''); ! $testsuite[] = stack_testsuite_construct('PartFrac','1/(n+1)-1/n','1/(n+1)-1/n',1,'n','A simple cases, linear factors in demoninator'); ! $testsuite[] = stack_testsuite_construct('PartFrac','1/(n+1)+1/(1-n)','1/(n+1)-1/(n-1)',1,'n',''); ! $testsuite[] = stack_testsuite_construct('PartFrac','1/(2*(n-1))-1/(2*(n+1))','1/((n-1)*(n+1))',1,'n',''); ! $testsuite[] = stack_testsuite_construct('PartFrac','1/(2*(n+1))-1/(2*(n-1))','1/((n-1)*(n+1))',0,'n',''); ! $testsuite[] = stack_testsuite_construct('PartFrac','1/(2*(x-1))-(x+1)/(2*(x^2+1))','1/((x-1)*(x^2+1))',1,'x','Irreducible quadratic in demoninator'); ! $testsuite[] = stack_testsuite_construct('PartFrac','1/(2*(x-1))+x/(2*(x^2+1))','1/((x-1)*(x^2+1))',0,'x',''); $testsuite[] = stack_testsuite_construct('PartFrac','3/(x+1) + 3/(x+2)','3*(2*x+3)/((x+1)*(x+2))',1,'x','2 answers to the same question'); $testsuite[] = stack_testsuite_construct('PartFrac','3*(1/(x+1) + 1/(x+2))','3*(2*x+3)/((x+1)*(x+2))',1,'x',''); $testsuite[] = stack_testsuite_construct('PartFrac','3*x*(1/(x+1) + 2/(x+2))','-12/(x+2)-3/(x+1)+9',0,'x','Incorrect algebraic factors, but algebraically equivalent'); $testsuite[] = stack_testsuite_construct('PartFrac','(3*x+3)*(1/(x+1) + 2/(x+2))','9-6/(x+2)',0,'x',''); Index: author_commonsyntax.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/author_commonsyntax.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** author_commonsyntax.php 8 Nov 2005 09:41:39 -0000 1.6 --- author_commonsyntax.php 27 Nov 2005 11:30:52 -0000 1.7 *************** *** 124,134 **** </ol> - <p>For the purposes of learning and teaching, we do not need an algorithm which is statistically perfect. We are much more interested in simplicity, efficiency and reproducibility across platforms. Hence, we adopt a linear method.</p> - - <h2>Plots</h2> --- 124,131 ---- *************** *** 155,156 **** --- 152,165 ---- <?php disp_cas('calculus') ?> + + <h2>"Powers"</h2> + + <p>Maxima has a package called <tt>powers</tt>, which contains many useful functions. This is automatically + loaded, and so the functions are available to the user. If you need to use these function within the + Maxima application itself, you will need to <tt>load("powers")</tt> first.</p> + + <p>See also the <tt>format</tt> package, which is also available with its own + <a href="scripts/maxima/format/format.pdf">documentation</a>.</p> + + + <?php disp_cas('powers') ?> Index: en_doc.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/en_doc.php,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** en_doc.php 19 Nov 2005 16:37:08 -0000 1.16 --- en_doc.php 27 Nov 2005 11:30:52 -0000 1.17 *************** *** 237,246 **** by the system. The <tt>String</tt> representation is exactly the CAS string. LaTeX uses the CAS's tex() function, and then passes ! the result through TTH. MathML is not implemented in all CAS ! systems. The \"LaTeX Source\" option generates LaTeX code, but does ! not process it. This can be cut and pasted into other LaTeX documents."; ! $stackOptions['Complex no']['doc']="This prints that complex number <tt>sqrt(-1)=j</tt>. ! Note, this only works in LaTeX display mode."; $stackOptions['MultiplicationSign']['doc']="This option allows the display of multiplication --- 237,248 ---- by the system. The <tt>String</tt> representation is exactly the CAS string. LaTeX uses the CAS's tex() function, and then passes ! the result through TTH. ! The \"LaTeX Source\" option generates LaTeX code, but does ! not process it. This can be cut and pasted into other LaTeX documents. ! <em>MathML is not fully implemented.</em>"; ! $stackOptions['Complex no']['doc']="This chooses how to print the complex ! number <tt>sqrt(-1)</tt>, either <em>i</em>, <em>j</em>."; ! //<em><font face="symbol">Ö</font><font face="symbol">-</font>1</em>. $stackOptions['MultiplicationSign']['doc']="This option allows the display of multiplication *************** *** 326,332 **** the <tt>AnswerTest</tt>. Not all <tt>AnswerTest</tt>'s require one. See the specific documentation. This option is considered to be a CASString, and so if non-empty must be a valid CASString."; - $stackOptions['TeacherEmail']['doc']="This is the email address that appears on the page for students - to email help"; - $stackOptions['FeedBackGenericCorrect']['doc']="This is the string displayed to the student when their answer gets full marks, in addition to anything from the response processing tree or answer tests."; $stackOptions['FeedBackGenericIncorrect']['doc']="This is the string displayed to the student when their answer gets full marks, in addition to anything from the response processing tree or answer tests."; --- 328,331 ---- |
From: Chris S. <san...@us...> - 2005-11-27 11:31:07
|
Update of /cvsroot/stack/stack-1-0/lang/en In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8882/lang/en Modified Files: stack.php Log Message: Index: stack.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/stack.php,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** stack.php 24 Nov 2005 18:47:47 -0000 1.42 --- stack.php 27 Nov 2005 11:30:52 -0000 1.43 *************** *** 473,476 **** --- 473,477 ---- $string['FE_index_register_title'] = 'Register as a new user'; $string['FE_index_register_instruct'] = 'To register as a STACK user, please provide the following information.'; + $string['FE_index_email'] = 'For support, email <a href=\'mailto:{$a}\'>$a</a>'; $string['FE_user_nousers'] = 'You have no users in your database.'; |
From: Chris S. <san...@us...> - 2005-11-27 11:31:07
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8882/scripts Modified Files: stackDatabase.php stackQuestion.php stackWin.php Log Message: Index: stackDatabase.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackDatabase.php,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** stackDatabase.php 24 Nov 2005 19:09:14 -0000 1.57 --- stackDatabase.php 27 Nov 2005 11:30:52 -0000 1.58 *************** *** 893,897 **** // Only store answers to questions that have an ID, which is not zero, ie are in the DB. ! if ('' != $questionID and 0 != $questionID) { $query='INSERT INTO questionAttempts '; --- 893,897 ---- // Only store answers to questions that have an ID, which is not zero, ie are in the DB. ! if ( '' != $questionID and 0 != $questionID and -1 != $userID) { $query='INSERT INTO questionAttempts '; Index: stackWin.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackWin.php,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** stackWin.php 19 Nov 2005 15:33:54 -0000 1.15 --- stackWin.php 27 Nov 2005 11:30:52 -0000 1.16 *************** *** 89,93 **** global $stack_root,$stack_logfiles,$stack_cas; ! $debug = FALSE; if (array_key_exists('debug',$_GET)) { $debug = TRUE; --- 89,93 ---- global $stack_root,$stack_logfiles,$stack_cas; ! $debug = false; if (array_key_exists('debug',$_GET)) { $debug = TRUE; Index: stackQuestion.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackQuestion.php,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** stackQuestion.php 19 Nov 2005 16:37:08 -0000 1.54 --- stackQuestion.php 27 Nov 2005 11:30:52 -0000 1.55 *************** *** 133,136 **** --- 133,141 ---- $stackOptions['TeacherEmail']['default'] = ''; + // Set a default value. + if ('' != $stack_mail['admin_email'] and 'so...@so...' != $stack_mail['admin_email']) { + $stackOptions['TeacherEmail']['default'] = $stack_mail['admin_email']; + } + // 'Feedback: correct'; $stackOptions['FeedBackGenericCorrect']['type'] = 'html'; |
From: Chris S. <san...@us...> - 2005-11-27 11:31:03
|
Update of /cvsroot/stack/stack-1-0/scripts/install In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8882/scripts/install Modified Files: stackInstall.php Log Message: Index: stackInstall.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/install/stackInstall.php,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** stackInstall.php 5 Sep 2005 14:10:01 -0000 1.19 --- stackInstall.php 27 Nov 2005 11:30:52 -0000 1.20 *************** *** 7,11 **** // To install, add comments to this line. ! //die(); /** --- 7,11 ---- // To install, add comments to this line. ! die("<font color='red'>Edit this script to active installation.</font>"); /** |
From: Chris S. <san...@us...> - 2005-11-25 16:02:29
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9301/lang/en/doc Modified Files: about_install.php Log Message: Index: about_install.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/about_install.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** about_install.php 31 Oct 2005 12:25:06 -0000 1.5 --- about_install.php 25 Nov 2005 16:02:21 -0000 1.6 *************** *** 156,167 **** such as <a href="http://www.nongnu.org/axiom/">AXIOM</a>. ! <p>Maxima is the preferred open source CAS. Version 5.9.1, or later, is needed, to work with the <a href="http://www.gnuplot.info/">GNUPLOT</a> package, for ! graphical support. <p><b>Linux only:</b> Please read the Maxima documentation carefully, since this package is itself supported in a number of different Lisp implementations. <p><b>Windows only:</b> --- 156,171 ---- such as <a href="http://www.nongnu.org/axiom/">AXIOM</a>. ! <p>Maxima is the preferred open source CAS. Version 5.9.1 is needed, to work with the <a href="http://www.gnuplot.info/">GNUPLOT</a> package, for ! graphical support. <font color='red'> ! STACK is yet to be tested with Maxima 5.9.2.</font> <p><b>Linux only:</b> Please read the Maxima documentation carefully, since this package is itself supported in a number of different Lisp implementations. + STACK has been tested only with + maxima-exec-gcl-5.9.2-2.i386.rpm + <p><b>Windows only:</b> |
From: Chris S. <san...@us...> - 2005-11-24 19:09:22
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv885 Modified Files: stackDatabase.php Log Message: Index: stackDatabase.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackDatabase.php,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** stackDatabase.php 24 Nov 2005 18:47:47 -0000 1.56 --- stackDatabase.php 24 Nov 2005 19:09:14 -0000 1.57 *************** *** 973,977 **** FROM questionAttempts WHERE questionID=$questionID AND questionSeedInst=$seed AND userID=$user ! ORDER BY attemptID"; $result= stack_db_query($query); --- 973,977 ---- FROM questionAttempts WHERE questionID=$questionID AND questionSeedInst=$seed AND userID=$user ! ORDER BY TimeStamp"; $result= stack_db_query($query); |
From: Chris S. <san...@us...> - 2005-11-24 19:04:00
|
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31868 Modified Files: user.php Log Message: Index: user.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/user.php,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** user.php 24 Nov 2005 19:02:48 -0000 1.16 --- user.php 24 Nov 2005 19:03:52 -0000 1.17 *************** *** 152,155 **** --- 152,158 ---- $stack_users = stack_user_listall(); $users = array(); + if (!is_array($stack_users)) { + break; + } foreach($stack_users as $user) { $users[$user['id']] = $user['name']; |
From: Chris S. <san...@us...> - 2005-11-24 19:02:56
|
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31554 Modified Files: user.php Log Message: Index: user.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/user.php,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** user.php 24 Nov 2005 19:01:54 -0000 1.15 --- user.php 24 Nov 2005 19:02:48 -0000 1.16 *************** *** 162,167 **** <input type='submit' name='submit' value='Submit' />"; if (is_array($subject_classlist)) { - echo '<h2>'.get_string('FE_user_enrolled','stack','')."</h2>\n"; echo "<table>"; $trcol = FALSE; --- 162,167 ---- <input type='submit' name='submit' value='Submit' />"; + echo '<h2>'.get_string('FE_user_enrolled','stack','')."</h2>\n"; if (is_array($subject_classlist)) { echo "<table>"; $trcol = FALSE; *************** *** 178,183 **** } if (is_array($users)) { - echo '<h2>'.get_string('FE_user_not_enrolled','stack','')."</h2>\n"; echo "<table>"; $trcol = FALSE; --- 178,183 ---- } + echo '<h2>'.get_string('FE_user_not_enrolled','stack','')."</h2>\n"; if (is_array($users)) { echo "<table>"; $trcol = FALSE; |
From: Chris S. <san...@us...> - 2005-11-24 19:02:01
|
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31215 Modified Files: user.php Log Message: Index: user.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/user.php,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** user.php 24 Nov 2005 18:47:46 -0000 1.14 --- user.php 24 Nov 2005 19:01:54 -0000 1.15 *************** *** 162,191 **** <input type='submit' name='submit' value='Submit' />"; ! echo '<h2>'.get_string('FE_user_enrolled','stack','')."</h2>\n"; ! echo "<table>"; ! $trcol = FALSE; ! foreach($subject_classlist as $uID) { ! $trcol = !$trcol; ! $user = $users[$uID]; ! unset($users[$uID]); ! if ($trcol) { echo "\n<tr bgcolor='#DDDDDD'>\n"; } else { echo "\n<tr bgcolor='#DDDDFF'>\n"; } ! echo "<td><input type='checkbox' name='user_drop[$uID]' value='ticked' /></td>\n"; ! echo "<td>$user</td>"; ! } ! echo "</table>"; ! ! echo '<h2>'.get_string('FE_user_not_enrolled','stack','')."</h2>\n"; ! echo "<table>"; ! $trcol = FALSE; ! foreach($users as $uID => $user) { ! $trcol = !$trcol; ! if ($trcol) { echo "\n<tr bgcolor='#DDDDDD'>\n"; } else { echo "\n<tr bgcolor='#DDDDFF'>\n"; } ! echo "<td><input type='checkbox' name='user_add[$uID]' value='ticked' /></td>\n"; ! echo "<td>$user</td>"; ! } ! echo "</table>"; echo "</form>"; --- 162,195 ---- <input type='submit' name='submit' value='Submit' />"; ! if (is_array($subject_classlist)) { ! echo '<h2>'.get_string('FE_user_enrolled','stack','')."</h2>\n"; ! echo "<table>"; ! $trcol = FALSE; ! foreach($subject_classlist as $uID) { ! $trcol = !$trcol; ! $user = $users[$uID]; ! unset($users[$uID]); ! if ($trcol) { echo "\n<tr bgcolor='#DDDDDD'>\n"; } else { echo "\n<tr bgcolor='#DDDDFF'>\n"; } ! echo "<td><input type='checkbox' name='user_drop[$uID]' value='ticked' /></td>\n"; ! echo "<td>$user</td>"; ! } ! echo "</table>"; ! } ! if (is_array($users)) { ! echo '<h2>'.get_string('FE_user_not_enrolled','stack','')."</h2>\n"; ! echo "<table>"; ! $trcol = FALSE; ! foreach($users as $uID => $user) { ! $trcol = !$trcol; + if ($trcol) { echo "\n<tr bgcolor='#DDDDDD'>\n"; } else { echo "\n<tr bgcolor='#DDDDFF'>\n"; } + echo "<td><input type='checkbox' name='user_add[$uID]' value='ticked' /></td>\n"; + echo "<td>$user</td>"; + } + echo "</table>"; + } + echo "</form>"; |
From: Chris S. <san...@us...> - 2005-11-24 18:58:24
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30311/scripts Modified Files: stackCAS.php Log Message: Index: stackCAS.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackCAS.php,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** stackCAS.php 19 Nov 2005 15:33:54 -0000 1.13 --- stackCAS.php 24 Nov 2005 18:58:17 -0000 1.14 *************** *** 262,266 **** $exp1 = str_replace('?','qmchar',$exp1); - $exp2 = str_replace('?','qmchar',$exp2); $loclistA = ''; --- 262,265 ---- *************** *** 289,293 **** // Ensure that the student's answer is not automatically simplified ! $cas_cmd .= " cab:block([ ans,str{$loclistA}] {$loclistC}, "; $cas_cmd .= " simp:false, "; $cas_cmd .= " print(\"[ Timestamp = [ 0 ], Ans= [ error = [\"), cte(\"ans\",errcatch(ans:$exp1)),"; --- 288,292 ---- // Ensure that the student's answer is not automatically simplified ! $cas_cmd = " cab:block([ ans,str{$loclistA}] {$loclistC}, "; $cas_cmd .= " simp:false, "; $cas_cmd .= " print(\"[ Timestamp = [ 0 ], Ans= [ error = [\"), cte(\"ans\",errcatch(ans:$exp1)),"; |
From: Chris S. <san...@us...> - 2005-11-24 18:56:22
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29771/scripts Modified Files: stackUnix.php Log Message: Index: stackUnix.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackUnix.php,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** stackUnix.php 17 Nov 2005 21:54:19 -0000 1.20 --- stackUnix.php 24 Nov 2005 18:56:14 -0000 1.21 *************** *** 19,23 **** * @return string|boolean The converted HTML string or FALSE if there was an error. */ ! function stack_latex_to_html($strin) { global $stack_logfiles,$stack_latex,$stack_root; --- 19,23 ---- * @return string|boolean The converted HTML string or FALSE if there was an error. */ ! function stack_latex_to_html($strin,$display='LaTeX') { global $stack_logfiles,$stack_latex,$stack_root; |
From: Chris S. <san...@us...> - 2005-11-24 18:51:58
|
Update of /cvsroot/stack/stack-1-0/html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28744/html Added Files: userenrole.html Log Message: --- NEW FILE: userenrole.html --- <!-- This form is used by stackSubject --> <script language="javascript"> function userenrole(n) { document.forms.userenroleform.subjectID.value = n; document.forms.userenroleform.submit(); } </script> <form name='userenroleform' action='user.php' method='POST'> <input type='hidden' name='subjectID' value='-1' /> <input type='hidden' name='action' value='enrole' /> </form> |
From: Chris S. <san...@us...> - 2005-11-24 18:47:59
|
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27885 Modified Files: editsubject.php user.php Log Message: Add the concept of class list Index: editsubject.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/editsubject.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** editsubject.php 11 Oct 2005 17:35:38 -0000 1.3 --- editsubject.php 24 Nov 2005 18:47:46 -0000 1.4 *************** *** 52,55 **** --- 52,56 ---- require_once("{$stack_root}/html/helpform.php"); require_once("{$stack_root}/html/subjectjava.html"); + require_once("{$stack_root}/html/userenrole.html"); //////////////////////////////////////////////// Index: user.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/user.php,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** user.php 14 Oct 2005 15:42:27 -0000 1.13 --- user.php 24 Nov 2005 18:47:46 -0000 1.14 *************** *** 56,59 **** --- 56,76 ---- } + if ('enrole' == $action) { + if (array_key_exists('subjectID',$_POST)) { + $subjectID = $_POST['subjectID']; + if (array_key_exists('user_drop',$_POST)) { + $users = $_POST['user_drop']; + foreach($users as $userID => $drop) { + stack_db_subject_user_drop($userID,$subjectID); + } + } + if (array_key_exists('user_add',$_POST)) { + $users = $_POST['user_add']; + foreach($users as $userID => $drop) { + stack_db_subject_user_add($userID,$subjectID); + } + } + } + } ////////////////////////////////////////////////////////////// *************** *** 83,87 **** break; case 'review': - $subject_store = stack_db_subject_get(); $subject_store = stack_zone_subjects_order($subject_store); --- 100,103 ---- *************** *** 117,120 **** --- 133,195 ---- stack_marksheet(); break; + case 'enrole': + echo '<h1>'.get_string('menu_Enrole','stack','')."</h1>\n"; + $subject = stack_db_subject_get($subjectID,FALSE); + + echo "\n<table>\n"; + + $display_fields = array('subjectID','subjectName'); + foreach ($display_fields as $key) { + //Check that within current field there is no type tag, otherwise skip + $err = ''; + $keyname = 'stackSubject_'.$key; + echo "<tr><td><b>".get_string($keyname,'stack','')."</b></td>\n"; + echo "<td>{$subject[$key]}</td></tr>"; + } + echo "\n</table>\n"; + + + $stack_users = stack_user_listall(); + $users = array(); + foreach($stack_users as $user) { + $users[$user['id']] = $user['name']; + } + $subject_classlist = stack_db_subject_classlist($subjectID); + + echo "<form name='userenroleform' action='user.php' method='POST'> + <input type='hidden' name='subjectID' value='$subjectID' /> + <input type='hidden' name='action' value='enrole' /> + <input type='submit' name='submit' value='Submit' />"; + + echo '<h2>'.get_string('FE_user_enrolled','stack','')."</h2>\n"; + echo "<table>"; + $trcol = FALSE; + foreach($subject_classlist as $uID) { + $trcol = !$trcol; + $user = $users[$uID]; + unset($users[$uID]); + + if ($trcol) { echo "\n<tr bgcolor='#DDDDDD'>\n"; } else { echo "\n<tr bgcolor='#DDDDFF'>\n"; } + echo "<td><input type='checkbox' name='user_drop[$uID]' value='ticked' /></td>\n"; + echo "<td>$user</td>"; + } + echo "</table>"; + + echo '<h2>'.get_string('FE_user_not_enrolled','stack','')."</h2>\n"; + echo "<table>"; + $trcol = FALSE; + foreach($users as $uID => $user) { + $trcol = !$trcol; + + if ($trcol) { echo "\n<tr bgcolor='#DDDDDD'>\n"; } else { echo "\n<tr bgcolor='#DDDDFF'>\n"; } + echo "<td><input type='checkbox' name='user_add[$uID]' value='ticked' /></td>\n"; + echo "<td>$user</td>"; + } + echo "</table>"; + + echo "</form>"; + + + break; } |
From: Chris S. <san...@us...> - 2005-11-24 18:47:55
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27885/scripts Modified Files: stackDatabase.php stackFrontend.php stackSubject.php Log Message: Add the concept of class list Index: stackDatabase.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackDatabase.php,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** stackDatabase.php 19 Nov 2005 15:33:54 -0000 1.55 --- stackDatabase.php 24 Nov 2005 18:47:47 -0000 1.56 *************** *** 2145,2181 **** } - /** - * Gets details of the subjects onto which a user is enrolled. - * - * @param int $userID - * @return array $subject_store Full information about the subject, without quizzes. - */ - function stack_subject_user_enrolled($user) { - - if (0 == $user['id']) { - $query = "SELECT subjectID FROM stackSubject WHERE subjectOrder >= 0 and subjectMode = 'all, including guests' ORDER BY subjectOrder"; - } else { - $query = "SELECT subjectID FROM stackSubject WHERE subjectOrder >= 0 ORDER BY subjectOrder"; - } - - // Need to see which of **THESE** the student is enrolled upon. - // A subject may have subsequently been hidden..... - - $result = stack_db_query($query); - - $subject_list = NULL; - if(0 != mysql_num_rows($result)) { - - for ($i = 0; $i < mysql_num_rows($result); $i++) { - $row = mysql_fetch_row($result); - - $subject_list[] = stack_db_subject_get($row[0],FALSE); - - } - } - - return $subject_list; - } - /** --- 2145,2148 ---- *************** *** 2225,2228 **** --- 2192,2311 ---- ////////////////////////////////////////////////////// + // User-Subject related functions // + ////////////////////////////////////////////////////// + + /** + * Adds a user to a subject + * + * @param int $userID + * @param int $subjectID + * @return void + */ + function stack_db_subject_user_add($userID,$subjectID) { + $query = "INSERT INTO user_subject (userID, subjectID) VALUES ($userID,$subjectID)"; + $result = stack_db_query($query); + } + + /** + * Adds a user to a subject + * + * @param int $userID + * @param int $subjectID + * @return void + */ + function stack_db_subject_user_drop($userID,$subjectID) { + $query = "DELETE FROM user_subject WHERE userID = '$userID' AND subjectID='$subjectID'"; + $result = stack_db_query($query); + } + + /** + * Return an array of $userID's who are enrolled on a subject + * + * @param int $userID + * @param int $subjectID + * @return void + */ + function stack_db_subject_classlist($subjectID) { + + $query = "SELECT userID FROM user_subject WHERE subjectID=$subjectID"; + + $result = stack_db_query($query); + + $enrolled=FALSE; + if(0 != mysql_num_rows($result)) { + for ($i = 0; $i < mysql_num_rows($result); $i++) { + $row = mysql_fetch_row($result); + $enrolled[]=$row[0]; + } + } + + return $enrolled; + } + + + /** + * Gets details of the subjects onto which any user can take. + * + * @param int $userID + * @return array $subject_store Full information about the subject, without quizzes. + */ + function stack_db_subject_user_enrolled($userID) { + + if (0 == $userID) { + $query = "SELECT subjectID FROM stackSubject WHERE subjectOrder >= 0 AND subjectMode = 'all, including guests' ORDER BY subjectOrder"; + } else { + $query = "SELECT subjectID FROM stackSubject WHERE subjectOrder >= 0 AND (subjectMode = 'any system user' OR subjectMode = 'all, including guests') ORDER BY subjectOrder"; + } + + // Need to see which of **THESE** the student is enrolled upon. + // A subject may have subsequently been hidden..... + + $result = stack_db_query($query); + + $subject_list = NULL; + if(0 != mysql_num_rows($result)) { + + for ($i = 0; $i < mysql_num_rows($result); $i++) { + $row = mysql_fetch_row($result); + + $subject_list[] = stack_db_subject_get($row[0],FALSE); + + } + } + + return $subject_list; + } + + /** + * Gets details of the subjects onto which registered users have access. + * + * @param int $userID + * @return array $subject_store Full information about the subject, without quizzes. + */ + function stack_db_subject_user_enrolled_strict($userID) { + + $subject_list = NULL; + + if (0 != $userID) { + $query = "SELECT stackSubject.subjectID FROM stackSubject,user_subject WHERE user_subject.subjectID=stackSubject.subjectID AND user_subject.userID = {$userID} AND stackSubject.subjectOrder >= 0 and stackSubject.subjectMode = 'the class list only' ORDER BY stackSubject.subjectOrder"; + + $result = stack_db_query($query); + + if(0 != mysql_num_rows($result)) { + + for ($i = 0; $i < mysql_num_rows($result); $i++) { + $row = mysql_fetch_row($result); + + $subject_list[] = stack_db_subject_get($row[0],FALSE); + } + } + } + + return $subject_list; + } + + + + ////////////////////////////////////////////////////// // Zone related functions // ////////////////////////////////////////////////////// Index: stackSubject.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackSubject.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** stackSubject.php 11 Oct 2005 09:57:44 -0000 1.3 --- stackSubject.php 24 Nov 2005 18:47:47 -0000 1.4 *************** *** 179,183 **** /** * Displays the student subject selection screen ! * @param array $userID * @return void */ --- 179,183 ---- /** * Displays the student subject selection screen ! * @param array $user * @return void */ *************** *** 187,194 **** echo '<h1>'.get_string('subject_choose','stack').'</h1>'; - - $subject_store = stack_subject_user_enrolled($userID); - - if (is_array($subject_store)) { echo "<script language=\"javascript\"> function choosequiz(n) { --- 187,190 ---- *************** *** 201,204 **** --- 197,209 ---- <input type='hidden' name='action' value='choose_quiz'>"; + $subject_store_all = stack_db_subject_user_enrolled($userID); + $subject_store_enr = stack_db_subject_user_enrolled_strict($userID); + + $no_subjects = TRUE; + if (is_array($subject_store_enr)) { + $no_subjects = FALSE; + $subject_store = $subject_store_enr; + + echo '<h2>'.get_string('FE_subject_closed','stack','').'</h2>'; echo "\n<table cellpadding='2'>\n"; echo "\n<tr>\n <th>".get_string('stackSubject_subjectName','stack','')."</th>\n"; *************** *** 213,220 **** echo "</tr>\n"; } ! echo "\n</table>\n</form>\n</p>"; ! } else { echo '<p>'.get_string('subject_nonetochoose','stack').'</p>'; } } --- 218,248 ---- echo "</tr>\n"; } ! echo "\n</table>\n"; ! } ! ! if (is_array($subject_store_all)) { ! $no_subjects = FALSE; ! $subject_store = $subject_store_all; ! ! echo '<h2>'.get_string('FE_subject_open','stack','').'</h2>'; ! echo "\n<table cellpadding='2'>\n"; ! echo "\n<tr>\n <th>".get_string('stackSubject_subjectName','stack','')."</th>\n"; ! echo " <th>".get_string('stackSubject_subjectDescription','stack','')."</th>\n</tr>\n"; ! foreach ($subject_store as $qs => $subject) { ! $sID = $subject['subjectID']; ! $sname = $subject['subjectName']; ! $sdescript = $subject['subjectDescription']; ! ! echo "<tr>\n <td><a href=\"javascript:choosequiz('$sID');\">{$sname}</a></td>\n"; ! echo " <td>".$sdescript."</td>\n"; ! echo "</tr>\n"; ! } ! echo "\n</table>\n"; ! } ! ! if ($no_subjects){ echo '<p>'.get_string('subject_nonetochoose','stack').'</p>'; } + echo "</form>\n</p>"; } Index: stackFrontend.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackFrontend.php,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** stackFrontend.php 20 Oct 2005 12:53:36 -0000 1.9 --- stackFrontend.php 24 Nov 2005 18:47:47 -0000 1.10 *************** *** 283,288 **** --- 283,291 ---- echo " <th>".get_string('stackSubject_subjectName','stack','')."</th> <th>".get_string('stackSubject_subjectDescription','stack','')."</th><th></th></tr>"; + + $trcol = FALSE; foreach ($subject_store as $qs => $subject) { + $trcol = !$trcol; $sname = $subject['subjectName']; if ('' == trim($sname)) { *************** *** 291,297 **** $sID = $subject['subjectID']; $sord = $subject['subjectOrder']; ! echo "<tr>\n <td>{$sID}</td>\n <td>{$sord}</td>\n"; echo " <td>{$sname}</td><td>".$subject['subjectDescription']."</td>\n"; echo "<td><a href=\"javascript:takeaction('subject_edit','$sID');\">edit</a></td>\n"; //echo "<td><a href=\"javascript:takeaction('subject_xml','$sID');\">xml</a></td>\n"; echo "<td><a href=\"javascript:takeaction('subject_delete','$sID');\"><font color='red'>del</font></a></td></tr>\n"; --- 294,302 ---- $sID = $subject['subjectID']; $sord = $subject['subjectOrder']; ! if ($trcol) { echo "\n<tr bgcolor='#DDDDDD'>\n"; } else { echo "\n<tr bgcolor='#DDDDFF'>\n"; } ! echo "<td>{$sID}</td>\n <td>{$sord}</td>\n"; echo " <td>{$sname}</td><td>".$subject['subjectDescription']."</td>\n"; echo "<td><a href=\"javascript:takeaction('subject_edit','$sID');\">edit</a></td>\n"; + echo "<td><a href=\"javascript:userenrole('$sID');\">".get_string('menu_Enrole','stack','')."</a></td>\n"; //echo "<td><a href=\"javascript:takeaction('subject_xml','$sID');\">xml</a></td>\n"; echo "<td><a href=\"javascript:takeaction('subject_delete','$sID');\"><font color='red'>del</font></a></td></tr>\n"; |
From: Chris S. <san...@us...> - 2005-11-24 18:47:55
|
Update of /cvsroot/stack/stack-1-0/lang/en In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27885/lang/en Modified Files: stack.php Log Message: Add the concept of class list Index: stack.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/stack.php,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** stack.php 17 Nov 2005 21:54:19 -0000 1.41 --- stack.php 24 Nov 2005 18:47:47 -0000 1.42 *************** *** 360,363 **** --- 360,364 ---- $string['menu_PR'] = 'Potential responses'; $string['menu_User'] = 'User'; + $string['menu_Enrole'] = 'Class list'; $string['menu_Marksheet'] = 'Mark sheet'; *************** *** 486,489 **** --- 487,492 ---- // Strings associated with subjects. $string['FE_subject_title'] = 'Subject page'; + $string['FE_subject_open'] = 'Open access subjects'; + $string['FE_subject_closed'] = 'Subjects for which you are registered'; $string['FE_subject_none'] = 'You have no subjects available to try.'; *************** *** 518,521 **** --- 521,527 ---- $string['FE_user_review'] = 'Review the work of $a'; $string['FE_user_deleted'] = 'User deleted permanently. There is no \'undo\' option.'; + $string['FE_user_enrolled'] = 'Users enrolled on this subject'; + $string['FE_user_not_enrolled'] = 'Users not enrolled on this subject'; + $string[''] = ''; |
From: Chris S. <san...@us...> - 2005-11-19 16:37:18
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1133/scripts Modified Files: stackQuestion.php Log Message: Index: stackQuestion.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackQuestion.php,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** stackQuestion.php 19 Nov 2005 16:04:39 -0000 1.53 --- stackQuestion.php 19 Nov 2005 16:37:08 -0000 1.54 *************** *** 584,587 **** --- 584,590 ---- $stackAnswerTest['AlgEquiv_quiet']['function'] = 'ATAlgEquiv'; + $stackAnswerTest['SameType']['imp'] = 'cas'; + $stackAnswerTest['SameType']['function'] = 'ATSameType'; + $stackAnswerTest['CASEqual']['imp'] = 'cas'; $stackAnswerTest['CASEqual']['function'] = 'ATCASEqual'; |
From: Chris S. <san...@us...> - 2005-11-19 16:37:16
|
Update of /cvsroot/stack/stack-1-0/scripts/maxima In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1133/scripts/maxima Modified Files: stackmaxima.mac Log Message: Index: stackmaxima.mac =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/maxima/stackmaxima.mac,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** stackmaxima.mac 19 Nov 2005 16:04:39 -0000 1.50 --- stackmaxima.mac 19 Nov 2005 16:37:08 -0000 1.51 *************** *** 625,628 **** --- 625,657 ---- )$ + + /* A general, all purpose answer test which checks things are of the + same "type". Based upon the results of AtAlgEquivfun(SA,SB) + */ + ATSameType(SA,SB) :=block([ret,oldsimp], + oldsimp:simp, + simp:true, + /* Turn on simplification and error catch */ + SA:errcatch(ev(SA,simp,fullratsimp,nouns)), + if SA=[] then (simp:oldsimp, return(StackReturnOb("false","0","Error simplifing SAns",""))), + SA:SA[1], + SB:errcatch(ev(SB,simp,fullratsimp,nouns)), + if SB=[] then (simp:oldsimp, return(StackReturnOb("false","0","Error simplifing TAns",""))), + SB:SB[1], + /* Start recursive process */ + ret:ATAlgEquivfun(SA,SB), + /* This test gives no feedback */ + ret[3]:"", + ret[4]:"", + /* Send back result */ + if ret[1] then + ret[2]:1 + else + (ret[1]:true,ret[2]:0), + simp:oldsimp, + return(StackReturnOb(string(ret[1]),string(ret[2]),ret[3],ret[4])) + )$ + + /******************************************************************/ |
From: Chris S. <san...@us...> - 2005-11-19 16:37:16
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1133/lang/en/doc Modified Files: author_testsuite.php en_doc.php Log Message: Index: author_testsuite.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/author_testsuite.php,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** author_testsuite.php 17 Nov 2005 21:54:19 -0000 1.21 --- author_testsuite.php 19 Nov 2005 16:37:08 -0000 1.22 *************** *** 84,87 **** --- 84,104 ---- $testsuite[] = stack_testsuite_construct('AlgEquiv','2*x>=x^2','x^2<=2*x',1,'',''); + $testsuite[] = stack_testsuite_construct('SameType','4^(-1/2)','1/2',1,'','Numbers'); + $testsuite[] = stack_testsuite_construct('SameType','x','[1,2,3]',0,'','Lists'); + $testsuite[] = stack_testsuite_construct('SameType','[1,2]','[1,2,3]',1,'',''); + $testsuite[] = stack_testsuite_construct('SameType','[1,x>2]','[1,2<x]',1,'',''); + $testsuite[] = stack_testsuite_construct('SameType','[1,x,3]','[1,2<x,4]',0,'',''); + $testsuite[] = stack_testsuite_construct('SameType','x','{1,2,3}',0,'','Sets'); + $testsuite[] = stack_testsuite_construct('SameType','{1,2}','{1,2,3}',1,'',''); + $testsuite[] = stack_testsuite_construct('SameType','matrix([1,2],[2,3])','matrix([1,2],[2,3])',1,'','Matrices'); + $testsuite[] = stack_testsuite_construct('SameType','[[1,2],[2,3]]','matrix([1,2],[2,3])',0,'',''); + $testsuite[] = stack_testsuite_construct('SameType','matrix([1,2],[2,3])','matrix([1,2,3],[2,3,3])',1,'',''); + $testsuite[] = stack_testsuite_construct('SameType','matrix([x>4,{1,x^2}],[[1,2],[1,3]])','matrix([4-x<0,{x^2,1}],[[1,2],[1,3]])',1,'',''); + $testsuite[] = stack_testsuite_construct('SameType','matrix([x>4,[1,x^2]],[[1,2],[1,3]])','matrix([4-x<0,{x^2,1}],[[1,2],[1,4]])',0,'',''); + $testsuite[] = stack_testsuite_construct('SameType','1','x=1',0,'','Equations'); + $testsuite[] = stack_testsuite_construct('SameType','x=1','x=1',1,'',''); + $testsuite[] = stack_testsuite_construct('SameType','1','x>1',0,'','Inequalities'); + $testsuite[] = stack_testsuite_construct('SameType','x>2','x>1',1,'',''); + $testsuite[] = stack_testsuite_construct('SameType','x>1','x>=1',1,'',''); // AlgEquiv Answer tests. Index: en_doc.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/en_doc.php,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** en_doc.php 19 Nov 2005 16:04:39 -0000 1.15 --- en_doc.php 19 Nov 2005 16:37:08 -0000 1.16 *************** *** 357,360 **** --- 357,369 ---- the whole attempt as invalid. This is most useful inside potential response trees"; + $stackAnswerTest['SameType']['doc']="There are six kinds of mathematical objects in STACK. + <ol> + <li>Expressions</li><li>Equations</li><li>Inequalities</li><li>Sets</li> + <li>Lists</li><li>Matrices</li> + </ol> + This test is based upon the AlgEquiv answer test and makes sure that the first + expression in the test is the same <em>type</em> as the second. + Note that this test works recursively over the entire expression."; + $stackAnswerTest['CASEqual']['doc']="This is test if the CAS returns TRUE when asked to evaluate <tt>StudentAnswer=TeacherAnswer</tt> as a Boolean. |