Nooku Server is an open source project powered by Assembla

Assembla offers free public and private SVN/Git repositories and project hosting with bug/issue tracking and collaboration tools.

nooku-server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?php
/**
* @version        $Id: methods.php 14401 2010-01-26 14:10:00Z louis $
* @package        Joomla.Framework
* @copyright    Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
* @license        GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Check to ensure this file is within the rest of the framework
defined('JPATH_BASE') or die();

/**
 * Route handling class
 *
 * @static
 * @package     Joomla.Framework
 * @since        1.5
 */
class JRoute
{
    /**
     * Translates an internal Joomla URL to a humanly readible URL.
     *
     * @access public
     * @param     string      $url     Absolute or Relative URI to Joomla resource
     * @param     boolean  $xhtml Replace & by &amp; for xml compilance
     * @param    int         $ssl    Secure state for the resolved URI
     *          1: Make URI secure using global secure site URI
     *          0: Leave URI in the same secure state as it was passed to the function
     *         -1: Make URI unsecure using the global unsecure site URI
     * @return The translated humanly readible URL
     */
    function _($url, $xhtml = true, $ssl = null)
    {
        // Get the router
        $app    = &JFactory::getApplication();
        $router = &$app->getRouter();

        // Make sure that we have our router
        if (! $router) {
            return null;
        }

        if ( (strpos($url, '&') !== 0 ) && (strpos($url, 'index.php') !== 0) ) {
            return $url;
         }

        // Build route
        $uri = &$router->build($url);
        $url = $uri->toString(array('path', 'query', 'fragment'));

        // Replace spaces
        $url = preg_replace('/\s/u', '%20', $url);

        /*
         * Get the secure/unsecure URLs.
         *
         * If the first 5 characters of the BASE are 'https', then we are on an ssl connection over
         * https and need to set our secure URL to the current request URL, if not, and the scheme is
         * 'http', then we need to do a quick string manipulation to switch schemes.
         */
        $ssl = (int) $ssl;
        if ($ssl)
        {
            $uri =& JURI::getInstance();

            // Get additional parts
            static $prefix;
            if (!$prefix ) {
                $prefix = $uri->toString( array('host', 'port'));
            }

            // Determine which scheme we want
            $scheme    = ( $ssl === 1 ) ? 'https' : 'http';

            // Make sure our url path begins with a slash
            if (!preg_match('#^/#', $url) ) {
                $url = '/'.$url;
            }

            // Build the URL
            $url = $scheme.'://'.$prefix.$url;
        }

        if($xhtml) {
            $url = str_replace( '&', '&amp;', $url );
        }

        return $url;
    }
}

/**
 * Text  handling class
 *
 * @static
 * @package     Joomla.Framework
 * @subpackage    Language
 * @since        1.5
 */
class JText
{
    /**
     * Translates a string into the current language
     *
     * @access    public
     * @param    string $string The string to translate
     * @param    boolean    $jsSafe        Make the result javascript safe
     * @since    1.5
     *
     */
    function _($string, $jsSafe = false)
    {
        $lang =& JFactory::getLanguage();
        return $lang->_($string, $jsSafe);
    }

    /**
     * Passes a string thru an sprintf
     *
     * @access    public
     * @param    format The format string
     * @param    mixed Mixed number of arguments for the sprintf function
     * @since    1.5
     */
    function sprintf($string)
    {
        $lang =& JFactory::getLanguage();
        $args = func_get_args();
        if (count($args) > 0) {
            $args[0] = $lang->_($args[0]);
            return call_user_func_array('sprintf', $args);
        }
        return '';
    }

    /**
     * Passes a string thru an printf
     *
     * @access    public
     * @param    format The format string
     * @param    mixed Mixed number of arguments for the sprintf function
     * @since    1.5
     */
    function printf($string)
    {
        $lang =& JFactory::getLanguage();
        $args = func_get_args();
        if (count($args) > 0) {
            $args[0] = $lang->_($args[0]);
            return call_user_func_array('printf', $args);
        }
        return '';
    }

}
Ajax-loader Loading, please wait...