Code Duplication    Length = 33-33 lines in 2 locations

class.json-api-endpoints.php 1 location

@@ 1689-1721 (lines=33) @@
1686
	 * @param mixed $args Optional arguments to be appended to URL
1687
	 * @return string Endpoint URL
1688
	 **/
1689
	function get_link() {
1690
		$args   = func_get_args();
1691
		$format = array_shift( $args );
1692
		$base = WPCOM_JSON_API__BASE;
1693
1694
		$path = array_pop( $args );
1695
1696
		if ( $path ) {
1697
			$path = '/' . ltrim( $path, '/' );
1698
		}
1699
1700
		$args[] = $path;
1701
1702
		// Escape any % in args before using sprintf
1703
		$escaped_args = array();
1704
		foreach ( $args as $arg_key => $arg_value ) {
1705
			$escaped_args[ $arg_key ] = str_replace( '%', '%%', $arg_value );
1706
		}
1707
1708
		$relative_path = vsprintf( "$format%s", $escaped_args );
1709
1710
		if ( ! wp_startswith( $relative_path, '.' ) ) {
1711
			// Generic version. Match the requested version as best we can
1712
			$api_version = $this->get_closest_version_of_endpoint( $relative_path );
1713
			$base        = substr( $base, 0, - 1 ) . $api_version;
1714
		}
1715
1716
		// escape any % in the relative path before running it through sprintf again
1717
		$relative_path = str_replace( '%', '%%', $relative_path );
1718
		// http, WPCOM_JSON_API__BASE, ...    , path
1719
		// %s  , %s                  , $format, %s
1720
		return esc_url_raw( sprintf( "%s://%s$relative_path", $this->api->public_api_scheme, $base ) );
1721
	}
1722
1723
	function get_me_link( $path = '' ) {
1724
		return $this->get_link( '/me', $path );

sal/class.json-api-links.php 1 location

@@ 32-64 (lines=33) @@
29
	 * @param mixed $args Optional arguments to be appended to URL
30
	 * @return string Endpoint URL
31
	 **/
32
	function get_link() {
33
		$args   = func_get_args();
34
		$format = array_shift( $args );
35
		$base = WPCOM_JSON_API__BASE;
36
37
		$path = array_pop( $args );
38
39
		if ( $path ) {
40
			$path = '/' . ltrim( $path, '/' );
41
		}
42
43
		$args[] = $path;
44
45
		// Escape any % in args before using sprintf
46
		$escaped_args = array();
47
		foreach ( $args as $arg_key => $arg_value ) {
48
			$escaped_args[ $arg_key ] = str_replace( '%', '%%', $arg_value );
49
		}
50
51
		$relative_path = vsprintf( "$format%s", $escaped_args );
52
53
		if ( ! wp_startswith( $relative_path, '.' ) ) {
54
			// Generic version. Match the requested version as best we can
55
			$api_version = $this->get_closest_version_of_endpoint( $format, $relative_path );
56
			$base        = substr( $base, 0, - 1 ) . $api_version;
57
		}
58
59
		// escape any % in the relative path before running it through sprintf again
60
		$relative_path = str_replace( '%', '%%', $relative_path );
61
		// http, WPCOM_JSON_API__BASE, ...    , path
62
		// %s  , %s                  , $format, %s
63
		return esc_url_raw( sprintf( "https://%s$relative_path", $base ) );
64
	}
65
66
	function get_me_link( $path = '' ) {
67
		return $this->get_link( '/me', $path );