| 
<?php
 /**
 * Small advertisement form example. Shows basic use of an extended class.
 * Shows use of a preview function including a file upload element.
 *
 * @author Thiemo Mättig (http://maettig.com/)
 */
 
 // Display some HTML headers.
 echo '<style>';
 echo 'body{background-color:#eeeeee;font-family:Georgia,serif;}';
 echo 'input,select,textarea{font-family:monospace;}';
 echo '.error{color:red;font-weight:bold;}';
 echo '</style>';
 echo '<h2 align="center">Enter new small Advertisement</h2>';
 
 //----------------------------------------------------------------------------
 
 // Include the extended class and build a form out of it.
 require_once("example_advertisement.class.php");
 $form = new ExtendedApeform();
 
 $message = &$form->textarea("Advertising <u>M</u>essage", "Bidding, Application, ...", "", 7);
 $message = trim(preg_replace('/\s+/', ' ', $message));
 $message = preg_replace('/(.)(\1{3})\1*/', '\2', $message);
 if (! $message) $form->error("Message missing");
 if (strlen($message) < 10) $form->error("Message to short");
 if (strlen($message) > 500) $form->error("Message to long");
 
 $name = $form->text("Your <u>N</u>ame");
 if (! $name) $form->error("Name missing");
 
 $email = $form->text("Your <u>E</u>mail", "Optional; if somebody wants to contact you");
 if ($email && ! preg_match(
 '/^[^\s"\'<>()@,;:]+@[^\s"\'<>()@,;:]+\.[a-z]{2,6}$/is', $email))
 {
 $form->error("Email invalid");
 }
 
 $telefon = $form->text("Your <u>T</u>elephone", "Optional");
 if (! $email && ! $telefon)
 {
 $form->error("Email (or Telephone) missing", -1);
 $form->error("Telephone (or Email) missing");
 }
 
 $options = array(7 => "1 Week",
 14 => "2 Weeks",
 21 => "3 Weeks",
 28 => "4 Weeks");
 $tage = $form->select("Duration", "How long should the Advertisement be visible?", $options);
 
 $image = $form->file("Image", "Optional; JPG/JPEG/PNG/GIF only");
 if ($image && ! getimagesize($image['tmp_name']))
 {
 $form->error("Invalid Image File");
 }
 
 $submit = $form->submit("Preview|Submit");
 
 //----------------------------------------------------------------------------
 
 // Generate preview if requested.
 if ($form->isValid())
 {
 echo '<table width="100%" border="1" cellpadding="4" cellspacing="0">';
 echo '<tr><th bgcolor="#CCCCCC" colspan="3">Preview</th></tr>';
 echo '<tr><td valign="top" width="200">';
 if ($image)
 {
 $size = getimagesize($image['tmp_name']);
 $width = 200;
 $height = $size[1] * $width / $size[0];
 echo '<img src="' . $image['tmp_name'] . '" width="' . $width . '" height="' . $height . '">';
 }
 else echo "No Image submitted";
 echo '</td><td valign="top">';
 $preview = htmlspecialchars(stripslashes($message));
 $preview = preg_replace('/^.{10,}\b/U', '<big>\0</big>', $preview);
 echo $preview;
 echo '</td><td valign="top">';
 if ($email) echo '<a href="mailto:' . $email . '">';
 echo '<em>' . htmlspecialchars(stripslashes($name)) . '</em>';
 if ($email) echo '</a>';
 if ($telefon) echo '<br>Telephone: ' . htmlspecialchars(stripslashes($telefon));
 echo '</td></tr>';
 echo '</table>';
 }
 
 //----------------------------------------------------------------------------
 
 if (! $form->isValid() || $submit == "Preview")
 {
 // Display the whole form.
 $form->display();
 }
 else
 {
 // Make sure there is no equal entry. Reloads will be ignored this way.
 $sql = "SELECT id FROM table WHERE message = '$message'";
 // $result = mysql_query($sql);
 $num_rows = 0;
 // $num_rows = mysql_num_rows($result);
 if ($num_rows < 1)
 {
 // Insert the new entry into the database table.
 $sql = "INSERT INTO table SET message = '$message'";
 // mysql_query($sql);
 echo '<p class="error">Submission succesfull.</p>';
 }
 else
 {
 // Error. This entry is already in the database. Don't submit twice.
 echo '<p class="error">This Advertisement was already submitted before.</p>';
 }
 }
 
 ?>
 |