controls.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  1. <?php
  2. function print_select($id, $default, $values, $attributes = "", $name = "") {
  3. if (!$name) $name = $id;
  4. print "<select name=\"$name\" id=\"$id\" $attributes>";
  5. foreach ($values as $v) {
  6. if ($v == $default)
  7. $sel = "selected=\"1\"";
  8. else
  9. $sel = "";
  10. $v = trim($v);
  11. print "<option value=\"$v\" $sel>$v</option>";
  12. }
  13. print "</select>";
  14. }
  15. function print_select_hash($id, $default, $values, $attributes = "", $name = "") {
  16. if (!$name) $name = $id;
  17. print "<select name=\"$name\" id='$id' $attributes>";
  18. foreach (array_keys($values) as $v) {
  19. if ($v == $default)
  20. $sel = 'selected="selected"';
  21. else
  22. $sel = "";
  23. $v = trim($v);
  24. print "<option $sel value=\"$v\">".$values[$v]."</option>";
  25. }
  26. print "</select>";
  27. }
  28. function print_hidden($name, $value) {
  29. print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"$name\" value=\"$value\">";
  30. }
  31. function print_checkbox($id, $checked, $value = "", $attributes = "") {
  32. $checked_str = $checked ? "checked" : "";
  33. $value_str = $value ? "value=\"$value\"" : "";
  34. print "<input dojoType=\"dijit.form.CheckBox\" id=\"$id\" $value_str $checked_str $attributes name=\"$id\">";
  35. }
  36. function print_button($type, $value, $attributes = "") {
  37. print "<p><button dojoType=\"dijit.form.Button\" $attributes type=\"$type\">$value</button>";
  38. }
  39. function print_radio($id, $default, $true_is, $values, $attributes = "") {
  40. foreach ($values as $v) {
  41. if ($v == $default)
  42. $sel = "checked";
  43. else
  44. $sel = "";
  45. if ($v == $true_is) {
  46. $sel .= " value=\"1\"";
  47. } else {
  48. $sel .= " value=\"0\"";
  49. }
  50. print "<input class=\"noborder\" dojoType=\"dijit.form.RadioButton\"
  51. type=\"radio\" $sel $attributes name=\"$id\">&nbsp;$v&nbsp;";
  52. }
  53. }
  54. function print_feed_multi_select($id, $default_ids = [],
  55. $attributes = "", $include_all_feeds = true,
  56. $root_id = false, $nest_level = 0) {
  57. print_r(in_array("CAT:6",$default_ids));
  58. if (!$root_id) {
  59. print "<select multiple=\true\" id=\"$id\" name=\"$id\" $attributes>";
  60. if ($include_all_feeds) {
  61. $is_selected = (in_array("0", $default_ids)) ? "selected=\"1\"" : "";
  62. print "<option $is_selected value=\"0\">".__('All feeds')."</option>";
  63. }
  64. }
  65. if (get_pref('ENABLE_FEED_CATS')) {
  66. if ($root_id)
  67. $parent_qpart = "parent_cat = '$root_id'";
  68. else
  69. $parent_qpart = "parent_cat IS NULL";
  70. $result = db_query("SELECT id,title,
  71. (SELECT COUNT(id) FROM ttrss_feed_categories AS c2 WHERE
  72. c2.parent_cat = ttrss_feed_categories.id) AS num_children
  73. FROM ttrss_feed_categories
  74. WHERE owner_uid = ".$_SESSION["uid"]." AND $parent_qpart ORDER BY title");
  75. while ($line = db_fetch_assoc($result)) {
  76. for ($i = 0; $i < $nest_level; $i++)
  77. $line["title"] = " - " . $line["title"];
  78. $is_selected = in_array("CAT:".$line["id"], $default_ids) ? "selected=\"1\"" : "";
  79. printf("<option $is_selected value='CAT:%d'>%s</option>",
  80. $line["id"], htmlspecialchars($line["title"]));
  81. if ($line["num_children"] > 0)
  82. print_feed_multi_select($id, $default_ids, $attributes,
  83. $include_all_feeds, $line["id"], $nest_level+1);
  84. $feed_result = db_query("SELECT id,title FROM ttrss_feeds
  85. WHERE cat_id = '".$line["id"]."' AND owner_uid = ".$_SESSION["uid"] . " ORDER BY title");
  86. while ($fline = db_fetch_assoc($feed_result)) {
  87. $is_selected = (in_array($fline["id"], $default_ids)) ? "selected=\"1\"" : "";
  88. $fline["title"] = " + " . $fline["title"];
  89. for ($i = 0; $i < $nest_level; $i++)
  90. $fline["title"] = " - " . $fline["title"];
  91. printf("<option $is_selected value='%d'>%s</option>",
  92. $fline["id"], htmlspecialchars($fline["title"]));
  93. }
  94. }
  95. if (!$root_id) {
  96. $is_selected = in_array("CAT:0", $default_ids) ? "selected=\"1\"" : "";
  97. printf("<option $is_selected value='CAT:0'>%s</option>",
  98. __("Uncategorized"));
  99. $feed_result = db_query("SELECT id,title FROM ttrss_feeds
  100. WHERE cat_id IS NULL AND owner_uid = ".$_SESSION["uid"] . " ORDER BY title");
  101. while ($fline = db_fetch_assoc($feed_result)) {
  102. $is_selected = in_array($fline["id"], $default_ids) ? "selected=\"1\"" : "";
  103. $fline["title"] = " + " . $fline["title"];
  104. for ($i = 0; $i < $nest_level; $i++)
  105. $fline["title"] = " - " . $fline["title"];
  106. printf("<option $is_selected value='%d'>%s</option>",
  107. $fline["id"], htmlspecialchars($fline["title"]));
  108. }
  109. }
  110. } else {
  111. $result = db_query("SELECT id,title FROM ttrss_feeds
  112. WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title");
  113. while ($line = db_fetch_assoc($result)) {
  114. $is_selected = (in_array($line["id"], $default_ids)) ? "selected=\"1\"" : "";
  115. printf("<option $is_selected value='%d'>%s</option>",
  116. $line["id"], htmlspecialchars($line["title"]));
  117. }
  118. }
  119. if (!$root_id) {
  120. print "</select>";
  121. }
  122. }
  123. /*function print_feed_select($id, $default_id = "",
  124. $attributes = "", $include_all_feeds = true,
  125. $root_id = false, $nest_level = 0) {
  126. if (!$root_id) {
  127. print "<select id=\"$id\" name=\"$id\" $attributes>";
  128. if ($include_all_feeds) {
  129. $is_selected = ("0" == $default_id) ? "selected=\"1\"" : "";
  130. print "<option $is_selected value=\"0\">".__('All feeds')."</option>";
  131. }
  132. }
  133. if (get_pref('ENABLE_FEED_CATS')) {
  134. if ($root_id)
  135. $parent_qpart = "parent_cat = '$root_id'";
  136. else
  137. $parent_qpart = "parent_cat IS NULL";
  138. $result = db_query("SELECT id,title,
  139. (SELECT COUNT(id) FROM ttrss_feed_categories AS c2 WHERE
  140. c2.parent_cat = ttrss_feed_categories.id) AS num_children
  141. FROM ttrss_feed_categories
  142. WHERE owner_uid = ".$_SESSION["uid"]." AND $parent_qpart ORDER BY title");
  143. while ($line = db_fetch_assoc($result)) {
  144. for ($i = 0; $i < $nest_level; $i++)
  145. $line["title"] = " - " . $line["title"];
  146. $is_selected = ("CAT:".$line["id"] == $default_id) ? "selected=\"1\"" : "";
  147. printf("<option $is_selected value='CAT:%d'>%s</option>",
  148. $line["id"], htmlspecialchars($line["title"]));
  149. if ($line["num_children"] > 0)
  150. print_feed_select($id, $default_id, $attributes,
  151. $include_all_feeds, $line["id"], $nest_level+1);
  152. $feed_result = db_query("SELECT id,title FROM ttrss_feeds
  153. WHERE cat_id = '".$line["id"]."' AND owner_uid = ".$_SESSION["uid"] . " ORDER BY title");
  154. while ($fline = db_fetch_assoc($feed_result)) {
  155. $is_selected = ($fline["id"] == $default_id) ? "selected=\"1\"" : "";
  156. $fline["title"] = " + " . $fline["title"];
  157. for ($i = 0; $i < $nest_level; $i++)
  158. $fline["title"] = " - " . $fline["title"];
  159. printf("<option $is_selected value='%d'>%s</option>",
  160. $fline["id"], htmlspecialchars($fline["title"]));
  161. }
  162. }
  163. if (!$root_id) {
  164. $default_is_cat = ($default_id == "CAT:0");
  165. $is_selected = $default_is_cat ? "selected=\"1\"" : "";
  166. printf("<option $is_selected value='CAT:0'>%s</option>",
  167. __("Uncategorized"));
  168. $feed_result = db_query("SELECT id,title FROM ttrss_feeds
  169. WHERE cat_id IS NULL AND owner_uid = ".$_SESSION["uid"] . " ORDER BY title");
  170. while ($fline = db_fetch_assoc($feed_result)) {
  171. $is_selected = ($fline["id"] == $default_id && !$default_is_cat) ? "selected=\"1\"" : "";
  172. $fline["title"] = " + " . $fline["title"];
  173. for ($i = 0; $i < $nest_level; $i++)
  174. $fline["title"] = " - " . $fline["title"];
  175. printf("<option $is_selected value='%d'>%s</option>",
  176. $fline["id"], htmlspecialchars($fline["title"]));
  177. }
  178. }
  179. } else {
  180. $result = db_query("SELECT id,title FROM ttrss_feeds
  181. WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title");
  182. while ($line = db_fetch_assoc($result)) {
  183. $is_selected = ($line["id"] == $default_id) ? "selected=\"1\"" : "";
  184. printf("<option $is_selected value='%d'>%s</option>",
  185. $line["id"], htmlspecialchars($line["title"]));
  186. }
  187. }
  188. if (!$root_id) {
  189. print "</select>";
  190. }
  191. }*/
  192. function print_feed_cat_select($id, $default_id,
  193. $attributes, $include_all_cats = true, $root_id = false, $nest_level = 0) {
  194. if (!$root_id) {
  195. print "<select id=\"$id\" name=\"$id\" default=\"$default_id\" $attributes>";
  196. }
  197. if ($root_id)
  198. $parent_qpart = "parent_cat = '$root_id'";
  199. else
  200. $parent_qpart = "parent_cat IS NULL";
  201. $result = db_query("SELECT id,title,
  202. (SELECT COUNT(id) FROM ttrss_feed_categories AS c2 WHERE
  203. c2.parent_cat = ttrss_feed_categories.id) AS num_children
  204. FROM ttrss_feed_categories
  205. WHERE owner_uid = ".$_SESSION["uid"]." AND $parent_qpart ORDER BY title");
  206. while ($line = db_fetch_assoc($result)) {
  207. if ($line["id"] == $default_id) {
  208. $is_selected = "selected=\"1\"";
  209. } else {
  210. $is_selected = "";
  211. }
  212. for ($i = 0; $i < $nest_level; $i++)
  213. $line["title"] = " - " . $line["title"];
  214. if ($line["title"])
  215. printf("<option $is_selected value='%d'>%s</option>",
  216. $line["id"], htmlspecialchars($line["title"]));
  217. if ($line["num_children"] > 0)
  218. print_feed_cat_select($id, $default_id, $attributes,
  219. $include_all_cats, $line["id"], $nest_level+1);
  220. }
  221. if (!$root_id) {
  222. if ($include_all_cats) {
  223. if (db_num_rows($result) > 0) {
  224. print "<option disabled=\"1\">--------</option>";
  225. }
  226. if ($default_id == 0) {
  227. $is_selected = "selected=\"1\"";
  228. } else {
  229. $is_selected = "";
  230. }
  231. print "<option $is_selected value=\"0\">".__('Uncategorized')."</option>";
  232. }
  233. print "</select>";
  234. }
  235. }
  236. function stylesheet_tag($filename) {
  237. $timestamp = filemtime($filename);
  238. return "<link rel=\"stylesheet\" type=\"text/css\" href=\"$filename?$timestamp\"/>\n";
  239. }
  240. function javascript_tag($filename) {
  241. $query = "";
  242. if (!(strpos($filename, "?") === FALSE)) {
  243. $query = substr($filename, strpos($filename, "?")+1);
  244. $filename = substr($filename, 0, strpos($filename, "?"));
  245. }
  246. $timestamp = filemtime($filename);
  247. if ($query) $timestamp .= "&$query";
  248. return "<script type=\"text/javascript\" charset=\"utf-8\" src=\"$filename?$timestamp\"></script>\n";
  249. }
  250. function format_warning($msg, $id = "") {
  251. return "<div class=\"alert\" id=\"$id\">$msg</div>";
  252. }
  253. function format_notice($msg, $id = "") {
  254. return "<div class=\"alert alert-info\" id=\"$id\">$msg</div>";
  255. }
  256. function format_error($msg, $id = "") {
  257. return "<div class=\"alert alert-danger\" id=\"$id\">$msg</div>";
  258. }
  259. function print_notice($msg) {
  260. return print format_notice($msg);
  261. }
  262. function print_warning($msg) {
  263. return print format_warning($msg);
  264. }
  265. function print_error($msg) {
  266. return print format_error($msg);
  267. }
  268. function format_inline_player($url, $ctype) {
  269. $entry = "";
  270. $url = htmlspecialchars($url);
  271. if (strpos($ctype, "audio/") === 0) {
  272. if ($_SESSION["hasAudio"] && (strpos($ctype, "ogg") !== false ||
  273. $_SESSION["hasMp3"])) {
  274. $entry .= "<audio preload=\"none\" controls>
  275. <source type=\"$ctype\" src=\"$url\"/>
  276. </audio>";
  277. } else {
  278. $entry .= "<object type=\"application/x-shockwave-flash\"
  279. data=\"lib/button/musicplayer.swf?song_url=$url\"
  280. width=\"17\" height=\"17\" style='float : left; margin-right : 5px;'>
  281. <param name=\"movie\"
  282. value=\"lib/button/musicplayer.swf?song_url=$url\" />
  283. </object>";
  284. }
  285. if ($entry) $entry .= "&nbsp; <a target=\"_blank\" rel=\"noopener noreferrer\"
  286. href=\"$url\">" . basename($url) . "</a>";
  287. return $entry;
  288. }
  289. return "";
  290. }
  291. function print_label_select($name, $value, $attributes = "") {
  292. $result = db_query("SELECT caption FROM ttrss_labels2
  293. WHERE owner_uid = '".$_SESSION["uid"]."' ORDER BY caption");
  294. print "<select default=\"$value\" name=\"" . htmlspecialchars($name) .
  295. "\" $attributes>";
  296. while ($line = db_fetch_assoc($result)) {
  297. $issel = ($line["caption"] == $value) ? "selected=\"1\"" : "";
  298. print "<option value=\"".htmlspecialchars($line["caption"])."\"
  299. $issel>" . htmlspecialchars($line["caption"]) . "</option>";
  300. }
  301. # print "<option value=\"ADD_LABEL\">" .__("Add label...") . "</option>";
  302. print "</select>";
  303. }