PluginProbe ʕ •ᴥ•ʔ
WP All Export – Drag & Drop Export to Any Custom CSV, XML & Excel / 1.1.5
WP All Export – Drag & Drop Export to Any Custom CSV, XML & Excel v1.1.5
trunk 0.9.0 0.9.1 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.2.0 1.2.1 1.2.10 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 1.4.14 1.4.15 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0
wp-all-export / libraries / WpaePhpInterpreterErrorHandler.php
wp-all-export / libraries Last commit date
VariableProductTitle 8 years ago .gitkeep 8 years ago WpaeInvalidPhpException.php 8 years ago WpaeInvalidStringException.php 8 years ago WpaeMethodNotFoundException.php 8 years ago WpaePhpInterpreterErrorHandler.php 8 years ago WpaeString.php 8 years ago WpaeTooMuchRecursionException.php 8 years ago WpaeXmlProcessor.php 8 years ago XmlCsvExport.php 8 years ago XmlExportACF.php 8 years ago XmlExportComment.php 8 years ago XmlExportCpt.php 8 years ago XmlExportEngine.php 8 years ago XmlExportFiltering.php 8 years ago XmlExportMediaGallery.php 8 years ago XmlExportTaxonomy.php 8 years ago XmlExportUser.php 8 years ago XmlExportWooCommerce.php 8 years ago XmlExportWooCommerceCoupon.php 8 years ago XmlExportWooCommerceOrder.php 8 years ago XmlGoogleMerchants.php 8 years ago XmlSpec.php 8 years ago
WpaePhpInterpreterErrorHandler.php
58 lines
1 <?php
2
3 class WpaePhpInterpreterErrorHandler
4 {
5 public function handle(){
6
7 $error = $this->getLastError();
8 if($error && strpos($error['file'], 'functions.php') !== false){
9 $wp_uploads = $this->getUploadsDir();
10 $functions = 'in '.$wp_uploads['basedir'] . DIRECTORY_SEPARATOR . WP_ALL_EXPORT_UPLOADS_BASE_DIRECTORY . DIRECTORY_SEPARATOR . 'functions.php:'.$error['line'];
11 $error['message'] = str_replace($functions, '', $error['message']);
12 $error['message'] = str_replace("\\n",'',$error['message']);
13 $errorParts = explode('Stack trace', $error['message']);
14 $error['message'] = $errorParts[0];
15 $error['message'] .=' on line '.$error['line'];
16 $error['message'] = str_replace("\n",'',$error['message']);
17 $error['message'] = str_replace("Uncaught Error:", '', $error['message']);
18 $error['message'] = 'PHP Error: ' . $error['message'];
19 $error['message'] = str_replace(' ', ' ', $error['message']);
20 echo "[[ERROR]]";
21 if($error['message'] == '') {
22 $error['message'] = __('An unknown error occured', 'wp_all_import_plugin');
23 }
24 $this->terminate(json_encode(array('error' => '<span class="error">'.$error['message'].' of the Functions Editor'.'</span>', 'line' => $error['line'], 'title' => __('PHP Error','wp_all_import_plugin'))));
25 } else if(strpos($error['file'], 'XMLWriter.php') !== false ) {
26 if(strpos($error['message'],'syntax error, unexpected') !== false) {
27 echo "[[ERROR]]";
28 $this->terminate(json_encode(array('error'=>__('You probably forgot to close a quote', 'wp_all_import_plugin'),'title' => __('PHP Error','wp_all_import_plugin'))));
29 }
30 }
31 }
32
33 /**
34 * @return array
35 */
36 protected function getLastError()
37 {
38 return error_get_last();
39 }
40
41 /**
42 * @return mixed
43 */
44 protected function getUploadsDir()
45 {
46 return wp_upload_dir();
47 }
48
49 /**
50 * Hack to be able to test the class in isolation
51 *
52 * @param $message
53 */
54 protected function terminate($message)
55 {
56 exit($message);
57 }
58 }