Сначала настройте style.xml
следующим образом: -
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
, а затем примените к своему заказу toolbar
: -
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" >
<TextView
.....
android:text="@string/search_by_title_or_artist"
android:textColor="@color/text_shadow_white"
....
/>
</android.support.v7.widget.Toolbar>
Kalium получил это право - пути в интерфейсе WordPress являются относительными, из-за чего интерфейс администрирования не работает должным образом при доступе таким образом.
Ваш подход вызывает беспокойство в нескольких отношениях, поэтому я хотел бы дать несколько быстрых рекомендаций.
Во-первых, я бы попытался найти способ убрать жестко запрограммированные переменные $ username
и $ password
. Подумайте, как легко это взломать - если, например, пароль обновляется через интерфейс администрирования, жестко запрограммированное значение в вашем коде больше не будет правильным, и ваш «автоматический вход» теперь не сработает. Более того, если кто-то каким-то образом включает сайт и получает доступ к handshake.php
- что ж, теперь у них есть имя пользователя и пароль для вашего блога.
Похоже, ваша установка WordPress находится на том же сервере, что и сценарий рукопожатия, который вы написали, учитывая, что путь к / blog
является относительным (в вашем примере кода). Соответственно, я бы предложил попытаться имитировать сеанс, который они проверяют, при входе в систему ваших родительских приложений. Я делал это несколько раз в прошлом - просто не могу вспомнить подробностей. Так, например, ваш сценарий входа в систему не только установит ваши учетные данные для входа, но также установит ключи сеанса, необходимые для аутентификации WordPress.
Этот процесс потребует рытья большого количества кода WordPress, но в этом вся прелесть открытого исходного кода! Вместо использования cURL и значений жесткого кодирования попробуйте просто интегрировать механизм аутентификации WordPress в механизм входа в систему вашего приложения. Я бы начал с просмотра исходного кода для wp-login.php
и оттуда.
Если ничего не помогает, и вы полны решимости не пытаться объединить механизм аутентификации сеанса с механизмом WordPress, вы можете немедленно решить свою проблему (без исправления наиболее важных аспектов вашего подхода) с помощью этих изменений в вашем коде. :
Сначала добавьте следующий curl_opt:
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); // Enables session support
Затем добавьте это после закрытия обработчика cURL:
curl_close($ch);
// Instead of echoing the result, redirect to the administration interface, now that the valid, authenticated session has been established
header('location: blog/wordpress/wp-admin/');
die();
Итак, в этом далеко не идеальном решении вы должны использовать cURL для аутентификации пользователя, а затем вместо попытки чтобы захватить административный интерфейс на этой текущей странице, перенаправьте их на обычный административный интерфейс.
Надеюсь, это поможет! Дайте мне знать, если вам понадобится дополнительная помощь / решение неясно.
Проверьте источник HTML. Это кажется, что ссылки WP могут быть относительными. Вместо того, чтобы делать этот процесс еще более сложным, чем он уже, однако, я предлагаю, чтобы Вы выполнили вход в систему, вручили пользователю независимо от того, что cookie требуются и перенаправляют их.
Иначе Вы кодируете прокси, часть частью.
Если ваш сценарий не выполняет все функции, которые вам нужны за одно выполнение, вам может потребоваться проанализировать значения файлов cookie, сохранить их в файле, а затем повторно отправить при следующем выполнении. . Проверьте параметр CURLOPT_COOKIEFILE.
Да, это вызовет __ автозагрузку .
Автозагрузку запускает не только «новое» - это будет делать любая ссылка на неизвестный класс. Даже что-то вроде использования класса _ существует вызовет автозагрузку (это не всегда желательное поведение, поэтому у class_exists есть второй параметр для отключения автозагрузки)
-121--2553687-Исторически x86 был очень обратно совместим. x86-64 выбросил некоторые очень старые команды (например, команды BCD), но маловероятно, что такие изменения повторятся (по крайней мере, пока не произойдет что-то огромное, как 64-битный переход адресного пространства).
Если вы хотите обеспечить работу кода практически на всех процессорах x86, придерживайтесь набора команд 386 (если код 32-разрядный) или набора команд x86-64 (если он 64-разрядный).
-121--4013168-Для управления файлами cookie используется класс Zend Framework. В прошлом я использовал это для обхода защищенных разделов веб- сайта с помощью ЗАВИТКОВ .