当前位置: 首页>>代码示例>>PHP>>正文


PHP rcube_utils::resolve_url方法代码示例

本文整理汇总了PHP中rcube_utils::resolve_url方法的典型用法代码示例。如果您正苦于以下问题:PHP rcube_utils::resolve_url方法的具体用法?PHP rcube_utils::resolve_url怎么用?PHP rcube_utils::resolve_url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rcube_utils的用法示例。


在下文中一共展示了rcube_utils::resolve_url方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: url

 /**
  * Build a valid URL to this instance of Roundcube
  *
  * @param mixed   Either a string with the action or url parameters as key-value pairs
  * @param boolean Build an URL absolute to document root
  * @param boolean Create fully qualified URL including http(s):// and hostname
  * @param bool    Return absolute URL in secure location
  *
  * @return string Valid application URL
  */
 public function url($p, $absolute = false, $full = false, $secure = false)
 {
     if (!is_array($p)) {
         if (strpos($p, 'http') === 0) {
             return $p;
         }
         $p = array('_action' => @func_get_arg(0));
     }
     $pre = array();
     $task = $p['_task'] ?: ($p['task'] ?: $this->task);
     $pre['_task'] = $task;
     unset($p['task'], $p['_task']);
     $url = $this->filename;
     $delm = '?';
     foreach (array_merge($pre, $p) as $key => $val) {
         if ($val !== '' && $val !== null) {
             $par = $key[0] == '_' ? $key : '_' . $key;
             $url .= $delm . urlencode($par) . '=' . urlencode($val);
             $delm = '&';
         }
     }
     $base_path = strval($_SERVER['REDIRECT_SCRIPT_URL'] ?: $_SERVER['SCRIPT_NAME']);
     $base_path = preg_replace('![^/]+$!', '', $base_path);
     if ($secure && ($token = $this->get_secure_url_token(true))) {
         // add token to the url
         $url = $token . '/' . $url;
         // remove old token from the path
         $base_path = rtrim($base_path, '/');
         $base_path = preg_replace('/\\/[a-f0-9]{' . strlen($token) . '}$/', '', $base_path);
         // this need to be full url to make redirects work
         $absolute = true;
     }
     if ($absolute || $full) {
         // add base path to this Roundcube installation
         if ($base_path == '') {
             $base_path = '/';
         }
         $prefix = $base_path;
         // prepend protocol://hostname:port
         if ($full) {
             $prefix = rcube_utils::resolve_url($prefix);
         }
         $prefix = rtrim($prefix, '/') . '/';
     } else {
         $prefix = './';
     }
     return $prefix . $url;
 }
开发者ID:peknur,项目名称:roundcubemail,代码行数:58,代码来源:rcmail.php

示例2: url

 /**
  * Build a valid URL to this instance of Roundcube
  *
  * @param mixed   Either a string with the action or url parameters as key-value pairs
  * @param boolean Build an URL absolute to document root
  * @param boolean Create fully qualified URL including http(s):// and hostname
  *
  * @return string Valid application URL
  */
 public function url($p, $absolute = false, $full = false)
 {
     if (!is_array($p)) {
         if (strpos($p, 'http') === 0) {
             return $p;
         }
         $p = array('_action' => @func_get_arg(0));
     }
     $pre = array();
     $task = $p['_task'] ?: ($p['task'] ?: $this->task);
     $pre['_task'] = $task;
     unset($p['task'], $p['_task']);
     $url = $this->filename;
     $delm = '?';
     foreach (array_merge($pre, $p) as $key => $val) {
         if ($val !== '' && $val !== null) {
             $par = $key[0] == '_' ? $key : '_' . $key;
             $url .= $delm . urlencode($par) . '=' . urlencode($val);
             $delm = '&';
         }
     }
     if ($absolute || $full) {
         // add base path to this Roundcube installation
         $base_path = preg_replace('![^/]+$!', '', strval($_SERVER['SCRIPT_NAME']));
         if ($base_path == '') {
             $base_path = '/';
         }
         $prefix = $base_path;
         // prepend protocol://hostname:port
         if ($full) {
             $prefix = rcube_utils::resolve_url($prefix);
         }
         $prefix = rtrim($prefix, '/') . '/';
     } else {
         $prefix = './';
     }
     return $prefix . $url;
 }
开发者ID:alecchisi,项目名称:roundcubemail,代码行数:47,代码来源:rcmail.php


注:本文中的rcube_utils::resolve_url方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。