\Bw#Q"; $tabelprefix="demiam_"; } //extract($_POST); //extract($_GET); ?> * @copyright Intertribe - Internetservices Germany * @include Funktion:_include_ */ class htaccess{ var $fHtaccess=""; // path and filename for htaccess file var $fHtgroup=""; // path and filename for htgroup file var $fPasswd=""; // path and filename for passwd file var $authType="Basic"; // Default authentification type var $authName="Besloten gedeelte"; // Default authentification name /** * Initialising class htaccess */ function htaccess(){ } /** * Sets the filename and path of .htaccess to work with * @param string $filename the name of htaccess file */ function setFHtaccess($filename){ $this->fHtaccess=$filename; } /** * Sets the filename and path of the htgroup file for the htaccess file * @param string $filename the name of htgroup file */ function setFHtgroup($filename){ $this->fHtgroup=$filename; } /** * Sets the filename and path of the password file for the htaccess file * @param string $filename the name of htgroup file */ function setFPasswd($filename){ $this->fPasswd=$filename; } /** * Adds a user to the password file * @param string $username Username * @param string $password Password for Username * @param string $group Groupname for User (optional) * @return boolean $created Returns true if user have been created otherwise false */ function addUser($username,$password,$group){ // checking if user already exists $file=@fopen($this->fPasswd,"r"); $isAlready=false; while($line=@fgets($file,200)){ $lineArr=@explode(":",$line); if($username==$lineArr[0]){ $isAlready=true; } } @fclose($file); if($isAlready==false){ $file=@fopen($this->fPasswd,"a"); $password=@crypt($password); $newLine=$username.":".$password; @fputs($file,$newLine."\n"); @fclose($file); return true; }else{ return false; } } function addUser_localhost($username,$password,$group){ // checking if user already exists $file=@fopen($this->fPasswd,"r"); $isAlready=false; while($line=@fgets($file,200)){ $lineArr=@explode(":",$line); if($username==$lineArr[0]){ $isAlready=true; } } @fclose($file); if($isAlready==false){ $file=@fopen($this->fPasswd,"a"); $password=$password; $newLine=$username.":".$password; @fputs($file,$newLine."\n"); @fclose($file); return true; }else{ return false; } } /** * Adds a group to the htgroup file * @param string $groupname Groupname */ function addGroup($groupname){ $file=@fopen($this->fHtgroup,"a"); @fclose($file); } /** * Deletes a user in the password file * @param string $username Username to delete * @return boolean $deleted Returns true if user have been deleted otherwise false */ function delUser($username){ // Reading names from file $file=fopen($path.$this->fPasswd,"r"); $i=0; while($line=fgets($file,200)){ $lineArr=explode(":",$line); if($username!=$lineArr[0]){ $newUserlist[$i][0]=$lineArr[0]; $newUserlist[$i][1]=$lineArr[1]; $i++; }else{ $deleted=true; } } fclose($file); // Writing names back to file (without the user to delete) $file=fopen($path.$this->fPasswd,"w"); for($i=0;$ifPasswd,"r"); $x=0; for($i=0;$line=@fgets($file,200);$i++){ $lineArr=@explode(":",$line); if($username!=$lineArr[0] && $lineArr[0]!="" && $lineArr[1]!=""){ $newUserlist[$i][0]=$lineArr[0]; $newUserlist[$i][1]=$lineArr[1]; $x++; }else if($lineArr[0]!="" && $lineArr[1]!=""){ $newUserlist[$i][0]=$lineArr[0]; $newUserlist[$i][1]=@crypt($new_password)."\n"; $isSet=true; $x++; } } @fclose($file); @unlink($this->fPasswd); /// Writing names back to file (with new password) $file=@fopen($this->fPasswd,"w"); for($i=0;$iauthType=$authtype; } /** * Sets the Authentification Name (Name of the login area) * @param string $authname Name of the login area */ function setAuthName($authname){ $this->authName=$authname; } /** * Writes the htaccess file to the given Directory and protects it * @param string $path Path name to protect * @see setFhtaccess() */ function addLogin(){ $file=@fopen($this->fHtaccess,"w+"); @fputs($file,"Order allow,deny\n"); @fputs($file,"Allow from all\n"); @fputs($file,"AuthType ".$this->authType."\n"); @fputs($file,"AuthUserFile ".$this->fPasswd."\n\n"); @fputs($file,"AuthName \"".$this->authName."\"\n"); @fputs($file,"require valid-user\n"); @fclose($file); } /** * Deletes the protection of the given directory * @param string $path Path name to delete protection * @see setFhtaccess() */ function delLogin(){ @unlink($this->fHtaccess); } } ?>