Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/09/2004, 00:45
rbczgz
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años, 4 meses
Puntos: 154
Hola Monoswim!!

Mucho tiempo si poder venir por aquí...

Muchas gracias por tu ayuda, he intentado implementar el script con lo que tú me decías pero sigue igual, no funciona.

Te pongo aquí un trozo del código en el que están incluidas las modificaciones que me explicabas:

Código:
sub database_delete2 {
	my ($user_list, @username);
	
	## Get needed info
	@username = split /,/, $in{'username'};
	
	## Delete all members
	foreach $user (@username) {
		my ($first, $ext);
		
		## Get needed info
		($first) = $user =~ /^(.)/; $first = lc($first);
		$ext = &get_ext($user);
		
		## Send e-mail, if needed
		if ($in{'_send_email'} == 1) { 
			my ($x, @profile, %mail);
			
			## Get and parse profile
			$x=0;
			@profile = &get_userinfo($user);
			$profile[$dbfields[2]] = $ENC->decrypt($profile[$dbfields[2]]);
			foreach $field (@userfields) { $mail{$field} = $profile[$x]; $x++; }
			
			## Send e-mail message
			&mailmsg_from_file($profile[$dbfields[1]], "$datadir/messages/database_delete.msg", $admin_email, $admin_name, '', %mail);
			
		}

		## Execute remote script
		&mrep_execute_remote_script($user, 'delete');

		## Compress downline, if needed
		&mrep_compress_downline($user);

		## Delete member from db index
		&mrep_dbindex_delete($user);
		
		## Delete the member
		&deletefile("$datadir/cgi/$first/$user$ext");
		&deletefile("$datadir/downline/$first/$user.downline");
		&deletefile("$datadir/hit/$first/$user.hit");
		
		sub delete {
	        my @new_registros;
	        open (DATABASE, "<$datadir/downline/$first/$sponsor.downline") || &error('abrir','archivo');
 		       my @registros = <DATABASE>;
		        close (DATABASE) || &error('cerrar','archivo');

		foreach my $registro (@registros){
                	$registro =~ s/\n//g;
                	if ($registro ne $user){
                        push (@new_registros,$registro);
                		}
        		}

        	open (DATABASE, ">$datadir/downline/$first/$sponsor.downline") || &error('abrir','archivo');
        	foreach my $new_registro (@new_registros){
                print DATABASE "$new_registro\n";
        	}
        	close (DATABASE) || &error('cerrar','archivo');

		}

		## Delete from member.pass, if needed
		if ($moptions[1] == 1) { 
			my ($x, @pass);
			
			## Get info
			@pass = &readfile("$datadir/member.pass");
			
			## Delete member's entry
			$x=0;
			foreach $line (@pass) {
				my ($username, $password) = split /:/, $line;
				if ($username eq $user) { 
					splice @pass, $x, 1;
					last;
				}
			$x++; }
			
			## Rewrite member.pass file
			&writefile("$datadir/member.pass", @pass);		
		}
		
		## Add to user list
		$user_list .= "<li>$user";

	}
	
	## Print success message
	&success("Los siguientes miembros han sido borrados correctamente:<br><ul>$user_list</ul>");

}
Lo que está en negrita dentro del código es la modificación que me proponías (cambiando el $usuario_a_eliminar por $user, que es el que usa el script.

Espero que me puedas echar un cable...