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