/** * Validate XML to be valid for import * @param string $xml * @param WP_Error[optional] $errors * @return bool Validation status */ public static function validateXml(&$xml, $errors = NULL) { if (FALSE === $xml or '' == $xml) { $errors and $errors->add('form-validation', __('WP All Import can\'t read your file.<br/><br/>Probably, you are trying to import an invalid XML feed. Try opening the XML feed in a web browser (Google Chrome is recommended for opening XML files) to see if there is an error message.<br/>Alternatively, run the feed through a validator: http://validator.w3.org/<br/>99% of the time, the reason for this error is because your XML feed isn\'t valid.<br/>If you are 100% sure you are importing a valid XML feed, please contact WP All Import support.', 'wp_all_import_plugin')); } else { PMXI_Import_Record::preprocessXml($xml); if (function_exists('simplexml_load_string')) { libxml_use_internal_errors(true); libxml_clear_errors(); $_x = @simplexml_load_string($xml); $xml_errors = libxml_get_errors(); libxml_clear_errors(); if ($xml_errors) { $error_msg = '<strong>' . __('Invalid XML', 'wp_all_import_plugin') . '</strong><ul>'; foreach ($xml_errors as $error) { $error_msg .= '<li>'; $error_msg .= __('Line', 'wp_all_import_plugin') . ' ' . $error->line . ', '; $error_msg .= __('Column', 'wp_all_import_plugin') . ' ' . $error->column . ', '; $error_msg .= __('Code', 'wp_all_import_plugin') . ' ' . $error->code . ': '; $error_msg .= '<em>' . trim(esc_html($error->message)) . '</em>'; $error_msg .= '</li>'; } $error_msg .= '</ul>'; $errors and $errors->add('form-validation', $error_msg); } else { return true; } } else { $errors and $errors->add('form-validation', __('Required PHP components are missing.', 'wp_all_import_plugin')); $errors and $errors->add('form-validation', __('WP All Import requires the SimpleXML PHP module to be installed. This is a standard feature of PHP, and is necessary for WP All Import to read the files you are trying to import.<br/>Please contact your web hosting provider and ask them to install and activate the SimpleXML PHP module.', 'wp_all_import_plugin')); } } return false; }
/** * Validate XML to be valid for import * @param string $xml * @param WP_Error[optional] $errors * @return bool Validation status */ public static function validateXml(&$xml, $errors = NULL) { if (FALSE === $xml or '' == $xml) { $errors and $errors->add('form-validation', __('XML file does not exist, not accessible or empty', 'pmxi_plugin')); } else { PMXI_Import_Record::preprocessXml($xml); if (function_exists('simplexml_load_string')) { libxml_use_internal_errors(true); libxml_clear_errors(); $_x = @simplexml_load_string($xml); $xml_errors = libxml_get_errors(); libxml_clear_errors(); if ($xml_errors) { $error_msg = '<strong>' . __('Invalid XML', 'pmxi_plugin') . '</strong><ul>'; foreach ($xml_errors as $error) { $error_msg .= '<li>'; $error_msg .= __('Line', 'pmxi_plugin') . ' ' . $error->line . ', '; $error_msg .= __('Column', 'pmxi_plugin') . ' ' . $error->column . ', '; $error_msg .= __('Code', 'pmxi_plugin') . ' ' . $error->code . ': '; $error_msg .= '<em>' . trim(esc_html($error->message)) . '</em>'; $error_msg .= '</li>'; } $error_msg .= '</ul>'; $errors and $errors->add('form-validation', $error_msg); } else { return true; } } else { $errors and $errors->add('form-validation', __('simplexml module is disabled on your server', 'pmxi_plugin')); } } return false; }