Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2013, 12:45
schattenburg
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
ISPConfig: Modificar el password de un cliente nada más darlo de alta

Hola a todos:

Mi problema es el siguiente. Estoy implementando en PHP que desde un backoffice poder cambiar un cliente de un servidor a otro. En todos los servidores tengo instalados el ISPConfig por lo que los pasos que sigo son los siguientes:

a) Leo el registro perteneciente a ese cliente en el servidor origen y lo guardo en un array que llamo $reg_cliente
b) En el servidor destino si el cliente NO existe entonces lo doy de alta usando la API de ISPConfig y lo relleno con esos datos, así:

$reseller_id = 0; // this id has to be 0 if the client shall not be assigned to admin or if the client is a reseller
$params = array(
'username' => utf8_encode($reg_cliente[0]["username"]),
'password' => '',
'company_name' => utf8_encode($reg_cliente[0]["company_name"]),
'contact_name' => utf8_encode($reg_cliente[0]["contact_name"]),
'customer_no' => utf8_encode($reg_cliente[0]["customer_no"]),
'vat_id' => $reg_cliente[0]["vat_id"],
'street' => utf8_encode($reg_cliente[0]["street"]),
...
);
$clientid = $client->client_add($session_id, $reseller_id, $params);

Como se puede ver no meto el password, porque el password en el original está ya codificado y entonces me codificaría el ya codificado, por lo que tengo que actualizar ese campo metiéndole directamente el password original.

Lo he intentado haciendo así como dice la API de ISPConfig:
$reseller_id = 1;
$c_id = 1;
$client_record = $client->client_get($session_id, $reseller_id);

$client_record['password'] = $reg_cliente[0]["password"];
$affected_rows = $client->client_update($session_id, $c_id, $reseller_id, $client_record);
echo "Filas afectadas: ".$affected_rows."<br>";

Pero siempre me dice que las filas afectadas son 0, y no me actualiza nada. He intentando también hacer un update "a pelo" de la tabla client pero tampoco me lo hace.

¿Alguna idea? ¿Cómo puedo modificar el password a ese cliente en concreto?

Gracias