Plugin Directory

Changeset 1856680


Ignore:
Timestamp:
04/11/2018 07:16:30 PM (8 years ago)
Author:
jensmueller
Message:

version 3.1.0

Location:
easy-amazon-product-information/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • easy-amazon-product-information/trunk/eapi_amazon.php

    r1806298 r1856680  
    9595                $feature_arr = array();
    9696                foreach($xmlItem->ItemAttributes->Feature as $feature){
    97                     array_push($feature_arr , (string)$feature);
    98                 }   
     97                    array_push($feature_arr , htmlspecialchars(preg_replace('/✔/', '', (string)$feature)));
     98                }
    9999                $arr['features'] = json_encode($feature_arr, JSON_UNESCAPED_UNICODE);
     100            }
     101            if(isset($xmlItem->ItemAttributes->EAN)){
     102                $arr['ean'] = (String)$xmlItem->ItemAttributes->EAN;
     103            }else if(isset($xmlItem->ItemAttributes->MPN)){
     104                $arr['ean'] = (String)$xmlItem->ItemAttributes->MPN;
    100105            }
    101106            if(isset($xmlItem->ASIN)){
     
    138143            'num_reviews' => '', 'rating' => ''
    139144            ));
     145            $arr['has_reviews'] = $has_reviews;
     146            $arr['iframe_url'] = $iframe_url;
     147            $arr['num_reviews'] = '';
     148            $arr['rating'] = '';
    140149           
    141150            if(isset($xmlItem->Offers->Offer->OfferListing->IsEligibleForPrime)){
     
    149158                $arr['availability'] = 'now';
    150159            }
     160            $arr['shop'] = 'amazon';
    151161            if(($num_of_wanted_results == 1 AND $count_of_pushed_elemets < 1) OR
    152162            ($num_of_wanted_results > 1 AND sizeof($ret_elements) < $num_of_wanted_results) ){
  • easy-amazon-product-information/trunk/eapi_handler.php

    r1792380 r1856680  
    33//
    44if(get_option('eapi_version') !=  EAPI_VERSION){
    5         eapi_install();
     5    eapi_install();
    66}
    77//error is fixed: now 'typ' or 'type' can be used.
     
    1212if(isset($atts['typ'])){
    1313    $typ = $atts['typ'];
    14     if(! in_array($typ, array("standard", "sidebar", "small", "negative", "price", "button", "picture", "link", "stars", "reviews", "prime"))){
     14    if(! in_array($typ, array("standard", "sidebar", "negative", "price", "button", "picture", "link", "stars", "reviews", "prime"))){
    1515        $typ = "standard";
    1616    }
     
    1818else{
    1919    $typ = "standard";
     20}
     21//amazon is set as default shop, if no shop is passed
     22if(!isset($atts['shops'])){
     23    $atts['shops'] = "amazon";
    2024}
    2125if(isset($atts['keyword'])){
     
    3842}
    3943//all other types can only display n=1
    40 if(!($typ === "standard" OR $typ === "small" OR $typ === "negative"OR $typ === "sidebar")){
     44if(!($typ === "standard" OR $typ === "negative"OR $typ === "sidebar")){
    4145    $atts['n'] = 1;
    4246}
     
    8185'eiig_border' => '',
    8286'eiig_shadow' => '',
    83 'eiig_start' => ''
     87'eiig_start' => '',
     88'ebay_keyword' => '',
     89'shops' => ''
    8490);
    8591//exceptions are described in the statement below
     
    8995    }
    9096}
    91 
    92 $data_from_local_WP = eapi_get_data_from_WP_database($keyword, $n);
     97$passed_parameters['shops'] = explode(",", $passed_parameters['shops']);
     98$data_from_local_WP = eapi_get_data_from_WP_database($keyword, $n, $passed_parameters);
    9399$ret = "";
    94100if(!($keyword == "NOKEYWORD" AND $typ == 'button')){
    95     if(sizeof($data_from_local_WP) >= $n AND check_if_local_data_is_actual($data_from_local_WP)){
     101    if(sizeof($data_from_local_WP) >= ($n + count($passed_parameters['shops']) - 1) AND check_if_local_data_is_actual($data_from_local_WP)){
     102        $data_from_local_WP = eapi_merge_shops($data_from_local_WP, $passed_parameters);
    96103        $ret .= eapi_build_output($data_from_local_WP, $typ, $passed_parameters);
    97104    }else{
    98         if($server_arr = json_decode(eapi_get_amazon_products(array('n' => $n, 'product' => $keyword, 'debug' => $passed_parameters['debug'])))){
     105        $server_arr = [];
     106        if(in_array("amazon", $passed_parameters['shops'])){
     107            $server_arr = json_decode(eapi_get_amazon_products(array('n' => $n, 'product' => $keyword, 'debug' => $passed_parameters['debug'])));
     108        }else if(in_array("ebay", $passed_parameters['shops'])){//case when no amazon and only ebay shop
     109            $server_arr = json_decode(eapi_get_ebay_products(array('n' => $n, 'product' => $keyword, 'debug' => $passed_parameters['debug'], 'shops' =>  $passed_parameters['debug'])));
     110        }
     111        if(count($server_arr) > 0){
    99112            if(sizeof($data_from_local_WP) > 0){
    100113                eapi_delete_with_this_keyword($keyword);
    101114            }
     115            if(in_array("ebay", $passed_parameters['shops']) &&
     116                in_array("amazon", $passed_parameters['shops'])){
     117                $ebay_return = array();
     118                foreach($server_arr as $sa){
     119                    if(isset($sa->ean)){
     120                        $tmpp = json_decode(eapi_get_ebay_products(array('n' => $n, 'product' => $sa->ean, 'debug' => $passed_parameters['debug'], 'shops' =>  $passed_parameters['shops'])));
     121                        if(count($tmpp) > 0){
     122                            array_push($ebay_return, $tmpp[0]);
     123                        }
     124                    }
     125                }
     126                $server_arr = array_merge($server_arr, $ebay_return);
     127            }
     128            eapi_store_data_in_WP_database($keyword, $server_arr);
     129            $server_arr = eapi_merge_shops($server_arr, $passed_parameters);
    102130            $ret .= eapi_build_output($server_arr, $typ, $passed_parameters);
    103             eapi_store_data_in_WP_database($keyword, $server_arr);
    104131        }else{
    105132            if(sizeof($data_from_local_WP) > 0){
     133               
     134                $data_from_local_WP = eapi_merge_shops($data_from_local_WP, $passed_parameters);
    106135                $ret .= eapi_build_output($data_from_local_WP, $typ, $passed_parameters);
    107136            }
     
    116145}
    117146return $ret;
     147}
     148//merges the result of different shops according to ean number
     149function eapi_merge_shops($arr, $passed_parameters){
     150    $to_return = array();
     151    if(count($passed_parameters['shops']) > 1){
     152        for($i = 0; $i < count($arr); $i++){
     153            if($arr[$i]->shop == "amazon"){
     154                for($j = 0; $j < count($arr); $j++){
     155                    if($arr[$j]->shop != "amazon" AND $arr[$j]->ean == $arr[$i]->ean ){
     156                        $arr[$i]->ebay_price = $arr[$j]->new_price;
     157                        $arr[$i]->ebay_id = $arr[$j]->asin;
     158                    }
     159                }
     160                array_push($to_return, $arr[$i]);
     161            }
     162        }
     163    }else{
     164        $to_return = $arr;
     165    }
     166    return $to_return;
    118167}
    119168
     
    244293        $ret .= "<div ";
    245294        $entire_border_display = $typ_json->entire_border_display;
    246         if($entire_border_display != "" OR $typ == "small"){
    247             $ret .= "class='";
     295        if($entire_border_display != ""){
    248296            if($entire_border_display != ""){
    249                 $ret .= "eapi_entire_border ";
    250             }
    251             if($typ == "small"){
    252                 $ret .= " eapi_display_box ";
    253             }
    254             $ret .= "'";
     297                $ret .= "class='eapi_entire_border '";
     298            }
    255299        }
    256300        if($typ_json->entire_border_display != ""){
     
    303347            }
    304348            $url = eapi_build_url($sA, $passed_parameters);
     349            if(isset($sA->ebay_price)){
     350                $ebay_url = eapi_build_url($sA, $passed_parameters, "ebay");
     351            }
    305352           
    306353            if(isset($sA->title)){
     
    393440                    $ret.="eapi_custom_info";
    394441                }
    395                 $ret.="'>";
     442                $ret .="'>";
     443                if($typ != "sidebar"){
     444                    $ret .= "<div class='eapi_shop_box'>";
     445                }
    396446                $ret .= eapi_build_button_output($sA, $typ, $url, $passed_parameters, $typ_json);
    397447                $ret .= eapi_build_price_output($sA, $typ, $typ_json);
     448                if($typ != "sidebar"){
     449                    $ret .= "</div>";
     450                }
     451                if(isset($sA->ebay_price)){
     452                    if($typ != "sidebar"){
     453                        $ret .= "<div class='eapi_shop_box'>"; 
     454                    }
     455                    $ret .= eapi_build_button_output($sA, $typ, $ebay_url, $passed_parameters, $typ_json, "ebay");
     456                    $ret .= eapi_build_price_output($sA, $typ, $typ_json, "ebay");
     457                    if($typ != "sidebar"){
     458                        $ret .= "</div>";
     459                    }
     460                }
    398461                $ret .= "</div>";
    399462            }
     
    428491//builds feature output
    429492function eapi_build_feature_output($sA, $typ, $url, $passed_parameters, $typ_json, $increasing_number){
     493   
    430494    $ret = "";
    431495    if($increasing_number < 10){
     
    441505    if(isset($sA->features)){
    442506        if(!is_array($sA->features)){
     507            $sA->features = stripslashes($sA->features);//needed, to prevent coding  issues
    443508            $sA->features = json_decode($sA->features);
    444509        }
    445         $sA->features = preg_replace("#\[\-\]#", "\"", $sA->features);
    446510        if(sizeof($sA->features) > 0){
    447511            if($typ_json->feature_display != ""){
     
    527591
    528592function eapi_build_prime_output($sA, $typ, $passed_parameters, $typ_json){
     593    if(!in_array('amazon', $passed_parameters['shops']) && in_array('ebay', $passed_parameters['shops'])){
     594        $is_amazon = false;
     595    }else{
     596        $is_amazon = true;
     597    }
    529598    $ret = "";
    530599    if(eapi_dominating_setting($typ_json->prime_display, $passed_parameters['prime'])){
     
    537606        }
    538607        else{
    539             $ret .= "eapi_prime_wrapper";
    540         }
    541         $ret .="' ><img src='". plugins_url( 'images/eapi_logos.png', __FILE__ ) . "' class='eapi_prime_logo'
    542         alt='prime logo' title='".__('prime logo', 'easy-amazon-product-information')."'></div>";
     608            if($is_amazon){
     609                $ret .= "eapi_prime_wrapper";
     610            }else{
     611                $ret .= "eapi_ebay_plus_wrapper";
     612            }
     613        }
     614        $ret .="' ><img src='". plugins_url( 'images/eapi_logos.png', __FILE__ ) . "' class='";
     615        if($is_amazon){
     616            $ret .= "eapi_prime_logo ";
     617        }else{
     618            $ret .= "eapi_ebay_plus_logo ";
     619        }
     620        if($is_amazon){
     621            $alt_or_title = __('prime logo', 'easy-amazon-product-information');
     622        }else{
     623            $alt_or_title = __('plus logo', 'easy-amazon-product-information');
     624        }
     625        $ret .= "'
     626        alt='".$alt_or_title."' title='".$alt_or_title."'></div>";
    543627        }
    544628    }
     
    602686                $ret .= " style='float: left;' ";
    603687            }           
    604             $ret .="><a rel='nofollow' target='_blank' rel='nofollow' title='".__('amazon product ratings', 'easy-amazon-product-information')."' ";
     688            $ret .="><a rel='nofollow' target='_blank' title='".__('amazon product ratings', 'easy-amazon-product-information')."' ";
    605689            //set google analytics tag
    606690            if(get_option('eapi_analytics_tracking') != ""){
     
    649733
    650734//builds the url: if product_link == '', it's an amazon-link, else it can be an extern or intern link (not amazon).
    651 function eapi_build_url($sA, $passed_parameters){
     735function eapi_build_url($sA, $passed_parameters, $shop = "amazon"){
    652736    //is an amazon-link
     737    $sA->shop = $shop;
     738    if(!(in_array("amazon", $passed_parameters['shops'])) AND (in_array("ebay", $passed_parameters['shops']))){
     739        $sA->shop = "ebay";
     740    }
    653741    $url = "";
    654742    if($passed_parameters['product_link'] == ''){
    655743        if(isset($sA->asin)){
    656             $affili_link = get_option("eapi_affiliate_link");
    657             if($passed_parameters['product_affiliate'] == ""){
    658                 if(!($affili_link) OR $affili_link === ""){
    659                     $affili_link = "eapi-21";
    660                 }
    661             }else{
    662                 $affili_link = $passed_parameters['product_affiliate'];
    663             }
     744            if($sA->shop == "amazon"){
     745                $affili_link = get_option("eapi_affiliate_link");
     746                if($passed_parameters['product_affiliate'] == ""){
     747                    if(!($affili_link) OR $affili_link === ""){
     748                        $affili_link = "eapi-21";
     749                    }
     750                }else{
     751                    $affili_link = $passed_parameters['product_affiliate'];
     752                }
    664753                $url = "https://www.amazon.de/dp/$sA->asin/?tag=" . $affili_link;
    665             }
     754            }else if($sA->shop == "ebay"){
     755                if(!isset($sA->ebay_id)){
     756                    $itm_id = $sA->asin;
     757                }else{
     758                    $itm_id = $sA->ebay_id;
     759                }
     760                $campid = get_option('eapi_ebay_affiliate_id');
     761                $url = "https://rover.ebay.com/rover/1/707-53477-19255-0/1?toolid=10001&campid=" . $campid . "&customid=&mpre=";
     762                $url .= urldecode("https://www.ebay.de/itm/" . $itm_id  . "/");
     763            }
     764        }
    666765    }else{//is not an amazon-link
    667766        $url =  $passed_parameters['product_link'];
     
    669768    return $url;
    670769}
    671 function eapi_build_button_output($sA, $typ, $url, $passed_parameters,  $typ_json){
     770function eapi_build_button_output($sA, $typ, $url, $passed_parameters,  $typ_json_pass, $shop = "amazon"){
     771    $typ_json = clone $typ_json_pass;
     772    $sA->shop = $shop;
     773    //when only ebay is displayed
     774    if(!in_array('amazon', $passed_parameters['shops']) && in_array('ebay', ($passed_parameters['shops']))){
     775        $sA->shop = "ebay";
     776    }
     777   
     778    if($sA->shop == "ebay"){//Just overwrite the atts temporary. Makes the following code easier.
     779        $typ_json->button_display = $typ_json->button_display_ebay;
     780        $typ_json->button_amazon_style = false;
     781        $typ_json->text_color = $typ_json->text_color_ebay;
     782        $typ_json->color = $typ_json->color_ebay;
     783        $typ_json->text = $typ_json->text_ebay;
     784        if(isset($sA->ebay_price)){//when only ebay is displayed
     785            $sA->new_price = $sA->ebay_price;
     786        }
     787    }
     788   
    672789    $ret = "";
    673790    if($typ_json->button_display != "" or $typ_json->button_amazon_style != "" or $passed_parameters['button_style'] != ""){
     
    683800            $ret .= " eapi_sidebar_button'";
    684801        }else{
     802            if(count($passed_parameters['shops']) > 1){
     803                $ret .= " eapi_min_button_width";
     804            }
    685805            $ret .= "'";
    686806        }
     
    733853        if( $passed_parameters['product_button'] != ""){
    734854            if(preg_match("#%1#", $passed_parameters['product_button'])){
    735                 $ret .= preg_replace("#%1#", eapi_build_formatted_price_display($sA->new_price) . " €" ,  $passed_parameters['product_button']);
     855                $ret .= preg_replace("#%1#", eapi_build_formatted_price_display($sA->new_price) ,  $passed_parameters['product_button']);
    736856            }else{
    737857                $ret .= $passed_parameters['product_button'];
     
    739859        }else{
    740860            if(preg_match("#%1#", $typ_json->text)){
    741                 $ret .= preg_replace("#%1#", eapi_build_formatted_price_display($sA->new_price) . " €" ,  $typ_json->text);
     861                $ret .= preg_replace("#%1#", eapi_build_formatted_price_display($sA->new_price),  $typ_json->text);
    742862            }else{
    743863                $ret .= $typ_json->text;
     
    746866        $ret .= "</a>";
    747867    }
    748    
    749868    return $ret;
    750869}
     
    8841003            $picture_url = $picture_variant_to_display[$fall_attribute];
    8851004        }
    886 
     1005        $picture_url = preg_replace('/http(?!s)/', 'https', $picture_url);
    8871006        $picture_url = str_replace('http://ecx.', 'https://images-na.ssl-', $picture_url);
     1007       
    8881008
    8891009        if($picture_url != ""){
     
    9291049    return $ret;
    9301050}
    931 function eapi_build_price_output($sA, $typ,$typ_json){
     1051function eapi_build_price_output($sA, $typ, $typ_json, $shop = "amazon"){
     1052    $sA->shop = $shop;
     1053    if($sA->shop == "ebay"){
     1054        $sA->new_price = $sA->ebay_price;
     1055        $sA->amount_saved = 0;
     1056    }
    9321057    $ret = "";
    9331058    if($typ_json->price_display != ""){
     
    9561081                $ret .= "<span>$price_pre_text</span>";
    9571082            }
    958             $ret .=eapi_build_formatted_price_display($sA->new_price) .  " €" ;
     1083            $ret .= eapi_build_formatted_price_display($sA->new_price);
    9591084            if($price_after_text != ""){
    9601085                $ret .= "<span>$price_after_text</span>";
     
    9831108                $temp_saved = eapi_build_formatted_price_display($sA->new_price, $sA->amount_saved);
    9841109               
    985                 $ret .= "<s> ". $temp_saved. " €" . "</s>";
     1110                $ret .= "<s> ". $temp_saved. "</s>";
    9861111                if($typ != "price"){
    9871112                    $ret .= "</span>";
     
    9951120//$opt_price2 ist optional and gets added to the first value
    9961121function eapi_build_formatted_price_display($price1, $opt_price2 = null){
    997     if($price1 == ""){
    998         $price1 = 0.0;
     1122    if($price1 == "" OR $price1 == 0){
     1123        return "(Nicht verfügbar)";
    9991124    }
    10001125    if(isset($opt_price2)){
    10011126    return  number_format(str_replace(",", ".", trim(str_replace(array("EUR", "."), "", $opt_price2))) +
    1002                 str_replace(",", ".", trim(str_replace(array("EUR", "."), "", $price1))), 2, ",", ".");
     1127                str_replace(",", ".", trim(str_replace(array("EUR", "."), "", $price1))), 2, ",", ".") . " €";
    10031128    }else{
    1004      return number_format(str_replace(",", ".", trim(str_replace(array("EUR", "."), "", $price1))), 2, ",", ".");
    1005     }
    1006 }
    1007 
    1008 //builds the ownsite var.
    1009 function eapi_get_own_site_url(){
    1010     return preg_replace(array("#^https?://|https://#", "#^www\.#"), "", get_option("siteurl"));
    1011 }
    1012 //returns the number of entries currently in the DB
    1013 function eapi_get_number_of_entries_in_db(){
    1014     global $wpdb;
    1015     $table_name = $wpdb->prefix . 'easy_amazon_product_information_data';
    1016     $db_result = $wpdb->get_results( 'SELECT COUNT(*) as count FROM ' . $table_name );
    1017     return $db_result[0]->count;
    1018 }
    1019 // returns the donate-button.
    1020 function eapi_get_donate_button(){
    1021     $ret = "<a style='width:100px; height:26px;' href='http://jensmueller.one/spenden/' title='".__('link to donate', 'easy-amazon-product-information')."' target='_blank' >".__('link to donate', 'easy-amazon-product-information')."</a>";
    1022     return $ret;
     1129     return number_format(str_replace(",", ".", trim(str_replace(array("EUR", "."), "", $price1))), 2, ",", ".") . " €";
     1130    }
    10231131}
    10241132
     
    10281136    }
    10291137    add_options_page( 'EAPI Adminportal', 'Easy Amazon Product Information', 'manage_options', 'easy_amazon_product_information', 'eapi_show_easy_amazon_product_information_options' );
    1030 }
    1031 
    1032 function eapi_show_easy_amazon_product_information_options() {
    1033     global $wpdb;
    1034     if ( !current_user_can( 'manage_options' ) )  {
    1035         wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
    1036     }
    1037     //save private key
    1038     if(isset($_POST['eapi_secret_access_key'])){
    1039         update_option("eapi_secret_access_key", trim($_POST['eapi_secret_access_key']));
    1040     }
    1041     if(isset($_POST['eapi_access_key_id'])){
    1042         update_option("eapi_access_key_id", trim($_POST['eapi_access_key_id']));
    1043     }
    1044     //save intervalltime
    1045     if(isset($_POST['inter_vall_time_in_hours'])){
    1046         if(is_numeric($_POST['inter_vall_time_in_hours'])){
    1047             if($_POST['inter_vall_time_in_hours'] < 1){
    1048                 $_POST['inter_vall_time_in_hours'] = 1;
    1049             }
    1050             update_option("eapi_inter_vall_time_in_hours", $_POST['inter_vall_time_in_hours']);
    1051         }
    1052     }
    1053     //save affiliate link
    1054     if(isset($_POST['affiliate_link'])){
    1055         update_option("eapi_affiliate_link", $_POST['affiliate_link']);
    1056     }
    1057     //activate/deactivate click tracking
    1058     if(isset($_POST['eapi_top_area_submit'])){
    1059         if(!isset($_POST['eapi_analytics_tracking'])){
    1060             delete_option("eapi_analytics_tracking");
    1061         }else{
    1062             update_option("eapi_analytics_tracking", $_POST['eapi_analytics_tracking']);
    1063         }
    1064     }
    1065     //checks the api key, with a sample request to the api.
    1066     if(isset($_POST['check_api_key'])){
    1067         eapi_check_credentials(false);
    1068     }
    1069     //delete cache
    1070     if(isset($_POST['eapi_cache_clear'])){
    1071         delete_all_cached_data();
    1072     }
    1073     //builds affiliate link test for amazon partner net
    1074     $temp_obj = new stdClass();
    1075     $temp_obj->asin = "B0054PDOV8";
    1076     $link_for_affiliate_test = "https://partnernet.amazon.de/gp/associates/network/tools/link-checker/main.html?link=".eapi_build_url($temp_obj,array('product_link' => '', 'product_affiliate' => ''));
    1077 
    1078     $typ_for_tabs = array("standard", "small", "sidebar", "negative", "price", "button", "picture", "link");
    1079     //checks for updates via $_POST submit.
    1080     eapi_check_For_tab_updates_in_post($typ_for_tabs);
    1081    
    1082     $eapi_error = get_option('eapi_error');
    1083    
    1084     echo '<div class="wrap">';
    1085     $own_site_url =  eapi_get_own_site_url();
    1086     echo "<h2 style='margin-bottom: 20px;'><a target='_blank' href='http://jensmueller.one/easy-amazon-product-information/'><img style='margin-bottom: -20px; margin-right: 20px;' src='". plugins_url( 'images/logo_top_120_61.png', __FILE__ ) . "' alt='Easy Amazon Product Information'></a>Easy Amazon Product Information</h2>";
    1087     echo "<form method='post' action='' >";
    1088     echo "<input type='hidden' name='check_api_key' value='1'>";
    1089     echo "<input type='hidden' name='eapi_top_area_submit' value='1'>";
    1090     if($eapi_error != ""){
    1091         echo "<div class='error'><p>$eapi_error</p></div>";
    1092         echo "<div class='error'><p>".get_option('eapi_personal_error')."</p></div>";
    1093     }
    1094     echo "<table>";
    1095     echo "<tr>";
    1096     echo "<td>".__('Access Key ID', 'easy-amazon-product-information').":</td><td><input name='eapi_access_key_id' type='text' value='".get_option("eapi_access_key_id")."'></td>";
    1097     if(! $eapi_error == ""){
    1098         echo "<td><img src='". plugins_url( 'images/eapi_false.png', __FILE__ ) . "' alt='EAPI Fehler!' title='EAPI Fehler!' ></td>";
    1099     }else{
    1100         echo "<td><img src='". plugins_url( 'images/eapi_ok.png', __FILE__ ) . "' alt='EAPI funktioniert!' title='EAPI funktioniert!' ></td>";
    1101     }
    1102     echo "<td>".__('Secret Access Key', 'easy-amazon-product-information').":</td><td><input name='eapi_secret_access_key' type='password' value='".get_option("eapi_secret_access_key")."'></td>";
    1103     if(! $eapi_error == ""){
    1104         echo "<td><img src='". plugins_url( 'images/eapi_false.png', __FILE__ ) . "' alt='EAPI Fehler!' title='EAPI Fehler!' ></td>";
    1105     }else{
    1106         echo "<td><img src='". plugins_url( 'images/eapi_ok.png', __FILE__ ) . "' alt='EAPI funktioniert!' title='EAPI funktioniert!' ></td>";
    1107     }
    1108     echo "<td>".__('Tracking ID', 'easy-amazon-product-information' ).":</td><td><input name='affiliate_link' type='text' value='".get_option("eapi_affiliate_link")."'></td>";
    1109     if(!$eapi_error == "" or get_option("eapi_affiliate_link") == ""){
    1110         echo "<td><img src='". plugins_url( 'images/eapi_false.png', __FILE__ ) . "' alt='EAPI Fehler!' title='EAPI Fehler!' ></td>";
    1111     }else{
    1112         echo "<td><img src='". plugins_url( 'images/eapi_ok.png', __FILE__ ) . "' alt='EAPI funktioniert!' title='EAPI funktioniert!' ></td>";
    1113     }
    1114     echo "</tr><tr>";
    1115     echo "<td>".__('analytics tracking', 'easy-amazon-product-information').":</td><td>
    1116     <input type='checkbox' value='on' name='eapi_analytics_tracking' ";
    1117     if(get_option("eapi_analytics_tracking") != ""){
    1118         echo "checked";
    1119     }
    1120     echo ">
    1121     </td><td></td><td>".__('interval time in hours', 'easy-amazon-product-information').":</td><td><input name='inter_vall_time_in_hours' type='text' value='".get_option("eapi_inter_vall_time_in_hours")."'></td>";
    1122     echo "
    1123     <td></td>
    1124     <td></td><td><input type='submit' value='".__('save', 'easy-amazon-product-information')."'></td></tr>";
    1125     echo "</table></form>";
    1126     echo "<table><tr><td><form  method='post' action=''><input type='hidden' value='1' name='eapi_cache_clear'><input type='submit' value='".__('delete cache', 'easy-amazon-product-information')."'></form></td>
    1127                 <td><form action='".$link_for_affiliate_test."' target='_blank' method='post' ><input type='hidden' value='1' name='eapi_affiliate_test'><input title='".__('Checks with the amazon link tester, if you have inserted your valid affiliat tag. Leads to an extern url where amazon login is required.', 'easy-amazon-product-information')."'  type='submit' value='".__('affiliate link test', 'easy-amazon-product-information')."'></form></td>
    1128                 </tr>";
    1129     echo "</table>";
    1130        
    1131     //richtige Tab laden:
    1132     $selected_tab = array();
    1133     $set_one = false;
    1134     foreach($typ_for_tabs as $key => $value){
    1135         if(isset($_POST[$value. "_form"])){
    1136             $selected_tab[$key]['tab'] = 'nav-tab-active';
    1137             $selected_tab[$key]['text'] = 'nav-text-visible';
    1138             $set_one = true;
    1139         }else{
    1140             $selected_tab[$key]['tab'] = "";
    1141             $selected_tab[$key]['text'] = "";
    1142         }
    1143     }
    1144    
    1145     //Array is empty -> load first tab as default
    1146     if(!($set_one)) {
    1147         $selected_tab[0]['tab'] = 'nav-tab-active';
    1148         $selected_tab[0]['text'] = 'nav-text-visible';
    1149     }
    1150     echo "<h2 class='nav-tab-wrapper'>
    1151     <a href='#' data-tab='0' class='nav-tab  ".$selected_tab[0]['tab']."'>".__('standard', 'easy-amazon-product-information')."</a>
    1152     <a href='#' data-tab='1' class='nav-tab ".$selected_tab[1]['tab']."'>".__('small', 'easy-amazon-product-information')."</a>
    1153     <a href='#' data-tab='2' class='nav-tab ".$selected_tab[2]['tab']."'>".__('sidebar', 'easy-amazon-product-information')."</a>
    1154     <a href='#' data-tab='3'  class='nav-tab ".$selected_tab[3]['tab']."'>".__('negative', 'easy-amazon-product-information')."</a>
    1155     <a href='#' data-tab='4'  class='nav-tab ".$selected_tab[4]['tab']."'>".__('price', 'easy-amazon-product-information')."</a>
    1156     <a href='#' data-tab='5'  class='nav-tab ".$selected_tab[5]['tab']."'>".__('button', 'easy-amazon-product-information')."</a>
    1157     <a href='#' data-tab='6'  class='nav-tab ".$selected_tab[6]['tab']."'>".__('picture', 'easy-amazon-product-information')."</a>
    1158     <a href='#' data-tab='7'  class='nav-tab ".$selected_tab[7]['tab']."'>".__('link', 'easy-amazon-product-information')."</a>
    1159     <a href='http://jensmueller.one/easy-amazon-product-information/' target='_blank' data-tab='9'  class='nav-tab '>".__('help', 'easy-amazon-product-information')."</a>
    1160     </h2>";
    1161     echo "<div data-id='0' class='nav-text ".$selected_tab[0]['text']."' >
    1162     ". eapi_build_tab_content("standard")."
    1163     </div>";
    1164     echo "<div data-id='1' class='nav-text  ".$selected_tab[1]['text']."' >
    1165     ". eapi_build_tab_content("small")."
    1166     </div>";
    1167     echo "<div data-id='2' class='nav-text  ".$selected_tab[2]['text']."' >
    1168     ". eapi_build_tab_content("sidebar")."
    1169     </div>";
    1170     echo "<div data-id='3' class='nav-text  ".$selected_tab[3]['text']."' >
    1171     ". eapi_build_tab_content("negative")."
    1172     </div>";
    1173     echo "<div data-id='4' class='nav-text  ".$selected_tab[4]['text']."' >
    1174     ". eapi_build_tab_content("price")."
    1175     </div>";
    1176     echo "<div data-id='5' class='nav-text  ".$selected_tab[5]['text']."' >
    1177     ". eapi_build_tab_content("button")."
    1178     </div>";
    1179     echo "<div data-id='6' class='nav-text  ".$selected_tab[6]['text']."' >
    1180     ". eapi_build_tab_content("picture")."
    1181     </div>";
    1182     echo "<div data-id='7' class='nav-text  ".$selected_tab[7]['text']."' >
    1183     ". eapi_build_tab_content("link")."
    1184     </div>";
    1185     echo "<p>" . sprintf(__('version: %1$s | <a href='."'"."http://jensmueller.one"."'"." target="."'"."_blank"."'".'>jensmueller.one</a> |', 'easy-amazon-product-information'), EAPI_VERSION);
    1186     echo eapi_get_donate_button() ." | <a href='https://www.amazon.de/?tag=jensmueller-21' target='_blank' >".__('support me with your next amazon buy', 'easy-amazon-product-information') ."</a> | " . eapi_get_number_of_entries_in_db(). ' ' .  __('entries in DB', 'easy-amazon-product-information') . ' | *'.__('Settings will consist.', 'easy-amazon-product-information') ;
    1187 
    1188     echo  '</p>';
    1189     echo '</div>';             
    11901138}
    11911139
     
    12011149}
    12021150
    1203 //checks for savings in the backend, in $_POST.
    1204 function eapi_check_For_tab_updates_in_post($all_tab_types){
    1205     foreach($all_tab_types as $a){
    1206         if(isset($_POST[$a.'_form'])){
    1207             $opts = eapi_get_array_of_all_parameters(true);
    1208             foreach($opts as $o){
    1209                 eapi_update_parameters($a,  $o);
    1210             }
    1211         }
    1212     }
    1213 }
    1214 function eapi_update_parameters($typ, $opt_name){
    1215     $db_string = get_option("eapi_" . $typ);
    1216     $db_entry = json_decode($db_string);
    1217        
    1218     if(isset($_POST[$typ ."_".  $opt_name])){
    1219         if($_POST[$typ  ."_".  $opt_name]){
    1220             $db_entry->$opt_name = $_POST[$typ  ."_".  $opt_name];
    1221         }else{
    1222             $db_entry->$opt_name = "";
    1223         }
    1224     }else{
    1225         $db_entry->$opt_name = "";
    1226     }
    1227     update_option("eapi_" . $typ, json_encode($db_entry));
    1228 }
    1229 
    1230 //Builds the Backend.
    1231 function eapi_build_tab_content($tab_name){
    1232     $opts_to_display = array();
    1233     $opts_to_display['price'] = array('price');
    1234     $opts_to_display['button'] = array('button');
    1235     $opts_to_display['picture'] = array('picture');
    1236     $opts_to_display['standard'] = array('allg', 'button', 'head', 'features', 'picture', 'amazon information','price', 'footer');
    1237     $opts_to_display['small'] = array('allg', 'button', 'head', 'features', 'picture', 'amazon information', 'price', 'footer');
    1238     $opts_to_display['negative'] = array('allg', 'button', 'head', 'features', 'picture', 'amazon information', 'price', 'footer');
    1239     $opts_to_display['sidebar'] = array('allg', 'button', 'head', 'picture', 'price', 'amazon information', 'footer');
    1240     $opts_to_display['link'] = array();
    1241    
    1242     $ret = "";
    1243     $ret .= "<form method='post' action='' >";
    1244     $ret .="<p>".__('name of tag', 'easy-amazon-product-information').": <b>[eapi type=$tab_name]</b></p>";
    1245     $typ_json = json_decode(get_option("eapi_" . $tab_name));
    1246     $typ_json = eapi_init_typ_json($typ_json);
    1247    
    1248     $ret .="
    1249     <input type='hidden' name='".$tab_name."_form' value='1'>
    1250     <table>";
    1251    
    1252     if(in_array('allg' , $opts_to_display[$tab_name])){
    1253             $ret .= "
    1254         <tr><td><h3>".__('general', 'easy-amazon-product-information')."</h3></td></tr>
    1255         <tr><td>".__('display border per product', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->border_display != ""){
    1256             $ret .= "checked";
    1257         } $ret .="  value='on' name='". $tab_name . "_border_display' ></td>
    1258         <td>".__('display all in border', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->entire_border_display != ""){
    1259             $ret .= "checked";
    1260         } $ret .="  value='on' name='". $tab_name . "_entire_border_display' ></td>
    1261         <td>".__('display numeration', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->number_display != ""){
    1262             $ret .= "checked";
    1263         } $ret .="  value='on' name='". $tab_name . "_number_display' ></td>
    1264         <td>".__('display procent savings', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->saving_display != ""){
    1265             $ret .= "checked";
    1266         } $ret .="  value='on' name='". $tab_name . "_saving_display' ></td>
    1267         </tr>
    1268         <tr>
    1269         <td>".__('background color', 'easy-amazon-product-information').":</td><td><input type='text' class='my-color-field'  name='". $tab_name . "_background_color' value='".$typ_json->background_color."' ></td>
    1270         <td>".__('border color', 'easy-amazon-product-information').":</td><td><input type='text' class='my-color-field'  name='". $tab_name . "_border_color' value='".$typ_json->border_color."' ></td>
    1271         <td>".__('display shadow', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->shadow_display != ""){
    1272             $ret .= "checked";
    1273         } $ret .="  value='on' name='". $tab_name . "_shadow_display' ></td>
    1274         </tr>
    1275         <tr>
    1276         <td>".__('display as &lt;p&gt; (else &lt;h4&gt;)', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->display_as_p != ""){
    1277             $ret .= "checked";
    1278         } $ret .="  value='on' name='". $tab_name . "_display_as_p' ></td>
    1279         </tr>
    1280         <tr>
    1281         <td>".__('headline text', 'easy-amazon-product-information').":</td><td><input type='text' name='".$tab_name. "_head_text' value='".$typ_json->head_text."' class='eapi_admin_input'></td>
    1282         <td>".__('headline text color', 'easy-amazon-product-information').":</td><td><input type='text' class='my-color-field'  name='". $tab_name . "_head_text_color' value='".$typ_json->head_text_color ."' ></td>
    1283        
    1284         </tr>";
    1285     }
    1286     if(in_array('head', $opts_to_display[$tab_name] )){
    1287     $ret .= "
    1288         <tr>
    1289         <td><h3>".__('headline', 'easy-amazon-product-information')."</h3></td></tr>
    1290         <tr><td>".__('headline text color', 'easy-amazon-product-information').":</td><td><input type='text' class='my-color-field'  name='". $tab_name . "_headline_text_color' value='".$typ_json->headline_text_color."' ></td>
    1291         <td>".__('number of characters', 'easy-amazon-product-information').":</td><td><input type='number' name='". $tab_name . "_headline_quant_char' value='".$typ_json->headline_quant_char."' ></td>
    1292         <td>".__('font size in %', 'easy-amazon-product-information').":</td><td><input type='number' min='1'  name='".$tab_name. "_headline_size' value='".$typ_json->headline_size."' class='eapi_admin_input'></td>
    1293         </tr>";
    1294     }
    1295     if(in_array( 'button' , $opts_to_display[$tab_name])){
    1296         $ret .=
    1297         "<tr><td><h3>".__('button', 'easy-amazon-product-information')."</h3></td></tr>
    1298         <tr>
    1299         <td>".__('display button', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->button_display != ""){
    1300             $ret .= "checked";
    1301         } $ret .="  value='on' name='". $tab_name . "_button_display' ></td>
    1302         <td>".__('display button in Amazon style', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->button_amazon_style != ""){
    1303             $ret .= "checked";
    1304         }$ret .="  value='on' name='". $tab_name . "_button_amazon_style' ></td>
    1305         </tr>
    1306         <tr>
    1307         <td>".__('text color', 'easy-amazon-product-information').":</td><td><input type='text' "; if($typ_json->button_amazon_style != ""){$ret .= " readonly='readonly' ";}else{ $ret .= "class='my-color-field' "; } $ret .= "  name='". $tab_name . "_text_color' value='".$typ_json->text_color."' ></td>
    1308         <td>".__('background color', 'easy-amazon-product-information').":</td><td><input type='text' "; if($typ_json->button_amazon_style != ""){$ret .= " readonly='readonly' ";}else{ $ret .= "class='my-color-field' "; } $ret .= "  name='". $tab_name . "_color' value='".$typ_json->color."' ></td>
    1309         <td>".__('text', 'easy-amazon-product-information').":</td><td><input type='text'  name='".$tab_name. "_text' value='".$typ_json->text."' class='eapi_admin_input'></td>
    1310         <td>".__('shipping picture', 'easy-amazon-product-information').":</td><td><select name='".$tab_name. "_button_picture'  >
    1311         <option value='_no_pic'"; if($typ_json->button_picture == "_no_pic")$ret.= " selected ";
    1312         $ret.=" >".__('no shipping picture', 'easy-amazon-product-information')."</option>
    1313         <option value='shipping_schwarz.png'"; if($typ_json->button_picture == "shipping_schwarz.png")$ret.= " selected ";
    1314         $ret.=">".__('black', 'easy-amazon-product-information')."</option>
    1315         <option value='shipping_weiss.png'"; if($typ_json->button_picture == "shipping_weiss.png")$ret.= " selected ";
    1316         $ret.=">".__('white', 'easy-amazon-product-information')."</option>
    1317         <option value='shipping_amazon.png'"; if($typ_json->button_picture == "shipping_amazon.png")$ret.= " selected ";
    1318         $ret.=">".__('Amazon big', 'easy-amazon-product-information')."</option>
    1319         </select></td>
    1320         </tr>
    1321         ";
    1322     }
    1323     if(in_array('features', $opts_to_display[$tab_name])){
    1324         $ret .= "
    1325         <tr>
    1326         <tr><td><h3>".__('features', 'easy-amazon-product-information')."</h3></td></tr>
    1327         <tr>
    1328         <td>".__('display features', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->feature_display != ""){
    1329             $ret .= "checked";
    1330         } $ret .="  value='on' name='". $tab_name . "_feature_display' ></td>
    1331         <td>".__('text color', 'easy-amazon-product-information')."</td><td><input type='text' class='my-color-field' name='". $tab_name . "_feature_text_color' value='".$typ_json->feature_text_color."' ></td>
    1332         <td>".__('number of features', 'easy-amazon-product-information')."</td><td><input type='number'  name='". $tab_name . "_feature_quant_char' value='".$typ_json->feature_quant_char."' ></td>
    1333         <td>".__('font size in %', 'easy-amazon-product-information').":</td><td><input type='number' min='1'   name='".$tab_name. "_feature_size' value='".$typ_json->feature_size."' class='eapi_admin_input'></td>
    1334         </tr>
    1335         <tr>
    1336         <td>".__('max height of features in px<br>(default: 200px)', 'easy-amazon-product-information').":</td><td><input type='number' min='50'  name='".$tab_name. "_max_feature_height'  value='".$typ_json->max_feature_height."' class='eapi_admin_input'></td>
    1337         </tr>
    1338         ";
    1339     }
    1340     if(in_array('picture', $opts_to_display[$tab_name])){
    1341         $ret .= "
    1342         <tr><td><h3>".__('picture', 'easy-amazon-product-information')."</h3></td></tr>
    1343         <td>".__('display pictures', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->picture_display != ""){
    1344             $ret .= "checked";
    1345         } $ret .="  value='on' name='". $tab_name . "_picture_display' ></td>
    1346         <td>".__('picture size', 'easy-amazon-product-information').":</td><td><select name='".$tab_name. "_picture_size'>
    1347         <option value='medium'"; if($typ_json->picture_size == "medium")$ret.= " selected ";
    1348         $ret.=">".__('medium', 'easy-amazon-product-information')."</option>
    1349         <option value='small'"; if($typ_json->picture_size == "small")$ret.= " selected ";
    1350         $ret.=">".__('small', 'easy-amazon-product-information')."</option>
    1351         </select></td>
    1352         <td>".__('picture resolution', 'easy-amazon-product-information').":</td><td><select name='".$tab_name. "_picture_resolution'>
    1353         <option value='large'"; if($typ_json->picture_resolution == "large")$ret.= " selected ";
    1354         $ret.=">".__('large', 'easy-amazon-product-information')."</option>
    1355         <option value='medium'"; if($typ_json->picture_resolution == "medium")$ret.= " selected ";
    1356         $ret.=">".__('medium', 'easy-amazon-product-information')."</option>
    1357         <option value='small'"; if($typ_json->picture_resolution == "small")$ret.= " selected ";
    1358         $ret.=">".__('small', 'easy-amazon-product-information')."</option>
    1359         </select></td> 
    1360         </tr>";
    1361     }
    1362     if(in_array( 'amazon information', $opts_to_display[$tab_name])){
    1363         $ret .= "
    1364         <tr><td><h3>".__('amazon information', 'easy-amazon-product-information')."</h3></td></tr>
    1365         <tr>
    1366         <td>".__('display product review', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->product_review_display != ""){
    1367             $ret .= "checked";
    1368         } $ret .="  value='on' name='". $tab_name . "_product_review_display' ></td>
    1369         <td>".__('display number of ratings', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->num_reviews_display != ""){
    1370             $ret .= "checked";
    1371         } $ret .="  value='on' name='". $tab_name . "_num_reviews_display' ></td>
    1372         <td>".__('display prime', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->prime_display != ""){
    1373             $ret .= "checked";
    1374         } $ret .="  value='on' name='". $tab_name . "_prime_display' ></td>
    1375         </tr>
    1376         ";
    1377     }
    1378     if(in_array( 'price', $opts_to_display[$tab_name])){
    1379     $ret .= "
    1380         <tr><td><h3>".__('price', 'easy-amazon-product-information')."</h3></td></tr>
    1381         <tr>
    1382         <td>".__('display price', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->price_display != ""){
    1383             $ret .= "checked";
    1384         } $ret .="  value='on' name='". $tab_name . "_price_display' ></td>
    1385         <td>".__('color of price', 'easy-amazon-product-information').":</td><td><input type='text' class='my-color-field'  name='". $tab_name . "_price_color' value='".$typ_json->price_color."' ></td>
    1386         <td>".__('price pre text', 'easy-amazon-product-information').":</td><td><input type='text' name='".$tab_name. "_price_pre_text' value='".$typ_json->price_pre_text."' class='eapi_admin_input'></td>
    1387         <td>".__('price after text', 'easy-amazon-product-information').":</td><td><input type='text' name='".$tab_name. "_price_after_text' value='".$typ_json->price_after_text."' class='eapi_admin_input'></td>
    1388         </tr>
    1389         <tr>
    1390         <td>".__('crossed out price', 'easy-amazon-product-information')."</td><td><input type='checkbox' "; if($typ_json->saving_text != ""){
    1391             $ret .= "checked";
    1392         } $ret .="  value='on' name='". $tab_name . "_saving_text' ></td>
    1393         <td>".__('saving pre text', 'easy-amazon-product-information').":</td><td><input type='text' name='".$tab_name. "_saving_pre_text' value='".$typ_json->saving_pre_text."' class='eapi_admin_input'></td>
    1394        
    1395         </tr>
    1396         ";
    1397     }
    1398     if(in_array('footer', $opts_to_display[$tab_name])){
    1399         $ret .= "
    1400         <tr><td><h3>".__('footer', 'easy-amazon-product-information')."</h3></td></tr>
    1401         <tr>
    1402         <td>".__('display last update', 'easy-amazon-product-information').": </td><td><input type='checkbox' "; if($typ_json->last_update != ""){
    1403             $ret .= "checked";
    1404         } $ret .="  value='on' name='". $tab_name . "_last_update' ></td>
    1405         <td>".__('text of footer', 'easy-amazon-product-information').":</td><td ><input  type='text' name='".$tab_name. "_foot_text' value='".$typ_json->foot_text."' class='eapi_admin_input'></td>
    1406         </tr>";
    1407     }
    1408     if($tab_name != "link"  ){
    1409         $ret .="
    1410     <tr><td><input type='submit' value='".__('change', 'easy-amazon-product-information')."'></td></tr>";
    1411     }
    1412     $ret .="
    1413     </table>
    1414     </form>";
    1415     return $ret;
    1416 }
    1417 
    1418 function eapi_mw_enqueue_color_picker( $hook_suffix ) {
    1419     //Admin-JS will get loaded
    1420     wp_enqueue_style( 'wp-color-picker' );
    1421     wp_enqueue_script( 'my-script-handle', plugins_url('easy_amazon_product_information.js', __FILE__ ), array( 'wp-color-picker' ), false, true );
    1422     //Admin-stylesheet will get loaded
    1423     wp_register_style( 'prefix-style', plugins_url('easy_amazon_product_information_admin.css', __FILE__) );
    1424     wp_enqueue_style( 'prefix-style' );
    1425 }
    1426 
    14271151function eapi_load_css(){
    14281152    wp_register_style( 'prefix-style', plugins_url('easy_amazon_product_information.css', __FILE__) );
     
    14761200}
    14771201//return the entries in db, matching $keyword, limited to the given $count
    1478 function eapi_get_data_from_WP_database($keyword, $count)
     1202function eapi_get_data_from_WP_database($keyword, $count, $passed_parameters)
    14791203{
    14801204    global $wpdb;
    14811205    $table_name = $wpdb->prefix . 'easy_amazon_product_information_data';
    1482     $db_result = $wpdb->get_results($wpdb->prepare( "SELECT * FROM $table_name
    1483     WHERE keyword = %s
    1484     limit $count", $keyword));
     1206    $sql_arr = array();
     1207    foreach($passed_parameters['shops'] as $shop){
     1208        $sql = $wpdb->prepare(
     1209        "(SELECT * FROM $table_name
     1210        WHERE keyword = %s
     1211        AND shop = %s
     1212        limit $count)", $keyword, $shop);
     1213        array_push($sql_arr, $sql);
     1214    }
     1215    $db_result = $wpdb->get_results(implode(" UNION ", $sql_arr));
    14851216    return $db_result;
    14861217}
     
    14921223    title, small_image, medium_image, large_image, description,
    14931224    features, amount_saved, new_price, review_information,
    1494     has_prime, availability) values";
     1225    has_prime, availability, shop, ean) values";
    14951226    $arr = array();
    14961227    foreach($product_array as $pA){
    1497     if(!isset($pA->features)){
    1498         $pA->features = "";
    1499     }else{
    1500         $json_test = true;
    1501         if(!is_array($pA->features)){
    1502             json_decode($pA->features);
    1503             $json_test = false;
    1504         }//it must be prevented that the 'preg_replace' function is executed twice on a json object
    1505         if(!(json_last_error() == JSON_ERROR_NONE) || ($json_test)){
    1506             $pA->features = preg_replace("#\"#", "[-]" ,$pA->features);
    1507             $pA->features = json_encode( $pA->features, JSON_UNESCAPED_UNICODE);
    1508         }
    1509     }
    1510     if(!isset($pA->title)){
    1511         $pA->title = "";
    1512     }
    1513     if(!isset($pA->description)){
    1514         $pA->description = "";
    1515     }
    1516     if(!isset($pA->amount_saved)){
    1517         $pA->amount_saved = "";
    1518     }
    1519     if(!isset($pA->small_image)){
    1520         $pA->small_image = "";
    1521     }
    1522     if(!isset($pA->medium_image)){
    1523         $pA->medium_image = "";
    1524     }
    1525     if(!isset($pA->large_image)){
    1526         $pA->large_image = "";
    1527     }
    1528     if(!isset($pA->has_reviews)){
    1529         $pA->has_reviews = 0;
    1530     }
    1531     if(!isset($pA->iframe_url)){
    1532         $pA->iframe_url = "";
    1533     }
    1534     if(!isset($pA->num_reviews)){
    1535         $pA->num_reviews = 0;
    1536     }
    1537     if(!isset($pA->rating)){
    1538         $pA->rating = "";
    1539     }
    1540     $pA->review_information = json_encode(array('has_reviews' => $pA->has_reviews,  'iframe_url' => $pA->iframe_url,
    1541     'num_reviews' => $pA->num_reviews, 'rating' => $pA->rating));
    1542     if(!isset($pA->has_prime)){
    1543         $pA->has_prime = 0;
    1544     }
    1545     if(!isset($pA->availability)){
    1546         $pA->availability = "";
    1547     }
    1548     if(!isset($pA->new_price)){
    1549         $pA->new_price = "";
    1550     }
    1551     //remove some characters
    1552     $pA->title = esc_sql( $pA->title);
    1553     $pA->description = esc_sql( $pA->description);
    1554     $pA->features = esc_sql($pA->features);
    1555         array_push($arr, "('', '" .current_time( 'mysql'). "', '$pA->asin', '$keyword',
    1556         '$pA->title', '$pA->small_image', '$pA->medium_image', '$pA->large_image',
    1557         '$pA->description','$pA->features', '$pA->amount_saved', '$pA->new_price',
    1558         '$pA->review_information', '$pA->has_prime', '$pA->availability')");
     1228        if(!isset($pA->features)){
     1229            $pA->features = "";
     1230        }else{
     1231            $json_test = true;
     1232            if(!is_array($pA->features)){
     1233                json_decode($pA->features);
     1234                $json_test = false;
     1235            }//it must be prevented that the 'preg_replace' function is executed twice on a json object
     1236            if(!(json_last_error() == JSON_ERROR_NONE) || ($json_test)){
     1237                $pA->features = preg_replace("#\"#", "[-]" ,$pA->features);
     1238                $pA->features = json_encode( $pA->features, JSON_UNESCAPED_UNICODE);
     1239            }
     1240        }
     1241        if(!isset($pA->title)){
     1242            $pA->title = "";
     1243        }
     1244        if(!isset($pA->description)){
     1245            $pA->description = "";
     1246        }
     1247        if(!isset($pA->amount_saved)){
     1248            $pA->amount_saved = "";
     1249        }
     1250        if(!isset($pA->small_image)){
     1251            $pA->small_image = "";
     1252        }
     1253        if(!isset($pA->medium_image)){
     1254            $pA->medium_image = "";
     1255        }
     1256        if(!isset($pA->large_image)){
     1257            $pA->large_image = "";
     1258        }
     1259        if(!isset($pA->has_reviews)){
     1260            $pA->has_reviews = 0;
     1261        }
     1262        if(!isset($pA->iframe_url)){
     1263            $pA->iframe_url = "";
     1264        }
     1265        if(!isset($pA->num_reviews)){
     1266            $pA->num_reviews = 0;
     1267        }
     1268        if(!isset($pA->rating)){
     1269            $pA->rating = "";
     1270        }
     1271        if(!isset($pA->has_prime)){
     1272            $pA->has_prime = 0;
     1273        }
     1274        if(!isset($pA->availability)){
     1275            $pA->availability = "";
     1276        }
     1277        if(!isset($pA->shop)){
     1278            $pA->shop = "";
     1279        }
     1280        if(!isset($pA->ean)){
     1281            $pA->ean = "";
     1282        }
     1283        if(!isset($pA->ean)){
     1284            $pA->ean = "";
     1285        }
     1286        if(!isset($pA->review_information)){
     1287            $pA->review_information = json_encode(array());
     1288        }
     1289        //remove some characters
     1290        $pA->title = esc_sql( $pA->title);
     1291        $pA->description = esc_sql( $pA->description);
     1292        $pA->features = esc_sql($pA->features);
     1293            array_push($arr, "('', '" .current_time( 'mysql'). "', '$pA->asin', '$keyword',
     1294            '$pA->title', '$pA->small_image', '$pA->medium_image', '$pA->large_image',
     1295            '$pA->description','$pA->features', '$pA->amount_saved', '$pA->new_price',
     1296            '$pA->review_information', '$pA->has_prime', '$pA->availability', '$pA->shop',
     1297            '$pA->ean')");
    15591298    }
    15601299    $sql .= implode($arr, ", ");
     
    15681307            "entire_border_display", "price_pre_text", "price_after_text", "saving_pre_text", "picture_size",
    15691308            "max_feature_height", "price_display", "picture_resolution", "display_intext_link", "button_amazon_style",
    1570             "prime_display", "product_review_display", "num_reviews_display", "border_color","shadow_display"
     1309            "prime_display", "product_review_display", "num_reviews_display", "border_color","shadow_display",
     1310            "text_color_ebay", "button_display_ebay", "color_ebay", "text_ebay"
    15711311            );
    15721312    //sometimes not all paramets should be returned: These paremetes can't be set by the user.
     
    15811321function eapi_install() {
    15821322    $arr_of_all_params = eapi_get_array_of_all_parameters(false);
    1583     $all_start_options_in_one_array  = array('standard' => array(), 'sidebar'=> array(), 'negative'=> array(), 'small'=> array(), 'button'=> array(), 'picture'=> array(), 'price'=> array(), 'link' => array());
     1323    $all_start_options_in_one_array  = array('standard' => array(), 'sidebar'=> array(), 'negative'=> array(), 'button'=> array(), 'picture'=> array(), 'price'=> array(), 'link' => array());
    15841324   
    15851325    foreach($all_start_options_in_one_array as $key => $value){
     
    16251365        $all_start_options_in_one_array['negative']['color'] = '#FFFFFF';
    16261366       
    1627         $all_start_options_in_one_array['small']['display_as_p'] = 'on';
    1628         $all_start_options_in_one_array['small']['feature_display'] = '';
    1629         $all_start_options_in_one_array['small']['picture_display'] = '';
    1630         $all_start_options_in_one_array['small']['entire_border_display'] = 'on';
    1631         $all_start_options_in_one_array['small']['price_display'] = '';
    1632        
    16331367        $all_start_options_in_one_array['price']['display_intext_price'] = 'on';
    16341368        $all_start_options_in_one_array['price']['price_display'] = 'on';
     
    16861420        $all_start_options_in_one_array['standard']['border_color'] = '#c1baba';
    16871421        $all_start_options_in_one_array['negative']['border_color'] = '#c1baba';
    1688         $all_start_options_in_one_array['small']['border_color'] = '#c1baba';
    16891422        $all_start_options_in_one_array['sidebar']['border_color'] = '#c1baba';
    16901423    }
     
    17021435        delete_option('eapi_mail_sender');
    17031436        delete_option("eapi_mail_receiver");
     1437    }
     1438    if( version_compare(get_option('eapi_version'), "3.1.0") < 0){
     1439        $all_start_options_in_one_array['standard']['button_display_ebay'] = '1';
     1440        $all_start_options_in_one_array['negative']['button_display_ebay'] = '1';
     1441        $all_start_options_in_one_array['sidebar']['button_display_ebay'] = '1';
     1442        $all_start_options_in_one_array['button']['button_display_ebay'] = '1';
     1443        $all_start_options_in_one_array['standard']['text_ebay'] = 'Bei Ebay kaufen!';
     1444        $all_start_options_in_one_array['negative']['text_ebay'] = 'Bei Ebay kaufen!';
     1445        $all_start_options_in_one_array['sidebar']['text_ebay'] = 'Bei Ebay kaufen!';
     1446        $all_start_options_in_one_array['standard']['color_ebay'] = '#3d94f6';
     1447        $all_start_options_in_one_array['negative']['color_ebay'] = '#000';
     1448        $all_start_options_in_one_array['sidebar']['color_ebay'] = '#3d94f6';
     1449        $all_start_options_in_one_array['standard']['text_color_ebay'] = '#fff';
     1450        $all_start_options_in_one_array['sidebar']['text_color_ebay'] = '#fff';
     1451        $all_start_options_in_one_array['button']['text_color_ebay'] = '#fff';
     1452        $all_start_options_in_one_array['negative']['text_color_ebay'] = '#fff';
     1453        delete_option('eapi_small');
    17041454    }
    17051455    //saving all these options in db
     
    17361486        has_prime boolean,
    17371487        availability varchar(100),
     1488        shop varchar(50),
     1489        ean varchar(50),
    17381490        UNIQUE KEY id (id)
    17391491    ) $charset_collate;";
     
    17411493    update_option('eapi_version', EAPI_VERSION);
    17421494    dbDelta( $sql );
    1743    
    17441495}
    17451496function eapi_delete_eapi_database(){
  • easy-amazon-product-information/trunk/easy_amazon_product_information.css

    r1720467 r1856680  
    1 .eapi_shadow{box-shadow:0 1px 2px rgba(0,0,0,.25),0 0 39px rgba(0,0,0,.1) inset}.eapi_foot_text{font-size:.6em;float:right}.eapi_entire_border{border: 1px solid rgba(0, 0, 0, 0.72);}@media (max-width:600px){.eapi_display_box{float:none!important;width:99%!important;margin-left:0!important}}.eapi_display_box{float:right;width:50%;margin-left:10px}.eapi_saving_procent{right:0;top:0;position:absolute;background-color:green;color:#fff;padding:6px;border-radius:0 0 0 10px}.eapi_shipping_pic{max-height:15px;margin:-4px 7px 0 0!important;display:inline!important;border:none!important}.eapi_product_title{text-decoration:none!important;border-bottom:hidden!important;font-size:.9em}.eapi_product_image{width:50%;margin-right:25%;margin-left:25%;margin-bottom:5px}.eapi_product_image_box{float:left;width:auto;height:auto;max-width:15%;max-height:250px;margin-left:15px;margin-bottom:15px}.eapi_admin_input{float:left}.eapi_feature_list{float:left;width:80%;margin-left:2%;font-size:.9em}.eapi_price_field{margin-bottom:0!important}.eapi_price_field_center{margin-top:4px!important;display:inline-block}.eapi_price_field_box{float:right;margin-right:20px!important;margin-top:2px!important}.eapi_price_amount_saved{margin-top:3px!important;font-size:.8em}.eapi_price_amount_saved_box{float:right;margin-right:20px!important}.eapi_number_rating_box{float:right;margin-top:1px}.eapi_feature_div{overflow:hidden;max-height:200px;margin-bottom:10px}.eapi_around{overflow:hidden;padding:20px;margin-bottom:5px;position:relative}.eapi_title_around{margin-top:0!important}.eapi_title_around_box{margin-left:15px}.eapi_title_around_box_top{margin-top:25px!important}.eapi_title_around_box_correct{margin-top:15px!important}.eapi_amazon_button_individual{border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;display:inline-block;font-family:Arial;font-size:14px;font-weight:700;font-style:italic;height:34px;line-height:34px;padding-left:10px;padding-right:10px;text-align:center;float:right;text-decoration:none!important}.eapi_amazon_button_style{-box-shadow:inset 0 1px 0 0 #f9eacf;-webkit-box-shadow:inset 0 1px 0 0 #f9eacf;box-shadow:inset 0 1px 0 0 #f9eacf;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#F6DD9F),color-stop(1,#F0C24D));background:-moz-linear-gradient(center top,#F6DD9F 5%,#F0C24D 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=’#F6DD9F‘, endColorstr=’#F0C24D‘);background-color:#f5d78a;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;text-indent:0;border:1px solid #cbaa5c;display:inline-block;color:#111!important;font-size:13px;font-weight:400;font-style:normal;height:25px;line-height:25px;width:180px;text-decoration:none;text-align:center;padding:2px;float:right;-webkit-box-sizing:initial!important;-moz-box-sizing:initial!important;box-sizing:initial!important;-webkit-border-radius:3px;border-radius:3px}.eapi_rating_wrapper,.eapi_rating_wrapper_center{width:90px;overflow:hidden;position:relative;height:18px}.eapi_amazon_button_style:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#F5D589),color-stop(1,#EEBA35));background:-moz-linear-gradient(center top,#F5D589 5%,#EEBA35 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=’#F5D589′, endColorstr=’#EEBA35′);background-color:#eeba35!important}.eapi_amazon_button_style:active{position:relative;top:1px}.eapi_rating_wrapper{margin-top:6px;float:right;margin-left:20px}.eapi_rating_wrapper_center{margin:auto}.eapi_rating{height:36px;width:360px!important;position:absolute;max-width:none!important}.eapi_prime_wrapper,.eapi_prime_wrapper_center{position:relative;width:63px;overflow:hidden;height:18px}.eapi_prime_wrapper{margin-top:9px;float:right;margin-left:20px}.eapi_prime_wrapper_center{margin:9px auto 3px}.eapi_prime_intext{position:relative;width:63px;overflow:hidden;height:18px;margin:auto}.eapi_prime_logo{left:0;top:-20px;height:36px;width:360px;position:absolute;max-width:none!important;margin:auto!important;border:none!important}.eapi_custom_info{width:60%;display:inline-block;margin-bottom:15px;margin-top:5px;margin-right:10px;position:relative;float:right}.eapi_custom_info_center{width:50%;margin:auto auto 10px;text-align:center}.eapi_sidebar_button{width:100%;padding-right:0!important;padding-left:0!important}.eapi_rating_link{text-decoration:none!important}.eapi_badget{margin-top: -20px;margin-left: -20px;background-color: #E67A00;float: left;color: white;padding-right: 10px;padding-left: 10px;font-size: 160%;line-height:1.5!important}.eapi_badget_triangle{ color: #E67A00; width: 0;height: 0;border-right: 20px solid transparent;border-top: 2.4em solid;margin-top: -20px;float: left;}
     1.eapi_shadow{box-shadow:0 1px 2px rgba(0,0,0,.25),0 0 39px rgba(0,0,0,.1) inset}.eapi_foot_text{font-size:.6em;float:right}.eapi_entire_border{border:1px solid rgba(0,0,0,.72)}@media (max-width:600px){.eapi_display_box{float:none!important;width:99%!important;margin-left:0!important}}.eapi_display_box{float:right;width:50%;margin-left:10px}.eapi_saving_procent{right:0;top:0;position:absolute;background-color:green;color:#fff;padding:6px;border-radius:0 0 0 4px}.eapi_shipping_pic{max-height:15px;margin:-4px 7px 0 0!important;display:inline!important;border:none!important}.eapi_product_title{text-decoration:none!important;border-bottom:hidden!important;font-size:.9em}.eapi_product_image{width:50%;margin-right:25%;margin-left:25%;margin-bottom:5px}.eapi_product_image_box{float:left;width:auto;height:auto;max-width:15%;max-height:250px;margin-left:15px;margin-bottom:15px}.eapi_admin_input{float:left}.eapi_feature_list{float:left;width:80%;margin-left:2%;font-size:.9em}.eapi_price_field{margin-bottom:0!important}.eapi_price_field_center{margin-top:4px!important;display:block}.eapi_price_field_box{float:right;margin-right:20px!important;margin-top:2px!important}.eapi_price_amount_saved{margin-top:3px!important;font-size:.8em}.eapi_price_amount_saved_box{float:right;margin-right:20px!important}.eapi_number_rating_box{float:right;margin-top:1px}.eapi_feature_div{overflow:hidden;max-height:200px;margin-bottom:10px}.eapi_around{overflow:hidden;padding:20px;margin-bottom:5px;position:relative}.eapi_title_around{margin-top:0!important}.eapi_title_around_box{margin-left:15px}.eapi_title_around_box_top{margin-top:25px!important}.eapi_title_around_box_correct{margin-top:15px!important}.eapi_amazon_button_individual{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;display:inline-block;font-family:Arial;font-size:14px;font-weight:700;font-style:italic;height:34px;line-height:34px;padding-left:10px;padding-right:10px;text-align:center;float:right;text-decoration:none!important}.eapi_amazon_button_style{-box-shadow:inset 0 1px 0 0 #f9eacf;-webkit-box-shadow:inset 0 1px 0 0 #f9eacf;box-shadow:inset 0 1px 0 0 #f9eacf;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#F6DD9F),color-stop(1,#F0C24D));background:-moz-linear-gradient(center top,#F6DD9F 5%,#F0C24D 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=’#F6DD9F‘, endColorstr=’#F0C24D‘);background-color:#f5d78a;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;text-indent:0;border:1px solid #cbaa5c;display:inline-block;color:#111!important;font-size:13px;font-weight:400;font-style:normal;height:25px;line-height:25px;width:180px;text-decoration:none;text-align:center;padding:2px;float:right;-webkit-box-sizing:initial!important;-moz-box-sizing:initial!important;box-sizing:initial!important;-webkit-border-radius:3px;border-radius:3px}.eapi_rating_wrapper,.eapi_rating_wrapper_center{width:90px;overflow:hidden;position:relative;height:18px}.eapi_amazon_button_style:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#F5D589),color-stop(1,#EEBA35));background:-moz-linear-gradient(center top,#F5D589 5%,#EEBA35 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=’#F5D589′, endColorstr=’#EEBA35′);background-color:#eeba35!important}.eapi_amazon_button_style:active{position:relative;top:1px}.eapi_rating_wrapper{margin-top:6px;float:right;margin-left:20px}.eapi_rating_wrapper_center{margin:auto}.eapi_rating{height:36px;width:360px!important;position:absolute;max-width:none!important}.eapi_prime_intext,.eapi_prime_wrapper,.eapi_prime_wrapper_center{position:relative;width:63px;height:18px;overflow:hidden}.eapi_prime_wrapper{margin-top:9px;float:right;margin-left:20px}.eapi_prime_wrapper_center{margin:9px auto 3px}.eapi_prime_intext{margin:auto}.eapi_prime_logo{left:0;top:-20px;height:36px;width:360px;position:absolute;max-width:none!important;margin:auto!important;border:none!important}.eapi_custom_info{width:60%;display:inline-block;margin-bottom:15px;margin-top:5px;margin-right:10px;position:relative;float:right}.eapi_custom_info_center{width:50%;margin:auto auto 10px;text-align:center}.eapi_sidebar_button{width:100%;padding-right:0!important;padding-left:0!important}.eapi_rating_link{text-decoration:none!important}.eapi_badget{margin-top:-20px;margin-left:-20px;background-color:#E67A00;float:left;color:#fff;padding-right:10px;padding-left:10px;font-size:160%;line-height:1.5!important}.eapi_badget_triangle{color:#E67A00;width:0;height:0;border-right:20px solid transparent;border-top:2.4em solid;margin-top:-20px;float:left}.eapi_shop_box{display:block;float:right;padding:5px 0}.eapi_min_button_width{min-width:250px}.eapi_ebay_plus_logo{left:-100px;top:-20px;height:36px;width:360px;position:absolute;max-width:none!important;margin:auto!important;border:none!important}.eapi_ebay_plus_wrapper{position:relative;width:90px;overflow:hidden;height:18px;float:right}
  • easy-amazon-product-information/trunk/easy_amazon_product_information.php

    r1806298 r1856680  
    44 * Plugin URI: http://jensmueller.one/easy-amazon-product-information/
    55 * Description: Mit EAPI können Sie aus der Amazon API zahlreiche Produktinformationen auslesen und in Ihre Webseite einbinden. Die Anzeige auf der Webseite kann individuell nach Ihren Bedürfnissen angepasst werden.
    6  * Version: 3.0.0
     6 * Version: 3.1.0
    77 * Author: Jens Müller
    88 * Author URI: http://jensmueller.one
    99 * Text Domain: easy-amazon-product-information
    1010 */
    11 define('EAPI_VERSION', '3.0.0');
     11define('EAPI_VERSION', '3.1.0');
    1212define('EAPI_PLUGIN_DIR',  plugin_dir_path( __FILE__ ));
    13 define('BUILD_VERSION',  '5');
     13define('BUILD_VERSION',  '6');
    1414
    1515require_once(  EAPI_PLUGIN_DIR . 'eapi_handler.php' );
    1616include_once(  EAPI_PLUGIN_DIR . 'eapi_amazon.php' );
     17include_once(  EAPI_PLUGIN_DIR . 'eapi_dashboard.php' );
     18//has the ebay API
     19if( file_exists( EAPI_PLUGIN_DIR . 'eapi_ebay.php') ) {
     20    include_once(  EAPI_PLUGIN_DIR . 'eapi_ebay.php' );
     21    define('HAS_EAPI_PLUS',  true);
     22}else{
     23    define('HAS_EAPI_PLUS',  false);
     24}
    1725
    1826//replaces the tag
  • easy-amazon-product-information/trunk/easy_amazon_product_information_admin.css

    r1317576 r1856680  
    11.nav-text{
    2 display:none;
     2    display:none;
    33}
    44.nav-text-visible{
    5 display:block;
     5    display:block;
    66}
     7.eapi_buy_plus{
     8    font-weight: bold;
     9    position: absolute;
     10    top: 30px;
     11    left: 550px;
     12    transform: rotate(-10deg);
     13    background-color: #56cc5f;
     14    padding: 9px;
     15    color: white;
     16    border-radius: 10px;
     17}
  • easy-amazon-product-information/trunk/languages/easy-amazon-product-information-de_DE.po

    r1720467 r1856680  
    22msgstr ""
    33"Project-Id-Version: easy-amazon-product-information\n"
    4 "POT-Creation-Date: 2017-06-01 21:42+0100\n"
    5 "PO-Revision-Date: 2017-06-01 21:44+0100\n"
     4"POT-Creation-Date: 2018-03-23 22:46+0100\n"
     5"PO-Revision-Date: 2018-03-23 22:48+0100\n"
    66"Last-Translator: \n"
    77"Language-Team: \n"
     
    1616"X-Poedit-SearchPath-0: ..\n"
    1717
    18 #: ../eapi_handler.php:376 ../eapi_handler.php:383
    19 #, php-format
    20 msgid " last update on: %1$s at %2$s o'clock. "
    21 msgstr "Zuletzt aktualisiert am: %1$s um %2$s Uhr."
    22 
    23 #: ../eapi_handler.php:501
    24 msgid "prime logo"
    25 msgstr "Prime Logo"
    26 
    27 #: ../eapi_handler.php:510 ../eapi_handler.php:536
    28 msgid "ratings"
    29 msgstr "Bewertungen"
    30 
    31 #: ../eapi_handler.php:534
    32 msgid "rating"
    33 msgstr "Bewertung"
    34 
    35 #: ../eapi_handler.php:563 ../eapi_handler.php:575
    36 msgid "amazon product ratings"
    37 msgstr "Amazon Produktbewertungen"
    38 
    39 #: ../eapi_handler.php:969
    40 msgid "donate button"
    41 msgstr "Spende Button"
    42 
    43 #: ../eapi_handler.php:969
    44 msgid "link to donate"
    45 msgstr "Link zur Spendenseite"
    46 
    47 #: ../eapi_handler.php:983
     18#: ../eapi_dashboard.php:6
    4819msgid "You do not have sufficient permissions to access this page."
    4920msgstr "Sie haben nicht ausreichend Berechtigungen, diese Seite zu sehen."
    5021
    51 #: ../eapi_handler.php:1061
     22#: ../eapi_dashboard.php:87
    5223msgid "Access Key ID"
    5324msgstr "Access Key ID"
    5425
    55 #: ../eapi_handler.php:1067
     26#: ../eapi_dashboard.php:93
    5627msgid "Secret Access Key"
    5728msgstr "Secret Access Key"
    5829
    59 #: ../eapi_handler.php:1073
     30#: ../eapi_dashboard.php:99
    6031msgid "Tracking ID"
    6132msgstr "Tracking ID (Affiliate-Tag)"
    6233
    63 #: ../eapi_handler.php:1080
     34#: ../eapi_dashboard.php:108
     35msgid "Ebay App ID"
     36msgstr "Ebay App ID"
     37
     38#: ../eapi_dashboard.php:114
     39msgid "Ebay Affiliate ID"
     40msgstr "Ebay Affiliate ID"
     41
     42#: ../eapi_dashboard.php:122
    6443msgid "analytics tracking"
    6544msgstr "Analytics Tracking"
    6645
    67 #: ../eapi_handler.php:1086
     46#: ../eapi_dashboard.php:128
    6847msgid "interval time in hours"
    69 msgstr "Intervallzeit in Stunden"
    70 
    71 #: ../eapi_handler.php:1092
    72 msgid "activate url cloaking"
    73 msgstr "URL Cloaking"
    74 
    75 #: ../eapi_handler.php:1101
    76 msgid "cloaking link"
    77 msgstr "Cloaking Link"
    78 
    79 #: ../eapi_handler.php:1105
    80 msgid "Please provide a cloak."
    81 msgstr "Bitte geben Sie einen Cloaking Link an."
    82 
    83 #: ../eapi_handler.php:1107
    84 msgid "Successfully provided a cloak."
    85 msgstr "Erfolgreich URL Cloaking eingerichtet."
    86 
    87 #: ../eapi_handler.php:1112
     48msgstr "Aktualisierungsintervall (Std.)"
     49
     50#: ../eapi_dashboard.php:131
    8851msgid "save"
    89 msgstr "Speichern"
    90 
    91 #: ../eapi_handler.php:1116
     52msgstr "Speichern & Verbindung testen"
     53
     54#: ../eapi_dashboard.php:133
    9255msgid "delete cache"
    9356msgstr "Cache leeren*"
    9457
    95 #: ../eapi_handler.php:1117
     58#: ../eapi_dashboard.php:134
    9659msgid ""
    9760"Checks with the amazon link tester, if you have inserted your valid affiliat "
     
    10164"einem neuen Fenster auf. (Amazon-Login ist dort erforderlich.)"
    10265
    103 #: ../eapi_handler.php:1117
     66#: ../eapi_dashboard.php:134
    10467msgid "affiliate link test"
    10568msgstr "Affiliate Link testen"
    10669
    107 #: ../eapi_handler.php:1141
     70#: ../eapi_dashboard.php:158
    10871msgid "standard"
    10972msgstr "Standard"
    11073
    111 #: ../eapi_handler.php:1142 ../eapi_handler.php:1340 ../eapi_handler.php:1348
    112 msgid "small"
    113 msgstr "Klein"
    114 
    115 #: ../eapi_handler.php:1143
     74#: ../eapi_dashboard.php:159
    11675msgid "sidebar"
    11776msgstr "Sidebar"
    11877
    119 #: ../eapi_handler.php:1144
     78#: ../eapi_dashboard.php:160
    12079msgid "negative"
    12180msgstr "Negativ"
    12281
    123 #: ../eapi_handler.php:1145 ../eapi_handler.php:1370
     82#: ../eapi_dashboard.php:161 ../eapi_dashboard.php:360
    12483msgid "price"
    12584msgstr "Preis"
    12685
    127 #: ../eapi_handler.php:1146 ../eapi_handler.php:1287
     86#: ../eapi_dashboard.php:162 ../eapi_dashboard.php:256
    12887msgid "button"
    12988msgstr "Button"
    13089
    131 #: ../eapi_handler.php:1147 ../eapi_handler.php:1332
     90#: ../eapi_dashboard.php:163 ../eapi_dashboard.php:322
    13291msgid "picture"
    13392msgstr "Bild"
    13493
    135 #: ../eapi_handler.php:1148
     94#: ../eapi_dashboard.php:164
    13695msgid "link"
    13796msgstr "Link"
    13897
    139 #: ../eapi_handler.php:1149
     98#: ../eapi_dashboard.php:165
    14099msgid "help"
    141100msgstr "Hilfe"
    142101
    143 #: ../eapi_handler.php:1175
     102#: ../eapi_dashboard.php:188
    144103#, php-format
    145104msgid ""
     
    150109"one</a> |"
    151110
    152 #: ../eapi_handler.php:1176
     111#: ../eapi_dashboard.php:189
    153112msgid "support me with your next amazon buy"
    154113msgstr "Unterstütze den Entwickler beim nächsten Amazon-Einkauf"
    155114
    156 #: ../eapi_handler.php:1176
     115#: ../eapi_dashboard.php:189
    157116msgid "entries in DB"
    158117msgstr "Einträge in der DB"
    159118
    160 #: ../eapi_handler.php:1176
     119#: ../eapi_dashboard.php:189
    161120msgid "Settings will consist."
    162121msgstr "Einstellungen bleiben erhalten."
    163122
    164 #: ../eapi_handler.php:1186
     123#: ../eapi_dashboard.php:208
     124msgid "name of tag"
     125msgstr "Tagname"
     126
     127#: ../eapi_dashboard.php:218
     128msgid "general"
     129msgstr "Allgemein"
     130
     131#: ../eapi_dashboard.php:219
     132msgid "display border per product"
     133msgstr "Zeige Rahmen an (pro Produkt)"
     134
     135#: ../eapi_dashboard.php:222
     136msgid "display all in border"
     137msgstr "Zeige alles im einem Rahmen an"
     138
     139#: ../eapi_dashboard.php:225
     140msgid "display numeration"
     141msgstr "Zeige Nummerierung an"
     142
     143#: ../eapi_dashboard.php:228
     144msgid "display procent savings"
     145msgstr "Zeige Prozente an"
     146
     147#: ../eapi_dashboard.php:233 ../eapi_dashboard.php:268
     148#: ../eapi_dashboard.php:295
     149msgid "background color"
     150msgstr "Hintergrundfarbe"
     151
     152#: ../eapi_dashboard.php:234
     153msgid "border color"
     154msgstr "Rahmenfarbe"
     155
     156#: ../eapi_dashboard.php:235
     157msgid "display shadow"
     158msgstr "Zeige In-Box-Schatten an"
     159
     160#: ../eapi_dashboard.php:240
     161msgid "headline text"
     162msgstr "Text der Überschrift"
     163
     164#: ../eapi_dashboard.php:241 ../eapi_dashboard.php:249
     165msgid "headline text color"
     166msgstr "Farbe der Überschrift"
     167
     168#: ../eapi_dashboard.php:248
     169msgid "headline"
     170msgstr "Überschrift"
     171
     172#: ../eapi_dashboard.php:250
     173msgid "number of characters"
     174msgstr "Anzahl der Zeichen"
     175
     176#: ../eapi_dashboard.php:251 ../eapi_dashboard.php:313
     177msgid "font size in %"
     178msgstr "Schriftgröße in %"
     179
     180#: ../eapi_dashboard.php:259
     181msgid "display button"
     182msgstr "Zeige Button an"
     183
     184#: ../eapi_dashboard.php:262
     185msgid "display button in Amazon style"
     186msgstr "Zeige Button im Amazon-Style an"
     187
     188#: ../eapi_dashboard.php:267 ../eapi_dashboard.php:293
     189#: ../eapi_dashboard.php:311
     190msgid "text color"
     191msgstr "Textfarbe"
     192
     193#: ../eapi_dashboard.php:269 ../eapi_dashboard.php:298
     194msgid "text"
     195msgstr "Text"
     196
     197#: ../eapi_dashboard.php:270
     198msgid "shipping picture"
     199msgstr "Shipping Bild"
     200
     201#: ../eapi_dashboard.php:272
     202msgid "no shipping picture"
     203msgstr "Kein Bild"
     204
     205#: ../eapi_dashboard.php:274
     206msgid "black"
     207msgstr "schwarz"
     208
     209#: ../eapi_dashboard.php:276
     210msgid "white"
     211msgstr "weiß"
     212
     213#: ../eapi_dashboard.php:278
     214msgid "Amazon big"
     215msgstr "Amazon gr."
     216
     217#: ../eapi_dashboard.php:287
     218msgid "display ebay button"
     219msgstr "Zeige Button an"
     220
     221#: ../eapi_dashboard.php:306
     222msgid "features"
     223msgstr "Features"
     224
     225#: ../eapi_dashboard.php:308
     226msgid "display features"
     227msgstr "Zeige Features an"
     228
     229#: ../eapi_dashboard.php:312
     230msgid "number of features"
     231msgstr "Anzahl der Features"
     232
     233#: ../eapi_dashboard.php:316
     234msgid "max height of features in px<br>(default: 200px)"
     235msgstr "Max. Höhe der Features in px <br>(alt.: 200px)"
     236
     237#: ../eapi_dashboard.php:323
     238msgid "display pictures"
     239msgstr "Zeige Bild an"
     240
     241#: ../eapi_dashboard.php:326
     242msgid "picture size"
     243msgstr "Bildgröße"
     244
     245#: ../eapi_dashboard.php:328 ../eapi_dashboard.php:336
     246msgid "medium"
     247msgstr "mittel"
     248
     249#: ../eapi_dashboard.php:330 ../eapi_dashboard.php:338
     250msgid "small"
     251msgstr "Klein"
     252
     253#: ../eapi_dashboard.php:332
     254msgid "picture resolution"
     255msgstr "Bildauflösung"
     256
     257#: ../eapi_dashboard.php:334
     258msgid "large"
     259msgstr "groß"
     260
     261#: ../eapi_dashboard.php:344
     262msgid "amazon information"
     263msgstr "Amazon Informationen"
     264
     265#: ../eapi_dashboard.php:346
     266msgid "display product review"
     267msgstr "Zeige Produktbewertung an"
     268
     269#: ../eapi_dashboard.php:349
     270msgid "display number of ratings"
     271msgstr "Zeige Anzahl der Rezensionen an"
     272
     273#: ../eapi_dashboard.php:352
     274msgid "display prime"
     275msgstr "Zeige Prime an"
     276
     277#: ../eapi_dashboard.php:362
     278msgid "display price"
     279msgstr "Zeige Preis an"
     280
     281#: ../eapi_dashboard.php:365
     282msgid "color of price"
     283msgstr "Farbe des Preises"
     284
     285#: ../eapi_dashboard.php:366
     286msgid "price pre text"
     287msgstr "Text vor Preis"
     288
     289#: ../eapi_dashboard.php:367
     290msgid "price after text"
     291msgstr "Text nach Preis"
     292
     293#: ../eapi_dashboard.php:370
     294msgid "crossed out price"
     295msgstr "Streichpreis"
     296
     297#: ../eapi_dashboard.php:373
     298msgid "saving pre text"
     299msgstr "Text vor Streichpreis"
     300
     301#: ../eapi_dashboard.php:380
     302msgid "footer"
     303msgstr "Fußbereich"
     304
     305#: ../eapi_dashboard.php:382
     306msgid "display last update"
     307msgstr "Zeige letzte Aktualisierung"
     308
     309#: ../eapi_dashboard.php:385
     310msgid "text of footer"
     311msgstr "Footertext"
     312
     313#: ../eapi_dashboard.php:390
     314msgid "change"
     315msgstr "Änderung übernehmen"
     316
     317#: ../eapi_dashboard.php:428
     318msgid "link to donate"
     319msgstr "Link zur Spendenseite"
     320
     321#: ../eapi_ebay.php:73
     322msgid "ERROR: Please check your ebay credentials"
     323msgstr ""
     324"ERROR: Bitte überprüfen Sie Ihre Ebay APP ID. Derzeit ist keine Verbindung "
     325"zur API möglich."
     326
     327#: ../eapi_ebay.php:74 ../eapi_handler.php:1144
     328msgid "More information to find the mistake."
     329msgstr "Mehr Informationen zur Fehlersuche."
     330
     331#: ../eapi_handler.php:475 ../eapi_handler.php:482
     332#, php-format
     333msgid " last update on: %1$s at %2$s o'clock. "
     334msgstr "Zuletzt aktualisiert am: %1$s um %2$s Uhr."
     335
     336#: ../eapi_handler.php:621
     337msgid "prime logo"
     338msgstr "Prime Logo"
     339
     340#: ../eapi_handler.php:623
     341msgid "plus logo"
     342msgstr "Ebay Plus Logo"
     343
     344#: ../eapi_handler.php:635 ../eapi_handler.php:661
     345msgid "ratings"
     346msgstr "Bewertungen"
     347
     348#: ../eapi_handler.php:659
     349msgid "rating"
     350msgstr "Bewertung"
     351
     352#: ../eapi_handler.php:688 ../eapi_handler.php:700
     353msgid "amazon product ratings"
     354msgstr "Amazon Produktbewertungen"
     355
     356#: ../eapi_handler.php:1143
    165357msgid ""
    166358"WARNING: Please check if you access Key ID, Secret Access Key and/or your "
     
    171363"um es zu überprüfen."
    172364
    173 #: ../eapi_handler.php:1187
    174 msgid "More information to find the mistake."
    175 msgstr "Mehr Informationen zur Fehlersuche."
    176 
    177 #: ../eapi_handler.php:1234
    178 msgid "name of tag"
    179 msgstr "Tagname"
    180 
    181 #: ../eapi_handler.php:1244
    182 msgid "general"
    183 msgstr "Allgemein"
    184 
    185 #: ../eapi_handler.php:1245
    186 msgid "display border per product"
    187 msgstr "Zeige Rahmen an (pro Produkt)"
    188 
    189 #: ../eapi_handler.php:1248
    190 msgid "display all in border"
    191 msgstr "Zeige alles im einem Rahmen an"
    192 
    193 #: ../eapi_handler.php:1251
    194 msgid "display numeration"
    195 msgstr "Zeige Nummerierung an"
    196 
    197 #: ../eapi_handler.php:1254
    198 msgid "display procent savings"
    199 msgstr "Zeige Prozente an"
    200 
    201 #: ../eapi_handler.php:1259 ../eapi_handler.php:1298
    202 msgid "background color"
    203 msgstr "Hintergrundfarbe"
    204 
    205 #: ../eapi_handler.php:1260
    206 msgid "border color"
    207 msgstr "Rahmenfarbe"
    208 
    209 #: ../eapi_handler.php:1261
    210 msgid "display shadow"
    211 msgstr "Zeige In-Box-Schatten an"
    212 
    213 #: ../eapi_handler.php:1266
    214 msgid "display as &lt;p&gt; (else &lt;h4&gt;)"
    215 msgstr "Zeige als &lt;p&gt; an (sonst &lt;h4&gt;)"
    216 
    217 #: ../eapi_handler.php:1271
    218 msgid "headline text"
    219 msgstr "Text der Überschrift"
    220 
    221 #: ../eapi_handler.php:1272 ../eapi_handler.php:1280
    222 msgid "headline text color"
    223 msgstr "Farbe der Überschrift"
    224 
    225 #: ../eapi_handler.php:1279
    226 msgid "headline"
    227 msgstr "Überschrift"
    228 
    229 #: ../eapi_handler.php:1281
    230 msgid "number of characters"
    231 msgstr "Anzahl der Zeichen"
    232 
    233 #: ../eapi_handler.php:1282 ../eapi_handler.php:1323
    234 msgid "font size in %"
    235 msgstr "Schriftgröße in %"
    236 
    237 #: ../eapi_handler.php:1289
    238 msgid "display button"
    239 msgstr "Zeige Button an"
    240 
    241 #: ../eapi_handler.php:1292
    242 msgid "display button in Amazon style"
    243 msgstr "Zeige Button im Amazon-Style an"
    244 
    245 #: ../eapi_handler.php:1297 ../eapi_handler.php:1321
    246 msgid "text color"
    247 msgstr "Textfarbe"
    248 
    249 #: ../eapi_handler.php:1299
    250 msgid "text"
    251 msgstr "Text"
    252 
    253 #: ../eapi_handler.php:1300
    254 msgid "shipping picture"
    255 msgstr "Shipping Bild"
    256 
    257 #: ../eapi_handler.php:1302
    258 msgid "no shipping picture"
    259 msgstr "Kein Bild"
    260 
    261 #: ../eapi_handler.php:1304
    262 msgid "black"
    263 msgstr "schwarz"
    264 
    265 #: ../eapi_handler.php:1306
    266 msgid "white"
    267 msgstr "weiß"
    268 
    269 #: ../eapi_handler.php:1308
    270 msgid "Amazon big"
    271 msgstr "Amazon gr."
    272 
    273 #: ../eapi_handler.php:1316
    274 msgid "features"
    275 msgstr "Features"
    276 
    277 #: ../eapi_handler.php:1318
    278 msgid "display features"
    279 msgstr "Zeige Features an"
    280 
    281 #: ../eapi_handler.php:1322
    282 msgid "number of features"
    283 msgstr "Anzahl der Features"
    284 
    285 #: ../eapi_handler.php:1326
    286 msgid "max height of features in px<br>(default: 200px)"
    287 msgstr "Max. Höhe der Features in px <br>(alt.: 200px)"
    288 
    289 #: ../eapi_handler.php:1333
    290 msgid "display pictures"
    291 msgstr "Zeige Bild an"
    292 
    293 #: ../eapi_handler.php:1336
    294 msgid "picture size"
    295 msgstr "Bildgröße"
    296 
    297 #: ../eapi_handler.php:1338 ../eapi_handler.php:1346
    298 msgid "medium"
    299 msgstr "mittel"
    300 
    301 #: ../eapi_handler.php:1342
    302 msgid "picture resolution"
    303 msgstr "Bildauflösung"
    304 
    305 #: ../eapi_handler.php:1344
    306 msgid "large"
    307 msgstr "groß"
    308 
    309 #: ../eapi_handler.php:1354
    310 msgid "amazon information"
    311 msgstr "Amazon Informationen"
    312 
    313 #: ../eapi_handler.php:1356
    314 msgid "display product review"
    315 msgstr "Zeige Produktbewertung an"
    316 
    317 #: ../eapi_handler.php:1359
    318 msgid "display number of ratings"
    319 msgstr "Zeige Anzahl der Rezensionen an"
    320 
    321 #: ../eapi_handler.php:1362
    322 msgid "display prime"
    323 msgstr "Zeige Prime an"
    324 
    325 #: ../eapi_handler.php:1372
    326 msgid "display price"
    327 msgstr "Zeige Preis an"
    328 
    329 #: ../eapi_handler.php:1375
    330 msgid "color of price"
    331 msgstr "Farbe des Preises"
    332 
    333 #: ../eapi_handler.php:1376
    334 msgid "price pre text"
    335 msgstr "Text vor Preis"
    336 
    337 #: ../eapi_handler.php:1377
    338 msgid "price after text"
    339 msgstr "Text nach Preis"
    340 
    341 #: ../eapi_handler.php:1380
    342 msgid "crossed out price"
    343 msgstr "Streichpreis"
    344 
    345 #: ../eapi_handler.php:1383
    346 msgid "saving pre text"
    347 msgstr "Text vor Streichpreis"
    348 
    349 #: ../eapi_handler.php:1390
    350 msgid "footer"
    351 msgstr "Fußbereich"
    352 
    353 #: ../eapi_handler.php:1392
    354 msgid "display last update"
    355 msgstr "Zeige letzte Aktualisierung"
    356 
    357 #: ../eapi_handler.php:1395
    358 msgid "text of footer"
    359 msgstr "Footertext"
    360 
    361 #: ../eapi_handler.php:1400
    362 msgid "change"
    363 msgstr "Änderung übernehmen"
    364 
    365 #: ../eapi_handler.php:1628
     365#: ../eapi_handler.php:1374
    366366msgid "Buy on Amazon!"
    367367msgstr "Bei Amazon kaufen!"
     368
     369#~ msgid "display as &lt;p&gt; (else &lt;h4&gt;)"
     370#~ msgstr "Zeige als &lt;p&gt; an (sonst &lt;h4&gt;)"
     371
     372#~ msgid "donate button"
     373#~ msgstr "Spende Button"
     374
     375#~ msgid "activate url cloaking"
     376#~ msgstr "URL Cloaking"
     377
     378#~ msgid "cloaking link"
     379#~ msgstr "Cloaking Link"
     380
     381#~ msgid "Please provide a cloak."
     382#~ msgstr "Bitte geben Sie einen Cloaking Link an."
     383
     384#~ msgid "Successfully provided a cloak."
     385#~ msgstr "Erfolgreich URL Cloaking eingerichtet."
    368386
    369387#~ msgid "Successfully send the test mail!"
  • easy-amazon-product-information/trunk/readme.txt

    r1769482 r1856680  
    77Stable tag: trunk
    88Requires at least: 4.0
    9 Tested up to: 4.8.1
     9Tested up to: 4.9.5
    1010
    1111Mit diesem Plugin können Sie Produktdaten aus der Amazon-API auslesen und automatisiert in Ihre Webseite einbinden.
     
    2828*  Vordefinierte Darstellungstypen: standard, small, negative, sidebar, price, button, picture (können angepasst werden.)
    2929*  Intext-Ausgabe der Produktbilder oder Preise
    30 *  Integrierter Cache der Produktdaten mit Angabe des Aktualisierungsintervalls
    31 *  Anpassung der Darstellung
     30*  Cache der Produktdaten mit regelmäßiger Aktualisiserung
    3231*  Verwendung der Buttons auch für Nicht-Affiliatelinks (interne Links, andere externe Links)
    3332*  Anzeige eines bestimmten Produkts mit Angabe der ASIN
     
    3534*  Anzeige von Bestsellerlisten
    3635*  Einbindung von Google Analytics zum Tracken von Klicks
    37 *  Anzeige der Produktbewertungen
    38 *  Anzeige der Primeverfügbarkeit
     36*  Anzeige der Produktbewertungen sowie Prime
    3937*  Kombination mit [Easy Integrated Image Gallery](http://jensmueller.one/easy-integrated-image-gallery/)
    4038*  Viele Weitere: [Easy Amazon Product Information](http://jensmueller.one/easy-amazon-product-information/)
     39*  Anbindung weiterer Shops (z.B.: Ebay): [EAPI PLUS](http://jensmueller.one/eapi-plus/)
    4140
    4241
     
    9291== Changelog ==
    9392
     933.1.0:
     94
     95*  [EAPI PLUS](http://jensmueller.one/eapi-plus/)
     96*  Anbindung weiterer Shops, beispielsweise Ebay
     97
     98
    94993.0.0:
    95100
Note: See TracChangeset for help on using the changeset viewer.