1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96:
<?php
session_start();
$_classPath = "../";
include_once($_classPath . "class/obj.class.php");
include_once($_classPath . "inc/elements.inc.php");
include_once($_classPath . "class/mail.class.php");
include_once($_classPath . "core/users.core.php");
include_once($_classPath . "core/users.core/notice_add.php");
PHPShopObj::loadClass(['base', 'system', 'security', 'valuta', 'lang', 'security', 'product', 'parser', 'user']);
$PHPShopBase = new PHPShopBase($_classPath . "inc/config.ini");
$PHPShopSystem = new PHPShopSystem();
$PHPShopValutaArray = new PHPShopValutaArray();
$PHPShopNav = new PHPShopNav();
$PHPShopRecaptchaElement = new PHPShopRecaptchaElement();
$PHPShopLang = new PHPShopLang(['locale' => $_SESSION['lang'], 'path' => 'shop']);
if ($PHPShopSystem->ifSerilizeParam('admoption.recaptcha_enabled')) {
$PHPShopRecaptchaElement->recaptcha = true;
}
$ajaxNotice = new AjaxNotice();
try {
if (isset($_REQUEST['loadForm'])) {
$_RESULT = $ajaxNotice->getProductData((int) $_REQUEST['productId']);
$_RESULT['success'] = true;
} else {
$ajaxNotice->write($_REQUEST['mail']);
$_RESULT = [
'message' => PHPShopString::win_utf8(__("")),
'success' => true
];
}
} catch (\Exception $exception) {
$_RESULT = [
'message' => PHPShopString::win_utf8($exception->getMessage()),
'success' => false
];
}
echo json_encode($_RESULT);
class AjaxNotice {
public function write($email) {
if ($this->security()) {
$_POST['name_new'] = PHPShopString::utf8_win1251(strip_tags($_POST['name_new']));
$_POST['name_new'] = PHPShopSecurity::TotalClean($_POST['name_new'], 4);
$PHPShopUsers = new PHPShopUsers();
$PHPShopUsers->add_user_from_order($email);
notice_add($PHPShopUsers);
$this->lead();
} else {
throw new Exception(__(""));
}
}
private function security() {
global $PHPShopRecaptchaElement;
return $PHPShopRecaptchaElement->security(['url' => false, 'captcha' => true, 'referer' => true]);
}
private function lead() {
$product = $this->getProductData((int) $_REQUEST['productId']);
$PHPShopOrm = new PHPShopOrm($GLOBALS['SysValue']['base']['notes']);
$content = "http://" . $_SERVER['SERVER_NAME'] . "/shop/UID_" . $product['id'] . ".html\n".PHPShopString::utf8_win1251($_POST['message']);
$insert = array('date_new' => time(), 'message_new' => __('').' '.PHPShopString::utf8_win1251($product['title']), 'name_new' => $_POST['name_new'], 'mail_new' => $_POST['mail'], 'tel_new' => '', 'content_new' => __('').' '.PHPShopSecurity::TotalClean($content));
$PHPShopOrm->insert($insert);
}
public function getProductData($productId) {
$product = new PHPShopProduct($productId);
return [
'id' => $productId,
'link' => sprintf('/shop/UID_%s.html', $productId),
'title' => PHPShopString::win_utf8($product->getName()),
'image' => sprintf('<a href="/shop/UID_%s.html" title="%s">
<img class="one-image-slider" src="%s" alt="%s" title="%s"/>
</a>', $productId, PHPShopString::win_utf8($product->getName()), $product->getImage(), PHPShopString::win_utf8($product->getName()), PHPShopString::win_utf8($product->getName()))
];
}
}
?>