<?php
/**
* A slightly complex TM::Apeform and TinyMCE example. You need at least the
* TinyMCE main package somewhere on your web server. Change the define below
* and set the directory to where you have copied the package.
*
* @author Thiemo Mättig (http://maettig.com/)
*/
define("TINYMCE_SRC", "tiny_mce/tiny_mce.js");
require_once("Apeform.class.php");
// Create a new form with predefined maxlength and size for all form elements.
$form = new Apeform(255, 80);
// We don't want quotes in the preview. Use mysql_real_escape_string() instead!
$form->magicQuotes = false;
$caption = $form->text("Caption", "No HTML allowed");
if (empty($caption))
{
$form->error("Please enter a caption");
}
$categories = array(
"Blue",
"Red",
"Yellow",
);
$category_id = $form->select("Category", "", $categories);
// Create a textarea with no help text, no default value and 10 lines.
$text = $form->textarea("Text", "", "", 10);
if (empty($text))
{
$form->error("Please enter some text");
}
// We need the internal name of this form element for TinyMCE.
$text_name = $form->getName();
// Add a second textarea. Only the first one should be modified by TinyMCE.
$abstract = $form->textarea("Abstract", "No HTML allowed");
// Add two buttons in a single row.
$submit = $form->submit("Preview|Save");
// Everything is prepared, now we are ready to start the output.
?><html>
<head>
<title>How to use the TM::Apeform PHP Class with TinyMCE</title>
<style type="text/css">
/* A little bit of CSS for a nice preview. */
.article{
background: #EEE;
border: 1px solid #CCC;
color: #111;
font-family: Verdana, sans-serif;
padding: 1em;
}
.article h2{
margin: 0;
}
.category{
color: #666;
font-size: smaller;
margin: 0;
}
</style>
<script type="text/javascript" src="<?php echo TINYMCE_SRC; ?>"></script>
<script type="text/javascript">
tinyMCE.init({
/* The mode "textareas" modifies all textareas. */
mode : "exact",
/* Modify the textarea with this name only. */
elements : "<?php echo $text_name; ?>",
theme : "simple",
});
</script>
</head>
<body>
<h1>How to use the TM::Apeform PHP Class with TinyMCE</h1>
<?php
// If the save button was pressed, do not display the form and the preview.
if ($form->isValid() && $submit == "Save")
{
echo "The text is not saved in this example script.";
}
else
{
$form->display();
if ($form->isValid())
{
echo "<p>Preview:</p>";
echo "<div class=\"article\">";
echo "<h2>" . htmlspecialchars($caption) . "</h2>";
echo "<p class=\"category\">Posted in " . htmlspecialchars($categories[$category_id]) . "</p>";
echo $text;
echo "</div>";
}
}
?>
</body>
</html>
|