First draft
@@ -15,26 +15,51 @@
|
|||||||
* Feel free to remove this file if you don't intend to use the 1984/HostingSupport1984
|
* Feel free to remove this file if you don't intend to use the 1984/HostingSupport1984
|
||||||
* user interface additions.
|
* user interface additions.
|
||||||
*/
|
*/
|
||||||
class HostingSupport1984UI {
|
class HostingSupport1984UI
|
||||||
|
{
|
||||||
const VIEWS_DIR = './views/';
|
const VIEWS_DIR = './views/';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a new HostingSupport1984UI object
|
* Build a new HostingSupport1984UI object
|
||||||
*/
|
*/
|
||||||
public function __construct() {
|
public function __construct()
|
||||||
|
{
|
||||||
// Add the 1984 Support Information dashboard widget.
|
// Add the 1984 Support Information dashboard widget.
|
||||||
add_action(
|
add_action(
|
||||||
'wp_dashboard_setup',
|
'wp_dashboard_setup',
|
||||||
array( $this, 'add_dashboard_widget' )
|
array($this,
|
||||||
|
'add_dashboard_widget')
|
||||||
);
|
);
|
||||||
|
|
||||||
// Enqueue the admin JS and CSS.
|
// Enqueue the admin JS and CSS.
|
||||||
add_action(
|
add_action(
|
||||||
'admin_enqueue_scripts',
|
'admin_enqueue_scripts',
|
||||||
array( $this, 'enqueue_admin_scripts' )
|
array($this,
|
||||||
|
'enqueue_admin_scripts')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the 1984 Hosting dashboard widget.
|
||||||
|
*/
|
||||||
|
public function add_dashboard_widget()
|
||||||
|
{
|
||||||
|
wp_add_dashboard_widget(
|
||||||
|
'1984_hosting_support_widget',
|
||||||
|
__('1984 Hosting Support', 'hostingsupport1984'),
|
||||||
|
array($this,
|
||||||
|
'render_dashboard_widget')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render the 1984 Hosting dashboard widget.
|
||||||
|
*/
|
||||||
|
public function render_dashboard_widget()
|
||||||
|
{
|
||||||
|
$this->render_view('support-dashboard-widget.php');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render a view
|
* Render a view
|
||||||
*
|
*
|
||||||
@@ -43,12 +68,13 @@ class HostingSupport1984UI {
|
|||||||
*
|
*
|
||||||
* @return Boolean True if the user has access to the view. False if not.
|
* @return Boolean True if the user has access to the view. False if not.
|
||||||
*/
|
*/
|
||||||
public function render_view( string $view_file, bool $admin_only = true ) {
|
public function render_view(string $view_file, bool $admin_only = true): bool
|
||||||
|
{
|
||||||
if (
|
if (
|
||||||
true === $admin_only && current_user_can( 'manage_options' ) ||
|
true === $admin_only && current_user_can('manage_options') ||
|
||||||
false === $admin_only
|
false === $admin_only
|
||||||
) {
|
) {
|
||||||
require self::view_path( $view_file );
|
require self::view_path($view_file);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -57,44 +83,20 @@ class HostingSupport1984UI {
|
|||||||
/**
|
/**
|
||||||
* Get full file path for a view
|
* Get full file path for a view
|
||||||
*
|
*
|
||||||
* @param String $view_file The view file name.
|
* @param String $view_file The view file name.
|
||||||
|
*
|
||||||
* @return String The path.
|
* @return String The path.
|
||||||
*/
|
*/
|
||||||
private function view_path( $view_file ) {
|
private function view_path(string $view_file)
|
||||||
return plugin_dir_path( __FILE__ ) . self::VIEWS_DIR . $view_file;
|
{
|
||||||
}
|
return plugin_dir_path(__FILE__) . self::VIEWS_DIR . $view_file;
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if the user can see the 1984 admin panel
|
|
||||||
*
|
|
||||||
* @return [type] [description]
|
|
||||||
*/
|
|
||||||
private function current_user_can_view_admin_panel() {
|
|
||||||
return ( true === current_user_can( 'manage_options' ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the 1984 Hosting dashboard widget.
|
|
||||||
*/
|
|
||||||
public function add_dashboard_widget() {
|
|
||||||
wp_add_dashboard_widget(
|
|
||||||
'1984_hosting_support_widget',
|
|
||||||
__( '1984 Hosting Support', 'hostingsupport1984' ),
|
|
||||||
array( $this, 'render_dashboard_widget' )
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render the 1984 Hosting dashboard widget.
|
|
||||||
*/
|
|
||||||
public function render_dashboard_widget() {
|
|
||||||
$this->render_view( 'support-dashboard-widget.php' );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enqueue the 1984 wp-admin scripts
|
* Enqueue the 1984 wp-admin scripts
|
||||||
*/
|
*/
|
||||||
public function enqueue_admin_scripts() {
|
public function enqueue_admin_scripts()
|
||||||
|
{
|
||||||
wp_enqueue_script(
|
wp_enqueue_script(
|
||||||
'1984-hosting-support-admin',
|
'1984-hosting-support-admin',
|
||||||
plugins_url(
|
plugins_url(
|
||||||
@@ -116,6 +118,16 @@ class HostingSupport1984UI {
|
|||||||
false
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the user can see the 1984 admin panel
|
||||||
|
*
|
||||||
|
* @return bool [type] [description]
|
||||||
|
*/
|
||||||
|
private function current_user_can_view_admin_panel(): bool
|
||||||
|
{
|
||||||
|
return (true === current_user_can('manage_options'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$hosting_support_1984_ui = new HostingSupport1984UI();
|
$hosting_support_1984_ui = new HostingSupport1984UI();
|
||||||
|
|||||||
@@ -19,38 +19,77 @@
|
|||||||
* There are other classes that may depend on this file, so only remove it if
|
* There are other classes that may depend on this file, so only remove it if
|
||||||
* you do not intend to use the plugin.
|
* you do not intend to use the plugin.
|
||||||
*/
|
*/
|
||||||
class HostingSupport1984 {
|
class HostingSupport1984
|
||||||
|
{
|
||||||
const HOSTING_SUPPORT_VERSION = '0.4.0';
|
const HOSTING_SUPPORT_VERSION = '0.4.0';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a new HostingSupport1984 object
|
* Construct a new HostingSupport1984 object
|
||||||
*/
|
*/
|
||||||
public function __construct() {
|
public function __construct()
|
||||||
|
{
|
||||||
// Loading the text domain for a mu-plugin is tricky.
|
// Loading the text domain for a mu-plugin is tricky.
|
||||||
// We need to use admin_init instead of plugins_loaded as we are only
|
// We need to use admin_init instead of plugins_loaded as we are only
|
||||||
// using the plugin in the admin interface.
|
// using the plugin in the admin interface.
|
||||||
add_action(
|
add_action(
|
||||||
'admin_init',
|
'admin_init',
|
||||||
array( $this, 'load_textdomain' )
|
array($this,
|
||||||
|
'load_textdomain')
|
||||||
);
|
);
|
||||||
|
|
||||||
// Register the activation hook.
|
// Register the activation hook.
|
||||||
register_activation_hook(
|
register_activation_hook(
|
||||||
__FILE__,
|
__FILE__,
|
||||||
array( $this, 'activation_hook' )
|
array($this,
|
||||||
|
'activation_hook')
|
||||||
);
|
);
|
||||||
|
|
||||||
// Run on activation of any plugin.
|
// Run on activation of any plugin.
|
||||||
add_action(
|
add_action(
|
||||||
'activated_plugin',
|
'activated_plugin',
|
||||||
array( $this, 'plugin_activation_hook' )
|
array($this,
|
||||||
|
'plugin_activation_hook')
|
||||||
);
|
);
|
||||||
|
|
||||||
// Run on activation of theme.
|
// Run on activation of theme.
|
||||||
add_action(
|
add_action(
|
||||||
'switch_theme',
|
'switch_theme',
|
||||||
array( $this, 'theme_switch_hook' )
|
array($this,
|
||||||
|
'theme_switch_hook')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Add a clear warning on the Patchstack plugin row to discourage removal.
|
||||||
|
add_filter(
|
||||||
|
'plugin_row_meta',
|
||||||
|
array($this,
|
||||||
|
'add_patchstack_warning_row_meta'),
|
||||||
|
10,
|
||||||
|
2
|
||||||
|
);
|
||||||
|
|
||||||
|
// Prevent deactivation/deletion of this plugin and Patchstack via UI links.
|
||||||
|
add_filter(
|
||||||
|
'plugin_action_links',
|
||||||
|
array($this,
|
||||||
|
'filter_plugin_action_links'),
|
||||||
|
10,
|
||||||
|
4
|
||||||
|
);
|
||||||
|
add_filter(
|
||||||
|
'network_admin_plugin_action_links',
|
||||||
|
array($this,
|
||||||
|
'filter_plugin_action_links'),
|
||||||
|
10,
|
||||||
|
4
|
||||||
|
);
|
||||||
|
|
||||||
|
// Guard against direct requests (single and bulk) on Plugins screens and updater endpoints.
|
||||||
|
add_action('load-plugins.php', array($this,
|
||||||
|
'protect_plugins_admin_actions'));
|
||||||
|
add_action('load-plugins-network.php', array($this,
|
||||||
|
'protect_plugins_admin_actions'));
|
||||||
|
add_action('load-update.php', array($this,
|
||||||
|
'protect_plugins_admin_actions'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -58,7 +97,8 @@ class HostingSupport1984 {
|
|||||||
*
|
*
|
||||||
* @return Boolean
|
* @return Boolean
|
||||||
*/
|
*/
|
||||||
public function load_textdomain() {
|
public function load_textdomain()
|
||||||
|
{
|
||||||
return load_plugin_textdomain(
|
return load_plugin_textdomain(
|
||||||
'hostingsupport1984',
|
'hostingsupport1984',
|
||||||
false,
|
false,
|
||||||
@@ -66,38 +106,40 @@ class HostingSupport1984 {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if Patchstack is enabled.
|
|
||||||
*
|
|
||||||
* @return Boolean
|
|
||||||
*/
|
|
||||||
public function is_patchstack_active() {
|
|
||||||
return is_plugin_active( 'patchstack/patchstack.php' );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On activation of this plugin, set auto-update option for core,
|
* On activation of this plugin, set auto-update option for core,
|
||||||
* plus enable auto-updates for installed plugins and themes.
|
* plus enable auto-updates for installed plugins and themes.
|
||||||
*
|
*
|
||||||
* This is skipped if Patchstack is active on the site.
|
* This is skipped if Patchstack is active on the site.
|
||||||
*/
|
*/
|
||||||
public function activation_hook() {
|
public function activation_hook()
|
||||||
if ( $this->is_patchstack_active() ) {
|
{
|
||||||
|
if ($this->is_patchstack_active()) {
|
||||||
// In case Patchstack is active, do not continue.
|
// In case Patchstack is active, do not continue.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auto-update WordPress core.
|
// Auto-update WordPress core.
|
||||||
update_site_option( 'auto_update_core_major', 'enabled' );
|
update_site_option('auto_update_core_major', 'enabled');
|
||||||
|
|
||||||
// Auto-update plugins.
|
// Auto-update plugins.
|
||||||
$all_plugins = apply_filters( 'all_plugins', get_plugins() );
|
$all_plugins = apply_filters('all_plugins', get_plugins());
|
||||||
|
|
||||||
update_site_option( 'auto_update_plugins', array_keys( $all_plugins ) );
|
update_site_option('auto_update_plugins', array_keys($all_plugins));
|
||||||
|
|
||||||
// Auto-update themes.
|
// Auto-update themes.
|
||||||
$all_themes = wp_get_themes();
|
$all_themes = wp_get_themes();
|
||||||
update_site_option( 'auto_update_themes', array_keys( $all_themes ) );
|
update_site_option('auto_update_themes', array_keys($all_themes));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if Patchstack is enabled.
|
||||||
|
*
|
||||||
|
* @return Boolean
|
||||||
|
*/
|
||||||
|
public function is_patchstack_active()
|
||||||
|
{
|
||||||
|
return is_plugin_active('patchstack/patchstack.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -105,16 +147,17 @@ class HostingSupport1984 {
|
|||||||
*
|
*
|
||||||
* This is skipped if Patchstack is active on the site.
|
* This is skipped if Patchstack is active on the site.
|
||||||
*/
|
*/
|
||||||
public function plugin_activation_hook( $plugin ) {
|
public function plugin_activation_hook($plugin)
|
||||||
if ( $this->is_patchstack_active() ) {
|
{
|
||||||
|
if ($this->is_patchstack_active()) {
|
||||||
// In case Patchstack is active, do not continue.
|
// In case Patchstack is active, do not continue.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$auto_updated_plugins = (array) get_site_option( 'auto_update_plugins', array() );
|
$auto_updated_plugins = (array)get_site_option('auto_update_plugins', array());
|
||||||
$auto_updated_plugins[] = $plugin;
|
$auto_updated_plugins[] = $plugin;
|
||||||
|
|
||||||
update_site_option( 'auto_update_plugins', array_unique( $auto_updated_plugins ) );
|
update_site_option('auto_update_plugins', array_unique($auto_updated_plugins));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -122,19 +165,156 @@ class HostingSupport1984 {
|
|||||||
*
|
*
|
||||||
* This is skipped if Patchstack is active on the site.
|
* This is skipped if Patchstack is active on the site.
|
||||||
*/
|
*/
|
||||||
public function theme_switch_hook( $theme ) {
|
public function theme_switch_hook($theme)
|
||||||
if ( $this->is_patchstack_active() ) {
|
{
|
||||||
|
if ($this->is_patchstack_active()) {
|
||||||
// In case Patchstack is active, do not continue.
|
// In case Patchstack is active, do not continue.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$all_themes = wp_get_themes();
|
$all_themes = wp_get_themes();
|
||||||
update_site_option( 'auto_update_themes', array_keys( $all_themes ) );
|
update_site_option('auto_update_themes', array_keys($all_themes));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Append a prominent warning to the Patchstack plugin row in the Plugins screen.
|
||||||
|
*
|
||||||
|
* @param array $links Existing row meta links.
|
||||||
|
* @param string $file Plugin file path about plugins directory.
|
||||||
|
*
|
||||||
|
* @return array Modified row meta-links.
|
||||||
|
*/
|
||||||
|
public function add_patchstack_warning_row_meta(array $links, string $file): array
|
||||||
|
{
|
||||||
|
// Only show the warning on the Patchstack row AND only if Patchstack is active.
|
||||||
|
if ('patchstack/patchstack.php' !== $file || !$this->is_patchstack_active()) {
|
||||||
|
return $links;
|
||||||
|
}
|
||||||
|
|
||||||
|
$warning_text = '1984: Please do not deactivate or delete this plugin - part of your WordPress Service Pack.';
|
||||||
|
|
||||||
|
$logo_1984_url = plugins_url('icons/1984-hosting-logo.webp', __FILE__);
|
||||||
|
$logo_patchstack = plugins_url('icons/patchstack-logo.svg', __FILE__);
|
||||||
|
|
||||||
|
$warning_icon =
|
||||||
|
'<span class="dashicons dashicons-warning" aria-hidden="true" style="color:#b32d2e;vertical-align:text-bottom;margin-right:6px;"></span>';
|
||||||
|
|
||||||
|
$links[] =
|
||||||
|
'<span class="description" style="color:#b32d2e;font-weight:700;display:inline-flex;align-items:center;line-height:1;">' . $warning_icon . esc_html($warning_text) . '</span>' .
|
||||||
|
'<span class="description" style="margin-left:6px;display:inline-flex;align-items:center;gap:4px;">'
|
||||||
|
.
|
||||||
|
'<a href="https://1984.hosting" target="_blank" rel="noopener noreferrer" title="1984 Hosting" aria-label="1984 Hosting (opens in a new tab)">'
|
||||||
|
.
|
||||||
|
'<img src="' . esc_url($logo_1984_url) . '" alt="1984 Hosting" style="height:16px;width:auto;display:inline-block;" />'
|
||||||
|
.
|
||||||
|
'</a>'
|
||||||
|
.
|
||||||
|
'<a href="https://patchstack.com" target="_blank" rel="noopener noreferrer" title="Patchstack" aria-label="Patchstack (opens in a new tab)">'
|
||||||
|
.
|
||||||
|
'<img src="' . esc_url($logo_patchstack) . '" alt="Patchstack" style="height:16px;width:auto;display:inline-block;" />'
|
||||||
|
.
|
||||||
|
'</a>'
|
||||||
|
.
|
||||||
|
'</span>';
|
||||||
|
|
||||||
|
return $links;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove Deactivate/Delete action links for protected plugins (single and network admin).
|
||||||
|
*
|
||||||
|
* @param array $actions
|
||||||
|
* @param string $plugin_file
|
||||||
|
* @param array $plugin_data
|
||||||
|
* @param string $context
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function filter_plugin_action_links(array $actions, string $plugin_file, array $plugin_data,
|
||||||
|
string $context): array
|
||||||
|
{
|
||||||
|
if ($this->is_protected_plugin($plugin_file)) {
|
||||||
|
unset($actions['deactivate']);
|
||||||
|
unset($actions['delete']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $actions;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if a plugin file is in the protected list.
|
||||||
|
*
|
||||||
|
* @param string $plugin_file
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
private function is_protected_plugin(string $plugin_file): bool
|
||||||
|
{
|
||||||
|
return in_array($plugin_file, $this->get_protected_plugins(), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return plugin basenames that must be protected from deactivation/deletion.
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
private function get_protected_plugins(): array
|
||||||
|
{
|
||||||
|
$own = plugin_basename(__FILE__);
|
||||||
|
return array(
|
||||||
|
$own,
|
||||||
|
'patchstack/patchstack.php',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Intercept admin actions attempting to deactivate or delete protected plugins and block them.
|
||||||
|
*/
|
||||||
|
public function protect_plugins_admin_actions()
|
||||||
|
{
|
||||||
|
// Collect requested action(s).
|
||||||
|
$action = isset($_REQUEST['action']) ? sanitize_key((string)$_REQUEST['action']) : '';
|
||||||
|
$action2 = isset($_REQUEST['action2']) ? sanitize_key((string)$_REQUEST['action2']) : '';
|
||||||
|
|
||||||
|
$targets = array();
|
||||||
|
if (!empty($_REQUEST['plugin'])) {
|
||||||
|
$targets[] = sanitize_text_field((string)$_REQUEST['plugin']);
|
||||||
|
}
|
||||||
|
if (!empty($_REQUEST['checked']) && is_array($_REQUEST['checked'])) {
|
||||||
|
foreach ($_REQUEST['checked'] as $pf) {
|
||||||
|
$targets[] = sanitize_text_field((string)$pf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($targets)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$blocked_actions = array(
|
||||||
|
'deactivate',
|
||||||
|
'deactivate-selected',
|
||||||
|
'delete',
|
||||||
|
'delete-selected',
|
||||||
|
'delete-plugin',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!in_array($action, $blocked_actions, true) && !in_array($action2, $blocked_actions, true)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$protected = $this->get_protected_plugins();
|
||||||
|
$intersect = array_intersect($targets, $protected);
|
||||||
|
if (!empty($intersect)) {
|
||||||
|
wp_die(
|
||||||
|
__('For security, this action is blocked: 1984 Hosting Support and Patchstack cannot be deactivated or deleted while this policy is active.', 'hostingsupport1984'),
|
||||||
|
403
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$hosting_support_1984 = new HostingSupport1984();
|
$hosting_support_1984 = new HostingSupport1984();
|
||||||
|
|
||||||
define( 'A1984_HOSTING_SUPPORT_BASE_FILE', __FILE__ );
|
const A1984_HOSTING_SUPPORT_BASE_FILE = __FILE__;
|
||||||
|
|
||||||
require_once __DIR__ . '/1984-hosting-support-ui.php';
|
require_once __DIR__ . '/1984-hosting-support-ui.php';
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
# 1984 Hosting Support Plugin
|
# 1984 Hosting Support Plugin
|
||||||
|
|
||||||
This is a plugin provided by [1984 Hosting Company](https://1984.hosting/) to improve users' support experience while using WordPress. It is primarily intended for customers of 1984 Hosting Company, though anyone can use it. If you are a 1984 customer, feel free to disable or remove the plugin on your site if you do not find it useful.
|
This is a plugin provided by [1984 Hosting Company](https://1984.hosting/) to improve users' support experience while
|
||||||
|
using WordPress. It is primarily intended for customers of 1984 Hosting Company, though anyone can use it. If you are a
|
||||||
|
1984 customer, feel free to disable or remove the plugin on your site if you do not find it useful.
|
||||||
|
|
||||||
The main function is provide a widget to users, as shown below:
|
The main function is provide a widget to users, as shown below:
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><defs><style>.cls-1{fill:#232540;}</style></defs><path class="cls-1" d="M130.95,121.55l109.34-67.11v-3.42c0-6.42-5.2-11.63-11.63-11.63H27.34c-6.42,0-11.63,5.2-11.63,11.63v3.41l109.51,67.12c1.76,1.08,3.97,1.08,5.72,0Z"/><path class="cls-1" d="M125.23,151.04L15.71,83.92v121.06c0,6.42,5.2,11.63,11.63,11.63h201.32c6.42,0,11.63-5.2,11.63-11.63v-121.04l-109.33,67.1c-1.76,1.08-3.97,1.08-5.72,0Z"/></svg>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>.cls-1{fill:#232540;}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="cls-1"
|
||||||
|
d="M130.95,121.55l109.34-67.11v-3.42c0-6.42-5.2-11.63-11.63-11.63H27.34c-6.42,0-11.63,5.2-11.63,11.63v3.41l109.51,67.12c1.76,1.08,3.97,1.08,5.72,0Z"/>
|
||||||
|
<path class="cls-1"
|
||||||
|
d="M125.23,151.04L15.71,83.92v121.06c0,6.42,5.2,11.63,11.63,11.63h201.32c6.42,0,11.63-5.2,11.63-11.63v-121.04l-109.33,67.1c-1.76,1.08-3.97,1.08-5.72,0Z"/>
|
||||||
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 512 B After Width: | Height: | Size: 563 B |
@@ -1 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><defs><style>.cls-1{fill:#232540;}</style></defs><path class="cls-1" d="M128,24.76c-57.02,0-103.24,46.22-103.24,103.24s46.22,103.24,103.24,103.24,103.24-46.22,103.24-103.24S185.02,24.76,128,24.76ZM139.31,200.31h-22.62c-1.66,0-3-1.34-3-3v-89.15c0-1.66,1.34-3,3-3h22.62c1.66,0,3,1.34,3,3v89.15c0,1.66-1.34,3-3,3ZM139.28,84.38h-22.57c-1.67,0-3.03-1.35-3.03-3.03v-20.95c0-1.67,1.35-3.03,3.03-3.03h22.57c1.67,0,3.03,1.35,3.03,3.03v20.95c0,1.67-1.35,3.03-3.03,3.03Z"/></svg>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>.cls-1{fill:#232540;}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="cls-1"
|
||||||
|
d="M128,24.76c-57.02,0-103.24,46.22-103.24,103.24s46.22,103.24,103.24,103.24,103.24-46.22,103.24-103.24S185.02,24.76,128,24.76ZM139.31,200.31h-22.62c-1.66,0-3-1.34-3-3v-89.15c0-1.66,1.34-3,3-3h22.62c1.66,0,3,1.34,3,3v89.15c0,1.66-1.34,3-3,3ZM139.28,84.38h-22.57c-1.67,0-3.03-1.35-3.03-3.03v-20.95c0-1.67,1.35-3.03,3.03-3.03h22.57c1.67,0,3.03,1.35,3.03,3.03v20.95c0,1.67-1.35,3.03-3.03,3.03Z"/>
|
||||||
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 581 B After Width: | Height: | Size: 617 B |
115
icons/patchstack-logo.svg
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="140 0 720 108" width="720" height="108"
|
||||||
|
style="width: 100%; height: 100%; transform: translate3d(0px, 0px, 0px); content-visibility: visible;"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="__lottie_element_2">
|
||||||
|
<rect width="1000" height="108" x="0" y="0"></rect>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path="url(#__lottie_element_2)">
|
||||||
|
<g style="display: block;"
|
||||||
|
transform="matrix(0.3399930000305176,0,0,0.34498801827430725,183.22999572753906,55.01251983642578)"
|
||||||
|
opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,-44.5,94.25)">
|
||||||
|
<path fill="rgb(110,190,0)" fill-opacity="1"
|
||||||
|
d=" M44.5,-31.75 C44.5,-31.75 44.5,31.75 44.5,31.75 C44.5,31.75 -44.5,31.75 -44.5,31.75 C-44.5,31.75 -44.5,-31.75 -44.5,-31.75 C-44.5,-31.75 44.5,-31.75 44.5,-31.75z"></path>
|
||||||
|
<path stroke-linecap="butt" stroke-linejoin="miter" fill-opacity="0" stroke-miterlimit="4"
|
||||||
|
stroke="rgb(0,0,239)" stroke-opacity="1" stroke-width="0"
|
||||||
|
d=" M44.5,-31.75 C44.5,-31.75 44.5,31.75 44.5,31.75 C44.5,31.75 -44.5,31.75 -44.5,31.75 C-44.5,31.75 -44.5,-31.75 -44.5,-31.75 C-44.5,-31.75 44.5,-31.75 44.5,-31.75z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;"
|
||||||
|
transform="matrix(0.32833799719810486,0,0,0.3436559736728668,153.25999450683594,55.180362701416016)"
|
||||||
|
opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,-44.5,94.25)">
|
||||||
|
<path fill="rgb(175,230,20)" fill-opacity="1"
|
||||||
|
d=" M44.5,-31.75 C44.5,-31.75 44.5,31.75 44.5,31.75 C44.5,31.75 -44.5,31.75 -44.5,31.75 C-44.5,31.75 -44.5,-31.75 -44.5,-31.75 C-44.5,-31.75 44.5,-31.75 44.5,-31.75z"></path>
|
||||||
|
<path stroke-linecap="butt" stroke-linejoin="miter" fill-opacity="0" stroke-miterlimit="4"
|
||||||
|
stroke="rgb(0,0,239)" stroke-opacity="1" stroke-width="0"
|
||||||
|
d=" M44.5,-31.75 C44.5,-31.75 44.5,31.75 44.5,31.75 C44.5,31.75 -44.5,31.75 -44.5,31.75 C-44.5,31.75 -44.5,-31.75 -44.5,-31.75 C-44.5,-31.75 44.5,-31.75 44.5,-31.75z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;"
|
||||||
|
transform="matrix(0.3399930000305176,0,0,0.3349980115890503,182.71420288085938,56.104427337646484)"
|
||||||
|
opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,89,-34)">
|
||||||
|
<path fill="rgb(175,230,20)" fill-opacity="1"
|
||||||
|
d=" M88,-96 C88,-96 88,96 88,96 C88,96 -88,96 -88,96 C-88,96 -88,-96 -88,-96 C-88,-96 88,-96 88,-96z"></path>
|
||||||
|
<path stroke-linecap="butt" stroke-linejoin="miter" fill-opacity="0" stroke-miterlimit="4"
|
||||||
|
stroke="rgb(0,0,239)" stroke-opacity="1" stroke-width="0"
|
||||||
|
d=" M88,-96 C88,-96 88,96 88,96 C88,96 -88,96 -88,96 C-88,96 -88,-96 -88,-96 C-88,-96 88,-96 88,-96z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;"
|
||||||
|
transform="matrix(0.3316679894924164,0,0,0.3330000042915344,182.99288940429688,55.5369987487793)"
|
||||||
|
opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,-89,-65)">
|
||||||
|
<path fill="rgb(110,190,0)" fill-opacity="1"
|
||||||
|
d=" M89,-64 C89,-64 89,64 89,64 C89,64 -89,64 -89,64 C-89,64 -89,-64 -89,-64 C-89,-64 89,-64 89,-64z"></path>
|
||||||
|
<path stroke-linecap="butt" stroke-linejoin="miter" fill-opacity="0" stroke-miterlimit="4"
|
||||||
|
stroke="rgb(0,0,239)" stroke-opacity="1" stroke-width="0"
|
||||||
|
d=" M89,-64 C89,-64 89,64 89,64 C89,64 -89,64 -89,64 C-89,64 -89,-64 -89,-64 C-89,-64 89,-64 89,-64z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,313,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M2.061000108718872,-10.508000373840332 C-8.185999870300293,-10.508000373840332 -13.237000465393066,-14.91100025177002 -13.237000465393066,-24.417999267578125 C-13.237000465393066,-34.025001525878906 -8.185999870300293,-38.52799987792969 2.061000108718872,-38.52799987792969 C12.088000297546387,-38.52799987792969 17.715999603271484,-34.025001525878906 17.715999603271484,-24.417999267578125 C17.715999603271484,-14.91100025177002 12.088000297546387,-10.508000373840332 2.061000108718872,-10.508000373840332z M7.019999980926514,-50.0369987487793 C-2.3459999561309814,-50.0369987487793 -9.472000122070312,-46.13399887084961 -12.998000144958496,-38.22800064086914 C-12.998000144958496,-38.22800064086914 -12.998000144958496,-49.0359992980957 -12.998000144958496,-49.0359992980957 C-12.998000144958496,-49.0359992980957 -25.867000579833984,-49.0359992980957 -25.867000579833984,-49.0359992980957 C-25.867000579833984,-49.0359992980957 -26.367000579833984,-16 -26.367000579833984,-16 C-26.367000579833984,-16 -25.867000579833984,17.011999130249023 -25.867000579833984,17.011999130249023 C-25.867000579833984,17.011999130249023 -12.935999870300293,17.011999130249023 -12.935999870300293,17.011999130249023 C-12.935999870300293,17.011999130249023 -12.935999870300293,-10.508000373840332 -12.935999870300293,-10.508000373840332 C-9.40999984741211,-2.802000045776367 -2.677000045776367,1.0010000467300415 6.248000144958496,1.0010000467300415 C13.85099983215332,1.0010000467300415 19.91200065612793,-1.3009999990463257 24.319000244140625,-6.004000186920166 C28.615999221801758,-10.607000350952148 30.81999969482422,-16.711999893188477 30.81999969482422,-24.417999267578125 C30.81999969482422,-40.02899932861328 21.895000457763672,-50.0369987487793 7.019999980926514,-50.0369987487793z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,382.5,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M-1.5750000476837158,-10.508000373840332 C-11.381999969482422,-10.508000373840332 -17.354999542236328,-15.111000061035156 -17.354999542236328,-24.417999267578125 C-17.354999542236328,-33.82500076293945 -11.381999969482422,-38.52799987792969 -1.5750000476837158,-38.52799987792969 C8.67199993133545,-38.52799987792969 13.847999572753906,-34.025001525878906 13.847999572753906,-24.417999267578125 C13.847999572753906,-14.91100025177002 8.67199993133545,-10.508000373840332 -1.5750000476837158,-10.508000373840332z M13.470000267028809,-38.02799987792969 C9.944000244140625,-46.034000396728516 2.943000078201294,-50.0369987487793 -6.422999858856201,-50.0369987487793 C-21.408000946044922,-50.0369987487793 -30.333999633789062,-40.02899932861328 -30.333999633789062,-24.417999267578125 C-30.333999633789062,-16.711999893188477 -28.128999710083008,-10.607000350952148 -23.722000122070312,-6.004000186920166 C-19.424999237060547,-1.3009999990463257 -13.364999771118164,1.0010000467300415 -5.76200008392334,1.0010000467300415 C3.2730000019073486,1.0010000467300415 10.053999900817871,-2.9019999504089355 13.470000267028809,-10.708000183105469 C13.470000267028809,-10.708000183105469 13.470000267028809,0 13.470000267028809,0 C13.470000267028809,0 26.58799934387207,0 26.58799934387207,0 C26.58799934387207,0 26.58799934387207,-49.0359992980957 26.58799934387207,-49.0359992980957 C26.58799934387207,-49.0359992980957 13.470000267028809,-49.0359992980957 13.470000267028809,-49.0359992980957 C13.470000267028809,-49.0359992980957 13.470000267028809,-38.02799987792969 13.470000267028809,-38.02799987792969z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,439,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M19.81399917602539,-48.95199966430664 C19.81399917602539,-48.95199966430664 3.3329999446868896,-48.95199966430664 3.3329999446868896,-48.95199966430664 C3.3329999446868896,-48.95199966430664 3.3329999446868896,-63.78099822998047 3.3329999446868896,-63.78099822998047 C3.3329999446868896,-63.78099822998047 -9.53499984741211,-63.78099822998047 -9.53499984741211,-63.78099822998047 C-9.53499984741211,-63.78099822998047 -9.53499984741211,-48.95199966430664 -9.53499984741211,-48.95199966430664 C-9.53499984741211,-48.95199966430664 -20.7189998626709,-48.95199966430664 -20.7189998626709,-48.95199966430664 C-20.7189998626709,-48.95199966430664 -20.7189998626709,-37.28200149536133 -20.7189998626709,-37.28200149536133 C-20.7189998626709,-37.28200149536133 -9.53499984741211,-37.28200149536133 -9.53499984741211,-37.28200149536133 C-9.53499984741211,-37.28200149536133 -9.53499984741211,-15.243000030517578 -9.53499984741211,-15.243000030517578 C-9.53499984741211,-6.117000102996826 -3.4110000133514404,0 6.75,0 C6.75,0 18.474000930786133,0 18.474000930786133,0 C18.474000930786133,0 18.474000930786133,-11.232000350952148 18.474000930786133,-11.232000350952148 C18.474000930786133,-11.232000350952148 3.3329999446868896,-11.232000350952148 3.3329999446868896,-11.232000350952148 C3.3329999446868896,-11.232000350952148 3.3329999446868896,-37.28200149536133 3.3329999446868896,-37.28200149536133 C3.3329999446868896,-37.28200149536133 19.81399917602539,-37.28200149536133 19.81399917602539,-37.28200149536133 C19.81399917602539,-37.28200149536133 19.81399917602539,-48.95199966430664 19.81399917602539,-48.95199966430664z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,493,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M0.9729999899864197,-10.508000373840332 C-9.1899995803833,-10.508000373840332 -15.121000289916992,-14.91100025177002 -15.121000289916992,-24.417999267578125 C-15.121000289916992,-34.025001525878906 -9.1899995803833,-38.52799987792969 0.9729999899864197,-38.52799987792969 C9.194999694824219,-38.52799987792969 14.213000297546387,-35.72600173950195 15.925999641418457,-27.6200008392334 C15.925999641418457,-27.6200008392334 28.950000762939453,-30.621999740600586 28.950000762939453,-30.621999740600586 C25.40999984741211,-43.53200149536133 15.131999969482422,-50.0369987487793 0.9729999899864197,-50.0369987487793 C-7.820000171661377,-50.0369987487793 -14.89900016784668,-47.73500061035156 -20.266000747680664,-43.03200149536133 C-25.746999740600586,-38.32899856567383 -28.488000869750977,-32.124000549316406 -28.488000869750977,-24.417999267578125 C-28.488000869750977,-16.812000274658203 -25.746999740600586,-10.706999778747559 -20.266000747680664,-6.004000186920166 C-14.89900016784668,-1.3009999990463257 -7.820000171661377,1.0010000467300415 0.9729999899864197,1.0010000467300415 C14.789999961853027,1.0010000467300415 25.29599952697754,-5.203999996185303 28.950000762939453,-18.413999557495117 C28.950000762939453,-18.413999557495117 15.925999641418457,-21.416000366210938 15.925999641418457,-21.416000366210938 C14.098999977111816,-13.3100004196167 9.079999923706055,-10.508000373840332 0.9729999899864197,-10.508000373840332z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,557,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M6.936999797821045,-50.0369987487793 C-2.3310000896453857,-50.0369987487793 -8.562000274658203,-47.125 -11.71500015258789,-39.689998626708984 C-11.71500015258789,-39.689998626708984 -11.71500015258789,-70.0510025024414 -11.71500015258789,-70.0510025024414 C-11.71500015258789,-70.0510025024414 -24.770999908447266,-70.0510025024414 -24.770999908447266,-70.0510025024414 C-24.770999908447266,-70.0510025024414 -24.770999908447266,0 -24.770999908447266,0 C-24.770999908447266,0 -11.71500015258789,0 -11.71500015258789,0 C-11.71500015258789,0 -11.71500015258789,-23.41699981689453 -11.71500015258789,-23.41699981689453 C-11.71500015258789,-33.32400131225586 -6.35099983215332,-38.52799987792969 1.6890000104904175,-38.52799987792969 C8.723999977111816,-38.52799987792969 13.670999526977539,-35.22600173950195 13.670999526977539,-28.621000289916992 C13.670999526977539,-28.621000289916992 13.670999526977539,0 13.670999526977539,0 C13.670999526977539,0 26.726999282836914,0 26.726999282836914,0 C26.726999282836914,0 26.726999282836914,-29.32200050354004 26.726999282836914,-29.32200050354004 C26.726999282836914,-43.13199996948242 20.000999450683594,-50.0369987487793 6.936999797821045,-50.0369987487793z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,616.5,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M-0.03200000151991844,1.0010000467300415 C15.041999816894531,1.0010000467300415 23.975000381469727,-5.004000186920166 23.975000381469727,-15.111000061035156 C23.975000381469727,-23.017000198364258 18.614999771118164,-28.020000457763672 9.347000122070312,-29.121000289916992 C9.347000122070312,-29.121000289916992 -1.819000005722046,-30.621999740600586 -1.819000005722046,-30.621999740600586 C-6.843999862670898,-31.322999954223633 -8.630000114440918,-32.82400131225586 -8.630000114440918,-35.72600173950195 C-8.630000114440918,-39.12799835205078 -5.949999809265137,-40.83000183105469 -0.5899999737739563,-40.83000183105469 C6.556000232696533,-40.83000183105469 9.01200008392334,-39.12799835205078 9.793999671936035,-33.124000549316406 C9.793999671936035,-33.124000549316406 22.299999237060547,-35.82600021362305 22.299999237060547,-35.82600021362305 C20.402000427246094,-45.33300018310547 12.586000442504883,-50.0369987487793 -1.0369999408721924,-50.0369987487793 C-14.770999908447266,-50.0369987487793 -22.29800033569336,-44.43299865722656 -22.29800033569336,-35.125999450683594 C-22.29800033569336,-26.81999969482422 -17.22800064086914,-21.916000366210938 -7.4019999504089355,-20.415000915527344 C-7.4019999504089355,-20.415000915527344 1.7549999952316284,-19.11400032043457 1.7549999952316284,-19.11400032043457 C8.008000373840332,-18.21299934387207 11.043999671936035,-16.812000274658203 11.043999671936035,-13.710000038146973 C11.043999671936035,-10.407999992370605 6.7789998054504395,-8.706000328063965 0.8610000014305115,-8.706000328063965 C-6.396999835968018,-8.706000328063965 -9.859000205993652,-10.708000183105469 -10.751999855041504,-16.812000274658203 C-10.751999855041504,-16.812000274658203 -23.726999282836914,-13.510000228881836 -23.726999282836914,-13.510000228881836 C-22.274999618530273,-5.104000091552734 -13.543000221252441,1.0010000467300415 -0.03200000151991844,1.0010000467300415z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,666.5,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M19.81399917602539,-48.95199966430664 C19.81399917602539,-48.95199966430664 3.3329999446868896,-48.95199966430664 3.3329999446868896,-48.95199966430664 C3.3329999446868896,-48.95199966430664 3.3329999446868896,-63.78099822998047 3.3329999446868896,-63.78099822998047 C3.3329999446868896,-63.78099822998047 -9.53499984741211,-63.78099822998047 -9.53499984741211,-63.78099822998047 C-9.53499984741211,-63.78099822998047 -9.53499984741211,-48.95199966430664 -9.53499984741211,-48.95199966430664 C-9.53499984741211,-48.95199966430664 -20.7189998626709,-48.95199966430664 -20.7189998626709,-48.95199966430664 C-20.7189998626709,-48.95199966430664 -20.7189998626709,-37.28200149536133 -20.7189998626709,-37.28200149536133 C-20.7189998626709,-37.28200149536133 -9.53499984741211,-37.28200149536133 -9.53499984741211,-37.28200149536133 C-9.53499984741211,-37.28200149536133 -9.53499984741211,-15.243000030517578 -9.53499984741211,-15.243000030517578 C-9.53499984741211,-6.117000102996826 -3.4110000133514404,0 6.75,0 C6.75,0 18.474000930786133,0 18.474000930786133,0 C18.474000930786133,0 18.474000930786133,-11.232000350952148 18.474000930786133,-11.232000350952148 C18.474000930786133,-11.232000350952148 3.3329999446868896,-11.232000350952148 3.3329999446868896,-11.232000350952148 C3.3329999446868896,-11.232000350952148 3.3329999446868896,-37.28200149536133 3.3329999446868896,-37.28200149536133 C3.3329999446868896,-37.28200149536133 19.81399917602539,-37.28200149536133 19.81399917602539,-37.28200149536133 C19.81399917602539,-37.28200149536133 19.81399917602539,-48.95199966430664 19.81399917602539,-48.95199966430664z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,723,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M-1.5750000476837158,-10.508000373840332 C-11.381999969482422,-10.508000373840332 -17.354999542236328,-15.111000061035156 -17.354999542236328,-24.417999267578125 C-17.354999542236328,-33.82500076293945 -11.381999969482422,-38.52799987792969 -1.5750000476837158,-38.52799987792969 C8.67199993133545,-38.52799987792969 13.847999572753906,-34.025001525878906 13.847999572753906,-24.417999267578125 C13.847999572753906,-14.91100025177002 8.67199993133545,-10.508000373840332 -1.5750000476837158,-10.508000373840332z M13.470000267028809,-38.02799987792969 C9.944000244140625,-46.034000396728516 2.943000078201294,-50.0369987487793 -6.422999858856201,-50.0369987487793 C-21.408000946044922,-50.0369987487793 -30.333999633789062,-40.02899932861328 -30.333999633789062,-24.417999267578125 C-30.333999633789062,-16.711999893188477 -28.128999710083008,-10.607000350952148 -23.722000122070312,-6.004000186920166 C-19.424999237060547,-1.3009999990463257 -13.364999771118164,1.0010000467300415 -5.76200008392334,1.0010000467300415 C3.2730000019073486,1.0010000467300415 10.053999900817871,-2.9019999504089355 13.470000267028809,-10.708000183105469 C13.470000267028809,-10.708000183105469 13.470000267028809,0 13.470000267028809,0 C13.470000267028809,0 26.58799934387207,0 26.58799934387207,0 C26.58799934387207,0 26.58799934387207,-49.0359992980957 26.58799934387207,-49.0359992980957 C26.58799934387207,-49.0359992980957 13.470000267028809,-49.0359992980957 13.470000267028809,-49.0359992980957 C13.470000267028809,-49.0359992980957 13.470000267028809,-38.02799987792969 13.470000267028809,-38.02799987792969z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,788.25,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M0.9729999899864197,-10.508000373840332 C-9.1899995803833,-10.508000373840332 -15.121000289916992,-14.91100025177002 -15.121000289916992,-24.417999267578125 C-15.121000289916992,-34.025001525878906 -9.1899995803833,-38.52799987792969 0.9729999899864197,-38.52799987792969 C9.194999694824219,-38.52799987792969 14.213000297546387,-35.72600173950195 15.925999641418457,-27.6200008392334 C15.925999641418457,-27.6200008392334 28.950000762939453,-30.621999740600586 28.950000762939453,-30.621999740600586 C25.40999984741211,-43.53200149536133 15.131999969482422,-50.0369987487793 0.9729999899864197,-50.0369987487793 C-7.820000171661377,-50.0369987487793 -14.89900016784668,-47.73500061035156 -20.266000747680664,-43.03200149536133 C-25.746999740600586,-38.32899856567383 -28.488000869750977,-32.124000549316406 -28.488000869750977,-24.417999267578125 C-28.488000869750977,-16.812000274658203 -25.746999740600586,-10.706999778747559 -20.266000747680664,-6.004000186920166 C-14.89900016784668,-1.3009999990463257 -7.820000171661377,1.0010000467300415 0.9729999899864197,1.0010000467300415 C14.789999961853027,1.0010000467300415 25.29599952697754,-5.203999996185303 28.950000762939453,-18.413999557495117 C28.950000762939453,-18.413999557495117 15.925999641418457,-21.416000366210938 15.925999641418457,-21.416000366210938 C14.098999977111816,-13.3100004196167 9.079999923706055,-10.508000373840332 0.9729999899864197,-10.508000373840332z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="display: block;" transform="matrix(1,0,0,1,850,82)" opacity="1">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path fill="rgb(0,0,0)" fill-opacity="1"
|
||||||
|
d=" M30.777000427246094,0 C30.777000427246094,0 8.23799991607666,-28.42099952697754 8.23799991607666,-28.42099952697754 C8.23799991607666,-28.42099952697754 30.090999603271484,-49.0359992980957 30.090999603271484,-49.0359992980957 C30.090999603271484,-49.0359992980957 12.998000144958496,-49.0359992980957 12.998000144958496,-49.0359992980957 C12.998000144958496,-49.0359992980957 -9.99899959564209,-26.503999710083008 -9.99899959564209,-26.503999710083008 C-9.99899959564209,-26.503999710083008 -9.875,-69.8010025024414 -9.875,-69.8010025024414 C-9.875,-69.8010025024414 -22.50200080871582,-69.8010025024414 -22.50200080871582,-69.8010025024414 C-22.50200080871582,-69.8010025024414 -22.50200080871582,0 -22.50200080871582,0 C-22.50200080871582,0 -9.875,0 -9.875,0 C-9.875,0 -9.875,-11.517000198364258 -9.875,-11.517000198364258 C-9.875,-11.517000198364258 0.5920000076293945,-20.827999114990234 0.5920000076293945,-20.827999114990234 C0.5920000076293945,-20.827999114990234 15.170000076293945,0 15.170000076293945,0 C15.170000076293945,0 30.777000427246094,0 30.777000427246094,0z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 21 KiB |
@@ -1 +1,7 @@
|
|||||||
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><defs><style>.cls-1{fill:#232540;}</style></defs><path class="cls-1" d="M128,32.75c-57.02,0-103.24,46.22-103.24,103.24s46.22,103.24,103.24,103.24,103.24-46.22,103.24-103.24-46.22-103.24-103.24-103.24ZM128,71.79c16.58,0,30.02,13.44,30.02,30.02s-13.44,30.02-30.02,30.02-30.02-13.44-30.02-30.02,13.44-30.02,30.02-30.02ZM174,200.4c-30.67,17.98-61.34,17.98-92.01,0-1.2-.71-1.91-2.04-1.85-3.43,1.1-27.99,22.11-58.29,47.85-58.29s46.75,30.3,47.85,58.29c.05,1.4-.65,2.73-1.85,3.43Z"/></svg>
|
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>.cls-1{fill:#232540;}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="cls-1"
|
||||||
|
d="M128,32.75c-57.02,0-103.24,46.22-103.24,103.24s46.22,103.24,103.24,103.24,103.24-46.22,103.24-103.24-46.22-103.24-103.24-103.24ZM128,71.79c16.58,0,30.02,13.44,30.02,30.02s-13.44,30.02-30.02,30.02-30.02-13.44-30.02-30.02,13.44-30.02,30.02-30.02ZM174,200.4c-30.67,17.98-61.34,17.98-92.01,0-1.2-.71-1.91-2.04-1.85-3.43,1.1-27.99,22.11-58.29,47.85-58.29s46.75,30.3,47.85,58.29c.05,1.4-.65,2.73-1.85,3.43Z"/>
|
||||||
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 592 B |
@@ -1 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><defs><style>.cls-1{fill:#232540;}</style></defs><path class="cls-1" d="M128,26.22c-56.61,0-102.51,45.9-102.51,102.51s45.9,102.51,102.51,102.51,102.51-45.9,102.51-102.51S184.61,26.22,128,26.22ZM152.89,51.99l1-5.93c35.15,11.04,60.73,43.92,60.73,82.67,0,9.55-1.55,18.74-4.43,27.34l-15.88,14.97c-1.22,1.15-3.03,1.39-4.51.59-1.86-1-2.94-3.01-2.74-5.11l1.77-19.34c.22-2.38,1.22-4.63,2.85-6.39l1.81-1.95c1.6-1.72,2.36-4.05,2.09-6.38l-.88-7.63c-.55-4.77-3.8-8.79-8.34-10.32l-3.72-1.26c-3.82-1.29-7.23-3.56-9.89-6.59l-4.88-5.56c-3.18-3.64-4.07-8.75-2.29-13.24l.96-2.45c1.78-4.51,1.84-9.52.16-14.07l-1.37-3.71c-1.4-3.81-4.38-6.81-8.18-8.24-3.01-1.13-4.79-4.23-4.26-7.4ZM89.18,162.15c-1.28-1.42-2.12-3.17-2.39-5.06-.51-3.52-1.37-9.42-1.84-12.59-.21-1.45-.76-2.82-1.59-4.02l-10.48-15c-1.93-2.76-2.51-6.24-1.59-9.47l3.02-10.63c.08-.25-.04-.52-.28-.64l-11.69-5.73c-1.76-.87-3.35-2.04-4.7-3.46l-5.42-5.69c-.38-.4-.68-.89-.89-1.41,12.99-24.61,37.47-42.25,66.26-45.71l2.09,6.36c1.46,3.66-.21,7.81-3.79,9.44l-17.85,8.09c-2.75,1.25-5.29,2.93-7.51,4.97l-8.71,8.02c-2.4,2.2-5.53,3.42-8.78,3.42h-5.17c-1.28,0-2.32,1.04-2.32,2.33v.79c0,.92.73,1.68,1.65,1.73l4.54.22c2.12.11,3.64,2.11,3.18,4.18-.53,2.32,1.53,4.41,3.86,3.91l12.07-2.54c4.76-1.01,9.73-.09,13.82,2.55l17.91,11.54,9.75,5.8c4.54,2.7,6.65,8.15,5.1,13.2l-.11.37-2.67,10.25c-1.2,4.59-4.74,8.2-9.31,9.48l-.7.2c-4.66,1.3-8.6,4.45-10.91,8.71l-1.09,2.02c-2.13,3.94-3.32,8.31-3.49,12.78l-.45,11.75c-.13,3.18-2.79,5.66-5.97,5.56-2.62-.09-4.85-1.93-5.44-4.48,0,0-2.4-12.1-3.45-14.87-.69-1.79-2.97-4.51-4.66-6.37ZM128,215.35c-11.26,0-22.03-2.16-31.91-6.1l.39-2.56c.39-2.49,1.82-4.68,3.95-6.02l8.73-5.52c2.8-1.77,6.5-.13,7.05,3.14.28,1.64,1.7,2.84,3.36,2.84h9.37c1.58,0,3.13-.44,4.48-1.26l1.64-.99c2.65-1.6,5.83-2.09,8.83-1.35l11.58,2.83c2.06.5,3.97,1.5,5.56,2.9l4.2,3.68c-11.29,5.39-23.91,8.41-37.23,8.41Z"/></svg>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>.cls-1{fill:#232540;}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="cls-1"
|
||||||
|
d="M128,26.22c-56.61,0-102.51,45.9-102.51,102.51s45.9,102.51,102.51,102.51,102.51-45.9,102.51-102.51S184.61,26.22,128,26.22ZM152.89,51.99l1-5.93c35.15,11.04,60.73,43.92,60.73,82.67,0,9.55-1.55,18.74-4.43,27.34l-15.88,14.97c-1.22,1.15-3.03,1.39-4.51.59-1.86-1-2.94-3.01-2.74-5.11l1.77-19.34c.22-2.38,1.22-4.63,2.85-6.39l1.81-1.95c1.6-1.72,2.36-4.05,2.09-6.38l-.88-7.63c-.55-4.77-3.8-8.79-8.34-10.32l-3.72-1.26c-3.82-1.29-7.23-3.56-9.89-6.59l-4.88-5.56c-3.18-3.64-4.07-8.75-2.29-13.24l.96-2.45c1.78-4.51,1.84-9.52.16-14.07l-1.37-3.71c-1.4-3.81-4.38-6.81-8.18-8.24-3.01-1.13-4.79-4.23-4.26-7.4ZM89.18,162.15c-1.28-1.42-2.12-3.17-2.39-5.06-.51-3.52-1.37-9.42-1.84-12.59-.21-1.45-.76-2.82-1.59-4.02l-10.48-15c-1.93-2.76-2.51-6.24-1.59-9.47l3.02-10.63c.08-.25-.04-.52-.28-.64l-11.69-5.73c-1.76-.87-3.35-2.04-4.7-3.46l-5.42-5.69c-.38-.4-.68-.89-.89-1.41,12.99-24.61,37.47-42.25,66.26-45.71l2.09,6.36c1.46,3.66-.21,7.81-3.79,9.44l-17.85,8.09c-2.75,1.25-5.29,2.93-7.51,4.97l-8.71,8.02c-2.4,2.2-5.53,3.42-8.78,3.42h-5.17c-1.28,0-2.32,1.04-2.32,2.33v.79c0,.92.73,1.68,1.65,1.73l4.54.22c2.12.11,3.64,2.11,3.18,4.18-.53,2.32,1.53,4.41,3.86,3.91l12.07-2.54c4.76-1.01,9.73-.09,13.82,2.55l17.91,11.54,9.75,5.8c4.54,2.7,6.65,8.15,5.1,13.2l-.11.37-2.67,10.25c-1.2,4.59-4.74,8.2-9.31,9.48l-.7.2c-4.66,1.3-8.6,4.45-10.91,8.71l-1.09,2.02c-2.13,3.94-3.32,8.31-3.49,12.78l-.45,11.75c-.13,3.18-2.79,5.66-5.97,5.56-2.62-.09-4.85-1.93-5.44-4.48,0,0-2.4-12.1-3.45-14.87-.69-1.79-2.97-4.51-4.66-6.37ZM128,215.35c-11.26,0-22.03-2.16-31.91-6.1l.39-2.56c.39-2.49,1.82-4.68,3.95-6.02l8.73-5.52c2.8-1.77,6.5-.13,7.05,3.14.28,1.64,1.7,2.84,3.36,2.84h9.37c1.58,0,3.13-.44,4.48-1.26l1.64-.99c2.65-1.6,5.83-2.09,8.83-1.35l11.58,2.83c2.06.5,3.97,1.5,5.56,2.9l4.2,3.68c-11.29,5.39-23.91,8.41-37.23,8.41Z"/>
|
||||||
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -4,16 +4,19 @@
|
|||||||
* @license https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html GNU General Public License v2.0
|
* @license https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html GNU General Public License v2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function HostingSupport1984CopyEmailAddress( e ) {
|
function HostingSupport1984CopyEmailAddress(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var emailAddressTag = document.querySelector( '#hosting-support-1984-address' );
|
const emailAddressTag = document.querySelector('#hosting-support-1984-address');
|
||||||
emailAddressTag.select();
|
navigator.clipboard.writeText(emailAddressTag.value)
|
||||||
document.execCommand( 'copy' );
|
.catch(err => console.error("Clipboard write failed:", err));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (document.querySelector( '#hosting-support-1984-link' )) {
|
document.querySelector('#hosting-support-1984-link')
|
||||||
document.querySelector( '#hosting-support-1984-link' ).addEventListener(
|
?.addEventListener('click', HostingSupport1984CopyEmailAddress);
|
||||||
'click',
|
|
||||||
HostingSupport1984CopyEmailAddress
|
if (document.querySelector('#hosting-support-1984-link')) {
|
||||||
);
|
document.querySelector('#hosting-support-1984-link').addEventListener(
|
||||||
|
'click',
|
||||||
|
HostingSupport1984CopyEmailAddress
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,51 +7,34 @@
|
|||||||
* https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
|
* https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#hostingsupport1984_support_widget {
|
|
||||||
background: #fffbee;
|
|
||||||
}
|
|
||||||
|
|
||||||
#adminmenu a.toplevel_page_hostingsupport1984_manage {
|
|
||||||
background-color: #b48701;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#adminmenu a.toplevel_page_hostingsupport1984_manage:hover {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#adminmenu a.toplevel_page_hostingsupport1984_manage div.wp-menu-image::before {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#hosting-support-1984-main-links {
|
#hosting-support-1984-main-links {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(2, 1fr);
|
grid-template-columns: repeat(2, 1fr);
|
||||||
gap: 0.2rem;
|
gap: 0.2rem;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hosting-support-1984-li {
|
.hosting-support-1984-li {
|
||||||
}
|
}
|
||||||
|
|
||||||
.hosting-support-1984-icon {
|
.hosting-support-1984-icon {
|
||||||
width: 5.3em;
|
width: 5.3em;
|
||||||
height: auto;
|
height: auto;
|
||||||
display: block;
|
display: block;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hosting-support-1984-text {
|
.hosting-support-1984-text {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
#hosting-support-1984-logo {
|
#hosting-support-1984-logo {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
#hosting-support-1984-logo img {
|
#hosting-support-1984-logo img {
|
||||||
width: auto;
|
width: auto;
|
||||||
height: 1.5em;
|
height: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,58 +10,67 @@
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="hosting-support-1984-support-links">
|
<div class="hosting-support-1984-support-links">
|
||||||
<ul id="hosting-support-1984-main-links">
|
<ul id="hosting-support-1984-main-links">
|
||||||
<li class="hosting-support-1984-li">
|
<li class="hosting-support-1984-li">
|
||||||
<a href="https://management.1984.hosting/accounts/settings/" target="_blank">
|
<a href="https://management.1984.hosting/accounts/settings/" target="_blank">
|
||||||
<div>
|
<div>
|
||||||
<img class="hosting-support-1984-icon" src="<?php echo plugins_url( 'icons/profile.svg', A1984_HOSTING_SUPPORT_BASE_FILE ); ?>">
|
<img class="hosting-support-1984-icon"
|
||||||
</div>
|
src="<?php echo plugins_url('icons/profile.svg', A1984_HOSTING_SUPPORT_BASE_FILE); ?>">
|
||||||
<div class="hosting-support-1984-text">
|
</div>
|
||||||
<?php esc_html_e(
|
<div class="hosting-support-1984-text">
|
||||||
'My Profile',
|
<?php esc_html_e(
|
||||||
'hostingsupport1984'
|
'My Profile',
|
||||||
); ?>
|
'hostingsupport1984'
|
||||||
</div>
|
); ?>
|
||||||
</a>
|
</div>
|
||||||
</li>
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="hosting-support-1984-li">
|
<li class="hosting-support-1984-li">
|
||||||
<a href="https://management.1984.hosting/dashboard/" target="_blank">
|
<a href="https://management.1984.hosting/dashboard/" target="_blank">
|
||||||
<div><img class="hosting-support-1984-icon" src="<?php echo plugins_url( 'icons/sites.svg', A1984_HOSTING_SUPPORT_BASE_FILE ); ?>"></div>
|
<div><img class="hosting-support-1984-icon"
|
||||||
<div class="hosting-support-1984-text">
|
src="<?php echo plugins_url('icons/sites.svg', A1984_HOSTING_SUPPORT_BASE_FILE); ?>"></div>
|
||||||
<?php esc_html_e(
|
<div class="hosting-support-1984-text">
|
||||||
'My Sites, Domains & VPSs',
|
<?php esc_html_e(
|
||||||
'hostingsupport1984'
|
'My Sites, Domains & VPSs',
|
||||||
); ?>
|
'hostingsupport1984'
|
||||||
</div>
|
); ?>
|
||||||
</a>
|
</div>
|
||||||
</li>
|
</a>
|
||||||
<li class="hosting-support-1984-li">
|
</li>
|
||||||
<a href="<?php echo get_bloginfo('language') == 'is' ? 'https://kb.1984.is/doku.php?id=start' : 'https://kb.1984hosting.com/doku.php?id=start'; ?>" target="_blank">
|
<li class="hosting-support-1984-li">
|
||||||
<div><img class="hosting-support-1984-icon" src="<?php echo plugins_url( 'icons/knowledge-base.svg', A1984_HOSTING_SUPPORT_BASE_FILE ); ?>"></div>
|
<a href="<?php echo get_bloginfo('language') == 'is' ? 'https://kb.1984.is/doku.php?id=start' : 'https://kb.1984hosting.com/doku.php?id=start'; ?>"
|
||||||
<div class="hosting-support-1984-text">
|
target="_blank">
|
||||||
<?php esc_html_e(
|
<div><img class="hosting-support-1984-icon"
|
||||||
'Knowledge Base',
|
src="<?php echo plugins_url('icons/knowledge-base.svg', A1984_HOSTING_SUPPORT_BASE_FILE); ?>">
|
||||||
'hostingsupport1984'
|
</div>
|
||||||
); ?>
|
<div class="hosting-support-1984-text">
|
||||||
</div>
|
<?php esc_html_e(
|
||||||
</a>
|
'Knowledge Base',
|
||||||
</li>
|
'hostingsupport1984'
|
||||||
|
); ?>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="hosting-support-1984-li">
|
<li class="hosting-support-1984-li">
|
||||||
<a href="mailto:1984@1984.is" target="_blank">
|
<a href="mailto:1984@1984.is" target="_blank">
|
||||||
<div><img class="hosting-support-1984-icon" src="<?php echo plugins_url( 'icons/contact-support.svg', A1984_HOSTING_SUPPORT_BASE_FILE ); ?>"></div>
|
<div><img class="hosting-support-1984-icon"
|
||||||
<div class="hosting-support-1984-text">
|
src="<?php echo plugins_url('icons/contact-support.svg', A1984_HOSTING_SUPPORT_BASE_FILE); ?>">
|
||||||
<?php esc_html_e(
|
</div>
|
||||||
'Contact Support',
|
<div class="hosting-support-1984-text">
|
||||||
'hostingsupport1984'
|
<?php esc_html_e(
|
||||||
); ?>
|
'Contact Support',
|
||||||
</div>
|
'hostingsupport1984'
|
||||||
</a>
|
); ?>
|
||||||
</li>
|
</div>
|
||||||
</ul>
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<div id="hosting-support-1984-logo">
|
<div id="hosting-support-1984-logo">
|
||||||
<a href="<?php echo get_bloginfo('language') == 'is' ? 'https://1984.is' : 'https://1984.hosting'; ?>" target="_blank"><img src="<?php echo plugins_url( 'icons/1984-hosting-logo.webp', A1984_HOSTING_SUPPORT_BASE_FILE ); ?>"></a>
|
<a href="<?php echo get_bloginfo('language') == 'is' ? 'https://1984.is' : 'https://1984.hosting'; ?>"
|
||||||
</div>
|
target="_blank"><img
|
||||||
|
src="<?php echo plugins_url('icons/1984-hosting-logo.webp', A1984_HOSTING_SUPPORT_BASE_FILE); ?>"></a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||