Plugin Directory

Changeset 1893648


Ignore:
Timestamp:
06/15/2018 05:16:33 PM (8 years ago)
Author:
mnording10
Message:

1.2.0 version with orderID fallback

Location:
woo-dhl-tracking-form/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • woo-dhl-tracking-form/trunk/classes/DHLTrackingEmail.php

    r1882006 r1893648  
    99class DHLTrackingEmail
    1010{
    11     function __construct(){
     11    function __construct($shouldlog = false){
     12        $this->shouldlog = false;
     13        if($shouldlog == true){
     14            $this->shouldlog = true;
     15        }
    1216        add_action("woocommerce_email_order_meta",array($this,"add_meta_tracking_to_order"));
     17
    1318    }
    1419    function add_meta_tracking_to_order($order){
    1520        $this->logger = new WC_Logger();
    16         if($order->status === "completed" && get_option("add_to_tracking_page")){ // Order is completed and we want to display the link
     21
     22        if($order->get_status() === "completed" && get_option("add_to_tracking_page")){ // Order is completed and we want to display the link
    1723            if($this->shouldlog){
    18                 $this->logger->info("Order was completed and settings was enabled","dhl-tracking-form");
     24                $this->logger->info("Order was completed and settings was enabled",array( 'source' => 'dhl-tracking-form' ));
    1925            }
    20             $trackingID = get_post_meta($order->id, "woo_dhl_tracking_form_trackingid", true);
     26            $trackingID = get_post_meta($order->get_id(), "woo_dhl_tracking_form_trackingid", true);
    2127            if($this->shouldlog){
    22                 $this->logger->info("tracking ID for order was set to ".$trackingID,"dhl-tracking-form");
     28                $this->logger->info("tracking ID for order was set to ".$trackingID,array( 'source' => 'dhl-tracking-form' ));
    2329            }
    24             if($trackingID !== "" && get_option( 'tracking_page' )){ // We have defined a tracking ID for the order and we have a valid page
    25                 $link = get_permalink(get_option( 'tracking_page' ))."?trackingid=".$trackingID;
     30            if(($trackingID !== "" || get_option('orderid_fallback')) && get_option( 'tracking_page' )){ // We have defined a tracking ID or fallback for the order and we have a valid page
     31               if(get_option('orderid_fallback')){
     32                   $link = get_permalink(get_option( 'tracking_page' ))."?orderid=".$order->get_id();
     33               }
     34               else if($trackingID !== "" ){
     35                   $link = get_permalink(get_option( 'tracking_page' ))."?trackingid=".$trackingID;
     36               }
     37                $order->add_order_note( "tracking link sent as ".$link );
     38
    2639                if($this->shouldlog){
    27                     $this->logger->info("Link created was: ".$link,"dhl-tracking-form");
     40                    $this->logger->info("Link created was: ".$link,array( 'source' => 'dhl-tracking-form' ));
    2841                }
    2942                echo wp_kses_post('<div style="padding: 20px 0;">');
  • woo-dhl-tracking-form/trunk/functions.php

    r1882312 r1893648  
    1212 * Plugin URI:  https://github.com/mnording/woocommerce-woo-dhl-tracking-form
    1313 * Description: Enabling fetching tracking info from DHL Freight.
    14  * Version:     1.1.1
     14 * Version:     1.2.0
    1515 * Author:      Mnording
    1616 * Author URI:  https://mnording.com
     
    3333        add_action( 'admin_init', array($this,'dhl_tracking_plugin_settings') );
    3434        add_action( 'plugins_loaded', array($this,'dhl_tracking_plugin_textdomain') );
     35        $this->shouldlog= get_option("should_log");
    3536        new DHLMetaBox();
    36         new DHLTrackingEmail();
    37         $this->shouldlog= get_option("should_log");
    38 
     37        new DHLTrackingEmail($this->shouldlog);
    3938    }
    4039    function dhl_tracking_plugin_textdomain() {
     
    5453        register_setting( 'dhl_tracking_settings-group', 'add_to_tracking_page'  ,$args);
    5554        register_setting( 'dhl_tracking_settings-group', 'tracking_page' ,$args );
     55        register_setting( 'dhl_tracking_settings-group', 'orderid_fallback' ,$args );
    5656
    5757    }
     
    8484                        <td><input name="add_to_tracking_page" type="checkbox" value="1" <?php checked( '1', get_option( 'add_to_tracking_page' ) ); ?> /><?php _e("Yes","woo-dhl-tracking-form")?></td>
    8585                        <td><?php _e("Should the customer emails be populated with a link to the tracking page? This requires you to add the tracking-ID to the order before sending the email","woo-dhl-tracking-form");?>
     86                        </td>
     87
     88                    </tr>
     89                    <tr valign="top">
     90                        <th scope="row"><?php _e("Use Order ID for tracking?","woo-dhl-tracking-form"); ?></th>
     91                        <td><input name="orderid_fallback" type="checkbox" value="1" <?php checked( '1', get_option( 'orderid_fallback' ) ); ?> /><?php _e("Yes","woo-dhl-tracking-form")?></td>
     92                        <td><?php _e("Should the link use the internal Order ID for tracking instead of shipment ID ? This requires the use of private methods","woo-dhl-tracking-form");?>
    8693                        </td>
    8794
     
    135142        if(isset($_GET["trackingid"])){
    136143            $prefillTracking = $_GET["trackingid"];
     144        }
     145        $prefillOrderId = "";
     146        if(isset($_GET["orderid"])){
     147            $prefillOrderId = $_GET["orderid"];
    137148        }
    138149        $html = '<style>';
     
    148159        $html .= "<div id='dhl-tracking-form-container'>";
    149160        $html .= __("Tracking ID","woo-dhl-tracking-form")." <input type='text' value='".$prefillTracking."' name='trackingid' id='trackingid' placeholder='Sändnings ID'>";
    150         $html .= " ".__("or","woo-dhl-tracking-form")." ".__("Order Id","woo-dhl-tracking-form")." <input type='text' id='orderid' name='orderid' placeholder='Order ID'>";
     161        $html .= " ".__("or","woo-dhl-tracking-form")." ".__("Order Id","woo-dhl-tracking-form")." <input type='text' value='".$prefillOrderId."' id='orderid' name='orderid' placeholder='Order ID'>";
    151162        $html .= "<button>".__("Track package","woo-dhl-tracking-form")."</button>";
    152163        $html .= "</div>";
     
    155166        if($prefillTracking !== ""){
    156167            $tracking=  $this->GetTrackingInfo($prefillTracking,"");
     168            $html .= $this->renderTable($tracking);
     169        }
     170        else if($prefillOrderId !== ""){
     171            $tracking=  $this->GetTrackingInfo("",$prefillOrderId);
    157172            $html .= $this->renderTable($tracking);
    158173        }
  • woo-dhl-tracking-form/trunk/readme.txt

    r1882312 r1893648  
    3232
    3333== Changelog ==
     341.2.0 - Added option to only track by orderID
    34351.1.1 - Typos in translations
    35361.1.0 - Feature release for adding tracking link to email and mobile friendlyness
Note: See TracChangeset for help on using the changeset viewer.