Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function: getForm establishes parameters: form[.xsl], [contactForm.xml] and array of parameters for xsl file
- $param = 'contactform [form: action parameter]'
- public function getForm($param) {
- $paramArray = explode(' ',$param);
- if ($_POST['runon'] == 'end') {
- if (self::checkValid()) return "<p><strong>".self::sendMail()."</strong></p>\r";
- else return self::getXMLData('xmlData')->emailFail;
- }
- else {
- if (!$form = $_POST['runon']) $form = $paramArray[0];
- $code = self::keyCode();
- $postArray = array();
- if ($_POST) $postArray = $_POST['mail'];
- $postArray['destination'] = $paramArray[1].".php";
- $postArray['cipher'] = $code[0];
- $postArray['code'] = $code[1];
- $postArray['timestamp'] = time();
- }
- return self::xmlTransform('form',$form,$postArray);
- }
- function: xmlTransform returns the output from xslt
- public function xmlTransform($xsl,$xml,$postArray) {
- $style = new DOMDocument;
- $style->load('data/'.$xsl.'.xsl');
- $source = new DOMDocument;
- $source->load('data/'.$xml.'.xml');
- $proc = new XSLTProcessor();
- $proc->registerPHPFunctions();
- $proc->importStylesheet($style);
- $transformData = array($proc,$source);
- foreach ($postArray as $key => $value) {
- $transformData[0]->setParameter('',$key,$value);
- }
- return $transformData[0]->transformToXML($transformData[1]);
- }
- function: getMenu creates navigation menu for page using menu.xsl and menu.xml
- public function getMenu($param) {
- $postArray = array (
- 'trunk' => $param,
- 'status' => self::checkLogin('session'),
- 'pageid' => PAGEID
- );
- return self::xmlTransform('menu','menu',$postArray);
- }
- function: sendMail compiles emails from form submission
- $_POST['form'] = xml filename prefix
- $text = output from xslt on mail.xsl and contactForm.xml
- $output replaces form: name fields with their values got from form submission
- public function sendMail() {
- $headers = "X-Mailer: PHP v".phpversion()."\r\n".
- "Content-Type: text/plain; charset=utf-8\r\n".
- "Return-Path: ".self::getXMLData('xmlData')->emailReturn."\r\n".
- "From: ".self::getXMLData('xmlData')->webmaster."\r\n".
- "Reply-to: ".self::getXMLData('xmlData')->webmaster."\r\n";
- $subject = self::cleanInput($_POST['subject'],40);
- $form = self::cleanInput($_POST['form'],40);
- $to = self::getXMLData('xmlData')->webmaster;
- $postArray = array ('subject' => $subject);
- $text = self::xmlTransform('mail',$form,$postArray);
- $output = preg_replace('/\|~(\w+)~\|/e','$_POST[$1]',$text);
- ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement