From 7ed0325a9a0619efe8df901e91c5de349c0dad82 Mon Sep 17 00:00:00 2001 From: Martin Schuette Date: Sun, 29 Jun 2014 18:22:12 +0000 Subject: [PATCH] apply WP coding style --- freifunk-versions.php | 218 ++++++++++++++++++++++-------------------- tests/test-simple.php | 34 +++---- 2 files changed, 130 insertions(+), 122 deletions(-) diff --git a/freifunk-versions.php b/freifunk-versions.php index da0b8a9..53e5e00 100644 --- a/freifunk-versions.php +++ b/freifunk-versions.php @@ -9,143 +9,149 @@ Author URI: http://mschuette.name/ Licence: 2-clause BSD */ -define('FF_HH_STABLE_BASEDIR', 'http://updates.hamburg.freifunk.net/stable/'); -define('FF_HH_CACHETIME', 15); +define( 'FF_HH_STABLE_BASEDIR', 'http://updates.hamburg.freifunk.net/stable/' ); +define( 'FF_HH_CACHETIME', 15 ); /* gets metadata from URL, handles caching */ -function ff_hh_getmanifest ($basedir) { - // Caching - if ( WP_DEBUG || ( false === ( $manifest = get_transient( "ff_hh_manifest" ) ) ) ) { - $manifest = array(); - $url = $basedir . 'sysupgrade/manifest'; - $http_response = wp_remote_get( $url ); // TODO: error handling - $input = wp_remote_retrieve_body( $http_response ); - foreach ( explode("\n", $input) as $line ) { - $ret = sscanf($line, '%s %s %s %s', $hw, $sw_ver, $hash, $filename); - if ($ret === 4) { - if (preg_match('/^(.*)-v(\d+)$/', $hw, $matches)) { - $hw = $matches[1]; - $hw_ver = $matches[2]; - } else { - $hw_ver = '1'; - } - $manifest[$hw][$hw_ver] = $filename; - } - } +function ff_hh_getmanifest( $basedir ) { + // Caching + if ( WP_DEBUG || ( false === ( $manifest = get_transient( 'ff_hh_manifest' ) ) ) ) { + $manifest = array(); + $url = $basedir . 'sysupgrade/manifest'; + $http_response = wp_remote_get( $url ); // TODO: error handling + $input = wp_remote_retrieve_body( $http_response ); + foreach ( explode( "\n", $input ) as $line ) { + $ret = sscanf( $line, '%s %s %s %s', $hw, $sw_ver, $hash, $filename ); + if ( $ret === 4 ) { + if ( preg_match( '/^(.*)-v(\d+)$/', $hw, $matches ) ) { + $hw = $matches[1]; + $hw_ver = $matches[2]; + } else { + $hw_ver = '1'; + } + $manifest[$hw][$hw_ver] = $filename; + } + } - $cachetime = FF_HH_CACHETIME * MINUTE_IN_SECONDS; - set_transient( "ff_hh_manifest", $manifest, $cachetime ); - } - return $manifest; + $cachetime = FF_HH_CACHETIME * MINUTE_IN_SECONDS; + set_transient( 'ff_hh_manifest', $manifest, $cachetime ); + } + return $manifest; } /* gets latest version from first manifest line */ -function ff_hh_getlatest ($basedir) { - // Caching - if ( false === ( $sw_ver = get_transient( "ff_hh_latestversion" ) ) ) { - $sw_ver = 'unknown'; - $input = wp_remote_retrieve_body( wp_remote_get($basedir . 'sysupgrade/manifest') ); - foreach ( explode("\n", $input) as $line ) { - $ret = sscanf($line, '%s %s %s %s', $hw, $sw_ver, $hash, $filename); - if ($ret === 4) { - // break processing on first matching line - $cachetime = FF_HH_CACHETIME * MINUTE_IN_SECONDS; - set_transient( "ff_hh_latestversion", $sw_ver, $cachetime ); - break; - } - } - } - return $sw_ver; +function ff_hh_getlatest( $basedir ) { + // Caching + if ( false === ( $sw_ver = get_transient( 'ff_hh_latestversion' ) ) ) { + $sw_ver = 'unknown'; + $input = wp_remote_retrieve_body( wp_remote_get( $basedir . 'sysupgrade/manifest' ) ); + foreach ( explode( "\n", $input ) as $line ) { + $ret = sscanf( $line, '%s %s %s %s', $hw, $sw_ver, $hash, $filename ); + if ( $ret === 4 ) { + // break processing on first matching line + $cachetime = FF_HH_CACHETIME * MINUTE_IN_SECONDS; + set_transient( 'ff_hh_latestversion', $sw_ver, $cachetime ); + break; + } + } + } + return $sw_ver; } if ( ! shortcode_exists( 'ff_hh_latestversion' ) ) { - add_shortcode( 'ff_hh_latestversion', 'ff_hh_shortcode_latestversion'); + add_shortcode( 'ff_hh_latestversion', 'ff_hh_shortcode_latestversion' ); } // Example: // [ff_hh_latestversion] function ff_hh_shortcode_latestversion( $atts, $content, $name ) { - $sw_ver = ff_hh_getlatest(FF_HH_STABLE_BASEDIR); - $outstr = "$sw_ver"; - return $outstr; + $sw_ver = ff_hh_getlatest( FF_HH_STABLE_BASEDIR ); + $outstr = "$sw_ver"; + return $outstr; } if ( ! shortcode_exists( 'ff_hh_versions' ) ) { - add_shortcode( 'ff_hh_versions', 'ff_hh_shortcode_versions'); + add_shortcode( 'ff_hh_versions', 'ff_hh_shortcode_versions' ); } // Example: // [ff_hh_versions] // [ff_hh_versions grep="ubiquiti"] function ff_hh_shortcode_versions( $atts, $content, $name ) { - $manifest = ff_hh_getmanifest(FF_HH_STABLE_BASEDIR); + $manifest = ff_hh_getmanifest( FF_HH_STABLE_BASEDIR ); - $outstr = "
"; - $outstr .= ''; + $outstr = "
"; + $outstr .= '
ModellErstinstallationAktualisierung
'; - # optionally filter output by given substring - if (is_array($atts) - && array_key_exists('grep', $atts) - && !empty($atts['grep'])) { - $grep = $atts['grep']; - } else { - $grep = false; - } + # optionally filter output by given substring + if ( is_array( $atts ) + && array_key_exists( 'grep', $atts ) + && ! empty( $atts['grep'] ) ) { + $grep = $atts['grep']; + } else { + $grep = false; + } - foreach ($manifest as $hw => $versions) { - // filter - if ($grep && (false === strpos($hw, $grep))) { - continue; - } - $hw = ff_hh_beautify_hw_name($hw, $grep); - $outstr .= sprintf("\n", $hw); + foreach ( $manifest as $hw => $versions ) { + // filter + if ( $grep && ( false === strpos( $hw, $grep ) ) ) { + continue; + } + $hw = ff_hh_beautify_hw_name( $hw, $grep ); + $outstr .= sprintf( "\n", $hw ); - // factory versions - $hw_ver_links = array(); - foreach ($versions as $hw_ver => $filename) { - $filename = str_replace('-sysupgrade', '', $filename); - $hw_ver_links[] = sprintf('%s.x', - FF_HH_STABLE_BASEDIR.'factory/', $filename, $hw_ver); - } - $outstr .= ''; + // factory versions + $hw_ver_links = array(); + foreach ( $versions as $hw_ver => $filename ) { + $filename = str_replace( '-sysupgrade', '', $filename ); + $hw_ver_links[] = sprintf( + '%s.x', + FF_HH_STABLE_BASEDIR.'factory/', + $filename, $hw_ver + ); + } + $outstr .= ''; - // sysupgrade versions - $hw_ver_links = array(); - foreach ($versions as $hw_ver => $filename) { - $hw_ver_links[] = sprintf('%s.x', - FF_HH_STABLE_BASEDIR.'sysupgrade/', $filename, $hw_ver); - } - $outstr .= ''; + // sysupgrade versions + $hw_ver_links = array(); + foreach ( $versions as $hw_ver => $filename ) { + $hw_ver_links[] = sprintf( + '%s.x', + FF_HH_STABLE_BASEDIR.'sysupgrade/', + $filename, $hw_ver + ); + } + $outstr .= ''; - $outstr .= ''; - } + $outstr .= ''; + } - $outstr .= '
ModellErstinstallationAktualisierung
%s
%sHardware Version ' . join(', ', $hw_ver_links) . 'Hardware Version ' . join( ', ', $hw_ver_links ) . 'Hardware Version ' . join(', ', $hw_ver_links) . 'Hardware Version ' . join( ', ', $hw_ver_links ) . '
'; - $outstr .= '
'; - // $outstr .= '
'.print_r($manifest, true).'
'; - return $outstr; + $outstr .= ''; + $outstr .= ''; + // $outstr .= '
'.print_r( $manifest, true ).'
'; + return $outstr; } // some crude rules to add capitalization and whitespace to the // hardware model name. // set $discard_vendor to strip the vendor name -// (used for single-vendor lists, e.g. $discard_vendor = 'tp-link') -function ff_hh_beautify_hw_name($hw, $discard_vendor = "") { - if (!strncmp($hw, 'tp-link', 7)) { - if ($discard_vendor) $hw = str_replace($discard_vendor, '', $hw); - $hw = strtoupper($hw); - $hw = str_replace('-', ' ', $hw); - $hw = str_replace('TP LINK ', 'TP-Link ', $hw); - $hw = str_replace(' TL ', ' TL-', $hw); - } elseif (!strncmp($hw, 'ubiquiti', 8)) { - if ($discard_vendor) $hw = str_replace($discard_vendor, '', $hw); - $hw = str_replace('bullet-m', 'bullet-m / nanostation-loco-m', $hw); - $hw = str_replace('-m', ' M2', $hw); - $hw = str_replace('-', ' ', $hw); - $hw = ucwords($hw); - } elseif (!strncmp($hw, 'd-link', 6)) { - if ($discard_vendor) $hw = str_replace($discard_vendor, '', $hw); - $hw = str_replace('-', ' ', $hw); - $hw = str_replace('d link ', 'D-Link ', $hw); - $hw = str_replace(' dir ', ' DIR-', $hw); - } - return $hw; +// (used for single-vendor lists, e.g. $discard_vendor = 'tp-link' ) +function ff_hh_beautify_hw_name( $hw, $discard_vendor = '' ) { + if ( ! strncmp( $hw, 'tp-link', 7 ) ) { + if ( $discard_vendor ) $hw = str_replace( $discard_vendor, '', $hw ); + $hw = strtoupper( $hw ); + $hw = str_replace( '-', ' ', $hw ); + $hw = str_replace( 'TP LINK ', 'TP-Link ', $hw ); + $hw = str_replace( ' TL ', ' TL-', $hw ); + } elseif ( ! strncmp( $hw, 'ubiquiti', 8 ) ) { + if ( $discard_vendor ) $hw = str_replace( $discard_vendor, '', $hw ); + $hw = str_replace( 'bullet-m', 'bullet-m / nanostation-loco-m', $hw ); + $hw = str_replace( '-m', ' M2', $hw ); + $hw = str_replace( '-', ' ', $hw ); + $hw = ucwords( $hw ); + } elseif ( ! strncmp( $hw, 'd-link', 6 ) ) { + if ( $discard_vendor ) $hw = str_replace( $discard_vendor, '', $hw ); + $hw = str_replace( '-', ' ', $hw ); + $hw = str_replace( 'd link ', 'D-Link ', $hw ); + $hw = str_replace( ' dir ', ' DIR-', $hw ); + } + return $hw; } diff --git a/tests/test-simple.php b/tests/test-simple.php index fa25192..0c9b5a5 100644 --- a/tests/test-simple.php +++ b/tests/test-simple.php @@ -1,21 +1,23 @@ assertEquals($item[2], trim(ff_hh_beautify_hw_name($item[0], $item[1]))); + function test_beautify() { + $cmplist = array( // examples with and without grep param + array( 'tp-link-tl-wr740n-nd', '', 'TP-Link TL-WR740N ND' ), + array( 'tp-link-tl-wr740n-nd', 'tp-link', 'TL-WR740N ND' ), + array( 'tp-link-tl-wdr4300', '', 'TP-Link TL-WDR4300' ), + array( 'tp-link-tl-wdr4300', 'tp-link', 'TL-WDR4300' ), + array( 'ubiquiti-unifi', '', 'Ubiquiti Unifi' ), + array( 'ubiquiti-unifi', 'ubiquiti', 'Unifi' ), + array( 'ubiquiti-bullet-m', '', 'Ubiquiti Bullet M2 / Nanostation Loco M2' ), + array( 'ubiquiti-bullet-m', 'ubiquiti', 'Bullet M2 / Nanostation Loco M2' ), + array( 'd-link-dir-615-rev-e1', '', 'D-Link DIR-615 rev e1' ), + array( 'd-link-dir-615-rev-e1', 'd-link', 'DIR-615 rev e1' ), + ); + foreach ( $cmplist as $item ) { + $expect = $item[2]; + $result = ff_hh_beautify_hw_name( $item[0], $item[1] ); + $this->assertEquals( $expect, trim( $result ) ); + } } - } }