Ejemplo n.º 1
0
 /**
  * Base URL, with or without the index page.
  *
  * If protocol (and core.site_protocol) and core.site_domain are both empty,
  * then
  *
  * @param   boolean  include the index page
  * @param   boolean  non-default protocol
  * @return  string
  */
 public static function base($index = NO, $protocol = NO)
 {
     if ($protocol == NO) {
         // Use the default configured protocol
         $protocol = Eight::config('core.site_protocol');
     }
     // Load the site domain
     $site_domain = (string) Eight::config('core.site_domain', YES);
     if ($protocol == NO) {
         if ($site_domain === '' or $site_domain[0] === '/') {
             // Use the configured site domain
             $base_url = $site_domain;
         } else {
             // Guess the protocol to provide full http://domain/path URL
             $base_url = request::protocol() . '://' . $site_domain;
         }
     } else {
         if ($site_domain === '' or $site_domain[0] === '/') {
             // Guess the server name if the domain starts with slash
             $base_url = $protocol . '://' . $_SERVER['HTTP_HOST'] . $site_domain;
         } else {
             // Use the configured site domain
             $base_url = $protocol . '://' . $site_domain;
         }
     }
     if ($index === YES and $index = Eight::config('core.index_page')) {
         // Append the index page
         $base_url = $base_url . $index;
     }
     // Force a slash on the end of the URL
     return rtrim($base_url, '/') . '/';
 }
Ejemplo n.º 2
0
 /**
  * Returns the HTTP referrer, or the default if the referrer is not set.
  *
  * @param   mixed   default to return
  * @return  string
  */
 public static function referrer($default = NO)
 {
     if (!empty($_SERVER['HTTP_REFERER'])) {
         // Set referrer
         $ref = $_SERVER['HTTP_REFERER'];
         // Set the request protocol
         $protocol = request::protocol();
         if (strpos($ref, url::base(NO, $protocol)) === 0) {
             // Remove the base URL from the referrer
             $ref = substr($ref, strlen(url::base(YES, $protocol)));
         }
     }
     return isset($ref) ? $ref : $default;
 }
Ejemplo n.º 3
0
 /**
  * Just like url::site() except that it returns an absolute URI and
  * doesn't take a protocol parameter.
  */
 static function abs_site($path)
 {
     return url::site($path, request::protocol());
 }
Ejemplo n.º 4
0
  <div id="g-add-photos-canvas">
    <button id="g-add-photos-button" class="g-button ui-state-default ui-corner-all" href="#"><?php 
echo t("Select photos (%size max per file)...", array("size" => $size_limit));
?>
</button>
    <span id="g-uploadify"></span>
  </div>
  <div id="g-add-photos-status">
    <ul id="g-action-status" class="g-message-block">
    </ul>
  </div>
</div>

<div class="no-flash" style="display: none">
  <p>
    <?php 
echo t("Your browser must have Adobe Flash Player version %flash_minimum_version or greater installed to use this feature.", array("flash_minimum_version" => $flash_minimum_version));
?>
  </p>
  <a href="http://www.adobe.com/go/getflashplayer">
    <img src="<?php 
echo request::protocol();
?>
://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"
         alt=<?php 
echo t("Get Adobe Flash Player")->for_js();
?>
 />
  </a>
</div>
Ejemplo n.º 5
0
 /**
  * See system/helpers/download.php
  */
 private function sendHeaders($filename, $filesize = null)
 {
     if (!is_null($filesize)) {
         header('Content-Length: ' . $filesize);
     }
     // Retrieve MIME type by extension
     $mime = Kohana::config('mimes.' . strtolower(substr(strrchr($filename, '.'), 1)));
     $mime = empty($mime) ? 'application/octet-stream' : $mime[0];
     header("Content-Type: {$mime}");
     header('Content-Transfer-Encoding: binary');
     // Send headers necessary to invoke a "Save As" dialog
     header('Content-Disposition: attachment; filename="' . $filename . '"');
     // Prevent caching
     header('Expires: Thu, 01 Jan 1970 00:00:00 GMT');
     $pragma = 'no-cache';
     $cachecontrol = 'no-cache, max-age=0';
     // request::user_agent('browser') seems bugged
     if (request::user_agent('browser') === 'Internet Explorer' || stripos(request::user_agent(), 'msie') !== false || stripos(request::user_agent(), 'internet explorer') !== false) {
         if (request::protocol() === 'https') {
             // See http://support.microsoft.com/kb/323308/en-us
             $pragma = 'cache';
             $cachecontrol = 'private';
         } else {
             if (request::user_agent('version') <= '6.0') {
                 $pragma = '';
                 $cachecontrol = 'must-revalidate, post-check=0, pre-check=0';
             }
         }
     }
     header('Pragma: ' . $pragma);
     header('Cache-Control: ' . $cachecontrol);
 }
Ejemplo n.º 6
0
 /**
  * Sends a page redirect header and runs the system.redirect Event.
  *
  * @param  mixed   string site URI or URL to redirect to, or array of strings if method is 300
  * @param  string  HTTP method of redirect
  * @return void
  */
 public static function redirect($uri = '', $method = '302')
 {
     if (Event::has_run('system.send_headers')) {
         return FALSE;
     }
     $codes = array('refresh' => 'Refresh', '300' => 'Multiple Choices', '301' => 'Moved Permanently', '302' => 'Found', '303' => 'See Other', '304' => 'Not Modified', '305' => 'Use Proxy', '307' => 'Temporary Redirect');
     // Validate the method and default to 302
     $method = isset($codes[$method]) ? (string) $method : '302';
     if ($method === '300') {
         $uri = (array) $uri;
         $output = '<ul>';
         foreach ($uri as $link) {
             $output .= '<li>' . html::anchor($link) . '</li>';
         }
         $output .= '</ul>';
         // The first URI will be used for the Location header
         $uri = $uri[0];
     } else {
         $output = '<p>' . html::anchor($uri) . '</p>';
     }
     // Run the redirect event
     Event::run('system.redirect', $uri);
     if (strpos($uri, '://') === FALSE) {
         // HTTP headers expect absolute URLs
         $uri = url::site($uri, request::protocol());
     }
     if ($method === 'refresh') {
         header('Refresh: 0; url=' . $uri);
     } else {
         header('HTTP/1.1 ' . $method . ' ' . $codes[$method]);
         header('Location: ' . $uri);
     }
     // We are about to exit, so run the send_headers event
     Event::run('system.send_headers');
     exit('<h1>' . $method . ' - ' . $codes[$method] . '</h1>' . $output);
 }
Ejemplo n.º 7
0
 public function setprefs()
 {
     // Change the calendar year and / or user.
     // Prevent Cross Site Request Forgery
     access::verify_csrf();
     // Get user specified settings.
     $str_user_id = Input::instance()->post("cal_user");
     $str_year_id = Input::instance()->post("cal_year");
     // redirect to the currect page.
     url::redirect(url::site("calendarview/calendar/" . $str_year_id . "/" . $str_user_id, request::protocol()));
 }
Ejemplo n.º 8
0
 static function page_bottom($theme)
 {
     $proto = request::protocol();
     return "<script src=\"{$proto}://e.cooliris.com/slideshow/v/37732/go.js\" " . "type=\"text/javascript\"></script>";
 }
<?php

defined("SYSPATH") or die("No direct script access.");
if (module::get_var("adsense", "location") == "sidebar") {
    $code = module::get_var("adsense", "code");
    if (!$code) {
        return;
    }
    $proto = request::protocol();
    $google_code = '
	<script type="text/javascript">' . $code . '</script>
	<script type="text/javascript"
		src="' . $proto . '://pagead2.googlesyndication.com/pagead/show_ads.js">
	</script>';
    echo $google_code;
}
?>

Ejemplo n.º 10
0
 /**
  * Automatically sets the form action if no action is required
  *
  * @return string $result The resulting formatted form action url
  * @author Sam Clark
  */
 protected function _set_action()
 {
     $result = url::current();
     if (!empty($this->attributes['action'])) {
         if (preg_match('/(http:\\/\\/|https:\\/\\/)/', $this->attributes['action'])) {
             $result = $this->attributes['action'];
         } else {
             $result = url::site($this->attributes['action'], request::protocol());
         }
     }
     return $result;
 }
<?php

defined("SYSPATH") or die("No direct script access.");
?>
<?
  // Base URL for flag pictures.
  $flag_type = module::get_var("language_flags", "flag_shape");
  $base_url = url::base(false, request::protocol()) . "modules/language_flags/images/" . $flag_type . "/";

  // Loop through each installed locale and display a flag.
  while ($one_locale = current($installed_locales)) {
    // Skip "default" so we don't end up with the same flag twice.
    if (key($installed_locales) != "") {

      // Use seperate div id's and img classes for the current language, the default language, and everything else.
      $div_id = "g-language-flag";
      $img_class = "g-flag";
      if (key($installed_locales) == $selected) {
        $div_id = "g-selected-language-flag";
        $img_class = "g-selected-flag";
      } elseif (key($installed_locales) == module::get_var("gallery", "default_locale")) {
        $div_id = "g-default-language-flag";
        $img_class = "g-default-flag";
      }

      // Figure out where the flag is / use the default if it doesn't exist.
      $flag_path = MODPATH . "language_flags/images/" . $flag_type . "/" . key($installed_locales) . ".png";
      $flag_url = $base_url . key($installed_locales) . ".png";
      if (!file_exists($flag_path)) {
        $flag_url = $base_url . "default.png";
      }
Ejemplo n.º 12
0
 /**
  * Get a single line of text representing the exception:
  *
  * Error [ Code ]: Message ~ File [ Line ]
  *
  * @param   object  Exception
  * @return  string
  */
 public static function text($e, $full_args = FALSE)
 {
     // Should we use the full argument length or truncate?
     $arg_char_limit = $full_args ? 2500 : 50;
     // Clean up the message a bit
     $message = str_replace(array("<br>", "<br/>", "<br />", "\r\n", "\n", "\r"), '; ', strip_tags($e->getMessage()));
     // How was the request made
     $called = 'Request:' . "\n";
     $method = strtoupper(request::method());
     if ($method == 'CLI') {
         $called .= 'CLI - ' . cli::launch_cmd();
     } else {
         $called .= '[' . $method . '] ' . request::ip() . ' - ' . request::protocol() . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
         if (is_array($_POST) && count($_POST) > 0) {
             $called .= "\n\nBody:\n";
             $called .= var_export($_POST, TRUE);
         }
     }
     return sprintf('%s [ %s ]: %s ~ %s [ %d ]' . "\n\n" . '%s' . "\n\n" . '%s' . "\n", get_class($e), $e->getCode(), $message, Eight_Exception::debug_path($e->getFile()), $e->getLine(), $called, Eight_Exception::trace_string($e->getTrace(), $arg_char_limit));
 }