本文整理汇总了PHP中Zend_Uri类的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Uri类的具体用法?PHP Zend_Uri怎么用?PHP Zend_Uri使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Zend_Uri类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getColorizedImage
public function getColorizedImage($image_id, $color)
{
$color = str_replace('#', '', $color);
$id = md5(implode('+', array($image_id, $color)));
$url = '';
$image = new Media_Model_Library_Image();
if (is_numeric($image_id)) {
$image->find($image_id);
if (!$image->getId()) {
return $url;
}
if (!$image->getCanBeColorized()) {
$color = null;
}
$path = $image->getLink();
$path = Media_Model_Library_Image::getBaseImagePathTo($path);
} else {
if (!Zend_Uri::check($image_id) and stripos($image_id, Core_Model_Directory::getBasePathTo()) === false) {
$path = Core_Model_Directory::getBasePathTo($image_id);
} else {
$path = $image_id;
}
}
try {
$image = new Core_Model_Lib_Image();
$image->setId($id)->setPath($path)->setColor($color)->colorize();
$url = $image->getUrl();
} catch (Exception $e) {
$url = '';
}
return $url;
}
示例2: handleCampaignsRedirect
/**
* Handles campaign redirects on
* controller_action_layout_generate_blocks_after
*
* @param Varien_Object $observer
*/
public function handleCampaignsRedirect($observer)
{
if (!Mage::helper('factfinder')->isEnabled('campaigns') || Mage::registry('current_product') && !Mage::helper('factfinder_campaigns')->canShowCampaignsOnProduct()) {
return;
}
if ((!Mage::registry('current_layer') || !Mage::helper('factfinder')->isEnabled('catalog_navigation')) && !Mage::registry('current_product')) {
return;
}
if (Mage::registry('current_product')) {
$product = Mage::registry('current_product');
$ids = array($product->getData(Mage::helper('factfinder_campaigns')->getIdFieldName()));
$handler = Mage::getModel('factfinder_campaigns/handler_product', $ids);
} else {
$handler = Mage::getSingleton('factfinder_campaigns/handler_search');
}
$redirect = $handler->getRedirect();
if ($redirect) {
// handle relative urls
if (!Zend_Uri::check($redirect)) {
$redirect = Mage::getBaseUrl() . $redirect;
}
$response = Mage::app()->getResponse();
$response->setRedirect($redirect);
$response->sendResponse();
exit;
}
}
示例3: normalizeUriHttp
/**
* Parses, validates and returns a valid Zend_Uri object
* from given $input.
*
* @param string|Zend_Uri_Http $input
* @return null|Zend_Uri_Http
* @throws Zend_Service_Technorati_Exception
* @static
*/
public static function normalizeUriHttp($input)
{
// allow null as value
if ($input === null) {
return null;
}
/**
* @see Zend_Uri
*/
require_once 'Zend/Uri.php';
if ($input instanceof Zend_Uri_Http) {
$uri = $input;
} else {
try {
$uri = Zend_Uri::factory((string) $input);
} catch (Exception $e) {
/**
* @see Zend_Service_Technorati_Exception
*/
require_once 'Zend/Service/Technorati/Exception.php';
throw new Zend_Service_Technorati_Exception($e->getMessage(), 0, $e);
}
}
// allow inly Zend_Uri_Http objects or child classes
if (!$uri instanceof Zend_Uri_Http) {
/**
* @see Zend_Service_Technorati_Exception
*/
require_once 'Zend/Service/Technorati/Exception.php';
throw new Zend_Service_Technorati_Exception("Invalid URL {$uri}, only HTTP(S) protocols can be used");
}
return $uri;
}
示例4: savedomainAction
public function savedomainAction()
{
if ($datas = $this->getRequest()->getPost()) {
try {
if (!empty($datas['domain'])) {
$datas['domain'] = trim(str_replace(array('https', 'http', '://'), '', $datas['domain']));
$parts = explode('/', $datas['domain']);
$datas['domain'] = !empty($parts[0]) ? $parts[0] : null;
$url = 'http://' . $datas['domain'];
if (!Zend_Uri::check($url)) {
throw new Exception($this->_('Please enter a valid address'));
} else {
if (addslashes($this->getRequest()->getBaseUrl()) == addslashes($url)) {
throw new Exception($this->_('Please enter a valid address'));
}
}
} else {
$datas['domain'] = null;
}
$this->getApplication()->setDomain($datas['domain'])->save();
$html = array('success' => '1', 'success_message' => $this->_('Infos successfully saved'), 'message_timeout' => 2, 'message_button' => 0, 'message_loader' => 0, 'domain' => $this->getApplication()->getDomain(), 'application_url' => $this->getApplication()->getUrl());
} catch (Exception $e) {
$html = array('message' => $e->getMessage());
}
$this->getLayout()->setHtml(Zend_Json::encode($html));
}
}
示例5: normalizeUriHttp
/**
* Parses, validates and returns a valid Zend_Uri object
* from given $input.
*
* @param string|Zend_Uri_Http $input
* @return null|Zend_Uri_Http
* @throws Zend_Service_Technorati_Exception
* @static
*/
public static function normalizeUriHttp($input)
{
// allow null as value
if ($input === null) {
return null;
}
if ($input instanceof Zend_Uri_Http) {
$uri = $input;
} else {
try {
$uri = Zend_Uri::factory((string) $input);
}
// wrap exception under Zend_Service_Technorati_Exception object
catch (Exception $e) {
throw new Zend_Service_Technorati_Exception($e->getMessage(), 0, $e);
}
}
// allow inly Zend_Uri_Http objects or child classes
if (!($uri instanceof Zend_Uri_Http)) {
throw new Zend_Service_Technorati_Exception(
"Invalid URL $uri, only HTTP(S) protocols can be used");
}
return $uri;
}
示例6: getVideos
public function getVideos($offset)
{
if (!$this->_videos) {
$this->_videos = array();
try {
$this->_setYoutubeUrl($offset);
$feed = Zend_Feed_Reader::import($this->getLink());
} catch (Exception $e) {
$feed = array();
}
foreach ($feed as $entry) {
$params = Zend_Uri::factory($entry->getLink())->getQueryAsArray();
$image = null;
$link = null;
if (!empty($params['v'])) {
$image = "http://img.youtube.com/vi/{$params['v']}/0.jpg";
$link = "http://www.youtube.com/embed/{$params['v']}";
} else {
$link = $entry->getLink();
}
$video = new Core_Model_Default(array('video_id' => $params['v'], 'title' => $entry->getTitle(), 'description' => $entry->getContent(), 'link' => $link, 'image' => $image));
$this->_videos[] = $video;
}
}
return $this->_videos;
}
示例7: watermark
public static function watermark(array &$optionValues, XenForo_DataWriter $optionDw, $optionId)
{
if ($optionId !== 'sonnbXG_watermark') {
return true;
}
if (!empty($optionValues['enabled'])) {
switch ($optionValues['overlay']) {
case 'image':
if (!Zend_Uri::check($optionValues['url']) && !is_file($optionValues['url'])) {
$optionDw->error(new XenForo_Phrase('sonnb_xengallery_watermark_image_not_valid'), $optionId);
return false;
}
break;
case 'text':
if (!self::isTextColorValid($optionValues['textColor'])) {
$optionDw->error(new XenForo_Phrase('sonnb_xengallery_watermark_text_color_not_valid'), $optionId);
return false;
}
if (!self::isBgColorValid($optionValues['bgColor'])) {
$optionDw->error(new XenForo_Phrase('sonnb_xengallery_watermark_bg_color_not_valid'), $optionId);
return false;
}
if (!empty($optionValues['font']) && !is_file($optionValues['font'])) {
$optionDw->error(new XenForo_Phrase('sonnb_xengallery_watermark_font_path_not_valid'), $optionId);
return false;
}
break;
}
}
return true;
}
示例8: _getCallbackUri
protected function _getCallbackUri()
{
$uri = Zend_Uri::factory('http');
$uri->setHost($_SERVER['HTTP_HOST']);
$uri->setPath($this->_helper->getHelper('Url')->simple('callback', 'twitter', 'admin'));
return rtrim($uri->getUri(), '/');
}
示例9: isCurrentlySecure
public function isCurrentlySecure()
{
$standardRule = !empty($_SERVER['HTTPS']) && 'off' != $_SERVER['HTTPS'];
$offloaderHeader = trim((string) Mage::getConfig()->getNode(self::XML_PATH_OFFLOADER_HEADER, 'default'));
if (!empty($offloaderHeader) && !empty($_SERVER[$offloaderHeader]) || $standardRule) {
return true;
}
if (Mage::isInstalled()) {
$secureBaseUrl = '';
if (!$this->isAdmin()) {
$secureBaseUrl = Mage::getStoreConfig(Mage_Core_Model_Url::XML_PATH_SECURE_URL);
} else {
$secureBaseUrl = (string) Mage::getConfig()->getNode(Mage_Core_Model_Url::XML_PATH_SECURE_URL, 'default');
}
if (!$secureBaseUrl) {
return false;
}
if (false !== strpos($secureBaseUrl, '{{base_url}}')) {
$secureBaseUrl = Mage::getConfig()->substDistroServerVars('{{base_url}}');
}
$uri = Zend_Uri::factory($secureBaseUrl);
$port = $uri->getPort();
$isSecure = $uri->getScheme() == 'https' && isset($_SERVER['SERVER_PORT']) && $port == $_SERVER['SERVER_PORT'];
return $isSecure;
} else {
$isSecure = isset($_SERVER['SERVER_PORT']) && 443 == $_SERVER['SERVER_PORT'];
return $isSecure;
}
}
示例10: onInitDependencies
/**
* Verifies config to make sure the Updater should run.
* 1. It has not been configured yet
* 2. Or it has been enabled at some point
*
* @param XenForo_Dependencies_Abstract $dependencies
* @param string $apiUrl
* @param string|null $addOnId
* @throws XenForo_Exception
*/
public static function onInitDependencies(XenForo_Dependencies_Abstract $dependencies, $apiUrl, $addOnId = null)
{
if (get_class($dependencies) !== 'XenForo_Dependencies_Admin') {
// do nothing unless user are in AdminCP
return;
}
if (XenForo_Application::$versionId < 1020000) {
// only run if XenForo is at least 1.2.0
return;
}
if (!Zend_Uri::check($apiUrl)) {
throw new XenForo_Exception(sprintf('$apiUrl is invalid: %s', $apiUrl));
}
$addOnId = self::_getAddOnId($addOnId);
$config = self::_getConfig($addOnId, $apiUrl);
if (!empty($config['configured']) && empty($config['enabled'])) {
// admin has turned it off, bye bye
return;
}
if (!isset($GLOBALS[self::KEY])) {
$GLOBALS[self::KEY] = array('version' => array(), 'onPreRoute' => array(), 'setupMethod' => array());
}
$GLOBALS[self::KEY]['version'][$apiUrl][self::$_version] = __CLASS__;
if (!isset($GLOBALS[self::KEY]['onPreRoute'][$apiUrl])) {
$GLOBALS[self::KEY]['onPreRoute'][$apiUrl] = create_function('$fc', __CLASS__ . '::onPreRoute($fc, ' . var_export($config, true) . ');');
XenForo_CodeEvent::addListener('front_controller_pre_route', $GLOBALS[self::KEY]['onPreRoute'][$apiUrl]);
}
}
示例11: startByPhotoId
public function startByPhotoId(\Sirprize\Flickr\Id $photoId)
{
if ($this->_started) {
return $this;
}
$this->_started = true;
require_once 'Zend/Uri.php';
$uri = \Zend_Uri::factory('http://api.flickr.com/services/rest/');
$args = array('api_key' => $this->_getService()->getApiKey(), 'format' => 'php_serial', 'method' => 'flickr.photos.getInfo', 'photo_id' => (string) $photoId);
try {
$this->_getRestClient()->getHttpClient()->resetParameters()->setUri($uri)->setParameterGet($args);
$cacheId = $this->_getService()->makeCacheIdFromParts(array(__METHOD__, $photoId));
$this->_responseHandler = $this->_getService()->getResponseHandlerInstance();
$this->_getRestClient()->get($this->_responseHandler, 2, array(), $cacheId);
if ($this->_responseHandler->isError()) {
// service error
$this->_onStartError($this->_getOnStartErrorMessage($this->_responseHandler->getMessage()));
return $this;
}
$data = $this->_responseHandler->getPhp();
$this->_description = $data['photo']['description']['_content'];
$this->_onStartSuccess($this->_getOnStartSuccessMessage($photoId));
$this->_loaded = true;
return $this;
} catch (Exception $e) {
// connection error
$this->_onStartError($this->_getOnStartErrorMessage($e->getMessage()));
throw new \Sirprize\Flickr\Exception($exception->getMessage());
}
}
示例12: setUri
/**
* Définition de l'Uri
*
* @param string $uri
* @throws Zend_Service_Exception si l'uri est invalide
*/
public function setUri($uri)
{
if (!Zend_Uri::check($uri)) {
throw new Zend_Service_Exception('URL invalide');
}
$this->uri = $uri;
}
示例13: checkUrl
/** Check that the URL is valid
* @access private
* @param string $url to validate
* @return string $url
*/
private function checkUrl($url)
{
if (!Zend_Uri::check($url)) {
throw new Pas_Exception_Url(self::INVALIDURL);
}
return $url;
}
示例14: invoke
/** Returns a reference to the response content.
*
* @return static
*/
public function invoke()
{
if (!$this->hasEncapsulatedObject()) {
$this->setEncapsulatedObject(JsonApi_Response::factory(new JsonApi_Http_Response(Zend_Uri::factory($this->getBrowser()->getRequest()->getUri()), $this->getBrowser()->getResponse()->getStatusCode(), $this->getBrowser()->getResponse()->getContent())));
}
return $this;
}
示例15: testUrlEncodeAndDecode
/**
* @dataProvider dataForTestUrlEncodeAndDecode
*/
public function testUrlEncodeAndDecode($str)
{
$encoded = Centurion_Inflector::urlEncode($str);
$scheme = Zend_Uri::factory();
$scheme->setQuery($encoded);
$this->assertEquals($str, Centurion_Inflector::urlDecode($encoded));
}