/** * Livepub compatible: 'in-cart' or 'not-in-cart' based on session cart * TODO: this won't cover the case where a variation of this product is in the cart. * @return string */ public function CartStateClass() { return LivePubHelper::eval_php(' return (!empty($_SESSION["Cart"]) && !empty($_SESSION["Cart"]["Items"]) && !empty($_SESSION["Cart"]["Items"][' . $this->owner->ID . '])) ? "product-in-cart" : "product-not-in-cart"; '); }
public function LiveLink() { if ($this->owner->hasField('CloudStatus') && $this->owner->CloudStatus === 'Live') { $http = $this->owner->getCloudURL(CloudBucket::LINK_HTTP); $https = $this->owner->getCloudURL(CloudBucket::LINK_HTTPS); return LivePubHelper::eval_php('return empty($_SERVER["HTTPS"]) ? "' . $http . '" : "' . $https . '";'); } else { return $this->owner->Link(); } }
/** * The default base_tag implementation returns the full http:// * url which causes issues with static publishing + https. * @return string */ public function BaseTag() { return LivePubHelper::eval_php(' $url = ((!isset($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] == "off") && !(isset($_SERVER["HTTP_X_FORWARDED_PROTOCOL"]) && strtolower($_SERVER["HTTP_X_FORWARDED_PROTOCOL"]) == "https")) ? "http://" : "https://"; $url .= $_SERVER["HTTP_HOST"] . "/"; if (defined("BASE_URL") && BASE_URL) $url .= BASE_URL; if (substr($url, -1) != "/") $url .= "/"; return "<base href=\\"" . $url . "\\"><!--[if lte IE 6]></base><![endif]-->"; '); }
/** * checks eval_php */ public function testEvalPhp() { // when not publishing, should just return the value $s = LivePubHelper::eval_php('return 5;'); $this->assertEquals($s, 5); // when publishing should return code LivePubHelper::init_pub(); LivePubHelper::$context = 'php'; $s = LivePubHelper::eval_php('return 5;'); $this->assertEquals($s, "eval('return 5;')"); LivePubHelper::$context = 'html'; $s = LivePubHelper::eval_php('return 5;'); $this->assertEquals($s, "<?php echo eval('return 5;'); ?>"); LivePubHelper::stop_pub(); }
/** * @return string */ public function LoggedInClass() { return LivePubHelper::eval_php('return !empty($_SESSION["LoggedInMember"]) ? "logged-in" : "";'); }