D
Dog
Прохожие
- Автор темы
- #31
А нет простого скрипта которй выводил бы обычную таблицу с последними постаи на форуме?
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Бери иль 5.5 - иль 5.7. Всеравно... Они линейку эту закрывают.. Если с ДЛЕ не дружил - бери нулы от мида (поиск рулит).
<?
define("IPB_TABLE_PREFIX", "ibf_");
define("IPB_VERSION", "2");
AddEventHandler("main", "OnUserLoginExternal", Array("__IPBAuth", "OnUserLoginExternal"));
AddEventHandler("main", "OnExternalAuthList", Array("__IPBAuth", "OnExternalAuthList"));
class __IPBAuth
{
function OnUserLoginExternal(&$arArgs)
{
extract($arArgs);
////////// <settings> ////////////
$table_user = IPB_TABLE_PREFIX."members";
$table_converge = IPB_TABLE_PREFIX."members_converge";
$groups_map = Array(
/*'IPB Group ID' => 'Local Group ID',*/
'4' => '1'
);
////////// </settings> ////////////
global $DB, $USER, $APPLICATION;
if(IPB_VERSION == '1')
{
$strSql = "SELECT * FROM ".$table_user." WHERE name='".$DB->ForSql($login)."' AND password='".md5($password)."'";
}
else
{
$strSql =
"SELECT t1.* ".
"FROM ".$table_user." t1, ".$table_converge." t2 ".
"WHERE t1.name='".$DB->ForSql($login)."' ".
" AND t1.email = t2.converge_email ".
" AND t2.converge_pass_hash = MD5(CONCAT(MD5(t2.converge_pass_salt), '".md5($password)."'))";
}
$dbAuthRes = $DB->Query($strSql);
if($arAuthRes = $dbAuthRes->Fetch())
{
$arFields = Array(
"LOGIN" => $login,
"NAME" => $arAuthRes['title'],
"PASSWORD" => $password,
"EMAIL" => $arAuthRes['email'],
"ACTIVE" => "Y",
"EXTERNAL_AUTH_ID"=>"IPB",
"LID" => SITE_ID
);
$oUser = new CUser;
$res = CUser::GetList($O, $B, Array("LOGIN_EQUAL_EXACT"=>$login, "EXTERNAL_AUTH_ID"=>"IPB"));
if(!($ar_res = $res->Fetch()))
$ID = $oUser->Add($arFields);
else
{
$ID = $ar_res["ID"];
$oUser->Update($ID, $arFields);
}
if($ID>0)
{
$USER->SetParam("IPB_USER_ID", $arAuthRes['id']);
$user_group = $arAuthRes['mgroup'];
$arUserGroups = CUser::GetUserGroup($ID);
foreach($groups_map as $ext_group_id => $group_id)
{
if($ext_group_id==$user_group)
$arUserGroups[] = $group_id;
else
{
$arUserGroupsTmp = Array();
foreach($arUserGroups as $grid)
if($grid != $group_id)
$arUserGroupsTmp[] = $grid;
$arUserGroups = $arUserGroupsTmp;
}
}
CUser::SetUserGroup($ID, $arUserGroups);
$arArgs["store_password"] = "N";
return $ID;
}
}
}
function OnExternalAuthList()
{
return Array(
Array("ID"=>"IPB", "NAME"=>"Invision Power Board")
);
}
}
?>
так чтоб конкретно портал, то посоветовать не могуСобственно сабж...
Какой портал наиболее совещаем с IPB ???
И максимально прост и удобен...