| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/modip/infosystem_v7/application/controllers/ |
Upload File : |
<?php
function send_inventory_notification($id_unit) {
$semester=current_semester(); //Μόνο για το τρέχον εξάμηνο
if(!permission_exists("send_inventory_notification", $id_unit)) {
$_SESSION['error_message']="Δεν έχετε τα απαραίτητα δικαιώματα να προβάλετε αυτή τη σελίδα.";
default_page();
return;
}
if (!inventory_period_is_open($semester)){
$_SESSION['error_message']="Μπορείτε να στείλετε ειδοποίηση μόνο κατά τη διάρκεια της περιόδου συμπλήρωσης απογραφικών δελτίων.";
default_page();
return;
}
//Περιορισμός για μία μόνο ειδοποίηση ανά 24 ώρες
$recently_sent=mysql_num_rows(query("SELECT * FROM __email_notifications WHERE type='inventory_sheets' AND semester='".$semester."' AND (id_unit='".$id_unit."' OR id_unit='ALL') AND date BETWEEN NOW() - INTERVAL 1 DAY AND NOW()"));
if ($recently_sent){
$_SESSION['error_message']="Εχει ήδη σταλεί μία ειδοποίηση στις τελευταίες 24 ώρες.";
return;
}
$users_moderated_d=query("SELECT DISTINCT u.id, u.last_name, u.first_name, u.email, ca.id caid, ca.course_sheet
FROM __users u
INNER JOIN __relations r ON r.id_user = u.id
RIGHT JOIN __course_assignments ca ON ca.relation_chain = r.relation_chain
INNER JOIN __classes cl ON cl.id=ca.id_class
WHERE r.id_unit = '".$id_unit."' AND u.active =1
AND r.id_ending_reason =1
AND cl.semester='".$semester."'
AND r.id = (SELECT max( r2.id ) FROM __relations r2 WHERE r2.relation_chain = r.relation_chain )
GROUP BY r.relation_chain
ORDER BY u.last_name ASC , u.first_name ASC");
$emails="";
while ($users_moderated_i=mysql_fetch_array($users_moderated_d)){
$notify_user=0;
//check if teacher sheet is submited
$teacher_sheet_data=mysql_fetch_array(query("SELECT id, submitted, id_proxy_user FROM __teacher_sheets WHERE id_user='".$users_moderated_i["id"]."' AND semester='".$semester."' AND id_unit='".$id_unit."'"));
if($teacher_sheet_data["submitted"]!=1) $notify_user++;
//check if course sheet is submited
if($teacher_sheet_data["course_sheet"]==1){
$course_sheet_data=mysql_fetch_array(query("SELECT submitted, id_proxy_user FROM __course_sheets WHERE id_course_assignment='".$users_moderated_i['caid']."'"));
if($course_sheet_data["submitted"]!=1) $notify_user++;
}
if ($notify_user>0) $emails.=$users_moderated_i['email'].";";
}
require_once("lib/mailer/email.php");
$email_template_i=mysql_fetch_array(query("SELECT * FROM __email_templates WHERE type='inventory_notification'"));
$to_mail=$emails;
//$to_mail="sdimitr@teiser.gr;mba_plagiarism@teiser.gr;"; //++++ να φύγει στο production version
$from_mail=EMAIL_ADDRESS;
$your_name=EMAIL_NAME;
$topic=clear_string($email_template_i["subject"]);
$topic=str_replace("{SEMESTER}", semester_id_to_text($semester), $topic);
$message=clear_string($email_template_i["body"]);
$message=str_replace("{SEMESTER}", semester_id_to_text(current_semester(),1), $message);
$message=str_replace("{DEPARTMENT}", unit_id_to_name($id_unit), $message);
$message=str_replace("{STARTDATE}", convert_date(current_semester("start_inventory")), $message);
$message=str_replace("{ENDDATE}", convert_date(current_semester("end_inventory")), $message);
$message=str_replace("{URL}", CURRENT_SITE, $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 ειδοποίησης στους χρήστες.";
query("INSERT INTO __email_notifications (type, semester, id_unit) VALUES ('inventory_sheets', '".$semester."', '".$id_unit."')");
}
?>