]> git.wh0rd.org - tt-rss.git/blob - prefs.php
implement better loading of pref trees
[tt-rss.git] / prefs.php
1 <?php
2 if (file_exists("install") && !file_exists("config.php")) {
3 header("Location: install/");
4 }
5
6 set_include_path(dirname(__FILE__) ."/include" . PATH_SEPARATOR .
7 get_include_path());
8
9 if (!file_exists("config.php")) {
10 print "<b>Fatal Error</b>: You forgot to copy
11 <b>config.php-dist</b> to <b>config.php</b> and edit it.\n";
12 exit;
13 }
14
15 require_once "sessions.php";
16 require_once "functions.php";
17 require_once "sanity_check.php";
18 require_once "version.php";
19 require_once "config.php";
20 require_once "db-prefs.php";
21
22 $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
23
24 if (!init_connection($link)) return;
25
26 login_sequence($link);
27
28 no_cache_incantation();
29
30 header('Content-Type: text/html; charset=utf-8');
31 ?>
32 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
33 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
34 <html>
35 <head>
36 <title>Tiny Tiny RSS : <?php echo __("Preferences") ?></title>
37
38 <?php echo stylesheet_tag("lib/dijit/themes/claro/claro.css"); ?>
39 <?php echo stylesheet_tag("tt-rss.css"); ?>
40 <?php echo stylesheet_tag("prefs.css"); ?>
41
42 <?php if ($_SESSION["uid"]) {
43 $theme = get_pref($link, "USER_CSS_THEME", $_SESSION["uid"], false);
44 if ($theme) {
45 echo stylesheet_tag("themes/$theme");
46 }
47 }
48 ?>
49
50 <?php print_user_stylesheet($link) ?>
51
52 <link rel="shortcut icon" type="image/png" href="images/favicon.png"/>
53 <link rel="icon" type="image/png" sizes="72x72" href="images/favicon-72px.png" />
54
55 <?php
56 foreach (array("lib/prototype.js",
57 "lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls",
58 "lib/dojo/dojo.js",
59 "lib/dijit/dijit.js",
60 "lib/CheckBoxTree.js",
61 "lib/dojo/tt-rss-layer.js",
62 "errors.php?mode=js") as $jsfile) {
63
64 echo javascript_tag($jsfile);
65
66 } ?>
67
68 <script type="text/javascript">
69 <?php
70 require 'lib/jshrink/Minifier.php';
71
72 global $pluginhost;
73
74 foreach ($pluginhost->get_plugins() as $n => $p) {
75 if (method_exists($p, "get_prefs_js")) {
76 echo JShrink\Minifier::minify($p->get_prefs_js());
77 }
78 }
79
80 print get_minified_js(array("functions", "deprecated", "prefs", "PrefFeedTree", "PrefFilterTree", "PrefLabelTree"));
81
82 init_js_translations();
83 ?>
84 </script>
85
86 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
87
88 <script type="text/javascript">
89 Event.observe(window, 'load', function() {
90 init();
91 });
92 </script>
93
94 </head>
95
96 <body id="ttrssPrefs" class="claro">
97
98 <div id="notify" class="notify"><span id="notify_body">&nbsp;</span></div>
99 <div id="cmdline" style="display : none"></div>
100
101 <div id="overlay">
102 <div id="overlay_inner">
103 <div class="insensitive"><?php echo __("Loading, please wait...") ?></div>
104 <div dojoType="dijit.ProgressBar" places="0" style="width : 300px" id="loading_bar"
105 progress="0" maximum="100">
106 </div>
107 <noscript><br/><?php print_error('Javascript is disabled. Please enable it.') ?></noscript>
108 </div>
109 </div>
110
111 <div id="header" dojoType="dijit.layout.ContentPane" region="top">
112 <!-- <a href='#' onclick="showHelp()"><?php echo __("Keyboard shortcuts") ?></a> | -->
113 <a href="#" onclick="gotoMain()"><?php echo __('Exit preferences') ?></a>
114 </div>
115
116 <div id="main" dojoType="dijit.layout.BorderContainer">
117
118 <div dojoType="dijit.layout.TabContainer" region="center" id="pref-tabs">
119 <div id="genConfigTab" dojoType="dijit.layout.ContentPane"
120 href="backend.php?op=pref-prefs"
121 title="<?php echo __('Preferences') ?>"></div>
122 <div id="feedConfigTab" dojoType="dijit.layout.ContentPane"
123 href="backend.php?op=pref-feeds"
124 title="<?php echo __('Feeds') ?>"></div>
125 <div id="filterConfigTab" dojoType="dijit.layout.ContentPane"
126 href="backend.php?op=pref-filters"
127 title="<?php echo __('Filters') ?>"></div>
128 <div id="labelConfigTab" dojoType="dijit.layout.ContentPane"
129 href="backend.php?op=pref-labels"
130 title="<?php echo __('Labels') ?>"></div>
131 <?php if ($_SESSION["access_level"] >= 10) { ?>
132 <div id="userConfigTab" dojoType="dijit.layout.ContentPane"
133 href="backend.php?op=pref-users"
134 title="<?php echo __('Users') ?>"></div>
135 <?php } ?>
136 <?php
137 $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TABS,
138 "hook_prefs_tabs", false);
139 ?>
140 </div>
141
142 <div id="footer" dojoType="dijit.layout.ContentPane" region="bottom">
143 <a class="insensitive" target="_blank" href="http://tt-rss.org/">
144 Tiny Tiny RSS</a>
145 <?php if (!defined('HIDE_VERSION')) { ?>
146 v<?php echo VERSION ?>
147 <?php } ?>
148 &copy; 2005-<?php echo date('Y') ?>
149 <a class="insensitive" target="_blank"
150 href="http://fakecake.org/">Andrew Dolgov</a>
151 </div> <!-- footer -->
152
153 </div>
154
155 <?php db_close($link); ?>
156
157 </body>
158 </html>