From 25ece9c51091bf98f06a4578deb2175e6dfb1112 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 22 Feb 2007 07:39:22 -0500
Subject: [PATCH] Updated several base libraries and added advanced search functionality.
---
interface/lib/classes/tform_actions.inc.php | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 162 insertions(+), 12 deletions(-)
diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php
index 26a4912..0bcc13d 100644
--- a/interface/lib/classes/tform_actions.inc.php
+++ b/interface/lib/classes/tform_actions.inc.php
@@ -56,6 +56,16 @@
// Importing ID
$this->id = intval($_REQUEST["id"]);
+
+ // show print version of the form
+ if($_GET["print_form"] == 1) {
+ $this->onPrintForm();
+ }
+
+ // send this form by email
+ if($_GET["send_form_by_mail"] == 1) {
+ $this->onMailSendForm();
+ }
if(count($_POST) > 1) {
$this->dataRecord = $_POST;
@@ -108,14 +118,25 @@
$this->onAfterUpdate();
if($_REQUEST["next_tab"] == '') {
- $list_name = $_SESSION["s"]["form"]["return_to"];
- if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
+ $list_name = $_SESSION["s"]["form"]["return_to"];
+ // When a list is embedded inside of a form
+
+ //if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
+ if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
$redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
$_SESSION["s"]["form"]["return_to"] = '';
session_write_close();
header($redirect);
+ // When a returnto variable is set
+ } elseif ($_SESSION["s"]["form"]["return_to_url"] != '') {
+ $redirect = $_SESSION["s"]["form"]["return_to_url"];
+ $_SESSION["s"]["form"]["return_to_url"] = '';
+ session_write_close();
+ header("Location: ".$redirect);
+ exit;
+ // Use the default list of the form
} else {
- header("Location: ".$app->tform->formDef['list_default']);
+ header("Location: ".$app->tform->formDef['list_default']);
}
exit;
} else {
@@ -150,15 +171,23 @@
}
$this->onAfterInsert();
+
if($_REQUEST["next_tab"] == '') {
$list_name = $_SESSION["s"]["form"]["return_to"];
- if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
- $redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
+ // if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
+ if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
+ $redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
$_SESSION["s"]["form"]["return_to"] = '';
session_write_close();
header($redirect);
- } else {
+ exit;
+ } elseif ($_SESSION["s"]["form"]["return_to_url"] != '') {
+ $_SESSION["s"]["form"]["return_to_url"] = '';
+ session_write_close();
+ header("Location: ".$_SESSION["s"]["form"]["return_to_url"]);
+ exit;
+ } else {
header("Location: ".$app->tform->formDef['list_default']);
}
exit;
@@ -244,13 +273,13 @@
// Call plugin
foreach($this->plugins as $plugin) {
- $plugin->onInsert();
+ $plugin->onDelete();
}
}
- //header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]);
- $list_name = $_SESSION["s"]["form"]["return_to"];
- if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
+ //header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]);
+ $list_name = $_SESSION["s"]["form"]["return_to"];
+ if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
$redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
$_SESSION["s"]["form"]["return_to"] = '';
session_write_close();
@@ -261,6 +290,113 @@
exit;
}
+
+ /**
+ * Function to print the form content
+ */
+
+ function onPrintForm() {
+ global $app, $conf;
+
+ if($app->tform->formDef['template_print'] == '') die('No print template available.');
+
+ $app->tpl->newTemplate("print.tpl.htm");
+ $app->tpl->setInclude("content_tpl",$app->tform->formDef['template_print']);
+
+ if($app->tform->formDef['auth'] == 'no') {
+ $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id;
+ } else {
+ $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('u');
+ }
+ if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission'));
+
+ $record["datum"] = date("d.m.Y");
+
+ $app->tpl->setVar($app->tform->wordbook);
+
+ $app->tpl->setVar($record);
+ $app->tpl_defaults();
+ $app->tpl->pparse();
+ exit;
+
+ }
+
+ /**
+ * Function to print the form content
+ */
+
+ function onMailSendForm() {
+ global $app, $conf;
+
+ if($app->tform->formDef['template_mailsend'] == '') die('No print template available.');
+
+ if($_POST["email"] == '' && $_POST["sender"] == '') {
+ // Zeige Formular zum versenden an.
+ $app->tpl->newTemplate("form.tpl.htm");
+ $app->tpl->setInclude("content_tpl",$app->tform->formDef['template_mailsend']);
+ $app->tpl->setVar('show_form',1);
+ $app->tpl->setVar("form_action",$app->tform->formDef['action'].'?send_form_by_mail=1');
+ $app->tpl->setVar("id",$this->id);
+ $app->tpl_defaults();
+ $app->tpl->pparse();
+ exit;
+ } else {
+ $app->tpl->newTemplate("mail.tpl.htm");
+ $app->tpl->setInclude("content_tpl",$app->tform->formDef['template_mailsend']);
+ $app->tpl->setVar('show_mail',1);
+ if($app->tform->formDef['auth'] == 'no') {
+ $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id;
+ } else {
+ $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('u');
+ }
+ if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission'));
+
+ $record["datum"] = date("d.m.Y");
+ $record["mailmessage"] = $_POST["message"];
+
+ $app->tpl->setVar($app->tform->wordbook);
+
+ $app->tpl->setVar($record);
+ $app->tpl_defaults();
+
+ $email_message = $app->tpl->grab();
+ $email = $_POST["email"];
+ $sender = $_POST["sender"];
+
+ $headers = "MIME-Version: 1.0\n";
+ $headers .= "Content-type: text/html; charset=iso-8859-1\n";
+ $headers .= "From: $sender\n";
+
+ if (!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '([-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.)+' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $sender)) {
+ $sender = 'noreply@iprguard.de';
+ }
+
+ if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '([-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.)+' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email)) {
+ mail($email, 'Domainrecherche Statement '.$record["domain"], $email_message, $headers);
+ }
+ echo "<p> </p><p>Email wurde versand.</p>";
+ exit;
+ }
+
+
+
+ if($app->tform->formDef['auth'] == 'no') {
+ $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id;
+ } else {
+ $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('u');
+ }
+ if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission'));
+
+ $record["datum"] = date("d.m.Y");
+
+ $app->tpl->setVar($app->tform->wordbook);
+
+ $app->tpl->setVar($record);
+ $app->tpl_defaults();
+ $app->tpl->pparse();
+ exit;
+
+ }
/**
* Function called on page show
@@ -284,8 +420,20 @@
// Setting default values
$app->tpl_defaults();
+ // Show the navigation bar of the form
+ if($app->tform->formDef['navibar'] == 'yes') {
+ $navibar = '';
+ if($app->tform->formDef['template_print'] != '') {
+ $navibar .= '<a href="'.$app->tform->formDef['action'].'?id='.$this->id.'&print_form=1" target="_blank"><img src="../themes/iprg/icons/printer.png" border="0" alt="Drucken" /></a> ';
+ }
+ if($app->tform->formDef['template_mailsend'] != '') {
+ $navibar .= "<a href=\"#\" onClick=\"window.open('".$app->tform->formDef['action'].'?id='.$this->id."&send_form_by_mail=1','send','width=370,height=240')\"><img src=\"../themes/iprg/icons/mail.png\" border=\"0\" alt=\"Als E-Mail versenden\" /></a>";
+ }
+ $app->tpl->setVar('form_navibar',$navibar);
+ }
+
+
// loading plugins
- //$next_tab = $app->tform->getNextTab();
$this->loadPlugins($this->active_tab);
// Calling the Plugin onShow Events and set the data in the
@@ -337,7 +485,7 @@
$this->dataRecord = $record;
- // Userdaten umwandeln
+ // Userdaten umwandeln
$record = $app->tform->getHTML($record, $this->active_tab,'EDIT');
$record['id'] = $this->id;
@@ -360,6 +508,8 @@
$app->load($plugin_class);
$this->plugins[$plugin_name] = new $plugin_class;
$this->plugins[$plugin_name]->setOptions($plugin_name,$plugin_settings['options']);
+ // Make the data of the form easily accessible for the plugib
+ $this->plugins[$plugin_name]->form = $this;
$this->plugins[$plugin_name]->onLoad();
}
}
--
Gitblit v1.9.1