original_string: public function get_bits(string $id_usr_opt, $id_parent = false, bool $with_config = true): array
    {
      $c = $this->class_cfg['arch']['user_options_bits'];
      $t = $this;
      $where = [
        $c['id_user_option'] => $id_usr_opt
      ];
      if ( is_null($id_parent) || \bbn\str::is_uid($id_parent) ){
        $where[$c['id_parent']] = $id_parent;
      }
      if (
        \bbn\str::is_uid($id_usr_opt) &&
        ($bits = $this->db->rselect_all($this->class_cfg['tables']['user_options_bits'], [], $where, [$c['num'] => 'ASC']))
      ){
        if ( !empty($with_config) ){
          return array_map(function($b) use($t){
            return $t->explode_bit_cfg($b);
          }, $bits);
        }
        return $bits;
      }
      return [];
    }
code: public function get_bits(string $id_usr_opt, $id_parent = false, bool $with_config = true): array
    {
      $c = $this->class_cfg['arch']['user_options_bits'];
      $t = $this;
      $where = [
        $c['id_user_option'] => $id_usr_opt
      ];
      if ( is_null($id_parent) || \bbn\str::is_uid($id_parent) ){
        $where[$c['id_parent']] = $id_parent;
      }
      if (
        \bbn\str::is_uid($id_usr_opt) &&
        ($bits = $this->db->rselect_all($this->class_cfg['tables']['user_options_bits'], [], $where, [$c['num'] => 'ASC']))
      ){
        if ( !empty($with_config) ){
          return array_map(function($b) use($t){
            return $t->explode_bit_cfg($b);
          }, $bits);
        }
        return $bits;
      }
      return [];
    }
code_tokens: public function get_bits ( string $ id_usr_opt , $ id_parent = false , bool $ with_config = true ) : array { $ c = $ this -> class_cfg [ 'arch' ] [ 'user_options_bits' ] ; $ t = $ this ; $ where = [ $ c [ 'id_user_option' ] => $ id_usr_opt ] ; if ( is_null ( $ id_parent ) || \ bbn \ str :: is_uid ( $ id_parent ) ) { $ where [ $ c [ 'id_parent' ] ] = $ id_parent ; } if ( \ bbn \ str :: is_uid ( $ id_usr_opt ) && ( $ bits = $ this -> db -> rselect_all ( $ this -> class_cfg [ 'tables' ] [ 'user_options_bits' ] , [ ] , $ where , [ $ c [ 'num' ] => 'ASC' ] ) ) ) { if ( ! empty ( $ with_config ) ) { return array_map ( function ( $ b ) use ( $ t ) { return $ t -> explode_bit_cfg ( $ b ) ; } , $ bits ) ; } return $ bits ; } return [ ] ; }
docstring: Returns the bits list of a preference
  
  @param string $id The preference's ID
  @param null|string $id_parent The bits'parent ID
  @return array
docstring_tokens: Returns the bits list of a preference