%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/voting.current/templates/.userfield/ |
| Current File : /home/bitrix/www/bitrix/components/bitrix/voting.current/templates/.userfield/users.php |
<?
define("PUBLIC_AJAX_MODE", true);
define("NO_KEEP_STATISTIC", "Y");
define("NO_AGENT_STATISTIC","Y");
define("NO_AGENT_CHECK", true);
define("DisableEventsCheck", true);
/************** CACHE **********************************************/
$arResult["nPageSize"] = 10;
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$arVoteList = array(
"ID" => $_REQUEST["ID"],
"answer_id" => $_REQUEST["answer_id"],
"request_id" => $_REQUEST["request_id"],
"items" => array(),
"StatusPage" => "done");
$_REQUEST["ID"] = is_array($_REQUEST["ID"]) ? $_REQUEST["ID"] : !empty($_REQUEST["ID"]) ? explode(",", $_REQUEST["ID"]) : array();
$_REQUEST["URL_TEMPLATE"] = (!empty($_REQUEST["URL_TEMPLATE"]) ? $_REQUEST["URL_TEMPLATE"] : '/company/personal/user/#USER_ID#/');
$_REQUEST["NAME_TEMPLATE"] = (!empty($_REQUEST["NAME_TEMPLATE"]) ? $_REQUEST["NAME_TEMPLATE"] : CSite::GetNameFormat(false));
if ((!empty($_REQUEST["ID"]) || !empty($_REQUEST["answer_id"])) && check_bitrix_sessid())
{
$arParams["CACHE_TIME"] = 600;
global $CACHE_MANAGER;
$cache = new CPHPCache();
$cache_id = "vote_user_list_".serialize(array(
$arResult["nPageSize"],
$_REQUEST["ID"],
$_REQUEST["answer_id"],
$_REQUEST["iNumPage"],
$_REQUEST["NAME_TEMPLATE"],
$_REQUEST["URL_TEMPLATE"]));
$cache_path = $CACHE_MANAGER->GetCompCachePath(CComponentEngine::MakeComponentPath("voting.current"));
$arVoteList = (($arParams["CACHE_TIME"] > 0 && $cache->InitCache($arParams["CACHE_TIME"], $cache_id, $cache_path)) ?
$cache->GetVars() : array());
if (!is_array($arVoteList) || empty($arVoteList))
{
$arEventsInfo = array();
$arVoteList = array(
"ID" => $_REQUEST["ID"],
"answer_id" => $_REQUEST["answer_id"],
"request_id" => $_REQUEST["request_id"],
"items" => array(),
"StatusPage" => "done");
if (empty($_REQUEST["ID"]) && CModule::IncludeModule("vote"))
{
$db_res = CVoteEvent::GetUserAnswerStat(array(),
array("ANSWER_ID" => $_REQUEST["answer_id"], "VALID" => "Y", "bGetVoters" => "Y", "bGetMemoStat" => "N"),
array(
"nPageSize" => $arResult["nPageSize"],
"bShowAll" => false,
"iNumPage" => ($_REQUEST["iNumPage"] > 0 ? $_REQUEST["iNumPage"] : false)
)
);
if ($db_res && ($res = $db_res->Fetch()))
{
$arEventsInfo = $res;
$arVoteList["StatusPage"] = (($db_res->NavPageNomer >= $db_res->NavPageCount ||
$arResult["nPageSize"] > $db_res->NavRecordCount) ? "done" : "continue");
if ($_REQUEST["iNumPage"] <= $db_res->NavPageCount)
{
$_REQUEST["ID"] = array();
do {
$_REQUEST["ID"][] = $res["AUTH_USER_ID"];
} while ($res = $db_res->Fetch());
}
else
{
$arVoteList["StatusPage"] = "done";
}
}
}
if (!empty($_REQUEST["ID"]))
{
$arUsers = array();
$arSelect = array(
"FIELDS" => array("ID", "NAME", "LAST_NAME", "SECOND_NAME", "LOGIN", "PERSONAL_PHOTO")
);
if (IsModuleInstalled('mail'))
{
$arSelect["FIELDS"][] = "EXTERNAL_AUTH_ID";
$bMailInstalled = true;
}
if (IsModuleInstalled('extranet'))
{
$arSelect["SELECT"] = array("UF_DEPARTMENT");
$bExtranetInstalled = true;
}
$db_res = CUser::GetList(
($by = "ID"),
($order = "ASC"),
array("ID" => implode("|", $_REQUEST["ID"])),
$arSelect
);
while ($res = $db_res->Fetch())
{
$data = array(
"ID" => $res["ID"]
);
if (array_key_exists("PERSONAL_PHOTO", $res))
{
if (!empty($res["PERSONAL_PHOTO"]))
{
$arFileTmp = CFile::ResizeImageGet(
$res["PERSONAL_PHOTO"],
array("width" => 21, "height" => 21),
BX_RESIZE_IMAGE_EXACT,
false
);
$data["PHOTO"] = CFile::ShowImage($arFileTmp["src"], 21, 21, "border=0");
$data["PHOTO_SRC"] = $arFileTmp["src"];
}
else
{
$data["PHOTO"] = $data["PHOTO_SRC"] = '';
}
}
$data["FULL_NAME"] = CUser::FormatName($_REQUEST["NAME_TEMPLATE"], $res);
$data["URL"] = CUtil::JSEscape(CComponentEngine::MakePathFromTemplate($_REQUEST["URL_TEMPLATE"], array("UID" => $res["ID"], "user_id" => $res["ID"], "USER_ID" => $res["ID"])));
if (
$bMailInstalled
&& $res["EXTERNAL_AUTH_ID"] == "email"
)
{
$data["TYPE"] = "mail";
}
elseif (
$bExtranetInstalled
&& (
empty($res["UF_DEPARTMENT"])
|| intval($res["UF_DEPARTMENT"][0]) <= 0
)
)
{
$data["TYPE"] = "extranet";
}
$arUsers[$res["ID"]] = $data;
}
$arVoteList["items"] = array();
foreach($_REQUEST["ID"] as $id)
$arVoteList["items"][] = $arUsers[$id];
if ($arParams["CACHE_TIME"] > 0)
{
$cache->StartDataCache($arParams["CACHE_TIME"], $cache_id, $cache_path);
if (!!$arEventsInfo)
{
$db_res = CVoteQuestion::GetByID($arEventsInfo["QUESTION_ID"]);
if ($db_res && ($res = $db_res->Fetch()))
{
CVoteCacheManager::SetTag($cache_path, "V", $res["VOTE_ID"]);
}
}
$cache->EndDataCache($arVoteList);
}
}
}
}
$APPLICATION->RestartBuffer();
Header('Content-Type: application/x-javascript; charset='.LANG_CHARSET);
echo CUtil::PhpToJsObject($arVoteList);
die();
?>