<?php
include_once('php/php_headers.php');
session_null('edit_devices');
$scripts = '<script src="js/formfunctions.js" type="text/javascript"></script>';
$scripts .= '<script>function deletechecked(){var answer = confirm("Θέλετε να διαγράψετε τη συσκευή;");if (answer) document.messages.submit(); return false;}</script>';
$scripts .= '<script>function deletechecked2(){var answer = confirm("Θέλετε να διαγράψετε τη συσκευή από την ομάδα;");if (answer) document.messages.submit(); return false;}</script>';
html_header('Επεξεργασία συσκευών',$scripts);
$ip=$no_ip=$msg=$group1=$group2=$group3=$group4=$group5=$group6=$group7=$group8=$no_group1=$no_group2=$no_group3=$no_group4=$no_group5=$no_group6=$no_group7=$no_group8=null;
$status1=$vis1 = "checked"; $status2=$vis2 = "";
require_once "pagination/Paginated.php";
require_once "pagination/DoubleBarLayout.php";
if($_SESSION['ekdhlos_level']==0) $_SESSION['edit_devices'] = get('all','device','','','all');
else $_SESSION['edit_devices'] = get('simple','device','','','all');
/* tools */
echo '<div id="tools6">';
	if($_SESSION['ekdhlos_level']==0) echo '
	<a href="insert_devices.php" title="Εισαγωγή συσκευής"><img alt="Εισαγωγή συσκευής" src="images/icon-insert-big.png" /></a>';
echo '
	<a href="edit_devices.php" title="Επεξεργασία συσκευής"><img alt="Επεξεργασία συσκευής" src="images/Write2.png" /></a>
	<a href="insert_groups.php" title="Εισαγωγή ομάδας"><img alt="Εισαγωγή ομάδας" src="images/icon-insert-big.png" /></a>
	<a href="edit_groups.php" title="Επεξεργασία ομάδας"><img alt="Επεξεργασία ομάδας" src="images/Write2.png" /></a></div>';
/* Εμφάνιση αποτελεσμάτων */
if(!isset($_GET['edit_id']) && !isset($_GET['password_id'])){
	echo'<h1 class="center">Συσκευές</h1><hr /><br />';
	/* Αν υπάρχουν συσκευές εκτύπωσε τες σε πίνακα */
	if($_SESSION['edit_devices']){
		if(isset($_GET['page']) && is_numeric($_GET['page'])) $page = $_GET['page'];
		else $page = 1;
		$pagedResults = new Paginated($_SESSION['edit_devices'], 10, $page);
		echo '<table id="gradient-style" class="width3">
		<thead><tr>	<th scope="col" class="width_td center">Id συσκευής</th><th scope="col" class="width_td center">Επεξεργασία</th>';
		if($_SESSION['ekdhlos_level']==0){
			echo '<th scope="col" class="width_td center">Αλλαγή Κωδικού</th><th scope="col" class="width_td center">Διαγραφή</th>';
		}
		echo '</tr></thead><tbody>';
		while($row = $pagedResults->fetchPagedRow()) {
			echo '<tr><td class="center">';
			if($row['status']=="no") echo '<img alt="Ανενεργή" src="images/exclamation-red.png" title="Η συσκευή έχει τεθεί ως ανενεργή!" /><i>'.$row['id'].'</i>';
			else echo $row['id'];
			echo '</td><td class="center"><a href="edit_devices.php?edit_id='.$row['id'].'"><img alt="Επεξεργασία" src="images/icon-edit.png" title="Κάντε κλικ για να επεξεργαστείτε τη συσκευή!"/></a></td>';
			if($_SESSION['ekdhlos_level']==0){
				echo "
				<td class=\"center\"><a href=\"edit_devices.php?password_id={$row['id']}\"><img alt=\"Αλλαγή κωδικού\" src=\"images/icon-password.png\" title=\"Κάντε κλικ για να αλλάξετε τον κωδικό της συσκευής!\" /></a></td>
				<td class=\"center\"><a href=\"edit_devices.php?delete_id={$row['id']}\" onclick=\"return deletechecked();\"><img alt=\"Διαγραφή\" src=\"images/icon-delete.png\" title=\"Κάντε κλικ για να διαγράψετε τη συσκευή!\"/></a></td>";
			}
			echo "</tr>";
		}
		echo '</tbody><tfoot>';
		$pagedResults->setLayout(new DoubleBarLayout());
		if($_SESSION['ekdhlos_level']==0) echo '<tr><td colspan="4">';
		else echo '<tr><td colspan="2">';
		if(sizeof($_SESSION['edit_devices'])>10) echo $pagedResults->fetchPagedNavigation();
		echo '</td></tr></tfoot></table>';
	}
	else echo '<div id="msg_error" class="more_left_2">Δεν βρέθηκαν αποτελέσματα!</div>';
}
/* Επεξεργασία συσκευής */
if(isset($_GET['edit_id']) && check("device", clean($_GET['edit_id']),"id")){
	$edit_id = clean($_GET['edit_id']);
	/* Το id της συσκευής*/
	$ip  = $edit_id;
	/* Ο χρήστης που έχει τη συσκευή*/
	$user = get_users(get('user_id','device','id',$ip,'one'),"insert");
	/* Το id του χρήστη που έχει τη συσκευή*/
	$id = get('user_id','device','id',$edit_id,'one');
	/* Το όνομα του χρήστη που έχει τη συσκευή*/
	$name = get('f_name','users','id',$id,'one').' '.get('l_name','users','id',$id,'one');
	/* Κατάσταση της συσκευής */
	if(get('status','device','id',$edit_id,'one')=="yes") {$status1 = 'checked'; $status2 = '';}
	else  {$status2 = 'checked'; $status1 = '';}
	/* Ορατότητα της συσκευής */
	if(get('visibility','device','id',$edit_id,'one')=="private") {$vis1 = 'checked'; $vis2 = '';}
	else  {$vis2 = 'checked'; $vis1 = '';}
	if(isset($_POST['submit'])){
		if($_POST['status']=="yes") {$status1 = 'checked'; $status2 = '';}
		else  {$status2 = 'checked'; $status1 = '';}
		if($_POST['visibility']=="private") {$vis1 = 'checked'; $vis2 = '';}
		else  {$vis2 = 'checked'; $vis1 = '';}
		if($_SESSION['ekdhlos_level']==0){		
			$insert1=false;
			$ip  = clean($_POST['ip']);
			$user = get_users($_POST['typem'],"insert");
			if(!isset($_POST['ip']) || empty($_POST['ip'])) $no_ip = '<h3 class="triangle-border left more_top">Το id της συσκευής απαιτείται!</h3>';
			else if (preg_match("/[^A-Za-z0-9]/", $_POST['ip']))$no_ip = '<h3 class="triangle-border left more_top">Μη αποδεκτοί χαρακτήρες!</h3>';
			else if(mb_strlen($_POST['ip'], 'UTF-8') <2) $no_ip = '<h3 class="triangle-border left more_top">Εισάγετε πάνω από δύο χαρακτήρες!</h3>';
			else if(mb_strlen($_POST['ip'], 'UTF-8') >20) $no_ip = '<h3 class="triangle-border left more_top">Εισάγετε μέχρι 20 χαρακτήρες!</h3>';
			else $insert1 = true;				
			if($insert1){
				if (update('device_admin',$ip,$_POST['typem'],$_POST['visibility'],$_POST['status'],$edit_id)){ 
					$msg = '<br /><div id="msg_ok">Η ενημέρωση έγινε με επιτυχία!</div>';
					echo "<script>setTimeout('window.location.href=\"edit_devices.php\"', 2000)</script>";
				}
				else $msg = '<div id="msg_error">Σφάλμα κατά την ενημέρωση!</div>';
					
			}
		}
		else{
			if (update('device',$_POST['visibility'],$_POST['status'],$edit_id)){ 
				$msg = '<br /><div id="msg_ok">Η ενημέρωση έγινε με επιτυχία!</div>';
				echo "<script>setTimeout('window.location.href=\"edit_devices.php\"', 2000)</script>";
			}
			else $msg = '<div id="msg_error">Σφάλμα κατά την ενημέρωση!</div>';		
		}
	}
	echo'
	<h1 class="center">Επεξεργασία της συσκευής:<br /> '.$ip.'</h1><hr /><br />';
	if($_SESSION['ekdhlos_level']==0) 
	echo '
	<div id="tools7">
	<a href="edit_devices.php?edit_id='.$edit_id.'" title="Επεξεργασία"><img alt="Επεξεργασία" src="images/icon-edit.png" /></a>
	<a href="edit_devices.php?password_id='.$edit_id.'" title="Αλλαγή κωδικού"><img alt="Αλλαγή κωδικού" src="images/icon-password.png" /></a>
	<a href="edit_devices.php?delete_id='.$edit_id.'" title="Διαγραφή" onclick="return deletechecked();"><img alt="Διαγραφή" src="images/icon-delete.png" /></a>
	</div>
	<h4 class="more_left_2"><i>*Η συσκευή ανήκει στο χρήστη: <a href="edit_users.php?edit_id='.$id.'">'.$name.'</a></i></h4><br />
	<span class="h2 more_left_2">Password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="h11"><i>'.get('password','device','id',$edit_id,'one').'</i></span></span>';
	$form = '
	<form method="post" accept-charset="utf-8" class="more_left_8 width">';
	if($_SESSION['ekdhlos_level']==0) 
	$form .= '
	<ol class="hh2">
	<li><label for="field1">Id συσκευής:</label></li>
	<li><input type="text" onkeyup="id_validator2(this.value);" id="field1" class="field" name="ip" value="'.$ip.'" required/></li>
	<li id="f_msg">'.$no_ip.'</li>
	</ol>
	<ol class="hh2">
	<li><label for="field2">Χρήστης:</label></li>
	<li><select id="field2" class="drop" name="typem">'.$user.'</select></li>
	</ol>';
	$form .='
	<ol class="hh2">
	<li><label for="group9">
	<h2>Oρατότητα:</h2></label>
	<h5>
	<input type="radio" id="group9" name="visibility" value="private" '.$vis1.'/>&nbsp;Iδιωτική&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<input type="radio" id="group9b" name="visibility" value="public" '.$vis2.'/>&nbsp;Δημόσια
	</h5>
	</li>
	</ol>
	<ol class="hh2">
	<li><label for="group10"><h2>Κατάσταση:</h2></label>
	<h5>
	<input type="radio" id="group10" name="status" value="yes" '.$status1.'/>&nbsp;Ενεργή&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<input type="radio" id="group10b" name="status" value="no" '.$status2.'/>&nbsp;Ανενεργή
	</h5>
	</li>
	</ol>
	<input type="submit" name="submit" id="submit" class="button" value="Αλλαγή">'.$msg.groups_of_device($edit_id).'</form>';
	echo $form;	
}
/* Αν δεν υπάρχει το id της συσκευής */
else if(isset($_GET['edit_id']) && check("device", clean($_GET['edit_id']),"id")==0){
	echo '<div id="msg_error" class="more_left_2">Δεν υπάρχει συσκευή με αυτό το id!</div>';
	echo "<script>setTimeout('window.location.href=\"edit_devices.php\"', 2000)</script>"; 
}
/* Διαγραφή συσκευής */
if((isset($_GET['delete_id']) && check("device", clean($_GET['delete_id']),"id") && ($_SESSION['ekdhlos_level']==0))){
	$delete_id = clean($_GET['delete_id']);			
	if (delete('device',$delete_id)){
		echo '<br /><div id="msg_ok" class="more_left_2">Η διαγραφή έγινε με επιτυχία!</div>';
		echo "<script>setTimeout('window.location.href=\"edit_devices.php\"', 2000)</script>";
	}
	else echo '<div id="msg_error" class="more_left_2">Σφάλμα κατά τη διαγραφή!</div>';
}
/* Αν δεν υπάρχει το id της συσκευής */
else if((isset($_GET['delete_id'])&& check("device", clean($_GET['delete_id']),"id")==0) && ($_SESSION['ekdhlos_level']<>0)){
	echo '<br /><div id="msg_error" class="more_left_2">Δεν υπάρχει συσκευή με αυτό το id!</div>';
	echo "<script>setTimeout('window.location.href=\"edit_devices.php\"', 2000)</script>"; 
}
/* Αλλαγή κωδικού της συσκευής */
if((isset($_GET['password_id']) && check("device", clean($_GET['password_id']),"id")) && ($_SESSION['ekdhlos_level']==0)){
	$password_id = clean($_GET['password_id']);			
	$results = get('','device','id',$password_id,'all');
	echo '
	<div id="tools6">
	<a href="insert_devices.php" title="Εισαγωγή συσκευής"><img alt="Εισαγωγή συσκευής" src="images/icon-insert-big.png" /></a>
	<a href="edit_devices.php" title="Επεξεργασία συσκευής"><img alt="Επεξεργασία συσκευής" src="images/Write2.png" /></a>
	</div>
	<h1 class="center">Αλλαγή του κωδικού της συσκευής:<br /> '.get('id','device','id',$password_id,'one').'</h1><hr /><br />
	<div id="tools7">
	<a href="edit_devices.php?edit_id='.$password_id.'" title="Επεξεργασία"><img alt="Επεξεργασία" src="images/icon-edit.png" /></a>
	<a href="edit_devices.php?password_id='.$password_id.'" title="Αλλαγή κωδικού"><img alt="Αλλαγή κωδικού" src="images/icon-password.png" /></a>
	<a href="edit_devices.php?delete_id='.$password_id.'" title="Διαγραφή" onclick="return deletechecked();"><img alt="Διαγραφή" src="images/icon-delete.png" /></a>
	</div>';				
	if(isset($_POST['edit_pass'])){
		$insert1=$insert2=false;
		$pass    = clean($_POST['pass']);
		$pass2   = clean($_POST['pass2']);
		if(!isset($_POST['pass'] ) || empty($_POST['pass'] )) $no_pass = '<h3 class="triangle-border left more_top">Το password απαιτείται!</h3>';
		else if(mb_strlen($_POST['pass'],ENCODING)<5) $no_pass = '<h3 class="triangle-border left more_top">Απαιτούνται τουλάχιστον 5 χαρακτήρες!</h3>';
		else $insert1 = true;
		if(!isset($_POST['pass2'] ) || empty($_POST['pass2'] )) $no_pass2 = '<h3 class="triangle-border left more_top">Η επιβεβαίωση password απαιτείται!</h3>';
		else if(mb_strlen($_POST['pass2'],ENCODING)<5) $no_pass2 = '<h3 class="triangle-border left more_top">Απαιτούνται τουλάχιστον 5 χαρακτήρες!</h3>';
		else if(isset($_POST['pass']) && ($_POST['pass'] != $_POST['pass2'])) $no_pass2 = '<h3 class="triangle-border left more_top">Τα password δεν ταιριάζουν!</h3>';
		else $insert2 = true;	
		if($insert1 && $insert2){
			if (update('device',sha1($pass.'ekdhlos'),$password_id,"change_password")){
				$msg = '<div id="msg_ok">Η ενημέρωση έγινε με επιτυχία!</div><br />'; 
				echo "<script>setTimeout('window.location.href=\"edit_devices.php\"', 2000)</script>";
			}
			else $msg = '<div id="msg_error">Σφάλμα κατά την ενημέρωση!</div><br />';
		}
	}
	$form = '
	<form method="post" accept-charset="utf-8" class="more_left_8 width">	
	<ol class="hh2">
	<li><label for="field4">Password:</label></li>
	<li><input type="password" onkeyup="pass1_validator2(this.value);" id="field4" class="field" name="pass" value="'.$pass.'" required/></li>
	<li id="p1_msg"><span id="p1_validate">'.$no_pass.'</span></li>
	</ol>
	<ol class="hh2">
	<li><label for="field5">Επιβεβαίωση:</label></li>
	<li><input type="password" onkeyup="pass2_validator2(this.value);" id="field5" class="field" name="pass2" value="'.$pass2.'" required/></li>
	<li id="p2_msg"><span id="p2_validate">'.$no_pass2.'</span></li>
	</ol>';
	if($_SESSION['ekdhlos_level']==0) 
	$form .= '<input type="submit" onclick="checkall3();" name="edit_pass" id="submit" class="disable" value="Αλλαγή">'.$msg.'</form>';
	else
	$form .= '<input type="submit" onclick="checkall3();" name="edit_pass" id="submit" class="disable" value="Αλλαγή">'.$msg.groups_of_device($password_id).'</form>';
	echo $form;
}
/* Αν δεν υπάρχει το id της συσκευής */
else if((isset($_GET['password_id'])&& check("device", clean($_GET['password_id']),"id")==0) && ($_SESSION['ekdhlos_level']<>0)){
	echo '<br /><div id="msg_error" class="more_left_2">Δεν υπάρχει συσκευή με αυτό το id!</div>';
	echo "<script>setTimeout('window.location.href=\"edit_devices.php\"', 2000)</script>"; 
}
html_footer();
?>