/**
  * 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();
     }
 }
Example #2
0
	public function testSetHost() {
		$this->object->setHost('www.example.org');

		$this->assertThat(
			$this->object->getHost(),
			$this->equalTo('www.example.org')
		);
	}
Example #3
0
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;
}
Example #4
0
 /**
  * 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;
 }
Example #5
0
 /**
  * Преобразует 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;
 }
Example #6
0
 /**
  * setHost
  *
  * @param $host
  *
  * @return void
  */
 public function setHost($host)
 {
     $uri = new JURI($host);
     $this->host = $host = $uri->getHost() . $uri->getPath();
     $this->uri->setHost($host);
 }
Example #7
0
    $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);
Example #8
0
 /**
  * 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();
     }
 }