www_archline_hu/cadline/backend/maintenance2/leiratkozas.php
LÁZÁR Imre AI Agent 3d4158c3ac feat(cadline): add common_cadline_libraries + maintenance backend
common_cadline_libraries (CRM hardlock/db/users classes; upstream cadline_web/cadcommonlib), maintenance/ (ARCHLine.XP license backend; upstream cadline_web/maintenance), maintenance2/. Vetted live files (byte-truth); upstream repos in PROVENANCE.md. NOTE: could be git submodules — kept as live files for byte-fidelity.

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
2026-07-16 11:34:30 +02:00

92 lines
3.7 KiB
PHP

<?php
require_once('libraries/phpmailer/PHPMailerAutoload.php');
require_once('config.mail.php');
if (!class_exists('crm_users')) require_once("../common_cadline_libraries/crm_users.class.php");
$email = trim($_GET['email']);
$topicId = 54;
$maxLeiratkozas = 10;
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) { // $email is a valid email address
//egy ip cimrol 24 oran belul $maxLeiratkozas lehetseges
crm_database::getInstance()->query("SELECT * FROM `" . JMLADATBAZIS . "`.`unsubscribe` WHERE `ip`='" . $_SERVER['REMOTE_ADDR'] . "' AND datum>='" . date('Y-m-d H:i:s', time() - 86400) . "';");
$leiratkozott = crm_database::getInstance()->fetchAssoc();
if (count($leiratkozott) >= $maxLeiratkozas) {
echo 'too many unsubscribe.';
exit();
}
crm_database::getInstance()->query("SELECT DISTINCT(nUserID) FROM " . CRMADATBAZIS . ".u_emails WHERE `newsletter`=1 AND email='" . $email . "';");
$res = crm_database::getInstance()->fetchAssoc();
if (count($res)) {
$ids = array();
foreach ($res as $sor => $user) {
$nUserID = $user['nUserID'];
$ids[] = $nUserID;
// u_history-ba beírás
crm_users::AddUserHistory(array(
'nUserID' => $nUserID,
'nTopicID' => $topicId,
'strInfo' => $email
));
// user adatok kikeresese
crm_database::getInstance()->query("SELECT * FROM " . CRMADATBAZIS . ".users WHERE nUserID=" . $nUserID . " LIMIT 1;");
$u = crm_database::getInstance()->fetchAssoc();
$u = $u[0];
// userstatus felülírása -5-re, ha 99 vagy <= 8
if ((int)$u['nUserStatus'] == 99 || (int)$u['nUserStatus'] <= 8) crm_users::SetUserStatus($nUserID, -5);
// unsubscribe tabla insert
crm_database::getInstance()->insert("`" . JMLADATBAZIS . "`.`unsubscribe`", array(
'name' => $u['strName'],
'email' => $email,
'deleted' => 1,
'datum' => date('Y-m-d H:i:s', time()),
'ip' => $_SERVER['REMOTE_ADDR']
));
}
// e_mail newsletter=>0
crm_database::getInstance()->update("`" . CRMADATBAZIS . "`.`u_emails`", array('newsletter' => 0), array('email' => $email));
$msg = "Helló Adminisztrátor,<br />Az alábbi email címmel leiratkozott egy felhasználó: " . $email . "<br />";
if (count($ids)) {
foreach ($ids as $id) $msg .= "<a href='http://crm.cadline.hu/hu/users/show/" . $id . "'>http://crm.cadline.hu/hu/users/show/" . $id . "</a><br />";
}
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->CharSet = 'UTF-8';
$mail->Host = $mailconfig['Host'];
$mail->Username = $mailconfig['Username'];
$mail->Password = $mailconfig['Password'];
$mail->SMTPSecure = $mailconfig['SMTPSecure'];
$mail->Port = $mailconfig['Port'];
$mail->isHTML(TRUE);
$mail->setFrom('info@cadline.hu');
$mail->addAddress('webdeveloper@cadline.hu');
$mail->addAddress('marketing@cadline.hu');
$mail->Subject = 'Hírlevél leiratkozás';
$mail->msgHTML($msg);
$mail->AltBody = strip_tags($msg);
$mail->send();
unset($mail);
print "<script>window.location.href = '/index.php?option=com_content&view=article&id=580';</script>";
} else {
echo ($email . " email not found.<br />");
exit();
}
} else {
echo ($email . " is not a valid email address.<br />");
exit();
}