/** * Set URL for get front-end content. Correct URL * * @param string $url Link * * @return void */ public static function setRenderUrl($url = '') { $uri = new JURI($url); if ($uri->getScheme() == '') { $scheme = 'http'; if (@$_SERVER['HTTPS']) { $scheme = 'https'; } $uri->setScheme($scheme); } @(list($host, $port) = explode(':', $_SERVER['HTTP_HOST'])); if ($uri->getHost() == '') { $uri->setHost($host); } if ($uri->getPort() == '') { $uri->setPort($port); } if (strtolower($uri->getHost()) != strtolower($host)) { self::$_isExternal = true; } else { if (!$uri->hasVar('jsntpl_position')) { $uri->setVar('jsntpl_position', '1'); } if (!$uri->hasVar('secret_key')) { $config = JFactory::getConfig(); $secret = $config->get('secret'); $uri->setVar('secret_key', md5($secret)); } if ($uri->hasVar('Itemid') and $uri->getVar('Itemid') == '') { $uri->delVar('Itemid'); } self::$_renderUrl = $uri->toString(); } }
public function testSetHost() { $this->object->setHost('www.example.org'); $this->assertThat( $this->object->getHost(), $this->equalTo('www.example.org') ); }
function gTranslate($text, $SourceLan, $ResultLan) { $url = new JURI(); // for APIv2 $url->setHost('https://www.googleapis.com/'); $url->setPath('language/translate/v2'); $query['key'] = 'AIzaSyC04nF4KXjfR2VQ0jsFm5vEd9LbyiXqbKw'; $query['q'] = urlencode($text); $query['source'] = $SourceLan; $query['target'] = $ResultLan; if (!$text) { return; } $url->setQuery($query); $url->toString(); $response = AKHelper::_('curl.getPage', $url->toString()); $json = new JRegistry($response); $r = $json->get('data.translations'); return $r[0]->translatedText; }
/** * A method to do Google translate. * * @param string $text String to translate. * @param string $SourceLan Translate from this language, eg: 'zh-tw'. Empty will auto detect. * @param string $ResultLan Translate to this language, eg: 'en'. Empty will auto detect. * * @return string Translated text. */ public static function gTranslate($text, $SourceLan, $ResultLan) { $url = new JURI(); // for APIv2 $url->setHost('https://www.googleapis.com/'); $url->setPath('language/translate/v2'); $query['key'] = self::APT_KEY; $query['q'] = urlencode($text); $query['source'] = $SourceLan; $query['target'] = $ResultLan; if (!$text) { return; } $url->setQuery($query); $url->toString(); $response = AKHelper::_('curl.getPage', $url->toString()); $json = new JRegistry(); $json->loadString($response); $r = $json->get('data.translations'); return $r[0]->translatedText; }
/** * Преобразует img-тег в html-код иконки * @param array $matches * @return string */ function imageReplacer(&$matches) { // Создать объект тега изображения $newImgStr = $imgStr = $matches[0]; $this->img->parse($imgStr); // Если указаны классы для которых (не)надо создавать иконки, проверить класс изображения. // И если для данного не надо создавать - выйти из функции. if ($this->thumbnailsFor && $this->class) { $imgClasses = explode(' ', $this->img->getAttribute('class')); $myClasses = preg_split('/\\W+/', $this->class); $classFind = array_intersect($imgClasses, $myClasses); if ($this->thumbnailsFor == 1 && !$classFind || $this->thumbnailsFor == 2 && $classFind) { return $imgStr; } } // Если изображение удаленное - проверить наличие локальной копии, при отсутствии создать $juri =& JFactory::getURI(); $src = $this->img->getAttribute('src'); if (!$juri->isInternal($src)) { $this->copyRemote($src); } // Проверить необходимость замены - нужна ли иконка? // Прежде чем обращатья к функциям GD, проверяются атрибуты тега. if ($this->img->getHeight() || $this->img->getWidth() || $this->defaultWidth || $this->defaultHeight) { $this->origImgName = $this->img->getAttribute('src'); $this->origImgName = $this->urlToFile($this->origImgName); $this->origImgSize = @getimagesize($this->origImgName); // Если размер файла определить не удалось, вероятно это скрипт // Копируем как файл с удаленного сервера и пробуем еще раз if ($this->origImgSize === false) { $src = new JURI($src); $src->setHost($_SERVER['SERVER_NAME']); $src->setScheme('http'); $this->copyRemote($src->toString()); $this->origImgName = $this->img->getAttribute('src'); $this->origImgName = $this->urlToFile($this->origImgName); $this->origImgSize = @getimagesize($this->origImgName); } $origImgW = $this->origImgSize[0]; $this->origImgSize[1] = $this->origImgSize[1]; /* Размеры по-умолчанию */ // Если это блог или главная, взять настройки для блогов if ($this->blogHelper && $this->blogHelper->isBlog()) { $this->defaultSize = $this->blogDefaultSize; $this->defaultWidth = $this->blogDefaultWidth; $this->defaultHeight = $this->blogDefaultHeight; } $this->proportionsStrategy->setDefaultSize(); if ($this->img->getWidth() && $this->img->getWidth() < $this->origImgSize[0] || $this->img->getHeight() && $this->img->getHeight() < $this->origImgSize[1]) { // Заменить изображение на иконку $newImgStr = $this->createThumb(); $this->img->isThumb = true; } } if ($this->img->isThumb || $this->popupType == 'bloglink') { if (!$this->has_header) { $this->decorator->addHeader(); } $this->has_header = true; $result = $this->decorator->decorate(); } else { $result = $this->img->toString(); } return $result; }
/** * setHost * * @param $host * * @return void */ public function setHost($host) { $uri = new JURI($host); $this->host = $host = $uri->getHost() . $uri->getPath(); $this->uri->setHost($host); }
$checkout = ''; } else { $checkout = ''; JPluginHelper::importPlugin('redshop_payment'); $dispatcher = JDispatcher::getInstance(); $pluginButton = $dispatcher->trigger('onPaymentCheckoutButton', array($cart)); $pluginButton = implode("<br>", $pluginButton); // Google checkout start Div if ($pluginButton) { $checkout .= '<div class="googlecheckout-button" style="float:left;">' . $pluginButton . '</div>'; } if (SSL_ENABLE_IN_CHECKOUT) { $uri = JURI::getInstance(); $c_link = new JURI(); $c_link->setScheme('https'); $c_link->setHost($uri->getHost()); $c_link->setPath(JRoute::_('index.php?option=com_redshop&view=checkout&Itemid=' . $Itemid)); $link = $c_link->toString(); } else { $link = JRoute::_('index.php?option=com_redshop&view=checkout&Itemid=' . $Itemid); } $checkout .= '<div class="checkout_button" style="float:right;">'; $checkout .= '<input type=button class="greenbutton" value="' . JText::_('COM_REDSHOP_CART_CHECKOUT') . '" '; if (MINIMUM_ORDER_TOTAL > 0 && $cart['total'] < MINIMUM_ORDER_TOTAL) { $checkout .= ' onclick="alert(\'' . JText::_('COM_REDSHOP_MINIMUM_ORDER_TOTAL_HAS_TO_BE_MORE_THAN') . ' ' . MINIMUM_ORDER_TOTAL . '\');">'; } else { $checkout .= ' onclick="javascript:document.location=\'' . $link . '\'">'; } $checkout .= '</div>'; } $cart_data = str_replace("{checkout}", $checkout, $cart_data);
/** * Set URL for get front-end content. Correct URL * * @param string $url Link * * @return void */ public function setRenderUrl($url = '') { $uri = new JURI($url); if ($uri->getScheme() == '') { $scheme = 'http'; if (@$_SERVER['HTTPS']) { $scheme = 'https'; } $uri->setScheme($scheme); } @(list($host, $port) = explode(':', $_SERVER['HTTP_HOST'])); if ($uri->getHost() == '') { $uri->setHost($host); } if ($uri->getPort() == '') { $uri->setPort($port); } if (JString::strtolower($uri->getHost()) != JString::strtolower($host)) { $this->_isExternal = true; } else { if (!$uri->hasVar('poweradmin')) { $uri->setVar('poweradmin', '1'); } if ($uri->hasVar('Itemid') and $uri->getVar('Itemid') == '') { $uri->delVar('Itemid'); } $this->_renderUrl = $uri->toString(); } }