register_shopPostType(); add_action( 'add_meta_boxes', array(&$this, 'list_boxes' )); add_action( 'save_post', array(&$this, 'list_detail_save' )); add_action( 'admin_enqueue_scripts', array($this, 'image_enqueue' )); add_action('admin_head', array($this, 'hidey_admin_head')); ATKPTools::add_column(ATKP_SHOP_POSTTYPE, __('Status', ATKP_PLUGIN_PREFIX), function($post_id){ $selwebservice = ATKPTools::get_post_setting($post_id, ATKP_SHOP_POSTTYPE.'_access_webservice'); if($selwebservice != ATKP_SUBSHOPTYPE) { $error = ATKPTools::get_post_setting($post_id, ATKP_SHOP_POSTTYPE.'_access_message'); echo '' . __( 'ID', ATKP_PLUGIN_PREFIX ) . ': ' . $post_id . ', '; if ($error == null || empty($error)) { echo '' . __('Connected', ATKP_PLUGIN_PREFIX) . ''; } else { echo '' . __('Not connected', ATKP_PLUGIN_PREFIX) . ' ('.esc_html($error) . ')'; } if($selwebservice == '7') { $updatedon = ATKPTools::get_post_setting( $post_id, ATKP_SHOP_POSTTYPE . '_updatedon' ); if ( isset( $updatedon ) && $updatedon != '' ) { $infotext = __( '%refresh_date% at %refresh_time%', ATKP_PLUGIN_PREFIX ); $infotext = str_replace( '%refresh_date%', ATKPTools::get_formatted_date($updatedon), $infotext ); $infotext = str_replace( '%refresh_time%', ATKPTools::get_formatted_time($updatedon), $infotext ); echo '
' . __( 'Updated on', ATKP_PLUGIN_PREFIX ) . ': ' . $infotext . ''; } else echo '
' . __( 'Marked for import', ATKP_PLUGIN_PREFIX ); $csvprovider = new atkp_shop_provider_csv(); $rows =$csvprovider->count_imported_rows($post_id); $lastimport = $csvprovider->get_lastimport_date($post_id); echo '
'.sprintf(__('%s lines imported. Last Import: %s', ATKP_PLUGIN_PREFIX), $rows, ATKPTools::get_formatted_date($lastimport) .' ' . ATKPTools::get_formatted_time($lastimport)).''; unset($csvprovider); } } }, 3); ATKPTools::add_column(ATKP_SHOP_POSTTYPE, __('Logo', ATKP_PLUGIN_PREFIX), function($post_id){ $webservice = ATKPTools::get_post_setting($post_id, ATKP_SHOP_POSTTYPE.'_access_webservice'); if(!ATKPTools::has_subshops($webservice)) { try { $shps = atkp_shop::load($post_id, true); $imageurl = $shps->get_logourl(); if($imageurl != '') echo ''.esc_attr($shps->get_title()).''; } catch (Exception $e) { echo $e->getMessage(); } } }, 1); } /** * Loads the image management javascript */ function image_enqueue() { global $typenow; if( $typenow == ATKP_SHOP_POSTTYPE ) { wp_enqueue_media(); // Registers and enqueues the required javascript. wp_register_script( 'meta-box-image', plugin_dir_url( ATKP_PLUGIN_FILE ) . 'js/meta-box-image.js', array( 'jquery' ) ); wp_localize_script( 'meta-box-image', 'meta_image', array( 'title' => __( 'Choose or Upload an image', ATKP_PLUGIN_PREFIX ), 'button' => __( 'Use this image', ATKP_PLUGIN_PREFIX ), ) ); wp_enqueue_script( 'meta-box-image' ); } } function hidey_admin_head() { echo ''; } function register_shopPostType() { $labels = array( 'name' => __( 'Shops', ATKP_PLUGIN_PREFIX ), 'singular_name' => __( 'Shop', ATKP_PLUGIN_PREFIX ), 'add_new_item' => __( 'Add new Shop', ATKP_PLUGIN_PREFIX ), 'edit_item' => __( 'Edit Shop' , ATKP_PLUGIN_PREFIX), 'new_item' => __( 'New Shop' , ATKP_PLUGIN_PREFIX), 'all_items' => __( 'Shops' , ATKP_PLUGIN_PREFIX), 'view_item' => __( 'View Shop' , ATKP_PLUGIN_PREFIX), 'search_items' => __( 'Search Shops' , ATKP_PLUGIN_PREFIX), 'not_found' => __( 'No lists found' , ATKP_PLUGIN_PREFIX), 'not_found_in_trash' => __( 'No lists found in the Trash' , ATKP_PLUGIN_PREFIX), 'parent_item_colon' => '', 'menu_name' => __( 'Shops' , ATKP_PLUGIN_PREFIX), ); $args = array( 'labels' => $labels, 'description' => 'Holds our Shop', 'public' => false, // it's not public, it shouldn't have it's own permalink, and so on 'publicly_queriable' => true, // you should be able to query it 'show_ui' => true, // you should be able to edit it in wp-admin 'exclude_from_search' => true, // you should exclude it from search results 'show_in_nav_menus' => false, // you shouldn't be able to add it to menus 'has_archive' => false, // it shouldn't have archive page 'rewrite' => false, // it shouldn't have rewrite rules 'hierarchical' => true, 'capability_type' => 'page', 'menu_position' => 200, 'supports' => array( 'title'), 'show_in_menu' => ATKP_PLUGIN_PREFIX.'_affiliate_toolkit-plugin', ); $args = apply_filters( 'atkp_shop_register_post_type', $args ); register_post_type(ATKP_SHOP_POSTTYPE, $args ); } function list_boxes() { add_meta_box( ATKP_SHOP_POSTTYPE.'_detail_box', __( 'Shop Information', ATKP_PLUGIN_PREFIX), array(&$this, 'list_detail_box_content'), ATKP_SHOP_POSTTYPE, 'normal', 'default' ); } function list_detail_box_content( $post ) { wp_nonce_field( plugin_basename( __FILE__ ), 'shop_detail_box_content_nonce' ); $selwebservice = ATKPTools::get_post_setting($post->ID, ATKP_SHOP_POSTTYPE.'_access_webservice'); $alreadysaved = (bool)$selwebservice != ''; if($selwebservice == ATKP_SUBSHOPTYPE) { $parentid = wp_get_post_parent_id($post->ID); if($parentid == 0) $access_test = 'parent shop not found: '.$post->ID.''; else { $title = get_the_title($parentid); if($title == '') $title = __('open shop', ATKP_PLUGIN_PREFIX); $access_test = ''.$title.''; } } else { $error = ATKPTools::get_post_setting($post->ID, ATKP_SHOP_POSTTYPE.'_access_message'); if(!$alreadysaved) { $error = __('Access data not defined.', ATKP_PLUGIN_PREFIX); } if (($error == null || empty($error))) { $access_test = '' . __('Connected', ATKP_PLUGIN_PREFIX) . ''; } else { $access_test = '' . __('Not connected', ATKP_PLUGIN_PREFIX) . ' ('.esc_html($error) . ')'; } } ?>
output_detail($post); } else { foreach ($locations as $value => $provider) { if($alreadysaved) { if ($value != $selwebservice) continue; } echo '
'; echo '
'; echo $provider->get_configuration($post); echo '
'; echo ''; } ?> output_detail($post); if($alreadysaved) { ?>
ID, ATKP_SHOP_POSTTYPE.'_default_shops'); $selectedshops= ATKPTools::get_post_setting( $post->ID, ATKP_SHOP_POSTTYPE.'_selected_shops'); if(is_array($defaultshops)) foreach($defaultshops as $subshop) { $found = false; if(is_array($selectedshops)) { foreach($selectedshops as $selectedsubshop) if($subshop->shopid == $selectedsubshop->shopid && $subshop->programid == $selectedsubshop->programid) { $found = true; break; } } else { //wenn selectedshop nicht gesetzt ist dann ist es noch von der alten subshop logik.. if($subshop->enabled) $found = true; } ?> >
ID, ATKP_SHOP_POSTTYPE.'_displayshoplogo'), true); ?>>
id="" name="" value="1" ID, ATKP_SHOP_POSTTYPE.'_enableofferload')); ?>>

0,00

ID, ATKP_SHOP_POSTTYPE.'_customtitle'); $customsmalllogourl = ATKPTools::get_post_setting($post->ID, ATKP_SHOP_POSTTYPE.'_customsmalllogourl'); $customlogourl = ATKPTools::get_post_setting($post->ID, ATKP_SHOP_POSTTYPE.'_customlogourl'); $customfield1 = ATKPTools::get_post_setting($post->ID, ATKP_SHOP_POSTTYPE.'_customfield1'); $customfield2 = ATKPTools::get_post_setting($post->ID, ATKP_SHOP_POSTTYPE.'_customfield2'); $customfield3 = ATKPTools::get_post_setting($post->ID, ATKP_SHOP_POSTTYPE.'_customfield3'); $ontop = intval( ATKPTools::get_post_setting($post->ID, ATKP_SHOP_POSTTYPE.'_holdshopontop')); $subshop = atkp_shop::load($post->ID, true); //$subshops= ATKPTools::get_post_setting( $post->ID, ATKP_SHOP_POSTTYPE.'_default_shops'); // if(is_array($subshops)) // var_dump($subshops); //if(is_array($subshops)) //$subshop = $shps[0]; ?> smalllogourl; $logourl = $subshop->logourl; } if($customsmalllogourl != '') { $smallimageurl =$customsmalllogourl; } if($customlogourl != '') $logourl =$customlogourl; if($smallimageurl != '') { ?>

> post_type; //ATKPTools::get_post_parameter('post_type', 'string'); if (ATKP_SHOP_POSTTYPE != $posttype ) { return; } //speichern der einstellungen ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_access_message', __('Connecting...', ATKP_PLUGIN_PREFIX)); $webservice = ATKPTools::get_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_access_webservice'); if($webservice == '' || $webservice == null) { $webservice = ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_access_webservice', 'string'); ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_access_webservice', $webservice); } if($webservice != '' && $webservice != ATKP_SUBSHOPTYPE) { $myprovider = atkp_shop_provider_base::retrieve_provider($webservice); if($myprovider == null) throw new Exception('provider not found: ' . $webservice); } if($webservice == ATKP_SUBSHOPTYPE || ($webservice != '2' && $webservice != '3' && $webservice != '5')) { if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_customtitle')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_customtitle', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_customtitle', 'string')); if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_customsmalllogourl')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_customsmalllogourl', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_customsmalllogourl', 'url')); if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_customlogourl')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_customlogourl', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_customlogourl', 'url')); if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_customfield1')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_customfield1', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_customfield1', 'html')); if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_customfield2')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_customfield2', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_customfield2', 'html')); if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_customfield3')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_customfield3', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_customfield3', 'html')); ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_holdshopontop', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_holdshopontop', 'bool')); } if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_currencysign')) { ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_displayshoplogo', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_displayshoplogo', 'bool')); ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_enableofferload', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_enableofferload', 'bool')); } $redirectiontype = ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_redirectiontype', 'int'); ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_redirectiontype', $redirectiontype); $apikey = ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_apikey', 'string'); ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_apikey', $apikey); $tooltip = ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_text_tooltip', 'string'); $buyattext = ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_text_buyat', 'html'); $addtocarttext = ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_text_addtocart', 'html'); if(isset($myprovider)) { if($buyattext == null || $buyattext == '') $buyattext = $myprovider->get_defaultbtn1_text(); if($addtocarttext == null || $addtocarttext == '') $addtocarttext = $myprovider->get_defaultbtn2_text(); if($tooltip == null || $tooltip == '') $tooltip = __('Buy now at %s', ATKP_PLUGIN_PREFIX); } ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_text_tooltip', $tooltip); ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_text_buyat', $buyattext); ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_text_addtocart', $addtocarttext); if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_currencysign')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_currencysign', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_currencysign', 'string')); if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_currencysign_customprefix')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_currencysign_customprefix', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_currencysign_customprefix', 'string')); if(ATKPTools::exists_post_parameter(ATKP_SHOP_POSTTYPE.'_currencysign_customsuffix')) ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_currencysign_customsuffix', ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_currencysign_customsuffix', 'string')); if(isset($myprovider)) { $myprovider->set_configuration($post_id); $message = $myprovider->check_configuration($post_id); $defaultshops = ATKPTools::get_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_default_shops'); $selectedshops = array(); if(is_array($defaultshops)) foreach($defaultshops as $subshop) { if(ATKPTools::get_post_parameter(ATKP_SHOP_POSTTYPE.'_subshop-'.$subshop->shopid.'-'.$subshop->programid, 'bool') == true) { array_push($selectedshops, $subshop); } } ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_selected_shops', $selectedshops); $defaultshops = $selectedshops; $title = get_the_title($post_id); $subshops = array(); $subshops_saved = get_posts( array( 'post_parent' => $post_id, 'post_type' => ATKP_SHOP_POSTTYPE, 'numberposts' => -1, 'post_status' => array('draft', 'publish') ) ); foreach($subshops_saved as $sub) { array_push($subshops, $sub->ID); } unset($subshops_saved); $subshops_saved = array(); if(is_array($defaultshops)) foreach($defaultshops as $subshop) { $subshopid = ATKPTools::create_subshop( $subshop->title,$subshop->shopid, $subshop->programid, $post_id, $subshop); array_push($subshops_saved, $subshopid); } //var_dump($subshops);exit; foreach($subshops as $subshop) { $found = false; foreach($subshops_saved as $subshop_saved) if($subshop_saved == $subshop) { $found = true; break; } if(!$found) wp_delete_post($subshop); } ATKPTools::set_post_setting( $post_id, ATKP_SHOP_POSTTYPE.'_access_message', $message); } } } ?>