Exemplo n.º 1
0
                     $Fields["UF_STATUS"] = 31;
                 } else {
                     $UserId = CustomUser::NewUser($Fields);
                 }
             } else {
                 $UserId = CustomUser::NewUser($Fields);
             }
             if ($UserId > 0) {
                 /*
                 if($Fields["UF_YOU_HAVE_18"] == 1){
                 	CustomUser::AddUserGroupClosedCommunity(array("USER_ID"=> $UserId,"UF_YOU_HAVE_18" => 1));
                 }
                 */
                 $USER->Authorize($UserId);
                 $Fields["UF_FB_PROFILE"] = array($UserDate->id);
                 CustomUser::UserUpdate($Fields);
                 if ($ambassador) {
                     $arGroups = CUser::GetUserGroup($UserId);
                     $arGroups[] = 13;
                     CUser::SetUserGroup($UserId, $arGroups);
                 }
             }
         }
     }
 }
 if (strripos($_SERVER['HTTP_USER_AGENT'], "iphone") || strripos($_SERVER['HTTP_USER_AGENT'], "android") || strripos($_SERVER['HTTP_USER_AGENT'], "ipod") || strripos($_SERVER['HTTP_USER_AGENT'], "windows phone")) {
     $backurl = $APPLICATION->get_cookie("MQ_BACKURL");
     if ($backurl) {
         $APPLICATION->set_cookie("MQ_BACKURL", "", time(), "/");
     }
     LocalRedirect('http://' . $_SERVER['SERVER_NAME'] . "/?backurl=" . $backurl);
Exemplo n.º 2
0
 function MyOnBeforePrologHandler()
 {
     global $USER;
     global $APPLICATION;
     /**
     	u - User Id
     	p - Parent User
     	d - Create user date
     */
     if (isset($_GET["token"])) {
         $APPLICATION->set_cookie("MQ_REGISTRATION_TOKEN", $_GET["token"], time() + 60 * 60 * 24 * 30 * 12 * 4, "/");
     }
     if (strstr($APPLICATION->GetCurDir(), '/signup/')) {
         return;
     }
     $Dir = explode("/", $_SERVER["REQUEST_URI"]);
     $Query_string = explode("&", $_SERVER["QUERY_STRING"]);
     $Query = explode("=", $Query_string[0]);
     $authString = explode("?", $_SERVER["REQUEST_URI"]);
     if ($authString[0] == '/vk.php' || $authString[0] == '/facebook.php' || $authString[0] == '/google.php' || $authString[0] == '/app.php' || $authString[0] == '/mail.php' || $Dir[1] == 'unsubscribe') {
         $socAuth = true;
     }
     if ($_GET["AUTH_SOCNET"]) {
         $Fields = array("UF_AUTH_SOCNET" => "1");
         CustomUser::UserUpdate($Fields);
     }
     if ($USER->GetID() > 0 && !$USER->GetByID($USER->GetID())->Fetch()["UF_AUTH_SOCNET"] && $APPLICATION->GetCurDir() !== '/') {
         echo "<div class=\"after-login-message\">\r\n\t\t\t\t\t<div class=\"after-login-message-inner\">\r\n\t\t\t\t\t\t<h4>Для удобства использования социальной сети вы можете авторизоваться через:</h4>";
         $APPLICATION->IncludeComponent("bitrix:system.auth.form", "myqube", array("REGISTER_URL" => "/club/group/search/", "PROFILE_URL" => "/user/profile/", "FORGOT_PASSWORD_URL" => "", "SHOW_ERRORS" => "Y", "ONLY_SOCNET" => "Y"), false);
         echo "<div class=\"after-login-message-n\"><a href=\"?AUTH_SOCNET=N\">ОТКАЗАТЬСЯ</a></div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>";
     }
     // Редиректы со старого сайта
     if ($Dir[1] == "personal") {
         LocalRedirect(str_replace("personal", "user", $_SERVER["REQUEST_URI"]));
     }
     if ($Dir[1] == "club") {
         CModule::IncludeModule("iblock");
         if ($Dir[2] == "group" && $Dir[3] == 6 && $Dir[4] == "post") {
             $res = CIBlockElement::GetList(array(), array("IBLOCK_ID" => 1, "PROPERTY_OLD_ID" => $Dir[5]), false, array(), array("ID"));
             while ($ob = $res->GetNextElement()) {
                 $arFields = $ob->GetFields();
             }
             if ($arFields["ID"] > 0) {
                 LocalRedirect("/group/1/post/" . $arFields["ID"] . "/");
             } else {
                 LocalRedirect("/");
             }
         }
         if ($Dir[2] == "group" && $Dir[3] == 6 && $Dir[4] == "events") {
             $res = CIBlockElement::GetList(array(), array("IBLOCK_ID" => 2, "PROPERTY_OLD_ID" => $Query[1]), false, array(), array("ID"));
             while ($ob = $res->GetNextElement()) {
                 $arFields = $ob->GetFields();
             }
             if ($arFields["ID"] > 0) {
                 LocalRedirect("/group/1/events/" . $arFields["ID"] . "/");
             } else {
                 LocalRedirect("/");
             }
         }
         if ($Dir[2] == "group" && $Dir[3] == 6 && $Dir[4] == "photo") {
             $res = CIBlockElement::GetList(array(), array("IBLOCK_ID" => 7, "PROPERTY_OLD_ID" => $Dir[6]), false, array(), array("ID"));
             while ($ob = $res->GetNextElement()) {
                 $arFields = $ob->GetFields();
             }
             if ($arFields["ID"] > 0) {
                 LocalRedirect("/group/1/photo/" . $arFields["ID"] . "/");
             } else {
                 LocalRedirect("/");
             }
         }
     }
     // Редиректы со старого сайта
     if ($Dir[1] == "group" && $Dir[2] == 1 && $Dir[3] !== "post" && !empty($Dir[3])) {
         $_SESSION["BackFromDetail"]["group_6"]["nPageSize"] = 1;
     }
     $CurentUser = array();
     if (!empty($_GET["backurl"])) {
         $backurl = "&backurl=" . $_GET["backurl"];
     }
     if (!$USER->IsAuthorized() && empty($_GET["POST_ID"]) && !empty($Dir[1]) && $Dir[1] !== 'group' && $Dir[1] !== 'bitrix' && !$socAuth && empty($backurl)) {
         LocalRedirect("/?backurl=" . $_SERVER["REQUEST_URI"]);
     }
     if (!$USER->IsAdmin()) {
         $CurentUserGroup = CUser::GetUserGroup($USER->GetID());
         if (preg_match("#^/staff/#", $_SERVER["REQUEST_URI"])) {
             if (!in_array(9, $CurentUserGroup)) {
                 LocalRedirect("/");
             }
         } else {
             if (preg_match("#^/amplifiers/#", $_SERVER["REQUEST_URI"])) {
                 if (!in_array(8, $CurentUserGroup)) {
                     LocalRedirect("/");
                 }
             } else {
                 if ($Dir[1] == "group" && $Dir[2] == 1) {
                     if ($USER->IsAuthorized()) {
                         $CurentUser = CUser::GetByID($USER->GetID())->Fetch();
                         if (!in_array(1, $CurentUser["UF_GROUPS"])) {
                             // не член 1 группы
                             if (empty($backurl) && !empty($Dir[3])) {
                                 LocalRedirect("/group/1/?backurl=" . $_SERVER["REQUEST_URI"]);
                             }
                             if (strlen($CurentUser["PERSONAL_BIRTHDAY"]) > 0) {
                                 // ДатаРождения заполнена
                                 /*
                                 if(CustomUser::UserCheckFields()) { // все поля заполнены корректно
                                 	CustomUser::UserUpdate(array("UF_GROUPS" => array(1)));
                                 	CModule::IncludeModule("iblock");
                                 	$filter = Array	("UF_GROUPS" => 1);
                                 	//$rsUsers = CUser::GetList(($by="timestamp_x"), ($order="desc"), $filter);
                                 	//CIBlockElement::SetPropertyValues(1, 4, $rsUsers->NavRecordCount, "USERS");
                                 	LocalRedirect("/group/1/".$backurl);
                                 } else
                                 */
                                 if (18 <= date("Y") - date("Y", strtotime($CurentUser["PERSONAL_BIRTHDAY"]))) {
                                     // старше 18 лет, но не все поля заполнены
                                     if (!$CurentUser['UF_YOU_HAVE_18']) {
                                         CustomUser::UserUpdate(array("UF_YOU_HAVE_18" => true));
                                     }
                                     if ($_GET["message"] !== "checking_user_fields") {
                                         LocalRedirect("/group/1/?message=checking_user_fields" . $backurl);
                                     }
                                 } elseif (18 > date("Y") - date("Y", strtotime($CurentUser["PERSONAL_BIRTHDAY"]))) {
                                     // младше 18 лет
                                     CustomUser::UserUpdate(array("UF_YOU_HAVE_18" => false, "UF_DO_YOU_SMOKE" => false));
                                     if ($_GET["message"] !== "you_are_under_18") {
                                         LocalRedirect("/group/1/?message=you_are_under_18" . $backurl);
                                     }
                                 } else {
                                     echo "Какая-то другая ошибка";
                                 }
                             } else {
                                 // ДатаРождения не заполнена
                                 if ($_GET["message"] !== "birthday") {
                                     if ($_SERVER["REQUEST_URI"] == "/group/1/u_concept/") {
                                         $backurl = "&backurl=/group/1/u_concept/";
                                     }
                                     LocalRedirect("/group/1/?message=birthday" . $backurl);
                                 }
                             }
                         } elseif (!empty($_GET["message"])) {
                             LocalRedirect("/group/1/" . $backurl);
                         }
                     } elseif (!empty($Dir[3]) && empty($_GET["POST_ID"]) && empty($backurl) && $Dir[4] !== "u_creative" && $Dir[3] !== "u_concept" && $Dir[3] !== "concept.ural2015") {
                         LocalRedirect("/?backurl=" . $_SERVER["REQUEST_URI"]);
                     }
                 }
             }
         }
     }
     if (!empty($_GET["backurl"]) && $USER->IsAuthorized() && empty($_GET["message"])) {
         LocalRedirect($_GET["backurl"]);
     }
 }