We now can get the SVN binary to link
[viewsvn.git] / includes / node.php
1 <?php
2 /*=====================================================================*\
3 || ###################################################################
4 || # ViewSVN [#]version[#]
5 || # Copyright ©2002-[#]year[#] Iris Studios, Inc.
6 || #
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version [#]gpl[#] of the License.
10 || #
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 || # more details.
15 || #
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
21
22 /**
23 * Node Controller
24 *
25 * This class represents one node in SVN. For each node that you need
26 * to display information about, create a new instance of this class.
27 * Generally, however, this one instance should be able to handle
28 * the needs of the entire class.
29 *
30 * @author Iris Studios, Inc.
31 * @copyright Copyright ©2002 - [#]year[#], Iris Studios, Inc.
32 * @version $Revision$
33 * @package ViewSVN
34 *
35 */
36 class Node_Controller
37 {
38 /**
39 * Registry class
40 * @var object
41 * @access private
42 */
43 var $registry = null;
44
45 /**
46 * Xquery layer
47 * @var object
48 * @access private
49 */
50 var $xquery = null;
51
52 /**
53 * Xquery method library
54 * @var object
55 * @access private
56 */
57 var $library = null;
58
59 /**
60 * cacheV layer
61 * @var object
62 * @access private
63 */
64 var $cachev = null;
65
66 /**
67 * Full, universal path of the node
68 * @var string
69 * @access public
70 */
71 var $fullpath;
72
73 /**
74 * Repository of the path
75 * @var string
76 * @access public
77 */
78 var $repos;
79
80 /**
81 * Relative path in the repository
82 * @var string
83 * @access public
84 */
85 var $path;
86
87 // ###################################################################
88 /**
89 * Constructor
90 *
91 * @access public
92 */
93 function Node_Controller($nodepath)
94 {
95 global $viewsvn;
96
97 // variables
98 $this->fullpath = $nodepath;
99
100 $temp = preg_split('#/#', $this->fullpath, -1, PREG_SPLIT_NO_EMPTY);
101
102 $this->repos = $temp[0];
103
104 unset($temp[0]);
105 $this->path = '/' . implode('/', $temp);
106
107 // objects
108 $this->registry =& $viewsvn;
109
110 require_once('./includes/shellcmd.php');
111 $this->xquery = new Shell($this);
112
113 require_once('./includes/svnlib.php');
114 $this->library = new SVNLib($this);
115
116 require_once('./includes/cachev.php');
117 $this->cachev = new cacheV($this);
118 }
119 }
120
121 /*=====================================================================*\
122 || ###################################################################
123 || # $HeadURL$
124 || # $Id$
125 || ###################################################################
126 \*=====================================================================*/
127 ?>