From f4038a2160d55a7f519a3b42be1aa96e29e9a908 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 27 Feb 2013 09:01:40 -0500 Subject: [PATCH] - Fixed "FUNCTION databasename.CONCAT does not exist" error for older MySQL versions. --- interface/lib/classes/tform_actions.inc.php | 81 ++++++++++++++++++++++------------------ 1 files changed, 45 insertions(+), 36 deletions(-) diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php index 812c792..d60ecbf 100644 --- a/interface/lib/classes/tform_actions.inc.php +++ b/interface/lib/classes/tform_actions.inc.php @@ -1,7 +1,7 @@ <?php /* -Copyright (c) 2005, Till Brehm, projektfarm Gmbh +Copyright (c) 2007, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -28,20 +28,13 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/** -* Action framework for the tform library. -* -* @author Till Brehm <t.brehm@scrigo.org> -* @copyright Copyright © 2005, Till Brehm -*/ - class tform_actions { - var $id; - var $activeTab; - var $dataRecord; - var $plugins = array(); - var $oldDataRecord; // This array is only filled during updates and when db_history is enabled. + public $id; + public $activeTab; + public $dataRecord; + public $plugins = array(); + public $oldDataRecord; // This array is only filled during updates and when db_history is enabled. function onLoad() { global $app, $conf, $tform_def_file; @@ -56,7 +49,7 @@ $app->tform->loadFormDef($tform_def_file); // Importing ID - $this->id = (isset($_REQUEST["id"]))?intval($_REQUEST["id"]):0; + $this->id = (isset($_REQUEST["id"]))?$app->functions->intval($_REQUEST["id"]):0; // show print version of the form if(isset($_GET["print_form"]) && $_GET["print_form"] == 1) { @@ -87,9 +80,11 @@ // Calling the action functions if($this->id > 0) { - $this->onUpdate(); + $app->tform->action == 'EDIT'; + $this->onUpdate(); } else { - $this->onInsert(); + $app->tform->action == 'NEW'; + $this->onInsert(); } } @@ -112,17 +107,19 @@ // Save record in database $this->onUpdateSave($sql); - + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_update_save',array('page_form'=>$this, 'sql'=>$sql)); + // loading plugins $next_tab = $app->tform->getCurrentTab(); $this->loadPlugins($next_tab); // Call plugin foreach($this->plugins as $plugin) { - $plugin->onInsert(); + $plugin->onUpdate(); } - - $this->onAfterUpdate(); + + $this->onAfterUpdate(); + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_after_update',$this); // Write data history (sys_datalog) if($app->tform->formDef['db_history'] == 'yes') { @@ -143,7 +140,7 @@ session_write_close(); header($redirect); // When a returnto variable is set - } elseif ($_SESSION["s"]["form"]["return_to_url"] != '') { + } elseif (isset($_SESSION["s"]["form"]["return_to_url"]) && $_SESSION["s"]["form"]["return_to_url"] != '') { $redirect = $_SESSION["s"]["form"]["return_to_url"]; $_SESSION["s"]["form"]["return_to_url"] = ''; session_write_close(); @@ -168,7 +165,7 @@ function onUpdateSave($sql) { global $app; - if(!empty($sql) && !$app->tform->isReadonlyTab($app->tform->getCurrentTab())) { + if(!empty($sql) && !$app->tform->isReadonlyTab($app->tform->getCurrentTab(),$this->id)) { $app->db->query($sql); if($app->db->errorMessage != '') die($app->db->errorMessage); } @@ -189,7 +186,8 @@ if($app->tform->errorMessage == '') { $this->id = $this->onInsertSave($sql); - + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_insert_save',array('page_form'=>$this, 'sql'=>$sql)); + // loading plugins $next_tab = $app->tform->getCurrentTab(); $this->loadPlugins($next_tab); @@ -200,7 +198,8 @@ } $this->onAfterInsert(); - + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_after_insert',$this); + // Write data history (sys_datalog) if($app->tform->formDef['db_history'] == 'yes') { $new_data_record = $app->tform->getDataRecord($this->id); @@ -219,9 +218,10 @@ header($redirect); exit; } 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: ".$_SESSION["s"]["form"]["return_to_url"]); + header("Location: ".$redirect); exit; } else { header("Location: ".$app->tform->formDef['list_default']); @@ -270,7 +270,7 @@ function onError() { global $app, $conf; - $app->tpl->setVar("error","<b>".$app->lng('Error').":</b><br>".$app->tform->errorMessage); + $app->tpl->setVar("error","<li>".$app->tform->errorMessage."</li>"); $app->tpl->setVar($this->dataRecord); $this->onShow(); } @@ -291,7 +291,7 @@ $app->tform->loadFormDef($tform_def_file); // importing ID - $this->id = intval($_REQUEST["id"]); + $this->id = $app->functions->intval($_REQUEST["id"]); if($this->id > 0) { @@ -318,13 +318,14 @@ $next_tab = $app->tform->getCurrentTab(); $this->loadPlugins($next_tab); - + // Call plugin foreach($this->plugins as $plugin) { $plugin->onDelete(); } $this->onAfterDelete(); + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_after_delete',$this); } //header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]); @@ -364,7 +365,7 @@ 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'); + $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('r'); } if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission')); @@ -405,7 +406,7 @@ 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'); + $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('r'); } if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission')); @@ -425,11 +426,11 @@ $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)) { + if (!preg_match('/^[-!#$%&\'*+\\./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)) { + if (preg_match('/^[-!#$%&\'*+\\./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>"; @@ -441,7 +442,7 @@ 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'); + $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('r'); } if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission')); @@ -485,11 +486,19 @@ $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>"; + $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); } + if(isset($_SESSION['show_info_msg'])) { + $app->tpl->setVar('show_info_msg', $_SESSION['show_info_msg']); + unset($_SESSION['show_info_msg']); + } + if(isset($_SESSION['show_error_msg'])) { + $app->tpl->setVar('show_error_msg', $_SESSION['show_error_msg']); + unset($_SESSION['show_error_msg']); + } // loading plugins $this->loadPlugins($this->active_tab); @@ -532,14 +541,14 @@ // bestehenden Datensatz anzeigen if($app->tform->errorMessage == '') { if($app->tform->formDef['auth'] == 'yes' && $_SESSION["s"]["user"]["typ"] != 'admin') { - $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('u'); + $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('r'); } else { $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id; } if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission')); } else { // $record = $app->tform->encode($_POST,$this->active_tab); - $record = $app->tform->encode($this->dataRecord,$this->active_tab); + $record = $app->tform->encode($this->dataRecord,$this->active_tab,false); } $this->dataRecord = $record; -- Gitblit v1.9.1