<?php

include 'admin.php';

include 'includes/class-wp-filesystem-base.php';

// Allows you to pass the permission value you want as the filename
class Loopback_WP_Filesystem_Base extends WP_Filesystem_Base {
	function getchmod($file) {
		return $file;
	}
}
$Loopback_WP_Filesystem_Base = new Loopback_WP_Filesystem_Base;

echo '<pre>';
echo "  From      to      And back \n";
foreach ( range( 001, 07777 ) as $v ) {

	$human_readable = $Loopback_WP_Filesystem_Base->gethchmod( $v );

	// Returns a octal number as a string, ie. '666' instead of 0666
	$converted_back_to_octal = $Loopback_WP_Filesystem_Base->getnumchmodfromh( $human_readable );

	// Convert to string to compare since they're different datatypes
	if ( sprintf( "%'08o", $v) == sprintf( "%'08s", $converted_back_to_octal ) )
		echo '<span style="color:green">';
	else
		echo '<span style="color:red">';
	
	printf( "%'08o %s %'08s", $v, $human_readable, $converted_back_to_octal );
	echo '</span><br />';
}

echo '</pre>';