/** * 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(); }