lib.SVNAdmin
[ class tree: lib.SVNAdmin ] [ index: lib.SVNAdmin ] [ all elements ]

Class: SVNAdmin

Source Location: /svnadmin.class.php

Class Overview


Diese Klasse dient dazu die Repositories zu verwalten


Author(s):

  • Martin Grund

Version:

  • 1.0

Copyright:

  • 2005 Hasso-Plattner-Institut für Softwaresystemtechnik

Variables

Methods



Class Details

[line 19]
Diese Klasse dient dazu die Repositories zu verwalten

wird später mehr Funktionalität gewünscht, kann diese in dieser Klasse hinzugefügt werden. Damit nur authorisierte Benutzer Repositories wieder löschen können, werden alle reps und deren Ersteller in einer eigenen INI Datei verwaltet. Dabei werden alle Benutzer die zu einem Repository hinzugefügt werden können in einer separaten htpasswd Datei verwaltet. Die Zugriffsrechte für die Repositorys werden doppelt gespeichert einmal in der Datei

  1. $_config_file_name
und in der Konfigurationsdatei die von Subversion direkt benutzt wird. So ist es möglich in der Konfigurationsdatei die im lokalem Programm benutzt wird weitere Informationen hinzuzufügen.




Tags:

version:  1.0
link:  http://www.grundprinzip.de
author:  Martin Grund
copyright:  2005 Hasso-Plattner-Institut für Softwaresystemtechnik


[ Top ]


Class Variables

$current_user =  null

[line 27]


Type:   mixed


[ Top ]

$error_list = array()

[line 29]


Type:   mixed


[ Top ]

$lock_handle =

[line 33]


Type:   mixed


[ Top ]

$pass =  null

[line 28]


Type:   mixed


[ Top ]

$user_list = array()

[line 30]


Type:   mixed


[ Top ]

$use_fs_locks =  true

[line 32]


Type:   mixed


[ Top ]

$_config_file_name =  "rep_list.ini"

[line 22]


Type:   mixed


[ Top ]

$_repository_list = array()

[line 21]


Type:   mixed


[ Top ]

$_svn_config_file =  "c:/xampp5/svn/usr_config.cfg"

[line 23]


Type:   mixed


[ Top ]

$_svn_parent_path =  "c:/xampp5/svn"

[line 25]


Type:   mixed


[ Top ]

$_svn_password_file =  "c:/xampp5/svn/usr_list"

[line 24]


Type:   mixed


[ Top ]



Class Methods


constructor SVNAdmin [line 45]

SVNAdmin SVNAdmin( String $username, String $pass)

Konstruktor der Klasse. Hier wird der aktuelle Benutzer initialisiert und geladen. Weiterhin wird die Konfiguration geladen, damit diese Benutzt werden kann



Tags:

access:  public


Parameters:

String   $username   Der aktuelle Benutzername
String   $pass   Das Passwort

[ Top ]

method addGlobalUser [line 392]

void addGlobalUser( mixed $username, mixed $password)

Diese Methode erzeugt ein HTAccess Password mittels der Funktion htpasswd. Diese wird benutzt, da unter Windows Probleme mit dem manuellen Crypt auftreten können.



[ Top ]

method addUserToRepository [line 185]

Boolean addUserToRepository( String $user, String $rep_name, String $rights)

Diese Methode fügt einen Bentzer zu dem Repository hinzu



Tags:

access:  public


Parameters:

String   $user   der neue Benutzer
String   $rep_name   Der Name des Repositorys
String   $rights   Die Rechte des Benutzers

[ Top ]

method changeUserRights [line 271]

boolean changeUserRights( String $user, String $rep_name, String $rights)

Diese Methode verändert die Zugriffsrechte eines Benutzers in einem Repository.



Tags:

access:  public


Parameters:

String   $user   Der zu verändernde Benutzer
String   $rep_name   Der Name des Repositorys
String   $rights   Die neuen Benutzerrechte

[ Top ]

method createRepository [line 82]

Boolean createRepository( String $rep_name)

Diese Methode erstellt ein neues Repository im Kontext des aktuellen Benutzers. Dazu wird mittels
  1. svn create
ein neues Repository angelegt und dann der Benutzer hinzugefügt.



Tags:

access:  public


Parameters:

String   $rep_name   Der Name des Repositories

[ Top ]

method deleteRepository [line 142]

Boolean deleteRepository( String $rep_name)

Diese Methode löscht ein Repository aus dem Stammverzeichnis dise geschieht durch aufrufen von
  1. rm -Rf




Tags:

access:  public


Parameters:

String   $rep_name   Der Name des Repositorys

[ Top ]

method deleteUser [line 257]

void deleteUser( String $user)

Diese Funktion löscht einen Benutzer aus der globalen Benutzerliste



Parameters:

String   $user   Der Benutzer

[ Top ]

method getAllRegisteredUsers [line 367]

Array getAllRegisteredUsers( )

Liefert die Liste aller global registrierten Benutzer zurück.



Tags:

access:  public


[ Top ]

method getRegisteredUserByName [line 382]

void getRegisteredUserByName( mixed $username)



[ Top ]

method getRepositoryUsers [line 305]

Array getRepositoryUsers( String $rep_name)

Diese Funktion liefert die Benutzer eines ausgewählten Repositorys zurück



Tags:

access:  public


Parameters:

String   $rep_name   Der Name des Repositorys

[ Top ]

method getUserRepositories [line 336]

Array getUserRepositories( mixed $user)

Liest alle Repositories des aktuellen Benutzers aus und liefert diese in einem Array zurück.



Tags:

access:  public


[ Top ]

method removeUserFromRepository [line 224]

Boolean removeUserFromRepository( String $user, String $rep_name)

Diese Methode entfernt einen Benutzer aus dem Repository.



Tags:

access:  public


Parameters:

String   $user   Der zu entfernende Benutzer
String   $rep_name   Der Name des Repositorys

[ Top ]

method _aquireExclusiveLock [line 650]

boolean _aquireExclusiveLock( )

Diese Funktion legt eine globale Schreibsperre auf die Konfigurationsdateien.

Diese Funktion funktioniert solange, wie nur auf die public Methoden zugegriffen wird. Dies ist der Tribut an die Performance.




Tags:

access:  private


[ Top ]

method _checkIfRepositoryExists [line 515]

boolean _checkIfRepositoryExists( String $rep_name)

Diese Methode überprüft, ob das angegebene Repository existiert. Dazu wird die lokale Liste der Repositorys überprüft.



Tags:

access:  private


Parameters:

String   $rep_name   Der Name des Repositorys

[ Top ]

method _checkIfUserExists [line 573]

boolean _checkIfUserExists( String $user)

Die Methode überprüft, ob ein Benutzer überhaupt existiert



Tags:

access:  private


Parameters:

String   $user   Der Benutzer

[ Top ]

method _checkIfUserExistsInRep [line 557]

boolean _checkIfUserExistsInRep( String $rep_name, String $user)

Diese Methode überprüft, ob ein Benutzer in dem Repository existiert



Tags:

access:  private


Parameters:

String   $rep_name   Der Name des Repositorys
String   $user   Der Benutzer

[ Top ]

method _checkIfUserIsRepOwner [line 538]

boolean _checkIfUserIsRepOwner( String $rep_name)

Diese Methode überprüft, ob der aktuelle Benutzer der Besitzter des Repositorys ist



Tags:

access:  private


Parameters:

String   $rep_name   Der Name des Repositorys

[ Top ]

method _getUserByRepository [line 444]

Array _getUserByRepository( String $rep_name)

Liefert alle Benutzer des Repositorys zurück. Spezielle Felder in der INI Datei werden dabei ignoriert



Parameters:

String   $rep_name   Der Name des Repositorys

[ Top ]

method _loadRepositoryFile [line 458]

void _loadRepositoryFile( )

Diese Methode läd die Repository Konfiguration aus der

angegebenen Datei. Die liste wird dabei global in die Klasse geschrien




Tags:

access:  private


[ Top ]

method _parsePasswordFile [line 595]

boolean _parsePasswordFile( )

Diese Methode parst ene
  1. htpasswd
Datei um daraus die Benuternamen und die gehashten Passwörter zu extrahieren



Tags:

access:  private


[ Top ]

method _releaseExclusiveLock [line 679]

boolean _releaseExclusiveLock( )

Diese Funktion hebt die Schreibsperre auf die Konfigurationsdateien wieder auf.



Tags:

access:  private


[ Top ]

method _writePasswordFile [line 622]

boolean _writePasswordFile( )

Diese Methode schreibt ene
  1. htpasswd
Datei



Tags:

access:  private


[ Top ]

method _writeRepositoryFile [line 488]

boolean _writeRepositoryFile( )

Diese Methode schreibt die nötigen Änderungen wieder in die entsprechenden INI Dateien. Dabei wird nicht nur die lokale Konfiguration geschrieben sondern auch die Konfiguration für Subversion selbst.



Tags:

access:  private


[ Top ]


Documentation generated on Mon, 23 May 2005 22:13:23 +0200 by phpDocumentor 1.3.0RC3