File: /home/mostafedeg/public_html/erp/controllers/accountstreeajax.php
<?php
// get the config file
include_once("../public/config.php");
include_once("dailyentryfun.php");
//here the db files that include in the file
include("../public/include_dao.php");
//Accountstree
require_once('../models/dao/AccountstreeDAO.class.php');
require_once('../models/dto/Accountstree.class.php');
require_once('../models/mysql/AccountstreeMySqlDAO.class.php');
require_once('../models/mysql/ext/AccountstreeMySqlExtDAO.class.php');
//Dailyentry
require_once('../models/dao/DailyentryDAO.class.php');
require_once('../models/dto/Dailyentry.class.php');
require_once('../models/mysql/DailyentryMySqlDAO.class.php');
require_once('../models/mysql/ext/DailyentryMySqlExtDAO.class.php');
//Dailyentrycreditor
require_once('../models/dao/DailyentrycreditorDAO.class.php');
require_once('../models/dto/Dailyentrycreditor.class.php');
require_once('../models/mysql/DailyentrycreditorMySqlDAO.class.php');
require_once('../models/mysql/ext/DailyentrycreditorMySqlExtDAO.class.php');
//Dailyentrydebtor
require_once('../models/dao/DailyentrydebtorDAO.class.php');
require_once('../models/dto/Dailyentrydebtor.class.php');
require_once('../models/mysql/DailyentrydebtorMySqlDAO.class.php');
require_once('../models/mysql/ext/DailyentrydebtorMySqlExtDAO.class.php');
//Costcenter
require_once('../models/dao/CostcenterDAO.class.php');
require_once('../models/dto/Costcenter.class.php');
require_once('../models/mysql/CostcenterMySqlDAO.class.php');
require_once('../models/mysql/ext/CostcenterMySqlExtDAO.class.php');
//Accountstreesetting
require_once('../models/dao/AccountstreesettingDAO.class.php');
require_once('../models/dto/Accountstreesetting.class.php');
require_once('../models/mysql/AccountstreesettingMySqlDAO.class.php');
require_once('../models/mysql/ext/AccountstreesettingMySqlExtDAO.class.php');
//----------------------------------------
//Sellbill
require_once('../models/dao/SellbillDAO.class.php');
require_once('../models/dto/Sellbill.class.php');
require_once('../models/mysql/SellbillMySqlDAO.class.php');
require_once('../models/mysql/ext/SellbillMySqlExtDAO.class.php');
//Returnsellbill
require_once('../models/dao/ReturnsellbillDAO.class.php');
require_once('../models/dto/Returnsellbill.class.php');
require_once('../models/mysql/ReturnsellbillMySqlDAO.class.php');
require_once('../models/mysql/ext/ReturnsellbillMySqlExtDAO.class.php');
//Sellbillandrutern
require_once('../models/dao/SellbillandruternDAO.class.php');
require_once('../models/dto/Sellbillandrutern.class.php');
require_once('../models/mysql/SellbillandruternMySqlDAO.class.php');
require_once('../models/mysql/ext/SellbillandruternMySqlExtDAO.class.php');
//Store
require_once('../models/dao/StoreDAO.class.php');
require_once('../models/dto/Store.class.php');
require_once('../models/mysql/StoreMySqlDAO.class.php');
require_once('../models/mysql/ext/StoreMySqlExtDAO.class.php');
//Storedetail
require_once('../models/dao/StoredetailDAO.class.php');
require_once('../models/dto/Storedetail.class.php');
require_once('../models/mysql/StoredetailMySqlDAO.class.php');
require_once('../models/mysql/ext/StoredetailMySqlExtDAO.class.php');
//Product
require_once('../models/dao/ProductDAO.class.php');
require_once('../models/dto/Product.class.php');
require_once('../models/mysql/ProductMySqlDAO.class.php');
require_once('../models/mysql/ext/ProductMySqlExtDAO.class.php');
//get the do the action
$do = $_GET['do'];
/* ======================
Controller Name :- clientTypeCTRL
OPERTATION in Controller
1-
2-
3-
4-
======================== */
//here goes the instances and general variables
//Accountstree
$accountsTree = new Accountstree();
$accountsTreeDAO = new AccountstreeMySqlDAO();
$accountsTreeEX = new AccountstreeMySqlExtDAO();
//Dailyentry
$dailyEntry = new Dailyentry();
$dailyEntryDAO = new DailyentryMySqlDAO();
$dailyEntryEX = new DailyentryMySqlExtDAO();
//Dailyentrycreditor دائن
$dailyEntryCreditor = new Dailyentrycreditor();
$dailyEntryCreditorDAO = new DailyentrycreditorMySqlDAO();
$dailyEntryCreditorEX = new DailyentrycreditorMySqlExtDAO();
//Dailyentrydebtor مدين
$dailyEntryDebtor = new Dailyentrydebtor();
$dailyEntryDebtorDAO = new DailyentrydebtorMySqlDAO();
$dailyEntryDebtorEX = new DailyentrydebtorMySqlExtDAO();
//Costcenter
$costCenter = new Costcenter();
$costCenterDAO = new CostcenterMySqlDAO();
$costCenterEX = new CostcenterMySqlExtDAO();
//Accountstreesetting
$accountsTreeSetting = new Accountstreesetting();
$accountsTreeSettingDAO = new AccountstreesettingMySqlDAO();
$accountsTreeSettingEX = new AccountstreesettingMySqlExtDAO();
//---------------------------------------------------------
//Sellbill
$sellBill = new Sellbill();
$sellBillDAO = new SellbillMySqlDAO();
$sellBillEX = new SellbillMySqlExtDAO();
//Returnsellbill
$returnSellBill = new Returnsellbill();
$returnSellBillDAO = new ReturnsellbillMySqlDAO();
$returnSellBillEX = new ReturnsellbillMySqlExtDAO();
//Sellbillandrutern
$sellBillAndRutern = new Sellbillandrutern();
$sellBillAndRuternDAO = new SellbillandruternMySqlDAO();
$sellBillAndRuternEX = new SellbillandruternMySqlExtDAO();
//Storedetail
$storeDetail = new Storedetail();
$storeDetailDAO = new StoredetailMySqlDAO();
$storeDetailEX = new StoredetailMySqlExtDAO();
//Product
$product = new Product();
$productDAO = new ProductMySqlDAO();
$productEX = new ProductMySqlExtDAO();
//Store
$store = new Store();
$storeDAO = new StoreMySqlDAO();
$storeEX = new StoreMySqlExtDAO();
//check and use the condetion that suite this action
if ($do == "getalltree") {
//$accountsTree = $accountsTreeDAO->queryAll();
//$accountsTreeOrdered = array();
//orderAsTree(0, 0);
//
//
//
##make no of levels fixed =6 "now we dont count tree levels"
// $maxNoOfLevels = 6;
// for ($i = 1; $i <= $maxNoOfLevels; $i++) {
// $level = $accountsTreeSettingDAO->queryByLevelno($i);
// if (count($level) < 1) {
// $accountsTreeSetting->levelno = $i;
// $accountsTreeSetting->nooffields = 1;
// $id = $accountsTreeSettingDAO->insert($accountsTreeSetting);
// $level = $accountsTreeSettingDAO->load($id);
// } else {
// $level = $level[0];
// }
// //array_push($levelSetting, $level);
// if ($level->nooffields > 0)
// $levelSetting[$i] = $level;
// }
// $maxNoOfLevels = count($levelSetting);
$accountsTreeOrdered = $accountsTreeEX->getlayingOrder4('', ''); //getlayingOrder2
$myhtml = '<option value="0"> لا يوجد</option>';
foreach ($accountsTreeOrdered as $element) {
// //getting level using element parcode
// $noOfFileds = 0;
// $i = $maxNoOfLevels;
// do {
// $layingOrder = $element->layingOrder;
// $noOfFileds += $levelSetting[$i]->nooffields;
// $layingOrder = substr($layingOrder, $noOfFileds * -1);
// if ((int) $layingOrder > 0) {
// $element->notes = $levelSetting[$i]->levelno;
// }
// $i--;
// } while ($i > 0 && (int) $layingOrder == 0);
//draw level as dashes
$preString = '';
for ($index = 0; $index < $element->notes; $index++) {
$preString .= '_';
}
$myhtml .= '<option value="' . $element->id . '">' . $preString . $element->layingOrder . ' ' . $element->name . '</option>';
}
echo $myhtml;
} elseif ($do == "additem") {
$itemIdModal = filter_input(INPUT_POST, 'itemIdModal');
$name = filter_input(INPUT_POST, 'itemName');
$parent = filter_input(INPUT_POST, 'parent');
$itemtype = filter_input(INPUT_POST, 'itemtype');
//$itemfrom = filter_input(INPUT_POST, 'itemfrom');
$notes = filter_input(INPUT_POST, 'notes');
$itemtype2 = filter_input(INPUT_POST, 'itemtype2');
$theValue = filter_input(INPUT_POST, 'theValue');
if (!isset($theValue) || empty($theValue)) {
$theValue = 0;
}
$reportid = (int) filter_input(INPUT_POST, 'reportid');
$listid = (int) filter_input(INPUT_POST, 'listid');
$accountNature = (int) filter_input(INPUT_POST, 'accountNature');
if (empty($reportid)) {
$accountsTree->reportid = 1;
if ($itemtype == 0 || $itemtype == 2 || $itemtype == 5) {
$accountsTree->reportid = 2;
}
}
$accountsTreeDB;
if (!empty($itemIdModal)) {
$accountsTreeDB = $accountsTreeDAO->load($itemIdModal);
}
if (count($accountsTreeDB) == 1) {
if ($accountsTreeDB->itemfrom == 0) {
//من البرنامج
//مسموح بتعديل الاسم فقط
$accountsTree = $accountsTreeDB;
$accountsTree->customName = $name;
$accountsTree->reportid = $reportid; //
} elseif ($accountsTreeDB->itemfrom == 1) {
//من الشجرة عدل اللى عاوزه//ماعدا ده
//$accountsTree->itemfrom = $accountsTreeDB->itemfrom;//i will not change it
$accountsTree = $accountsTreeDB;
$accountsTree->customName = $name;
$accountsTree->parent = $parent;
$accountsTree->itemtype = $itemtype;
$accountsTree->itemtype2 = $itemtype2;
$accountsTree->notes = $notes;
$accountsTree->theValue = $theValue;
$accountsTree->reportid = $reportid;
$accountsTree->accountNature = $accountNature;
$accountsTree->listId = $listid;
$accountsTree->accountNature = $accountNature;
}
if (empty($accountsTree->customName)) {
$accountsTree->customName = $name;
}
$id = $itemIdModal;
//check if name is unique
$check = isUniqueNameEdit($name, $parent);
if ($check == TRUE) {
$accountsTreeDAO->update($accountsTree);
} else {
$id = -10;
}
} else {
##insert//if (!isset($itemIdModal) || empty($itemIdModal))
$accountsTree->customName = $name;
$accountsTree->name = $name;
$accountsTree->parent = $parent;
$accountsTree->itemtype = $itemtype;
$accountsTree->itemtype2 = $itemtype2;
$accountsTree->notes = $notes;
$accountsTree->theOrder = 0;
$accountsTree->layingOrder = '';
$accountsTree->del = 0;
$accountsTree->theValue = $theValue;
$accountsTree->userid = $_SESSION['userid'];
$accountsTree->sysdate = date("Y-m-d H:i:s");
$accountsTree->itemfrom = 1; //any add here is from tree only
$accountsTree->reportid = $reportid;
$accountsTree->listId = $listid;
$accountsTree->accountNature = $accountNature;
//check if name is unique
$check = isUniqueName($name, $parent);
if ($check == TRUE) {
$id = $accountsTreeDAO->insert($accountsTree);
} else {
$id = -10;
}
}
echo $id;
} elseif ($do == "gettypeandlist") {
$id = filter_input(INPUT_POST, "id");
$accountsTree = $accountsTreeDAO->load($id);
echo $accountsTree->itemtype . ',' . $accountsTree->listId . ',' . $accountsTree->accountNature;
} elseif ($do == "redrawtree") {
// here the function that do the action
##make no of levels fixed =6 "now we dont count tree levels"
$maxNoOfLevels = 6;
for ($i = 1; $i <= $maxNoOfLevels; $i++) {
$level = $accountsTreeSettingDAO->queryByLevelno($i);
if (count($level) < 1) {
$accountsTreeSetting->levelno = $i;
$accountsTreeSetting->nooffields = 1;
$id = $accountsTreeSettingDAO->insert($accountsTreeSetting);
$level = $accountsTreeSettingDAO->load($id);
} else {
$level = $level[0];
}
//array_push($levelSetting, $level);
$levelSetting[$i] = $level;
}
$sum = 0;
$outputString = display_children(0, 0, 0, 0); //display the tree
echo $outputString;
} elseif ($do == "getitem") {
$id = filter_input(INPUT_POST, 'id');
$accountsTree = $accountsTreeDAO->load($id);
echo json_encode($accountsTree);
} elseif ($do == "delthis") {
$id = filter_input(INPUT_POST, 'id');
$child = $accountsTreeEX->queryByParentExt($id);
if (count($child) < 1) {
//del
//$accountsTreeDAO->delete($id);
$row = $accountsTreeDAO->load($id);
$row->del = 1;
$accountsTreeDAO->update($row);
echo 0;
} else {
echo 1;
}
} elseif ($do == "getdetail") {
$id = filter_input(INPUT_POST, "id");
$shape = filter_input(INPUT_POST, "shape");
if (empty($shape) || !isset($shape)) {
$shape = 0;
}
$accountsTree = $accountsTreeDAO->load($id);
$childData = $accountsTreeDAO->queryByParent($id);
if (count($childData) > 0 && $type->itemtype2 == 0) {
$cildrenIds = getChilds($id);
$cildrenIds = rtrim($cildrenIds, ",");
DrawTableByAccount($cildrenIds, $shape, $id, 0);
} else {
DrawTableByAccount($id, $shape, $id, 0);
}
} elseif ($do == "getdetaillimited") {
$id = filter_input(INPUT_POST, "id");
$lastId = filter_input(INPUT_POST, "lastId");
$shape = filter_input(INPUT_POST, "shape");
if (empty($shape) || !isset($shape)) {
$shape = 0;
}
$lastDebtVal = (float) filter_input(INPUT_POST, "lastDebt");
$lastCreditVal = (float) filter_input(INPUT_POST, "lastCredit");
$smarty->assign('lastDebtVal', $lastDebtVal);
$smarty->assign('lastCreditVal', $lastCreditVal);
$accountsTree = $accountsTreeDAO->load($id);
$childData = $accountsTreeDAO->queryByParent($id);
if (count($childData) > 0 && $type->itemtype2 == 0) {
$cildrenIds = getChilds($id);
$cildrenIds = rtrim($cildrenIds, ",");
DrawTableByAccount($cildrenIds, $shape, $id, $lastId);
} else {
DrawTableByAccount($id, $shape, $id, $lastId);
}
} elseif ($do == "reorder") {
$id = filter_input(INPUT_POST, "id");
$neworder = filter_input(INPUT_POST, "neworder");
$accountsTree = $accountsTreeDAO->load($id);
if (count($accountsTree) > 0) {
$accountsTree->theOrder = $neworder;
$accountsTreeDAO->update($accountsTree);
echo 1;
}
} elseif ($do == "getstartgoodsval") {
$flag = checkStartGoods();
if ($flag == 1) {
$startGoodsVal = getStartGoodsVal();
echo $startGoodsVal;
}
} elseif ($do == "approveasstartgoods") {
$flag = checkStartGoods();
if ($flag == 1) {
$startGoodsVal = getStartGoodsVal();
$accountsTree = $accountsTreeDAO->load(27);
$accountsTree->theValue = $startGoodsVal;
$accountsTreeDAO->update($accountsTree);
}
} elseif ($do == "resetfromprog") {
resetfromprog();
}
//****************** Functions ************************//
function DrawTableByAccount($id, $shape, $accountsTreeId, $lastEntryId) {
global $smarty;
//Dailyentry
global $dailyEntry;
global $dailyEntryDAO;
global $dailyEntryEX;
global $accountsTreeDAO;
global $allDailyEntery;
$queryStringCreditor = ' where dailyentrycreditor.accountstreeid in( ' . $id . ') ';
$queryStringDebtor = ' where dailyentrydebtor.accountstreeid in( ' . $id . ') ';
$allDailyEntery = array();
$TShapeArrDebtor = array();
$TShapeArrCerditor = array();
//prepare ids
$allDailyEnteryIDs = $dailyEntryEX->queryAllEXTreeSimpleUnion($queryStringDebtor, $queryStringCreditor, " and id > $lastEntryId");
/* $allDailyEnteryDebtor = $dailyEntryEX->queryAllEXDebtorTreeSimple($queryStringDebtor);
$allDailyEnteryCreditor = $dailyEntryEX->queryAllEXCreditorTreeSimple($queryStringCreditor);
$IDS = '';
foreach ($allDailyEnteryDebtor as $value) {
$IDS .= $value->id . ",";
}
foreach ($allDailyEnteryCreditor as $value) {
$IDS .= $value->id . ",";
} */
$IDS = '';
foreach ($allDailyEnteryIDs as $value) {
$IDS .= $value->id . ",";
}
$IDS = rtrim($IDS, ",");
if ($IDS == "") {
$IDS = 0;
}
$queryString = ' where dailyentry.id in( ' . $IDS . ') ';
$queryString2 = ' and accountstree.id in( ' . $id . ') ';
$whereClause = ' where 1 ';
###########
//1-get main items
$mainItem = $dailyEntryEX->queryAllEXDebtorTreeMain($queryString, $queryString2);
foreach ($mainItem as $myItem) {
$queryString3 = ' and dailyentry.id in( ' . $myItem->id . ' ) '; //and accountstree.id not in( ' . $id . ' )
//2-get count of his brother
$itemBro = $dailyEntryEX->queryAllEXDebtorTreeMainBroCount($whereClause, $queryString3);
$itemBroCount = count($itemBro) + 1;
//3-get other type to show
$result = $dailyEntryEX->queryAllEXCreditorTreeReverseType($queryString3);
$resultCount = count($itemBroCount);
if ($itemBroCount == 1 && $resultCount >= 1) {
foreach ($result as $value) {
if ($shape == 1) {
array_push($TShapeArrDebtor, $value);
} else {
array_push($allDailyEntery, $value);
}
}
} elseif ($itemBroCount > 1 && $resultCount == 1) {
$result[0]->value = $myItem->value;
if ($shape == 1) {
array_push($TShapeArrDebtor, $result[0]);
} else {
array_push($allDailyEntery, $result[0]);
}
} elseif ($itemBroCount > 1 && $resultCount > 1) {
$result[0]->accountstreeName = "مذكورين";
$result[0]->value = $myItem->value;
if ($shape == 1) {
array_push($TShapeArrCerditor, $result[0]);
} else {
array_push($allDailyEntery, $result[0]);
}
}
}
###########
//1-get main items
$mainItem = $dailyEntryEX->queryAllEXCreditorTreeMain($queryString, $queryString2);
foreach ($mainItem as $myItem) {
$queryString3 = ' and dailyentry.id in ( ' . $myItem->id . ') '; //and accountstree.id not in( ' . $id . ' )
//2-get count of his brother
$itemBro = $dailyEntryEX->queryAllEXCreditorTreeMainBroCount($whereClause, $queryString3);
$itemBroCount = count($itemBro) + 1;
//3-get other type to show
$result = $dailyEntryEX->queryAllEXDebtorTreeReverseType($queryString3);
$resultCount = count($result);
if ($itemBroCount == 1 && $resultCount >= 1) {
foreach ($result as $value) {
if ($shape == 1) {
array_push($TShapeArrCerditor, $value);
} else {
array_push($allDailyEntery, $value);
}
}
} elseif ($itemBroCount > 1 && $resultCount == 1) {
$result[0]->value = $myItem->value;
if ($shape == 1) {
array_push($TShapeArrCerditor, $result[0]);
} else {
array_push($allDailyEntery, $result[0]);
}
} elseif ($itemBroCount > 1 && $resultCount > 1) {
$result[0]->accountstreeName = "مذكورين";
$result[0]->value = $myItem->value;
if ($shape == 1) {
array_push($TShapeArrCerditor, $result[0]);
} else {
array_push($allDailyEntery, $result[0]);
}
}
}
$entry = $accountsTreeDAO->load($accountsTreeId);
$smarty->assign("entry", $entry);
if ($shape == 0) {
sortById('asc');
} elseif ($shape == 1) {
$dailyEntry = new Dailyentry();
$debtorItr = 0;
$creditorItr = 0;
$realCount = 0;
$totalCount = count($TShapeArrDebtor) + count($TShapeArrCerditor);
for ($i = 0; $i < ($totalCount * 2); $i++) {
if (empty($TShapeArrDebtor[$debtorItr]) && empty($TShapeArrCerditor[$creditorItr])) {
//do nothing
} else {
$realCount++;
if ($i % 2 == 0) {
if (empty($TShapeArrDebtor[$debtorItr])) {
array_push($allDailyEntery, $dailyEntry);
} else {
array_push($allDailyEntery, $TShapeArrDebtor[$debtorItr]);
$debtorItr++;
}
} else {
if (empty($TShapeArrCerditor[$creditorItr])) {
array_push($allDailyEntery, $dailyEntry);
} else {
array_push($allDailyEntery, $TShapeArrCerditor[$creditorItr]);
$creditorItr++;
}
}
}
}
$smarty->assign("realCount", $realCount);
}
$smarty->assign("shape", $shape);
$smarty->assign("allDailyEntery", $allDailyEntery);
$smarty->assign("allDailyEnteryCount", count($allDailyEntery));
if ($lastEntryId == 0)
$smarty->display("dailyentryview/accounttreetable.html");
else
$smarty->display("dailyentryview/accounttreetablePart.html");
}
function display_children($parent, $level, $itr, $itr2) {//$itr is itr without zeros , $itr2 wit zeros
global $accountsTreeDAO;
global $accountsTreeEX;
global $accountsTreeSettingDAO;
global $outputString;
global $sum;
global $levelSetting;
global $maxNoOfLevels;
//note: url of tree ##http://jsfiddle.net/jhfrench/GpdgF/
// retrieve all children of $parent
$result = $accountsTreeEX->queryByParentExt($parent);
if (count($result) > 0) {
// display each child
$i = 1;
foreach ($result as $type) {
//generte laying order "use a method from the two coming"
$preDigits = '';
if (strlen($i) != $levelSetting[($level + 1)]->nooffields) {
$noDigitsLeft = $levelSetting[($level + 1)]->nooffields - strlen($i);
for ($j = 0; $j < $noDigitsLeft; $j++) {
$preDigits .= '0';
}
}
if ($itr == 0) {
$nodeName = $preDigits . $i; //. $type->id;
} else {
$nodeName = $itr . $preDigits . $i; //. $type->id;
}
//fill remaining with zeros to the right // optional
$nodeNameWithZeros = $nodeName;
// for ($ii = ($level + 2); $ii <= $maxNoOfLevels; $ii++) {
// for ($j = 0; $j < $levelSetting[$ii]->nooffields; $j++) {
// $nodeNameWithZeros .= '0';
// }
// }
//----------------------------------------------------------------
//make sure node name is saved in db for searching purpose
if ($nodeNameWithZeros !== $type->layingOrder) {
$type->layingOrder = $nodeNameWithZeros;
$accountsTreeDAO->update($type);
}
//check for expenses for this category
$childData = $accountsTreeDAO->queryByParent($type->id);
if (count($childData) > 0) {
$sum = 0;
getTheTrueValue($type->id, $sum);
$type->theValue = $sum;
}
$outputString .= '<li>
<span data-value="' . $type->id . '"><strong>' . $nodeNameWithZeros . '</strong> ' . $type->customName . '</span>
<a class="btn btn-default" style="display: inline !important;padding: 5px 5px !important;" data-id="' . $type->id . '">' . $type->theValue . '</a>';
if (($_COOKIE['showClientsAtTree'] == 0 && ($type->id == 58 || $type->id == 60)) || ($_COOKIE['showSuppliersAtTree'] == 0 && ($type->id == 81 || $type->id == 87))) {
} else if (count($childData) > 0 && $type->itemtype2 == 0) {
$outputString .= '<a class="btn btn-default bookicon infoLeaf" style="display: inline !important;width:8%;text-align: center !important;padding: 5px 13px !important;" data-id="' . $type->id . '"></a>';
} else {
$outputString .= '<a class="btn btn-default infoicon infoLeaf" style="display: inline !important;width:8%;text-align: center !important;padding: 5px 13px !important;" data-id="' . $type->id . '"></a>';
}
if ($type->itemfrom == 0) {
} else {
$outputString .= '<a class = "btn btn-default deleteicon delLeaf" data-id = "' . $type->id . '" style = "display: inline !important;margin-right:-3px;width:8%;text-align: center !important;padding: 5px 13px !important;"></a>';
}
$outputString .= '<a class = "btn btn-default editicon editLeaf" style = "display: inline !important;width:8%;text-align: center !important;padding: 5px 13px !important;" data-id = "' . $type->id . '"></a>
<input type = "text" class = "form-control orderLeaf positiveNo" value = "' . $type->theOrder . '" data-id = "' . $type->id . '" style = "display: inline !important;margin-right:3px;width:16%;text-align: center !important;padding: 5px 13px !important;"/>';
$i++;
if (($_COOKIE['showClientsAtTree'] == 0 && ($type->id == 58 || $type->id == 60)) || ($_COOKIE['showSuppliersAtTree'] == 0 && ($type->id == 81 || $type->id == 87))) {
//do noting.
} else if (count($childData) > 0) {
$outputString .= '<ul>';
display_children($type->id, $level + 1, $nodeName, $nodeNameWithZeros);
$outputString .= '</ul>';
}
$outputString .= '</li>';
}
}
return $outputString;
}
function orderAsTree($parent, $level) {
global $accountsTreeDAO;
global $accountsTreeEX;
global $accountsTreeOrdered;
//global $outputString;
// retrieve all children of $parent
$result = $accountsTreeEX->queryByParentExt($parent);
if (count($result) > 0) {
// display each child
foreach ($result as $type) {
$type->notes = $level;
array_push($accountsTreeOrdered, $type);
orderAsTree($type->id, $level + 1);
}
}
}
function sortByDateTime($type) {
global $allDailyEntery;
//1-sort by date
$membresCount = count($allDailyEntery) - 1; //-1 so as not to compare last item with null "reduce one itration"
foreach ($allDailyEntery as $myalloutRole) {
$tempMember;
for ($i = 0; $i < $membresCount; $i++) {
if ($type == "desc") {
if ($allDailyEntery[$i]->dDateTime < $allDailyEntery[$i + 1]->dDateTime) {
$tempMember = $allDailyEntery[$i];
$allDailyEntery[$i] = $allDailyEntery[$i + 1];
$allDailyEntery[$i + 1] = $tempMember;
}
} elseif ($type == "asc") {
if ($allDailyEntery[$i]->dDateTime > $allDailyEntery[$i + 1]->dDateTime) {
$tempMember = $allDailyEntery[$i + 1];
$allDailyEntery[$i + 1] = $allDailyEntery[$i];
$allDailyEntery[$i] = $tempMember;
}
}
}
}
}
function sortById($type) {
global $allDailyEntery;
//1-sort by date
$membresCount = count($allDailyEntery) - 1; //-1 so as not to compare last item with null "reduce one itration"
foreach ($allDailyEntery as $myalloutRole) {
$tempMember;
for ($i = 0; $i < $membresCount; $i++) {
if ($type == "desc") {
if ($allDailyEntery[$i]->id < $allDailyEntery[$i + 1]->id) {
$tempMember = $allDailyEntery[$i];
$allDailyEntery[$i] = $allDailyEntery[$i + 1];
$allDailyEntery[$i + 1] = $tempMember;
}
} elseif ($type == "asc") {
if ($allDailyEntery[$i]->id > $allDailyEntery[$i + 1]->id) {
$tempMember = $allDailyEntery[$i + 1];
$allDailyEntery[$i + 1] = $allDailyEntery[$i];
$allDailyEntery[$i] = $tempMember;
}
}
}
}
}
function getTheTrueValue($parent, $sum) {
global $accountsTreeDAO;
global $accountsTreeEX;
global $sum;
if (($_COOKIE['showClientsAtTree'] == 0 && ($parent == 58 || $parent == 60)) || ($_COOKIE['showSuppliersAtTree'] == 0 && ($parent == 81 || $parent == 87))) {
$lastNodeSum = (float) $accountsTreeEX->getLastNodeSumById($parent);
$sum += $lastNodeSum;
} else if ($_COOKIE['calTreeNodes'] == 1) {
$result = $accountsTreeEX->queryByParentExt($parent);
if (count($result) > 0) {
foreach ($result as $type) {
$sum += $type->theValue;
getTheTrueValue($type->id, $sum);
}
}
}
}
function getChilds($parent) {
global $accountsTreeEX;
global $cildrenIds;
$result = $accountsTreeEX->queryByParentExt($parent);
if (count($result) > 0) {
foreach ($result as $type) {
$cildrenIds .= $type->id . ',';
getChilds($type->id);
}
}
return $cildrenIds;
}
function resetfromprog($parent, $sum) {
global $accountsTreeDAO;
$data = $accountsTreeDAO->queryByItemfrom(0);
foreach ($data as $value) {
if ($value->customName != $value->name || $value->customNameEn != $value->nameEn) {
$value->customName = $value->name;
$value->customNameEn = $value->nameEn;
$accountsTreeDAO->update($value);
}
}
}
//بضاعة اول المدة
function checkStartGoods() {
//$sellBill
global $sellBill;
global $sellBillDAO;
global $sellBillEX;
//Returnsellbill
global $returnSellBill;
global $returnSellBillDAO;
global $returnSellBillEX;
//Sellbillandrutern
global $sellBillAndRutern;
global $sellBillAndRuternDAO;
global $sellBillAndRuternEX;
$flag = 0;
$sellBill = $sellBillEX->checkIfThereIsABill();
$returnSellBill = $returnSellBillEX->checkIfThereIsABill();
$sellBillAndRutern = $sellBillAndRuternEX->checkIfThereIsABill();
if (count($sellBill) == 0 && count($returnSellBill) == 0 && count($sellBillAndRutern) == 0) {
$flag = 1;
}
return $flag;
}
function getStartGoodsVal() {
//Storedetail
global $storeDetailEX;
$productsTotalValue = 0;
$storeData = loadStore();
foreach ($storeData as $value) {
$products = $storeDetailEX->queryWithStoreId($value->storeId);
foreach ($products as $pro) {
$productsTotalValue += $pro->productquantity * $pro->productBuyPrice;
}
}
$productsTotalValue = round($productsTotalValue, 2);
return $productsTotalValue;
}
//select all store data
function loadStore() {
//to use the variable out side the funcion
global $storeDAO;
//load all store data
$storeData = $storeDAO->queryByConditions(0);
return $storeData;
}
?>