Verzeichnisstruktur phpBB-3.0.0
- Veröffentlicht
- 12.12.2007
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
forum_fn.js
001 /**
002 * phpBB3 forum functions
003 */
004
005 /**
006 * Window popup
007 */
008 function popup(url, width, height, name)
009 {
010 if (!name)
011 {
012 name = '_popup';
013 }
014
015 window.open(url.replace(/&/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
016 return false;
017 }
018
019 /**
020 * Jump to page
021 */
022 function jumpto()
023 {
024 var page = prompt(jump_page, on_page);
025
026 if (page !== null && !isNaN(page) && page > 0)
027 {
028 document.location.href = base_url.replace(/&/g, '&') + '&start=' + ((page - 1) * per_page);
029 }
030 }
031
032 /**
033 * Mark/unmark checklist
034 * id = ID of parent container, name = name prefix, state = state [true/false]
035 */
036 function marklist(id, name, state)
037 {
038 var parent = document.getElementById(id);
039 if (!parent)
040 {
041 eval('parent = document.' + id);
042 }
043
044 if (!parent)
045 {
046 return;
047 }
048
049 var rb = parent.getElementsByTagName('input');
050
051 for (var r = 0; r < rb.length; r++)
052 {
053 if (rb[r].name.substr(0, name.length) == name)
054 {
055 rb[r].checked = state;
056 }
057 }
058 }
059
060 /**
061 * Resize viewable area for attached image or topic review panel (possibly others to come)
062 * e = element
063 */
064 function viewableArea(e, itself)
065 {
066 if (!e) return;
067 if (!itself)
068 {
069 e = e.parentNode;
070 }
071
072 if (!e.vaHeight)
073 {
074 // Store viewable area height before changing style to auto
075 e.vaHeight = e.offsetHeight;
076 e.vaMaxHeight = e.style.maxHeight;
077 e.style.height = 'auto';
078 e.style.maxHeight = 'none';
079 e.style.overflow = 'visible';
080 }
081 else
082 {
083 // Restore viewable area height to the default
084 e.style.height = e.vaHeight + 'px';
085 e.style.overflow = 'auto';
086 e.style.maxHeight = e.vaMaxHeight;
087 e.vaHeight = false;
088 }
089 }
090
091 /**
092 * Set display of page element
093 * s[-1,0,1] = hide,toggle display,show
094 */
095 function dE(n, s)
096 {
097 var e = document.getElementById(n);
098
099 if (!s)
100 {
101 s = (e.style.display == '' || e.style.display == 'block') ? -1 : 1;
102 }
103 e.style.display = (s == 1) ? 'block' : 'none';
104 }
105
106 /**
107 * Alternate display of subPanels
108 */
109 function subPanels(p)
110 {
111 var i, e, t;
112
113 if (typeof(p) == 'string')
114 {
115 show_panel = p;
116 }
117
118 for (i = 0; i < panels.length; i++)
119 {
120 e = document.getElementById(panels[i]);
121 t = document.getElementById(panels[i] + '-tab');
122
123 if (e)
124 {
125 if (panels[i] == show_panel)
126 {
127 e.style.display = 'block';
128 if (t)
129 {
130 t.className = 'activetab';
131 }
132 }
133 else
134 {
135 e.style.display = 'none';
136 if (t)
137 {
138 t.className = '';
139 }
140 }
141 }
142 }
143 }
144
145 /**
146 * Call print preview
147 */
148 function printPage()
149 {
150 if (is_ie)
151 {
152 printPreview();
153 }
154 else
155 {
156 window.print();
157 }
158 }
159
160 /**
161 * Show/hide groups of blocks
162 * c = CSS style name
163 * e = checkbox element
164 * t = toggle dispay state (used to show 'grip-show' image in the profile block when hiding the profiles)
165 */
166 function displayBlocks(c, e, t)
167 {
168 var s = (e.checked == true) ? 1 : -1;
169
170 if (t)
171 {
172 s *= -1;
173 }
174
175 var divs = document.getElementsByTagName("DIV");
176
177 for (var d = 0; d < divs.length; d++)
178 {
179 if (divs[d].className.indexOf(c) == 0)
180 {
181 divs[d].style.display = (s == 1) ? 'none' : 'block';
182 }
183 }
184 }
185
186 function selectCode(a)
187 {
188 // Get ID of code block
189 var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];
190
191 // Not IE
192 if (window.getSelection)
193 {
194 var s = window.getSelection();
195 // Safari
196 if (s.setBaseAndExtent)
197 {
198 s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
199 }
200 // Firefox and Opera
201 else
202 {
203 var r = document.createRange();
204 r.selectNodeContents(e);
205 s.removeAllRanges();
206 s.addRange(r);
207 }
208 }
209 // Some older browsers
210 else if (document.getSelection)
211 {
212 var s = document.getSelection();
213 var r = document.createRange();
214 r.selectNodeContents(e);
215 s.removeAllRanges();
216 s.addRange(r);
217 }
218 // IE
219 else if (document.selection)
220 {
221 var r = document.body.createTextRange();
222 r.moveToElementText(e);
223 r.select();
224 }
225 }
226
227 /**
228 * Play quicktime file by determining it's width/height
229 * from the displayed rectangle area
230 */
231 function play_qt_file(obj)
232 {
233 var rectangle = obj.GetRectangle();
234
235 if (rectangle)
236 {
237 rectangle = rectangle.split(',');
238 var x1 = parseInt(rectangle[0]);
239 var x2 = parseInt(rectangle[2]);
240 var y1 = parseInt(rectangle[1]);
241 var y2 = parseInt(rectangle[3]);
242
243 var width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1;
244 var height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1;
245 }
246 else
247 {
248 var width = 200;
249 var height = 0;
250 }
251
252 obj.width = width;
253 obj.height = height + 16;
254
255 obj.SetControllerVisible(true);
256 obj.Play();
257 }
258