/** * duplicate a lab and associate with a user * * @param int $from_lab_id lab id * @param int $to_user_id user id * * @return int|bool new lab id | FALSE on error */ function ace_db_lab_duplicate($from_lab_id, $to_user_id) { $from_lab_info = ace_db_lab_get_info($from_lab_id); $to_lab_instance = ace_db_user_get_available_lab_instance($to_user_id); if ($to_lab_instance !== FALSE) { $to_lab_name = str_pad($to_user_id, 5, '0', STR_PAD_LEFT) . '-lab-' . str_pad($to_lab_instance, 2, '0', STR_PAD_LEFT); $to_lab_display_name = $from_lab_info['display_name']; $sql = "INSERT INTO lab (\n\t\t\t\t\t`user_id`,\n\t\t\t\t\t`instance`,\n\t\t\t\t\t`name`,\n\t\t\t\t\t`display_name`,\n\t\t\t\t\t`state`)\n\t\t\t\tVALUES (\n\t\t\t\t\t{$to_user_id},\n\t\t\t\t\t{$to_lab_instance},\n\t\t\t\t\t'{$to_lab_name}',\n\t\t\t\t\t'{$to_lab_display_name}',\n\t\t\t\t\t0)"; $db_result = ace_db_query($sql); if ($db_result->last_insert_id != 0) { $return = $db_result->last_insert_id; } else { $return = FALSE; } } else { $return = FALSE; } return $return; }
/** * returns a lab record * * @api * * @param int $lab_id lab id * * @return array|bool array of lab information | FALSE on error */ function ace_lab_get_info($lab_id) { return ace_db_lab_get_info($lab_id); }