]> git.wh0rd.org - tt-rss.git/blobdiff - functions.php
toggle no daemon warning @ runtime on refetch
[tt-rss.git] / functions.php
index 06b142d73fb5fe3f12a02ee3618d82642e9fab07..e4dc5e10bbccf49e2ccd8cb9074055b0e1ea7f5a 100644 (file)
        }
 
        function print_select($id, $default, $values, $attributes = "") {
-               print "<select id=\"$id\" $attributes>";
+               print "<select name=\"$id\" id=\"$id\" $attributes>";
                foreach ($values as $v) {
                        if ($v == $default)
                                $sel = " selected";
                print "</select>";
        }
 
+       function print_select_hash($id, $default, $values, $attributes = "") {
+               print "<select name=\"$id\" id='$id' $attributes>";
+               foreach (array_keys($values) as $v) {
+                       if ($v == $default)
+                               $sel = "selected";
+                        else
+                               $sel = "";
+                       
+                       print "<option $sel value=\"$v\">".$values[$v]."</option>";
+               }
+
+               print "</select>";
+       }
+
        function get_filter_name($title, $content, $link, $filters) {
 
                if ($filters["title"]) {
 
        function authenticate_user($link, $login, $password) {
 
-               $pwd_hash = 'SHA1:' . sha1($password);
-
-               $result = db_query($link, "SELECT id,login,access_level FROM ttrss_users WHERE 
-                       login = '$login' AND pwd_hash = '$pwd_hash'");
-
-               if (db_num_rows($result) == 1) {
-                       $_SESSION["uid"] = db_fetch_result($result, 0, "id");
-                       $_SESSION["name"] = db_fetch_result($result, 0, "login");
-                       $_SESSION["access_level"] = db_fetch_result($result, 0, "access_level");
-
-                       db_query($link, "UPDATE ttrss_users SET last_login = NOW() WHERE id = " . 
-                               $_SESSION["uid"]);
+               if (!SINGLE_USER_MODE) {
 
-                       $user_theme = get_user_theme_path($link);
+                       $pwd_hash = 'SHA1:' . sha1($password);
+       
+                       $result = db_query($link, "SELECT id,login,access_level FROM ttrss_users WHERE 
+                               login = '$login' AND pwd_hash = '$pwd_hash'");
+       
+                       if (db_num_rows($result) == 1) {
+                               $_SESSION["uid"] = db_fetch_result($result, 0, "id");
+                               $_SESSION["name"] = db_fetch_result($result, 0, "login");
+                               $_SESSION["access_level"] = db_fetch_result($result, 0, "access_level");
+       
+                               db_query($link, "UPDATE ttrss_users SET last_login = NOW() WHERE id = " . 
+                                       $_SESSION["uid"]);
+       
+                               $user_theme = get_user_theme_path($link);
+       
+                               $_SESSION["theme"] = $user_theme;
+                               $_SESSION["ip_address"] = $_SERVER["REMOTE_ADDR"];
+       
+                               initialize_user_prefs($link, $_SESSION["uid"]);
+       
+                               return true;
+                       }
+       
+                       return false;
 
-                       $_SESSION["theme"] = $user_theme;
-                       $_SESSION["ip_address"] = $_SERVER["REMOTE_ADDR"];
+               } else {
 
-                       initialize_user_prefs($link, $_SESSION["uid"]);
+                       $_SESSION["uid"] = 1;
+                       $_SESSION["name"] = "admin";
 
                        return true;
                }
-
-               return false;
-
        }
 
        function make_password($length = 8) {
 
        function basic_nosid_redirect_check() {
                if (!SINGLE_USER_MODE) {
-                       if (!$_COOKIE["ttrss_sid"]) {
+                       if (!$_COOKIE[get_session_cookie_name()]) {
                                $redirect_uri = get_login_redirect();
                                $return_to = preg_replace('/.*?\//', '', $_SERVER["REQUEST_URI"]);
                                header("Location: $redirect_uri?rt=$return_to");
                }
        }
 
+       function print_feed_select($link, $id, $default_id = "", 
+               $attributes = "", $include_all_feeds = true) {
+
+               print "<select id=\"$id\" name=\"$id\" $attributes>";
+               if ($include_all_feeds) { 
+                       print "<option value=\"0\">All feeds</option>";
+               }
+       
+               $result = db_query($link, "SELECT id,title FROM ttrss_feeds
+                       WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title");
+
+               if (db_num_rows($result) > 0 && $include_all_feeds) {
+                       print "<option disabled>--------</option>";
+               }
+
+               while ($line = db_fetch_assoc($result)) {
+                       if ($line["id"] == $default_id) {
+                               $is_selected = "selected";
+                       } else {
+                               $is_selected = "";
+                       }
+                       printf("<option $is_selected value='%d'>%s</option>", 
+                               $line["id"], htmlspecialchars(db_unescape_string($line["title"])));
+               }
+       
+               print "</select>";
+       }
+
+       function print_feed_cat_select($link, $id, $default_id = "", 
+               $attributes = "", $include_all_cats = true) {
+               
+               print "<select id=\"$id\" name=\"$id\" $attributes>";
+
+               if ($include_all_cats) {
+                       print "<option value=\"0\">Uncategorized</option>";
+               }
+
+               $result = db_query($link, "SELECT id,title FROM ttrss_feed_categories
+                       WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title");
+
+               if (db_num_rows($result) > 0 && $include_all_cats) {
+                       print "<option disabled>--------</option>";
+               }
+
+               while ($line = db_fetch_assoc($result)) {
+                       if ($line["id"] == $default_id) {
+                               $is_selected = "selected";
+                       } else {
+                               $is_selected = "";
+                       }
+                       printf("<option $is_selected value='%d'>%s</option>", 
+                               $line["id"], htmlspecialchars(db_unescape_string($line["title"])));
+               }
+
+               print "</select>";
+       }
+       
+       function checkbox_to_sql_bool($val) {
+               return ($val == "on") ? "true" : "false";
+       }
+
+       function getFeedCatTitle($link, $id) {
+               if ($id == -1) {
+                       return "Special";
+               } else if ($id < -10) {
+                       return "Labels";
+               } else if ($id > 0) {
+                       $result = db_query($link, "SELECT ttrss_feed_categories.title 
+                               FROM ttrss_feeds, ttrss_feed_categories WHERE ttrss_feeds.id = '$id' AND
+                                       cat_id = ttrss_feed_categories.id");
+                       if (db_num_rows($result) == 1) {
+                               return db_fetch_result($result, 0, "title");
+                       } else {
+                               return "Uncategorized";
+                       }
+               } else {
+                       return "getFeedCatTitle($id) failed";
+               }
+
+       }
+
+       function getFeedTitle($link, $id) {
+               if ($id == -1) {
+                       return "Starred articles";
+               } else if ($id < -10) {
+                       $label_id = -10 - $id;
+                       $result = db_query($link, "SELECT description FROM ttrss_labels WHERE id = '$label_id'");
+                       if (db_num_rows($result) == 1) {
+                               return db_fetch_result($result, 0, "description");
+                       } else {
+                               return "Unknown label ($label_id)";
+                       }
+
+               } else if ($id > 0) {
+                       $result = db_query($link, "SELECT title FROM ttrss_feeds WHERE id = '$id'");
+                       if (db_num_rows($result) == 1) {
+                               return db_fetch_result($result, 0, "title");
+                       } else {
+                               return "Unknown feed ($id)";
+                       }
+               } else {
+                       return "getFeedTitle($id) failed";
+               }
+
+       }
+
+       function get_session_cookie_name() {
+               return ((!defined('TTRSS_SESSION_NAME')) ? "ttrss_sid" : TTRSS_SESSION_NAME);
+       }
+
+       function print_init_params($link) {
+               print "<init-params>";
+               if ($_SESSION["stored-params"]) {
+                       foreach (array_keys($_SESSION["stored-params"]) as $key) {
+                               $value = htmlspecialchars($_SESSION["stored-params"][$key]);
+                               print "<param key=\"$key\" value=\"$value\"/>";
+                       }
+               }
+
+               print "<param key=\"daemon_enabled\" value=\"" . ENABLE_UPDATE_DAEMON . "\"/>";
+               print "<param key=\"feeds_frame_refresh\" value=\"" . FEEDS_FRAME_REFRESH . "\"/>";
+
+               print "<param key=\"on_catchup_show_next_feed\" value=\"" . 
+                       get_pref($link, "ON_CATCHUP_SHOW_NEXT_FEED") . "\"/>";
+
+               print "<param key=\"hide_read_feeds\" value=\"" . 
+                       sprintf("%d", get_pref($link, "HIDE_READ_FEEDS")) . "\"/>";
+
+               print "</init-params>";
+       }
+
+       function print_runtime_info($link) {
+               print "<runtime-info>";
+               if (ENABLE_UPDATE_DAEMON) {
+                       print "<param key=\"daemon_is_running\" value=\"".
+                               sprintf("%d", file_is_locked("update_daemon.lock")) . "\"/>";
+               }
+               print "</runtime-info>";
+       }
 ?>