( jc – 25.11.2008 15:18)

class.xform.textile.inc.php

Diese XFORM Klasse ermöglich es HTML Elemente in Textile Notation in ein XFORM Formular einzubetten.

Anwendung

Die Einbindung in ein XFORM Formular folgt erstmal den gewohnten Konventionen:

Formulareingabe: textile|[Textile formatierter Text]

Notation neuer Zeilen: Da in der Formulareingabe keine neuen Zeilen vorkommen dürfen (Vorsicht!) gilt für neue Zeilen im Textile Text dieser Klasse folgender Platzhalter: \+. Der Platzhalter kann beliebig oft hintereinander stehn und jede Instanz entspricht einer neuen Zeile. Folgende Textile Standard-Notation:

h1Überschrift 

Normaler Absatz Text und
eine neue Zeile


* list 1
* list 2
* list 


"ein link":/fonts.html - ??cite?? - *strong* - _em_ - **bold** - __italic__ 

sieht als Eingabe für die XFORM Textile Klasse so aus:

h1Überschrift++Normaler Absatz Text und+eine neue Zeile.++* list 1+* list 2+* list 3++"ein link":/fonts.html - ??cite?? - *strong* - _em_ - **bold** - __italic__ 

Beispiel Formular

Testcase class.xform.textile.inc.php

Installation

Die Klasse nach redaxo/include/addons/xform/classes/values/ kopieren.

Source

ACHTUNG: Diese Klasse befindet sich im alpha Stadium und ist noch nicht ausgiebig getestet. Verwendung wie immer auf eigene Gefahr und nur mit genügend Sachverstand. Bugs können gerne gemeldet werde.

class.xform.mailfrom.inc.php:


<?php
 
if (!function_exists('fb')) {
	function fb() {
		echo 'no FirePHP installed!';
	}
}
 
class rex_xform_textile extends rex_xform_abstract
{
 
	function enterObject(&$email_elements,&$sql_elements,&$warning,&$form_output,$send = 0)
	{
		$textile = $this->elements[1];
		$textile = htmlspecialchars_decode($textile);
		$textile = str_replace("\+","\n",$textile);
		//$textile = str_replace("<br />","",$textile);
		//$textile = str_replace("&#039;","'",$textile);
		$textile = rex_a79_textile($textile);
		$form_output[] = $textile;
	}
 
	function getDescription()
	{
		return htmlspecialchars(stripslashes('textile -> Beispiel: textile|h1. Überschrift\+\+NeuerAbsatz und\+neue Zeile'));
	}
}
 
?>