/**
  * Return this object's data in an array to be used in the kp_renderer
  * 
  * @param Array $data: The data to include
  * @return array
  **/
 public function getPostTemplateData($data = array())
 {
     $data = array_merge(kp_renderer::returnTemplateData($this->post), $data);
     $data["kp:trackingcode"] = kp_prepareTrackingCode($data);
     // Start the widget optons
     $data["show_post_thumbnail"] = (int) ($data["kp_widget:featureimage"] == 1 && $data["has_thumbnail"]);
     $data["show_post_title"] = (int) ($data["kp_widget:posttitle"] == 1);
     $data["show_post_author"] = (int) ($data["kp_widget:postauthor"] == 1);
     $data["show_post_date"] = (int) ($data["kp_widget:postdate"] == 1);
     $data["show_post_teaser"] = (int) ($data["kp_widget:postteaser"] == 1);
     $data["has_content"] = $data["show_post_title"] || $data["show_post_thumbnail"] || $data["show_post_author"] || $data["show_post_date"] || $data["show_post_teaser"];
     return $data;
 }
 /**
  * Test Tracking Code
  **/
 public function test5()
 {
     $test = true;
     $currentTrackingCode = get_option("kp_TrackingCode", "");
     $currentTracking = get_option("kp_Tracking", "");
     try {
         $this->rpObj = new kp_recommendedPost($this->post);
         update_option("kp_Tracking", "custom");
         // Test simple tracking: {post_id}
         $template = "{kp:trackingcode}";
         $expected = "" . $this->post->ID . "";
         $trackingCodeTemplate = "{post_id}";
         update_option("kp_TrackingCode", $trackingCodeTemplate);
         $data = kp_renderer::returnTemplateData($this->post);
         $data["kp:trackingcode"] = kp_renderer::render($trackingCodeTemplate, $data);
         $test5a = $this->rpObj->render($template) == kp_renderer::render($template, $data) && kp_renderer::render($template, $data) == $expected;
         $test = $test5a && $test;
         $testObj = new kp_test("Test 5a", $test5a, "kp_widget passed simple Tracking Code test", "kp_widget failed simple Tracking Code test");
         $testObj->render();
         // Test <a href="#" onclick="{post_id}"></a>
         $template = "<a href=\"#\" onclick=\"{kp:trackingcode}\">Empty Link</a>";
         $expected = "<a href=\"#\" onclick=\"" . $this->post->ID . "\">Empty Link</a>";
         $trackingCodeTemplate = "{post_id}";
         update_option("kp_TrackingCode", $trackingCodeTemplate);
         $data = kp_renderer::returnTemplateData($this->post);
         $data["kp:trackingcode"] = kp_renderer::render($trackingCodeTemplate, $data);
         $test5b = $this->rpObj->render($template) == kp_renderer::render($template, $data) && kp_renderer::render($template, $data) == $expected;
         $test = $test5b && $test;
         $testObj = new kp_test("Test 5b", $test5b, "kp_widget passed simple link test", "kp_widget failed simple link test");
         $testObj->render();
         // Test <a href="#" onclick="{post_slug}"></a> with single quote
         $template = "<a href=\"#\" onclick=\"{kp:trackingcode}\">Empty Link</a>";
         $expected = "<a href=\"#\" onclick=\"" . $this->post->post_name . "\">Empty Link</a>";
         $trackingCodeTemplate = "{post_slug}";
         update_option("kp_TrackingCode", $trackingCodeTemplate);
         $data = kp_renderer::returnTemplateData($this->post);
         $data["kp:trackingcode"] = kp_renderer::render($trackingCodeTemplate, $data);
         $test5c = $this->rpObj->render($template) == kp_renderer::render($template, $data) && kp_renderer::render($template, $data) == $expected;
         $test = $test5c && $test;
         $testObj = new kp_test("Test 5c", $test5c, "kp_widget passed post_name test", "kp_widget failed post_name test");
         $testObj->render();
     } catch (Exception $e) {
         $test = false;
     }
     update_option("kp_TrackingCode", $currentTrackingCode);
     update_option("kp_Tracking", $currentTracking);
     $testObj = new kp_test("Test 5", $test, "kp_widget passed Tracking Code tests", "kp_widget failed Tracking Code tests");
     $testObj->render();
 }