]> git.mxchange.org Git - friendica.git/blob - addon/calc/calc.php
Merge commit 'mike/master'
[friendica.git] / addon / calc / calc.php
1 <?php\r
2 \r
3 function calc_install() {\r
4         register_hook('app_menu', 'addon/calc/calc.php', 'calc_app_menu');\r
5 }\r
6 \r
7 function calc_uninstall() {\r
8         unregister_hook('app_menu', 'addon/calc/calc.php', 'calc_app_menu');\r
9 \r
10 }\r
11 \r
12 function calc_app_menu($a,&$b) {\r
13         $b['app_menu'] .= '<div class="app-title"><a href="calc">Calculator</a></div>'; \r
14 }\r
15 \r
16 \r
17 function calc_module() {}\r
18 \r
19 \r
20 \r
21 \r
22 function calc_init($a) {\r
23 \r
24 $x = <<< EOT\r
25 \r
26 <script language="JavaScript">\r
27 /**************************************\r
28  * www.FemaleNerd.com         *\r
29  **************************************/\r
30 \r
31 // Declare global variables\r
32 var displayText = ""\r
33 var num1\r
34 var num2\r
35 var operatorType\r
36 \r
37 // Write to display\r
38 function addDisplay(n){\r
39    id = document.getElementById("display");\r
40 id.value = ""\r
41 displayText += n\r
42 id.value = displayText\r
43 }\r
44 \r
45 // Addition\r
46 function addNumbers() {\r
47 if (displayText == "") {\r
48   displayText = result\r
49  }\r
50 num1 = parseFloat(displayText)\r
51 operatorType = "add"\r
52 displayText = ""\r
53 }\r
54 \r
55 // Subtraction\r
56 function subtractNumbers() {\r
57 if (displayText == "") {\r
58   displayText = result\r
59  }\r
60 num1 = parseFloat(displayText)\r
61 operatorType = "subtract"\r
62 displayText = ""\r
63 }\r
64 \r
65 // Multiplication\r
66 function multiplyNumbers() {\r
67 if (displayText == "") {\r
68   displayText = result\r
69  }\r
70 num1 = parseFloat(displayText)\r
71 operatorType = "multiply"\r
72 displayText = ""\r
73 }\r
74 \r
75 // Division\r
76 function divideNumbers() {\r
77 if (displayText == "") {\r
78   displayText = result\r
79  }\r
80 num1 = parseFloat(displayText)\r
81 operatorType = "divide"\r
82 displayText = ""\r
83 }\r
84 \r
85 // Sine\r
86 function sin() {\r
87    id = document.getElementById("display");\r
88 if (displayText == "") {\r
89   num1 = result\r
90   }\r
91 else {\r
92   num1 = parseFloat(displayText)\r
93   }\r
94 if (num1 != "") {\r
95   result = Math.sin(num1)\r
96   id.value = result\r
97   displayText = ""\r
98   }\r
99 else {\r
100   alert("Please write the number first")\r
101   }\r
102 }\r
103 \r
104 // Cosine\r
105 function cos() {\r
106    id = document.getElementById("display");\r
107 if (displayText == "") {\r
108   num1 = result\r
109   }\r
110 else {\r
111   num1 = parseFloat(displayText)\r
112   }\r
113 if (num1 != "") {\r
114   result = Math.cos(num1)\r
115   id.value = result\r
116   displayText = ""\r
117   }\r
118 else {\r
119   alert("Please write the number first")\r
120   }\r
121 }\r
122 \r
123 // ArcSine\r
124 function arcSin() {\r
125    id = document.getElementById("display");\r
126 if (displayText == "") {\r
127   num1 = result\r
128   }\r
129 else {\r
130   num1 = parseFloat(displayText)\r
131   }\r
132 if (num1 != "") {\r
133   result = Math.asin(num1)\r
134   id.value = result\r
135   displayText = ""\r
136   }\r
137 else {\r
138   alert("Please write the number first")\r
139   }\r
140 }\r
141 \r
142 // ArcCosine\r
143 function arcCos() {\r
144    id = document.getElementById("display");\r
145 if (displayText == "") {\r
146   num1 = result\r
147   }\r
148 else {\r
149   num1 = parseFloat(displayText)\r
150   }\r
151 if (num1 != "") {\r
152   result = Math.acos(num1)\r
153   id.value = result\r
154   displayText = ""\r
155   }\r
156 else {\r
157   alert("Please write the number first")\r
158   }\r
159 }\r
160 \r
161 // Square root\r
162 function sqrt() {\r
163    id = document.getElementById("display");\r
164 if (displayText == "") {\r
165   num1 = result\r
166   }\r
167 else {\r
168   num1 = parseFloat(displayText)\r
169   }\r
170 if (num1 != "") {\r
171   result = Math.sqrt(num1)\r
172   id.value = result\r
173   displayText = ""\r
174   }\r
175 else {\r
176   alert("Please write the number first")\r
177   }\r
178 }\r
179 \r
180 // Square number (number to the power of two)\r
181 function square() {\r
182    id = document.getElementById("display");\r
183 if (displayText == "") {\r
184   num1 = result\r
185   }\r
186 else {\r
187   num1 = parseFloat(displayText)\r
188   }\r
189 if (num1 != "") {\r
190   result = num1 * num1\r
191   id.value = result\r
192   displayText = ""\r
193   }\r
194 else {\r
195   alert("Please write the number first")\r
196   }\r
197 }\r
198 \r
199 // Convert degrees to radians\r
200 function degToRad() {\r
201    id = document.getElementById("display");\r
202 if (displayText == "") {\r
203   num1 = result\r
204   }\r
205 else {\r
206   num1 = parseFloat(displayText)\r
207   }\r
208 if (num1 != "") {\r
209   result = num1 * Math.PI / 180\r
210   id.value = result\r
211   displayText = ""\r
212   }\r
213 else {\r
214   alert("Please write the number first")\r
215   }\r
216 }\r
217 \r
218 // Convert radians to degrees\r
219 function radToDeg() {\r
220    id = document.getElementById("display");\r
221 if (displayText == "") {\r
222   num1 = result\r
223   }\r
224 else {\r
225   num1 = parseFloat(displayText)\r
226   }\r
227 if (num1 != "") {\r
228   result = num1 * 180 / Math.PI\r
229   id.value = result\r
230   displayText = ""\r
231   }\r
232 else {\r
233   alert("Please write the number first")\r
234   }\r
235 }\r
236 \r
237 // Calculations\r
238 function calculate() {\r
239    id = document.getElementById("display");\r
240 \r
241 if (displayText != "") {\r
242   num2 = parseFloat(displayText)\r
243 // Calc: Addition\r
244   if (operatorType == "add") {\r
245     result = num1 + num2\r
246     id.value = result\r
247     }\r
248 // Calc: Subtraction\r
249   if (operatorType == "subtract") {\r
250     result = num1 - num2\r
251     id.value = result\r
252     }\r
253 // Calc: Multiplication\r
254   if (operatorType == "multiply") {\r
255     result = num1 * num2\r
256     id.value = result\r
257     }\r
258 // Calc: Division\r
259   if (operatorType == "divide") {\r
260     result = num1 / num2\r
261     id.value = result\r
262     }\r
263   displayText = ""\r
264   }\r
265   else {\r
266   id.value = "Oops! Error!"\r
267   }\r
268 }\r
269 \r
270 // Clear the display\r
271 function clearDisplay() {\r
272    id = document.getElementById("display");\r
273 \r
274 displayText = ""\r
275 id.value = ""\r
276 }\r
277 </script>\r
278 \r
279 EOT;\r
280 $a->page['htmlhead'] .= $x;\r
281 }\r
282 \r
283 function calc_content($app) {\r
284 \r
285 $o = '';\r
286 \r
287 $o .=  <<< EOT\r
288 \r
289 <h3>Calculator</h3>\r
290 <br /><br />\r
291 <table>\r
292 <tbody><tr><td> \r
293 <table bgcolor="#af9999" border="1">\r
294 <tbody><tr><td>\r
295 <table border="1" cellpadding="2" cellspacing="2">\r
296 <form name="calc">\r
297 <!--\r
298 <TR><TD VALIGN=top colspan=6 ALIGN="center"> <H2>Calculator</H2> </TD>\r
299 -->\r
300 <tbody><tr>\r
301         <td colspan="5"><input size="22" id="display" name="display" type="text"></td>\r
302 </tr><tr align="left" valign="middle">\r
303         <td><input name="one" value="&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;" onclick="addDisplay(1)" type="button"></td>\r
304         <td><input name="two" value="&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;" onclick="addDisplay(2)" type="button"></td>\r
305         <td><input name="three" value="&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;" onclick="addDisplay(3)" type="button"></td>\r
306         <td><input name="plus" value="&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;" onclick="addNumbers()" type="button"></td>\r
307 </tr><tr align="left" valign="middle">\r
308         <td><input name="four" value="&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;" onclick="addDisplay(4)" type="button"></td>\r
309         <td><input name="five" value="&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;" onclick="addDisplay(5)" type="button"></td>\r
310         <td><input name="six" value="&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;" onclick="addDisplay(6)" type="button"></td>\r
311         <td><input name="minus" value="&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;" onclick="subtractNumbers()" type="button"></td>\r
312 </tr><tr align="left" valign="middle">\r
313         <td><input name="seven" value="&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;" onclick="addDisplay(7)" type="button"></td>\r
314         <td><input name="eight" value="&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;" onclick="addDisplay(8)" type="button"></td>\r
315         <td><input name="nine" value="&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;" onclick="addDisplay(9)" type="button"></td>\r
316         <td><input name="multiplication" value="&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;" onclick="multiplyNumbers()" type="button"></td>\r
317 </tr><tr align="left" valign="middle">\r
318         <td><input name="zero" value="&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;" onclick="addDisplay(0)" type="button"></td>\r
319         <td><input name="pi" value="&nbsp;Pi&nbsp;&nbsp;" onclick="addDisplay(Math.PI)" type="button"> </td> \r
320         <td><input name="dot" value="&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;" onclick='addDisplay(".")' type="button"></td>\r
321         <td><input name="division" value="&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;" onclick="divideNumbers()" type="button"></td>\r
322 </tr><tr align="left" valign="middle">\r
323         <td><input name="sqareroot" value="sqrt" onclick="sqrt()" type="button"></td>\r
324         <td><input name="squarex" value=" x^2" onclick="square()" type="button"></td>\r
325         <td><input name="deg-rad" value="d2r&nbsp;" onclick="degToRad()" type="button"></td>\r
326         <td><input name="rad-deg" value="r2d&nbsp;" onclick="radToDeg()" type="button"></td>\r
327 </tr><tr align="left" valign="middle">\r
328         <td><input name="sine" value="&nbsp;sin&nbsp;" onclick="sin()" type="button"></td>\r
329         <td><input name="arcsine" value="asin" onclick="arcSin()" type="button"></td>\r
330         <td><input name="cosine" value="cos" onclick="cos()" type="button"></td>\r
331         <td><input name="arccosine" value="acs" onclick="arcCos()" type="button"></td>\r
332 \r
333 </tr><tr align="left" valign="middle">\r
334         <td colspan="2"><input name="clear" value="&nbsp;&nbsp;Clear&nbsp;&nbsp;" onclick="clearDisplay()" type="button"></td>\r
335         <td colspan="3"><input name="enter" value="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" onclick="calculate()" type="button"></td>\r
336 \r
337 </tr></tbody></table>\r
338 </form>\r
339 \r
340         <!--\r
341         <TD VALIGN=top> \r
342                 <B>NOTE:</B> All sine and cosine calculations are\r
343                 <br>done in radians. Remember to convert first\r
344                 <br>if using degrees.\r
345         </TD>\r
346         -->\r
347         \r
348 </td></tr></tbody></table>\r
349 \r
350 \r
351 </td></tr></tbody></table>\r
352 \r
353 EOT;\r
354 return $o;\r
355 \r
356 }\r