]> git.mxchange.org Git - friendica-addons.git/blobdiff - calc/calc.php
addon repository relocated
[friendica-addons.git] / calc / calc.php
diff --git a/calc/calc.php b/calc/calc.php
new file mode 100644 (file)
index 0000000..8c079dc
--- /dev/null
@@ -0,0 +1,363 @@
+<?php\r
+/**\r
+ * Name: Calculator App\r
+ * Description: Simple Calculator Application\r
+ * Version: 1.0\r
+ * Author: Mike Macgirvin <http://macgirvin.com/profile/mike>\r
+ */\r
+\r
+\r
+function calc_install() {\r
+       register_hook('app_menu', 'addon/calc/calc.php', 'calc_app_menu');\r
+}\r
+\r
+function calc_uninstall() {\r
+       unregister_hook('app_menu', 'addon/calc/calc.php', 'calc_app_menu');\r
+\r
+}\r
+\r
+function calc_app_menu($a,&$b) {\r
+       $b['app_menu'] .= '<div class="app-title"><a href="calc">Calculator</a></div>'; \r
+}\r
+\r
+\r
+function calc_module() {}\r
+\r
+\r
+\r
+\r
+function calc_init($a) {\r
+\r
+$x = <<< EOT\r
+\r
+<script language="JavaScript">\r
+/**************************************\r
+ * www.FemaleNerd.com         *\r
+ **************************************/\r
+\r
+// Declare global variables\r
+var displayText = ""\r
+var num1\r
+var num2\r
+var operatorType\r
+\r
+// Write to display\r
+function addDisplay(n){\r
+   id = document.getElementById("display");\r
+id.value = ""\r
+displayText += n\r
+id.value = displayText\r
+}\r
+\r
+// Addition\r
+function addNumbers() {\r
+if (displayText == "") {\r
+  displayText = result\r
+ }\r
+num1 = parseFloat(displayText)\r
+operatorType = "add"\r
+displayText = ""\r
+}\r
+\r
+// Subtraction\r
+function subtractNumbers() {\r
+if (displayText == "") {\r
+  displayText = result\r
+ }\r
+num1 = parseFloat(displayText)\r
+operatorType = "subtract"\r
+displayText = ""\r
+}\r
+\r
+// Multiplication\r
+function multiplyNumbers() {\r
+if (displayText == "") {\r
+  displayText = result\r
+ }\r
+num1 = parseFloat(displayText)\r
+operatorType = "multiply"\r
+displayText = ""\r
+}\r
+\r
+// Division\r
+function divideNumbers() {\r
+if (displayText == "") {\r
+  displayText = result\r
+ }\r
+num1 = parseFloat(displayText)\r
+operatorType = "divide"\r
+displayText = ""\r
+}\r
+\r
+// Sine\r
+function sin() {\r
+   id = document.getElementById("display");\r
+if (displayText == "") {\r
+  num1 = result\r
+  }\r
+else {\r
+  num1 = parseFloat(displayText)\r
+  }\r
+if (num1 != "") {\r
+  result = Math.sin(num1)\r
+  id.value = result\r
+  displayText = ""\r
+  }\r
+else {\r
+  alert("Please write the number first")\r
+  }\r
+}\r
+\r
+// Cosine\r
+function cos() {\r
+   id = document.getElementById("display");\r
+if (displayText == "") {\r
+  num1 = result\r
+  }\r
+else {\r
+  num1 = parseFloat(displayText)\r
+  }\r
+if (num1 != "") {\r
+  result = Math.cos(num1)\r
+  id.value = result\r
+  displayText = ""\r
+  }\r
+else {\r
+  alert("Please write the number first")\r
+  }\r
+}\r
+\r
+// ArcSine\r
+function arcSin() {\r
+   id = document.getElementById("display");\r
+if (displayText == "") {\r
+  num1 = result\r
+  }\r
+else {\r
+  num1 = parseFloat(displayText)\r
+  }\r
+if (num1 != "") {\r
+  result = Math.asin(num1)\r
+  id.value = result\r
+  displayText = ""\r
+  }\r
+else {\r
+  alert("Please write the number first")\r
+  }\r
+}\r
+\r
+// ArcCosine\r
+function arcCos() {\r
+   id = document.getElementById("display");\r
+if (displayText == "") {\r
+  num1 = result\r
+  }\r
+else {\r
+  num1 = parseFloat(displayText)\r
+  }\r
+if (num1 != "") {\r
+  result = Math.acos(num1)\r
+  id.value = result\r
+  displayText = ""\r
+  }\r
+else {\r
+  alert("Please write the number first")\r
+  }\r
+}\r
+\r
+// Square root\r
+function sqrt() {\r
+   id = document.getElementById("display");\r
+if (displayText == "") {\r
+  num1 = result\r
+  }\r
+else {\r
+  num1 = parseFloat(displayText)\r
+  }\r
+if (num1 != "") {\r
+  result = Math.sqrt(num1)\r
+  id.value = result\r
+  displayText = ""\r
+  }\r
+else {\r
+  alert("Please write the number first")\r
+  }\r
+}\r
+\r
+// Square number (number to the power of two)\r
+function square() {\r
+   id = document.getElementById("display");\r
+if (displayText == "") {\r
+  num1 = result\r
+  }\r
+else {\r
+  num1 = parseFloat(displayText)\r
+  }\r
+if (num1 != "") {\r
+  result = num1 * num1\r
+  id.value = result\r
+  displayText = ""\r
+  }\r
+else {\r
+  alert("Please write the number first")\r
+  }\r
+}\r
+\r
+// Convert degrees to radians\r
+function degToRad() {\r
+   id = document.getElementById("display");\r
+if (displayText == "") {\r
+  num1 = result\r
+  }\r
+else {\r
+  num1 = parseFloat(displayText)\r
+  }\r
+if (num1 != "") {\r
+  result = num1 * Math.PI / 180\r
+  id.value = result\r
+  displayText = ""\r
+  }\r
+else {\r
+  alert("Please write the number first")\r
+  }\r
+}\r
+\r
+// Convert radians to degrees\r
+function radToDeg() {\r
+   id = document.getElementById("display");\r
+if (displayText == "") {\r
+  num1 = result\r
+  }\r
+else {\r
+  num1 = parseFloat(displayText)\r
+  }\r
+if (num1 != "") {\r
+  result = num1 * 180 / Math.PI\r
+  id.value = result\r
+  displayText = ""\r
+  }\r
+else {\r
+  alert("Please write the number first")\r
+  }\r
+}\r
+\r
+// Calculations\r
+function calculate() {\r
+   id = document.getElementById("display");\r
+\r
+if (displayText != "") {\r
+  num2 = parseFloat(displayText)\r
+// Calc: Addition\r
+  if (operatorType == "add") {\r
+    result = num1 + num2\r
+    id.value = result\r
+    }\r
+// Calc: Subtraction\r
+  if (operatorType == "subtract") {\r
+    result = num1 - num2\r
+    id.value = result\r
+    }\r
+// Calc: Multiplication\r
+  if (operatorType == "multiply") {\r
+    result = num1 * num2\r
+    id.value = result\r
+    }\r
+// Calc: Division\r
+  if (operatorType == "divide") {\r
+    result = num1 / num2\r
+    id.value = result\r
+    }\r
+  displayText = ""\r
+  }\r
+  else {\r
+  id.value = "Oops! Error!"\r
+  }\r
+}\r
+\r
+// Clear the display\r
+function clearDisplay() {\r
+   id = document.getElementById("display");\r
+\r
+displayText = ""\r
+id.value = ""\r
+}\r
+</script>\r
+\r
+EOT;\r
+$a->page['htmlhead'] .= $x;\r
+}\r
+\r
+function calc_content($app) {\r
+\r
+$o = '';\r
+\r
+$o .=  <<< EOT\r
+\r
+<h3>Calculator</h3>\r
+<br /><br />\r
+<table>\r
+<tbody><tr><td> \r
+<table bgcolor="#af9999" border="1">\r
+<tbody><tr><td>\r
+<table border="1" cellpadding="2" cellspacing="2">\r
+<form name="calc">\r
+<!--\r
+<TR><TD VALIGN=top colspan=6 ALIGN="center"> <H2>Calculator</H2> </TD>\r
+-->\r
+<tbody><tr>\r
+       <td colspan="5"><input size="22" id="display" name="display" type="text"></td>\r
+</tr><tr align="left" valign="middle">\r
+       <td><input name="one" value="&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;" onclick="addDisplay(1)" type="button"></td>\r
+       <td><input name="two" value="&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;" onclick="addDisplay(2)" type="button"></td>\r
+       <td><input name="three" value="&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;" onclick="addDisplay(3)" type="button"></td>\r
+       <td><input name="plus" value="&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;" onclick="addNumbers()" type="button"></td>\r
+</tr><tr align="left" valign="middle">\r
+       <td><input name="four" value="&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;" onclick="addDisplay(4)" type="button"></td>\r
+       <td><input name="five" value="&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;" onclick="addDisplay(5)" type="button"></td>\r
+       <td><input name="six" value="&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;" onclick="addDisplay(6)" type="button"></td>\r
+       <td><input name="minus" value="&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;" onclick="subtractNumbers()" type="button"></td>\r
+</tr><tr align="left" valign="middle">\r
+       <td><input name="seven" value="&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;" onclick="addDisplay(7)" type="button"></td>\r
+       <td><input name="eight" value="&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;" onclick="addDisplay(8)" type="button"></td>\r
+       <td><input name="nine" value="&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;" onclick="addDisplay(9)" type="button"></td>\r
+       <td><input name="multiplication" value="&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;" onclick="multiplyNumbers()" type="button"></td>\r
+</tr><tr align="left" valign="middle">\r
+       <td><input name="zero" value="&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;" onclick="addDisplay(0)" type="button"></td>\r
+       <td><input name="pi" value="&nbsp;Pi&nbsp;&nbsp;" onclick="addDisplay(Math.PI)" type="button"> </td> \r
+       <td><input name="dot" value="&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;" onclick='addDisplay(".")' type="button"></td>\r
+       <td><input name="division" value="&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;" onclick="divideNumbers()" type="button"></td>\r
+</tr><tr align="left" valign="middle">\r
+       <td><input name="sqareroot" value="sqrt" onclick="sqrt()" type="button"></td>\r
+       <td><input name="squarex" value=" x^2" onclick="square()" type="button"></td>\r
+       <td><input name="deg-rad" value="d2r&nbsp;" onclick="degToRad()" type="button"></td>\r
+       <td><input name="rad-deg" value="r2d&nbsp;" onclick="radToDeg()" type="button"></td>\r
+</tr><tr align="left" valign="middle">\r
+       <td><input name="sine" value="&nbsp;sin&nbsp;" onclick="sin()" type="button"></td>\r
+       <td><input name="arcsine" value="asin" onclick="arcSin()" type="button"></td>\r
+       <td><input name="cosine" value="cos" onclick="cos()" type="button"></td>\r
+       <td><input name="arccosine" value="acs" onclick="arcCos()" type="button"></td>\r
+\r
+</tr><tr align="left" valign="middle">\r
+       <td colspan="2"><input name="clear" value="&nbsp;&nbsp;Clear&nbsp;&nbsp;" onclick="clearDisplay()" type="button"></td>\r
+       <td colspan="3"><input name="enter" value="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" onclick="calculate()" type="button"></td>\r
+\r
+</tr></tbody></table>\r
+</form>\r
+\r
+       <!--\r
+       <TD VALIGN=top> \r
+               <B>NOTE:</B> All sine and cosine calculations are\r
+               <br>done in radians. Remember to convert first\r
+               <br>if using degrees.\r
+       </TD>\r
+       -->\r
+       \r
+</td></tr></tbody></table>\r
+\r
+\r
+</td></tr></tbody></table>\r
+\r
+EOT;\r
+return $o;\r
+\r
+}\r