# Need Help Coding (Problem 1)

Show 40 post(s) from this thread on one page
Page 1 of 2 12 Last
• 03-24-2014, 07:01 AM
trifolium
Need Help Coding (Problem 1)
:confused: :confused:Hi, Kevin2 did a great job in helping create a javascript structure from which I could edit and do my own data entry to, I have that nearly complete now I am face with another problem.

I need to create a new script that has drop down options and some user input.

Here is an image of my end goal.

http://imageshack.com/a/img513/3259/r60k.jpg

Ok now an explantation to how it works.

The first column has the drop downs the options are name 1 & 2. The columns named '#' & 'S' are to be filled out by the user. The column named 'T' calculates the total of #+S and then the 2 output boxes are autofilled from a list of numbers that correspond to whatever the total is.

If the user selects dropdown 1 here is what could be filled into #&S from the user:

 # S 1 31 7 2 10 15 3 13 13 4 15 12 5 12 7 6 3 9 7 5 5 8 1 3 9 7 4 10 2 4 11 0 1 12 0 1 13 0 1 14 1 0 15 0 0 16 0 0 17 0 0

If the user selects dropdown 2 here is what could be filled into #&S from the user:

 # S 1 19 9 2 19 8 3 15 6 4 3 17 5 9 6 6 11 5 7 8 5 8 2 2 9 5 2 10 4 2 11 1 1 12 1 2 13 0 1 14 0 1 15 1 0 16 0 1 17 0 1

Ok so now that you know what the user can enter into boxes named '#' & 'S' and through selection of either dropdown 1 or 2 its time to calculate the next column which is Total. This column should simple be the #+S added together.

Next is the Output columns. Column one is described as if the total is a certain number then the output should autofill it with a number.

Here is a list of totals and what their outcome should be.

 Total Equals Outcome Is 1 0 2 1 3 3 4 1 5 2 6 1 7 1 8 10 9 7 10 9 11 6 12 4 13 5 14 3 15 4 16 3 17 7 18 3 19 14 20 7 21 13 22 6 23 3 24 9 25 14 26 4 27 8 28 7 29 0 30 0 31 1 32 1 33 0 34 0 35 1 36 8 37 0 38 5 39 0 40 0 41 0 42 0 43 4 44 2 45 0 46 1

The last column of the outcomes box is autofilled or calculated in order of the outcome, so for example lets say there are 5 outcomes of which are 8,9,9,12,14

It should be ordered highest to lowest so:

14-1
12-2
9-3
9-3
8-4

And thats all there is to it. Hope someone can help with this once again seems simple enough just hard to get my head around.
• 03-24-2014, 07:28 AM
Error404
Before tackling how the table works, you need to create the actual table. Since it's large, you can either hard-code it or use JavaScript to create it. To create your drop-down menus, you'll need a <select> element, so something like this will create a select element and populate it. For example, this will create a new <select> and populate it. All you need to do is create a new row, then add in new <input /> tags. Or you can hard-code it.

HTML Code:

```<!DOCTYPE html> <html>         <head>                 <title>Getting options</title>                 <meta charset = "UTF - 8" />                 <script type = "text/javascript">                                                window.onload = function() {                                 var monAbrr = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");                                 var monFull = new Array("January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "Octoboer", "November", "December");                                 var sel = document.createElement("select");                                 for(var i = 0; i < monAbrr.length; i++) {                                         sel.options[i] = new Option(monAbrr[i], monFull[i]);                                         document.getElementById("tab").appendChild(sel);                                 }                         }                 </script>         </head>         <body>                 <table border = "1">                         <tbody id = "tab">                         </tbody>                 </table>         </body> </html>```
• 03-24-2014, 06:03 PM
trifolium
I'm finding it hard to code it like my picture example can someone help with this please
• 03-24-2014, 10:42 PM
Error404
Here's some JavaScript which creates the table dynamically without any hard-coding. Getting the values to what you want requires you to do some additional JavaScript but your explanation was a little confusing. You said that columns # and S are filled in by the user, however, then you said based on the selection from the drop-down menu, those fields are automatically filled in (or maybe that's the default if nothing is entered by the user?).

In any case, it should be a matter of using switch and case statements to get the logic to work the way you intend.

HTML Code:

```<!DOCTYPE html> <html>         <head>                 <script type = "text/javascript">                         function initTable() {                                 var tBody = document.getElementById("tab");                                 for(var i = 0; i < 13; i++) {                                         var nextRow = tBody.insertRow(-1);                                         var cellNum = nextRow.insertCell(0).appendChild(document.createTextNode(i));                                         var cellSelect = nextRow.insertCell(1);                                         cellSelect.appendChild(document.createElement("select"));                                         var cellInput1 = nextRow.insertCell(2);                                         var CI1 = document.createElement("input");                                         CI1.setAttribute("type", "number");                                         CI1.setAttribute("name", "CI" + i);                                         cellInput1.appendChild(CI1);                                         var cellInput2 = nextRow.insertCell(3);                                         var CI2 = document.createElement("input");                                         CI2.setAttribute("type", "number");                                         CI2.setAttribute("name", "CII" + i);                                         var cellT = nextRow.insertCell(3).appendChild(document.createTextNode(" "));                                         var cellOut1 = nextRow.insertCell(4).appendChild(document.createTextNode(" "));                                         var cellOut2 = nextRow.insertCell(5).appendChild(document.createTextNode(" "));                                 }                         }                                                 function initSelect() {                                 var tBody = document.getElementById("tab");                                 var disp = [1, 2, 3, 4, 5, 6, 7, 8, 9];                                 var vals = [1, 2, 3, 4, 5, 6, 7, 8, 9];                                 for(var i = 0; i < 13; i++) {                                         var sels = tBody.getElementsByTagName("select")[i];                                         for(var j = 0; j < disp.length; j++) {                                                 var opt = document.createElement("option");                                                 opt.value = vals[j];                                                 opt.innerHTML = disp[j];                                                 sels.appendChild(opt);                                         }                                 }                         }                                         window.onload = function() {                                 initTable();                                 initSelect();                         }                 </script>         </head>         <body>                 <table id = "myTable" border = "1">                         <thead>                                 <tr>                                         <th></th>                                         <th></th>                                         <th>#</th>                                         <th>S</th>                                         <th>T</th>                                         <th colspan = "2">Output</th>                                 </tr>                         </thead>                         <tbody id = "tab"></tbody>                 </table>         </body> </html>```
• 03-25-2014, 04:43 AM
trifolium
Hi sorry just to be clear, I only have very basic knowledge of javascript and would need some more help to get through the code myself.
• 03-25-2014, 05:34 AM
trifolium
OK I have used Kevin2 previous example he gave me and adjusted it to create my table that I am confortable with using. Now how do I go about coding it.

Heres what I have so far to show the table.

Code:

```<!DOCTYPE html><html lang="en"> <head>   <meta charset="UTF-8">   <title>Outputs</title>   </head> <body> <table> <thead>   <tr>     <th colspan="2"></th>     <th>#</th>     <th>S</th>     <th>T</th>     <th>Output</th>             <th colspan="2"></th>   </tr> </thead> <td style="text-align:right;">1:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a1" class="T" /></td>     <td><input type="text" size="3" readonly id="a2" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a3" class="Output 2" /></td>           </tr>             <td style="text-align:right;">2:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a4" class="T" /></td>     <td><input type="text" size="3" readonly id="a5" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a6" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">3:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a7" class="T" /></td>     <td><input type="text" size="3" readonly id="a8" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a9" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">4:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a10" class="T" /></td>     <td><input type="text" size="3" readonly id="a11" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a12" class="Output 2" /></td>           </tr>               <td style="text-align:right;">5:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a13" class="T" /></td>     <td><input type="text" size="3" readonly id="a14" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a15" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">6:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a16" class="T" /></td>     <td><input type="text" size="3" readonly id="a17" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a18" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">7:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a19" class="T" /></td>     <td><input type="text" size="3" readonly id="a20" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a21" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">8:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a22" class="T" /></td>     <td><input type="text" size="3" readonly id="a23" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a24" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">9:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a25" class="T" /></td>     <td><input type="text" size="3" readonly id="a26" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a27" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">10:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a28" class="T" /></td>     <td><input type="text" size="3" readonly id="a29" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a30" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">11:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a31" class="T" /></td>     <td><input type="text" size="3" readonly id="a32" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a33" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">12:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a34" class="T" /></td>     <td><input type="text" size="3" readonly id="a35" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a36" class="Output 2" /></td>           </tr>                           <td style="text-align:right;">13:</td>     <td><select id="wordname" name="wordname">         <option value="">Choose one</option>         <option value="1">1</option>         <option value="2">2</option>                 </select></td>     <td><input type="text" size="3" class="#" /></td>     <td><input type="text" size="3" class="S" /></td>     <td><input type="text" size="3" readonly id="a37" class="T" /></td>     <td><input type="text" size="3" readonly id="a38" class="Output 1" /></td>     <td><input type="text" size="3" readonly id="a39" class="Output 2" /></td>           </tr>   <tr><td colspan="11"><hr /></td></tr> </tbody> </table> </body> </html>```
• 03-25-2014, 07:19 AM
Error404
I'm not sure why you're using read-only text input boxes for columns that only output data since writing the results to the <td> alone would suffice and that's not what your example table showed but if that's what you want, then no problem.

Since column T is a sum of columns # and S, you can use simple JavaScript to display it and use an onChange listener. For example (UNTESTED):

Code:

```function sumT() {     var ref = document.getElementById("a1");     var selCol = ref.parentNode.parentNode.childNodes[0].value;     if(selCol == 1) {         // something     } else {         // something else     }     /*      THIS MAY GO IN THE ABOVE IF-ELSE STATEMENTS     ONCE YOU CORRECT YOUR TABLE STRUCTURE     AND BETTER EXPLAIN THE LOGIC     var numCol = ref.parentNode.parentNode.childNodes[1].value;     var sCol = ref.parentNode.parentNode.childNodes[2].value;     if((numCol != null) && (sCol != null)) {           ref.value = (parseInt(numCol) + parseInt(sCol));     } else {           ref.value = 0;     }     */ }```
You're only closing </tr> and never opening <tr>, I'm not sure how the above code would work. Since you only gave IDs to the T column, I created the code in such a way where you only have to copy and paste it for each T, then just adjust the ID accordingly.

I didn't fully incorporate the value of the drop-downs yet since I'm a bit confused on 1 thing. Are the values in the 2 tables where it showed the results if the user chose 1 or 2 meant to be the maximum range (i.e. for row 1, if the user chose 1, the maximum value for # is 31) or is that the value the user must enter? Also, I didn't get the value by ID since the IDs for the drop-down menus were not unique.
• 03-25-2014, 08:13 AM
trifolium
Quote:

Originally Posted by Error404
I didn't fully incorporate the value of the drop-downs yet since I'm a bit confused on 1 thing. Are the values in the 2 tables where it showed the results if the user chose 1 or 2 meant to be the maximum range (i.e. for row 1, if the user chose 1, the maximum value for # is 31) or is that the value the user must enter? Also, I didn't get the value by ID since the IDs for the drop-down menus were not unique.

As I said before Error404 I am no expert at javascript or html, I just tried to edit a previous code to make it look like what I wanted.

Also to answer your question in the tables question. The values and the exact values that the user can only enter. The data I have shown in the table is the exact values that a user must enter they cannot enter anything else. Hope this helps.
• 03-26-2014, 03:40 AM
trifolium
Can somebody help me please as I still havent found a solution. thank you.
• 03-26-2014, 06:26 AM
zealouss
Here is the complete working code. It is just a single function and 2 dimensional array doing the trick

Working fine for row1 and row2 (as you only provided 2 tables for dropdown)

If you need to add this functionality to all the rows. for example you want it to work for 3rd row,
Copy the code for row1 in body of the html. Paste below 2nd row code. rename id of dropdown to 3 and ids all other text fields in the row to proper numbers. Add array3 with all the values of # and S field
It will work. Feel free to ask me if you need any help.

Quote:

<!DOCTYPE html><html lang="en">
<meta charset="UTF-8">
<title>Outputs</title>
<script type = "text/javascript">
// Start of javascript magic
// array for outputbox- Don't Edit it unless it is returning a wrong value
arrayOutput = ["",0,1,3,1,2,1,1,10,7,9,6,4,5,3,4,3,7,3,14,7,13,6,3,9,14,4,8,7,0,0,1,1,0,0,1,8,0,5,0,0,0,0,4,2,0 ,1];

//Array for each table row You can add as many arrays as you like,next will be array3,array4 and so on
var array1 = [["",""],[31,7],[10,15],[13,13],[15,12],[12,7],[3,9],[5,5],[1,3],[7,4],[2,4],[0,1],[0,1],[0,1],[1,0],[0,0],[0,0],[0,0]];
var array2 = [["",""],[19,9],[19,8],[15,6],[3,17],[9,6],[11,5],[8,5],[2,2],[5,2],[4,2],[1,1],[1,2],[0,1],[0,1],[1,0],[0,1],[0,1]];
// more arrays go here like array3 = [["",""],[#,S]];

//this function will automatically add data - you don't need to edit it
function autoFillData(id, value){
var fieldPound = document.getElementById('txtPound' + id);
var fieldS = document.getElementById('txtS' + id);
var fieldT = document.getElementById('txtT' + id);
var fieldOutput1 = document.getElementById('txtOut' + id);
var arrayName = eval('array' + id);

var valPound = arrayName[value][0];
var valS = arrayName[value][1];
var valSum = valPound + valS;

fieldPound.value = valPound;
fieldS.value = valS;
fieldT.value = valSum;

(valSum > 0) ? fieldOutput1.value = arrayOutput[valSum] : fieldOutput1.value = "";

}

</script>
<body>
<table>
<tr>
<th colspan="2"></th>
<th>#</th>
<th>S</th>
<th>T</th>
<th>Output</th>
<th colspan="2"></th>
</tr>
<td style="text-align:right;">1:</td>
<td><select id="1" name="wordname" onchange = 'autoFillData(id,value)'>
<option value="0">Choose one</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
</select></td>

<td><input type="text" size="3" id = "txtPound1" class="#" /></td>
<td><input type="text" size="3" id = "txtS1"class="S" /></td>
<td><input type="text" size="3" readonly id="txtT1" class="T" /></td>
<td><input type="text" size="3" readonly id="txtOut1" class="Output 1" /></td>
<td><input type="text" size="3" readonly id="txtOutput1" class="Output 2" /></td>
</tr>
<td style="text-align:right;">2:</td>
<td><select id="2" name="wordname" onchange = 'autoFillData(id,value)'>
<option value="0">Choose one</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
</select></td>

<td><input type="text" size="3" id = "txtPound2"class="#" /></td>
<td><input type="text" size="3" id = "txtS2"class="S" /></td>
<td><input type="text" size="3" readonly id="txtT2" class="T" /></td>
<td><input type="text" size="3" readonly id="txtOut2" class="Output 1" /></td>
<td><input type="text" size="3" readonly id="txtOutput2" class="Output 2" /></td>
</tr>

<tr><td colspan="11"><hr /></td></tr>
</tbody>
</table>
</body>
</html>
• 03-26-2014, 08:09 AM
trifolium
Quote:

Originally Posted by zealouss
Here is the complete working code. It is just a single function and 2 dimensional array doing the trick

Working fine for row1 and row2 (as you only provided 2 tables for dropdown)

If you need to add this functionality to all the rows. for example you want it to work for 3rd row,
Copy the code for row1 in body of the html. Paste below 2nd row code. rename id of dropdown to 3 and ids all other text fields in the row to proper numbers. Add array3 with all the values of # and S field
It will work. Feel free to ask me if you need any help.

Hi zealouss, thanks for this but cant get it to work correctly.

First of the numbers down the left hand side should be 1-12
Second, the drop down values should only be 1 & 2.

If a user selects dropdown 1 and then enters a value in the next to boxes the javascript was to calculate this to a value as I shown in my tables above.

Is there anyway of adjusting the code you created to account for these changes?
• 03-26-2014, 08:12 AM
trifolium
The totals and the outputs are working correctly its just the dropdown bit needs to be fixed.
• 03-26-2014, 09:16 AM
zealouss
Quote:

Originally Posted by trifolium
Hi zealouss, thanks for this but cant get it to work correctly.

First of the numbers down the left hand side should be 1-12
Second, the drop down values should only be 1 & 2.

If a user selects dropdown 1 and then enters a value in the next to boxes the javascript was to calculate this to a value as I shown in my tables above.

Is there anyway of adjusting the code you created to account for these changes?

Yes I can fix it but I am sorry to say, I still have not understood the logic of your program.
1 -user select "1" in first dropdown,
2- Now he puts a value in # textbox. This value can only be either 31 or 10 or 13 or 12 or 15 blah blah as you mentioned in the 1st table? (If value is not one of these he is prompted and textbox is set to empty)
3- Now user puts a value in S textbox that can only be 7 or 15 or 13 or 12 blah blah (1st table 3rd column)?

If this is what you want, I will prefer using 2 more dropdown boxes for # and S instead of text boxes.

• 03-26-2014, 06:01 PM
trifolium
I think u misunderstood the table a little. I will try to explain a but better.

A user will first select a dropdown with only number 1 or 2 in it which corresponds to the tables above, next a user will input the 1st box with a number between 1-17 then a user will input a number in the second box between 1-17.

Then the rest of the data will be auto filled from the script
• 03-26-2014, 06:02 PM
trifolium
Or if you don't want a user to type anything they could be dropdown boxes also but with options only 1-17
Show 40 post(s) from this thread on one page
Page 1 of 2 12 Last

## X vBulletin 4.2.2 Debug Information

• Page Generation 0.14719 seconds
• Memory Usage 2,563KB
• Queries Executed 11 (?)
Template Usage (25):
• (2)bbcode_code_printable
• (2)bbcode_html_printable
• (4)bbcode_quote_printable
• (1)footer
• (1)gobutton
• (1)navbar_moderation
• (1)navbar_noticebit
• (2)option
• (1)pagenav
• (1)pagenav_curpage
• (1)spacer_close
• (1)spacer_open

Phrase Groups Available (3):
• global
• postbit
Included Files (20):
• ./global.php
• ./includes/class_bootstrap.php
• ./includes/init.php
• ./includes/class_core.php
• ./includes/config.php
• ./includes/functions.php
• ./includes/class_friendly_url.php
• ./includes/class_hook.php
• ./includes/class_bootstrap_framework.php
• ./vb/vb.php
• ./vb/phrase.php
• ./includes/functions_calendar.php
• ./includes/class_bbcode_alt.php
• ./includes/class_bbcode.php
• ./includes/functions_bigthree.php
• ./includes/functions_notice.php
• ./packages/vbforum/bbcodehelper/table.php

Hooks Called (43):
• init_startup
• init_startup_session_setup_start
• database_pre_fetch_array
• database_post_fetch_array
• init_startup_session_setup_complete
• global_bootstrap_init_start
• global_bootstrap_init_complete
• cache_permissions
• fetch_foruminfo
• global_state_check
• global_bootstrap_complete
• global_start
• style_fetch
• global_setup_complete
• friendlyurl_resolve_class
• friendlyurl_clean_fragment
• friendlyurl_geturl
• pagenav_page
• cache_templates
• cache_templates_process
• template_register_var
• template_render_output
• fetch_template_start
• fetch_template_complete
• parse_templates
• notices_check_start
• notices_noticebit
• process_templates_complete
• pagenav_complete
• bbcode_fetch_tags
• bbcode_create
• bbcode_parse_start
• bbcode_parse_complete_precache
• bbcode_parse_complete