register_classes();
add_action( 'init', 'my_affiliate_toolkit_lang', 10 );
function my_affiliate_toolkit_lang() {
load_plugin_textdomain( 'affiliate-toolkit-starter', false, dirname( plugin_basename( __FILE__ ) ) . '/lang');
}
function my_affiliate_toolkit_lang_dir_for_domain($path,$domain, $locale){
if($domain == 'affiliate-toolkit-starter') {
return ATKP_PLUGIN_DIR.'/lang/';
}
return $path;
}
add_filter('lang_dir_for_domain', 'my_affiliate_toolkit_lang_dir_for_domain', 10, 3);
add_action( 'plugins_loaded', 'my_affiliate_toolkit_plugins_loaded' );
function my_affiliate_toolkit_plugins_loaded() {
do_action( 'atkp_module_updater' );
}
add_action( 'publish_to_trash', 'my_affiliate_toolkit_to_trash' );
add_action( 'draft_to_trash', 'my_affiliate_toolkit_to_trash' );
add_action( 'future_to_trash', 'my_affiliate_toolkit_to_trash' );
add_action( 'deleted_post', 'my_affiliate_toolkit_deleted', 10, 2 );
function my_affiliate_toolkit_deleted( $post_id, $post ) {
if ( $post->post_type == 'atkp_product' ) {
do_action( 'atkp_product_deleted', $post->ID );
} else if ( $post->post_type == 'atkp_shop' ) {
do_action( 'atkp_shop_deleted', $post->ID );
} else if ( $post->post_type == 'atkp_list' ) {
do_action( 'atkp_list_deleted', $post->ID );
}
}
function my_affiliate_toolkit_to_trash( $post ) {
if ( $post->post_type == 'atkp_product' ) {
do_action( 'atkp_product_to_trash', $post->ID );
} else if ( $post->post_type == 'atkp_shop' ) {
do_action( 'atkp_shop_to_trash', $post->ID );
} else if ( $post->post_type == 'atkp_list' ) {
do_action( 'atkp_list_to_trash', $post->ID );
}
}
require_once ATKP_PLUGIN_DIR . '/includes/atkp_basics.php';
add_action( 'atkp_initialize_widgets', 'my_affiliate_toolkit_initialize_widgets' );
function my_affiliate_toolkit_initialize_widgets() {
new atkp_widget();
}
//** Plugin initialisieren **//
add_action( 'init', 'my_affiliate_toolkit_init' );
function my_affiliate_toolkit_init() {
if ( version_compare( get_bloginfo( 'version' ), '4.0', '<' ) ) {
wp_die( "You must update WordPress to use affiliate-toolkit!" );
}
if ( is_admin() ) {
add_action( 'admin_menu', 'atkp_init_menu', 20 );
$atkp_settings = new atkp_settings( array() );
$tempsettings = array(
__( 'General settings', 'affiliate-toolkit-starter' ) => array(
new atkp_settings_toolkit( array() ),
'toolkit_configuration_page'
),
__( 'Advanced settings', 'affiliate-toolkit-starter' ) => array(
new atkp_settings_advanced( array() ),
'advanced_configuration_page'
),
__( 'Display settings', 'affiliate-toolkit-starter' ) => array(
new atkp_settings_display( array() ),
'display_configuration_page'
),
__( 'Licenses', 'affiliate-toolkit-starter' ) => array(
new atkp_settings_license( array() ),
'license_configuration_page'
)
);
$tempsettings = apply_filters( 'atkp_pages_settings', $tempsettings );
$atkp_settings::$settings = $tempsettings;
$compatibility = array();
$compatibility = apply_filters( 'atkp_pages_compatibility', $compatibility );
if ( count( $compatibility ) > 0 ) {
$atkp_compatibility = new atkp_compatibility( array() );
$atkp_compatibility::$modes = $compatibility;
}
$temptools = array();
$temptools = apply_filters( 'atkp_pages_tools', $temptools );
$temptools[ __( 'Shop replacement', 'affiliate-toolkit-starter' ) ] = array(
new atkp_tools_shopreplace( array() ),
'shopreplace_configuration_page'
);
$temptools[ __( 'Debug', 'affiliate-toolkit-starter' ) ] = array(
new atkp_tools_debug( array() ),
'debug_configuration_page'
);
$temptools[ __( 'Welcome', 'affiliate-toolkit-starter' ) ] = array(
new atkp_tools_welcome( array() ),
'welcome_page'
);
//$temptools[ __( 'Import template', ATKP_PLUGIN_PREFIX ) ] = array(
// new atkp_tools_import_template( array() ),
// 'importtools_configuration_page'
//);
new atkp_tools_shortcodegenerator( array() );
if ( count( $temptools ) > 0 ) {
$atkp_tools = new atkp_tools( array() );
$atkp_tools::$tools = $temptools;
}
new atkp_posttypes_shop( array() );
new atkp_posttypes_product( array() );
new atkp_posttypes_list( array() );
new atkp_posttypes_template( array() );
do_action( 'atkp_register_cpt' );
new atkp_shortcode_generator2( array() );
//$g = new atkp_generator();
//$g->register_subpage();
add_action( 'admin_enqueue_scripts', 'my_affiliate_toolkit_admin_styles' );
new atkp_bulkimport( array() );
new atkp_extensions();
new atkp_queue_view();
new atkp_template_view();
} else {
new atkp_posttypes_product( array() );
new atkp_posttypes_template( array() );
add_action( 'wp_enqueue_scripts', 'my_affiliate_toolkit_styles' );
//enable shortcodes at widget area
//add_filter('widget_text', 'do_shortcode');
if ( atkp_options::$loader->get_show_credits() ) {
add_filter( 'the_content', 'my_affiliate_toolkit_credits', 20 );
}
}
//shortcodes für diverse backend editoren immer erzeugen..
new atkp_shortcodes_product( array() );
new atkp_shortcodes_list( array() );
new atkp_shortcodes_atkp( array() );
new atkp_wp_cronjob( true);
new atkp_queueservices();
new atkp_output_handle();
}
$x = new atkp_wp_cronjob( false );
$x->register_cron_hooks();
register_activation_hook( ATKP_PLUGIN_FILE, 'my_affiliate_toolkit_activated');
function my_affiliate_toolkit_activated() {
//if ((get_option('atkp_version_plugin', false)) === false) {
update_option( 'atkp_version_plugin', '1.0' );
update_option( 'atkp_redirect_to_welcome', true );
//}
}
add_action( 'admin_init', 'my_affiliate_toolkit_welcome', 9999 );
function my_affiliate_toolkit_welcome() {
if ( ! get_option( 'atkp_redirect_to_welcome', false ) ) {
return;
}
delete_option( 'atkp_redirect_to_welcome' );
wp_safe_redirect( admin_url( 'admin.php?page=ATKP_affiliate_toolkit-tools&tab=welcome_page' ) );
exit;
}
add_action( 'plugins_loaded', 'my_atkp_loaded' );
function my_atkp_loaded() {
do_action( 'atkp_initialize_extensions' );
}
function atkp_init_menu() {
add_menu_page(
__( 'affiliate-toolkit', 'affiliate-toolkit-starter' ),
__( 'affiliate-toolkit', 'affiliate-toolkit-starter' ),
'edit_posts',
ATKP_PLUGIN_PREFIX . '_affiliate_toolkit-plugin',
null,
plugin_dir_url( __FILE__ ) . '/images/affiliate_toolkit_menu.png',
30
);
do_action( 'atkp_register_submenu', ATKP_PLUGIN_PREFIX . '_affiliate_toolkit-plugin' );
}
new atkp_gutenberg_editor( array() );
new atkp_endpoints( array() );
function my_affiliate_toolkit_credits( $content ) {
if ( is_singular() && in_the_loop() && is_main_query() ) {
global $post;
if ( is_a( $post, 'WP_Post' ) ) {
if ( has_shortcode( $post->post_content, 'affiliate-toolkit-starter' ) || has_shortcode( $post->post_content, 'atkp_list' ) || has_shortcode( $post->post_content, 'atkp_product' ) ) {
$content .= '
' . ATKPTools::get_credits_link() . '
';
}
}
}
return $content;
}
function my_affiliate_toolkit_admin_styles( $hook ) {
$fontawesome = false;
$codemirror = false;
$colorpicker = false;
if ( 'toplevel_page_ATKP_affiliate_toolkit-plugin' == $hook || 'affiliate-toolkit_page_ATKP_affiliate_toolkit-compatibility' == $hook || 'affiliate-toolkit_page_ATKP_affiliate_toolkit-tools' == $hook || 'atkp_product_page_atkp_bulkimport' == $hook || 'affiliate-toolkit_page_ATKP_affiliate_toolkit-shortcodegenerator' == $hook ) {
wp_register_style( 'atkp-styles', plugins_url( '/css/admin-style.css', __FILE__ ) );
wp_enqueue_style( 'atkp-styles' );
if ( $hook == 'toplevel_page_ATKP_affiliate_toolkit-plugin' || 'affiliate-toolkit_page_ATKP_affiliate_toolkit-shortcodegenerator' == $hook ) {
$fontawesome = true;
}
$colorpicker = true;
} else if ( 'post.php' == $hook || 'post-new.php' == $hook ) {
wp_register_style( 'atkp-styles', plugins_url( '/dist/style.css', __FILE__ ) );
wp_enqueue_style( 'atkp-styles' );
$fontawesome = true;
global $post_type;
if ( ATKP_TEMPLATE_POSTTYPE == $post_type ) {
$codemirror = true;
$colorpicker = true;
}
}
if ( $fontawesome ) {
wp_register_style( 'atkp-fontawesome', plugins_url( '/lib/font-awesome/css/font-awesome.min.css', __FILE__ ) );
wp_enqueue_style( 'atkp-fontawesome' );
}
if ( $codemirror ) {
wp_register_style( 'atkp-codemirror', plugins_url( '/lib/codemirror/codemirror.css', __FILE__ ) );
wp_enqueue_style( 'atkp-codemirror' );
wp_register_script( 'atkp-codemirror-script', plugins_url( '/lib/codemirror/codemirror.js', __FILE__ ) );
wp_register_script( 'atkp-codemirror-xml', plugins_url( '/lib/codemirror/mode/xml/xml.js', __FILE__ ) );
wp_register_script( 'atkp-codemirror-html', plugins_url( '/lib/codemirror/mode/htmlmixed/htmlmixed.js', __FILE__ ) );
wp_register_script( 'atkp-codemirror-css', plugins_url( '/lib/codemirror/mode/css/css.js', __FILE__ ) );
wp_register_script( 'atkp-codemirror-javascript', plugins_url( '/lib/codemirror/mode/javascript/javascript.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-script' );
wp_enqueue_script( 'atkp-codemirror-xml' );
wp_enqueue_script( 'atkp-codemirror-html' );
wp_enqueue_script( 'atkp-codemirror-css' );
wp_enqueue_script( 'atkp-codemirror-javascript' );
wp_register_script( 'atkp-codemirror-searchcursor', plugins_url( '/lib/codemirror/searchcursor.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-searchcursor' );
wp_register_script( 'atkp-codemirror-dialog', plugins_url( '/lib/codemirror/dialog.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-dialog' );
wp_register_script( 'atkp-codemirror-jump-to-line', plugins_url( '/lib/codemirror/jump-to-line.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-jump-to-line' );
wp_register_script( 'atkp-codemirror-search', plugins_url( '/lib/codemirror/search.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-search' );
wp_register_style( 'atkp-codemirror-dialogstyle', plugins_url( '/lib/codemirror/dialog.css', __FILE__ ) );
wp_enqueue_style( 'atkp-codemirror-dialogstyle' );
wp_register_script( 'atkp-codemirror-closetag', plugins_url( '/lib/codemirror/addon/edit/closetag.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-closetag' );
wp_register_script( 'atkp-codemirror-xmlfold', plugins_url( '/lib/codemirror/addon/fold/xml-fold.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-xmlfold' );
wp_register_style( 'atkp-codemirror-show-hint', plugins_url( '/lib/codemirror/addon/hint/show-hint.css', __FILE__ ) );
wp_enqueue_style( 'atkp-codemirror-show-hint' );
wp_register_script( 'atkp-codemirror-show-hint', plugins_url( '/lib/codemirror/addon/hint/show-hint.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-show-hint' );
wp_register_script( 'atkp-codemirror-xml-hint', plugins_url( '/lib/codemirror/addon/hint/xml-hint.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-xml-hint' );
wp_register_script( 'atkp-codemirror-html-hint', plugins_url( '/lib/codemirror/addon/hint/html-hint.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-html-hint' );
wp_register_script( 'atkp-codemirror-css-hint', plugins_url( '/lib/codemirror/addon/hint/css-hint.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-css-hint' );
wp_register_script( 'atkp-codemirror-markdown', plugins_url( '/lib/codemirror/mode/markdown.js', __FILE__ ) );
wp_enqueue_script( 'atkp-codemirror-markdown' );
}
if ( $colorpicker ) {
wp_enqueue_style( 'wp-color-picker' );
wp_enqueue_script( 'wp-color-picker' );
}
$disable_select2 = ATKPTools::get_setting( ATKP_PLUGIN_PREFIX . '_disableselect2', false );
if ( ! $disable_select2 ) {
wp_register_style( 'atkp-select2-styles', plugins_url( '/lib/select2/css/select2atkp.min.css', __FILE__ ) );
wp_enqueue_style( 'atkp-select2-styles' );
wp_register_script( 'atkp-select2-scripts', plugins_url( '/lib/select2/js/select2atkp.min.js', __FILE__ ) );
wp_enqueue_script( 'atkp-select2-scripts' );
}
}
function my_affiliate_toolkit_styles() {
if ( ! atkp_options::$loader->get_disablestyles() ) {
//register plugin styles
wp_register_style( 'atkp-styles', plugins_url( '/dist/style.css', __FILE__ ) );
wp_enqueue_style( 'atkp-styles' );
//register custom styles
if ( atkp_options::$loader->get_css_inline() == atkp_css_type::CssFile || atkp_options::$loader->get_css_inline() == atkp_css_type::Inline ) {
$custom_styleurl = ATKPTools::get_global_style_url();
if ( $custom_styleurl != null ) {
wp_register_style( 'atkp-styles-custom', $custom_styleurl );
wp_enqueue_style( 'atkp-styles-custom' );
}
} else if ( atkp_options::$loader->get_css_inline() == atkp_css_type::InlineHead ) {
$output = new atkp_output();
$custom_css = $output->get_css_output();
wp_add_inline_style( 'atkp-styles', $custom_css );
//wp_enqueue_style( 'atkp-styles-custom' );
}
}
//wp_register_script( 'atkp-jquery', plugins_url( 'dist/jquery.min.js', __FILE__ ), array( 'jquery' ), '3.4.1', true );
//wp_enqueue_script( 'atkp-jquery' );
if ( ! atkp_options::$loader->get_disablejs() ) {
wp_register_script( 'atkp-scripts', plugins_url( '/dist/script.js', __FILE__ ), array( 'jquery' ) );
$custom_scripturl = ATKPTools::get_global_script_url();
//var_dump($custom_scripturl);exit;
if ( $custom_scripturl == null ) {
ATKPTools::add_global_scripts( 'atkp-custom-scripts' );
} else {
wp_register_script( 'atkp-custom-scripts', $custom_scripturl, array( 'jquery' ) );
}
wp_enqueue_script( 'atkp-scripts' );
wp_enqueue_script( 'atkp-custom-scripts' );
}
}
function atkp_template_list_previewtemplates( $templates ) {
unset( $templates['ajax_load'] );
unset( $templates['moreoffers'] );
unset( $templates['moreoffers2'] );
unset( $templates['floatingpanel'] );
unset( $templates['variationboxes'] );
unset( $templates['popup'] );
unset( $templates['comparebox'] );
unset( $templates['compareproduct'] );
unset( $templates['default_live'] );
unset( $templates['simple_live'] );
unset( $templates['searchbox'] );
unset( $templates['searchform'] );
unset( $templates['searchtext'] );
unset( $templates['productcompare_form'] );
unset( $templates['productcompare_form-widget'] );
return $templates;
}
add_filter( 'atkp_template_preview_list', 'atkp_template_list_previewtemplates', 10 );
do_action( 'atkp_initialize_widgets' );
/**
* @param bool $supported
* @param atkp_shop $shop
*
* @return bool
*/
function atkp_shop_support_articlenumber_search_at( $supported, $shop ) {
$hasarticlesearch = ATKPTools::has_articlenumbersearch( $shop->webservice );
return $supported ? $supported : $hasarticlesearch;
}
add_filter( 'atkp_shop_support_articlenumber_search', 'atkp_shop_support_articlenumber_search_at', 10, 2 );
//add_action( 'admin_notices', 'atkp_migration_admin_notice' );
add_action( 'admin_notices', 'atkp_admin_discounts' );
//add_action( 'admin_notices', 'atkp_admin_display_settings' );
add_action( 'admin_notices', 'atkp_admin_license' );
function atkp_migration_admin_notice() {
global $pagenow;
$done = ATKPTools::get_setting( 'atkp_migration_done', 0 );
if ( $done ) {
return;
}
$count = wp_count_posts( ATKP_PRODUCT_POSTTYPE );
if ( ! $count || ( $count->publish == 0 && $count->draft == 0 ) ) {
ATKPTools::set_setting( 'atkp_migration_done', 1 );
return;
}
ATKPTools::show_notification( sprintf( __( 'affiliate-toolkit: You must migrate your products to newest version (v2 to v3). Please click here to migrate now. Please create a backup before you migrate.', 'affiliate-toolkit-starter' ), admin_url( 'admin.php?page=ATKP_affiliate_toolkit-tools&tab=debug_configuration_page' ) ), 'notice', 'warning' );
}
function atkp_admin_display_settings() {
$display_check_done = ATKPTools::get_setting( 'atkp_display_check_done', 0 );
//if(is_admin()) {
// ATKPTools::show_notification( sprintf( __( 'affiliate-toolkit: Please uninstall this plugin and install affiliate-toolkit from the WordPress directory. You will receive further updates via WordPress.org.', ATKP_PLUGIN_PREFIX ), 'https://wordpress.org/plugins/affiliate-toolkit-starter/' ), 'notice', 'warning' );
//}
if ( $display_check_done ) {
return;
}
if ( ! isset( $_GET['tab'] ) || $_GET['tab'] == 'display_configuration_page' ) {
return;
}
ATKPTools::show_notification( sprintf( __( 'affiliate-toolkit: Please check your display settings. Please click here to go to your display settings page.', 'affiliate-toolkit-starter' ), admin_url( 'admin.php?page=ATKP_affiliate_toolkit-plugin&tab=display_configuration_page' ) ), 'notice', 'warning' );
}
function atkp_admin_license() {
$status = ATKP_LicenseController::get_license_status();
if ( isset( $_GET['tab'] ) && $_GET['tab'] == 'welcome_page' ) {
return;
}
if ( $status != null ) {
ATKPTools::show_notification( sprintf( __( 'affiliate-toolkit: %s', 'affiliate-toolkit-starter' ), $status ), 'notice', 'info' );
}
}
function atkp_admin_discounts() {
if ( atkp_options::$loader->get_disablediscounts() ) {
return;
}
$discounts = ATKP_StoreController::get_product_discounts();
if ( $discounts->active &&
( ( isset( $_GET['page'] ) && ATKPTools::startsWith( $_GET['page'], 'ATKP' ) ) || ( isset( $_GET['post_type'] ) && ATKPTools::startsWith( $_GET['post_type'], 'affiliate-toolkit-starter' ) ) ) ) {
$aktion_bis = new DateTime( $discounts->aktion_bis );
ATKPTools::show_notification( sprintf( __( 'affiliate-toolkit - %s: %s (Ends on %s)', 'affiliate-toolkit-starter' ), $discounts->teaser, esc_attr( $discounts->link_url ), $discounts->link_text, $aktion_bis->format( get_option( 'date_format' ) . ' H:i:s' ) ), 'notice', 'info' );
}
}
function is_atkp_page() {
$is_atkp = false;
if ( isset( $_GET['post_type'] ) && substr( $_GET['post_type'], 0, 4 ) == 'affiliate-toolkit-starter' ) {
$is_atkp = true;
}
if ( isset( $_GET['page'] ) && substr( $_GET['page'], 0, 4 ) == 'ATKP' ) {
$is_atkp = true;
}
return $is_atkp;
}
if ( is_atkp_page() ) {
add_filter( 'admin_footer_text', 'atkp_admin_rateus', 1 );
}
function atkp_admin_rateus() {
$text = sprintf(
wp_kses(
_x(
'Please rate affiliate-toolkit %1$s on %2$sWordPress.org%3$s to help us spread the word. Thank you from the affiliate-toolkit team!',
'%1$s represents 5 start symbols linked to wordpress.org review page, %2$s,%2$s represents one,close link',
ATKP_PLUGIN_PREFIX
),
array(
'a' => array(
'href' => array(),
'target' => array(),
'rel' => array(),
),
'strong' => array(),
)
),
'' .
'★★★★★',
'',
''
);
return $text;
}
// directory handle
$child_plugin_dir = ATKP_PLUGIN_DIR . '/child-plugins/';
if(file_exists($child_plugin_dir)) {
$dir = dir( $child_plugin_dir );
if ( ! ! $dir ) {
while ( false !== ( $entry = $dir->read() ) ) {
if ( $entry != '.' && $entry != '..' ) {
if ( is_dir( $child_plugin_dir . '/' . $entry ) ) {
$child_file_name = $child_plugin_dir . '/' . $entry . '/' . $entry . '.php';
if ( is_file( $child_file_name ) ) {
require_once( $child_file_name );
}
}
}
}
}
}
define( 'ATKP_INIT', '1' );
?>