function Main() { switch ($this->formArray["formAction"]) { case "delete": //print_r($this->formArray); if (count($this->formArray["rptopID"]) > 0) { $RPTOPList = new SoapObject(NCCBIZ . "RPTOPList.php", "urn:Object"); if (!($deletedRows = $RPTOPList->deleteRPTOP($this->formArray["rptopID"]))) { $this->tpl->set_var("msg", "SOAP failed"); } else { $this->tpl->set_var("msg", $deletedRows . " records deleted"); } } else { $this->tpl->set_var("msg", "0 records deleted"); } break; case "updateCalculation": if (is_array($this->formArray["rptopID"])) { $RPTOPDetails = new SoapObject(NCCBIZ . "RPTOPDetails.php", "urn:Object"); $AFSDetails = new SoapObject(NCCBIZ . "AFSDetails.php", "urn:Object"); $DueDetails = new SoapObject(NCCBIZ . "DueDetails.php", "urn:Object"); $DueEncode = new SoapObject(NCCBIZ . "DueEncode.php", "urn:Object"); $DueList = new SoapObject(NCCBIZ . "DueList.php", "urn:Object"); $dueIDArray = array("Annual" => "", "Q1" => "", "Q2" => "", "Q3" => "", "Q4" => ""); $treasurySettings = new TreasurySettings(); $treasurySettings->selectRecord(); $this->formArray["masterBasicTaxRate"] = $treasurySettings->getPctRPTax(); $this->formArray["masterSEFTaxRate"] = $treasurySettings->getPctSEF(); $this->formArray["masterIdleTaxRate"] = $treasurySettings->getPctIdle(); $this->formArray["discountPeriod"] = $treasurySettings->getDiscountPeriod(); $this->formArray["annualDueDate"] = $treasurySettings->getAnnualDueDate(); foreach ($this->formArray["rptopID"] as $rptopID) { if (!($xmlStr = $RPTOPDetails->getRPTOP($rptopID))) { // error xmlStr } else { if (!($domDoc = domxml_open_mem($xmlStr))) { // error domDoc } else { $rptop = new RPTOP(); $rptop->parseDomDocument($domDoc); $this->formArray["taxableYear"] = $rptop->getTaxableYear(); $tdArray = $rptop->getTDArray(); if (is_array($tdArray)) { foreach ($tdArray as $td) { $this->formArray["assessedValue"] = ""; $this->formArray["taxability"] = ""; $this->formArray["idle"] = ""; $this->formArray["tdID"] = $td->getTdID(); $this->formArray["dueID"] = ""; $this->formArray["propertyType"] = $td->getPropertyType(); if (!($afsXmlStr = $AFSDetails->getAFS($td->getAfsID()))) { // error afsXmlStr } else { if (!($afsDomDoc = domxml_open_mem($afsXmlStr))) { // error afsDomDoc } else { $afs = new AFS(); $afs->parseDomDocument($afsDomDoc); $this->formArray["assessedValue"] = $afs->getTotalAssessedValue(); $this->formArray["taxability"] = $afs->getTaxability(); $this->formArray["effectivity"] = $afs->getEffectivity(); $this->formArray["dueDate"] = date("Y-n-d", strtotime($this->formArray["taxableYear"] . "-" . $this->formArray["annualDueDate"])); if ($this->formArray["propertyType"] == "Land") { if (is_array($afs->getLandArray())) { $this->formArray["idle"] = $afs->landArray[0]->getIdle(); } } } } if (!($dueXmlStr = $DueList->getDueList($td->getTdID(), $rptop->getTaxableYear()))) { $this->formArray["dueID"] = ""; $dueIDArray["Annual"] = ""; } else { if (!($dueDomDoc = domxml_open_mem($dueXmlStr))) { $this->formArray["dueID"] = ""; $dueIDArray["Annual"] = ""; } else { //print_r(htmlspecialchars($xmlStr)); //exit; $dueRecords = new DueRecords(); $dueRecords->parseDomDocument($dueDomDoc); foreach ($dueRecords->getArrayList() as $due) { foreach ($due as $dueKey => $dueValue) { switch ($dueKey) { case "dueType": $dueIDArray[$dueValue] = $due->getDueID(); break; } } } $this->formArray["dueID"] = $dueIDArray["Annual"]; } } $this->formArray["basicTaxRate"] = $this->formArray["masterBasicTaxRate"]; $this->formArray["sefTaxRate"] = $this->formArray["masterSEFTaxRate"]; $this->formArray["idleTaxRate"] = $this->formArray["masterIdleTaxRate"]; $this->formArray["basicTax"] = un_number_format($this->formArray["assessedValue"]) * $this->formArray["basicTaxRate"]; $this->formArray["sefTax"] = un_number_format($this->formArray["assessedValue"]) * $this->formArray["sefTaxRate"]; // if land->idle is "Yes", compute idleTax, otherwise set idleTax to zero if ($this->formArray["propertyType"] == "Land") { if ($this->formArray["idle"] == "Yes") { $this->formArray["idleTax"] = un_number_format($this->formArray["assessedValue"]) * $this->formArray["idleTaxRate"]; } else { $this->formArray["idleTax"] = "0.00"; } } // if afs->taxability is "Exempt", reset computations to zero. if ($this->formArray["taxability"] == "Exempt") { $this->formArray["basicTax"] = "0.00"; $this->formArray["sefTax"] = "0.00"; $this->formArray["idleTax"] = "0.00"; } if ($dueIDArray["Annual"] != "") { $dueArray = $this->setDues(); foreach ($dueArray as $due) { $doc = $due->getDomDocument(); $xmlStr = $doc->dump_mem(true); if (!($ret = $DueEncode->updateDue($xmlStr))) { // error update } unset($doc); unset($xmlStr); } } else { $dueArray = $this->setDues(); foreach ($dueArray as $due) { $doc = $due->getDomDocument(); $xmlStr = $doc->dump_mem(true); if (!($ret = $DueEncode->saveDue($xmlStr))) { // error save } unset($doc); unset($xmlStr); } } $this->formArray["taxableYear"] = $rptop->getTaxableYear(); $this->refreshTDHistory($td); } } unset($tdArray); } } } } if ($this->formArray["searchKey"] != "") { $this->formArray["formAction"] = "search"; } else { $this->formArray["formAction"] = ""; } header("Location: CalculateRPTOPBatch.php" . $this->sess->url("") . "&page=" . $this->formArray["page"] . "&sortBy=" . $this->formArray["sortBy"] . "&sortOrder=" . $this->formArray["sortOrder"] . "&formAction=" . $this->formArray["formAction"] . "&searchKey=" . $this->formArray["searchKey"]); exit; break; case "search": $RPTOPList = new SoapObject(NCCBIZ . "RPTOPList.php", "urn:Object"); $this->tpl->set_block("rptsTemplate", "Pages", "PagesBlock"); $this->tpl->set_block("rptsTemplate", "PagesList", "PagesListBlock"); if (!($count = $RPTOPList->getSearchCount($this->formArray["searchKey"]))) { $this->tpl->set_var("PagesBlock", ""); $this->tpl->set_var("PagesListBlock", ""); $numOfPages = 1; $this->tpl->set_block("rptsTemplate", "PageNavigator", "PageNavigatorBlock"); $this->tpl->set_var("PageNavigatorBlock", ""); } else { $numOfPages = ceil($count / PAGE_BY); // page list nav $this->formArray["pageLinksInLine"] = 7; if ($this->formArray["page"] < round($this->formArray["pageLinksInLine"] / 2)) { $startPageLinks = 1; } else { $startPageLinks = $this->formArray["page"] - round($this->formArray["pageLinksInLine"] / 2); if ($startPageLinks < 1) { $startPageLinks = 1; } } $endPageLinks = $startPageLinks + ($this->formArray["pageLinksInLine"] - 1); if ($endPageLinks > $numOfPages) { $endPageLinks = $numOfPages; } for ($i = $startPageLinks; $i <= $endPageLinks; $i++) { if ($i == $this->formArray["page"]) { $this->tpl->set_var("pageListPages", ""); $this->tpl->set_var("pageListPagesUrl", ""); $this->tpl->set_var("pageListPaged", $i); } else { $this->tpl->set_var("pageListPages", $i); $this->tpl->set_var("pageListPagesUrl", $i . "&formAction=search&searchKey=" . urlencode($this->formArray["searchKey"])); $this->tpl->set_var("pageListPaged", ""); } $this->tpl->parse("PagesListBlock", "PagesList", true); } // drop down nav for ($i = 1; $i <= $numOfPages; $i++) { if ($i == $this->formArray["page"]) { $this->tpl->set_var("pages", $i); $this->tpl->set_var("pagesUrl", $i . "&formAction=search&searchKey=" . urlencode($this->formArray["searchKey"])); $this->tpl->set_var("paged", "selected"); } else { $this->tpl->set_var("pages", $i); $this->tpl->set_var("pagesUrl", $i . "&formAction=search&searchKey=" . urlencode($this->formArray["searchKey"])); $this->tpl->set_var("paged", ""); } $this->tpl->parse("PagesBlock", "Pages", true); } } if ($numOfPages == $this->formArray["page"]) { $this->tpl->set_var("nextTxt", ""); } else { $this->tpl->set_var("next", $this->formArray["page"] + 1 . "&formAction=search&searchKey=" . urlencode($this->formArray["searchKey"])); $this->tpl->set_var("nextTxt", "next"); } if ($this->formArray["page"] == 1) { $this->tpl->set_var("previousTxt", ""); } else { $this->tpl->set_var("previous", $this->formArray["page"] - 1 . "&formAction=search&searchKey=" . urlencode($this->formArray["searchKey"])); $this->tpl->set_var("previousTxt", "previous"); } $this->tpl->set_var("pageOf", $this->formArray["page"] . " of " . $numOfPages); $condition = $this->sortBlocks(); if (!($xmlStr = $RPTOPList->searchRPTOP($this->formArray["page"], $condition, $this->formArray["searchKey"]))) { $this->tpl->set_var("pageOf", ""); $this->tpl->set_block("rptsTemplate", "RPTOPTable", "RPTOPTableBlock"); $this->tpl->set_var("RPTOPTableBlock", ""); $this->tpl->set_block("rptsTemplate", "RPTOPDBEmpty", "RPTOPDBEmptyBlock"); $this->tpl->set_var("RPTOPDBEmptyBlock", ""); $this->tpl->set_block("rptsTemplate", "Pages", "PagesBlock"); $this->tpl->set_var("PagesBlock", ""); $this->tpl->set_var("PagesListBlock", ""); $this->tpl->set_var("previousTxt", ""); $this->tpl->set_var("nextTxt", ""); } else { if (!($domDoc = domxml_open_mem($xmlStr))) { $this->tpl->set_block("rptsTemplate", "RPTOPListTable", "RPTOPListTableBlock"); $this->tpl->set_var("RPTOPListTableBlock", "error xmlDoc"); } else { $this->tpl->set_block("rptsTemplate", "NotFound", "NotFoundBlock"); $this->tpl->set_var("NotFoundBlock", ""); $rptopRecords = new RPTOPRecords(); $rptopRecords->parseDomDocument($domDoc); $list = $rptopRecords->getArrayList(); if (count($list)) { $this->tpl->set_block("rptsTemplate", "RPTOPDBEmpty", "RPTOPDBEmptyBlock"); $this->tpl->set_var("RPTOPDBEmptyBlock", ""); $this->tpl->set_block("rptsTemplate", "RPTOPList", "RPTOPListBlock"); $this->tpl->set_block("RPTOPList", "PersonList", "PersonListBlock"); $this->tpl->set_block("RPTOPList", "CompanyList", "CompanyListBlock"); foreach ($list as $key => $value) { $this->tpl->set_var("rptopID", $value->getRptopID()); $oValue = $value->owner; $pOwnerStr = ""; if (count($oValue->personArray)) { foreach ($oValue->personArray as $pKey => $pValue) { $this->tpl->set_var("personID", $pValue->getPersonID()); $this->tpl->set_var("OwnerPerson", $pValue->getFullName()); $this->tpl->parse("PersonListBlock", "PersonList", true); } } if (count($oValue->companyArray)) { foreach ($oValue->companyArray as $cKey => $cValue) { $this->tpl->set_var("companyID", $cValue->getCompanyID()); $this->tpl->set_var("OwnerCompany", $cValue->getCompanyName()); $this->tpl->parse("CompanyListBlock", "CompanyList", true); } } if (count($oValue->personArray) || count($oValue->companyArray)) { $this->tpl->set_var("none", ""); } else { $this->tpl->set_var("none", "none"); } $this->tpl->set_var("totalMarketValue", number_format($value->getTotalMarketValue(), 2, '.', ',')); $this->tpl->set_var("totalAssessedValue", number_format($value->getTotalAssessedValue(), 2, '.', ',')); $this->tpl->set_var("taxableYear", $value->getTaxableYear()); // grab Dues of rptop to get totalTaxDue $totalTaxDue = 0.0; if (is_array($value->tdArray)) { foreach ($value->tdArray as $td) { $DueDetails = new SoapObject(NCCBIZ . "DueDetails.php", "urn:Object"); $AFSDetails = new SoapObject(NCCBIZ . "AFSDetails.php", "urn:Object"); $afsXml = $AFSDetails->getAfs($td->getAfsID()); $afsDomDoc = domxml_open_mem($afsXml); $afs = new AFS(); $afs->parseDomDocument($afsDomDoc); if (!($xmlStr = $DueDetails->getDueFromTdID($td->getTdID(), $value->getTaxableYear()))) { $totalTaxDue = "uncalculated"; break; } else { if (!($domDoc = domxml_open_mem($xmlStr))) { $totalTaxDue = "uncalculated"; } else { $due = new Due(); $due->parseDomDocument($domDoc); $totalTaxDue += $due->getTaxDue(); } } } } else { $totalTaxDue = "no TD's"; } if (is_numeric($totalTaxDue)) { $totalTaxDue = formatCurrency($totalTaxDue); } $this->tpl->set_var("totalTaxDue", $totalTaxDue); $this->setRPTOPListBlockPerms(); $this->tpl->parse("RPTOPListBlock", "RPTOPList", true); $this->tpl->set_var("PersonListBlock", ""); $this->tpl->set_var("CompanyListBlock", ""); } } else { $this->tpl->set_block("rptsTemplate", "RPTOPList", "RPTOPListBlock"); $this->tpl->set_var("RPTOPListBlock", "huh"); } } } break; case "cancel": header("location: CalculateRPTOPBatch.php"); exit; break; default: $this->tpl->set_var("msg", ""); $RPTOPList = new SoapObject(NCCBIZ . "RPTOPList.php", "urn:Object"); $this->tpl->set_block("rptsTemplate", "Pages", "PagesBlock"); $this->tpl->set_block("rptsTemplate", "PagesList", "PagesListBlock"); $this->tpl->set_block("rptsTemplate", "NotFound", "NotFoundBlock"); $this->tpl->set_var("NotFoundBlock", ""); if (!($count = $RPTOPList->getRPTOPCount())) { $this->tpl->set_var("PagesBlock", ""); $this->tpl->set_var("PagesListBlock", ""); $this->tpl->set_block("rptsTemplate", "PageNavigator", "PageNavigatorBlock"); $this->tpl->set_var("PageNavigatorBlock", ""); } else { $numOfPages = ceil($count / PAGE_BY); // page list nav $this->formArray["pageLinksInLine"] = 7; if ($this->formArray["page"] < round($this->formArray["pageLinksInLine"] / 2)) { $startPageLinks = 1; } else { $startPageLinks = $this->formArray["page"] - round($this->formArray["pageLinksInLine"] / 2); if ($startPageLinks < 1) { $startPageLinks = 1; } } $endPageLinks = $startPageLinks + ($this->formArray["pageLinksInLine"] - 1); if ($endPageLinks > $numOfPages) { $endPageLinks = $numOfPages; } for ($i = $startPageLinks; $i <= $endPageLinks; $i++) { if ($i == $this->formArray["page"]) { $this->tpl->set_var("pageListPages", ""); $this->tpl->set_var("pageListPagesUrl", ""); $this->tpl->set_var("pageListPaged", $i); } else { $this->tpl->set_var("pageListPages", $i); $this->tpl->set_var("pageListPagesUrl", $i); $this->tpl->set_var("pageListPaged", ""); } $this->tpl->parse("PagesListBlock", "PagesList", true); } // drop down nav for ($i = 1; $i <= $numOfPages; $i++) { if ($i == $this->formArray["page"]) { $this->tpl->set_var("pages", $i); $this->tpl->set_var("pagesUrl", $i); $this->tpl->set_var("paged", "selected"); } else { $this->tpl->set_var("pages", $i); $this->tpl->set_var("pagesUrl", $i); $this->tpl->set_var("paged", ""); } $this->tpl->parse("PagesBlock", "Pages", true); } } if ($numOfPages == $this->formArray["page"]) { $this->tpl->set_var("nextTxt", ""); } else { $this->tpl->set_var("next", $this->formArray["page"] + 1); $this->tpl->set_var("nextTxt", "next"); } if ($this->formArray["page"] == 1) { $this->tpl->set_var("previousTxt", ""); } else { $this->tpl->set_var("previous", $this->formArray["page"] - 1); $this->tpl->set_var("previousTxt", "previous"); } if ($numOfPages == "") { $this->tpl->set_var("pageOf", ""); } else { $this->tpl->set_var("pageOf", $this->formArray["page"] . " of " . $numOfPages); } $condition = $this->sortBlocks(); if (!($xmlStr = $RPTOPList->getRPTOPList($this->formArray["page"], $condition))) { $this->tpl->set_block("rptsTemplate", "RPTOPTable", "RPTOPTableBlock"); $this->tpl->set_var("RPTOPTableBlock", ""); } else { if (!($domDoc = domxml_open_mem($xmlStr))) { $this->tpl->set_block("rptsTemplate", "RPTOPListTable", "RPTOPListTableBlock"); $this->tpl->set_var("RPTOPListTableBlock", ""); } else { $rptopRecords = new RPTOPRecords(); $rptopRecords->parseDomDocument($domDoc); $list = $rptopRecords->getArrayList(); if (count($list)) { $this->tpl->set_block("rptsTemplate", "RPTOPDBEmpty", "RPTOPDBEmptyBlock"); $this->tpl->set_var("RPTOPDBEmptyBlock", ""); $this->tpl->set_block("rptsTemplate", "RPTOPList", "RPTOPListBlock"); $this->tpl->set_block("RPTOPList", "PersonList", "PersonListBlock"); $this->tpl->set_block("RPTOPList", "CompanyList", "CompanyListBlock"); foreach ($list as $key => $value) { $this->tpl->set_var("rptopID", $value->getRptopID()); $oValue = $value->owner; $pOwnerStr = ""; if (count($oValue->personArray)) { foreach ($oValue->personArray as $pKey => $pValue) { $this->tpl->set_var("personID", $pValue->getPersonID()); $this->tpl->set_var("OwnerPerson", $pValue->getFullName()); $this->tpl->parse("PersonListBlock", "PersonList", true); } } if (count($oValue->companyArray)) { foreach ($oValue->companyArray as $cKey => $cValue) { $this->tpl->set_var("companyID", $cValue->getCompanyID()); $this->tpl->set_var("OwnerCompany", $cValue->getCompanyName()); $this->tpl->parse("CompanyListBlock", "CompanyList", true); } } if (count($oValue->personArray) || count($oValue->companyArray)) { $this->tpl->set_var("none", ""); } else { $this->tpl->set_var("none", "none"); } $this->tpl->set_var("totalMarketValue", number_format($value->getTotalMarketValue(), 2, '.', ',')); $this->tpl->set_var("totalAssessedValue", number_format($value->getTotalAssessedValue(), 2, '.', ',')); $this->tpl->set_var("taxableYear", $value->getTaxableYear()); // grab Dues of rptop to get totalTaxDue $totalTaxDue = 0.0; if (is_array($value->tdArray)) { foreach ($value->tdArray as $td) { $DueDetails = new SoapObject(NCCBIZ . "DueDetails.php", "urn:Object"); $AFSDetails = new SoapObject(NCCBIZ . "AFSDetails.php", "urn:Object"); $afsXml = $AFSDetails->getAfs($td->getAfsID()); $afsDomDoc = domxml_open_mem($afsXml); $afs = new AFS(); $afs->parseDomDocument($afsDomDoc); if (!($xmlStr = $DueDetails->getDueFromTdID($td->getTdID(), $value->getTaxableYear()))) { $totalTaxDue = "uncalculated"; break; } else { if (!($domDoc = domxml_open_mem($xmlStr))) { $totalTaxDue = "uncalculated"; } else { $due = new Due(); $due->parseDomDocument($domDoc); $totalTaxDue += $due->getTaxDue(); } } } } else { $totalTaxDue = "no TD's"; } if (is_numeric($totalTaxDue)) { $totalTaxDue = formatCurrency($totalTaxDue); } $this->tpl->set_var("totalTaxDue", $totalTaxDue); $this->setRPTOPListBlockPerms(); $this->tpl->parse("RPTOPListBlock", "RPTOPList", true); $this->tpl->set_var("PersonListBlock", ""); $this->tpl->set_var("CompanyListBlock", ""); } } else { $this->tpl->set_block("rptsTemplate", "RPTOPList", "RPTOPListBlock"); $this->tpl->set_var("RPTOPListBlock", "huh"); } } } } $this->setForm(); $this->setPageDetailPerms(); $this->tpl->set_var("uname", $this->user["uname"]); $this->tpl->set_var("today", date("F j, Y")); $this->tpl->set_var("Session", $this->sess->url("")); $this->tpl->parse("templatePage", "rptsTemplate"); $this->tpl->finish("templatePage"); $this->tpl->p("templatePage"); }