<?php
define('ENCODING','utf-8');
/* Συνάρτηση που ανοίγει τη βάση */
function data_on() {
	// $dtbhost="localhost";
	// $dtbuser="arduino";
	// $dtbpass="1234";
	
	$dtbhost=":/zstorage/home/ictest00123/mysql/run/mysql.sock";
	$dtbuser="root";
	$dtbpass="root";
	
	$dtbname="arduino";
	@ $db = mysql_connect("$dtbhost", "$dtbuser", "$dtbpass") or die('00: No Connection');
	@ mysql_select_db("$dtbname") or die('01: No Database');
	mysql_query("SET CHARACTER SET 'utf8'"); 
	mysql_query("SET NAMES 'utf8'");
}
/* Συνάρτηση που κλείνει τη βάση */
function data_off(){
	@ mysql_close($db);
}
/* Συνάρτηση που φέρνει την αρχικά html μαζί με τον τίτλο και τα αντίστοιχα scripts αν υπάρχουν*/
function html_header($title,$scripts="",$divs="",$checks_line=""){
error_reporting(0);
if($scripts == "public_message"){
$scripts = '<script src="js/jpgraph.js" type="text/javascript"></script>';
if($checks_line=="public"){
$scripts .= '<script src="js/formfunctions.js" type="text/javascript"></script>';
$scripts .= '<script src="js/limitTextarea2.js" type="text/javascript"></script>';
$scripts .= '<script src="js/counter_funcs.js" type="text/javascript"></script>';
$scripts .= '<script src="js/datetimepicker_css.js"></script>';
}
	$menu = "public_message";
}
else{
	$menu = "";
}
if(isset($_SESSION['ekdhlos_level']) && $_SESSION['ekdhlos_level']==0) $width = 'class="menu_admin"';
else if(isset($_SESSION['ekdhlos_level']) && $_SESSION['ekdhlos_level']==1) $width = 'class="menu_user"';
else if($menu == "public_message")$width = 'class="menu_public_message"';
else $width = 'class="menu_"';
	echo'<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
'.$scripts;
if (isset($_SESSION['ekdhlos_userid'])){
echo'

<script src="js/jquery-1.2.6.min.js"></script>
<script src="js/jquery.timer-1.0.0.js"></script>
<script type="text/javascript">	 
	$(document).ready(function(){
	   var j = jQuery.noConflict();
	    j(document).ready(function()
	    {
	        j(".refreshMe").everyTime(3000,function(i){
	            j.ajax({
	              url: "message_status.php",
	              cache: false,
	              success: function(html){
	                j(".refreshMe").html(html);
	              }
	            })
	        })
	    });
	   j(\'.refreshMe\');
	});
	</script>';
}
if ($divs<>""){
echo'
<script type="text/javascript">	 
	$(document).ready(function(){
	   var j = jQuery.noConflict();
	    j(document).ready(function()
	    {
	        j(".refreshMeTable").everyTime(3000,function(i){
	            j.ajax({
	              url: "'.$divs.'",
	              cache: false,
	              success: function(html){
	                j(".refreshMeTable").html(html);
	              }
	            })
	        })
	    });
	   j(\'.refreshMeTable\');
	});
	</script>';
}
echo'
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>'.$title.'</title>';
if(!isset($_SESSION['ekdhlos_userid'])){
echo '
	<link rel="stylesheet" href="css/style_zoom.css">
	<script src="js/jquery-min.js"></script>
	<link rel="stylesheet" href="css/anythingzoomer.css">

	<script src="js/jquery.anythingzoomer.js"></script>
';
}
echo'
</head>
<body>
<div id="wrapper">
	<div id="header">
		<div id="header_content">    
			<div id="logo">
				<a href="php/main.php" class="rollover">
					<h1>ΣΥΣΤΗΜΑ ΜΗΝΥΜΑΤΩΝ<br />ΣΕ ARDUINO</h1>
					<h2>Ιστοχώρος Διαχείρισης<br />Διπλωματική Εργασία</h2>
				</a>
			</div>
		</div>
		<div id="user_head">
			<div id="user_content">
				<div id="user_messages">
					<div class="refreshMe">';
						include("message_status.php");
					echo'
					</div>
				</div>
				<div id="user">';
					echo user().'
				</div>
			</div>
		</div>
		<div id="menu_head">
			<div id="menu_content" '.$width.'>';
				echo menu($menu).'
			</div>
		</div>
	</div>
	<div id="container">	
		<div id="main">
	';
}
/* Συνάρτηση που ελέγχει αν η ημερομηνία είναι σωστή*/
function check_date($dateTime){
	date_default_timezone_set('Europe/Athens');
	$date = date('Y-m-d H:i:s');
	if (preg_match("/^(\d{4})-(\d{2})-(\d{2}) ([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/", $dateTime, $matches)){
		if(($dateTime > $date) && (checkdate($matches[2], $matches[3], $matches[1]))) {return 1;}
		else {return 0;}
    }
	else{
		return 0; 
	}
}
/* Συνάρτηση που φέρνει το κλείσιμο των αρχικών html tags και το footer*/
function html_footer(){
	date_default_timezone_set('Europe/Athens');
echo'
		</div>
	</div>
</div>
	<div id="footer">
		<div id="footer_content">
			<h2 class="center">
				Copyright © '.strftime("%Y").' Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών. 
				Ανάπτυξη και σχεδιασμός: <a href="mailto:giannis89dimitriou@yahoo.gr">Δημητρίου Ιωάννης</a> | 
				<a href="stats.php" title="Κάντε κλικ για να δείτε τις πληροφορίες του συστήματος.">
				Πληροφορίες συστήματος <img alt="Στατιστικά" src="images/stats_icon.png"></a>
			</h2>
		</div>
	</div>
</body>
</html>
';
}
/* Συνάρτηση που επιστρέφει τη μεταβλητή που δέχτηκε απαλαγμένη από τους ειδικούς χαρακτήρες */
function clean($var){	
	data_on();
	$var_cleaned = strip_tags(htmlspecialchars(mysql_real_escape_string(trim($var))));	
	data_off();
	return $var_cleaned;
}
/* Συνάρτηση που ελέγχει για invalid characters που αφορούν το site */
function invalid_char($var,$var2=''){
	$count = 0;
	if($var2==''){
		if(strstr($var, ',') !== false) {
			$count ++;
		}
	}
	if(strstr($var, '{') !== false) $count ++;
	if(strstr($var, '@') !== false) $count ++;
	if(strstr($var, '#') !== false) $count ++;
	if(strstr($var, '$') !== false) $count ++;
	if(strstr($var, '%') !== false) $count ++;
	if(strstr($var, '^') !== false) $count ++;
	if(strstr($var, '&') !== false) $count ++;
	if(strstr($var, '}') !== false) $count ++;
	if(strstr($var, '*') !== false) $count ++;
	if ($count == 0){ }
	else if($count == 1) {
		$b = '<h3 class="triangle-border left more_top">Ανεπιθύμητοι χαρακτήρες!</h3>';
		return $b;
	}
	else {
		if($var2==''){
			$b = '<h3 class="triangle-border left more_top">Ανεπιθύμητοι χαρακτήρες!</h3>'; 
		}
		else{
			$b = '<h3 class="triangle-border left more_top">Ανεπιθύμητοι χαρακτήρες!</h3>'; 
		}
		return $b;
	}

}
/* Δημιουργώ την συνάρτηση mb_strlen αν αυτή δεν αναγνωρίζεται από τον server*/
if (!function_exists('mb_strlen')) { 
	function mb_strlen($str) { 
		return strlen(utf8_decode($str)); 
	} 
}
/* Συνάρτηση που επιστρέφει το τελευταίο id από τον πίνακα messages */
function message_id_length(){
	data_on();
	$sql = "SELECT id FROM message ORDER BY id DESC LIMIT 1";
	$result = mysql_query($sql) or die('error_message_id_length');
	data_off();
	return (mb_strlen(mysql_num_rows($result), 'UTF-8') + 1);
}
/* Συνάρτηση που ελέγχει αν υπάρχει όντως στη βάση οι μεταβλητές που δέχεται σαν είσοδο */
function check($table, $var1, $var2="", $var3=""){
	data_on();
	if($var2 == "email"){
		if($table == "users")$sql="SELECT email FROM $table WHERE email ='$var1'";
		else if($table == "recovery_password")$sql="SELECT email FROM $table WHERE email ='$var1'";
	}
	else if($var2 == "id"){
		if($table == "users" || $table == "groups" || $table == "device" || $table == "message"){
			if($table == "message") {
				if($var3=="all"){
					$sql="SELECT * FROM $table WHERE id ='$var1'";
				}
				else{
					$sql="SELECT * FROM $table WHERE id ='$var1' AND user_id='{$_SESSION['ekdhlos_userid']}'";
				}
			}
			else $sql="SELECT id FROM $table WHERE id ='$var1'";
		}
	}
	else{
		if($table == "users"){$sql="SELECT * FROM $table WHERE email ='$var1' AND pass='$var2'";}
		else if($table == "device"){ $sql="SELECT * FROM $table WHERE id ='$var1' AND password='$var2'";	}
		else if($table == "visible_groups"){ $sql="SELECT * FROM $table WHERE group_id ='$var1' AND user_id='$var2' AND approve !='no'";	}
		else if($table == "status_message"){ $sql="SELECT * FROM $table WHERE device_id ='$var1' AND message_id='$var2'";	}		
		else if($table == "recovery_password"){ $sql="SELECT * FROM $table WHERE token ='$var1'";	}		
	}
	// echo $sql;
	$result = mysql_query($sql) or die('error_check'); 
	data_off();
	return (mysql_num_rows($result)>0?1:0);   
}
/* Συνάρτηση που επιστρέφει το μέγιστο πλήθος των γραμμάτων που μπορεί να στείλει ο χρήστες σε ένα μήνυμα */
function max_length(){
	if(isset($_SESSION['ekdhlos_userid']))
	$user_length = 1 + mb_strlen(get('f_name','users','id',$_SESSION['ekdhlos_userid'],'one'), 'UTF-8') + mb_strlen(get('l_name','users','id',$_SESSION['ekdhlos_userid'],'one'), 'UTF-8');
	else
	$user_length = 20;
	$message_id_length = message_id_length();
	return strval(371 - $user_length - $message_id_length);
}
/* Συνάρτηση που φέρνει τις ομάδες στισ οποίες μπορεί να στείλει ο χρήστης */
function get_groups_by_user($var=""){
	data_on();
	$arr = array();
	if($var == "admin"){
		$sql = "SELECT id FROM groups";
		$result = mysql_query($sql) or die('error_get_groups_admin');
		while($row = mysql_fetch_array($result)){
			if(find_in_array($row['id'],$arr)<>1)
				array_push($arr,$row['id']);
		}
	}
	else if($var == "public"){
		$sql = "SELECT * FROM groups WHERE visibility='public' AND status='yes' AND devices!=''";
		$result = mysql_query($sql) or die('error_get_groups_public');
		while($row = mysql_fetch_array($result)){
			array_push($arr,$row['id']);
		}		
		$get_form_or_not = 0;
		foreach($arr as $group){
			if(get('devices','groups','id',$group['id'],'one')<>null){
				$get_form_or_not++;
			}
		}
		data_off();
		if($get_form_or_not>0){
			return($arr);		
		}
		else{
			$a = null;
			return $a;
		}
	}
	else{
		$id = $_SESSION['ekdhlos_userid'];
		$sql = "SELECT id FROM groups WHERE (user_id = '$id' OR visibility='public')";
		$result = mysql_query($sql) or die('error_get_groups_user');
		while($row = mysql_fetch_array($result)){
			if(find_in_array($row['id'],$arr)<>1)
				array_push($arr,$row['id']);
		}
		$sql2 = "SELECT group_id FROM visible_groups WHERE (approve = 'yes' AND user_id = '$id')";
		$result2 = mysql_query($sql2) or die('error_get_groups_user');
		while($row2 = mysql_fetch_array($result2)){
			if(find_in_array($row2['group_id'],$arr)<>1)
				array_push($arr,$row2['group_id']);
		}
	}
	data_off();
	return($arr);
}
/* Συνάρτηση που τσεκάρει για το αν υπάρχει το id στον πινάκα ώστε να μην το ξαναπροσθέσει */
function find_in_array($id,$array){
	$i = 0;
	for($i;$i<sizeof($array);$i++){
		if($array[$i]==$id) return 1;
	}
	return 0;
}
/* Συνάρτηση που ψάχνει στη βάση για ένα συγκεκριμένο στοιχείο και το επιστρέφει */
function get($field,$table,$where,$search_term,$one_or_all){
    data_on();   
	if($one_or_all=="one"){
		$sql = "SELECT * FROM $table WHERE $where='$search_term'";
		$result = mysql_query($sql) or die('error_get_one');
		$result = mysql_fetch_array($result);
		$result_field = $result[$field];
		data_off();
		return($result_field);
	}
	else if($one_or_all = "all"){
		$arr = array();
		if($table == "logs" || $table == "groups" || $table == "device" || $table == "status_message"){
			$sql = "SELECT * FROM $table ";
			if($table == "logs") $sql .= "ORDER BY date DESC";
			else if ($table == "groups"){
				if($field=="simple"){
					$user = $_SESSION['ekdhlos_userid'];
					$sql .= " WHERE status = 'yes' AND (visibility = 'public' OR user_id = '$user')";
				}
				else{
					if($field=="enable") $sql .= " WHERE status='yes' ORDER BY id";
					else{
						if($field=="user"){
							$user = $_SESSION['ekdhlos_userid'];
							$sql .= " WHERE user_id='$user' ORDER BY id";
						}
						else{
							if($where == 'g_name')	$sql .= "WHERE g_name LIKE '%$search_term%' ";
							else $sql .= "ORDER BY g_name";						
						}
					}
				}
			}
			else if ($table == "device"){
				/*if ($search_term=="visibility") $sql .= "WHERE visibility='public' AND status='yes' ORDER BY id";
				else if($search_term<>"")*/
				if($field=="all")$sql .= " ORDER BY id";				
				else if($field=="public") {$user = $_SESSION['ekdhlos_userid']; $sql .= "WHERE status='yes' AND (visibility='public' OR user_id = '$user') ORDER BY id";}
				else if($field=="simple") {$user = $_SESSION['ekdhlos_userid']; $sql .= "WHERE user_id = '$user' ORDER BY id";}
				else if($field=="enable_user") {$user = $_SESSION['ekdhlos_userid']; $sql .= "WHERE user_id = '$user' AND status='yes' ORDER BY id";}
				else if($field=="edit_devices_user") {$sql .= "WHERE visibility='public' ORDER BY id";}
				else if($field=="enable") $sql .= "WHERE status='yes' ORDER BY id";	
				else if($field=="visibility") $sql .= "WHERE visibility='public' AND status='yes' ORDER BY id";	
				else if($field=="send_message") {$user = $_SESSION['ekdhlos_userid'];$sql .= "WHERE visibility='public' OR user_id = '$user' ORDER BY id";}
				else if($field=="edit")/*WHERE group_id='$search_term' 
									OR group_id_2='$search_term'  
									OR group_id_3='$search_term'  
									OR group_id_4='$search_term'  
									OR group_id_5='$search_term'  
									OR group_id_6='$search_term'  
									OR group_id_7='$search_term'  
									OR group_id_8='$search_term'*/$sql .= " 
									  ORDER BY id";
				else if($field=="public2")/*AND (group_id='$search_term'  
									OR group_id_2='$search_term'  
									OR group_id_3='$search_term'  
									OR group_id_4='$search_term'  
									OR group_id_5='$search_term'  
									OR group_id_6='$search_term'  
									OR group_id_7='$search_term'  
									OR group_id_8='$search_term' )*/$sql .= "WHERE visibility = 'public' AND status='yes' 
									  ORDER BY id";
				else $sql .= /*AND (group_id='$search_term' 
									OR group_id_2='$search_term'  
									OR group_id_3='$search_term'  
									OR group_id_4='$search_term'  
									OR group_id_5='$search_term'  
									OR group_id_6='$search_term'  
									OR group_id_7='$search_term'  
									OR group_id_8='$search_term')*/"WHERE	 status='yes'  
									  ORDER BY id";
									   // echo $sql;
			}
			else if ($table == "status_message") $sql .= "WHERE message_id='$search_term'";
			$result = mysql_query($sql) or die('error_get_all');
			while($row = mysql_fetch_array($result)){
				array_push($arr,$row);
			}
			data_off();
			return($arr);
		}
		else if($table == "message"){
			$id = $_SESSION['ekdhlos_userid'];
			if($where == "all"){
				if($field=="all"){
					$sql = "SELECT * FROM message ORDER BY date DESC";
				}
				else{
					$sql = "SELECT * FROM message WHERE user_id = '$id' ORDER BY id DESC";
				}
			}
			else if($where == "all_read"){
				$ids = get('','message','all',$_SESSION['ekdhlos_userid'],'all');
				foreach($ids as $row){
					$mid = $row['id'];
					$sql = "SELECT * FROM status_message WHERE message_id = '$mid' AND `read` =  'yes'";
					$result = mysql_query($sql) or die('error_get_all');
					while($row2 = mysql_fetch_array($result)){
							array_push($arr,$row2);
					}
				}
				$arr2 = array();
				foreach($arr as $row3){
					$gid = $row3['message_id'];
					$sql = "SELECT * FROM message WHERE id = '$gid'";
					$result = mysql_query($sql) or die('error_get_all');
					while($row4 = mysql_fetch_array($result)){
						array_push($arr2,$row4);
					}
				}
				data_off();
				return($arr2);
			}
			else if($where == "all_unread"){
				$ids = get('','message','all',$_SESSION['ekdhlos_userid'],'all');
				foreach($ids as $row){
					$mid = $row['id'];
					$sql = "SELECT * FROM status_message WHERE message_id = '$mid' AND `read` =  'no'";
					$result = mysql_query($sql) or die('error_get_all');
					while($row2 = mysql_fetch_array($result)){
							array_push($arr,$row2);
					}
				}
				$arr2 = array();
				foreach($arr as $row3){
					$gid = $row3['message_id'];
					$sql = "SELECT * FROM message WHERE id = '$gid'";
					$result = mysql_query($sql) or die('error_get_all');
					while($row4 = mysql_fetch_array($result)){
						array_push($arr2,$row4);
					}
				}
				data_off();
				return($arr2);
			}
			else if($where == "message"){
				if(empty($search_term)){				
					data_off();
					return($arr);
				}
				else $sql = "SELECT * FROM message WHERE message LIKE '%$search_term%' AND user_id = '$id' ORDER BY id DESC";
			}
			else if($where == "group_m"){
				if(empty($search_term)){				
					data_off();
					return($arr);
				}
				else{
					$group_ids = get('','groups','g_name',$search_term,'all');
					foreach($group_ids as $row_g){
						$gid = $row_g['id'];
						$sql = "SELECT * FROM message WHERE group_id = '$gid' AND user_id = '$id' ORDER BY id DESC";
						$result = mysql_query($sql) or die('error_get_all');
						while($row2 = mysql_fetch_array($result)){
							array_push($arr,$row2);
						}
					}
					data_off();
					return($arr);
				}
			}
			else{
				if($search_term=="users"){
					$sql = "SELECT * FROM message WHERE user_id = '$where' ORDER BY id DESC";
					$result = mysql_query($sql) or die('error_get_all');
					while($row2 = mysql_fetch_array($result)){
						array_push($arr,$row2);
					}
				}
				else{
					$sql = "SELECT * FROM status_message WHERE device_id = '$where' ORDER BY id DESC";
					$result = mysql_query($sql) or die('error_get_all');
					while($row2 = mysql_fetch_array($result)){
						array_push($arr,$row2);
					}
				
				}
				data_off();
				return($arr);
			}
			$result = mysql_query($sql) or die('error_get_all');
			while($row = mysql_fetch_array($result)){
				array_push($arr,$row);
			}
			data_off();
			return($arr);			
		}
		else if($table=="visible_groups"){
			$sql = "SELECT * FROM $table WHERE group_id='$search_term' AND approve='yes'";
			$result = mysql_query($sql) or die('error_get_all');
			while($row = mysql_fetch_array($result)){
				array_push($arr,$row);
			}
			data_off();
			return($arr);
		}
		else{
			if($field == "simple") {
				$sql .= "SELECT * FROM $table WHERE enable = 'yes' ORDER BY level";
				$result = mysql_query($sql) or die('error_get_all');
				while($row = mysql_fetch_array($result)){
					array_push($arr,$row);
				}
				data_off();
				return($arr);
			}
			else{
				if(empty($search_term) && $where <> "all"){
					data_off();
					return($arr);
				}
				else{
					$sql = "SELECT * FROM $table";
					if($where <> "all") $sql .= " WHERE $where LIKE '%$search_term%'";	
					if($table=="users")$sql .= " ORDER BY f_name";
					$result = mysql_query($sql) or die('error_get_all');
					while($row = mysql_fetch_array($result)){
						if($row['id']<>$_SESSION['ekdhlos_userid'])	array_push($arr,$row);
					}
					data_off();
					return($arr);
				}
			}
		}
	}
}
/* Συνάρτηση που επιστρέφει την καθυστέρηση */
function seconds_to_time($sec,$padHours = true){
	// start with a blank string
    $hms = "";
    // do the hours first: there are 3600 seconds in an hour, so if we divide
    // the total number of seconds by 3600 and throw away the remainder, we're
    // left with the number of hours in those seconds	
    $hours = intval(intval($sec) / 3600); 	
    // add hours to $hms (with a leading 0 if asked for)
    $hms .= ($padHours) 
          ? str_pad($hours, 2, "0", STR_PAD_LEFT). ":"
          : $hours. ":";    
    // dividing the total seconds by 60 will give us the number of minutes
    // in total, but we're interested in *minutes past the hour* and to get
    // this, we have to divide by 60 again and then use the remainder
    $minutes = intval(($sec / 60) % 60); 
    // add minutes to $hms (with a leading 0 if needed)
    $hms .= str_pad($minutes, 2, "0", STR_PAD_LEFT). ":";
    // seconds past the minute are found by dividing the total number of seconds
    // by 60 and using the remainder
    $seconds = intval($sec % 60); 
    // add seconds to $hms (with a leading 0 if needed)
    $hms .= str_pad($seconds, 2, "0", STR_PAD_LEFT);
    // done!
    return $hms;    
}
/* Συνάρτηση που εκτυπώνει το ονοματεπώνυμο του χρήστη που έχει κάνει log in μαζί με το κουμπί για αποσύνδεση */
function user(){
	if(isset($_SESSION['ekdhlos_level'])){
		$str = '<a href="my_info.php" title = "Κάντε κλικ για να δείτε τον λογαριασμό σας"><img alt="Χρήστης" src="images/user.png"/> '.$_SESSION['ekdhlos_f_name'].' '.$_SESSION['ekdhlos_l_name'].'</a> | <a href="logout.php" title = "Κάντε κλικ για να αποσυνδεθείτε από το σύστημα">Αποσύνδεση</a>';
	}
	else{
		$str = '';		
	}
	return $str;
}
/* Συνάρτηση που ενεργοποιεί το display σε yes αν η ημερομηνία είναι εντάξει */
function messages_time(){
	data_on();
	$sql = "SELECT * FROM message WHERE activate_at IS NOT NULL";
	$result = mysql_query($sql) or die('error_message_time');
	while($row = mysql_fetch_array($result)){
		date_default_timezone_set('Europe/Athens');
		$date = date('Y-m-d H:i:s');
		if($row['activate_at'] < $date){
			$sql2 = "UPDATE message SET display = 'yes' , activate_at = NULL WHERE id = '".$row['id']."'";
			$result2 = mysql_query($sql2) or die('error_message_time');
			$back  = '<a href="edit_all_messages.php?edit_id='.$row['id'].'"  title="Κάντε κλικ για να επεξεργαστείτε το μήνυμα.">';
			$back .= "<span class=\"h8\">Ενεργοποιήθηκε</span> το μήνυμα με id: ".$row['id']." <br /><br />";
			$back .= '</a>';
			in_logfile($back,-1);
		}
	}
	data_off();
}
/* Συνάρτηση που εμφανίζει τις αναφορές απο τα μηνύματα που διάβασαν οι συσκευές */
function messages($var=""){
	messages_time();
	@session_start();
	if(isset($_SESSION['ekdhlos_userid'])){
		data_on();		
		$count = 0;
		if($var == "all") $str = array();
		$id = $_SESSION['ekdhlos_userid'];
		$sql = "SELECT * FROM message WHERE user_id = '$id' AND notify = 'yes'";
		$result = mysql_query($sql) or die('error_messages');
		while($row = mysql_fetch_array($result)){
			$id = $row['id'];
			$sql2 = "SELECT * FROM status_message WHERE  message_id = '$id' AND `read` = 'yes' AND `report` = 'yes'";
			$result2 = mysql_query($sql2) or die('error_messages');
			if($var == "all"){
				while($row2 = mysql_fetch_array($result2)){
					array_push($str,$row2);
				}			
			}
			else{
				while($row2 = mysql_fetch_array($result2)){
					$count ++;
				}
			}
		}
		if($var <> "all"){
			if($count == 1)	$str = '<a href="messages_reports.php"><img alt="Αναφορές παράδοσης" src="images/messages.png" /> '.$count.' αναφορά παράδοσης</a>&nbsp;';
			else if($count == 0) $str = '';
			else $str = '<a href="messages_reports.php"><img alt="Αναφορές παράδοσης" src="images/messages.png" /> '.$count.' αναφορές παράδοσης</a>&nbsp;';
		}
		data_off();
		return $str;
	}
}
/* Συνάρτηση που εμφανίζει τις αναφορές απο τα μηνύματα που διάβασαν οι συσκευές */
function invite_groups($var=""){
	@session_start();
	if(isset($_SESSION['ekdhlos_userid'])){
		data_on();		
		$count = 0;
		if($var == "all") $str = array();
		$id = $_SESSION['ekdhlos_userid'];
		$sql = "SELECT * FROM visible_groups WHERE user_id = '$id' AND approve = 'check'";
		$result = mysql_query($sql) or die('error_invite_groups');
		while($row = mysql_fetch_array($result)){
			if($var == "all"){
				array_push($str,$row);					
			}
			else{
				$count ++;				
			}
		}
		if($var <> "all"){
			if($count == 1)	$str = '<a href="groups_invite.php"><img alt="Προσκλήσεις σε ομάδες" src="images/messages.png" /> '.$count.' πρόσκληση σε ομάδα</a>';
			else if($count == 0) $str = '';
			else $str = '<a href="groups_invite.php"><img alt="Προσκλήσεις σε ομάδες" src="images/messages.png" /> '.$count.' προσκλήσεις σε ομάδες</a>';
		}
		data_off();
		return $str;
	}
}
/* Συνάρτηση που θέτει το report στον πίνακα status_messages ως no γεγονός που δηλώνει ότι ο χρήστης είδε την αναφορά */
function report_checked($id){
	data_on();
	$sql = "UPDATE status_message SET report = 'no' WHERE id = '$id'";
	$result2 = mysql_query($sql) or die('error_report_checked');
	$back  = '<a href="edit_all_messages.php?edit_id='.$id.'"  title="Κάντε κλικ για να επεξεργαστείτε το μήνυμα.">';
	$back .= "<span class=\"h8\">Είδε</span> την αναφορά για το μήνυμα με id: ".$id." <br /><br />";
	$back .= '</a>';
	in_logfile($back,$_SESSION['ekdhlos_userid']);
	echo '<br /><div id="msg_ok" class="more_left_2">Η ενημέρωση έγινε με επιτυχία!</div>';
	echo "<script>setTimeout('window.location.href=\"messages_reports.php\"', 2000)</script>";
	data_off();
}
/* Συνάρτηση που θέτει το approve στον πίνακα visible_groups ως yes or no γεγονός που δηλώνει ότι ο χρήστης είδε την πρόσκληση*/
function invite_checked($id,$var){
	data_on();
	if($var=="accept"){
		$sql = "UPDATE visible_groups SET approve = 'yes' WHERE id = '$id'";
		$back = "Ο χρήστης: ".get('f_name','users','id',get('user_id','visible_groups','id',$id,'one'),'one')." ".get('l_name','users','id',get('user_id','visible_groups','id',$id,'one'),'one')." <h8>δέχτηκε</h8> να εισέλθει στην ομάδα: ".get('g_name','groups','id',get('group_id','visible_groups','id',$id,'one'),'one');
	}
	else if($var=="deny"){
		$sql = "UPDATE visible_groups SET approve = 'no'  WHERE id = '$id'";
		$back = "Ο χρήστης: ".get('f_name','users','id',get('user_id','visible_groups','id',$id,'one'),'one')." ".get('l_name','users','id',get('user_id','visible_groups','id',$id,'one'),'one')." <h9>αρνήθηκε</h9> να εισέλθει στην ομάδα: ".get('g_name','groups','id',get('group_id','visible_groups','id',$id,'one'),'one');
	}
	$result2 = mysql_query($sql) or die('error_invite_checked');
	in_logfile($back,-1);	
	echo '<br /><div id="msg_ok" class="more_left_2">Η ενημέρωση έγινε με επιτυχία!</div>';
	echo "<script>setTimeout('window.location.href=\"groups_invite.php\"', 2000)</script>";
	data_off();
}
/* Συνάρτηση που εκτυπώνει το μενού λαμβάνοντας υπόψη το επίπεδο του χρήστη */
function menu($default=""){
	if(isset($_SESSION['ekdhlos_level'])){
			$str = '
			<ul id="menu">';
		if($_SESSION['ekdhlos_level'] == 0){
			$str .= '
			<li><a>Χρήστες</a>
				<ul>
					<li><a href="insert_users.php">	<img alt="Εισαγωγή χρήστη" src="images/icon-insert.png"/><span class="font_color">&nbsp;&nbsp;Εισαγωγή χρήστη</span></a></li>
					<li><a href="edit_users.php">	<img alt="Επεξεργασία χρήστη" src="images/icon-edit.gif"/><span class="font_color">&nbsp;&nbsp;Επεξεργασία χρήστη</span></a></li>
					<li><a href="logs.php">			<img alt="Τελευταίες ενέργειες χρήστη" src="images/logs.png"/><span class="font_color">&nbsp;&nbsp;Τελευταίες ενέργειες χρήστη</span></a></li>
				</ul>
			</li>';
		}
			$str .= '
			<li><a>Συσκευές</a><ul>';
		if($_SESSION['ekdhlos_level'] == 0){
			$str .= '
					<li>	<a href="insert_devices.php"><img alt="Εισαγωγή συσκευής" src="images/icon-insert.png"/><span class="font_color">&nbsp;&nbsp;Εισαγωγή συσκευής</span></a></li>				
					';
		}
		$str .= '<li>	<a href="edit_devices.php">	<img alt="Επεξεργασία συσκευής" src="images/icon-edit.gif" /><span class="font_color">&nbsp;&nbsp;Επεξεργασία συσκευής</span></a></li>
				<li>	<a href="insert_groups.php"><img alt="Εισαγωγή ομάδας" src="images/icon-insert.png"/><span class="font_color">&nbsp;&nbsp;Εισαγωγή ομάδας</span></a></li>
				<li>	<a href="edit_groups.php">	<img alt="Επεξεργασία ομάδας" src="images/icon-edit.gif"/><span class="font_color">&nbsp;&nbsp;Επεξεργασία ομάδας</span></a></li>

				</ul>
			</li>
			<li><a href="insert_messages.php">Νέο μήνυμα</a></li>';
		if($_SESSION['ekdhlos_level'] == 0){
			$str .= '<li><a>Μηνύματα</a>
				<ul>
					<li>	<a href="edit_messages.php"><img alt="Δικά μου μηνύματα" src="images/Tool.png" /><span class="font_color">&nbsp;&nbsp;Δικά μου μηνύματα</span></a></li>
					<li>	<a href="edit_all_messages.php"><img alt="Μηνύματα χρηστών" src="images/icon-edit.gif" /><span class="font_color">&nbsp;&nbsp;Μηνύματα χρηστών</span></a></li>
				</ul></li>';
		}
		else{
			$str .= '<li><a href="edit_messages.php">Μηνύματα</a></li>';
		}		
		if($_SESSION['ekdhlos_level'] <> 0)	$str .= '<li><a href="users.php">Όλοι οι χρήστες</a></li>';
		$str .= '</ul>';
	}
	else if($default=="public_message"){
		$str = '<ul id="menu">
					<li><a href="users.php">Όλοι οι χρήστες</a></li>
					<li><a href="index.php?public_message&amp;step=1">Αποστολή μηνύματος</a></li>
					<li><a href="index.php">Επιστροφή στην αρχική</a></li>
				</ul>';
	}
	else{
		$str = '<ul id="menu">
		<li><a href="users.php">Όλοι οι χρήστες</a></li>
		<li><a href="index.php?public_message&amp;step=1">Αποστολή μηνύματος</a></li>
		</ul>';
	}
	return $str;
}
/* Συνάρτηση που επιστρέφει την ώρα */
function fix_hour($before){
	$fix = substr($before,11);
	return $fix;
}
/* Συνάρτηση που ελέγχει αν υπάρχει ήδη το email */
function check_mail($email1,$u_email){
	data_on();
	$sql = "SELECT * FROM users WHERE email = '$email1'";
	$result = mysql_query($sql) or die('error_check_mail');
	while($row = mysql_fetch_array($result)){
		if($row['email']==$email1 && $row['email']<>$u_email) {data_off(); return 1;}
	}
	data_off();
	return 0;
}
/* Συνάρτηση που ελέγχει αν υπάρχει ήδη το όνομα της ομάδας */
function check_g_name($var1,$var2){
	data_on();
	$sql = "SELECT * FROM groups WHERE g_name = '$var1'";
	$result = mysql_query($sql) or die('error_g_name');
	while($row = mysql_fetch_array($result)){
		if($row['g_name']==$var1 && $row['g_name']<>$var2) {data_off(); return 1;}
	}
	data_off();
	return 0;
}
/* Συνάρτηση που τυπώνει τη φόρμα για log in. Δέχεται σαν είσοδο το username, το check για το remember me και το μήνυμα λάθους */
function form_log_in($name, $checked, $error,$captcha=""){
if(isset($_GET['recovery_password'])){
	if(isset($_GET['token']) && (filter_var($_GET['token'], FILTER_VALIDATE_INT)) && ($_GET['token'] ==  strval(intval($_GET['token'])))){
		$token = $_GET['token'];
		if(check('recovery_password',$token)){
			$new_pass = rand();
			$to = get('email','recovery_password','token',$token,'one');
			$subject = "New Password";
			$body = "
	Ο νέος σας κωδικός είναι: ".$new_pass." \n
	Μπορείτε να τον αλλάξετε από τις προσωπικές σας ρυθμίσεις!";
				if (@mail($to, $subject, $body)) {
					data_on();
						$sql = "UPDATE users SET pass = '".sha1($new_pass.'ekdhlos')."' WHERE email = '".$to."'";
						mysql_query($sql) or die('error_form_log_in');
						$sql2 = "DELETE FROM recovery_password WHERE email = '$to'";
						mysql_query($sql2) or die('error_form_log_in');
					data_off();
					echo '<h1>Σας στάλθηκε email <br />με το νέο σας κωδικό!</h1>';
					echo "<script>setTimeout('window.location.href=\"index.php\"', 5000)</script>";	
					
					$back  = '<a href="edit_users.php?edit_id='.get('id','users','email',$to,'one').'" title="Κάντε κλικ για να επεξεργαστείτε το χρήστη.">';
					$back .= "Το σύστημα άλλαξε τον κωδικό του χρήστη: ".get('f_name','users','email',$to,'one')." ".get('l_name','users','email',$to,'one');
					$back .= '</a>';
					in_logfile($back,-1);
				} 
				else {
					echo '<h1>Σφάλμα κατά την αποστολή!</h1>'; 
				}
		}
		else{
			echo "<script>setTimeout('window.location.href=\"index.php\"', 0000)</script>";
		}
	}
	else{
		$no_email = $to = null;
		if(isset($_POST['recovery'])){
			$insert3 = false;
			if(!isset($_POST['email']) || empty($_POST['email'])) $no_email = '<h3 class="error_login">Το email απαιτείται!</h3>';
			else if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $_POST['email'])) 
			$no_email = '<h3 class="error_login">Το email δεν είναι έγκυρο!</h3>';
			else if(check('users',$_POST['email'],'email') == 0)
			$no_email = '<h3 class="error_login">Το email δεν είναι καταγεγραμμένο στη βάση!</h3>';
			else if(check('recovery_password',$_POST['email'],'email')){
				$count = intval(get('count','recovery_password','email',$_POST['email'],'one'));
				if($count >= 3){
					$no_email = '<h3 class="error_login">Έχουν σταλθεί ήδη 3 ειδοποιήσεις σε αυτό το email!</h3>';
					echo "<script>setTimeout('window.location.href=\"index.php\"', 2000)</script>";	
				}
				else{
					$insert3 = true;
					$to = clean($_POST['email']);			
				}
			}
			else {
				$insert3 = true;
				$to = clean($_POST['email']);
			}
			if($insert3){			
				$subject = "Recovery password";
				$ip = $_SERVER["REMOTE_ADDR"];
				if(check('recovery_password',$to,'email')){
					$count = intval(get('count','recovery_password','email',$to,'one'));
					$count ++;
					data_on();
						$sql = "UPDATE recovery_password SET count = '".$count."' WHERE email = '".$to."'";
						mysql_query($sql) or die('error_form_log_in');
					data_off();
					$token = get('token','recovery_password','email',$to,'one');				
					
				}
				else{
					$token = rand();
					while(check('recovery_password',$token)) $token = rand();
					data_on();
						$sql = "INSERT INTO recovery_password VALUES (NULL,'".$to."', '".$token."', '0')";
						mysql_query($sql) or die('error_form_log_in');
					data_off();
				}
				$link = "http://zafora.icte.uowm.gr/~ictest00123/index.php?recovery_password&amp;token=".$token;
				$body = "
	Η IP: ".$ip." ζήτησε ανάκτηση του κωδικού για το χρήστη με email: ".$to.".\n
	Αν επιθυμείτε να αλλάξετε τον κωδικό σας επισκεφθείτε το παρακάτω link:\n
	".$link;
				if (@mail($to, $subject, $body)) {
					$no_email = '<br /><div id="msg_ok">Η αποστολή έγινε με επιτυχία!</div>'; 
					echo "<script>setTimeout('window.location.href=\"index.php\"', 2000)</script>";
				} 
				else {
					$no_email = '<br /><div id="msg_error">Σφάλμα κατά την αποστολή!</div>'; 
				}
			}
		}
		echo'
		<form action="index.php" method="post" accept-charset="utf-8">
			<div id="login">
			<h1>Σύνδεση Χρήστη</h1><hr />
				<h2>Email:</h2><input type="text" name="username" class="field" title="Εισάγετε το email σας" value="'.$name.'" size="30" maxlength="2048" />
				<h2>Κωδικός:</h2><input name="password" type="password" class="field" title="Εισάγετε τον κωδικό σας" value="" size="30" maxlength="2048" />
				<h4>Μείνετε συνδεδεμένος&nbsp;&nbsp;<input type="checkbox" name="checkbox" value="1" '.$checked.'></h4>
				<a href="index.php?recovery_password" title="Ανάκτηση κωδικού"><h4>Ξεχάσατε τον κωδικό σας;</h4></a>
				<input type="submit" class="button moretop" value="Είσοδος">
		</div>
		</form>
		<form action="index.php?recovery_password" method="post" accept-charset="utf-8">
			<span class="captcha_down more_left_re">
			<fieldset>
			<h4>Εισάγετε το email σας για να <br />σας σταλθεί νέος κωδικός:</h4>
			<input type="text" name="email" class="field" value="'.$to.'"><br />
			<input type="submit" name="recovery" class="button" value="Αποστολή"><br />'.$no_email.'
			</fieldset>
			</span>
		</form>';
	}
}
else if($captcha=="captcha"){
	require_once('php/recaptchalib.php');
	$publickey = "6Ldx-9ASAAAAAN4TXWMOsUFItSoeC_avJRmzbKa5";	
	echo'
	<form method="post" accept-charset="utf-8">
		<div id="login">
		<h1>Σύνδεση Χρήστη</h1><hr />
			<h2>Email:</h2><input type="text" name="username" class="field" title="Εισάγετε το email σας" value="'.$name.'" size="30" maxlength="2048" />
			<h2>Κωδικός:</h2><input name="password" type="password" class="field" title="Εισάγετε τον κωδικό σας" value="" size="30" maxlength="2048" />
			<h4>Μείνετε συνδεδεμένος&nbsp;&nbsp;<input type="checkbox" name="checkbox" value="1" '.$checked.'> </h4>
			<a href="index.php?recovery_password" title="Ανάκτηση κωδικού"><h4>Ξεχάσατε τον κωδικό σας;</h4></a>
			'.$error.'
		</div>
			
			<span class="captcha_down">
			<fieldset>
			<h4>Έλεγχος anti-spam</h4>
			'.recaptcha_get_html($publickey, $error2).'
			<input type="submit" class="button" value="Είσοδος">
			</fieldset>
			</span>
	</form>	';
}
else{
	echo'
	<form method="post" accept-charset="utf-8">
		<div id="login">
		<h1>Σύνδεση Χρήστη</h1><hr />
			<h2>Email:</h2><input type="text" name="username" class="field" title="Εισάγετε το email σας" value="'.$name.'" size="30" maxlength="2048" />
			<h2>Κωδικός:</h2><input name="password" type="password" class="field" title="Εισάγετε τον κωδικό σας" value="" size="30" maxlength="2048" />
			<h4>Μείνετε συνδεδεμένος&nbsp;&nbsp;<input type="checkbox" name="checkbox" value="1" '.$checked.'> </h4>
			<a href="index.php?recovery_password" title="Ανάκτηση κωδικού"><h4>Ξεχάσατε τον κωδικό σας;</h4></a>
			<input type="submit" class="button moretop" value="Είσοδος">
		'.$error.'
	</div>
	</form>';
}
echo '<div id="login2">';
echo '
<h1> Μηνύματα</h1><hr />
<form method="post" action="index.php?public_message&amp;step=1" accept-charset="utf-8">
<h2>Μπορείτε να στείλετε <br />
μήνυμα σε συσκευές ή<br />
ομάδες δημόσια ορατές <br />
χωρίς να χρειάζεται<br />
να είστε μέλος στο σύστημα!</h2>';
$devices_r = get('visibility','device','','','all');
$groups_r = get_groups_by_user("public");
if($devices_r || $groups_r)
	echo '<input type="submit" class="button moretop2" value="Συνέχεια">';
else
	echo '<input type="submit" class="disable moretop2" disabled="disabled" title="Δεν υπάρχουν διαθέσιμες δημόσιες ομάδες ή συσκευές!" value="Συνέχεια">';
echo '
</div>
</td>
<td>';
echo <<<END
	<script>
	$(function() {

		$(".zoom").anythingZoomer();

		$('.president')
		.bind('click', function(){
			return false;
		})
		.bind('mouseover click', function(){
			var loc = $(this).attr('rel');
			if (loc && loc.indexOf(',') > 0) {
				loc = loc.split(',');
				$('.zoom').anythingZoomer( loc[0], loc[1] );
			}
			return false;
		});

	});
	</script>
END;
echo '
<div id="login3">
	<h1> Κύκλωμα</h1><hr />
	<div class="zoom">
		<div class="small">
			<img alt="arduino" src="images/arduino.png"/>
		</div>

		<div class="large">
			<img alt="arduino" src="images/arduino.png">
		</div>
	</div>
</div>
	';
}
/* Συνάρτηση που ελέγχει αν ο χρήστης έχει κάνει log in */
function checkLogin(){
   /* Check if user has been remembered */
   if(isset($_COOKIE['username']) && isset($_COOKIE['password'])){
      $_SESSION['ekdhlos_username'] = $_COOKIE['username'];
      $_SESSION['ekdhlos_password'] = $_COOKIE['password'];
      $_SESSION['ekdhlos_level']    = $_COOKIE['level'];
      $_SESSION['ekdhlos_f_name']   = $_COOKIE['f_name'];
      $_SESSION['ekdhlos_l_name']   = $_COOKIE['l_name'];
      $_SESSION['ekdhlos_userid']   = $_COOKIE['userid'];
   }
   /* Username and password have been set */
   if(isset($_SESSION['ekdhlos_username']) && isset($_SESSION['ekdhlos_password'])){
      /* Confirm that username and password are valid */
	  if(check("users", $_SESSION['ekdhlos_username'], $_SESSION['ekdhlos_password']) == 0){
         /* Variables are incorrect, user not logged in */
         unset($_SESSION['ekdhlos_username']);
         unset($_SESSION['ekdhlos_password']);
         return false;
      }
      return true;
   }
   /* User not logged in */
   else{
      return false;
   }
}
/* Συνάρτηση που εισάγει στη βάση όλα ta query που κάνουν οι χρήστες */
function in_logfile($query,$id=""){
	date_default_timezone_set('Europe/Athens');
	$date = date('Y-m-d H:i:s');
	if($id==""){
		if(isset($_SESSION['ekdhlos_userid']))	$user_id = $_SESSION['ekdhlos_userid'];
		else $user_id = 0;
	}
	else $user_id = $id;
	data_on();
	$sql = "INSERT INTO logs VALUES (NULL, '$query', \"$date\", \"$user_id\")";
	if(!mysql_query($sql))	echo "Σφάλμα κατά την ενημέρωση του logfile: ".mysql_error();
	data_off();
}
/* Συνάρτηση που θέτει κενό το session όπου κρατούνται τα αποτελέσματα τις αναζήτησης για την εκάστοτε σελίδα */
function session_null($var){
		 if($var == "insert_messages" || $var == "insert_groups" || $var == "insert_users"  || $var == "insert_devices" ){
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_devices']);	
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_users']);	
		unset($_SESSION['edit_messages']);	
		unset($_SESSION['message_reports']);	
		unset($_SESSION['search_term']);	
		unset($_SESSION['search_termm']);	
		unset($_SESSION['check1']);	
		unset($_SESSION['check2']);	
		unset($_SESSION['check3']);	
		unset($_SESSION['check4']);		
		unset($_SESSION['checkm1']);	
		unset($_SESSION['checkm2']);	
		unset($_SESSION['checkm3']);	
		unset($_SESSION['checkm4']);	
		unset($_SESSION['checkm5']);	
		unset($_SESSION['type']);	 
		unset($_SESSION['typem']);
		unset($_SESSION['user']);
		unset($_SESSION['devs']);
		unset($_SESSION['chec1']);
		unset($_SESSION['chec2']);
		unset($_SESSION['div']);
	}
	else if($var == "edit_groups"){
		unset($_SESSION['message_reports']);	
		unset($_SESSION['edit_devices']);	
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_users']);	
		unset($_SESSION['edit_messages']);	
		unset($_SESSION['search_term']);
		unset($_SESSION['search_termm']);
		unset($_SESSION['check1']);	
		unset($_SESSION['check2']);	
		unset($_SESSION['check3']);	
		unset($_SESSION['check4']);		
		unset($_SESSION['checkm1']);	
		unset($_SESSION['checkm2']);	
		unset($_SESSION['checkm3']);	
		unset($_SESSION['checkm4']);	
		unset($_SESSION['checkm5']);	
		unset($_SESSION['type']);	
		unset($_SESSION['typem']);
		unset($_SESSION['user']);
		unset($_SESSION['devs']);
		unset($_SESSION['chec1']);
		unset($_SESSION['chec2']);
		unset($_SESSION['div']);
	}
	else if($var == "edit_users"){
		unset($_SESSION['message_reports']);	
		unset($_SESSION['check5']);		
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_devices']);	
		unset($_SESSION['edit_groups']);
		unset($_SESSION['edit_messages']);	
		unset($_SESSION['search_termm']);	
		unset($_SESSION['checkm1']);	
		unset($_SESSION['checkm2']);	
		unset($_SESSION['checkm3']);	
		unset($_SESSION['checkm4']);	
		unset($_SESSION['checkm5']);
		unset($_SESSION['typem']);	
		unset($_SESSION['user']);	
	}
	else if($var == "edit_messages"){
		unset($_SESSION['message_reports']);	
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_devices']);	
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_users']);		
		unset($_SESSION['search_term']);	
		unset($_SESSION['check1']);	
		unset($_SESSION['check2']);	
		unset($_SESSION['check3']);	
		unset($_SESSION['check4']);	
		unset($_SESSION['type']);	
		unset($_SESSION['user']); 
		unset($_SESSION['devs']);
		unset($_SESSION['chec1']);
		unset($_SESSION['chec2']);
		unset($_SESSION['div']);
	}
	else if($var == "edit_devices"){
		unset($_SESSION['message_reports']);	
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_users']);	
		unset($_SESSION['edit_messages']);	
		unset($_SESSION['search_term']);	
		unset($_SESSION['search_termm']);	
		unset($_SESSION['check1']);	
		unset($_SESSION['check2']);	
		unset($_SESSION['check3']);	
		unset($_SESSION['check4']);		
		unset($_SESSION['checkm1']);	
		unset($_SESSION['checkm2']);	
		unset($_SESSION['checkm3']);	
		unset($_SESSION['checkm4']);	
		unset($_SESSION['checkm5']);	
		unset($_SESSION['type']);	 
		unset($_SESSION['typem']);	
		unset($_SESSION['user']);
		unset($_SESSION['devs']);
		unset($_SESSION['chec1']);
		unset($_SESSION['chec2']);
		unset($_SESSION['div']);
	}
	else if($var == "message_reports"){
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_devices']);	
		unset($_SESSION['edit_groups']);	
		unset($_SESSION['edit_users']);	
		unset($_SESSION['edit_messages']);		
		unset($_SESSION['search_term']);	
		unset($_SESSION['search_termm']);	
		unset($_SESSION['check1']);	
		unset($_SESSION['check2']);	
		unset($_SESSION['check3']);	
		unset($_SESSION['check4']);		
		unset($_SESSION['checkm1']);	
		unset($_SESSION['checkm2']);	
		unset($_SESSION['checkm3']);	
		unset($_SESSION['checkm4']);	
		unset($_SESSION['checkm5']);	
		unset($_SESSION['type']);	 
		unset($_SESSION['typem']);
		unset($_SESSION['user']);	 
		unset($_SESSION['devs']);
		unset($_SESSION['chec1']);
		unset($_SESSION['chec2']);
		unset($_SESSION['div']);	
	}
}
/* Συνάρτηση που εισάγει δεδομένα στη βάση δεδομένων. Αν το αποτέλεσμα είναι σωστό επιστρέφει 1 αλλιώς 0 */
function insert($table,$f1="",$f2="",$f3="",$f4="",$f5="",$f6="",$f7="",$f8="",$f9="",$f10="",$f11="",$f12="",$f13="",$f14="",$f15="",$f16="",$f17="",$f18=""){
	data_on();
	$f1 = clean($f1);
	date_default_timezone_set('Europe/Athens');
	$date = date('Y-m-d H:i:s');
	if($table=='users'){
		$sql = "INSERT INTO $table VALUES (NULL, '$f1' , '$f2' , '$f3' , '$f4' , '$f5' , '$f6' , '$date')";
		if(!mysql_query($sql)){
			echo "Σφάλμα κατά την εισαγωγή: ".mysql_error();
			data_off();
			return 0;
		}
		$id = mysql_insert_id();	
		data_off();
		if($f5=='1') $level = "<span class=\"h8\">Χρήστης</span>";
		else $level = "<span class=\"h9\">Διαχειριστής</span>";
		if($f6=="yes")$status = "<span class=\"h8\">Ενεργός</span>";
		else $status = "<span class=\"h9\">Ανενεργός</span>";

		$back  = '<a href="edit_users.php?edit_id='.$id.'" title="Κάντε κλικ για να επεξεργαστείτε το χρήστη.">';
		$back .= "<span class=\"h8\">Εισήγαγε</span> νέο χρήστη με τα παρακάτω στοιχεία: <br />";
		$back .= "Όνομα: ".$f1."<br />";
		$back .= "Επίθετο: ".$f2."<br />";
		$back .= "Email: ".$f3."<br />";
		$back .= "Επίπεδο: ".$level."<br />";
		$back .= "Κατάσταση: ".$status."<br />";
		$back .= '</a>';
			
		in_logfile($back);
		return 1;
	}
	else if($table=='device'){
		$sql = "INSERT INTO $table VALUES ('$f1' , '$f2' , '$f3' , '$f4' , '$f5')";
		if(!mysql_query($sql)){
			echo "Σφάλμα κατά την εισαγωγή: ".mysql_error();
			data_off();
			return 0;
		}	
		data_off();
		$vis = "<span class=\"h9\">Ιδιωτική</span>";
		$status = "<span class=\"h8\">Ενεργή</span>";
		$user = get('f_name','users','id',$f5,'one').' '.get('l_name','users','id',$f5,'one');
		$back  = '<a href="edit_devices.php?edit_id='.$f1.'" title="Κάντε κλικ για να επεξεργαστείτε τη συσκευή.">';
		$back .= "<span class=\"h8\">Εισήγαγε</span> νέα συσκευή με τα παρακάτω στοιχεία: <br />";
		$back .= "Όνομα: ".$f1."<br />";
		$back .= "Ορατότητα: ".$vis."<br />";
		$back .= "Κατάσταση: ".$status."<br />";
		$back .= "Ανήκει στο χρήστη: ".$user."<br />";
		$back .= '</a>';
		in_logfile($back);
		return 1;
	}
	else if($table=='visible_groups'){
		$iii=0;
		for($iii; $iii<sizeof($f2);$iii++){
			$user_id = $f2[$iii];
			$sql = "INSERT INTO $table VALUES (NULL, '$f1' , '$user_id' , '$f3')";
			if(!mysql_query($sql)){
				echo "Σφάλμα κατά την εισαγωγή: ".mysql_error();
				data_off();
				return 0;
			}
			$subject = "Invite to group";
			$to = get('email','users','id',$user_id,'one');
			$g_name = get('g_name','groups','id',$f1,'one');
			$user = $_SESSION['ekdhlos_f_name'].' '.$_SESSION['ekdhlos_l_name'];
			$body = "
	Ο χρήστης: ".$user." σας προσκάλεσε στην ομάδα: ".$g_name.".\n
	Αν επιθυμείτε να εισέλθετε στην ομάδα μεταβείτε στον ιστοχώρο \n
	http://zafora.icte.uowm.gr/~ictest00123/groups_invite.php";
			data_off();
			if (@mail($to, $subject, $body)) {
				return 1;
				$back  = "<span class=\"h8\">Προσκάλεσε</span> στην ομάδα: <a title=\"Κάντε κλικ για να επεξεργαστείτε την ομάδα!\" href=\"edit_groups.php?edit_id=$f1\">".$g_name."</a> το χρήστη: <a title=\"Κάντε κλικ για να επεξεργαστείτε το χρήστη!\" href=\"edit_users.php?edit_id=$user_id\">".get('f_name','users','id',$user_id,'one').' '.get('l_name','users','id',$user_id,'one').'</a>';
				in_logfile($back);
			} 
			else {
				return 0;
			}
		}
	}
	else if($table=='message_by_groups'){
		if(isset($_SESSION['ekdhlos_userid']))
			$user = $_SESSION['ekdhlos_userid'];
		else
			$user = 0;
		if($f6<>null){
			$sql = "INSERT INTO message VALUES (NULL, '$user' , '1' , '$f2' , '$f3' , '$f4' , '$date' , 'no' , '$f6' , '$f1')";
		}
		else{
			$sql = "INSERT INTO message VALUES (NULL, '$user' , '1' , '$f2' , '$f3' , '$f4' , '$date' , 'yes' , NULL , '$f1')";
		}
		if(!mysql_query($sql)){
			echo "Σφάλμα κατά την εισαγωγή: ".mysql_error();
			data_off();
			return 0;
		}
		$message_id = mysql_insert_id();
		$_SESSION['last_insert_id'] = $message_id;
		$iii=0;
		$group = null;
		for($iii; $iii<sizeof($f5);$iii++){
			$group_id = $f5[$iii];
			$group .= get('g_name','groups','id',$group_id,'one').', ';
			$all_devices = explode(" , ", get('devices','groups','id',$group_id,'one'));
			foreach($all_devices as $dev){
				if(isset($dev) && $dev<>null){
					$device_id = $dev;
					if(check("status_message",$device_id,$message_id)==0){
						$sql_status = "INSERT INTO status_message VALUES (NULL, 'no', '$device_id', '$message_id', 'no', '$date')";
						if(!mysql_query($sql_status)){
							echo "Σφάλμα κατά την εισαγωγή: ".mysql_error();
							data_off();
							return 0;
						}
					}
				}
			}			
		}
		if($user == 0){
			$iii = 1;
			$fullname = null;			
			while($f1[$iii]<>'%'){
				$fullname .= $f1[$iii];
				$iii ++;
			}
			$iii ++;
			$mnm = "Ονοματεπώνυμο: ".$fullname."<br />".substr($f1,$iii);
		}
		else $mnm = $f1;
		
		if($f2=='yes')$not = "<span class=\"h8\">Ενεργή</span>";
		else $not = "<span class=\"h9\">Ανενεργή</span>";
		if($f3=='yes')$hxos = "<span class=\"h8\">Ενεργή</span>";
		else $hxos = "<span class=\"h9\">Ανενεργή</span>";
		if($f4=='yes')$fws = "<span class=\"h8\">Ενεργή</span>";
		else $fws = "<span class=\"h9\">Ανενεργή</span>";		

		$back  = '<a href="edit_all_messages.php?edit_id='.$message_id.'"  title="Κάντε κλικ για να επεξεργαστείτε το μήνυμα.">';
		$back .= "<span class=\"h8\">Έστειλε</span> νέο μήνυμα: <br /><br />";
		$back .= "<hr /><i>".$mnm."</i><hr /><br />";
		$back .= "Στις ομάδες: ".substr($group,0,-2).'<br />';
		$back .= "Με ιδιότητες:<br />";
		$back .= "Αναφορά παράδοσης στο χρήστη: ".$not."<br />";
		$back .= "Ηχητική ειδοποίηση συσκευής: ".$hxos."<br />";
		$back .= "Φωτεινή ειδοποίηση συσκευής: ".$fws."<br />";
		if($f6<>null){
			$d = fix_date($f6).' '.fix_hour($f6);
			$back .= "Ενεργοποίηση μηνύματος στις: ".$d."<br />";
		
		}
		$back .= '</a>';
		in_logfile($back);
		data_off();
		return 1;
	}	
	else if($table=='message_by_devices'){
		if(isset($_SESSION['ekdhlos_userid'])) $user = $_SESSION['ekdhlos_userid'];
		else $user = 0;
		if($f6<>null){
			$sql = "INSERT INTO message VALUES (NULL, '$user' , '0' , '$f2' , '$f3' , '$f4' , '$date' , 'no' , '$f6' , '$f1')";
		}
		else{
			$sql = "INSERT INTO message VALUES (NULL, '$user' , '0' , '$f2' , '$f3' , '$f4' , '$date' , 'yes' , NULL , '$f1')";
		}
		if(!mysql_query($sql)){
			echo "Σφάλμα κατά την εισαγωγή3: ".mysql_error();
			data_off();
			return 0;
		}
		$message_id = mysql_insert_id();
		$_SESSION['last_insert_id'] = $message_id;
		$iii=0;
		$group = null;
		for($iii; $iii<sizeof($f5);$iii++){
			$device_id = $f5[$iii];
			$group .= $device_id.', ';
			$sql_status = "INSERT INTO status_message VALUES (NULL, 'no', '$device_id', '$message_id', 'no', '$date')";
			if(!mysql_query($sql_status)){
				echo "Σφάλμα κατά την εισαγωγή4 ".mysql_error();
				data_off();
				return 0;
			}			
		}

		if($user == 0){
			$iii = 1;
			$fullname = null;			
			while($f1[$iii]<>'%'){
				$fullname .= $f1[$iii];
				$iii ++;
			}
			$iii ++;
			$mnm = "Ονοματεπώνυμο: ".$fullname."<br />".substr($f1,$iii);
		}
		else $mnm = $f1;
		
		if($f2=='yes')$not = "<span class=\"h8\">Ενεργή</span>";
		else $not = "<span class=\"h9\">Ανενεργή</span>";
		if($f3=='yes')$hxos = "<span class=\"h8\">Ενεργή</span>";
		else $hxos = "<span class=\"h9\">Ανενεργή</span>";
		if($f4=='yes')$fws = "<span class=\"h8\">Ενεργή</span>";
		else $fws = "<span class=\"h9\">Ανενεργή</span>";		

		$back  = '<a href="edit_all_messages.php?edit_id='.$message_id.'"  title="Κάντε κλικ για να επεξεργαστείτε το μήνυμα.">';
		$back .= "<span class=\"h8\">Έστειλε</span> νέο μήνυμα: <br /><br />";
		$back .= "<hr /><i>".$mnm."</i><hr /><br />";
		$back .= "Στις συσκευές: ".substr($group,0,-2).'<br />';
		$back .= "Με ιδιότητες:<br />";
		$back .= "Αναφορά παράδοσης στο χρήστη: ".$not."<br />";
		$back .= "Ηχητική ειδοποίηση συσκευής: ".$hxos."<br />";
		$back .= "Φωτεινή ειδοποίηση συσκευής: ".$fws."<br />";
		if($f6<>null){
			$d = fix_date($f6).' '.fix_hour($f6);
			$back .= "Ενεργοποίηση μηνύματος στις: ".$d."<br />";
		
		}
		$back .= '</a>';
		in_logfile($back);
		data_off();
		return 1;
	}	
	else if($table=='groups'){
		$sql = "INSERT INTO $table VALUES (NULL , '$f1' , '$f2' , '$f3'  , '$f4' , '$f5' ) ";
		if(!mysql_query($sql)){
			echo "Σφάλμα κατά την εισαγωγή: ".mysql_error();
			return 0;
		}		
		$id = mysql_insert_id();
		if($f2=="private") $vis = "<span class=\"h9\">Ιδιωτική</span>";
		else $vis = "<span class=\"h8\">Δημόσια</span>";
		
		if($f3=="yes") $status = "<span class=\"h8\">Ενεργή</span>";
		else $status = "<span class=\"h9\">Ανενεργή</span>";
		
		$back  = '<a href="edit_groups.php?edit_id='.$id.'" title="Κάντε κλικ για να επεξεργαστείτε την ομάδα.">';
		$back .= "<span class=\"h8\">Εισήγαγε</span> νέα ομάδα με τα παρακάτω στοιχεία: <br />";
		$back .= "Όνομα ομάδας: ".$f1."<br />";	
		$back .= "Ορατότητα: ".$vis."<br />";	
		$back .= "Κατάσταση: ".$status."<br />";
		if($f5<>null)
		$back .= "Συσκευές που ανήκουν σε αυτή: ".substr($f5,0,-3);
		$back .= '</a>';
		data_off();
		in_logfile($back);
		return 1;
	}
	// echo $sql;
}
/* Συνάρτηση που ενημερώνει τα πεδία της βάσεις. Αν το αποτέλεσμα είναι σωστό επιστρέφει 1 αλλιώς 0 */
function update($table,$f1="",$f2="",$f3="",$f4="",$f5="",$f6="",$f7="",$f8="",$f9="",$f10="",$f11="",$f12="",$f13="",$f14="",$f15="",$f16="",$f17="",$f18=""){
	data_on();
	date_default_timezone_set('Europe/Athens');
	$date = date('Y-m-d H:i:s');
	if($table=='users'){
		if($f3 == "change_password") {
			$sql = "UPDATE users SET pass = '$f1' WHERE id = '$f2'";
			$back  = '<a href="edit_users.php?password_id='.$f2.'"  title="Κάντε κλικ για να επεξεργαστείτε τον κωδικό του χρήστη.">';
			$back .= "<span class=\"h10\">Ενημέρωσε</span> τον κωδικό του χρήστη: ".get('f_name','users','id',$f2,'one').' '.get('l_name','users','id',$f2,'one').'</a>';
			$back .= '</a>';
		}
		else {
			$sql = "UPDATE users SET f_name = '$f1' , l_name = '$f2' , email = '$f3' , level = '$f4' , enable = '$f5' WHERE id = '$f6'";
			$back  = '<a href="edit_users.php?edit_id='.$f6.'" title="Κάντε κλικ για να επεξεργαστείτε το χρήστη.">';
			if($f4==1) $level = "<span class=\"h8\">Απλός</span>";
			else $level = "<span class=\"h9\">Διαχειριστής</span>";
			if($f5=="yes")$status = "<span class=\"h8\">Ενεργός</span>";
			else $status = "<span class=\"h9\">Ανενεργός</span>";
			$back  = '<a href="edit_users.php?edit_id='.$f6.'"  title="Κάντε κλικ για να επεξεργαστείτε τον κωδικό του χρήστη.">';
			$back .= "<span class=\"h10\">Ενημέρωσε</span> τα στοιχεία του χρήστη με id = ".$f6." θέτοντας: <br />";
			$back .= "Όνομα: ".$f1."<br />";
			$back .= "Επίθετο: ".$f2."<br />";
			$back .= "Email: ".$f3."<br />";
			$back .= "Επίπεδο: ".$level."<br />";
			$back .= "Κατάσταση: ".$status."<br />";
			$back .= '</a>';
		}
	}
	if($table=='device'){
		if($f3 == "change_password") {
			$sql = "UPDATE device SET password = '$f1' WHERE id = '$f2'";
			$back  = '<a href="edit_devices.php?password_id='.$f2.'" title="Κάντε κλικ για να επεξεργαστείτε τον κωδικό της συσκευής.">';
			$back .= "<span class=\"h10\">Ενημέρωσε</span> τον κωδικό της συσκευής με id = ".$f2."<br />";
			$back .= "</a>";
		}
		else{
			$sql = "UPDATE device SET visibility = '$f1' , status = '$f2' WHERE id = '$f3'";
			if($f1=="private") $vis = "<span class=\"h9\">Ιδιωτική</span>";
			else $vis = "<span class=\"h8\">Δημόσια</span>";
			if($f2=="yes") $status = "<span class=\"h8\">Ενεργή</span>";
			else $status = "<span class=\"h9\">Ανενεργή</span>";
			$back  = '<a href="edit_devices.php?edit_id='.$f3.'" title="Κάντε κλικ για να επεξεργαστείτε τη συσκευή.">';
			$back .= "<span class=\"h10\">Ενημέρωσε</span> τη συσκευή με id = ".$f3.", θέτοντας: <br />";
			$back .= "Όνομα: ".$f3."<br />";
			$back .= "Ορατότητα: ".$vis."<br />";
			$back .= "Κατάσταση: ".$status."<br />";
			$back .= '</a>';
		}
	}
	if($table=='device_admin'){
		$sql = "UPDATE device SET id = '$f1' , user_id = '$f2', visibility = '$f3' , status = '$f4' WHERE id = '$f5'";
		if($f3=="private") $vis = "<span class=\"h9\">Ιδιωτική</span>";
		else $vis = "<span class=\"h8\">Δημόσια</span>";
		if($f4=="yes") $status = "<span class=\"h8\">Ενεργή</span>";
		else $status = "<span class=\"h9\">Ανενεργή</span>";
		$back  = '<a href="edit_devices.php?edit_id='.$f1.'" title="Κάντε κλικ για να επεξεργαστείτε τη συσκευή.">';
		$back .= "<span class=\"h10\">Ενημέρωσε</span> τη συσκευή με id = ".$f5.", θέτοντας: <br />";
		$back .= "Όνομα: ".$f1."<br />";
		$back .= "Ανήκει στο χρήστη: ".get('f_name','users','id',$f2,'one').' '.get('l_name','users','id',$f2,'one')."<br />";
		$back .= "Ορατότητα: ".$vis."<br />";
		$back .= "Κατάσταση: ".$status."<br />";
		$back .= "</a>";
	}
	if($table=='groups'){
		$sql = "UPDATE groups SET g_name = '$f1' , visibility = '$f3' , status = '$f4', devices = '$f5' WHERE id = '$f2'";
		if($f3=="private") $vis = "<span class=\"h9\">Ιδιωτική</span>";
		else $vis = "<span class=\"h8\">Δημόσια</span>";
		if($f4=="yes") $status = "<span class=\"h8\">Ενεργή</span>";
		else $status = "<span class=\"h9\">Ανενεργή</span>";
		$back  = '<a href="edit_groups.php?edit_id='.$f1.'" title="Κάντε κλικ για να επεξεργαστείτε τη συσκευή.">';
		$back .= "<span class=\"h10\">Ενημέρωσε</span> την ομάδα με id = ".$f2.", θέτοντας: <br />";
		$back .= "Όνομα: ".$f1."<br />";
		$back .= "Ορατότητα: ".$vis."<br />";
		$back .= "Κατάσταση: ".$status."<br />";
		$back .= "Συσκευές που ανήκουν σε αυτήν: ".substr($f5,0,-2)."<br />";
		$back .= "</a>";
	}
	if($table == "message"){	
		if($f8<>null){
			if($f6=="yes")
				$sql = "UPDATE message SET notify = '$f3' , ring = '$f4' , light = '$f5' , date = '$date' , display = 'yes' , activate_at = NULL , message = '$f2' WHERE id = '$f7'";
			else
				$sql = "UPDATE message SET notify = '$f3' , ring = '$f4' , light = '$f5' , date = '$date' , display = 'no' , activate_at = '$f8' , message = '$f2' WHERE id = '$f7'";
		}
		else{
			$sql = "UPDATE message SET notify = '$f3' , ring = '$f4' , light = '$f5' , date = '$date' , display = '$f6' , message = '$f2' , activate_at = NULL WHERE id = '$f7'";
		}
		if(!mysql_query($sql)){
			echo "Σφάλμα κατά την ενημέρωση: ".mysql_error();
			return 0;
		}
		$sql2 = "SELECT * FROM status_message WHERE message_id = '$f7'";
		$result2 = mysql_query($sql2) or die('error_update');
		while($row = mysql_fetch_array($result2)){
			$f4 = $row['id'];
			$sql2 = "UPDATE status_message SET `read` = 'no', `report` = 'no' WHERE id = '$f4'";
			$result3 = mysql_query($sql2) or die('error_update');
		}
		if($f8==null){
			$sql123 = "UPDATE message SET activate_at = 'NULL' WHERE id = '$f7'";
			if(!mysql_query($sql123)){
				echo "Σφάλμα κατά την ενημέρωση: ".mysql_error();
				return 0;
			}
		}
		data_off();		
		$id = $f7;
		if ($f3=="yes") $not = "<span class=\"h8\">Ενεργή</span>";
		else $not = "<span class=\"h9\">Ανενεργή</span>";
		if ($f4=="yes") $hxos = "<span class=\"h8\">Ενεργή</span>";
		else $hxos = "<span class=\"h9\">Ανενεργή</span>";
		if ($f5=="yes") $fws = "<span class=\"h8\">Ενεργή</span>";
		else $fws = "<span class=\"h9\">Ανενεργή</span>";
		if ($f6=="yes") $dis = "<span class=\"h8\">Ενεργή</span>";
		else $dis = "<span class=\"h9\">Ανενεργή</span>";	
		$mnm = $f2;
				
		if(get('user_id','message','id',$id,'one')==0){
			$iii = 1;
			$fullname = null;
			while($mnm[$iii]<>'%'){
				$fullname .= $mnm[$iii];
				$iii ++;
			}
			$iii ++;
			$mnm = "Ονοματεπώνυμο: ".$fullname."<br />".substr($mnm,$iii);
		}	
		$back  = '<a href="edit_all_messages.php?edit_id='.$id.'" title="Κάντε κλικ για να επεξεργαστείτε το μήνυμα.">';
		$back .= "<span class=\"h10\">Επεξεργάστηκε</span> το μήνυμα με id = ".$id."<br /><br />";
		$back .= "<hr /><i>".$mnm."</i><hr /><br />";
		$back .= "Με ιδιότητες:<br />";
		$back .= "Αναφορά παράδοσης στο χρήστη: ".$not."<br />";
		$back .= "Ηχητική ειδοποίηση συσκευής: ".$hxos."<br />";
		$back .= "Φωτεινή ειδοποίηση συσκευής: ".$fws."<br />";
		if($f8<>null){
			$d = fix_date($f8).' '.fix_hour($f8);
			$back .= "Ενεργοποίηση μηνύματος στις: ".$d."<br />";
		}
		$back .= "Δυνατότητα οι συσκευές να μπορούν να διαβάσουν το μήνυμα: ".$dis."<br />";
		$back .= "</a>";
	}
	if(!mysql_query($sql)){
		echo "Σφάλμα κατά την ενημέρωση: ".mysql_error();
		return 0;
	}
	data_off();
	in_logfile($back);
	return 1;
}
/* Συνάρτηση που διαγράφει πεδία απο τη βάση */
function delete($table,$id,$id2=""){
	data_on();
	date_default_timezone_set('Europe/Athens');
	$date = date('Y-m-d H:i:s');
	if($table=="visible_groups"){
		$sql = "DELETE FROM $table WHERE group_id = '$id' AND user_id='$id2'";
	}
	else{
		$sql = "DELETE FROM $table WHERE id = '$id' ";
	}
	if(!mysql_query($sql)){
		echo "Σφάλμα κατά την διαγραφή: ".mysql_error();
		data_off();
		return 0;
	}	
	if($table=="groups"){
		$sql_visible = "DELETE FROM visible_groups WHERE group_id='$id'";
		if(!mysql_query($sql_visible)){
			echo "Σφάλμα κατά την διαγραφή: ".mysql_error();
			data_off();
			return 0;
		}		
	}
	if($table=="device"){
		$sql = "SELECT * FROM groups WHERE devices LIKE '%$id ,%'";
		// echo $sql;
		$result = mysql_query($sql);
		if(!$result){
			echo "Σφάλμα: ".mysql_error();
		}
		else{
			while($row = mysql_fetch_array($result)){
				$remove_from_group = $row['id'];
				$devices = get('devices','groups','id',$remove_from_group,'one');
				$devices = preg_replace('/'.$id.' , /', '', $devices);
				$sql2 = "UPDATE groups SET devices = '$devices' WHERE id = '$remove_from_group'";
				if(!mysql_query($sql2)){
					echo "Σφάλμα: ".mysql_error();
				}
			}
		}
	}
	data_off();
	// echo $sql;
	$back = null;
	if($table=="groups"){
		$back .= "<span class=\"h9\">Διέγραψε</span> την ομάδα με id = ".$id."<br />";		
		in_logfile($back);
	}
	else if($table=="message"){
		$back .= "<span class=\"h9\">Διέγραψε</span> το μήνυμα με id = ".$id."<br />";		
		in_logfile($back);
	}
	else if($table=="device"){
		$back .= "<span class=\"h9\">Διέγραψε</span> τη συσκευή = ".$id."<br />";		
		in_logfile($back);
	}
	else if($table=="visible_groups"){
		$back .= "<a href=\"edit_groups.php?visibility_id=$id\"><span class=\"h9\">Διέγραψε</span> το χρήστη: ".get('f_name','users','id',$id2,'one')." ".get('l_name','users','id',$id2,'one')." από την ομάδα: ".get('g_name','groups','id',$id,'one')."</a>";
		in_logfile($back);
	}
	return 1;
}
/* Συνάρτηση που επιστρέφει τις συσκευές που ανήκουν στην ομάδα */
function devices_in_this_group($id){
	data_on();
	$dev_in_group_arr = array();
	$back = '		
		<fieldset>
		<h2 class="center">Συσκευές που ανήκουν στην ομάδα</h2><hr />
		<table id="gradient-style">
			<thead>
			<tr>
				<th scope="col" class="width_td">Συσκευή</th>
				<th scope="col">Επιλογή</th>
			</tr>
			</thead>
			<tbody>';
	$sql = "SELECT * FROM groups WHERE id = '$id'";	
	$result = mysql_query($sql);
	if(!$result){
		echo "Σφάλμα: ".mysql_error();
	}
	else{
		$row = mysql_fetch_array($result);
		$dev_in_group_arr = explode(" , ", $row['devices']); // tis bazoume se pinaka
		if($_SESSION['ekdhlos_level']==1)
		$sql2 = "SELECT * FROM device WHERE user_id = '{$_SESSION['ekdhlos_userid']}'";
		else
		$sql2 = "SELECT * FROM device";
		$result2 = mysql_query($sql2);
		if(!$result2){
			echo "Σφάλμα: ".mysql_error();
		}
		else{
			$i=0;
			while($row2 = mysql_fetch_array($result2)){
				if (find_in_array($row2['id'],$dev_in_group_arr)==1)$checked = 'checked';
				else $checked = null;
				$name="id".$i;
				$back .='
				<tr><td>';
				if($row2['status']=="no") $back .= "<img alt=\"Ανενεργή\" src=\"images/exclamation-red.png\" title=\"Η συσκευή έχει τεθεί ως ανενεργή!\" />";
					$back .= '
					'.$row2['id'].'</td>
					<td><input type="checkbox" name="'.$name.'" value="'.$row2['id'].'" '.$checked.'/></td>
				</tr>';		
				$i++;
			}
		}
	}
	data_off();
	$back .= "</tbody></table></fieldset>";
	if($i==0){
		return '<fieldset><h2>Δεν υπάρχουν συσκευές</h2></fieldset>';
	}
	else{
		return $back;
	}
}
/* Συνάρτηση που εκτυπώνει τις ομάδες στισ οποίες ανήκει η συσκευή */
function groups_of_device($id){
	data_on();
	$sql = "SELECT * FROM groups WHERE devices LIKE '%$id ,%'";
	// echo $sql;
	$result = mysql_query($sql);
	$back = '<table id="gradient-style" class="width3"><thead><tr>	<th scope="col" class="width_td center">Όνομα ομάδας</th><th scope="col" class="width_td center">Διαγραφή από την ομάδα</th></tr></thead><tbody>';
	$count = 0;
	if(!$result){
		echo "Σφάλμα: ".mysql_error();
	}
	else{
		while($row = mysql_fetch_array($result)){
			$back .= "<tr><td class=\"center\">";
			if($row['status']=='no'){
				if(($_SESSION['ekdhlos_level']==0) || ($_SESSION['ekdhlos_userid']==$row['user_id']))
				$back .= '
				<a title="Κάντε κλικ για να επεξεργαστείτε την ομάδα!" href="edit_groups.php?edit_id='.$row['id'].'"><div id="cursor">';
				else 
				$back .= '<div>';
				$back .= '				
				<img alt="Ανενεργή" src="images/exclamation-red.png" title="Η ομάδα έχει τεθεί ως ανενεργή!" />
				'.$row['g_name'];
				if(($_SESSION['ekdhlos_level']==0) || ($_SESSION['ekdhlos_userid']==$row['user_id']))
				$back .= '
				</a>';
				$back .= '</div>
				</td>
				<td class="center">
				<a href="edit_devices.php?edit_id='.$id.'&remove_from_group='.$row['id'].'">
				<div id="cursor">
				<img alt="Διαγραφή" src="images/Cancel.png" onclick="return deletechecked2();" title="Κάντε κλικ για να διαγράψετε τη συσκευή από την ομάδα!" />
				</a>
				</div>';
			}
			else {
				if(($_SESSION['ekdhlos_level']==0) || ($_SESSION['ekdhlos_userid']==$row['user_id']))
				$back .= '
				<a title="Κάντε κλικ για να επεξεργαστείτε την ομάδα!" href="edit_groups.php?edit_id='.$row['id'].'"><div id="cursor">';
				else 
				$back .= '<div>';
				$back .= $row['g_name'];
				if(($_SESSION['ekdhlos_level']==0) || ($_SESSION['ekdhlos_userid']==$row['user_id']))
				$back .= '
				</a>';
				$back .= '</div>
				</td>
				<td class="center">
				<a href="edit_devices.php?edit_id='.$id.'&remove_from_group='.$row['id'].'">
				<div id="cursor">
				<img alt="Διαγραφή" src="images/Cancel.png" onclick="return deletechecked2();" title="Κάντε κλικ για να διαγράψετε τη συσκευή από την ομάδα!" />
				</a>
				</div>';
			}
			$count++;
			$back .= "</td></tr>";
		}
		$back .="</tbody><tfoot><tr><td colspan=\"2\"></td></tr></tfoot></table>";
	}
	data_off();
	if(isset($_GET['remove_from_group'])){
		if ( (filter_var($_GET['remove_from_group'], FILTER_VALIDATE_INT)) && ($_GET['remove_from_group'] ==  strval(intval($_GET['remove_from_group'])))){
				$remove_from_group = clean($_GET['remove_from_group']); 
		}
		else {
				$remove_from_group=null;
		}	
	} 
	else { 
		$remove_from_group=null;
	}
	if(isset($remove_from_group) && is_numeric($remove_from_group) && check("groups", clean($remove_from_group),"id")){
		/* διαγραφή της συσκευής απο την ομάδα */
		$devices = get('devices','groups','id',$remove_from_group,'one');
		$devices = preg_replace('/'.$id.' , /', '', $devices);
		$sql2 = "UPDATE groups SET devices = '$devices' WHERE id = '$remove_from_group'";
		$log = "<h9>Αφαίρεσε</h9> από την ομάδα: ".get('g_name','groups','id',$remove_from_group,'one')." τη συσκευή: $id";
		mysql_query($sql2) or die('error_revoke');
		/* logfile */
		in_logfile($log);		
		echo '<div id="msg_ok" class="more_left_2">Η συσκευή δεν υπάγεται πλέον στην ομάδα!</div><br />'; 
		echo "<script>setTimeout('window.location.href=\"edit_devices.php?edit_id=".$id."\"', 2000)</script>";
	}
	if($count <> 0){
		if($count>1) return '<br /><br /><fieldset><h2>Η συσκευή ανήκει στις ομάδες:</h2><br />'.$back.'</fieldset>';
		else return '<br /><br /><fieldset><h2>Η συσκευή ανήκει στην ομάδα:</h2><br />'.$back.'</fieldset>';
	}
	else{
		return '<br /><br /><fieldset><h2>Η συσκευή δεν ανήκει σε καμία ομάδα!</h2></fieldset>';	
	}
}
/* Συνάρτηση που επιστρέφει την ημερομηνία σε μορφή: ΜΕΡΑ-ΜΗΝΑΣ-ΕΤΟΣ */
function fix_date($before){
	$year = substr($before,0,-15);
	$month = substr($before,5,-12);
	$day = substr($before,8,-9);
	$fix = $day.'-'.$month.'-'.$year;
	return $fix;
}
/* Συνάρτηση που επιστρέφει λίστα με όλα τα groups */
function get_group($default=""){
	data_on();
	$user = $_SESSION['ekdhlos_userid'];
	$str = "";
	if($_SESSION['ekdhlos_level'] == 0) $sql = "SELECT * FROM groups WHERE status = 'yes'";
	else $sql = "SELECT * FROM groups WHERE status = 'yes' AND (visibility = 'public' OR user_id = '$user')";
	@ $result = mysql_query($sql);
	$str.= '<option value="0" selected>Καμία</option>';
	while($row = mysql_fetch_array($result)){
		if($default==$row['id']){
			$str.= '<option value="'.$row['id'].'" selected>'.$row['g_name'].'</option>';
		}
		else $str.= '<option value="'.$row['id'].'">'.$row['g_name'].'</option>';
	}
	data_off();
	return $str;
}
/* Συνάρτηση που επιστρέφει λίστα με όλες τις συσκευές*/
function get_devs($default=""){
	data_on();
	$str = "";
	$sql = "SELECT * FROM device WHERE status = 'yes'";
	@ $result = mysql_query($sql);
	$str.= '<option value="all" selected>Όλες οι συσκευές</option>';
	while($row = mysql_fetch_array($result)){
		if($default==$row['id']){
			$str.= '<option value="'.$row['id'].'" selected>'.$row['id'].'</option>';
		}
		else $str.= '<option value="'.$row['id'].'">'.$row['id'].'</option>';
	}
	data_off();
	return $str;
}
/* Συνάρτηση που επιστρέφει λίστα με όλους τους χρήστες */
function get_users($default="",$insert="",$var3=""){
	data_on();
	$str = "";
	if($insert=="all"){
		$sql = "SELECT * FROM users WHERE enable = 'yes' AND level='1'";
	}
	else{
		$sql = "SELECT * FROM users WHERE enable = 'yes'";
	}
	@ $result = mysql_query($sql);
	if($var3=="simple_users"){
		$arr = array();
		while($row = mysql_fetch_array($result)){
			if($row['id']<>$_SESSION['ekdhlos_userid'])
				array_push($arr,$row);
		}
		data_off();
		return($arr);
	}
	else{
		if($insert==""){
			$str.= '<option value="all" selected>Όλοι οι χρήστες</option>';
			if($default=='0')$str.= '<option value="0" selected>public users</option>';
			else $str.= '<option value="0">public users</option>';
		}
		while($row = mysql_fetch_array($result)){
			if($default==$row['id']){
				$str.= '<option value="'.$row['id'].'" selected>'.$row['f_name'].' '.$row['l_name'].'</option>';
			}
			else $str.= '<option value="'.$row['id'].'">'.$row['f_name'].' '.$row['l_name'].'</option>';
		}
		data_off();
		return $str;
	}
}
/* Συνάρτηση που επιστρέφει ποιες συσκευές έχουν διαβάσει το μήνυμα */
function katastasi_mnm($id){
	data_on();
	$str='';
	$sql = "SELECT * FROM status_message WHERE message_id='$id'";
	$result = mysql_query($sql) or die('error_katastasi_mnm');
	while($row = mysql_fetch_array($result)){
		if(get('user_id','device','id',$row['device_id'],'one')==$_SESSION['ekdhlos_userid'] || $_SESSION['ekdhlos_level']==0){
			if(check('device', $row['device_id'], "id")==0)$device = '<span class="deleted" title="Η συσκευή έχει διαγραφεί!">'.$row['device_id'].'</span>';
			else {
				$status = get('status','device','id',$row['device_id'],'one');
				if($status == "yes"){
					$device = '<a href="edit_devices.php?edit_id='.$row['device_id'].'"  title="Κάντε κλικ για να επεξεργαστείτε τη συσκευή!"><span class="underline">'.$row['device_id'].'</span></a>';
				}
				else{
					$device = '<a href="edit_devices.php?edit_id='.$row['device_id'].'"  title="Κάντε κλικ για να επεξεργαστείτε τη συσκευή!"><span class="underline"><img alt="Η συσκευή έχει τεθεί ως ανενεργή!" src="images/exclamation-red.png" title="Η συσκευή έχει τεθεί ως ανενεργή!" />'.$row['device_id'].'</span></a>';
				}
			}
			
			if($row['read']=="yes") $str .= 'Η συσκευή '.$device.': <span class="right h8">διάβασε το μήνυμα <br />στις '.fix_date($row['date']).' '.fix_hour($row['date']).'.</span>';
			else $str .= 'Η συσκευή '.$device.': <span class="center h9">δεν διάβασε το μήνυμα.</span>';
			$str .= '<br />';
		}
		else{
			if(check('device', $row['device_id'], "id")==0)$device = '<span class="deleted" title="Η συσκευή έχει διαγραφεί!">'.$row['device_id'].'</span>';
			else $device = $row['device_id'];
			
			if($row['read']=="yes") $str .= 'Η συσκευή '.$device.': <span class="right h8">διάβασε το μήνυμα <br />στις '.fix_date($row['date']).' '.fix_hour($row['date']).'.</span>';
			else $str .= 'Η συσκευή '.$device.': <span class="center h9">δεν διάβασε το μήνυμα</span>.</span>';
			$str .= '<br />';
		}
	}
	data_off();
	return $str;
}
/* Συνάρτηση που θέτει την τιμή display σε "no" στον πίνακα status message ώστε να μην μπορούν οι συσκευές που τους στάλθηκε το μήνυμα να το δουν */
function revoke($id,$var=""){
	$check = check_for_revoke_on_not($id);
	if ($check == 0){		
		data_on();
		if(get('display','message','id',$id,'one')=="yes"){
			$f1 = "no";
			if($var == "admin"){
				$str = '<br /><div id="msg_ok_big" class="more_left_2">Οι συσκεύες δεν μπορούν να διαβάσουν το μήνυμα!</div>';
				echo "<script>setTimeout('window.location.href=\"edit_all_messages.php\"', 2000)</script>";
			}
			else{
				$str = '<br /><div id="msg_ok_big" class="more_left_2">Οι συσκεύες δεν μπορούν να διαβάσουν το μήνυμα!</div>';
				echo "<script>setTimeout('window.location.href=\"edit_messages.php\"', 2000)</script>";
			}
			$back  = '<a href="edit_all_messages.php?edit_id='.$id.'" title="Κάντε κλικ για να επεξεργαστείτε το μήνυμα."><h9>Απέτρεψε</h9> τις συσκευές από το να διαβάσουν το μήνυμα με id: '.$id.'</a>';
		}
		else{
			$f1 = "yes";
			if($var == "admin"){
				$str = '<br /><div id="msg_ok_big" class="more_left_2">Οι συσκεύες μπορούν πλέον να διαβάσουν το μήνυμα!</div>';
				echo "<script>setTimeout('window.location.href=\"edit_all_messages.php\"', 2000)</script>";
			}
			else{
				$str = '<br /><div id="msg_ok_big" class="more_left_2">Οι συσκεύες μπορούν πλέον να διαβάσουν το μήνυμα!</div>';
				echo "<script>setTimeout('window.location.href=\"edit_messages.php\"', 2000)</script>";
			}
			$back  = '<a href="edit_all_messages.php?edit_id='.$id.'" title="Κάντε κλικ για να επεξεργαστείτε το μήνυμα."><h8>Επέτρεψε</h8> στις συσκευές να μπορούν να διαβάσουν το μήνυμα με id: '.$id.'</a>';
		}
		$sql2 = "UPDATE message SET display = '$f1' WHERE id = '$id'";
		$result2 = mysql_query($sql2) or die('error_revoke');
		in_logfile($back);
		echo $str;
		data_off();
	}
	else{
		if($var == "admin"){
			echo '<br /><div id="msg_error" class="more_left_2">Όλες οι συσκεύες έχουν διαβάσει το μήνυμα!</div>';
			echo "<script>setTimeout('window.location.href=\"edit_all_messages.php\"', 2000)</script>";	
		}
		else {
			echo '<br /><div id="msg_error" class="more_left_2">Όλες οι συσκεύες έχουν διαβάσει το μήνυμα!</div>';
			echo "<script>setTimeout('window.location.href=\"edit_messages.php\"', 2000)</script>";	
		}
	}
}
/* Συνάρτηση που χάχνει να βρεί έστω και ένα μη διαβασμένο μήνυμα με id = $id */
function check_for_revoke_on_not($id){
	foreach (get('','status_message','',$id,'all') as $row){
		if($row['read']=='no') return 0;
	}
	return 1;
}
/* Συνάρτηση που επιστρέφει το σύνολο απο τον πίνακα που επέλεξε ο χρήστης */
function sunolo_table($id,$table){
	data_on();
	$sql = "SELECT * FROM $table WHERE user_id = '$id'";
	$result = mysql_query($sql) or die('error_synolo');
	$count = 0;
	while($i = mysql_fetch_array($result)){
		$count ++;
	}
	data_off();
	return $count; 
}

?>