Code Duplication    Length = 71-74 lines in 2 locations

classes/PodsAPI.php 2 locations

@@ 6886-6956 (lines=71) @@
6883
                }
6884
            }
6885
        }
6886
        else {
6887
            if ( !is_array( $pod ) )
6888
                $pod = $this->load_pod( array( 'id' => $pod_id, 'table_info' => false ), false );
6889
6890
            if ( !empty( $pod ) && in_array( $pod[ 'type' ], array( 'post_type', 'media', 'taxonomy', 'user', 'comment', 'settings' ) ) ) {
6891
                $meta_type = $pod[ 'type' ];
6892
6893
                if ( in_array( $meta_type, array( 'post_type', 'media' ) ) )
6894
                    $meta_type = 'post';
6895
                elseif ( 'taxonomy' == $meta_type )
6896
                    $meta_type = 'term';
6897
6898
                $no_conflict = pods_no_conflict_check( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
6899
6900
                if ( !$no_conflict )
6901
                    pods_no_conflict_on( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
6902
6903
                foreach ( $ids as $id ) {
6904
                    if ( 'settings' == $meta_type ) {
6905
                        $related_id = get_option( '_pods_' . $pod[ 'name' ] . '_' . $field[ 'name' ] );
6906
6907
                        if ( empty( $related_id ) )
6908
                            $related_id = get_option( $pod[ 'name' ] . '_' . $field[ 'name' ] );
6909
6910
                        if ( is_array( $related_id ) && !empty( $related_id ) ) {
6911
                            foreach ( $related_id as $related ) {
6912
                                if ( is_array( $related ) && !empty( $related ) ) {
6913
                                    if ( isset( $related[ 'id' ] ) )
6914
                                        $related_ids[] = (int) $related[ 'id' ];
6915
                                    else {
6916
                                        foreach ( $related as $r ) {
6917
                                            $related_ids[] = (int) $r;
6918
                                        }
6919
                                    }
6920
                                }
6921
                                else
6922
                                    $related_ids[] = (int) $related;
6923
                            }
6924
                        }
6925
                    }
6926
                    else {
6927
                        $related_id = get_metadata( $meta_type, $id, '_pods_' . $field[ 'name' ], true );
6928
6929
                        if ( empty( $related_id ) )
6930
                            $related_id = get_metadata( $meta_type, $id, $field[ 'name' ] );
6931
6932
                        if ( is_array( $related_id ) && !empty( $related_id ) ) {
6933
                            foreach ( $related_id as $related ) {
6934
                                if ( is_array( $related ) && !empty( $related ) ) {
6935
                                    if ( isset( $related[ 'id' ] ) )
6936
                                        $related_ids[] = (int) $related[ 'id' ];
6937
                                    else {
6938
                                        foreach ( $related as $r ) {
6939
                                            if ( isset( $related[ 'id' ] ) )
6940
                                                $related_ids[] = (int) $r[ 'id' ];
6941
                                            else
6942
                                                $related_ids[] = (int) $r;
6943
                                        }
6944
                                    }
6945
                                }
6946
                                else
6947
                                    $related_ids[] = (int) $related;
6948
                            }
6949
                        }
6950
                    }
6951
                }
6952
6953
                if ( !$no_conflict )
6954
                    pods_no_conflict_off( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
6955
            }
6956
        }
6957
6958
        if ( is_array( $related_ids ) ) {
6959
            $related_ids = array_unique( array_filter( $related_ids ) );
@@ 7038-7111 (lines=74) @@
7035
                }
7036
            }
7037
        }
7038
        else {
7039
            // @todo handle meta-based lookups
7040
            return false;
7041
7042
            if ( !is_array( $pod ) )
7043
                $pod = $this->load_pod( array( 'id' => $pod_id, 'table_info' => false ), false );
7044
7045
            if ( !empty( $pod ) && in_array( $pod[ 'type' ], array( 'post_type', 'media', 'taxonomy', 'user', 'comment', 'settings' ) ) ) {
7046
                $related_ids = array();
7047
7048
                $meta_type = $pod[ 'type' ];
7049
7050
                if ( in_array( $meta_type, array( 'post_type', 'media' ) ) )
7051
                    $meta_type = 'post';
7052
                elseif ( 'taxonomy' == $meta_type )
7053
                    $meta_type = 'term';
7054
7055
                $no_conflict = pods_no_conflict_check( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7056
7057
                if ( !$no_conflict )
7058
                    pods_no_conflict_on( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7059
7060
                if ( 'settings' == $meta_type ) {
7061
                    $related_id = get_option( '_pods_' . $pod[ 'name' ] . '_' . $field[ 'name' ] );
7062
7063
                    if ( empty( $related_id ) )
7064
                        $related_id = get_option( $pod[ 'name' ] . '_' . $field[ 'name' ] );
7065
7066
                    if ( is_array( $related_id ) && !empty( $related_id ) ) {
7067
                        foreach ( $related_id as $related ) {
7068
                            if ( is_array( $related ) && !empty( $related ) ) {
7069
                                if ( isset( $related[ 'id' ] ) )
7070
                                    $related_ids[] = (int) $related[ 'id' ];
7071
                                else {
7072
                                    foreach ( $related as $r ) {
7073
                                        $related_ids[] = (int) $r;
7074
                                    }
7075
                                }
7076
                            }
7077
                            else
7078
                                $related_ids[] = (int) $related;
7079
                        }
7080
                    }
7081
                }
7082
                else {
7083
                    $related_id = get_metadata( $meta_type, $id, '_pods_' . $field[ 'name' ], true );
7084
7085
                    if ( empty( $related_id ) )
7086
                        $related_id = get_metadata( $meta_type, $id, $field[ 'name' ] );
7087
7088
                    if ( is_array( $related_id ) && !empty( $related_id ) ) {
7089
                        foreach ( $related_id as $related ) {
7090
                            if ( is_array( $related ) && !empty( $related ) ) {
7091
                                if ( isset( $related[ 'id' ] ) )
7092
                                    $related_ids[] = (int) $related[ 'id' ];
7093
                                else {
7094
                                    foreach ( $related as $r ) {
7095
                                        if ( isset( $related[ 'id' ] ) )
7096
                                            $related_ids[] = (int) $r[ 'id' ];
7097
                                        else
7098
                                            $related_ids[] = (int) $r;
7099
                                    }
7100
                                }
7101
                            }
7102
                            else
7103
                                $related_ids[] = (int) $related;
7104
                        }
7105
                    }
7106
                }
7107
7108
                if ( !$no_conflict )
7109
                    pods_no_conflict_off( ( 'term' == $meta_type ? 'taxonomy' : $meta_type ) );
7110
            }
7111
        }
7112
7113
        if ( is_array( $related_ids ) )
7114
            $related_ids = array_unique( array_filter( $related_ids ) );