Code Duplication    Length = 71-74 lines in 2 locations

classes/PodsAPI.php 2 locations

@@ 7059-7129 (lines=71) @@
7056
                }
7057
            }
7058
        }
7059
        else {
7060
            if ( !is_array( $pod ) )
7061
                $pod = $this->load_pod( array( 'id' => $pod_id, 'table_info' => false ), false );
7062
7063
            if ( !empty( $pod ) && in_array( $pod[ 'type' ], array( 'post_type', 'media', 'taxonomy', 'user', 'comment', 'settings' ) ) ) {
7064
                $meta_type = $pod[ 'type' ];
7065
7066
                if ( in_array( $meta_type, array( 'post_type', 'media' ) ) )
7067
                    $meta_type = 'post';
7068
                elseif ( 'taxonomy' == $meta_type )
7069
                    $meta_type = 'term';
7070
7071
                $no_conflict = pods_no_conflict_check( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7072
7073
                if ( !$no_conflict )
7074
                    pods_no_conflict_on( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7075
7076
                foreach ( $ids as $id ) {
7077
                    if ( 'settings' == $meta_type ) {
7078
                        $related_id = get_option( '_pods_' . $pod[ 'name' ] . '_' . $field[ 'name' ] );
7079
7080
                        if ( empty( $related_id ) )
7081
                            $related_id = get_option( $pod[ 'name' ] . '_' . $field[ 'name' ] );
7082
7083
                        if ( is_array( $related_id ) && !empty( $related_id ) ) {
7084
                            foreach ( $related_id as $related ) {
7085
                                if ( is_array( $related ) && !empty( $related ) ) {
7086
                                    if ( isset( $related[ 'id' ] ) )
7087
                                        $related_ids[] = (int) $related[ 'id' ];
7088
                                    else {
7089
                                        foreach ( $related as $r ) {
7090
                                            $related_ids[] = (int) $r;
7091
                                        }
7092
                                    }
7093
                                }
7094
                                else
7095
                                    $related_ids[] = (int) $related;
7096
                            }
7097
                        }
7098
                    }
7099
                    else {
7100
                        $related_id = get_metadata( $meta_type, $id, '_pods_' . $field[ 'name' ], true );
7101
7102
                        if ( empty( $related_id ) )
7103
                            $related_id = get_metadata( $meta_type, $id, $field[ 'name' ] );
7104
7105
                        if ( is_array( $related_id ) && !empty( $related_id ) ) {
7106
                            foreach ( $related_id as $related ) {
7107
                                if ( is_array( $related ) && !empty( $related ) ) {
7108
                                    if ( isset( $related[ 'id' ] ) )
7109
                                        $related_ids[] = (int) $related[ 'id' ];
7110
                                    else {
7111
                                        foreach ( $related as $r ) {
7112
                                            if ( isset( $related[ 'id' ] ) )
7113
                                                $related_ids[] = (int) $r[ 'id' ];
7114
                                            else
7115
                                                $related_ids[] = (int) $r;
7116
                                        }
7117
                                    }
7118
                                }
7119
                                else
7120
                                    $related_ids[] = (int) $related;
7121
                            }
7122
                        }
7123
                    }
7124
                }
7125
7126
                if ( !$no_conflict )
7127
                    pods_no_conflict_off( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7128
            }
7129
        }
7130
7131
        if ( is_array( $related_ids ) ) {
7132
            $related_ids = array_unique( array_filter( $related_ids ) );
@@ 7211-7284 (lines=74) @@
7208
                }
7209
            }
7210
        }
7211
        else {
7212
            // @todo handle meta-based lookups
7213
            return false;
7214
7215
            if ( !is_array( $pod ) )
7216
                $pod = $this->load_pod( array( 'id' => $pod_id, 'table_info' => false ), false );
7217
7218
            if ( !empty( $pod ) && in_array( $pod[ 'type' ], array( 'post_type', 'media', 'taxonomy', 'user', 'comment', 'settings' ) ) ) {
7219
                $related_ids = array();
7220
7221
                $meta_type = $pod[ 'type' ];
7222
7223
                if ( in_array( $meta_type, array( 'post_type', 'media' ) ) )
7224
                    $meta_type = 'post';
7225
                elseif ( 'taxonomy' == $meta_type )
7226
                    $meta_type = 'term';
7227
7228
                $no_conflict = pods_no_conflict_check( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7229
7230
                if ( !$no_conflict )
7231
                    pods_no_conflict_on( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7232
7233
                if ( 'settings' == $meta_type ) {
7234
                    $related_id = get_option( '_pods_' . $pod[ 'name' ] . '_' . $field[ 'name' ] );
7235
7236
                    if ( empty( $related_id ) )
7237
                        $related_id = get_option( $pod[ 'name' ] . '_' . $field[ 'name' ] );
7238
7239
                    if ( is_array( $related_id ) && !empty( $related_id ) ) {
7240
                        foreach ( $related_id as $related ) {
7241
                            if ( is_array( $related ) && !empty( $related ) ) {
7242
                                if ( isset( $related[ 'id' ] ) )
7243
                                    $related_ids[] = (int) $related[ 'id' ];
7244
                                else {
7245
                                    foreach ( $related as $r ) {
7246
                                        $related_ids[] = (int) $r;
7247
                                    }
7248
                                }
7249
                            }
7250
                            else
7251
                                $related_ids[] = (int) $related;
7252
                        }
7253
                    }
7254
                }
7255
                else {
7256
                    $related_id = get_metadata( $meta_type, $id, '_pods_' . $field[ 'name' ], true );
7257
7258
                    if ( empty( $related_id ) )
7259
                        $related_id = get_metadata( $meta_type, $id, $field[ 'name' ] );
7260
7261
                    if ( is_array( $related_id ) && !empty( $related_id ) ) {
7262
                        foreach ( $related_id as $related ) {
7263
                            if ( is_array( $related ) && !empty( $related ) ) {
7264
                                if ( isset( $related[ 'id' ] ) )
7265
                                    $related_ids[] = (int) $related[ 'id' ];
7266
                                else {
7267
                                    foreach ( $related as $r ) {
7268
                                        if ( isset( $related[ 'id' ] ) )
7269
                                            $related_ids[] = (int) $r[ 'id' ];
7270
                                        else
7271
                                            $related_ids[] = (int) $r;
7272
                                    }
7273
                                }
7274
                            }
7275
                            else
7276
                                $related_ids[] = (int) $related;
7277
                        }
7278
                    }
7279
                }
7280
7281
                if ( !$no_conflict )
7282
                    pods_no_conflict_off( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7283
            }
7284
        }
7285
7286
        if ( is_array( $related_ids ) )
7287
            $related_ids = array_unique( array_filter( $related_ids ) );