185 |
miho |
1 |
<?php |
|
|
2 |
# vim:et:ts=3:sts=3:sw=3:fdm=marker: |
|
|
3 |
|
|
|
4 |
// WebSVN - Subversion repository viewing via the web using PHP |
|
|
5 |
// Copyright © 2004-2006 Tim Armes, Matt Sicker |
|
|
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; either version 2 of the License, or |
|
|
10 |
// (at your option) any later version. |
|
|
11 |
// |
|
|
12 |
// This program is distributed in the hope that it will be useful, |
|
|
13 |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
14 |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
15 |
// GNU General Public License for more details. |
|
|
16 |
// |
|
|
17 |
// You should have received a copy of the GNU General Public License |
|
|
18 |
// along with this program; if not, write to the Free Software |
|
|
19 |
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
|
20 |
// |
|
|
21 |
// -- |
|
|
22 |
// |
|
|
23 |
// config.inc |
|
|
24 |
// |
|
|
25 |
// Configuration parameters |
|
|
26 |
|
|
|
27 |
// --- FOLLOW THE INSTRUCTIONS BELOW TO CONFIGURE YOUR SETUP --- |
|
|
28 |
|
|
|
29 |
// {{{ PLATFORM CONFIGURATION --- |
|
|
30 |
|
|
|
31 |
// Uncomment the next line if your running a windows server |
|
|
32 |
// |
|
|
33 |
// $config->setServerIsWindows(); |
|
|
34 |
|
|
|
35 |
// Configure these lines if your commands aren't on your path. |
|
|
36 |
// |
|
|
37 |
// $config->setSVNCommandPath('Path/to/svn and svnlook/ e.g. c:\\program files\\subversion\\bin'); |
|
|
38 |
// $config->setDiffPath('Path/to/diff/command/'); |
|
|
39 |
|
|
|
40 |
// For syntax colouring, if option enabled... |
|
|
41 |
// $config->setEnscriptPath('Path/to/enscript/command/'); |
|
|
42 |
// $config->setSedPath('Path/to/sed/command/'); |
|
|
43 |
|
|
|
44 |
// For delivered tarballs, if option enabled... |
|
|
45 |
// $config->setTarPath('Path/to/tar/command/'); |
|
|
46 |
|
|
|
47 |
// For delivered GZIP'd files and tarballs, if option enabled... |
|
|
48 |
// $config->setGZipPath('Path/to/gzip/command/'); |
|
|
49 |
|
|
|
50 |
// }}} |
|
|
51 |
|
|
|
52 |
// {{{ REPOSITORY SETUP --- |
|
|
53 |
|
|
|
54 |
// There are 2 methods for defining the repositiories available on the system. Either you list |
|
|
55 |
// them by hand, in which case you can give each one the name of your choice, or you use the |
|
|
56 |
// parent path function, in which case the name of the directory is used as the repository name. |
|
|
57 |
// |
|
|
58 |
// In all cases, you may optionally supply a group name to the repositories. This is useful in the |
|
|
59 |
// case that you need to separate your projects. Grouped Repositories are referred to using the |
|
|
60 |
// convention GroupName.RepositoryName |
|
|
61 |
// |
|
|
62 |
// Performance is much better on local repositories (e.g. accessed by file:///). However, you |
|
|
63 |
// can also provide an interface onto a remote repository. In this case you should supply the |
|
|
64 |
// username and password needed to access it. |
|
|
65 |
// |
|
|
66 |
// To configure the repositories by hand, copy the appropriate line below, uncomment it and |
|
|
67 |
// replace the name and URL of your repository. |
|
|
68 |
|
|
|
69 |
// Local repositories (without and with optional group): |
|
|
70 |
// |
|
|
71 |
// $config->addRepository('NameToDisplay', 'URL to repository (e.g. file:///c:/svn/proj)'); |
|
|
72 |
// $config->addRepository('NameToDisplay', 'URL to repository (e.g. file:///c:/svn/proj)', 'group'); |
|
|
73 |
// |
|
|
74 |
// Remote repositories (without and with optional group): |
|
|
75 |
// |
|
|
76 |
// $config->addRepository('NameToDisplay', 'URL (e.g. http://path/to/rep)', NULL, 'username', 'password'); |
|
|
77 |
// $config->addRepository('NameToDisplay', 'URL (e.g. http://path/to/rep)', 'group', 'username', 'password'); |
|
|
78 |
// |
|
|
79 |
// To use the parent path method, uncomment the newt line and and replace the path with your one. You |
|
|
80 |
// can call the function several times if you have several parent paths. Note that in this case the |
|
|
81 |
// path is a filesystem path |
|
|
82 |
// |
|
|
83 |
// $config->parentPath('Path/to/parent (e.g. c:\\svn)'); |
|
|
84 |
|
|
|
85 |
// }}} |
|
|
86 |
|
|
|
87 |
// {{{ LOOK AND FEEL --- |
|
|
88 |
// |
|
|
89 |
// Uncomment ONLY the template file that you want. |
|
|
90 |
|
|
|
91 |
$config->setTemplatePath("$locwebsvnreal/templates/Standard/"); |
|
|
92 |
// $config->setTemplatePath("$locwebsvnreal/templates/BlueGrey/"); |
|
|
93 |
// $config->setTemplatePath("$locwebsvnreal/templates/Zinn/"); |
|
|
94 |
|
|
|
95 |
// You may also specify a per repository template file by uncommenting and changing the following |
|
|
96 |
// line as necessary. Use the convention "groupname.myrep" if your repository is in a group. |
|
|
97 |
|
|
|
98 |
// $config->setTemplatePath('$locwebsvnreal/templates/Standard/', 'myrep'); // Access file for myrep |
|
|
99 |
|
|
|
100 |
// The index page containing the projects may either be displayed as a flat view (the default), |
|
|
101 |
// where grouped repositories are displayed as "GroupName.RepName" or as a tree view. |
|
|
102 |
// In the case of a tree view, you may choose whether the entire tree is open by default. |
|
|
103 |
|
|
|
104 |
// $config->useTreeIndex(false); // Tree index, closed by default |
|
|
105 |
// $config->useTreeIndex(true); // Tree index, open by default |
|
|
106 |
|
|
|
107 |
// By default, WebSVN displays a tree view onto the current directory. You can however |
|
|
108 |
// choose to display a flat view of the current directory only, which may make the display |
|
|
109 |
// load faster. Uncomment this line if you want that. |
|
|
110 |
|
|
|
111 |
// $config->useFlatView(); |
|
|
112 |
|
|
|
113 |
// }}} |
|
|
114 |
|
|
|
115 |
// {{{ LANGUAGE SETUP --- |
|
|
116 |
|
|
|
117 |
// WebSVN uses the iconv module to convert messages from your system's character set to the |
|
|
118 |
// UTF-8 output encoding. If you find that your log messages aren't displayed correctly then |
|
|
119 |
// you'll need to change the value here. |
|
|
120 |
// |
|
|
121 |
// You may also specify the character encoding of the repository contents if different from |
|
|
122 |
// the system encoding. This is typically the case for windows users, whereby the command |
|
|
123 |
// line returns, for example, CP850 encoded strings, whereas the source files are encoded |
|
|
124 |
// as iso-8859-1 by Windows based text editors. When display text file, WebSVN will convert |
|
|
125 |
// them from the content encoding to the output encoding (UTF-8). |
|
|
126 |
// |
|
|
127 |
// WebSVN does its best to automate all this, so only use the following if it doesn't work |
|
|
128 |
// "out of the box". Uncomment and change one of the examples below. |
|
|
129 |
// |
|
|
130 |
// $config->setInputEncoding('CP850'); // Encoding of result returned by svn command line, etc. |
|
|
131 |
// $config->setContentEncoding('iso-8859-1'); // Content encoding of all your repositories // repositories |
|
|
132 |
|
|
|
133 |
// You may also specify a content encoding on a per repository basis. Uncomment and copy this |
|
|
134 |
// line as necessary. |
|
|
135 |
// |
|
|
136 |
// $config->setContentEncoding('iso-8859-1', 'MyEnc'); |
|
|
137 |
|
|
|
138 |
// Note for Windows users: To enable iconv you'll need to enable the extension in your php.ini file |
|
|
139 |
// AND copy iconv.dll (not php_iconv.dll) to your Windows system folder. In most cases the correct |
|
|
140 |
// encoding is set when you call $config->setServerIsWindows();. |
|
|
141 |
|
|
|
142 |
// Note for *nix users. You'll need to have iconv compiled into your binary. The default input and |
|
|
143 |
// output encodings are taken from your locale informations. Override these if they aren't correct. |
|
|
144 |
|
|
|
145 |
// Uncomment the default language. If you want English then don't do anything here. |
|
|
146 |
// |
|
|
147 |
// include 'languages/catalan.inc'; |
|
|
148 |
// include 'languages/czech.inc'; |
|
|
149 |
// include 'languages/danish.inc'; |
|
|
150 |
// include 'languages/dutch.inc'; |
|
|
151 |
// include 'languages/finnish.inc'; |
|
|
152 |
// include 'languages/french.inc'; |
|
|
153 |
// include 'languages/german.inc'; |
|
|
154 |
// include 'languages/japanese.inc'; |
|
|
155 |
// include 'languages/korean.inc'; |
|
|
156 |
// include 'languages/norwegian.inc'; |
|
|
157 |
// include 'languages/polish.inc'; |
|
|
158 |
// include 'languages/portuguese.inc'; |
|
|
159 |
// include 'languages/russian.inc'; |
|
|
160 |
// include 'languages/schinese.inc'; |
|
|
161 |
// include 'languages/slovenian.inc'; |
|
|
162 |
// include 'languages/spanish.inc'; |
|
|
163 |
// include 'languages/swedish.inc'; |
|
|
164 |
// include 'languages/tchinese.inc'; |
|
|
165 |
// include 'languages/turkish.inc'; |
|
|
166 |
|
|
|
167 |
// }}} |
|
|
168 |
|
|
|
169 |
// {{{ MULTIVIEWS --- |
|
|
170 |
|
|
|
171 |
// Uncomment this line if you want to use MultiView to access the repository by, for example: |
|
|
172 |
// |
|
|
173 |
// http://servername/wsvn/repname/path/in/repository |
|
|
174 |
// |
|
|
175 |
// Note: The websvn directory will need to have Multiviews turned on in Apache, and you'll need to configure |
|
|
176 |
// wsvn.php |
|
|
177 |
|
|
|
178 |
// $config->useMultiViews(); |
|
|
179 |
|
|
|
180 |
// }}} |
|
|
181 |
|
|
|
182 |
// {{{ ACCESS RIGHTS --- |
|
|
183 |
|
|
|
184 |
// Uncomment this line if you want to use your Subversion access file to control access |
|
|
185 |
// rights via WebSVN. For this to work, you'll need to set up the same Apache based authentication |
|
|
186 |
// to the WebSVN (or wsvn) directory as you have for Subversion itself. More information can be |
|
|
187 |
// found in install.txt |
|
|
188 |
|
|
|
189 |
// $config->useAuthenticationFile('/path/to/accessfile'); // Global access file |
|
|
190 |
|
|
|
191 |
// You may also specify a per repository access file by uncommenting and copying the following |
|
|
192 |
// line as necessary. Use the convention 'groupname.myrep' if your repository is in a group. |
|
|
193 |
|
|
|
194 |
// $config->useAuthenticationFile('/path/to/accessfile', 'myrep'); // Access file for myrep |
|
|
195 |
|
|
|
196 |
// }}} |
|
|
197 |
|
|
|
198 |
// {{{ FILE CONTENT --- |
|
|
199 |
// |
|
|
200 |
// You may wish certain file types to be GZIP'd and delieved to the user when clicked apon. |
|
|
201 |
// This is useful for binary files and the like that don't display well in a browser window! |
|
|
202 |
// Copy, uncomment and modify this line for each extension to which this rule should apply. |
|
|
203 |
// (Don't forget the . before the extension. You don't need an index between the []'s). |
|
|
204 |
// If you'd rather that the files were delivered uncompressed with the associated MIME type, |
|
|
205 |
// then read below. |
|
|
206 |
// |
|
|
207 |
// $zipped[] = '.dll'; |
|
|
208 |
|
|
|
209 |
// Subversion controlled files have an svn:mime-type property that can |
|
|
210 |
// be set on a file indicating its mime type. By default binary files |
|
|
211 |
// are set to the generic appcliation/octet-stream, and other files |
|
|
212 |
// don't have it set at all. WebSVN also has a built-in list of |
|
|
213 |
// associations from file extension to MIME content type. (You can |
|
|
214 |
// view this list in setup.inc). |
|
|
215 |
// |
|
|
216 |
// Determining the content-type: By default, if the svn:mime-type |
|
|
217 |
// property exists and is different from application/octet-stream, it |
|
|
218 |
// is used. Otherwise, if the built-in list has a contentType entry |
|
|
219 |
// for the extension of the file, that is used. Otherwise, if the |
|
|
220 |
// svn:mime-type property exists has the generic binary value of |
|
|
221 |
// application/octet-stream, the file will be served as a binary |
|
|
222 |
// file. Otherwise, the file will be brought up as ASCII text in the |
|
|
223 |
// browser window (although this text may optionally be colourised. |
|
|
224 |
// See below). |
|
|
225 |
// |
|
|
226 |
// Uncomment this if you want to ignore any svn:mime-type property on your |
|
|
227 |
// files. |
|
|
228 |
// |
|
|
229 |
// $config->ignoreSvnMimeTypes(); |
|
|
230 |
// |
|
|
231 |
// Uncomment this if you want skip WebSVN's custom mime-type handling |
|
|
232 |
// |
|
|
233 |
// $config->ignoreWebSVNContentTypes(); |
|
|
234 |
// |
|
|
235 |
// Following the examples below, you can add new associations, modify |
|
|
236 |
// the default ones or even delete them entirely (to show them in |
|
|
237 |
// ASCII via WebSVN). |
|
|
238 |
|
|
|
239 |
// $contentType['.c'] = 'plain/text'; // Create a new association |
|
|
240 |
// $contentType['.doc'] = 'plain/text'; // Modify an existing one |
|
|
241 |
// unset($contentType['.m'] // Remove a default association |
|
|
242 |
|
|
|
243 |
// }}} |
|
|
244 |
|
|
|
245 |
// {{{ TARBALLS --- |
|
|
246 |
|
|
|
247 |
// You need tar and gzip installed on your system. Set the paths above if necessary |
|
|
248 |
// |
|
|
249 |
// Uncomment the line below to offer a tarball download option across all your |
|
|
250 |
// repositories. |
|
|
251 |
// |
|
|
252 |
// $config->allowDownload(); |
|
|
253 |
// |
|
|
254 |
// To change the global option for individual repositories, uncomment and replicate |
|
|
255 |
// the required line below (replacing 'myrep' for the name of the repository to be changed). |
|
|
256 |
// Use the convention 'groupname.myrep' if your repository is in a group. |
|
|
257 |
|
|
|
258 |
// $config->allowDownload('myrep'); // Specifically allow downloading for 'myrep' |
|
|
259 |
// $config->disallowDownload('myrep'); // Specifically disallow downloading for 'myrep' |
|
|
260 |
|
|
|
261 |
// You can also choose the minimum directory level from which you'll allow downloading. |
|
|
262 |
// A value of zero will allow downloading from the root. 1 will allow downloding of directories |
|
|
263 |
// in the root, etc. |
|
|
264 |
// |
|
|
265 |
// If your project is arranged with trunk, tags and branches at the root level, then a value of 2 |
|
|
266 |
// would allow the downloading of directories within branches/tags while disallowing the download |
|
|
267 |
// of the entire branches or tags directories. This would also stop downloading of the trunk, but |
|
|
268 |
// see after for path exceptions. |
|
|
269 |
// |
|
|
270 |
// Change the line below to set the download level across all your repositories. |
|
|
271 |
|
|
|
272 |
$config->setMinDownloadLevel(2); |
|
|
273 |
|
|
|
274 |
// To change the level for individual repositories, uncomment and replicate |
|
|
275 |
// the required line below (replacing 'myrep' for the name of the repository to be changed). |
|
|
276 |
// Use the convention 'groupname.myrep' if your repository is in a group. |
|
|
277 |
|
|
|
278 |
// $config->setMinDownloadLevel(2, 'myrep'); |
|
|
279 |
|
|
|
280 |
// Finally, you may add or remove certain directories (and their contents) either globally |
|
|
281 |
// or on a per repository basis. Uncomment and copy the following lines as necessary. Note |
|
|
282 |
// that the these are searched in the order than you give them until a match is made (with the |
|
|
283 |
// exception that all the per repository exceptions are tested before the global ones). This means |
|
|
284 |
// that you must disallow /a/b/c/ before you allow /a/b/ otherwise the allowed match on /a/b/ will |
|
|
285 |
// stop any further searching, thereby allowing downloads on /a/b/c/. |
|
|
286 |
|
|
|
287 |
// Global exceptions possibilties: |
|
|
288 |
// |
|
|
289 |
// $config->addAllowedDownloadException('/path/to/allowed/directory/'); |
|
|
290 |
// $config->addDisAllowedDownloadException('/path/to/disallowed/directory/'); |
|
|
291 |
// |
|
|
292 |
// Per repository exception possibilties: |
|
|
293 |
// Use the convention 'groupname.myrep' if your repository is in a group. |
|
|
294 |
// |
|
|
295 |
// $config->addAllowedDownloadException('/path/to/allowed/directory/', 'myrep'); |
|
|
296 |
// $config->addDisAllowedDownloadException('/path/to/disallowed/directory/', 'myrep'); |
|
|
297 |
|
|
|
298 |
// }}} |
|
|
299 |
|
|
|
300 |
// {{{ COLOURISATION --- |
|
|
301 |
|
|
|
302 |
// Uncomment this line if you want to use Enscript to colourise your file listings |
|
|
303 |
// |
|
|
304 |
// You'll need Enscript version 1.6 or higher AND Sed installed to use this feature. |
|
|
305 |
// Set the path above. |
|
|
306 |
// |
|
|
307 |
// $config->useEnscript(); |
|
|
308 |
|
|
|
309 |
// Enscript need to be told what the contents of a file are so that it can be colourised |
|
|
310 |
// correctly. WebSVN includes a predefined list of mappings from file extension to Enscript |
|
|
311 |
// file type (viewable in setup.inc). |
|
|
312 |
// |
|
|
313 |
// Here you should add and other extensions not already listed or redefine the default ones. eg: |
|
|
314 |
// |
|
|
315 |
// $extEnscript['.pas'] = 'pascal'; |
|
|
316 |
// |
|
|
317 |
// Note that extensions are case sensitive. |
|
|
318 |
|
|
|
319 |
// }}} |
|
|
320 |
|
|
|
321 |
// {{{ RSSFEED --- |
|
|
322 |
|
|
|
323 |
// Uncomment this line if you wish to hide the RSS feed links across all repositories |
|
|
324 |
// |
|
|
325 |
// $config->hideRSS(); |
|
|
326 |
// |
|
|
327 |
// To change the global option for individual repositories, uncomment and replicate |
|
|
328 |
// the required line below (replacing 'myrep' for the name of the repository to be changed). |
|
|
329 |
// Use the convention 'groupname.myrep' if your repository is in a group. |
|
|
330 |
|
|
|
331 |
// $config->hideRSS('myrep'); // Specifically hide RSS links for 'myrep' |
|
|
332 |
// $config->showRSS('myrep'); // Specifically show RSS links for 'myrep' |
|
|
333 |
|
|
|
334 |
// }}} |
|
|
335 |
|
|
|
336 |
// {{{ BUGTRAQ --- |
|
|
337 |
|
|
|
338 |
// Uncomment this line if you wish to use bugtraq: properties to show links to your BugTracker |
|
|
339 |
// from the log messages. |
|
|
340 |
// |
|
|
341 |
// $config->useBugtraqProperties(); |
|
|
342 |
// |
|
|
343 |
// To change the global option for individual repositories, uncomment and replicate |
|
|
344 |
// the required line below (replacing 'myrep' for the name of the repository to be changed). |
|
|
345 |
// Use the convention 'groupname.myrep' if your repository is in a group. |
|
|
346 |
|
|
|
347 |
// $config->useBugtraqProperties('myrep'); // Specifically use bugtraq properties for 'myrep' |
|
|
348 |
// $config->ignoreBugtraqProperties('myrep'); // Specifically ignore bugtraq properties for 'myrep' |
|
|
349 |
|
|
|
350 |
// }}} |
|
|
351 |
|
|
|
352 |
// {{{ MISCELLANEOUS --- |
|
|
353 |
|
|
|
354 |
// Comment out this if you don't have the right to use it. Be warned that you may need it however! |
|
|
355 |
set_time_limit(0); |
|
|
356 |
|
|
|
357 |
// Comment this line to turn off caching of repo information. This will slow down your browsing. |
|
|
358 |
$config->setCachingOn(); |
|
|
359 |
|
|
|
360 |
// Number of spaces to expand tabs to in diff/listing view across all repositories |
|
|
361 |
|
|
|
362 |
$config->expandTabsBy(8); |
|
|
363 |
|
|
|
364 |
// To change the global option for individual repositories, uncomment and replicate |
|
|
365 |
// the required line below (replacing 'myrep' for the name of the repository to be changed). |
|
|
366 |
// Use the convention 'groupname.myrep' if your repository is in a group. |
|
|
367 |
|
|
|
368 |
// $config->expandTabsBy(3, 'myrep'); // Expand Tabs by 3 for repository 'myrep' |
|
|
369 |
|
|
|
370 |
// For installations without PHP5, a copy of PEAR's PHP Compat library is included. |
|
|
371 |
// If you have your own version of Compat you wish to use, go ahead and specify here. |
|
|
372 |
|
|
|
373 |
// $config->setPHPCompatPath('/usr/share/php/PHP/'); |
|
|
374 |
|
|
|
375 |
// }}} |
|
|
376 |
?> |