示例#1
0
文件: user.php 项目: rasuldev/torino
 /**
  * <p>Возвращает группу пользователей по ее коду <i>ID</i> в виде объекта класса <a href="http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/index.php">CDBResult</a>.</p>
  *
  *
  *
  *
  * @param int $id  ID группы.</bo
  *
  *
  *
  * @param string $SHOW_USERS_AMOUNT = "N" "Y" - в выборке будет присутствовать поле ("USERS") с количеством
  * пользователей в группе; "N" - в выборке не будет поля с количеством
  * пользователей в группе (по умолчанию);
  *
  *
  *
  * @return CDBResult 
  *
  *
  * <h4>Example</h4> 
  * <pre>
  * &lt;?
  * $rsGroup = <b>CGroup::GetByID</b>(2, "Y");
  * $arGroup = $rsGroup-&gt;Fetch();
  * echo "&lt;pre&gt;"; print_r($arGroup); echo "&lt;/pre&gt;";
  * ?&gt;
  * </pre>
  *
  *
  *
  * <h4>See Also</h4> 
  * <ul> <li> <a href="http://dev.1c-bitrix.ru/api_help/main/reference/cgroup/index.php#flds">Поля CGroup</a> </li> <li>
  * <a href="http://dev.1c-bitrix.ru/api_help/main/reference/cgroup/getlist.php">CGroup::GetList</a> </li> </ul></b<a
  * name="examples"></a>
  *
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/main/reference/cgroup/getbyid.php
  * @author Bitrix
  */
 public static function GetByID($ID, $SHOW_USERS_AMOUNT = "N")
 {
     global $DB;
     $err_mess = CGroup::err_mess() . "<br>Function: GetList<br>Line: ";
     $ID = intval($ID);
     $strSql = "SELECT G.ID, G.ACTIVE, G.C_SORT, G.ANONYMOUS, G.NAME, G.STRING_ID, G.DESCRIPTION, " . $DB->DateToCharFunction("G.TIMESTAMP_X") . " as TIMESTAMP_X ";
     if ($SHOW_USERS_AMOUNT == "Y") {
         $strSql .= ", count(distinct U.USER_ID) USERS ";
     } else {
         $strSql .= ", G.SECURITY_POLICY ";
     }
     $strSql .= "FROM b_group G ";
     if ($SHOW_USERS_AMOUNT == "Y") {
         $strSql .= "LEFT JOIN b_user_group U ON (U.GROUP_ID=G.ID AND ((U.DATE_ACTIVE_FROM IS NULL) OR (U.DATE_ACTIVE_FROM <= " . $DB->CurrentTimeFunction() . ")) AND ((U.DATE_ACTIVE_TO IS NULL) OR (U.DATE_ACTIVE_TO >= " . $DB->CurrentTimeFunction() . "))) ";
     }
     $strSql .= "WHERE G.ID = " . $ID . " ";
     if ($SHOW_USERS_AMOUNT == "Y") {
         $strSql .= "GROUP BY G.ID, G.ACTIVE, G.C_SORT, G.TIMESTAMP_X, G.ANONYMOUS, G.NAME, G.STRING_ID, G.DESCRIPTION";
     }
     $z = $DB->Query($strSql, false, $err_mess . __LINE__);
     return $z;
 }