/** * Получает div панель */ function get_div_panel($place = 0, $with_label = true, $id = '', $div_only = false) { $ulOptions = self::getOptions(); $default_panel = false; switch ($place) { case 0: $uloginID = $ulOptions['uloginID1']; break; case 1: $uloginID = $ulOptions['uloginID2']; break; case 2: $uloginID = $ulOptions['uloginID3']; if (empty($uloginID)) { $uloginID = $ulOptions['uloginID2']; } break; default: $uloginID = $ulOptions['uloginID1']; break; } if (empty($uloginID)) { if ($ulOptions['label'] != 'Войти с помощью:') { $valid_label = $ulOptions['label']; $ulOptions = self::getOldOptions(); $ulOptions['label'] = $valid_label; } else { $ulOptions = self::getOldOptions(); } $default_panel = true; } $id = 'uLogin' . self::$count . substr(preg_replace('/[^0-9]/', '', md5(wp_generate_password(8))), 0, 7); $panel = $with_label ? '<div class="ulogin_label">' . $ulOptions['label'] . ' </div>' : ''; $currentUrl = ulogin_get_current_page_url(); $str = parse_url($currentUrl, PHP_URL_QUERY); parse_str($str, $output); if (isset($output['redirect_to'])) { $currentUrl = $output['redirect_to']; // Если в запросе к wp-login.php есть адрес "редиректа", то редиректим туда. Верно учитываются запросы вроде "&redirect_to=http://mysite.ru/wp-admin/index.php?page=aktv" } $only_ssl = uLoginPluginSettings::getOptions(); $only_ssl = $only_ssl['only_ssl']; if ($only_ssl) { $scheme = 'https'; } else { //берем протокол текущей страницы и заменяем на него в home_url $scheme = parse_url($currentUrl, PHP_URL_SCHEME); if (empty($scheme)) { $scheme = 'http'; } } $home_url = preg_replace("/^https?/", $scheme, home_url()); $redirect_uri = urlencode($home_url . '/?ulogin=token&backurl=' . urlencode($currentUrl . ($place === 1 ? '#commentform' : ''))); $panel .= '<div id=' . $id . ' class="ulogin_panel"'; if ($default_panel) { $ulOptions['redirect_uri'] = $redirect_uri; unset($ulOptions['label']); $x_ulogin_params = ''; foreach ($ulOptions as $key => $value) { $x_ulogin_params .= $key . '=' . $value . ';'; } if ($ulOptions['display'] != 'window') { $panel .= ' data-ulogin="******"></div>'; } else { $panel .= ' data-ulogin="******" href="#"><img src="https://ulogin.ru/img/button.png" width=187 height=30 alt="МультиВход"/></div>'; } } else { $panel .= ' data-uloginid="' . $uloginID . '" data-ulogin="******"></div>'; } $panel = '<div class="ulogin_block">' . $panel . '<div style="clear:both"></div></div>'; if (!$div_only) { return $this->get_js_str() . $panel . $this->get_custom_init_str($id); } else { return $panel; } }
function get_div_panel($place = 0, $with_label = true, $id = '', $div_only = false) { $ulOptions = self::getOptions(); $default_panel = false; switch ($place) { case 0: $uloginID = $ulOptions['uloginID1']; break; case 1: $uloginID = $ulOptions['uloginID2']; break; case 2: $uloginID = $ulOptions['uloginID3']; if (empty($uloginID)) { $uloginID = $ulOptions['uloginID2']; } break; default: $uloginID = $ulOptions['uloginID1']; } if (empty($uloginID)) { if ($ulOptions['label'] != 'Войти с помощью:') { $valid_label = $ulOptions['label']; } $ulOptions = self::getOldOptions(); $ulOptions['label'] = $valid_label; $default_panel = true; } $id = $id == '' ? 'uLogin' . self::$count : $id; $panel = $with_label ? '<div class="ulogin_label">' . $ulOptions['label'] . ' </div>' : ''; $redirect_uri = urlencode(home_url() . '/?ulogin=token&backurl=' . urlencode(ulogin_get_current_page_url() . ($place === 1 ? '#commentform' : ''))); $panel .= '<div id=' . $id . ' class="ulogin_panel"'; if ($default_panel) { $ulOptions['redirect_uri'] = $redirect_uri; unset($ulOptions['label']); $x_ulogin_params = ''; foreach ($ulOptions as $key => $value) { $x_ulogin_params .= $key . '=' . $value . ';'; } if ($ulOptions['display'] != 'window') { $panel .= ' data-ulogin="******"></div>'; } else { $panel .= ' data-ulogin="******" href="#"><img src="https://ulogin.ru/img/button.png" width=187 height=30 alt="МультиВход"/></div>'; } } else { $panel .= ' data-uloginid="' . $uloginID . '" data-ulogin="******"></div>'; } $panel = '<div class="ulogin_block">' . $panel . '<div style="clear:both"></div></div>'; if (!$div_only) { return $this->get_js_str() . $panel . $this->get_custom_init_str($id); } else { return $panel; } }