<?
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/icq.class.php");
define('UIN', );
define('PASSWORD', '');
function YandexYML() {
include($_SERVER["DOCUMENT_ROOT"].'/tools/yandex.php');
}
if (!isset($_SESSION['LOADS']))
{
$_SESSION['LOADS'] = 0;
}
else
{
$_SESSION['LOADS']++;
}
AddEventHandler("sale", "OnSaleCancelOrder", "SaleCancelOrderEventAdd");
function SaleCancelOrderEventAdd(&$ID, &$var)
{
if($var == "Y" && CModule::IncludeModule("statistic"))
{
CStatistic::Set_Event("eStore", "order_cancel", $ID);
}
}
// регистрируем обработчик
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("MyClass", "OnAfterIBlockElementAddHandler"));
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("MyClass", "OnAfterIBlockElementUpdateHandler"));
AddEventHandler("catalog", "OnProductAdd", Array("MyClass", "OnProductAddHandler"));
AddEventHandler("catalog", "OnProductUpdate", Array("MyClass", "OnProductUpdateHandler"));
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("MyClass", "OnBeforeIBlockElementAddHandler"));
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", Array("MyClass", "OnBeforeIBlockElementAddHandler"));
AddEventHandler("sale", "OnOrderAdd", Array("MyClass", "OnOrderAddHandler"));
AddEventHandler("main", "OnBeforeUserAdd", Array("MyClass", "OnBeforeUserAddHandler"));
AddEventHandler("main", "OnBeforeUserUpdate", Array("MyClass", "OnBeforeUserUpdateHandler"));
AddEventHandler("main", "OnAfterUserAdd", Array("MyClass", "OnAfterUserAddHandler"));
AddEventHandler("main", "OnAfterUserUpdate", Array("MyClass", "OnAfterUserUpdateHandler"));
AddEventHandler("main", "OnAfterUserLogin", Array("MyClass", "OnAfterUserLoginHandler"));
AddEventHandler("main", "OnAfterUserLogout", Array("MyClass", "OnAfterUserLogoutHandler"));
function translit($str) {
$tr = array(
"А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",
"Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i",
"Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
"О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
"У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch",
"Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
"Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
" "=> "-", "."=> "", "/"=> "-"
);
return strtr($str,$tr);
}
class MyClass {
function OnAfterUserLoginHandler(&$arFields) {
global $USER, $_SERVER, $DB, $user, $db, $cache, $auth, $template, $phpbb_root_path, $phpEx, $config;
if($USER->IsAuthorized() && ($_SERVER["SCRIPT_NAME"] != '/bitrix/admin/1c_exchange.php')) {
if($_POST["backurl"]) $backURL = str_replace("logout=yes", "", $_POST["backurl"]);
define('PHPBB_ROOT_PATH', $_SERVER["DOCUMENT_ROOT"].'/phpBB3/');
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$bCreateUser = false;
$rsUser = CUser::GetByID($USER->GetID());
if($arUser = $rsUser->Fetch()) {
$sLogin = $arUser["UF_FORUM_LOGIN"];
if(!$sLogin) $sLogin = $arUser["LOGIN"];
}
$rsExist = $DB->Query("SELECT user_id FROM phpbb_users WHERE username = '".$DB->ForSql($sLogin)."';");
if(!($arExist = $rsExist->Fetch())) {
$bCreateUser = true;
}
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
if($bCreateUser) {
$user_row['username'] = $sLogin;
$user_row['user_password'] = phpbb_hash($arFields["PASSWORD"]);
$user_row['user_email'] = $arUser["EMAIL"];
$user_row['group_id'] = 2;
$user_row['user_type'] = 0;
user_add($user_row, false);
} else {
$db->sql_query("UPDATE phpbb_users SET user_password = '".$db->sql_escape(phpbb_hash($arFields["PASSWORD"]))."' WHERE username = '".$db->sql_escape($sLogin)."';");
}
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');
if (empty($user->lang)) $user->setup();
$result = $auth->login($sLogin, $arFields["PASSWORD"], $arFields["REMEMBER"], true, true);
$redirect = $backURL;
$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];
$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "/phpBB3/index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
// append/replace SID (may change during the session for AOL users)
$redirect = reapply_sid($redirect);
header("Location: ".$redirect);
die();
}
}
function OnAfterUserLogoutHandler(&$arFields) {
global $USER, $APPLICATION, $user, $db, $cache, $auth, $template, $phpbb_root_path, $phpEx, $config;
$redirect = $APPLICATION->GetCurPageParam("", array("logout"));
define('PHPBB_ROOT_PATH', $_SERVER["DOCUMENT_ROOT"].'/phpBB3/');
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$user->session_begin();
$user->session_kill();
$user->session_begin();
header("Location: ".$redirect);
die();
}
function OnBeforeUserAddHandler(&$arFields) {
$arFields["UF_FORUM_LOGIN"] = $arFields["LOGIN"];
}
function OnAfterUserAddHandler(&$arFields) {}
function OnOrderAddHandler($ID) {
global $USER;
if(CModule::IncludeModule("iblock")) {
$arLoadProductArray = Array(
"IBLOCK_ID" => 82,
"NAME" => "Уведомление о заказе № ".$ID,
"ACTIVE" => "Y",
"ACTIVE_FROM" => date("d.m.Y", AddToTimeStamp(array("DD" => 15), time())),
"PROPERTY_VALUES" => array(
"USER" => $USER->GetID(),
"ORDER" => $ID
)
);
$hElement = new CIBlockElement;
$hElement->Add($arLoadProductArray);
}
}
function OnProductAddHandler($ID, &$arFields) {
$rsElement = CIBlockElement::GetByID($ID);
$arElement = $rsElement->Fetch();
if ($arElement["IBLOCK_ID"] == 48) {
$sActive = $arElement["ACTIVE"];
$arProduct = CCatalogProduct::GetByID($ID);
if($arProduct["QUANTITY"] <= 0) $sActive = "N";
else $sActive = "Y";
if($arElement["ACTIVE"] != $sActive) {
$hElement = new CIBlockElement;
$hElement->Update($ID, array(
"ACTIVE" => $sActive
));
}
}
}
function OnProductUpdateHandler($ID, &$arFields) {
$rsElement = CIBlockElement::GetByID($ID);
$arElement = $rsElement->Fetch();
if ($arElement["IBLOCK_ID"] == 48) {
$sActive = $arElement["ACTIVE"];
$arProduct = CCatalogProduct::GetByID($ID);
if($arProduct["QUANTITY"] <= 0) $sActive = "N";
else $sActive = "Y";
if($arElement["ACTIVE"] != $sActive) {
$hElement = new CIBlockElement;
$hElement->Update($ID, array(
"ACTIVE" => $sActive
));
}
}
}
function OnAfterIBlockElementAddHandler(&$arFields) {
if ($arFields["IBLOCK_ID"] == 48) {
CIBlockElement::SetPropertyValueCode($arFields["ID"], "NEW", 7);
CIBlockElement::SetPropertyValueCode($arFields["ID"], "NEW_HOW_OLD", date("Ymd", AddToTimeStamp(array("MM" => 1), time())));
} else if ($arFields["IBLOCK_ID"] == 56) {
$arSelect = Array("ID", "NAME", "PREVIEW_TEXT", "IBLOCK_ID", "PROPERTY_*");
$arFilter = Array("IBLOCK_ID" => $arFields["IBLOCK_ID"], "ID" => $arFields["ID"]);
$rsElement = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
if($obElement = $rsElement->GetNextElement()) {
$arFields = $obElement->GetFields();
$arProperties = $obElement->GetProperties();
foreach($arProperties as $arProperty) $arFields[$arProperty["CODE"]] = $arProperty["VALUE"];
CEvent::Send('FEEDBACK', SITE_ID, $arFields);
}
} else if ($arFields["IBLOCK_ID"] == 55) {
$arSelect = Array("ID", "NAME", "IBLOCK_ID", "PROPERTY_*");
$arFilter = Array("IBLOCK_ID" => $arFields["IBLOCK_ID"], "ID" => $arFields["ID"]);
$rsElement = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
while($obElement = $rsElement->GetNextElement()) {
$arFields = $obElement->GetFields();
$arProperties = $obElement->GetProperties();
foreach($arProperties as $arProperty) $arFields[$arProperty["CODE"]] = $arProperty["VALUE"];
if($arProperties["PARENT_USER"]["VALUE"] > 0) {
$rsUser = CUser::GetByID($arProperties["PARENT_USER"]["VALUE"]);
if($arUser = $rsUser->Fetch()) {
foreach($arUser as $sKey => $sValue) $arFields["USER_".$sKey] = $sValue;
}
}
}
CEvent::Send('ADD_CHILDREN', SITE_ID, $arFields);
}
}
function OnAfterIBlockElementUpdateHandler(&$arFields) {
if ($arFields["IBLOCK_ID"] == 55) {
$arSelect = Array("ID", "NAME", "IBLOCK_ID", "PROPERTY_*");
$arFilter = Array("IBLOCK_ID" => $arFields["IBLOCK_ID"], "ID" => $arFields["ID"]);
$rsElement = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
while($obElement = $rsElement->GetNextElement()) {
$arFields = $obElement->GetFields();
$arProperties = $obElement->GetProperties();
foreach($arProperties as $arProperty) $arFields[$arProperty["CODE"]] = $arProperty["VALUE"];
if($arProperties["PARENT_USER"]["VALUE"] > 0) {
$rsUser = CUser::GetByID($arProperties["PARENT_USER"]["VALUE"]);
if($arUser = $rsUser->Fetch()) {
foreach($arUser as $sKey => $sValue) $arFields["USER_".$sKey] = $sValue;
}
}
}
CEvent::Send('EDIT_CHLDREN', SITE_ID, $arFields);
}
}
function OnBeforeUserUpdateHandler(&$arFields) {
$rsUser = CUser::GetByID($arFields["ID"]);
if($arUser = $rsUser->Fetch()) {
if(!$arUser["UF_FORUM_LOGIN"]) {
$arFields["UF_FORUM_LOGIN"] = $arUser["LOGIN"];
}
}
}
function OnAfterUserUpdateHandler(&$arFields) {
$rsUser = CUser::GetByID($arFields["ID"]);
if($arUser = $rsUser->Fetch()) {
CEvent::Send('EDIT_USER', SITE_ID, $arUser);
}
}
function OnBeforeIBlockElementAddHandler(&$arFields)
{
$res = mysql_query("SELECT IBLOCK_TYPE_ID FROM `b_iblock` WHERE ID='".$arFields["IBLOCK_ID"]."'");
if ($res && mysql_result($res, 0)=="filters") {
$s_Name = trim($arFields['NAME']);
if(strlen($arFields['CODE']) <= 0)
{
$arFields['CODE'] = translit($s_Name);
}
$arFields['CODE'] = strtolower(str_replace("-", "_", $arFields['CODE']));
}
}
}
function happy_birthday()
{
$adminEmail = COption::GetOptionString('main', 'email_from', 'default@admin.email');
$sql = "SELECT DISTINCT `EMAIL`, `NAME` FROM b_user WHERE `PERSONAL_BIRTHDAY`='".(date('Y-m-d'))."'";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res))
{
$arEventFields = array(
"NAME" => $row['NAME'],
"MAIL" => $row['EMAIL'],
"ADMIN_EMAIL" => $adminEmail,
"ACTIVE" => "Y",
"MESSAGE" => "",
);
CEvent::Send("HAPPY_BIRTHDAY", SITE_ID, $arEventFields);
}
$users = array();
$sql = "SELECT DISTINCT b.`VALUE` FROM b_iblock_element_property a, b_iblock_element_property b WHERE a.`VALUE`='".(date('Y-m-d'))." 00:00:00' AND a.`IBLOCK_ELEMENT_ID`=b.`IBLOCK_ELEMENT_ID` AND b.`IBLOCK_PROPERTY_ID`=246";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res))
{
$users[] = $row['VALUE'];
}
if (sizeof($users))
{
$sql = "SELECT DISTINCT `EMAIL`, `NAME` FROM b_user WHERE `ID` IN('".implode("','", $users)."')";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res))
{
$arEventFields = array(
"NAME" => $row['NAME'],
"MAIL" => $row['EMAIL'],
"ADMIN_EMAIL" => $adminEmail,
"ACTIVE" => "Y",
"MESSAGE" => "",
);
CEvent::Send("HAPPY_BIRTHDAY_BABY", SITE_ID, $arEventFields);
}
}
}
function out($var)
{
$_SERVER['HTTP_X_REAL_IP'] = $_SERVER['REMOTE_ADDR'];
if ($_SERVER['HTTP_X_REAL_IP'] == "79.142.86.82" || $_SERVER['HTTP_X_REAL_IP'] == "91.122.58.225")
{
if (is_array($var) || is_object($var))
{
echo "<pre>";
print_r($var);
}
else
{
var_export($var);
}
die;
}
}
?>
|