user

Bitrix d7 получить список пользователей по группам

10.08.2016 Bitrix, php, php скрипты ,

           $arUsers = Bitrix\Main\UserGroupTable::getList(
		array(
			'order'=>array('USER_ID' => 'asc'),
			'group'=>array('USER_ID'),
			'select' => array(
				'USER_ID',
				'USER_DATE_REGISTER' => 'USER.DATE_REGISTER',
				'USER_ACTIVE' => 'USER.ACTIVE',
				'USER_EMAIL' => 'USER.EMAIL',
				'USER_LOGIN' => 'USER.LOGIN',
				'USER_WORK_COMPANY' => 'USER.WORK_COMPANY',
				'USER_NAME' => 'USER.NAME',
				'USER_GROUP_STR',
			),
			'filter' => array(
				'GROUP.ACTIVE' => 'Y',
				'USER.ACTIVE' => 'Y',
				'GROUP_ID' => array(3, 4),
				array(
					'LOGIC' => 'OR',
					'=DATE_ACTIVE_FROM' => null,
					'<=DATE_ACTIVE_FROM' => $nowTimeExpression,
				),
				array(
					'LOGIC' => 'OR',
					'=DATE_ACTIVE_TO' => null,
					'>=DATE_ACTIVE_TO' => $nowTimeExpression,
				),
			),
			'runtime' => array(
				'USER_GROUP_STR' => array(
					'data_type' => 'string',
					'expression' => array('GROUP_CONCAT(%s)', 'GROUP_ID')
				),

			)
		)
	)->fetchAll();

при регистрации пользователя, есть птичка (подписаться на новости)

20.03.2013 Bitrix, php скрипты No comments , , , ,

при регистрации пользователя, есть птичка (подписаться на новости)

// Подписка на рассылку при регистрации

AddEventHandler("main", "OnAfterUserAdd", "OnAfterUserAddHandler");

function OnAfterUserAddHandler(&$arFields)
{

   $errors = Array();

   if($arFields["ID"]>0 && $arFields["UF_SUBSCRIBE"])
   {

      if(CModule::IncludeModule("subscribe")) {
      
         $USER_ID = $arFields["ID"];
         $EMAIL = $arFields["EMAIL"];
      
         $arFilter = array(
            "ACTIVE" => "Y",
            "LID" => "s1",
            "VISIBLE"=>"Y",
         );
      
         $rsRubrics = CRubric::GetList(array(), $arFilter);
         $arRubrics = array();
         while($arRubric = $rsRubrics->GetNext()) $arRubrics[] = $arRubric["ID"];
      
         $obSubscription = new CSubscription;
      
         $rsSubscription = $obSubscription->GetList(array(), array("USER_ID" => $USER_ID));
         $arSubscription = $rsSubscription->Fetch();
   
         if(is_array($arSubscription))
         {
            $rs = $obSubscription->Update(
               $arSubscription["ID"],
               array(
                  "FORMAT" => "html",
                  "RUB_ID" => $arRubrics,
               ),
               false
            );
         }
         else
         {
            $ID = $obSubscription->Add(array(
               "USER_ID" => $USER_ID,
               "ACTIVE" => "Y",
               "EMAIL" => $EMAIL,
               "FORMAT" => "html",
               "CONFIRMED" => "Y",
               "SEND_CONFIRM" => "N",
               "RUB_ID" => $arRubrics,
            ));
         }
      
      }
      
   }
   

}