Implement #015359: access.php - new MatchOrder=host_uri
[tinyz:tinyz.git] / access.php
1 <?php
2 /**
3  * File containing (site)access functions
4  *
5  * @copyright Copyright (C) 1999-2010 eZ Systems AS. All rights reserved.
6  * @license http://ez.no/licenses/gnu_gpl GNU GPL v2
7  * @version //autogentag//
8  * @package index
9  * @deprecated This file and its compatibility functions/constants will be removed in "4.6"
10  */
11
12
13 /**
14  * Integer constants that identify the siteaccess matching used
15  *
16  * @see eZSiteAccess class constants
17  */
18 define( 'EZ_ACCESS_TYPE_DEFAULT', 1 );
19 define( 'EZ_ACCESS_TYPE_URI', 2 );
20 define( 'EZ_ACCESS_TYPE_PORT', 3 );
21 define( 'EZ_ACCESS_TYPE_HTTP_HOST', 4 );
22 define( 'EZ_ACCESS_TYPE_INDEX_FILE', 5 );
23 define( 'EZ_ACCESS_TYPE_STATIC', 6 );
24 define( 'EZ_ACCESS_TYPE_SERVER_VAR', 7 );
25 define( 'EZ_ACCESS_TYPE_URL', 8 );
26
27 define( 'EZ_ACCESS_SUBTYPE_PRE', 1 );
28 define( 'EZ_ACCESS_SUBTYPE_POST', 2 );
29
30 /**
31  * Goes trough the access matching rules and returns the access match.
32  * The returned match is an associative array with:
33  *  name     => string Name of the siteaccess (same as folder name)
34  *  type     => int The constant that represent the matching used
35  *  uri_part => array(string) List of path elements that was used in start of url for the match
36  *
37  * @see eZSiteAccess::match()
38  * @param eZURI $uri
39  * @param string $host
40  * @param string(numeric) $port
41  * @param string $file Example '/index.php'
42  * @return array
43  */
44 function accessType( eZURI $uri, $host, $port, $file )
45 {
46     return eZSiteAccess::match( $uri, $host, $port, $file );
47 }
48
49 /**
50  * Changes the site access to what's defined in $access. It will change the
51  * access path in eZSys and prepend an override dir to eZINI
52  *
53  * @see eZSiteAccess::change()
54  * @param array $access An associative array with 'name' (string), 'type' (int) and 'uri_part' (array).
55  * @return array The $access parameter
56  */
57 function changeAccess( array $access )
58 {
59     return eZSiteAccess::change( $access );
60 }
61
62 /**
63  * Match a regex expression
64  *
65  * @see eZSiteAccess::matchRegexp()
66  * @param string $text
67  * @param string $reg
68  * @param int $num
69  * @return string|null
70  */
71 function accessMatchRegexp( &$text, $reg, $num )
72 {
73     return eZSiteAccess::matchRegexp( $text, $reg, $num );
74 }
75
76 /**
77  * Match a text string with pre or/or post text strings
78  *
79  * @see eZSiteAccess::matchText()
80  * @param string $text
81  * @param string $match_pre
82  * @param string $match_post
83  * @return string|null
84  */
85 function accessMatchText( &$text, $match_pre, $match_post )
86 {
87     return eZSiteAccess::matchText( $text, $match_pre, $match_post );
88 }
89
90 /**
91  * Checks if site access debug is enabled
92  *
93  * @see eZSiteAccess::debugEnabled()
94  * @return bool
95  */
96 function accessDebugEnabled()
97 {
98     return eZSiteAccess::debugEnabled();
99 }
100
101 /**
102  * Checks if extra site access debug is enabled
103  *
104  * @see eZSiteAccess::extraDebugEnabled()
105  * @return bool
106  */
107 function accessExtraDebugEnabled()
108 {
109     return eZSiteAccess::extraDebugEnabled();
110 }
111
112 /**
113  * Checks if access is allowed to a module/view based on site.ini[SiteAccessRules]Rules settings
114  *
115  * @see eZModule::accessAllowed()
116  * @param eZURI $uri
117  * @return array An associative array with:
118  *   'result'       => bool   Indicates if access is allowed
119  *   'module'       => string Module name
120  *   'view'         => string View name
121  *   'view_checked' => bool   Indicates if view access has been checked
122  */
123 function accessAllowed( eZURI $uri )
124 {
125     return eZModule::accessAllowed( $uri );
126 }
127
128 ?>