From 5956f312b7cc0951df79a45ddc6ad17d082563d9 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 6 Jul 2015 12:10:15 +0300 Subject: add a bit more visible separate infobox for password change results --- classes/pref/prefs.php | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php index 6c33170bd..d36e31f0b 100644 --- a/classes/pref/prefs.php +++ b/classes/pref/prefs.php @@ -65,26 +65,26 @@ class Pref_Prefs extends Handler_Protected { $con_pw = $_POST["confirm_password"]; if ($old_pw == "") { - print "ERROR: ".__("Old password cannot be blank."); + print "ERROR: ".format_error("Old password cannot be blank."); return; } if ($new_pw == "") { - print "ERROR: ".__("New password cannot be blank."); + print "ERROR: ".format_error("New password cannot be blank."); return; } if ($new_pw != $con_pw) { - print "ERROR: ".__("Entered passwords do not match."); + print "ERROR: ".format_error("Entered passwords do not match."); return; } $authenticator = PluginHost::getInstance()->get_plugin($_SESSION["auth_module"]); if (method_exists($authenticator, "change_password")) { - print $authenticator->change_password($_SESSION["uid"], $old_pw, $new_pw); + print format_notice($authenticator->change_password($_SESSION["uid"], $old_pw, $new_pw)); } else { - print "ERROR: ".__("Function not supported by authentication module."); + print "ERROR: ".format_error("Function not supported by authentication module."); } } @@ -244,6 +244,8 @@ class Pref_Prefs extends Handler_Protected { print "

" . __("Password") . "

"; + print ""; + $result = $this->dbh->query("SELECT id FROM ttrss_users WHERE id = ".$_SESSION["uid"]." AND pwd_hash = 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8'"); @@ -264,12 +266,20 @@ class Pref_Prefs extends Handler_Protected { onComplete: function(transport) { notify(''); if (transport.responseText.indexOf('ERROR: ') == 0) { - notify_error(transport.responseText.replace('ERROR: ', '')); + + $('pwd_change_infobox').innerHTML = + transport.responseText.replace('ERROR: ', ''); + } else { - notify_info(transport.responseText); + $('pwd_change_infobox').innerHTML = + transport.responseText.replace('ERROR: ', ''); + var warn = $('default_pass_warning'); if (warn) Element.hide(warn); } + + new Effect.Appear('pwd_change_infobox'); + }}); this.reset(); } -- cgit v1.2.3 From 35c373549453d962907c14a81059a1de0dfc5e7a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 6 Jul 2015 15:32:26 +0300 Subject: fix article tags/labels not assigning properly on mysql because of the 4byte unicode workaround --- include/functions2.php | 6 +++--- include/rssfuncs.php | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/functions2.php b/include/functions2.php index e212609db..1936d146d 100644 --- a/include/functions2.php +++ b/include/functions2.php @@ -1483,9 +1483,9 @@ $tag = preg_replace('/[\'\"\+\>\<]/', "", $tag); -// $tag = str_replace('"', "", $tag); -// $tag = str_replace("+", " ", $tag); - $tag = str_replace("technorati tag: ", "", $tag); + if (DB_TYPE == "mysql") { + $tag = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $tag); + } return $tag; } diff --git a/include/rssfuncs.php b/include/rssfuncs.php index 8797ee523..6eb4e6d98 100644 --- a/include/rssfuncs.php +++ b/include/rssfuncs.php @@ -761,7 +761,11 @@ // Workaround: 4-byte unicode requires utf8mb4 in MySQL. See https://tt-rss.org/forum/viewtopic.php?f=1&t=3377&p=20077#p20077 if (DB_TYPE == "mysql") { foreach ($article as $k => $v) { - $article[$k] = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $v); + + // i guess we'll have to take the risk of 4byte unicode labels & tags here + if (!is_array($article[$k])) { + $article[$k] = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $v); + } } } -- cgit v1.2.3