%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/proc/self/root/home/bitrix/www/local/components/UB/ub.ajax.add2fun/
Upload File :
Create Path :
Current File : //proc/self/root/proc/self/root/home/bitrix/www/local/components/UB/ub.ajax.add2fun/component.php

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$usrid = $USER->GetID();
if (ctype_digit($_GET["id"])) $id = $_GET["id"];
if (ctype_digit($_GET["fun"])) $fun = $_GET["fun"];

// @todo сделать через механизм друзей (что бы скрестить с блогами и рейтингами), добавить контроль sessid и вынести в компонент

if (CModule::IncludeModule("iblock") && CModule::IncludeModule("im") && $usrid>0){
  $ar_funs=array();

	// Находим профиль теущего пользователя
  $res = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>2, "PROPERTY_ACCOUNT"=>$usrid));
  if($ar_fields = $res->GetNext()) $profid = $ar_fields["ID"]; // id профиля текущего пользователя
	$profile = getUserProfile($usrid); // профиль текущего пользователя
  
  
  // Находим список фан-клуба объека лайка
  $db_props = CIBlockElement::GetProperty(2, $id, array(), Array("CODE"=>"RECOMMEND"));
  while ($ar_props = $db_props->Fetch()) {
		$ar_funs[] = $ar_props["VALUE"]; // список id профилей у объекта лайка
  }

	// Находим USER_ID объекта лайка (для уведомления)
  $db_props = CIBlockElement::GetProperty(2, $id, array(), Array("CODE"=>"ACCOUNT"));
  if ($ar_props = $db_props->Fetch()) $like_user_id = $ar_props["VALUE"];

  if (!in_array($profid, $ar_funs)) {
	  $ar_funs[] = $profid;
	  echo "ok";
	  $message = GetMessage("TO_YOUR_FAN_CLUB_JOIN").'<a href="'.$profile['LINK'].'">'.$profile['NAME'].'</a>';
	}
  else {
	  $key = array_search($profid, $ar_funs);
	  unset($ar_funs[$key]);
    echo "ok_del";	  
	  $message = GetMessage("FROM_YOUR_FAN_CLUB_CAME_OUT").'<a href="'.$profile['LINK'].'">'.$profile['NAME'].'</a>';
	}
	
	// Обновляем список
  CIBlockElement::SetPropertyValues($id, 2, $ar_funs, "RECOMMEND");

  $arMessageFields = array(
     "TO_USER_ID" => $like_user_id,
     "FROM_USER_ID" => 0, 
     "NOTIFY_TYPE" => IM_NOTIFY_SYSTEM, 
     "NOTIFY_MODULE" => "im", 
     "NOTIFY_MESSAGE" => $message,
  );
  CIMNotify::Add($arMessageFields);

}
else echo "need_auth";

?>

Zerion Mini Shell 1.0