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/src/error/ |
Upload File : |
<?php /** * */ class Loco_error_ParseException extends Loco_error_Exception { /** * @var string */ private $context; /** * @param int line number * @param int column number * @param string source in which to identify line and column * @return self */ public function setContext( $line, $column, $source ){ $this->context = null; // If line given as 0 then treat column as offset in an unknown number of lines if( 0 === $line ){ $lines = preg_split( '/\\r?\\n/', substr($source,0,$column)); $line = count($lines); $column = strlen( end($lines) ); } // get line of source code where error is and construct a ____^ thingy to show error on next line // this requires that full source is passed in, so line number must be real if( loco_debugging() ){ $lines = preg_split( '/\\r?\\n/', $source, $line+1 ); $offset = $line - 1; if( isset($lines[$offset]) ){ $this->context = $lines[$offset] ."\n". str_repeat(' ', max(0,$column) ).'^'; } } // wrap initial message with context data $this->message = sprintf("Error at line %u, column %u: %s", $line, $column, $this->message ); return $this; } /** * @return string */ public function getContext(){ return $this->context; } }