本文整理汇总了PHP中ChamiloSession::erase方法的典型用法代码示例。如果您正苦于以下问题:PHP ChamiloSession::erase方法的具体用法?PHP ChamiloSession::erase怎么用?PHP ChamiloSession::erase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ChamiloSession
的用法示例。
在下文中一共展示了ChamiloSession::erase方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: unset_session_resources
function unset_session_resources()
{
$_SESSION['addedresource'] = '';
$_SESSION['addedresourceid'] = '';
Session::erase(addedresource);
Session::erase(addedresourceid);
}
示例2: indexAction
/**
* @param Application $app
* @param string $type courses|sessions|mycoursecategories
* @param string $filter for the userportal courses page. Only works when setting 'history'
* @param int $page
*
* @return Response|void
*/
public function indexAction(Application $app, $type = 'courses', $filter = 'current', $page = 1)
{
// @todo Use filters like "after/before|finish" to manage user access
api_block_anonymous_users();
// Abort request because the user is not allowed here - @todo use filters
if ($app['allowed'] == false) {
return $app->abort(403, 'Not allowed');
}
// Main courses and session list
$items = null;
$type = str_replace('/', '', $type);
/** @var \PageController $pageController */
$pageController = $app['page_controller'];
switch ($type) {
case 'sessions':
$items = $pageController->returnSessions(api_get_user_id(), $filter, $page);
break;
case 'sessioncategories':
$items = $pageController->returnSessionsCategories(api_get_user_id(), $filter, $page);
break;
case 'courses':
$items = $pageController->returnCourses(api_get_user_id(), $filter, $page);
break;
case 'mycoursecategories':
$items = $pageController->returnMyCourseCategories(api_get_user_id(), $filter, $page);
break;
case 'specialcourses':
$items = $pageController->returnSpecialCourses(api_get_user_id(), $filter, $page);
break;
}
//Show the chamilo mascot
if (empty($items) && empty($filter)) {
$pageController->return_welcome_to_course_block($app['template']);
}
/*
$app['my_main_menu'] = function($app) {
$menu = $app['knp_menu.factory']->createItem('root');
$menu->addChild('Home', array('route' => api_get_path(WEB_CODE_PATH)));
return $menu;
};
$app['knp_menu.menus'] = array('main' => 'my_main_menu');*/
$app['template']->assign('content', $items);
$pageController->setCourseSessionMenu();
$pageController->setProfileBlock();
$pageController->setUserImageBlock();
$pageController->setCourseBlock($filter);
$pageController->setSessionBlock();
$pageController->return_reservation_block();
$pageController->returnNavigationLinks($app['template']->getNavigationLinks());
$app['template']->assign('search_block', $pageController->return_search_block());
$app['template']->assign('classes_block', $pageController->return_classes_block());
$pageController->returnSkillsLinks();
// Deleting the session_id.
Session::erase('session_id');
$response = $app['template']->render_template('userportal/index.tpl');
return new Response($response, 200, array());
}
示例3: elseif
/**
*
* @global int $_cid
* @global array $_course
* @global int $_gid
*
* @param int $group_id
* @param bool $reset
*/
static function init_group($group_id, $reset)
{
global $_cid;
global $_course;
global $_gid;
if ($reset) {
// session data refresh requested
if ($group_id && $_cid && !empty($_course['real_id'])) {
// have keys to search data
$group_table = Database::get_course_table(TABLE_GROUP);
$sql = "SELECT * FROM {$group_table} WHERE c_id = " . $_course['real_id'] . " AND id = '{$group_id}'";
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
// This group has recorded status related to this course
$gpData = Database::fetch_array($result);
$_gid = $gpData['id'];
Session::write('_gid', $_gid);
} else {
Session::erase('_gid');
}
} elseif (isset($_SESSION['_gid']) or isset($_gid)) {
// Keys missing => not anymore in the group - course relation
Session::erase('_gid');
}
} elseif (isset($_SESSION['_gid'])) {
// continue with the previous values
$_gid = $_SESSION['_gid'];
} else {
//if no previous value, assign caracteristic undefined value
$_gid = -1;
}
//set variable according to student_view_enabled choices
if (api_get_setting('course.student_view_enabled') == "true") {
if (isset($_GET['isStudentView'])) {
if ($_GET['isStudentView'] == 'true') {
if (isset($_SESSION['studentview'])) {
if (!empty($_SESSION['studentview'])) {
// switching to studentview
$_SESSION['studentview'] = 'studentview';
}
}
} elseif ($_GET['isStudentView'] == 'false') {
if (isset($_SESSION['studentview'])) {
if (!empty($_SESSION['studentview'])) {
// switching to teacherview
$_SESSION['studentview'] = 'teacherview';
}
}
}
} elseif (!empty($_SESSION['studentview'])) {
//all is fine, no change to that, obviously
} elseif (empty($_SESSION['studentview'])) {
// We are in teacherview here
$_SESSION['studentview'] = 'teacherview';
}
}
}
示例4: Template
$template = new Template(get_lang('GradebookListOfStudentsCertificates'));
if (Session::has('reportErrorMessage')) {
$template->assign('errorMessage', Session::read('reportErrorMessage'));
}
$searchBySessionCourseDateForm = new FormValidator('certificate_report_form', 'post', api_get_path(WEB_CODE_PATH) . 'gradebook/certificate_report.php');
$searchBySessionCourseDateForm->addSelect('session', get_lang('Sessions'), $sessions, ['id' => 'session']);
$searchBySessionCourseDateForm->addSelect('course', get_lang('Courses'), $courses, ['id' => 'course']);
$searchBySessionCourseDateForm->addGroup([$searchBySessionCourseDateForm->createElement('select', 'month', null, $months, ['id' => 'month']), $searchBySessionCourseDateForm->createElement('text', 'year', null, ['id' => 'year', 'placeholder' => get_lang('Year')])], null, get_lang('Date'));
$searchBySessionCourseDateForm->addButtonSearch();
$searchBySessionCourseDateForm->setDefaults(['session' => $selectedSession, 'course' => $selectedCourse, 'month' => $selectedMonth, 'year' => $selectedYear]);
if (api_is_student_boss()) {
foreach ($userList as $studentId) {
$students[$studentId] = api_get_user_info($studentId)['complete_name_with_username'];
}
$searchByStudentForm = new FormValidator('certificate_report_form', 'post', api_get_path(WEB_CODE_PATH) . 'gradebook/certificate_report.php');
$searchByStudentForm->addSelect('student', get_lang('Students'), $students, ['id' => 'student']);
$searchByStudentForm->addButtonSearch();
$searchByStudentForm->setDefaults(['student' => $selectedStudent]);
$template->assign('searchByStudentForm', $searchByStudentForm->returnForm());
}
$template->assign('searchBySessionCourseDateForm', $searchBySessionCourseDateForm->returnForm());
$template->assign('sessions', $sessions);
$template->assign('courses', $courses);
$template->assign('months', $months);
$template->assign('exportAllLink', $exportAllLink);
$template->assign('certificateStudents', $certificateStudents);
$content = $template->fetch("default/gradebook/certificate_report.tpl");
$template->assign('content', $content);
$template->display_one_col_template();
Session::erase('reportErrorMessage');
示例5: FormValidator
}
}
$form_data = CourseManager::redirectToCourse($form_data);
$form_register = new FormValidator('form_register', 'post', $form_data['action']);
if (!empty($form_data['message'])) {
$form_register->addElement('html', $form_data['message'] . '<br /><br />');
}
if ($usersCanCreateCourse) {
$form_register->addElement('html', $form_data['button']);
} else {
$form_register->addElement('html', $form_data['go_button']);
}
$text_after_registration .= $form_register->returnForm();
// Just in case
Session::erase('course_redirect');
Session::erase('exercise_redirect');
if (CustomPages::enabled()) {
CustomPages::display(CustomPages::REGISTRATION_FEEDBACK, array('info' => $text_after_registration));
} else {
//$tpl = new Template($tool_name);
echo Container::getTemplating()->render('@template_style/auth/inscription.html.twig', ['inscription_content' => $content, 'text_after_registration' => $text_after_registration, 'hide_header' => $hideHeaders]);
}
} else {
// Custom pages
if (CustomPages::enabled()) {
CustomPages::display(CustomPages::REGISTRATION, array('form' => $form));
} else {
if (!api_is_anonymous()) {
// Saving user to course if it was set.
if (!empty($course_code_redirect)) {
$course_info = api_get_course_info($course_code_redirect);
示例6: isset
*
* @package chamilo.exercise
* @author Julio Montoya <gugli100@gmail.com>
*/
/**
* Code
*/
use ChamiloSession as Session;
$language_file = 'exercice';
require_once 'exercise.class.php';
//require_once '../inc/global.inc.php';
$current_course_tool = TOOL_QUIZ;
// Clear the exercise session just in case
$objExercise = Session::read('objExercise');
if (isset($objExercise)) {
Session::erase('objExercise');
}
$this_section = SECTION_COURSES;
// Notice for unauthorized people.
api_protect_course_script(true);
$exercise_id = isset($_REQUEST['exerciseId']) ? intval($_REQUEST['exerciseId']) : 0;
$objExercise = new Exercise();
$result = $objExercise->read($exercise_id);
if (!$result) {
api_not_allowed(true);
}
$gradebook = isset($_GET['gradebook']) ? Security::remove_XSS($_GET['gradebook']) : null;
$learnpath_id = isset($_REQUEST['learnpath_id']) ? intval($_REQUEST['learnpath_id']) : null;
$learnpath_item_id = isset($_REQUEST['learnpath_item_id']) ? intval($_REQUEST['learnpath_item_id']) : null;
$origin = isset($_REQUEST['origin']) ? Security::remove_XSS($_REQUEST['origin']) : null;
$interbreadcrumb[] = array("url" => "exercice.php?gradebook={$gradebook}", "name" => get_lang('Exercices'));
示例7: Category
$this_section = SECTION_COURSES;
$current_course_tool = TOOL_COURSE_MAINTENANCE;
api_protect_course_script(true);
$_course = api_get_course_info();
$current_course_code = $_course['official_code'];
$current_course_name = $_course['name'];
if (!api_is_allowed_to_edit()) {
api_not_allowed(true);
}
$tool_name = get_lang('DelCourse');
if (isset($_GET['delete']) && $_GET['delete'] == 'yes') {
CourseManager::delete_course($_course['sysCode']);
$obj_cat = new Category();
$obj_cat->update_category_delete($_course['sysCode']);
// DELETE CONFIRMATION MESSAGE
Session::erase('_cid');
Session::erase('_real_cid');
$noPHP_SELF = true;
$message = '<h2>' . get_lang('Course') . ' : ' . $current_course_name . ' (' . $current_course_code . ') </h2>';
$message .= get_lang('HasDel');
$message .= '<br /><br /><a href="../../index.php">' . get_lang('BackHome') . ' ' . api_get_setting('platform.site_name') . '</a>';
} else {
$message = '<h3>' . get_lang('Course') . ' : ' . $current_course_name . ' (' . $current_course_code . ') </h3>';
$message .= '<p>' . get_lang('ByDel') . '</p>';
$message .= '<p><a class="btn btn-primary" href="' . api_get_path(WEB_CODE_PATH) . 'course_info/maintenance.php?' . api_get_cidreq() . '">' . get_lang('No') . '</a> <a class="btn" href="' . api_get_self() . '?delete=yes&' . api_get_cidreq() . '">' . get_lang('Yes') . '</a></p>';
$interbreadcrumb[] = array('url' => 'maintenance.php', 'name' => get_lang('Maintenance'));
}
Display::display_header($tool_name, 'Settings');
echo Display::page_header($tool_name);
Display::display_warning_message($message, false);
Display::display_footer();
示例8: header
//Impress js
if ($learnPath->mode == 'impress') {
$lp_id = $learnPath->get_id();
$url = api_get_path(WEB_CODE_PATH) . "newscorm/lp_impress.php?lp_id={$lp_id}&" . api_get_cidreq();
header("Location: {$url}");
exit;
}
// Prepare variables for the test tool (just in case) - honestly, this should disappear later on.
Session::write('scorm_view_id', $learnPath->get_view_id());
Session::write('scorm_item_id', $lp_item_id);
$exerciseFromSession = Session::read('exerciseResult');
// Reinit exercises variables to avoid spacename clashes (see exercise tool)
if (isset($exerciseResult) || isset($exerciseFromSession)) {
Session::erase('exerciseResult');
Session::erase('objExercise');
Session::erase('questionList');
}
// additional APIs
$htmlHeadXtra[] = '<script>
chamilo_courseCode = "' . $course_code . '";
</script>';
// Document API
//$htmlHeadXtra[] = '<script src="js/documentapi.js" type="text/javascript" language="javascript"></script>';
// Storage API
$htmlHeadXtra[] = '<script>
var sv_user = \'' . api_get_user_id() . '\';
var sv_course = chamilo_courseCode;
var sv_sco = \'' . intval($_REQUEST['lp_id']) . '\';
</script>';
// FIXME fetch sco and userid from a more reliable source directly in sotrageapi.js
//$htmlHeadXtra[] = '<script type="text/javascript" src="js/storageapi.js"></script>';
示例9: showTeacherWorkGrid
$content = '<p><div><strong>' . get_lang('Description') . ':</strong><p>' . Security::remove_XSS($my_folder_data['description'], STUDENT) . '</p></div></p>';
}
if (api_is_allowed_to_edit() || api_is_coach()) {
// Work list
$content .= '<div class="toolbar-works"><a id="open-view-list" class="btn btn-primary" href="#"><i class="fa fa-users"></i> Ver Estudiantes</a></div>';
$content .= '<div class="row">';
$content .= '<div class="col-md-12">';
$content .= '<div id="work-list" class="table-responsive">';
$content .= showTeacherWorkGrid();
$content .= '</div>';
$content .= '</div>';
$content .= '<div id="student-list-work" style="display: none" class="table-responsive">';
$content .= '<div class="toolbar"><a id="closed-view-list" href="#"><i class="fa fa-times-circle"></i> ' . get_lang('Close') . '</a></div>';
$content .= showStudentList($work_id);
$content .= '</div>';
} else {
$content .= showStudentWorkGrid();
}
break;
}
Display::display_header(null);
Display::display_introduction_section(TOOL_STUDENTPUBLICATION);
if ($origin == 'learnpath') {
echo '<div style="height:15px"> </div>';
}
display_action_links($work_id, $curdirpath, $action);
$message = Session::read('message');
echo $message;
Session::erase('message');
echo $content;
Display::display_footer();
示例10: api_clean_account_captcha
/**
* @param string $username
*/
function api_clean_account_captcha($username)
{
$userInfo = api_get_user_info_from_username($username);
if (empty($userInfo)) {
return false;
}
Session::erase('loginFailedCount');
UserManager::update_extra_field_value($userInfo['user_id'], 'captcha_blocked_until_date', null);
}
示例11: set_notification
/**
* This function stores which users have to be notified of which forums or threads
*
* @param string $content does the user want to be notified about a forum or about a thread
* @param integer $id the id of the forum or thread
* @return string language variable
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium
* @version May 2008, dokeos 1.8.5
* @since May 2008, dokeos 1.8.5
*/
function set_notification($content, $id, $add_only = false)
{
$_user = api_get_user_info();
// Database table definition
$table_notification = Database::get_course_table(TABLE_FORUM_NOTIFICATION);
$course_id = api_get_course_int_id();
// Which database field do we have to store the id in?
if ($content == 'forum') {
$database_field = 'forum_id';
} else {
$database_field = 'thread_id';
}
// First we check if the notification is already set for this.
$sql = "SELECT * FROM {$table_notification}\n WHERE\n c_id = {$course_id} AND\n {$database_field} = '" . Database::escape_string($id) . "' AND\n user_id = '" . intval($_user['user_id']) . "'";
$result = Database::query($sql);
$total = Database::num_rows($result);
// If the user did not indicate that (s)he wanted to be notified already
// then we store the notification request (to prevent double notification requests).
if ($total <= 0) {
$sql = "INSERT INTO {$table_notification} (c_id, {$database_field}, user_id)\n VALUES (" . $course_id . ", '" . Database::escape_string($id) . "','" . intval($_user['user_id']) . "')";
Database::query($sql);
Session::erase('forum_notification');
get_notifications_of_user(0, true);
return get_lang('YouWillBeNotifiedOfNewPosts');
} else {
if (!$add_only) {
$sql = "DELETE FROM {$table_notification}\n WHERE\n c_id = {$course_id} AND\n {$database_field} = '" . Database::escape_string($id) . "' AND\n user_id = '" . intval($_user['user_id']) . "'";
Database::query($sql);
Session::erase('forum_notification');
get_notifications_of_user(0, true);
return get_lang('YouWillNoLongerBeNotifiedOfNewPosts');
}
}
}
示例12: cleanFlashMessages
/**
* Destroys the message session
*/
public static function cleanFlashMessages()
{
Session::erase('flash_messages');
}
示例13: isset
}
//check for flash and message
$sniff_notification = '';
$some_activex = isset($_SESSION['sniff_check_some_activex']) ? $_SESSION['sniff_check_some_activex'] : null;
$some_plugins = isset($_SESSION['sniff_check_some_plugins']) ? $_SESSION['sniff_check_some_plugins'] : null;
if(!empty($some_activex) || !empty($some_plugins)){
if (! preg_match("/flash_yes/", $some_activex) && ! preg_match("/flash_yes/", $some_plugins)) {
$sniff_notification = Display::return_message(get_lang('NoFlash'), 'warning', true);
//js verification - To annoying of redirecting every time the page
$controller->tpl->assign('sniff_notification', $sniff_notification);
}
}
$controller->tpl->assign('profile_block', $controller->return_profile_block());
$controller->tpl->assign('user_image_block', $controller->return_user_image_block());
$controller->tpl->assign('course_block', $controller->return_course_block());
$controller->tpl->assign('navigation_course_links', $controller->return_navigation_links());
$controller->tpl->assign('reservation_block', $controller->return_reservation_block());
$controller->tpl->assign('search_block', $controller->return_search_block());
$controller->tpl->assign('classes_block', $controller->return_classes_block());
//if (api_is_platform_admin() || api_is_drh()) {
$controller->tpl->assign('skills_block', $controller->return_skills_links());
//}
$controller->tpl->display_two_col_template();
// Deleting the session_id.
Session::erase('session_id');
示例14: export_exercise
/**
* This function exports the given Chamilo test
* @param integer Test ID
* @return string The test itself as an HTML string
*/
function export_exercise($item_id)
{
global $expdir, $_course, $_configuration, $_SESSION, $_SERVER, $language_interface, $langExerciseNotFound, $langQuestion, $langOk, $origin, $questionNum;
$exerciseId = $item_id;
require_once '../exercice/exercise.class.php';
require_once '../exercice/question.class.php';
require_once '../exercice/answer.class.php';
$TBL_EXERCISES = Database::get_course_table(TABLE_QUIZ_TEST);
/* Clears the exercise session */
if (isset($_SESSION['objExercise'])) {
Session::erase('objExercise');
}
if (isset($_SESSION['objQuestion'])) {
Session::erase('objQuestion');
}
if (isset($_SESSION['objAnswer'])) {
Session::erase('objAnswer');
}
if (isset($_SESSION['questionList'])) {
Session::erase('questionList');
}
if (isset($_SESSION['exerciseResult'])) {
Session::erase('exerciseResult');
}
// If the object is not in the session:
if (!isset($_SESSION['objExercise'])) {
// Construction of Exercise.
$objExercise = new Exercise();
$sql = "SELECT title,description,sound,type,random,active FROM {$TBL_EXERCISES} WHERE iid='{$exerciseId}'";
// If the specified exercise doesn't exist or is disabled:
if (!$objExercise->read($exerciseId) || !$objExercise->selectStatus() && !api_is_allowed_to_edit() && $origin != 'learnpath') {
die($langExerciseNotFound);
}
// Saves the object into the session.
Session::write('objExercise', $objExercise);
}
$exerciseTitle = $objExercise->selectTitle();
$exerciseDescription = $objExercise->selectDescription();
$exerciseSound = $objExercise->selectSound();
$randomQuestions = $objExercise->isRandom();
$exerciseType = $objExercise->selectType();
if (!isset($_SESSION['questionList'])) {
// Selects the list of question ID.
$questionList = $randomQuestions ? $objExercise->selectRandomList() : $objExercise->selectQuestionList();
// Saves the question list into the session.
Session::write('questionList', $questionList);
}
$nbrQuestions = sizeof($questionList);
// If questionNum comes from POST and not from GET:
if (!$questionNum || $_POST['questionNum']) {
// Only used for sequential exercises (see $exerciseType).
if (!$questionNum) {
$questionNum = 1;
} else {
$questionNum++;
}
}
$test .= "<h3>" . $exerciseTitle . "</h3>";
if (!empty($exerciseSound)) {
$test .= "<a href=\"../document/download.php?doc_url=%2Faudio%2F" . $exerciseSound . "\"&SQMSESSID=36812c2dea7d8d6e708d5e6a2f09b0b9 target=\"_blank\"><img src=\"../img/sound.gif\" border=\"0\" align=\"absmiddle\" alt=" . get_lang("Sound") . "\" /></a>";
}
// Writing the .js file with to check the correct answers begin.
$scriptfilename = "Exercice" . $item_id . ".js";
$s = "<script type=\"text/javascript\" src='../js/" . $scriptfilename . "'></script>";
$test .= $s;
$content = "function evaluate() {\n alert('Test evaluated.');\n }\n ";
if (!($handle = fopen($expdir . '/js/' . $scriptfilename, 'w'))) {
echo "Cannot open file ({$scriptfilename})";
}
if (fwrite($handle, $content) === false) {
echo "Cannot write to file ({$filename})";
exit;
}
fclose($handle);
// Writing the .js file with to check the correct answers end.
$s = "\n <p>{$exerciseDescription}</p>\n <table width='100%' border='0' cellpadding='1' cellspacing='0'>\n <form method='post' action=''><input type=\"hidden\" name=\"SQMSESSID\" value=\"36812c2dea7d8d6e708d5e6a2f09b0b9\" />\n <input type='hidden' name='formSent' value='1' />\n <input type='hidden' name='exerciseType' value='" . $exerciseType . "' />\n <input type='hidden' name='questionNum' value='" . $questionNum . "' />\n <input type='hidden' name='nbrQuestions' value='" . $nbrQuestions . "' />\n <tr>\n <td>\n <table width='100%' cellpadding='4' cellspacing='2' border='0'>";
$exerciseType = 1;
// So to list all questions in one page.
$test .= $s;
$i = 0;
foreach ($questionList as $questionId) {
$i++;
// For sequential exercises.
if ($exerciseType == 2) {
// If it is not the right question, goes to the next loop iteration.
if ($questionNum != $i) {
continue;
} else {
// if the user has already answered this question:
if (isset($exerciseResult[$questionId])) {
// Construction of the Question object.
$objQuestionTmp = new Question();
// Reads question informations.
$objQuestionTmp->read($questionId);
$questionName = $objQuestionTmp->selectTitle();
//.........这里部分代码省略.........
示例15: array
$nbrActiveTests = $nbrActiveTests + 1;
$item .= Display::tag('td', '<a href="showinframes.php?' . api_get_cidreq() . '&file=' . $path . '&cid=' . api_get_course_id() . '&uid=' . api_get_user_id() . '"' . (!$active ? 'class="invisible"' : '') . '">' . $title . '</a>');
//$item .= Display::tag('td', '');
$actions = '<a href="hotpotatoes_exercise_report.php?' . api_get_cidreq() . '&path=' . $path . '&filter_by_user=' . api_get_user_id() . '">' . Display::return_icon('test_results.png', get_lang('Results'), '', ICON_SIZE_SMALL) . '</a>';
$item .= Display::tag('td', $actions);
echo Display::tag('tr', $item, array('class' => $class));
}
}
$count++;
}
}
echo '</table>';
if (empty($exercise_list) && $hotpotatoes_exist == false) {
if ($is_allowedToEdit && $origin != 'learnpath') {
echo '<div id="no-data-view">';
echo '<h2>' . get_lang('Quiz') . '</h2>';
echo Display::return_icon('quiz.png', '', array(), 64);
echo '<div class="controls">';
echo Display::url(get_lang('NewEx'), 'exercise_admin.php?' . api_get_cidreq(), array('class' => 'btn'));
echo '</div>';
echo '</div>';
}
}
if ($origin != 'learnpath') {
//so we are not in learnpath tool
Display::display_footer();
}
Session::erase('objExercise');
Session::erase('objQuestion');
Session::erase('objAnswer');