Skip to content
Snippets Groups Projects

more like builder pattern

Merged Krzysztof Dyszczyk requested to merge feature/builder-pattern into devel
1 file
+ 28
28
Compare changes
  • Side-by-side
  • Inline
+ 119
119
@@ -40,27 +40,6 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
$this->hooks();
}
/**
* @return $this
*/
public function get_plugin() {
return $this;
}
/**
* @return string
*/
public function get_text_domain() {
return $this->plugin_info->get_text_domain();
}
/**
* @return void
*/
public function load_plugin_text_domain() {
load_plugin_textdomain( $this->get_text_domain(), false, $this->get_namespace() . '/lang/' );
}
public function init_base_variables() {
$this->plugin_url = plugin_dir_url( $this->plugin_info->get_plugin_dir() );
}
@@ -69,35 +48,44 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
* @return void
*/
protected function hooks() {
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
add_action( 'admin_enqueue_scripts', [ $this, 'admin_enqueue_scripts' ] );
add_action( 'wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ) );
add_action( 'wp_enqueue_scripts', [ $this, 'wp_enqueue_scripts' ] );
add_action( 'plugins_loaded', array( $this, 'load_plugin_text_domain' ) );
add_filter( 'plugin_action_links_' . plugin_basename( $this->get_plugin_file_path() ), array(
add_action( 'plugins_loaded', [ $this, 'load_plugin_text_domain' ] );
add_filter( 'plugin_action_links_' . plugin_basename( $this->get_plugin_file_path() ), [
$this,
'links_filter'
) );
] );
}
/**
*
* @return string
*/
public function get_plugin_url() {
return esc_url( trailingslashit( $this->plugin_url ) );
public function get_plugin_file_path() {
return $this->plugin_info->get_plugin_dir();
}
public function get_plugin_assets_url() {
return esc_url( trailingslashit( $this->get_plugin_url() . 'assets' ) );
/**
* @return $this
*/
public function get_plugin() {
return $this;
}
/**
* @return void
*/
public function load_plugin_text_domain() {
load_plugin_textdomain( $this->get_text_domain(), false, $this->get_namespace() . '/lang/' );
}
/**
* @return string
*/
public function get_plugin_file_path() {
return $this->plugin_info->get_plugin_dir();
public function get_text_domain() {
return $this->plugin_info->get_text_domain();
}
/**
@@ -107,6 +95,18 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
return $this->plugin_namespace;
}
public function get_plugin_assets_url() {
return esc_url( trailingslashit( $this->get_plugin_url() . 'assets' ) );
}
/**
*
* @return string
*/
public function get_plugin_url() {
return esc_url( trailingslashit( $this->plugin_url ) );
}
public function admin_enqueue_scripts() {
}
@@ -125,22 +125,22 @@ abstract class AbstractPlugin implements \WPDesk_Translable {
public function links_filter( $links ) {
$support_link = get_locale() === 'pl_PL' ? 'https://www.wpdesk.pl/support/' : 'https://www.wpdesk.net/support';
$plugin_links = array(
$plugin_links = [
'<a href="' . $support_link . '">' . __( 'Support', $this->get_text_domain() ) . '</a>',
);
];
$links = array_merge( $plugin_links, $links );
if ( $this->docs_url ) {
$plugin_links = array(
$plugin_links = [
'<a href="' . $this->docs_url . '">' . __( 'Docs', $this->get_text_domain() ) . '</a>',
);
];
$links = array_merge( $plugin_links, $links );
}
if ( $this->settings_url ) {
$plugin_links = array(
$plugin_links = [
'<a href="' . $this->settings_url . '">' . __( 'Settings', $this->get_text_domain() ) . '</a>',
);
];
$links = array_merge( $plugin_links, $links );
}
Loading