/** * Get resource id for pay-per-post * * @param TinypassContentSettings $contentSettings * * @return string */ protected function payPerPostResourceId(TinypassContentSettings $contentSettings) { return self::PAY_PER_POST_RESOURCE_PREFIX . $contentSettings->id(); }
/** * Render offer javascript for content */ public function showOfferJs() { if (!isset($_SERVER['REQUEST_URI']) || empty($_SERVER['REQUEST_URI'])) { return; } if (!preg_match('/^\\/?' . self::OFFER_JS_URL_PREFIX . '(\\d+)(\\?.+)?/', $_SERVER['REQUEST_URI'], $match)) { return; } $id = $match[1]; $post = get_post($id); if (!$post) { return; } $metaString = get_post_meta($post->ID, self::META_NAME, true); $contentSettings = TinypassContentSettings::fromArray($metaString); $content = apply_filters('the_content', $post->post_content); try { $result = self::$tinypass->checkAccessSettings($contentSettings, $content, array($this, 'trimContent'), $this->getResources()); header('HTTP/1.1 200 OK'); header('Content-Type: application/javascript'); echo $result->javascript(); die; } catch (Exception $e) { header('HTTP/1.1 200 OK'); if ($this->canDebug()) { die($e->getMessage()); } } }
public function sanitizeDefaultAccessSettings() { if (is_array(self::$default_access_settings)) { $contentSettings = new TinypassContentSettings(); $chargeOption = isset(self::$default_access_settings[$contentSettings->chargeOptionPropertyName()]) ? self::$default_access_settings[$contentSettings->chargeOptionPropertyName()] : null; $contentSettings->chargeOption($chargeOption)->resourceIds(isset(self::$default_access_settings[$chargeOption][$contentSettings->resourceIdsPropertyName()]) ? self::$default_access_settings[$chargeOption][$contentSettings->resourceIdsPropertyName()] : null)->pppPrice(isset(self::$default_access_settings[$chargeOption][$contentSettings->pppPricePropertyName()]) ? self::$default_access_settings[$chargeOption][$contentSettings->pppPricePropertyName()] : null)->pppCurrency(isset(self::$default_access_settings[$chargeOption][$contentSettings->pppCurrencyPropertyName()]) ? self::$default_access_settings[$chargeOption][$contentSettings->pppCurrencyPropertyName()] : null); $contentSettings->validate(self::$business_model, self::$enable_ppp, self::$tinypass->algorithmicKeyAvailable(), $this->getResources()); $this->setOption(self::OPTION_NAME_DEFAULT_ACCESS_SETTINGS, $contentSettings->toArray()); } }