function testValue($sValue) { if (!AnwXml::xmlIsValid($sValue)) { //XML error found $sXmlErrors = '<ul>'; $aoLibXmlErrors = libxml_get_errors(); foreach ($aoLibXmlErrors as $oLibXmlError) { $sMessage = $oLibXmlError->message; if (!strstr($sMessage, "Premature end of data")) { //TODO dirty #CONTENTFIELDINPUTID# $sMessage = preg_replace('! line ([0-9]*) and doc!si', ' <a class="textareafocusline" onclick="setTextareaFocusLine($1,$(\'#CONTENTFIELDINPUTID#\'))">line $1</a>', $sMessage); $sXmlErrors .= '<li>' . $sMessage . '</li>'; } } $sXmlErrors .= '</ul>'; $sError = AnwComponent::g_editcontent("err_contentfield_xml_invalid", array("xmlerrors" => $sXmlErrors)); throw new AnwInvalidContentFieldValueException($sError); } else { if (AnwUtils::contentHasPhpCode($sValue)) { if ($this->bCheckPhpSyntax) { $sPhpError = null; //gets modified by evalMixedPhpSyntax if (AnwUtils::evalMixedPhpSyntax($sValue, $sPhpError)) { //print "ok"; } else { //better php error : hide file, and add a link to the line //TODO dirty #CONTENTFIELDINPUTID# $sPhpError = preg_replace('!in (.*) on line <b>([0-9]*)</b>!si', '<a class="textareafocusline" onclick="setTextareaFocusLine($2,$(\'#CONTENTFIELDINPUTID#\'))">on line $2</a>', $sPhpError); $sError = $sPhpError; throw new AnwInvalidContentFieldValueException($sError); } } } } }