Смекни!
smekni.com

Розробка програмного модулю для визначення професійних знань (стр. 14 из 14)

<param name="valign" value="bottom" />

</object>'; */

?>

</td>

</tr></table>

<?

//$content->ShowContent($link, $sublink);

echo '</td><td width="265" valign="top" align="right"><div style="width:265px;">';

$test_q->ShowSuperRatingMain($s);

$test_q->ShowRatingMain($show, $s);

$kol_show = $test_q->ForRead();

$kol_records = $test_q->CountRating();

//$navi->Navigation($show, $kol_records, $kol_show[1], '?link='.$link.'&sublink='.$sublink);

echo '</div></td></tr></table></center>';

}

else if ($link == 1)

{

echo '<center><div style="width:265px; text-align: center;">';

$test_q->ShowSuperRating($s);

$test_q->ShowRating($show, $s);

$kol_show = $test_q->ForRead();

$kol_records = $test_q->CountRating();

$navi->Navigation($show, $kol_records, $kol_show[1], '?link='.$link.'&sublink='.$sublink);

echo '</div></center>';

}

?>

</div>

</div>

<!-- <div id="footer">&nbsp;</div> -->

</div>

<div class="empty">&nbsp;</div>

</div>

<div id="footer">&nbsp;</div>

<script type="text/javascript" src="<?echo $pi.$s;?>includes/scripts/jquery/jquery.pngFix.js"></script>

<script type="text/javascript" src="<?echo $pi.$s;?>includes/scripts/jquery/jquery.alerts.js"></script>

<script type="text/javascript" src="<?echo $pi;?>js/swfobject.js"></script>

<script type="text/javascript" src="<?echo $pi;?>js/ajax.js"></script>

<script type="text/javascript" src="<?echo $pi.$s;?>includes/scripts/js/paginator3000.js"></script>

</body>

</html>


Додаток В

Програмний код сторінки тестування (файл test.php)

<?

session_start();

include_once('core/core_main.php');

$pi = $popmenu->PathIncludes($sublink);

if (isset($show)) $s = '../';

//include_once("core/cl_db.php");

//include_once("modules/users/cl_autorize.php");

//$auth = new cl_authorize();

//$auth->authorize();

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

$seomenu = $menu->ShowSeo($link); $seocontent = $content->ShowSeo($link, $sublink);

if (!empty($seocontent[0]))

{

echo '<title>'.$seocontent[0].'</title>';

echo '<meta name="description" content="'.$seocontent[1].'" />';

echo '<meta name="keywords" content="'.$seocontent[2].'" />';

}

else if (!empty($seomenu[0])){

echo '<title>'.$seomenu[0].'</title>';

echo '<meta name="description" content="'.$seomenu[1].'" />';

echo '<meta name="keywords" content="'.$seomenu[2].'" />';

}

else

{

echo '<title>IQ - тест</title>';

echo '<meta name="description" content="тест" />';

echo '<meta name="keywords" content="тест" />';

}

?>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<link rel="stylesheet" type="text/css" href="css/style.css" />

<link rel="stylesheet" type="text/css" href="css/carousel.css" />

<script src="AC_RunActiveContent.js" language="javascript"></script>

<script src="js/jquery.js" language="javascript"></script>

<script src="js/swfobject.js" type="text/javascript"></script>

<script src="js/ajax.js" type="text/javascript"></script>

<script type="text/javascript">

function setButton(but)

{

document.getElementById(but).disabled = false; // сделать активной

//document.getElementById(but).disabled = 'true'; // сделать не активной

}

function Answer_Underline(id)

{

document.getElementById(id).style.textDecoration = "underline";

}

function Answer_None(id)

{

document.getElementById(id).style.textDecoration = "none";

}

</script>

<script type="text/javascript">

function updateTime() {

$('#showtimer').show(function(){

$(this).load('timershow.php');

});

setTimeout("updateTime()",1000);

}

</script>

</head>

<body onload="updateTime()">

<div id="all-site">

<div id="container">

<div id="flash-holder1">

<div id="header">

<noscript><center><h2><div style="color: red;">Javascript выключен! Для прохождения теста включите javascript в настройках Вашего браузера.</div></h2></center></noscript>

<div style="position: absolute; top: 10px; left: 10px;">

<script language="javascript">

if (AC_FL_RunContent == 0) {

alert("This page requires AC_RunActiveContent.js.");

} else {

AC_FL_RunContent('codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0', 'width', '160', 'height', '240', 'src', 'video', 'allowFullScreen', 'false',

'allowScriptAccess','sameDomain', 'movie', 'images/SSvideo/video',

'salign', ''); //end AC code

}

</script>

<noscript>

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="104" height="155" id="video2" align="middle">

<param name="allowScriptAccess" value="sameDomain" />

<param name="allowFullScreen" value="false" />

<param name="movie" value="images/KSvideo/video.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><embed src="images/KSvideo/video.swf" quality="high" bgcolor="#000000" width="104" height="155" name="video2" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

</object>

</noscript>

</div>

</div>

<div class="text-content1">

<?

//unset($_SESSION['last_mas_id']);

$kol_quest2 = $test_q->ForRead(); // количество выводимых вопросов

$kol_all2 = $test_q->CountAll(); // количество всех вопросов

if ($kol_quest2[0] > $kol_all2)

{ echo '<h2>Тест в данный момент не доступен. Попробуйте позже.</h2><br /><a href="index.php">перейти на главную</a>'; }

else

{

if (($_SESSION['last_mas_id']))

{

if ((count($_SESSION['last_mas_id']) + $kol_quest2[0]) >= $kol_all2) {unset($_SESSION['last_mas_id']); $_SESSION['last_mas_id'] = array();}

}

else $_SESSION['last_mas_id'] = array();

if (isset($_POST["enter"]) or ($_SESSION['enter'] == 'power on') or (isset($_GET['test'])))

{

unset($_SESSION['mas_id']);

unset($_SESSION['mas_later_id']);

unset($_SESSION['kol_quest']);

unset($_SESSION['kol_quest_later']);

unset($_SESSION['number_quest']);

unset($_SESSION['number_quest_later']);

unset($_SESSION['mark']);

unset($_SESSION['enter']);

unset($_SESSION['startime']);

unset($_SESSION['finishtime']);

unset($_SESSION['testime']);

unset($_SESSION['test_be_over']);

$mas_id = array();// масив уникальных айдишек

$mas_later_id = array();// масив айдишек, которые пропустил

//$allid = $test_q->SelectAllId(); // масив всех айдишек

$allid_l = $test_q->SelectAllIdL(); // масив всех айдишек легких вопросов - light

$allid_m = $test_q->SelectAllIdM(); // масив всех айдишек cредних вопросов - middle

$allid_c = $test_q->SelectAllIdC(); // масив всех айдишек сложных вопросов - complex

$kol_quest = $test_q->ForRead(); // количество выводимых вопросов

$kol_all = $test_q->CountAll(); // количество всех вопросов

$kol_l = round($kol_quest[0] / 3);

$kol_m = $kol_l;

$kol_c = $kol_quest[0] - $kol_l - $kol_m;

//-------------- !!!! у вопросов нет уровня сложности, только у ответов

//while(count($mas_id) < $kol_quest[0])

//{

// выбераем простые вопросы

$l = 0;

while($l < $kol_l)

{

$number = rand(0,count($allid_l)-1);

if (!in_array($allid_l[$number], $mas_id) and !in_array($allid_l[$number], $_SESSION['last_mas_id'])) { $mas_id[] = $allid_l[$number]; $l++;}

//if (!in_array($allid[$number], $mas_id)) $mas_id[] = $allid[$number];

}

// выбераем средние вопросы

$m = 0;

while($m < $kol_m)

{

$number1 = rand(0,count($allid_m)-1);

if (!in_array($allid_m[$number1], $mas_id) and !in_array($allid_m[$number1], $_SESSION['last_mas_id'])) { $mas_id[] = $allid_m[$number1]; $m++;}

//if (!in_array($allid[$number], $mas_id)) $mas_id[] = $allid[$number];

}

// выбераем сложные вопросы

$c = 0;

while($c < $kol_c)

{

$number2 = rand(0,count($allid_c)-1);

if (!in_array($allid_c[$number2], $mas_id) and !in_array($allid_c[$number2], $_SESSION['last_mas_id'])) { $mas_id[] = $allid_c[$number2]; $c++;}

//if (!in_array($allid[$number], $mas_id)) $mas_id[] = $allid[$number];

}

//}

$_SESSION['mas_id'] = $mas_id;// масив уникальных айдишек в сесию

$_SESSION['kol_quest'] = $kol_quest[0];// количество выводимых вопросов в сесию

$_SESSION['kol_quest_later'] = 0;// количество пропущеных вопросов в сесию

$_SESSION['number_quest'] = 0; // покажчик на первый вопрос

$_SESSION['number_quest_later'] = 0; //покажчик на первий пропущеный вопрос

$_SESSION['mark'] = 0; // сума баллов в сесию

//$_SESSION['startime'] = date("H:i:s"); // начало тестирования в сессию

$_SESSION['startime'] = time(); // начало тестирования в сессию

//$_SESSION['startime'] = time(); // начало тестирования в сессию

}

// проверка или тест был пройден, чтобы не возможно было вернуться назад

if (($_SESSION['test_be_over'] == 'true'))

{

header("Location: finish.php");

exit;

}

if ((isset($_POST["next"])) or (isset($a)))

{

$_SESSION['number_quest'] = $_SESSION['number_quest'] + 1;// для показа следуйщего вопроса в масиве

//$point = $test_q->SelectPoint($test_q->getdriver()->PutContent($_POST['quest_id']), $test_q->getdriver()->PutContent($_POST['ans_id']));

$point = $test_q->SelectPoint($test_q->getdriver()->PutContent($q), $test_q->getdriver()->PutContent($a));

$cal_point = $test_q->Calculation($point, $_SESSION['kol_quest']);

$_SESSION['mark'] = $_SESSION['mark'] + ($cal_point);

$_SESSION['last_mas_id'][] = $test_q->getdriver()->PutContent($q);// масив пройденых айдишек за все попытки

}

else if (isset($_POST["later"]))

{

$later_id = $test_q->getdriver()->PutContent($_POST['quest_id']);

$_SESSION['mas_later_id'][] = $later_id;// масив пропущеных айдишек

$_SESSION['number_quest'] = $_SESSION['number_quest'] + 1;// для показа следуйщего вопроса в масиве

$_SESSION['kol_quest_later'] = $_SESSION['kol_quest_later'] + 1;// для показа следуйщего вопроса в масиве

}

else if (isset($_POST["next_later"]))

{

$_SESSION['number_quest_later'] = $_SESSION['number_quest_later'] + 1;// для показа следуйщего вопроса в масиве

$point = $test_q->SelectPoint($test_q->getdriver()->PutContent($_POST['quest_id']), $test_q->getdriver()->PutContent($_POST['ans_id']));

$cal_point = $test_q->Calculation($point, $_SESSION['kol_quest']);

$_SESSION['mark'] = $_SESSION['mark'] + ($cal_point);

$_SESSION['last_mas_id'][] = $test_q->getdriver()->PutContent($_POST['quest_id']);// масив пройденых айдишек за все попытки

}

if ($_SESSION['number_quest'] < $_SESSION['kol_quest'])

{

$test_q->ShowTest1($_SESSION['mas_id'][$_SESSION['number_quest']]);

}

else if ($_SESSION['number_quest_later'] < $_SESSION['kol_quest_later'])

{

$test_q->ShowTest2($_SESSION['mas_later_id'][$_SESSION['number_quest_later']]);

}

else

{

if ($_SESSION['mark'] < 50) $_SESSION['mark'] = 50;

else if ($_SESSION['mark'] > 170) $_SESSION['mark'] = 170;

unset($_SESSION['finish_mark']);

$_SESSION['finish_mark'] = $_SESSION['mark'];

$_SESSION['finishtime'] = time(); // конец тестирования в сессию

$_SESSION['time'] = $_SESSION['finishtime'] - $_SESSION['startime'] - 2*3600; // время тестирования в сессию

$_SESSION['testime'] = $_SESSION['time'];

unset($_SESSION['mark']);

unset($_SESSION['startime']);

unset($_SESSION['finishtime']);

unset($_SESSION['time']);

// маркер окончания теста

$_SESSION['test_be_over'] = 'true';

header("Location: finish.php");

exit;

}

}

?>

</div>

<center><div><div id="showtimer" style="z-index: 255; width: 130px; height: 50px; background: #000000; margin: 5px 0; padding-top: 10px; color: #ffffff; font-size: 24px; text-align: center; font-weight:600;"></div></div></center>

</div>

</div>

<div class="empty">&nbsp;</div>

</div>

<div id="footer">&nbsp;</div>

</body>

</html>