self::REQUEST_PRICE_1, self::PARAM_PRICE_2 => self::REQUEST_PRICE_2, ); private $user_start_price; private $system_start_price; private $user_finish_price; private $system_finish_price; function acceptUserInput (ArrayObject $params) { if (array_key_exists (self::REQUEST_PRICE_1, $params)) { $price = (int) $params [self::REQUEST_PRICE_1]; if ($price) { $this->setUserStartPrice ($price); $this->setSystemStartPrice (util::real_template_price ($price)); } } if (array_key_exists (self::REQUEST_PRICE_2, $params)) { $price = (int) $params [self::REQUEST_PRICE_2]; if ($price) { $this->setUserFinishPrice ($price); $this->setSystemFinishPrice (util::real_template_price ($price)); } } } function attachSql (Sql_Template $request) { if ($this->getSystemStartPrice ()) { $request->addWhere ("`:prefix:templates`.discounted_price >= " . $this->getSystemStartPrice ()); } if ($this->getSystemFinishPrice ()) { $request->addWhere ("`:prefix:templates`.discounted_price <= " . $this->getSystemFinishPrice ()); } } function isDegradeable () { return ! is_null ($this->getSystemFinishPrice ()) || ! is_null ($this->getSystemStartPrice ()); } function degrade () { if (! is_null ($this->getSystemFinishPrice ())) { $this->setSystemFinishPrice (null); return; } if (! is_null ($this->getSystemStartPrice ())) { $this->setSystemStartPrice (null); return; } } function getMacros () { if ($this->getUserStartPrice () || $this->getUserFinishPrice ()) { $price = ''; $price .= $this->getUserStartPrice () ? $this->getUserStartPrice () : '' ; $price .= '..'; $price .= $this->getUserFinishPrice () ? $this->getUserFinishPrice () : '' ; return array ( 'PRICE' => $price ); } } function getHttpParams () { $result = array (); if ($this->getUserStartPrice ()) { $result [self::REQUEST_PRICE_1] = $this->getUserStartPrice (); } if ($this->getUserFinishPrice ()) { $result [self::REQUEST_PRICE_2] = $this->getUserFinishPrice (); } return $result; } function getTemplateVariables () { $result = array (); if ($this->getUserStartPrice ()) { $result [self::PARAM_PRICE_1] = $this->getUserStartPrice (); } if ($this->getUserFinishPrice ()) { $result [self::PARAM_PRICE_2] = $this->getUserFinishPrice (); } return $result; } protected function setUserStartPrice ($user_start_price) { $this->user_start_price = $user_start_price; } protected function getUserStartPrice () { return $this->user_start_price; } protected function setSystemStartPrice ($system_start_price) { $this->system_start_price = $system_start_price; } protected function getSystemStartPrice () { return $this->system_start_price; } protected function setUserFinishPrice ($user_finish_price) { $this->user_finish_price = $user_finish_price; } protected function getUserFinishPrice () { return $this->user_finish_price; } protected function setSystemFinishPrice ($system_finish_price) { $this->system_finish_price = $system_finish_price; } protected function getSystemFinishPrice () { return $this->system_finish_price; } }