]> git.wh0rd.org - tt-rss.git/blobdiff - modules/pref-users.php
move phpmailer to lib/
[tt-rss.git] / modules / pref-users.php
index 6baa5e7615cd52b0a56f806582ccd4c83d85a921..392e596ab9f14eeb340d90d0a4cc58562873bd94 100644 (file)
 
                $subop = $_GET["subop"];
 
+               if ($subop == "user-details") {
+
+                       $uid = sprintf("%d", $_GET["id"]);
+
+                       print "<div id=\"infoBoxTitle\">User details</div>";
+
+                       print "<div class='infoBoxContents'>";
+
+                       $result = db_query($link, "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 (db_num_rows($result) == 0) {
+                               print "<h1>User not found</h1>";
+                               return;
+                       }
+                       
+                       // print "<h1>User Details</h1>";
+
+                       $login = db_fetch_result($result, 0, "login");
+
+                       // print "<h1>$login</h1>";
+
+                       print "<table width='100%'>";
+
+                       $last_login = date(get_pref($link, 'LONG_DATE_FORMAT'),
+                               strtotime(db_fetch_result($result, 0, "last_login")));
+
+                       $created = date(get_pref($link, 'LONG_DATE_FORMAT'),
+                               strtotime(db_fetch_result($result, 0, "created")));
+
+                       $access_level = db_fetch_result($result, 0, "access_level");
+                       $stored_articles = db_fetch_result($result, 0, "stored_articles");
+
+                       // print "<tr><td>Username</td><td>$login</td></tr>";
+                       // print "<tr><td>Access level</td><td>$access_level</td></tr>";
+                       print "<tr><td>".__('Registered')."</td><td>$created</td></tr>";
+                       print "<tr><td>".__('Last logged in')."</td><td>$last_login</td></tr>";
+
+/*                     $result = db_query($link, "SELECT 
+                               SUM(LENGTH(content)) AS db_size 
+                               FROM ttrss_user_entries,ttrss_entries 
+                                       WHERE owner_uid = '$uid' AND ref_id = id");
+
+                       $db_size = round(db_fetch_result($result, 0, "db_size") / 1024);
+
+                       print "<tr><td>".__('Stored articles').
+                               "</td><td>$stored_articles (${db_size}K)</td></tr>"; */
+
+                       $result = db_query($link, "SELECT COUNT(id) as num_feeds FROM ttrss_feeds
+                               WHERE owner_uid = '$uid'");
+
+                       $num_feeds = db_fetch_result($result, 0, "num_feeds");
+
+                       print "<tr><td>".__('Subscribed feeds count')."</td><td>$num_feeds</td></tr>";
+       
+                       print "</table>";
+
+                       print "<h1>".__('Subscribed feeds')."</h1>";
+
+                       $result = db_query($link, "SELECT id,title,site_url FROM ttrss_feeds
+                               WHERE owner_uid = '$uid' ORDER BY title");
+
+                       print "<ul class=\"userFeedList\">";
+
+                       $row_class = "odd";
+
+                       while ($line = db_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 class=\"$row_class\">$feed_icon&nbsp;<a href=\"".$line["site_url"]."\">".$line["title"]."</a></li>";
+
+                               $row_class = toggleEvenOdd($row_class);
+
+                       }
+
+                       if (db_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'>
+                               <input type='submit' class='button'                     
+                               onclick=\"closeInfoBox()\" value=\"Close this window\"></div>";
+
+                       print "</div>";
+
+                       return;
+               }
+
                if ($subop == "edit") {
 
                        $id = db_escape_string($_GET["id"]);
 
-                       print "<div id=\"infoBoxTitle\">".__('User editor')."</div>";
+                       print "<div id=\"infoBoxTitle\">".__('User Editor')."</div>";
                        
                        print "<div class=\"infoBoxContents\">";
 
                        $access_level = db_fetch_result($result, 0, "access_level");
                        $email = db_fetch_result($result, 0, "email");
 
-                       print "<table width='100%'>";
-                       print "<tr><td>".__('Login:')."</td><td>
-                               <input class=\"iedit\" onkeypress=\"return filterCR(event)\"
-                               name=\"login\" value=\"$login\"></td></tr>";
+                       $sel_disabled = ($id == $_SESSION["uid"]) ? "disabled" : "";
 
-                       print "<tr><td>".__('Change password:')."</td><td>
-                               <input class=\"iedit\" onkeypress=\"return filterCR(event)\"
-                               name=\"password\"></td></tr>";
+                       print "<div class=\"dlgSec\">".__("User")."</div>";
+                       print "<div class=\"dlgSecCont\">";
 
-                       print "<tr><td>".__('E-mail:')."</td><td>
-                               <input class=\"iedit\" name=\"email\" onkeypress=\"return filterCR(event)\"
-                               value=\"$email\"></td></tr>";
+                       print "<input size=\"30\" style=\"font-size : 16px\" 
+                               onkeypress=\"return filterCR(event, userEditSave)\" $sel_disabled
+                               name=\"login\" value=\"$login\">";
+
+                       print "</div>";
+
+                       print "<div class=\"dlgSec\">".__("Authentication")."</div>";
+                       print "<div class=\"dlgSecCont\">";
+
+                       print __('Access level: ') . " ";
 
-                       $sel_disabled = ($id == $_SESSION["uid"]) ? "disabled" : "";
-                               
-                       print "<tr><td>".__('Access level:')."</td><td>";
                        print_select_hash("access_level", $access_level, $access_level_names, 
                                $sel_disabled);
-                       print "</td></tr>";
+
+                       print "<br/>";
+
+                       print __('Change password to') .
+                               " <input size=\"20\" onkeypress=\"return filterCR(event, userEditSave)\"
+                               name=\"password\">";
+
+                       print "</div>";
+
+                       print "<div class=\"dlgSec\">".__("Options")."</div>";
+                       print "<div class=\"dlgSecCont\">";
+
+                       print __('E-mail: ').
+                               " <input size=\"30\" name=\"email\" onkeypress=\"return filterCR(event, userEditSave)\"
+                               value=\"$email\">";
+
+                       print "</div>";
 
                        print "</table>";
 
                        print "</form>";
                        
-                       print "<div align='right'>
+                       print "<div class=\"dlgButtons\">
                                <input class=\"button\"
                                        type=\"submit\" onclick=\"return userEditSave()\" 
                                        value=\"".__('Save')."\">
                        }
                } else if ($subop == "remove") {
 
-                       if (!WEB_DEMO_MODE && $_SESSION["access_level"] >= 10) {
+                       if ($_SESSION["access_level"] >= 10) {
 
                                $ids = split(",", db_escape_string($_GET["ids"]));
 
                                foreach ($ids as $id) {
-                                       db_query($link, "BEGIN");
-                                       db_query($link, "DELETE FROM ttrss_feeds WHERE owner_uid = '$id' AND owner_uid != " . $_SESSION["uid"]);
-                                       db_query($link, "DELETE FROM ttrss_users WHERE id = '$id' AND id != " . $_SESSION["uid"]);
-                                       db_query($link, "COMMIT");
-                                       
+                                       if ($id != $_SESSION["uid"]) {
+                                               db_query($link, "DELETE FROM ttrss_tags WHERE owner_uid = '$id'");
+                                               db_query($link, "DELETE FROM ttrss_feeds WHERE owner_uid = '$id'");
+                                               db_query($link, "DELETE FROM ttrss_users WHERE id = '$id'");
+                                       }
                                }
                        }
                } else if ($subop == "add") {
                
-                       if (!WEB_DEMO_MODE && $_SESSION["access_level"] >= 10) {
+                       if ($_SESSION["access_level"] >= 10) {
 
                                $login = db_escape_string(trim($_GET["login"]));
                                $tmp_user_pwd = make_password(8);
                                print_notice(T_sprintf("Changed password of user <b>%s</b>
                                         to <b>%s</b>", $login, $tmp_user_pwd));
 
-                               if (MAIL_RESET_PASS && $email) {
+                               if ($email) {
                                        print_notice(T_sprintf("Notifying <b>%s</b>.", $email));
 
                                        require_once "MiniTemplator.class.php";
 
                                        $mail = new PHPMailer();
 
-                                       $mail->PluginDir = "phpmailer/";
-                                       $mail->SetLanguage("en", "phpmailer/language/");
+                                       $mail->PluginDir = "lib/phpmailer/";
+                                       $mail->SetLanguage("en", "lib/phpmailer/language/");
 
                                        $mail->CharSet = "UTF-8";
 
                                        if (DIGEST_SMTP_HOST) {
                                                $mail->Host = DIGEST_SMTP_HOST;
                                                $mail->Mailer = "smtp";
+                                               $mail->SMTPAuth = DIGEST_SMTP_LOGIN != '';
                                                $mail->Username = DIGEST_SMTP_LOGIN;
                                                $mail->Password = DIGEST_SMTP_PASSWORD;
                                        }
 
                                        $mail->IsHTML(false);
-                                       $mail->Subject = __("Password change notification");
+                                       $mail->Subject = __("[tt-rss] Password change notification");
                                        $mail->Body = $message;
 
                                        $rc = $mail->Send();
                        <input id=\"uadd_box\"                  
                                onkeyup=\"toggleSubmitNotEmpty(this, 'user_add_btn')\"
                                onchange=\"toggleSubmitNotEmpty(this, 'user_add_btn')\"
-                               size=\"40\">&nbsp;";
+                               size=\"15\">&nbsp;";
                        
                print "<input type=\"submit\" class=\"button\" 
                        id=\"user_add_btn\" disabled=\"true\"
                        print "<td align='center'><input onclick='toggleSelectPrefRow(this, \"user\");' 
                                type=\"checkbox\" id=\"UMCHK-$uid\"></td>";
 
-                       $onclick = "onclick='editUser($uid) title='".__('Click to edit')."''";
+                       $onclick = "onclick='editUser($uid)' title='".__('Click to edit')."'";
 
                        print "<td $onclick>" . $line["login"] . "</td>";