| 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_user_submit() {
if(!permission_exists("add_user", NULL)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
require_once("lib/mailer/email.php");
$custom_username=$_POST['custom_username'];
$custom_password=$_POST['custom_password'];
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$mobile=$_POST['mobile'];
$afm=$_POST['afm'];
$send_email=$_POST['send_email'];
if($first_name==NULL||$last_name==NULL||$email==NULL||($telephone==NULL&&$mobile==NULL)||$afm==NULL) {
$_SESSION['error_message']="Πρέπει να συμπληρώσετε όλα τα υποχρεωτικά πεδία.";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
$afm_exists=mysql_num_rows(query("SELECT * FROM __users WHERE afm='".$afm."'"));
if($afm_exists!=0) {
$_SESSION['error_message']="Υπάρχει ήδη χρήστης με ΑΦΜ ".$afm.".";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
if(preg_match('/[^0-9]/',$afm)) {
$_SESSION['error_message']="Μη έγκυρο ΑΦΜ ".$afm.".";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
if(strlen($telephone)<10&&$telephone!=NULL) {
$_SESSION['error_message']="Μη έγκυρο Τηλέφωνο ".$telephone.".";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
if(strlen($mobile)<10&&$mobile!=NULL) {
$_SESSION['error_message']="Μη έγκυρο Τηλέφωνο ".$mobile.".";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
$email_exists=mysql_num_rows(query("SELECT * FROM __users WHERE email='".$email."'"));
if($email_exists!=0) {
$_SESSION['error_message']="Υπάρχει ήδη χρήστης με διεύθυνση e-mail ".$email.".";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
if(!check_email($email)) {
$_SESSION['error_message']="Η διεύθυνση email που δώσατε είναι μη έγκυρη.";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
if($custom_username==NULL) {
$trans=array("α"=>"a", "ά"=>"a", "β"=>"v", "γ"=>"g", "δ"=>"d", "ε"=>"e", "έ"=>"e", "ζ"=>"z", "η"=>"i", "ή"=>"i", "θ"=>"th", "ι"=>"i", "ί"=>"i", "ϊ"=>"i", "ΐ"=>"i", "κ"=>"k", "λ"=>"l", "μ"=>"m", "ν"=>"n", "ξ"=>"x", "ο"=>"o", "ό"=>"o", "π"=>"p", "ρ"=>"r", "σ"=>"s", "τ"=>"t", "υ"=>"y", "ύ"=>"y", "ϋ"=>"y", "ΰ"=>"y", "φ"=>"f", "χ"=>"ch", "ψ"=>"ps", "ω"=>"o", "ώ"=>"o", "ου"=>"ou", "ού"=>"ou");
$username=substr(strtr(mb_substr(mb_strtolower(mb_strtoupper($first_name,'UTF-8'),'UTF-8'),0,1,'UTF-8'),$trans).strtr(mb_strtolower(mb_strtoupper($last_name,'UTF-8'),'UTF-8'),$trans),0,7);
$username_exists=mysql_num_rows(query("SELECT * FROM __users WHERE username='".$username."'"));
if($username_exists!=0) {
$i=1;
while(true) {
$username2=$username.$i;
$username_more_exists=mysql_num_rows(query("SELECT * FROM __users WHERE username='".$username2."'"));
if($username_more_exists==0) break;
$i++;
}
$username=$username2;
}
}
else {
$duplicate_username=mysql_num_rows(query("SELECT * FROM __users WHERE username='".$custom_username."'"));
if($duplicate_username!=0) {
$_SESSION['error_message']="Το όνομα χρήστη που δώσατε υπάρχει ήδη.";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
if(preg_match('/[^a-z0-9]/',$custom_username)) {
$_SESSION['error_message']="Το όνομα χρήστη μπορεί να αποτελείται μόνο από πεζούς αγγλικούς χαρακτήρες και αριθμούς.";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
$username=$custom_username;
}
if($custom_password==NULL) {
$password=substr(md5(uniqid(rand(),true)),0,10);
}
else {
if(preg_match('/[^a-zA-Z0-9!@#$%\^&*()-_=+]/',$custom_password)) {
$_SESSION['error_message']="Οι επιτρεπόμενοι χαρακτήρες για τον κωδικό είναι αγγλικά γράμματα (κεφαλαία και μικρά), οι αριθμοί και οι χαρακτήρες !@#$%^&*()-_=+.";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
if(strlen($custom_password)<8) {
$_SESSION['error_message']="Ο κωδικός πρέπει να είναι τουλάχιστον 8 χαρακτήρες.";
add_user($custom_username,$first_name,$last_name,$email,$telephone,$mobile,$afm);
return;
}
$password=$custom_password;
}
query("INSERT INTO __users (username, password, first_name, last_name, email, telephone, mobile, afm, date_added, active) VALUES ('".$username."', '".md5($password)."', '".$first_name."', '".$last_name."', '".$email."', '".$telephone."', '".$mobile."', '".$afm."', '".current_date()."', 1)");
if(mysql_affected_rows()>0) $_SESSION['success_message']="Ο χρήστης εισήχθη επιτυχώς με όνομα χρήστη: ".$username.". ";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά την καταχώρηση του χρήστη. ";
$email_template_i=mysql_fetch_array(query("SELECT * FROM __email_templates WHERE type='add_new_user'"));
$to_mail=$email;
$from_mail=EMAIL_ADDRESS;
$your_name=EMAIL_NAME;
$topic=clear_string($email_template_i["subject"]);
$message=clear_string($email_template_i["body"]);
$message=str_replace("{USERNAME}", $username, $message);
$message=str_replace("{PASSWORD}", $password, $message);
$message=str_replace("{URL}", CURRENT_SITE, $message);
if($send_email=='1') {
$mail_sent=smtpmailer($to_mail,$from_mail,$your_name,$topic,$message);
if($mail_sent==true) $_SESSION['success_message'].="Εστάλη επιτυχώς e-mail στο νέο χρήστη.";
else $_SESSION['error_message'].="Σφάλμα κατά την αποστολή του e-mail στο νέο χρήστη.";
}
view_user(mysql_insert_id());
}
function update_user_submit() {
$id_user=$_POST['userid'];
if(!permission_exists("update_user", $id_user)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$username=$_POST['username'];
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$mobile=$_POST['mobile'];
$afm=$_POST['afm'];
if($first_name==NULL||$last_name==NULL||$email==NULL||($telephone==NULL&&$mobile==NULL)||$afm==NULL) {
$_SESSION['error_message']="Πρέπει να συμπληρώσετε όλα τα υποχρεωτικά πεδία.";
update_user($id_user);
return;
}
$old_data=mysql_fetch_array(query("SELECT * FROM __users WHERE id='".$id_user."'"));
$duplicate_username=mysql_num_rows(query("SELECT * FROM __users WHERE username='".$username."' AND username!='".$old_data['username']."'"));
if($duplicate_username!=0) {
$_SESSION['error_message']="Το όνομα χρήστη που δώσατε υπάρχει ήδη.";
update_user($id_user);
return;
}
$duplicate_afm=mysql_num_rows(query("SELECT * FROM __users WHERE afm='".$afm."' AND afm!='".$old_data['afm']."'"));
if($duplicate_afm!=0) {
$_SESSION['error_message']="Το ΑΦΜ που δώσατε υπάρχει ήδη.";
update_user($id_user);
return;
}
if(preg_match('/[^0-9]/',$afm)) {
$_SESSION['error_message']="Μη έγκυρο ΑΦΜ ".$afm.".";
update_user($id_user);
return;
}
if(strlen($telephone)<10&&$telephone!=NULL) {
$_SESSION['error_message']="Μη έγκυρο Τηλέφωνο ".$telephone.".";
update_user($id_user);
return;
}
if(strlen($mobile)<10&&$mobile!=NULL) {
$_SESSION['error_message']="Μη έγκυρο Τηλέφωνο ".$mobile.".";
update_user($id_user);
return;
}
$duplicate_email=mysql_num_rows(query("SELECT * FROM __users WHERE email='".$email."' AND email!='".$old_data['email']."'"));
if($duplicate_email!=0) {
$_SESSION['error_message']="Η διεύθυνση e-mail που δώσατε υπάρχει ήδη.";
update_user($id_user);
return;
}
if(!check_email($email)) {
$_SESSION['error_message']="Η διεύθυνση email που δώσατε είναι μη έγκυρη.";
update_user($id_user);
return;
}
if(preg_match('/[^a-z0-9]/',$username)) {
$_SESSION['error_message']="Το όνομα χρήστη μπορεί να αποτελείται μόνο από πεζούς αγγλικούς χαρακτήρες και αριθμούς.";
update_user($id_user);
return;
}
$no_changes=mysql_num_rows(query("SELECT * FROM __users WHERE id='".$id_user."' AND username='".$username."' AND first_name='".$first_name."' AND last_name='".$last_name."' AND email='".$email."' AND telephone='".$telephone."' AND mobile='".$mobile."' AND afm='".$afm."'"));
if($no_changes>0) {
$_SESSION['error_message']="Δεν κάνατε κάποια τροποποίηση στα στοιχεία του χρήστη.";
view_user($id_user);
return;
}
query("UPDATE __users SET username='".$username."', first_name='".$first_name."', last_name='".$last_name."', email='".$email."', telephone='".$telephone."', mobile='".$mobile."', afm='".$afm."' WHERE id='".$id_user."'");
if(mysql_affected_rows()>0) $_SESSION['success_message']="Τα στοιχεία του χρήστη τροποποιήθηκαν επιτυχώς.";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά την τροποποίηση των στοιχείων του χρήστη.";
view_user($id_user);
}
function delete_user_submit() {
$id_user=$_POST['userid'];
$send_email=$_POST['send_email'];
if(!permission_exists("delete_user", $id_user)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$relations_exist=mysql_num_rows(query("SELECT * FROM __relations WHERE id_user='".$id_user."'"));
if($relations_exist!=0) {
$_SESSION['error_message']="Υπάρχουν καταχωρημένες σχέσεις εξάρτησης για το συγκεκριμένο χρήστη και δε μπορεί να γίνει διαγραφή.";
view_user($id_user);
return;
}
$publications_exist=mysql_num_rows(query("SELECT * FROM __publications WHERE id_user='".$id_user."'"));
if($publications_exist!=0) {
$_SESSION['error_message']="Υπάρχουν καταχωρημένες δημοσιεύσεις για το συγκεκριμένο χρήστη και δε μπορεί να γίνει διαγραφή.";
view_user($id_user);
return;
}
$user_data_i=mysql_fetch_array(query("SELECT * FROM __users WHERE id='".$id_user."'"));
query("DELETE FROM __users WHERE id='".$id_user."'");
if(mysql_affected_rows()>0) $_SESSION['success_message']="Ο χρήστης διεγράφη επιτυχώς. ";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά τη διαγραφή του χρήστη. ";
require_once("lib/mailer/email.php");
$email_template_i=mysql_fetch_array(query("SELECT * FROM __email_templates WHERE type='delete_user'"));
$to_mail=$user_data_i['email'];
$from_mail=EMAIL_ADDRESS;
$your_name=EMAIL_NAME;
$topic=clear_string($email_template_i["subject"]);
$message=clear_string($email_template_i["body"]);
if($send_email!=NULL) {
$mail_sent=smtpmailer($to_mail,$from_mail,$your_name,$topic,$message);
if($mail_sent==true) $_SESSION['success_message'].="Εστάλη επιτυχώς e-mail διαγραφής στο χρήστη.";
else $_SESSION['error_message'].="Σφάλμα κατά την αποστολή του e-mail διαγραφής στο χρήστη.";
}
view_all_users();
}
function reset_user_password($id_user) {
if(!permission_exists("reset_user_password", $id_user)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$user_data_i=mysql_fetch_array(query("SELECT * FROM __users WHERE id='".$id_user."'"));
$new_password=substr(md5(uniqid(rand(),true)),0,10);
require_once("lib/mailer/email.php");
$email_template_i=mysql_fetch_array(query("SELECT * FROM __email_templates WHERE type='reset_user_password'"));
$to_mail=$user_data_i['email'];
$from_mail=EMAIL_ADDRESS;
$your_name=EMAIL_NAME;
$topic=clear_string($email_template_i["subject"]);
$message=clear_string($email_template_i["body"]);
$message=str_replace("{USERNAME}", $user_data_i['username'], $message);
$message=str_replace("{PASSWORD}", $new_password, $message);
query("UPDATE __users SET password='".md5($new_password)."' WHERE id='".$id_user."'");
if(mysql_affected_rows()>0) $_SESSION['success_message']="Παρήχθη επιτυχώς νέος κωδικός για το χρήστη. ";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά την επαναφορά του κωδικού του χρήστη. ";
$mail_sent=smtpmailer($to_mail,$from_mail,$your_name,$topic,$message);
if($mail_sent==true) $_SESSION['success_message'].="Εστάλη επιτυχώς e-mail στο χρήστη.";
else $_SESSION['error_message'].="Σφάλμα κατά την αποστολή του e-mail στο χρήστη.";
view_user($id_user);
}
function activate_user($id_user) {
if(!permission_exists("activate_deactivate_user", $id_user)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
$user_data_i=mysql_fetch_array(query("SELECT * FROM __users WHERE id='".$id_user."'"));
$current_state=$user_data_i['active'];
if($current_state==1) {
$message1="απενεργοποιήθηκε";
$message2="απενεργοποίηση";
}
else {
$message1="ενεργοποιήθηκε";
$message2="ενεργοποίηση";
}
query("UPDATE __users SET active=-active WHERE id='".$id_user."'");
if(mysql_affected_rows()>0) $_SESSION['success_message']="Ο λογαριασμός του χρήστη ".$message1." επιτυχώς.";
else $_SESSION['error_message']="Απροσδόκητο σφάλμα κατά την ".$message2." του λογαριασμού.";
view_user($id_user);
}
?>