first commit

This commit is contained in:
2026-03-05 13:07:40 +01:00
commit 64ba0721ee
25709 changed files with 4691006 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
.iworks-rate {
font-family: "Exo 2", sans-serif;
padding: 20px 30px; }
.iworks-rate h4 {
margin: 10px 0 0;
padding: 4px 38px 4px 0;
font-size: 16px;
font-weight: 500;
line-height: 1.618;
--logo: attr(data-logo); }
.iworks-rate h4 strong {
font-weight: 900; }
.iworks-rate p {
font-size: 14px;
max-width: 800px;
line-height: 1.618;
margin: 0 0 10px;
padding: 4px 0; }
.iworks-rate.has-logo h4 {
display: flex;
align-items: center; }
.iworks-rate-logo {
display: block;
width: 3em;
height: 3em;
margin-right: .3em;
content: "";
background-color: transparent;
background-repeat: no-repeat;
background-position: 50%;
background-size: contain; }
.iworks-rate-buttons {
margin-top: -10px;
padding: 10px 2px;
overflow: hidden; }
.iworks-rate-buttons .iworks-rate-button {
float: left;
margin: 20px 20px 0 0; }
.iworks-rate-button {
margin: 20px auto;
position: relative;
display: inline-block;
min-width: 180px;
padding: 9px 30px;
font-weight: 500;
font-size: 14px;
line-height: 1.618;
text-align: center;
text-decoration: none;
background-color: #fff;
opacity: 1;
box-sizing: border-box;
box-shadow: none;
outline: none;
border: 1px solid transparent;
transition: color 0.3s !important;
z-index: 10;
cursor: pointer; }
.iworks-rate-button--green {
border-color: #46b450;
color: #46b450; }
.iworks-rate-button--green:after {
background-color: #46b450; }
.iworks-rate-button--green:focus {
color: #46b450;
box-shadow: 0 0 0 1px #46b450, 0 0 2px 1px rgba(79, 148, 212, 0.8);
outline: 1px solid transparent; }
.iworks-rate-button--green:hover {
color: #fff;
background-color: #46b450; }
.iworks-rate-button--blue {
border-color: #0073aa;
color: #0073aa; }
.iworks-rate-button--blue:after {
background-color: #0073aa; }
.iworks-rate-button--blue:focus {
box-shadow: 0 0 0 1px #0073aa, 0 0 2px 1px rgba(79, 148, 212, 0.8);
color: #0073aa;
outline: 1px solid transparent; }
.iworks-rate-button--blue:hover {
color: #fff;
background-color: #0073aa; }
.iworks-rate-button:before {
float: left;
margin-right: 10px;
font-family: dashicons;
font-size: 20px;
line-height: 1.1; }
.iworks-rate-button:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 0;
bottom: 0;
transition: all ease .3s;
z-index: -1; }
.iworks-rate-button:hover:after {
width: 100%; }
.iworks-rate-center {
text-align: center; }
/*# sourceMappingURL=admin.css.map */

View File

@@ -0,0 +1,23 @@
jQuery(
function() {
var $parent = jQuery('.notice-iworks-rate');
jQuery('.iworks-rate-button, .notice-dismiss', $parent).on('click', function(e) {
var data = {
action: 'iworks_rate_button',
plugin_id: $parent.data('id'),
button: jQuery(this).data('action')
};
if ('get-help' === jQuery(this).data('action')) {
return true;
}
jQuery.post(
$parent.data('ajax-url'),
data,
function(response) {
$parent.detach();
}
);
return true;
});
}
);

View File

@@ -0,0 +1,146 @@
$au: 1.618;
$color_blue: #0073aa;
$color_green: #46b450;
$color_white: #fff;
.iworks-rate {
font-family: "Exo 2", sans-serif;
padding: 20px 30px;
h4 {
margin: 10px 0 0;
padding: 4px 38px 4px 0;
font: {
size: 16px;
weight: 500;
}
strong {
font-weight: 900;
}
line-height: $au;
--logo: attr(data-logo);
}
p {
font-size: 14px;
max-width: 800px;
line-height: $au;
margin: 0 0 10px;
padding: 4px 0;
}
&.has-logo {
h4 {
display: flex;
align-items: center;
}
}
}
.iworks-rate-logo {
display: block;
width: 3em;
height: 3em;
margin-right: .3em;
content: "";
background: {
color: transparent;
repeat: no-repeat;
position: 50%;
size: contain;
}
}
.iworks-rate-buttons {
margin-top: -10px;
padding: 10px 2px;
overflow: hidden;
.iworks-rate-button {
float: left;
margin: 20px 20px 0 0;
}
}
.iworks-rate-button {
margin: 20px auto;
position: relative;
display: inline-block;
min-width: 180px;
padding: 9px 30px;
font: {
weight: 500;
size: 14px;
}
line-height: $au;
text: {
align: center;
decoration: none;
}
background-color: $color_white;
opacity: 1;
box-sizing: border-box;
box-shadow: none;
outline: none;
border: 1px solid transparent;
transition: color .3s!important;
z-index: 10;
cursor: pointer;
&--green {
border-color: $color_green;
color: $color_green;
&:after {
background-color: $color_green;
}
&:focus {
color: $color_green;
box-shadow: 0 0 0 1px $color_green,0 0 2px 1px rgba(79,148,212,.8);
outline: 1px solid transparent
}
&:hover {
color: $color_white;
background-color: $color_green;
}
}
&--blue {
border-color: $color_blue;
color: $color_blue;
&:after {
background-color: $color_blue;
}
&:focus {
box-shadow: 0 0 0 1px $color_blue,0 0 2px 1px rgba(79,148,212,.8);
color: $color_blue;
outline: 1px solid transparent
}
&:hover {
color: $color_white;
background-color: $color_blue;
}
}
&:before{
float: left;
margin-right: 10px;
font-family: dashicons;
font-size: 20px;
line-height: 1.1;
}
&:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 0;
bottom: 0;
transition: all ease .3s;
z-index: -1;
}
&:hover {
&:after {
width: 100%;
}
}
}
.iworks-rate-center {
text-align: center;
}

View File

@@ -0,0 +1 @@
<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg"><path fill="#231f20" d="m 216.7,383.1 c -91.8,0 -166.4,-74.5 -166.4,-166.4 0,-32.4 9.5,-62.4 25.5,-88.0 -2.6,7.9 -4.0,16.4 -4.0,25.3 0,45.5 36.8,82.4 82.3,82.4 45.4,0 82.3,-36.9 82.3,-82.4 0,-45.4 -36.9,-82.3 -82.3,-82.3 -8.8,0 -17.3,1.4 -25.2,4.0 25.5,-16 55.5,-25.3 87.7,-25 91.8,0 166.4,74.5 166.4,166.4 0,91.9 -74.6,166.4 -166.4,166.4 M 75.5,357.9 28.5,404.9 c 48.2,48.1 114.7,78 188.2,78 147,0 266.2,-119.2 266.2,-266.2 0,-73.5 -29.8,-140.1 -78,-188.2 l -47.1,47.0 0.1,0.1 c -36.2,-36.2 -86.1,-58.5 -141.2,-58.5 -110.2,0 -199.6,89.4 -199.6,199.6 0,55.0 22.3,104.9 58.4,141 v 0.2 z" /></svg>

After

Width:  |  Height:  |  Size: 661 B

View File

@@ -0,0 +1,510 @@
<?php
/**
* iWorks_Rate - Dashboard Notification module.
*
* @version 2.1.2
* @author iworks (Marcin Pietrzak)
*
*/
if ( ! class_exists( 'iworks_rate' ) ) {
class iworks_rate {
/**
* This class version.
*
* @since 1.0.1
* @var string
*/
private $version = '2.1.2';
/**
* $wpdb->options field name.
*
* @since 1.0.0
* @var string
*/
protected $option_name = 'iworks_rates';
/**
* List of all registered plugins.
*
* @since 1.0.0
* @var array
*/
protected $plugins = array();
/**
* Module options that are stored in database.
* Timestamps are stored here.
*
* Note that this option is stored in site-meta for multisite installs.
*
* @since 1.0.0
* @var array
*/
protected $stored = array();
/**
* Initializes and returns the singleton instance.
*
* @since 1.0.0
*/
static public function instance() {
static $Inst = null;
if ( null === $Inst ) {
$Inst = new iworks_rate();
}
return $Inst;
}
/**
* Set up the iworks_rate module. Private singleton constructor.
*
* @since 1.0.0
*/
private function __construct() {
/**
* settings
*/
$this->stored = wp_parse_args(
get_site_option( $this->option_name, false, false ),
array()
);
/**
* actions
*/
add_action( 'load-index.php', array( $this, 'load' ) );
add_action( 'iworks-register-plugin', array( $this, 'register' ), 5, 3 );
add_action( 'wp_ajax_iworks_rate_button', array( $this, 'ajax_button' ) );
add_action( 'admin_init', array( $this, 'admin_init' ) );
/**
* own hooks
*/
add_filter( 'iworks_rate_assistance', array( $this, 'filter_get_assistance_widget' ), 10, 2 );
add_filter( 'iworks_rate_love', array( $this, 'filter_get_love_widget' ), 10, 2 );
/**
* advertising
*
* @since 2.1.0
*/
add_filter( 'iworks_rate_advertising_og', array( $this, 'filter_get_advertising_og' ) );
}
/**
* Inicialize admin area
*
* @since 2.0.2
*/
public function admin_init() {
foreach ( $this->plugins as $plugin_file => $plugin ) {
add_filter( 'plugin_action_links_' . $plugin_file, array( $this, 'add_donate_link' ), 10, 4 );
}
}
/**
* Add donate link to plugin_row_meta.
*
* @since 2.0.2
*
* @param array $actions An array of the plugin's metadata, including the version, author, author URI, and plugin URI.
*/
public function add_donate_link( $actions, $plugin_file, $plugin_data, $context ) {
$slug = 'iworks';
if (
isset( $this->plugins[ $plugin_file ] )
&& isset( $this->plugins[ $plugin_file ]['slug'] )
) {
$slug = $this->plugins[ $plugin_file ]['slug'];
}
$settings_page_url = apply_filters( 'iworks_rate_settings_page_url_' . $slug, null );
if ( ! empty( $settings_page_url ) ) {
$actions['settings'] = sprintf(
'<a href="%s">%s</a>',
esc_url( $settings_page_url ),
__( 'Settings', 'omnibus' )
);
}
$actions['donate'] = sprintf(
'<a href="https://ko-fi.com/iworks?utm_source=%s&utm_medium=plugin-links" target="_blank">%s</a>',
$slug,
__( 'Provide us a coffee', 'omnibus' )
);
return $actions;
}
public function load() {
$plugin_id = $this->choose_plugin();
if ( empty( $plugin_id ) ) {
return;
}
$this->plugin_id = $plugin_id;
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) );
add_action( 'admin_notices', array( $this, 'show' ) );
}
/**
* Save persistent module-data to the WP database.
*
* @since 1.0.0
*/
protected function store_data() {
update_site_option( $this->option_name, $this->stored );
}
/**
* Action handler for 'iworks-register-plugin'
* Register an active plugin.
*
* @since 1.0.0
* @param string $plugin_id WordPress plugin-ID (see: plugin_basename).
* @param string $title Plugin name for display.
* @param string $slug the plugin slug on wp.org
*/
public function register( $plugin_id, $title, $slug ) {
// Ignore incorrectly registered plugins to avoid errors later.
if ( empty( $plugin_id ) || empty( $title ) || empty( $slug ) ) {
return;
}
$data = array(
'title' => $title,
'slug' => $slug,
);
$this->plugins[ $plugin_id ] = $data;
/**
* check for option update
*
* @since 2.0.6
*
*/
$update = false;
/*
* When the plugin is registered the first time we store some infos
* in the persistent module-data that help us later to find out
* if/which message should be displayed.
*/
if ( empty( $this->stored[ $plugin_id ] ) ) {
$this->stored[ $plugin_id ] = wp_parse_args(
array(
'registered' => time(),
'show_at' => time() + rand( 7, 14 ) * DAY_IN_SECONDS,
'rated' => 0,
'hide' => 0,
),
$data
);
$update = true;
}
/**
* check slug & mark for update if needed
*
* @since 2.0.6
*/
if ( $this->stored[ $plugin_id ]['slug'] !== $slug ) {
$this->stored[ $plugin_id ]['slug'] = $slug;
$update = true;
}
/**
* check title - can be diferent due language
*
* @since 2.0.6
*/
$this->stored[ $plugin_id ]['title'] = $title;
/**
* Finally save the details if it is needed
*/
if ( $update ) {
$this->store_data();
}
}
/**
* Ajax handler called when the user chooses the CTA button.
*
* @since 1.0.0
*/
public function ajax_button() {
$plugin_id = filter_input( INPUT_POST, 'plugin_id', FILTER_DEFAULT );
if ( empty( $plugin_id ) ) {
wp_send_json_error();
}
if ( ! isset( $this->plugins[ $plugin_id ] ) ) {
wp_send_json_error();
}
switch ( filter_input( INPUT_POST, 'button', FILTER_DEFAULT ) ) {
case '':
case 'add-review':
$this->add_weeks( $plugin_id );
wp_send_json_success();
case 'hide':
$this->add_weeks( $plugin_id );
$this->hide( $plugin_id );
wp_send_json_success();
case 'donate':
$this->add_months( $plugin_id );
wp_send_json_success();
}
wp_send_json_success();
}
public function hide( $plugin_id ) {
if ( ! isset( $this->stored[ $plugin_id ] ) ) {
return;
}
$this->stored[ $plugin_id ]['rated'] = time();
$this->store_data();
}
private function add_weeks( $plugin_id ) {
if ( ! isset( $this->stored[ $plugin_id ] ) ) {
return;
}
$this->stored[ $plugin_id ]['show_at'] = time() + rand( 4, 6 ) * WEEK_IN_SECONDS + rand( 0, 7 ) * DAY_IN_SECONDS;
$this->store_data();
}
private function add_months( $plugin_id ) {
if ( ! isset( $this->stored[ $plugin_id ] ) ) {
return;
}
$this->stored[ $plugin_id ]['show_at'] = time() + rand( 15, 30 ) * WEEK_IN_SECONDS + rand( 0, 14 ) * DAY_IN_SECONDS;
$this->store_data();
}
/**
* Ajax handler called when the user chooses the dismiss button.
*
* @since 1.0.0
*/
public function dismiss() {
$plugin = $this->get_plugin_from_post();
if ( is_wp_error( $plugin ) ) {
wp_send_json_error();
}
wp_send_json_success();
}
/**
* Action handler for 'load-index.php'
* Set-up the Dashboard notification.
*
* @since 1.0.0
*/
public function enqueue() {
wp_enqueue_style(
__CLASS__,
plugin_dir_url( __FILE__ ) . 'admin.css',
array(),
$this->version
);
wp_enqueue_script(
__CLASS__,
plugin_dir_url( __FILE__ ) . 'admin.js',
array(),
$this->version,
true
);
}
/**
* Action handler for 'admin_notices'
* Display the Dashboard notification.
*
* @since 1.0.0
*/
public function show() {
$this->render_message( $this->plugin_id );
}
/**
* Check to see if there is a pending message to display and returns
* the message details if there is.
*
* Note that this function is only called on the main Dashboard screen
* and only when logged in as super-admin.
*
* @since 1.0.0
* @return object|false
* string $plugin WordPress plugin ID?
*/
protected function choose_plugin() {
if ( wp_is_mobile() ) {
return false;
}
/**
* list
*/
$choosen = array();
/**
* change time by filter
*/
$now = apply_filters( 'iworks_rate_set_custom_time', time() );
foreach ( $this->stored as $plugin_id => $item ) {
if ( ! isset( $this->plugins[ $plugin_id ] ) ) {
if ( isset( $this->stored[ $plugin_id ] ) ) {
unset( $this->stored[ $plugin_id ] );
$this->store_data();
}
continue;
}
if ( intval( $item['show_at'] ) > $now ) {
continue;
}
$choosen[] = $plugin_id;
}
if ( empty( $choosen ) ) {
return false;
}
return $choosen[ array_rand( $choosen ) ];
}
/**
* Renders the actual Notification message.
*
* @since 1.0.0
*/
protected function render_message( $plugin_id ) {
$file = $this->get_file( 'thanks' );
$plugin = $this->get_plugin_data_by_plugin_id( $plugin_id );
load_template( $file, true, $plugin );
}
/**
* @since 2.0.1
*/
private function get_file( $file, $group = '' ) {
return sprintf(
'%s/templates/%s%s%s.php',
dirname( __FILE__ ),
$group,
'' === $group ? '' : '/',
sanitize_title( $file )
);
}
/**
* @since 2.0.1
*/
private function get_plugin_data_by_plugin_id( $plugin_id ) {
$plugin = wp_parse_args(
$this->plugins[ $plugin_id ],
$this->stored[ $plugin_id ]
);
$plugin['plugin_id'] = $plugin_id;
$plugin['logo'] = apply_filters( 'iworks_rate_notice_logo_style', '', $plugin );
$plugin['ajax_url'] = admin_url( 'admin-ajax.php' );
$plugin['classes'] = array(
'iworks-rate',
'iworks-rate-' . $plugin['slug'],
'iworks-rate-notice',
);
if ( ! empty( $plugin['logo'] ) ) {
$plugin['classes'][] = 'has-logo';
}
$plugin['url'] = esc_url(
sprintf(
_x( 'https://wordpress.org/plugins/%s', 'plugins home', 'omnibus' ),
$plugin['slug']
)
);
$plugin['support_url'] = esc_url(
sprintf(
_x( 'https://wordpress.org/support/plugin/%s', 'plugins support home', 'omnibus' ),
$plugin['slug']
)
);
return $plugin;
}
/**
* @since 2.0.1
*/
private function get_plugin_id_by_slug( $slug ) {
foreach ( $this->stored as $plugin_id => $plugin ) {
if ( $slug === $plugin['slug'] ) {
return $plugin_id;
}
}
return new WP_Error();
}
/**
* @since 2.0.1
*/
public function filter_get_assistance_widget( $content, $slug ) {
$plugin_id = $this->get_plugin_id_by_slug( $slug );
if ( is_wp_error( $plugin_id ) ) {
return $content;
}
$this->enqueue();
$plugin = $this->get_plugin_data_by_plugin_id( $plugin_id );
$file = $this->get_file( 'support', 'widgets' );
ob_start();
load_template( $file, true, $plugin );
$content = ob_get_contents();
ob_end_clean();
return $content;
}
/**
* @since 2.0.1
*/
public function filter_get_love_widget( $content, $slug ) {
$plugin_id = $this->get_plugin_id_by_slug( $slug );
if ( is_wp_error( $plugin_id ) ) {
return $content;
}
$this->enqueue();
$plugin = $this->get_plugin_data_by_plugin_id( $plugin_id );
$file = $this->get_file( 'donate', 'widgets' );
ob_start();
load_template( $file, true, $plugin );
$content = ob_get_contents();
ob_end_clean();
return $content;
}
/**
* Get advertising for "OG — Better Share on Social Media" plugin.
*
* @since 2.1.0
*/
public function filter_get_advertising_og( $data ) {
return array(
'iworks-adverting-og' => array(
'title' => __( 'OpenGraph', 'omnibus' ),
'callback' => array( $this, 'get_advertising_og_content' ),
'context' => 'side',
'priority' => 'low',
),
);
}
/**
* Advertising content for "OG — Better Share on Social Media" plugin.
*
* @since 2.1.0
*/
public function get_advertising_og_content() {
$args = array(
'install_plugin_url' => $this->get_install_plugin_url( 'og' ),
'plugin_name' => __( 'OG — Better Share on Social Media', 'omnibus' ),
'plugin_wp_home' => __( 'https://wordpress.org/plugins/og/', 'omnibus' ),
);
$file = $this->get_file( 'og', 'plugins' );
load_template( $file, true, $args );
}
/**
* get admin plugin install url
*
* @since 2.1.0
*/
private function get_install_plugin_url( $slug ) {
return wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $slug ), 'install-plugin_' . $slug );
}
}
// Initialize the module.
iworks_rate::instance();
}

View File

@@ -0,0 +1,18 @@
<p><?php
esc_html_e( 'Would you like to boost your website sharing abilities?', 'omnibus ' );
?></p>
<p>
<?php
printf(
esc_html__( 'Don\'t wait, install plugin %s!', 'omnibus' ),
sprintf(
'<a href="%s" target="_blank"><strong>%s</strong></a>',
$args['plugin_wp_home'],
$args['plugin_name']
)
);
?>
</p>
<p class="iworks-rate-center"><a href="<?php echo esc_url( $args['install_plugin_url'] ); ?>" class="iworks-rate-button iworks-rate-button--green dashicons-admin-plugins
"><?php echo esc_html( __( 'Install', 'omnibus' ) ); ?></a></p>

View File

@@ -0,0 +1,34 @@
<?php
/**
* Notice displayed in admin panel.
*/
?>
<div class="notice notice-success is-dismissible notice-iworks-rate"
data-slug="<?php echo esc_attr( $args['slug'] ); ?>"
data-id="<?php echo esc_attr( $args['plugin_id'] ); ?>"
data-ajax-url="<?php echo esc_url( $args['ajax_url'] ); ?>"
>
<div class="<?php echo esc_attr( implode( ' ', $args['classes'] ) ); ?>">
<h4>
<?php
if ( ! empty( $args['logo'] ) ) {
printf( '<span class="iworks-rate-logo" style="background-image:url(%s)"></span>', esc_url( $args['logo'] ) ); }
?>
<span><?php printf( esc_html( __( 'Thank you for using our plugin %s!', 'omnibus' ) ), sprintf( '<strong>%s</strong>', $args['title'] ) ); ?></span></h4>
<?php
/* translators: %1$s: open anchor tag, %2$s: close anchor tag */
$content = __( 'Please let us know what you think about our plugin. It is important that we can develop this tool. Thank you for all the ratings, reviews and donates. If you have a technical problem, please before you add a review %1$scheck our FAQ%2$s or contact us if you did not find help there. We will try to help you!', 'omnibus' );
echo wpautop( wp_kses_post( sprintf( $content, sprintf( '<a href="%s#faq" target="_blank">', $args['url'] ), '</a>' ) ) );
?>
<div class="iworks-rate-buttons">
<a data-action="get-help" href="<?php echo $args['support_url']; ?>/#new-post" target="_blank" class="iworks-rate-button iworks-rate-button--green" ><?php echo esc_html( __( 'Get help', 'omnibus' ) ); ?></a>
<?php if ( intval( $args['rated'] ) === 0 ) { ?>
<a data-action="add-review" href="<?php echo $args['support_url']; ?>/reviews/?rate=5#new-post" target="_blank" class="iworks-rate-button iworks-rate-button--green" ><?php echo esc_html( __( 'Add review', 'omnibus' ) ); ?></a>
<?php } ?>
<a data-action="donate" href="https://ko-fi.com/iworks/?utm_source=<?php echo $args['slug']; ?>&utm_medium=notice-thanks" target="_blank" class="iworks-rate-button iworks-rate-button--green dashicons-heart" ><?php echo esc_html( __( 'Provide us a coffee', 'omnibus' ) ); ?></a>
<?php if ( intval( $args['rated'] ) === 0 ) { ?>
<button type="button" data-action="hide" class="iworks-rate-button iworks-rate-button--blue" ><?php echo esc_html( __( 'I added review, do not show again', 'omnibus' ) ); ?></button>
<?php } ?>
</div>
</div>
</div>

View File

@@ -0,0 +1,4 @@
<p><?php echo wp_kses_post( __( 'However, working on plugins and technical support requires many hours of work. If you want to appreciate it, you can provide me a coffee.', 'omnibus' ) ); ?></p>
<p><?php echo wp_kses_post( __( 'If every plugin user did it, I could devote myself fully to working on this plugin. Thanks everyone!', 'omnibus' ) ); ?></p>
<p class="iworks-rate-center"><a href="https://ko-fi.com/iworks/?utm_source=<?php echo $args['slug']; ?>&utm_medium=widget-donate" target="_blank" class="iworks-rate-button iworks-rate-button--blue dashicons-heart"><?php echo esc_html( __( 'Provide me a coffee', 'omnibus' ) ); ?></a></p>

View File

@@ -0,0 +1,34 @@
<p>
<?php
echo wp_kses_post(
__( 'Do you have a technical problem? Please contact us. We will be happy to help you. Or maybe you have an idea for a new feature? Please let us know about it by filling the support form. We will try to add it!', 'omnibus' )
);
?>
</p>
<p>
<?php
echo wp_kses_post(
sprintf(
/* translators: %1$s: open anchor tag, %2$s: close anchor tag, %3$s: open anchor tag, %4$s: close anchor tag */
__( 'Please %1$scheck our FAQ%2$s before adding a thread with technical problem. If you do not find help there, %3$scheck support forum%4$s for similar problems.', 'omnibus' ),
'<a href="' . $args['url'] . '#faq" target="_blank">',
'</a>',
'<a href="' . $args['support_url'] . '" target="_blank">',
'</a>'
)
);
?>
</p>
<p class="iworks-rate-center">
<a href="<?php echo $args['support_url']; ?>" target="_blank" class="iworks-rate-button iworks-rate-button--blue" ><?php echo esc_html( __( 'Get help', 'omnibus' ) ); ?></a>
</p>
<p>
<?php
echo wp_kses_post(
__( 'Do you like our plugin? Could you rate him? Please let us know what you think about our plugin. It is important that we can develop this tool. Thank you for all the ratings, reviews and donates.', 'omnibus' )
);
?>
</p>
<p class="iworks-rate-center">
<a href="<?php echo add_query_arg( 'rate', '5', $args['support_url'] . '/reviews/' ); ?>#new-post" target="_blank" class="iworks-rate-button iworks-rate-button--blue" ><?php echo esc_html( __( 'Add review', 'omnibus' ) ); ?></a>
</p>