]> git.joonet.de Git - adminer.git/commitdiff
Save e-mail from to cookie
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Wed, 9 Sep 2009 20:49:30 +0000 (20:49 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Wed, 9 Sep 2009 20:49:30 +0000 (20:49 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1082 7c3ca157-0c34-0410-bff1-cbf682f78f5c

adminer/create.inc.php
adminer/include/functions.inc.php
adminer/include/lang.inc.php
editor/include/adminer.inc.php

index ab8a44431518537de1c4e3b4a6973bc7213229d5..cd32b6ea0920579d8b4418fceff80ae28471baaf 100644 (file)
@@ -82,8 +82,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"]
        if (strlen($TABLE)) {
                query_redirect("ALTER TABLE " . idf_escape($TABLE) . "$fields\nRENAME TO " . idf_escape($_POST["name"]) . ",\n$status", $location, lang('Table has been altered.'));
        } else {
-               $path = preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"]);
-               setcookie("adminer_engine", $_POST["Engine"], gmmktime(0, 0, 0, gmdate("n") + 1), $path);
+               cookie("adminer_engine", $_POST["Engine"]);
                query_redirect("CREATE TABLE " . idf_escape($_POST["name"]) . " (" . substr($fields, 0, -1) . "\n) $status", $location, lang('Table has been created.'));
        }
 }
index 71d274ace8bb012ae20cc7297557293ae73042f4..ac4e6b2e2dedc3f0dc126330bcdb3a72ce77adc3 100644 (file)
@@ -154,6 +154,15 @@ function where_link($i, $column, $value) {
        return "&where%5B$i%5D%5Bcol%5D=" . urlencode($column) . "&where%5B$i%5D%5Bop%5D=%3D&where%5B$i%5D%5Bval%5D=" . urlencode($value);
 }
 
+/** Set cookie valid for 1 month
+* @param string
+* @param string
+* @return bool
+*/
+function cookie($name, $value) {
+       return setcookie($name, $value, gmmktime(0, 0, 0, gmdate("n") + 1), preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"]));
+}
+
 /** Send Location header and exit
 * @param string
 * @param string
index b2c0198af81335238e6abfbb756b7529bf0d202b..0f8b4154836cb67f07495e0278b633c975bdae31 100644 (file)
@@ -44,7 +44,7 @@ if (isset($_GET["lang"])) {
 
 $LANG = "en";
 if (isset($langs[$_COOKIE["adminer_lang"]])) {
-       setcookie("adminer_lang", $_COOKIE["adminer_lang"], gmmktime(0, 0, 0, gmdate("n") + 1), preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"]));
+       cookie("adminer_lang", $_COOKIE["adminer_lang"]);
        $LANG = $_COOKIE["adminer_lang"];
 } elseif (isset($langs[$_SESSION["lang"]])) {
        $LANG = $_SESSION["lang"];
index 6f1823fb8c68ea1f1ab43e489bfd51aa4268053d..c7e4132c16f557c446f7d91e509c3713cbe3d216 100644 (file)
@@ -185,7 +185,7 @@ ORDER BY ORDINAL_POSITION"); //! requires MySQL 5
                global $confirm;
                if ($emailFields) {
                        echo '<fieldset><legend><a href="#fieldset-email" onclick="return !toggle(\'fieldset-email\');">' . lang('E-mail') . "</a></legend><div id='fieldset-email'" . ($_POST["email_append"] ? "" : " class='hidden'") . ">\n";
-                       echo "<p>" . lang('From') . ": <input name='email_from' value='" . h($_POST["email_from"]) . "'>\n";
+                       echo "<p>" . lang('From') . ": <input name='email_from' value='" . h($_POST ? $_POST["email_from"] : $_COOKIE["adminer_email"]) . "'>\n";
                        echo lang('Subject') . ": <input name='email_subject' value='" . h($_POST["email_subject"]) . "'>\n";
                        echo "<p><textarea name='email_message' rows='15' cols='60'>" . h($_POST["email_message"] . ($_POST["email_append"] ? '{$' . "$_POST[email_addition]}" : "")) . "</textarea><br>\n";
                        echo "<select name='email_addition'>" . optionlist($columns, $_POST["email_addition"]) . "</select> <input type='submit' name='email_append' value='" . lang('Insert') . "'>\n"; //! JavaScript
@@ -274,7 +274,7 @@ ORDER BY ORDINAL_POSITION"); //! requires MySQL 5
                                foreach ($this->rowDescriptions($rows, $foreignKeys) as $row) {
                                        $replace = array();
                                        foreach ($matches[1] as $val) {
-                                               $replace['{$' . "$val}"] = $row[$val];
+                                               $replace['{$' . "$val}"] = $row[$val]; //! allow literal {$name}
                                        }
                                        $email = $row[$_POST["email_field"]];
                                        if (is_email($email) && mail($email, email_header(strtr($subject, $replace)), strtr($message, $replace),
@@ -285,6 +285,7 @@ ORDER BY ORDINAL_POSITION"); //! requires MySQL 5
                                        }
                                }
                        }
+                       cookie("adminer_email", $_POST["email_from"]);
                        redirect(remove_from_uri(), lang('%d e-mail(s) have been sent.', $sent));
                }
                return false;