]> git.wh0rd.org - tt-rss.git/commitdiff
combine user edit & user details
authorAndrew Dolgov <noreply@fakecake.org>
Wed, 12 Aug 2015 17:19:38 +0000 (20:19 +0300)
committerAndrew Dolgov <noreply@fakecake.org>
Wed, 12 Aug 2015 17:19:38 +0000 (20:19 +0300)
classes/pref/users.php
js/functions.js
js/prefs.js

index 89554ba653885f580c1cf61e30baefa32be99d81..a10404d0a53e131d2e34c81156f37d8b00d6e5be 100644 (file)
@@ -17,89 +17,16 @@ class Pref_Users extends Handler_Protected {
                        return array_search($method, $csrf_ignored) !== false;
                }
 
-               function userdetails() {
-
-                       $uid = sprintf("%d", $_REQUEST["id"]);
-
-                       $result = $this->dbh->query("SELECT login,
-                               ".SUBSTRING_FOR_DATE."(last_login,1,16) AS last_login,
-                               access_level,
-                               (SELECT COUNT(int_id) FROM ttrss_user_entries
-                                       WHERE owner_uid = id) AS stored_articles,
-                               ".SUBSTRING_FOR_DATE."(created,1,16) AS created
-                               FROM ttrss_users
-                               WHERE id = '$uid'");
-
-                       if ($this->dbh->num_rows($result) == 0) {
-                               print "<h1>".__('User not found')."</h1>";
-                               return;
-                       }
-
-                       print "<table width='100%'>";
-
-                       $last_login = make_local_datetime(
-                               $this->dbh->fetch_result($result, 0, "last_login"), true);
-
-                       $created = make_local_datetime(
-                               $this->dbh->fetch_result($result, 0, "created"), true);
-
-                       $stored_articles = $this->dbh->fetch_result($result, 0, "stored_articles");
-
-                       print "<tr><td>".__('Registered')."</td><td>$created</td></tr>";
-                       print "<tr><td>".__('Last logged in')."</td><td>$last_login</td></tr>";
-
-                       $result = $this->dbh->query("SELECT COUNT(id) as num_feeds FROM ttrss_feeds
-                               WHERE owner_uid = '$uid'");
-
-                       $num_feeds = $this->dbh->fetch_result($result, 0, "num_feeds");
-
-                       print "<tr><td>".__('Subscribed feeds count')."</td><td>$num_feeds</td></tr>";
-                       print "<tr><td>".__('Stored articles')."</td><td>$stored_articles</td></tr>";
-
-                       print "</table>";
-
-                       print "<h1>".__('Subscribed feeds')."</h1>";
-
-                       $result = $this->dbh->query("SELECT id,title,site_url FROM ttrss_feeds
-                               WHERE owner_uid = '$uid' ORDER BY title");
-
-                       print "<ul class=\"userFeedList\">";
-
-                       while ($line = $this->dbh->fetch_assoc($result)) {
-
-                               $icon_file = ICONS_URL."/".$line["id"].".ico";
-
-                               if (file_exists($icon_file) && filesize($icon_file) > 0) {
-                                       $feed_icon = "<img class=\"tinyFeedIcon\" src=\"$icon_file\">";
-                               } else {
-                                       $feed_icon = "<img class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\">";
-                               }
-
-                               print "<li>$feed_icon&nbsp;<a href=\"".$line["site_url"]."\">".$line["title"]."</a></li>";
-
-                       }
-
-                       if ($this->dbh->num_rows($result) < $num_feeds) {
-                               // FIXME - add link to show ALL subscribed feeds here somewhere
-                               print "<li><img
-                                       class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\">&nbsp;...</li>";
-                       }
-
-                       print "</ul>";
-
-                       print "<div align='center'>
-                               <button dojoType=\"dijit.form.Button\" type=\"submit\">".__("Close this window").
-                               "</button></div>";
-
-                       return;
-               }
-
                function edit() {
                        global $access_level_names;
 
-                       $id = $this->dbh->escape_string($_REQUEST["id"]);
+                       print '<div dojoType="dijit.layout.TabContainer" style="height : 400px">
+                       <div dojoType="dijit.layout.ContentPane" title="'.__('Edit user').'">';
+
                        print "<form id=\"user_edit_form\" onsubmit='return false' dojoType=\"dijit.form.Form\">";
 
+                       $id = (int) $this->dbh->escape_string($_REQUEST["id"]);
+
                        print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"id\" value=\"$id\">";
                        print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-users\">";
                        print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"editSave\">";
@@ -121,7 +48,7 @@ class Pref_Users extends Handler_Protected {
 
                        print "<input size=\"30\" style=\"font-size : 16px\"
                                dojoType=\"dijit.form.ValidationTextBox\" required=\"1\"
-                               onkeypress=\"return filterCR(event, userEditSave)\" $sel_disabled
+                               $sel_disabled
                                name=\"login\" value=\"$login\">";
 
                        print "</div>";
@@ -142,7 +69,7 @@ class Pref_Users extends Handler_Protected {
 
                        print "<hr/>";
 
-                       print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" size=\"20\" onkeypress=\"return filterCR(event, userEditSave)\" placeholder=\"Change password\"
+                       print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" size=\"20\" placeholder=\"Change password\"
                                name=\"password\">";
 
                        print "</div>";
@@ -150,7 +77,7 @@ class Pref_Users extends Handler_Protected {
                        print "<div class=\"dlgSec\">".__("Options")."</div>";
                        print "<div class=\"dlgSecCont\">";
 
-                       print "<input dojoType=\"dijit.form.TextBox\" size=\"30\" name=\"email\" onkeypress=\"return filterCR(event, userEditSave)\" placeholder=\"E-mail\"
+                       print "<input dojoType=\"dijit.form.TextBox\" size=\"30\" name=\"email\" placeholder=\"E-mail\"
                                value=\"$email\">";
 
                        print "</div>";
@@ -159,15 +86,92 @@ class Pref_Users extends Handler_Protected {
 
                        print "</form>";
 
+                       print '</div>'; #tab
+                       print "<div href=\"backend.php?op=pref-users&method=userdetails&id=$id\"
+                               dojoType=\"dijit.layout.ContentPane\" title=\"".__('User details')."\">";
+
+                       print '</div>';
+                       print '</div>';
+
                        print "<div class=\"dlgButtons\">
                                <button dojoType=\"dijit.form.Button\" type=\"submit\">".
-                                       __('Save')."</button>
+                               __('Save')."</button>
                                <button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('userEditDlg').hide()\">".
-                                       __('Cancel')."</button></div>";
+                               __('Cancel')."</button></div>";
 
                        return;
                }
 
+               function userdetails() {
+                       $id = (int) $this->dbh->escape_string($_REQUEST["id"]);
+
+                       $result = $this->dbh->query("SELECT login,
+                               ".SUBSTRING_FOR_DATE."(last_login,1,16) AS last_login,
+                               access_level,
+                               (SELECT COUNT(int_id) FROM ttrss_user_entries
+                                       WHERE owner_uid = id) AS stored_articles,
+                               ".SUBSTRING_FOR_DATE."(created,1,16) AS created
+                               FROM ttrss_users
+                               WHERE id = '$id'");
+
+                       if ($this->dbh->num_rows($result) == 0) {
+                               print "<h1>".__('User not found')."</h1>";
+                               return;
+                       }
+
+                       print "<table width='100%'>";
+
+                       $last_login = make_local_datetime(
+                               $this->dbh->fetch_result($result, 0, "last_login"), true);
+
+                       $created = make_local_datetime(
+                               $this->dbh->fetch_result($result, 0, "created"), true);
+
+                       $stored_articles = $this->dbh->fetch_result($result, 0, "stored_articles");
+
+                       print "<tr><td>".__('Registered')."</td><td>$created</td></tr>";
+                       print "<tr><td>".__('Last logged in')."</td><td>$last_login</td></tr>";
+
+                       $result = $this->dbh->query("SELECT COUNT(id) as num_feeds FROM ttrss_feeds
+                               WHERE owner_uid = '$id'");
+
+                       $num_feeds = $this->dbh->fetch_result($result, 0, "num_feeds");
+
+                       print "<tr><td>".__('Subscribed feeds count')."</td><td>$num_feeds</td></tr>";
+                       print "<tr><td>".__('Stored articles')."</td><td>$stored_articles</td></tr>";
+
+                       print "</table>";
+
+                       print "<h1>".__('Subscribed feeds')."</h1>";
+
+                       $result = $this->dbh->query("SELECT id,title,site_url FROM ttrss_feeds
+                               WHERE owner_uid = '$id' ORDER BY title");
+
+                       print "<ul class=\"userFeedList\">";
+
+                       while ($line = $this->dbh->fetch_assoc($result)) {
+
+                               $icon_file = ICONS_URL."/".$line["id"].".ico";
+
+                               if (file_exists($icon_file) && filesize($icon_file) > 0) {
+                                       $feed_icon = "<img class=\"tinyFeedIcon\" src=\"$icon_file\">";
+                               } else {
+                                       $feed_icon = "<img class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\">";
+                               }
+
+                               print "<li>$feed_icon&nbsp;<a href=\"".$line["site_url"]."\">".$line["title"]."</a></li>";
+
+                       }
+
+                       if ($this->dbh->num_rows($result) < $num_feeds) {
+                               // FIXME - add link to show ALL subscribed feeds here somewhere
+                               print "<li><img
+                                       class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\">&nbsp;...</li>";
+                       }
+
+                       print "</ul>";
+               }
+
                function editSave() {
                        $login = $this->dbh->escape_string(trim($_REQUEST["login"]));
                        $uid = $this->dbh->escape_string($_REQUEST["id"]);
@@ -338,8 +342,6 @@ class Pref_Users extends Handler_Protected {
                        print "<button dojoType=\"dijit.form.Button\" onclick=\"addUser()\">".__('Create user')."</button>";
 
                        print "
-                               <button dojoType=\"dijit.form.Button\" onclick=\"selectedUserDetails()\">".
-                               __('Details')."</button dojoType=\"dijit.form.Button\">
                                <button dojoType=\"dijit.form.Button\" onclick=\"editSelectedUser()\">".
                                __('Edit')."</button dojoType=\"dijit.form.Button\">
                                <button dojoType=\"dijit.form.Button\" onclick=\"removeSelectedUsers()\">".
index a0f954e075206c3ad5bd2924c0c25dfb8d039e17..843edaec6700b7fabb1408d37801f1595055272a 100644 (file)
@@ -502,27 +502,6 @@ function infobox_callback2(transport, title) {
        }
 }
 
-function filterCR(e, f)
-{
-     var key;
-
-     if(window.event)
-          key = window.event.keyCode;     //IE
-     else
-          key = e.which;     //firefox
-
-       if (key == 13) {
-               if (typeof f != 'undefined') {
-                       f();
-                       return false;
-               } else {
-                       return false;
-               }
-       } else {
-               return true;
-       }
-}
-
 function getInitParam(key) {
        return init_params[key];
 }
index 159b9ecbc3654bb9f660e2c6a93a78e6fe04231a..66288764a9e8cf6dbcfa01498a792180dd1af6b2 100644 (file)
@@ -109,7 +109,6 @@ function editUser(id, event) {
                        style: "width: 600px",
                        execute: function() {
                                if (this.validate()) {
-
                                        notify_progress("Saving data...", true);
 
                                        var query = dojo.formToQuery("user_edit_form");