| 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 : C:/Old Sites/modip/infosystem_v7/application/controllers/ |
Upload File : |
<?php
function add_relation_submit() {
$id_user=$_POST['id_user'];
if(!permission_exists("add_relation", $id_user)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$id_relation_type=$_POST['id_relation_type'];
$id_unit=$_POST['id_unit'];
$starting_date=convert_date($_POST['starting_date']);
$ending_date=convert_date($_POST['ending_date']);
$afm=$_POST['afm'];
$id_ending_reason=1;
$relation_type_data_i=mysql_fetch_array(query("SELECT * FROM __relation_types WHERE id='".$id_relation_type."'"));
if($id_relation_type==NULL||$id_unit==NULL||$starting_date==NULL||$id_ending_reason==NULL) {
$_SESSION['error_message']="Πρέπει να συμπληρώσετε όλα τα υποχρεωτικά πεδία.";
add_relation($id_user,$id_relation_type,$id_unit,$starting_date,$ending_date,$id_ending_reason);
return;
}
if(!is_date($starting_date)||(!is_date($ending_date)^$ending_date==NULL)) {
$_SESSION['error_message']="Οι ημερομηνίες πρέπει να είναι της μορφής ηη-μμ-εεεε και να είναι έγκυρες.";
add_relation($id_user,$id_relation_type,$id_unit,$starting_date,$ending_date,$id_ending_reason);
return;
}
if(($ending_date!=NULL)&&($ending_date<$starting_date)) {
$_SESSION['error_message']="Η ημερομηνία λήξης πρέπει να είναι μεταγενέστερη της ημερομηνίας έναρξης.";
add_relation($id_user,$id_relation_type,$id_unit,$starting_date,$ending_date,$id_ending_reason);
return;
}
if(($ending_date==NULL)&&($id_ending_reason=='1')&&($relation_type_data_i['temporary']==1)) {
$_SESSION['error_message']="Η ημερομηνία λήξης είναι πάντα υποχρεωτική για τις σχέσεις εξάρτησης ορισμένου χρόνου.";
add_relation($id_user,$id_relation_type,$id_unit,$starting_date,$ending_date,$id_ending_reason);
return;
}
if($ending_date!=NULL&&($id_ending_reason=='1')&&($relation_type_data_i['temporary']==0)) {
$_SESSION['error_message']="Μία σχέση εξάρτησης δε μπορεί να είναι ενεργή και να έχει ημερομηνία λήξης.";
add_relation($id_user,$id_relation_type,$id_unit,$starting_date,$ending_date,$id_ending_reason);
return;
}
if($ending_date==NULL&&($id_ending_reason!='1')) {
$_SESSION['error_message']="Μία σχέση εξάρτησης δε μπορεί να είναι μη ενεργή και να μην έχει ημερομηνία λήξης.";
add_relation($id_user,$id_relation_type,$id_unit,$starting_date,$ending_date,$id_ending_reason);
return;
}
if(!permission_exists("moderate_user", $id_user)) {
$afm_is_correct=mysql_num_rows(query("SELECT * FROM __users WHERE id='".$id_user."' AND afm='".$afm."'"));
if($afm_is_correct!=1) {
$_SESSION['error_message']="Το ΑΦΜ που δώσατε δεν ανήκει στον συγκεκριμένο χρήστη.";
add_relation($id_user,$id_relation_type,$id_unit,$starting_date,$ending_date,$id_ending_reason);
return;
}
}
/*+++*/
// $similar_relation_exists=mysql_num_rows(query("SELECT * FROM __relations WHERE id_user='".$id_user."' AND id_relation_type='".$id_relation_type."' AND id_unit='".$id_unit."' AND NOT ('".$ending_date."' < starting_date OR '".$starting_date."' > ending_date)"));
// if($similar_relation_exists>0) {
// $_SESSION['error_message']="Δε μπορείτε να εισάγετε δεύτερη σχέση εξάρτησης με τα ίδια στοιχεία.";
// add_relation($id_user,$id_relation_type,$id_unit,$starting_date,$ending_date,$id_ending_reason);
// return;
// }
$last_relation_chain=mysql_fetch_array(query("SELECT relation_chain FROM __relations ORDER BY relation_chain DESC LIMIT 1"));
$relation_chain=$last_relation_chain[0]+1;
query("INSERT INTO __relations (id_user, relation_chain, id_relation_type, id_unit, starting_date, ending_date, id_ending_reason) VALUES ('".$id_user."', '".$relation_chain."', '".$id_relation_type."', '".$id_unit."', '".$starting_date."', '".$ending_date."', '".$id_ending_reason."')");
if(mysql_affected_rows()>0) $_SESSION['success_message']="H σχέση εξάρτησης εισήχθη επιτυχώς.";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά την εισαγωγή της σχέσεως εξάρτησης.";
view_user($id_user);
}
function evolve_relation_submit() {
$relation_chain=$_POST['relation_chain'];
if(!permission_exists("evolve_relation", $relation_chain)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$starting_date=convert_date($_POST['starting_date']);
if($starting_date==NULL) {
$_SESSION['error_message']="Πρέπει να συμπληρώσετε όλα τα υποχρεωτικά πεδία.";
evolve_relation($relation_chain, $starting_date);
return;
}
if(!is_date($starting_date)) {
$_SESSION['error_message']="Οι ημερομηνία έναρξης πρέπει να είναι της μορφής ηη-μμ-εεεε και να είναι έγκυρη.";
evolve_relation($relation_chain, $starting_date);
return;
}
$user_data_i=mysql_fetch_array(query("SELECT u.* FROM __relations r, __users u WHERE r.relation_chain='".$relation_chain."' AND r.id_user=u.id"));
$relation_data_i=mysql_fetch_array(query("SELECT * FROM __relations WHERE relation_chain='".$relation_chain."' AND evolved_to_id IS NULL"));
$next_level_i=mysql_fetch_array(query("SELECT * FROM __relation_types WHERE evolves_from_id='".$relation_data_i['id_relation_type']."'"));
query("INSERT INTO __relations (id_user, relation_chain, id_relation_type, id_unit, starting_date, evolved_from_id, id_ending_reason) VALUES ('".$user_data_i['id']."', '".$relation_chain."', '".$next_level_i['id']."', '".$relation_data_i['id_unit']."', '".$starting_date."', '".$relation_data_i['id']."', '1')");
$insert_check=mysql_affected_rows();
$new_next_level_i=mysql_fetch_array(query("SELECT * FROM __relations WHERE id_user='".$user_data_i['id']."' AND relation_chain='".$relation_chain."' AND id_relation_type='".$next_level_i['id']."' AND id_unit='".$relation_data_i['id_unit']."' AND starting_date='".$starting_date."' AND evolved_from_id='".$relation_data_i['id']."'"));
query("UPDATE __relations SET evolved_to_id='".$new_next_level_i['id']."', ending_date='".$starting_date."', id_ending_reason='3' WHERE id='".$relation_data_i['id']."'");
$update_check=mysql_affected_rows();
if($insert_check>0&&$update_check>0) $_SESSION['success_message']="H σχέση εξάρτησης εξελίχθη επιτυχώς.";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά την εξέλιξη της σχέσεως εξάρτησης.";
view_user($user_data_i['id']);
}
function end_relation_submit() {
$id_relation=$_POST['id_relation'];
if(!permission_exists("end_relation", $id_relation)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$user_data_i=mysql_fetch_array(query("SELECT u.* FROM __relations r, __users u WHERE r.id='".$id_relation."' AND r.id_user=u.id"));
$ending_date=convert_date($_POST['ending_date']);
$id_ending_reason=$_POST['id_ending_reason'];
if($ending_date==NULL||$id_ending_reason==NULL) {
$_SESSION['error_message']="Πρέπει να συμπληρώσετε όλα τα υποχρεωτικά πεδία.";
end_relation($id_relation, $ending_date, $id_ending_reason);
return;
}
if(!is_date($ending_date)) {
$_SESSION['error_message']="Οι ημερομηνία έναρξης πρέπει να είναι της μορφής ηη-μμ-εεεε και να είναι έγκυρη.";
end_relation($id_relation, $ending_date, $id_ending_reason);
return;
}
if(!is_ending_reason_editable($id_ending_reason)) {
$_SESSION['error_message']="Μη έγκυρος λόγος διακοπής.";
end_relation($id_relation, $ending_date, $id_ending_reason);
return;
}
query("UPDATE __relations SET ending_date='".$ending_date."', id_ending_reason='".$id_ending_reason."' WHERE id='".$id_relation."'");
if(mysql_affected_rows()>0) $_SESSION['success_message']="H σχέση εξάρτησης διεκόπη επιτυχώς.";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά τη διακοπή της σχέσεως εξάρτησης.";
view_user($user_data_i['id']);
}
function update_relation_submit() {
$id_relation=$_POST['id_relation'];
if(!permission_exists("update_relation", $id_relation)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$user_data_i=mysql_fetch_array(query("SELECT u.* FROM __relations r, __users u WHERE r.id='".$id_relation."' AND r.id_user=u.id"));
$id_relation_type=$_POST['id_relation_type'];
$id_unit=$_POST['id_unit'];
$starting_date=convert_date($_POST['starting_date']);
$ending_date=convert_date($_POST['ending_date']);
$id_ending_reason=$_POST['id_ending_reason'];
$relation_type_data_i=mysql_fetch_array(query("SELECT * FROM __relation_types WHERE id='".$id_relation_type."'"));
if($id_relation_type==NULL||$id_unit==NULL||$starting_date==NULL) {
$_SESSION['error_message']="Πρέπει να συμπληρώσετε όλα τα υποχρεωτικά πεδία.";
update_relation($id_relation);
return;
}
if(!is_date($starting_date)||(!is_date($ending_date)^$ending_date==NULL)) {
$_SESSION['error_message']="Οι ημερομηνίες πρέπει να είναι της μορφής ηη-μμ-εεεε και να είναι έγκυρες.";
update_relation($id_relation);
return;
}
if($ending_date!=NULL&&($ending_date<$starting_date)) {
$_SESSION['error_message']="Η ημερομηνία λήξης πρέπει να είναι μεταγενέστερη της ημερομηνίας έναρξης.";
update_relation($id_relation);
return;
}
if(($ending_date==NULL)&&($id_ending_reason=='1')&&($relation_type_data_i['temporary']==1)) {
$_SESSION['error_message']="Η ημερομηνία λήξης είναι πάντα υποχρεωτική για τις σχέσεις εξάρτησης ορισμένου χρόνου.";
update_relation($id_relation);
return;
}
if(($ending_date!=NULL)&&($id_ending_reason=='1')&&(!$relation_type_data_i['temporary']==1)) {
$_SESSION['error_message']="Μία σχέση εξάρτησης δε μπορεί να είναι ενεργή και να έχει ημερομηνία λήξης.";
update_relation($id_relation);
return;
}
if($ending_date==NULL&&($id_ending_reason!='1')) {
$_SESSION['error_message']="Μία ανενεργή σχέση εξάρτησης πρέπει να έχει υποχρεωτικά ημερομηνία λήξης.";
update_relation($id_relation);
return;
}
if($ending_date==NULL) $no_changes=mysql_num_rows(query("SELECT * FROM __relations WHERE id='".$id_relation."' AND id_relation_type='".$id_relation_type."' AND id_unit='".$id_unit."' AND starting_date='".$starting_date."' AND id_ending_reason='".$id_ending_reason."'"));
else $no_changes=mysql_num_rows(query("SELECT * FROM __relations WHERE id='".$id_relation."' AND id_relation_type='".$id_relation_type."' AND id_unit='".$id_unit."' AND starting_date='".$starting_date."' AND ending_date='".$ending_date."' AND id_ending_reason='".$id_ending_reason."'"));
if($no_changes>0) {
$_SESSION['error_message']="Δεν κάνατε κάποια τροποποίηση στα στοιχεία της σχέσεως εξάρτησης.";
view_user($user_data_i['id']);
return;
}
if($ending_date==NULL) $ending_date="0000-00-00";
query("UPDATE __relations SET id_relation_type='".$id_relation_type."', id_unit='".$id_unit."', starting_date='".$starting_date."', ending_date='".$ending_date."', id_ending_reason='".$id_ending_reason."' WHERE id='".$id_relation."'");
if(mysql_affected_rows()>0) $_SESSION['success_message']="H σχέση εξάρτησης τροποποιήθηκε επιτυχώς.";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά την τροποποίηση της σχέσεως εξάρτησης.";
view_user($user_data_i['id']);
}
function delete_relation($id_relation) {
if(!permission_exists("delete_relation", $id_relation)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$user_data_i=mysql_fetch_array(query("SELECT u.* FROM __relations r, __users u WHERE r.id='".$id_relation."' AND r.id_user=u.id"));
$relation_data_i=mysql_fetch_array(query("SELECT * FROM __relations WHERE id='".$id_relation."'"));
$roles_d=query("SELECT * FROM __roles");
while($roles_i=mysql_fetch_array($roles_d)) {
if(mysql_num_rows(query("SELECT * FROM __".$roles_i['table_name']." WHERE relation_chain='".$relation_data_i['relation_chain']."'"))!=0) {
$_SESSION['error_message']="Υπάρχουν καταχωρημένοι ρόλοι για τη συγκεκριμένη σχέση εξάρτησης και δε μπορεί να γίνει διαγραφή.";
view_user($user_data_i['id']);
return;
}
}
query("DELETE FROM __relations WHERE id='".$id_relation."'");
if(mysql_affected_rows()>0) $_SESSION['success_message']="H σχέση εξάρτησης διεγράφη επιτυχώς.";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά τη διαγραφή της σχέσεως εξάρτησης.";
view_user($user_data_i['id']);
}
?>