Code Duplication    Length = 71-74 lines in 2 locations

classes/PodsAPI.php 2 locations

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