/** * 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; }
/** * Construct a recommendedPost object with a post and double check the data * Checks generateTemplateData($data = array()) **/ public function test4() { // Construct the recommendedPost object (rpObj) then create a template that will be filled in by the rpObj from the post's details // use that same template and known post properties to see how they compare try { $template = "{author_user_nicename} {author_user_url} {post_date} {post_date_nice} {post_url} {post_excerpt} {post_title} {has_thumbnail} {post_thumbnail} {kp:trackingcode}"; $this->rpObj = new kp_recommendedPost($this->post); $data = kp_renderer::returnTemplateData($this->post); $data["kp:trackingcode"] = kp_prepareTrackingCode($data); $test = $this->rpObj->render($template) == kp_renderer::render($template, $data); } catch (Exception $e) { $test = false; } $testObj = new kp_test("Test 4", $test, "recommendedPost object rendered template (with data)", "recommendedPost object didn't render template (with data)"); $testObj->render(); }