Server : Apache/2 System : Linux vps.sdns.vn 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64 User : phatdatpq ( 1022) PHP Version : 7.2.34 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/phatdatpq/public_html/wp-content/plugins/loco-translate/tpl/admin/file/ |
Upload File : |
<?php /** * Binary MO hex view */ $this->extend('view'); $this->start('source'); ?> <div class="notice inline notice-info"> <p> <?php esc_html_e('File is in binary MO format','loco-translate')?>. </p> </div> <div class="panel"> <pre><?php // crude hex dump // TODO make dynamic - flowing to width + clicking bytes highlights right-hand character ranges $i = 0; $r = 0; $cols = 24; $line = array(); $bytes = strlen($bin); // establish formatting of row offset, nbased on largest row number $rowfmt = sprintf( '%%0%uX | ', strlen( sprintf( '%02X', $cols * floor( $bytes / $cols ) ) ) ); for( $b = 0; $b < $bytes; $b++ ){ $c = substr($bin,$b,1); $n = ord($c); // print byte offset if( ! $line ){ printf( $rowfmt, $b ); } // print actual byte printf('%02X ', $n ); // add printable to line if( $n === 9 ){ $line[] = ' '; // <- tab? } else if ( $n < 32 || $n > 126 ) { $line[] = '.'; // <- unprintable } else { $line[] = $params->escape($c); // <- printable } // wrap at cols, and print plain text if( ++$i === $cols ){ echo ' ', implode('', $line ), "\n"; $line = array(); $i = 0; $r++; } } if( $line ){ if( $r ){ echo str_repeat( ' ', $cols - $i ); } echo ' ', implode('', $line ), "\n"; } ?></pre> </div>