Advertisement
megalag

User add function

Jun 13th, 2012
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.29 KB | None | 0 0
  1. <?
  2. function insert_user($id_client,$id_operation = NULL, $fields, $values, $simulation = false)
  3. {
  4.     $total_fields = count($fields);
  5.     $total_values = count($values);
  6.    
  7.     // Validamos que id_client sea numerico y que el total de fields sea igual al total de values
  8.     if(!is_numeric($id_client) && !ctype_space($id_client[0])) { return "El id de cliente debe ser numerico."; }
  9.     if($total_fields != $total_values) { return "Deben concidir la cantidad de fields y values a insert"; }
  10.    
  11.     // Por cada campo
  12.     for($i=0; $i<$total_fields; $i++)
  13.     {
  14.         // Armamos las variables de insert para el mysql
  15.         $campo = trim($fields[$i]);
  16.         $campo = mysql_real_escape_string($campo);
  17.        
  18.         $valor = trim($values[$i]);
  19.         $valor = mysql_real_escape_string($valor);
  20.        
  21.         $fields_insert .= $campo;
  22.         $values_insert .= "'{$valor}'";
  23.         if($i < $total_fields -1){
  24.             $fields_insert.= ',';
  25.             $values_insert.= ',';
  26.         }
  27.        
  28.         // Buscamos los fields de user y pass
  29.         if($campo == 'user')
  30.         {
  31.             $user = strtolower($values[$i]);
  32.         }
  33.         elseif($campo == 'pass')
  34.         {
  35.             $clave = strtolower($values[$i]);
  36.         }
  37.     }
  38.    
  39.     // Validamos que haya mas de dos fields y que esos fields sean user y clave
  40.     if(!$fields > 1 || !$user || !$clave) { return "Debe haber un minimo de dos fields a insert, esos fields deben ser user y clave."; }
  41.    
  42.    
  43.     // Verificamos que el user no este repedito
  44.     $query = mysql_query("
  45.        SELECT
  46.            LOWER(user)
  47.        FROM
  48.            users u
  49.            INNER JOIN users_clients uc ON u.id = uc.id_user
  50.        WHERE
  51.            u.user = '$user'
  52.            and uc.id_client = $id_client
  53.    ");
  54.    
  55.     $result = mysql_fetch_array($query);
  56.    
  57.     // Si no esta repetido
  58.     if(!$result)
  59.     {
  60.         // Insertamos el user (a menos que esté activada la simulación)
  61.         // Utilizamos users.id_client para guardar el id_operation
  62.         $query_insert_user = "
  63.            INSERT INTO
  64.                users ($fields_insert,id_client)
  65.            VALUES
  66.                ($values_insert,'$id_operation')
  67.        ";
  68.        
  69.         if(!$simulation)
  70.         {
  71.             mysql_query($query_insert_user);
  72.            
  73.             // Obtenemos el ID del user insertado
  74.             $query_user_insertado = mysql_query("
  75.                SELECT
  76.                    u.id as id
  77.                FROM
  78.                    users u
  79.                WHERE
  80.                    u.user = '$user'
  81.                    and u.id_client = '$id_operation'
  82.            ");
  83.  
  84.             $result = mysql_fetch_array($query_user_insertado);
  85.             $id_user = $result[id];
  86.         }
  87.        
  88.         // Lo relacionamos con el cliente (a menos que esté activada la simulación)
  89.         $query_users_clients = "
  90.            INSERT INTO
  91.                users_clients (id_user, id_client)
  92.            VALUES
  93.                ('$id_user','$id_client')
  94.        ";
  95.        
  96.         if(!$simulation)
  97.         {
  98.             mysql_query($query_users_clients);
  99.         }
  100.        
  101.         return false;
  102.     }
  103.     // Si esta repetido
  104.     else
  105.     {
  106.         return "El user ya existe.";
  107.     }
  108. }
  109. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement