/** * We override our function here because for certain URLs, we can have them created securely * and also handle our Shared SSL when needed * @param string $route * @param array $params * @param string $schema * @param string $ampersand * @return string */ public function createAbsoluteUrl($route, $params = array(), $schema = '', $ampersand = '&') { //If we explicitly passing schema, bypass our trickery and just do it normally if ($schema != '') { return parent::createAbsoluteUrl($route, $params, $schema, $ampersand); } if (Yii::app()->params['ENABLE_SSL'] || Yii::app()->hasCommonSSL) { //Since our custom createUrl may create a full in most circumstances, append here if it doesn't $url = $this->createUrl($route, $params, $ampersand, $schema); if (strpos($url, 'http') === 0) { return $url; } else { return $this->getRequest()->getHostInfo($schema) . $url; } } else { return parent::createAbsoluteUrl($route, $params, $schema, $ampersand); } }