|
@@ -32,8 +32,6 @@ class Przypomnij {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function fetchData($usrLogin = null) {
|
|
public function fetchData($usrLogin = null) {
|
|
|
- $db = DB::getDB();
|
|
|
|
|
-
|
|
|
|
|
if (!$usrLogin) {
|
|
if (!$usrLogin) {
|
|
|
$usrLogin = User::getLogin();
|
|
$usrLogin = User::getLogin();
|
|
|
$usrAclGroups = User::getLdapGroupsNames();
|
|
$usrAclGroups = User::getLdapGroupsNames();
|
|
@@ -58,7 +56,8 @@ class Przypomnij {
|
|
|
or kor.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
or kor.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
|
)
|
|
)
|
|
|
";
|
|
";
|
|
|
- $sql = "select kor.ID
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select kor.ID
|
|
|
, kor.ID_PROJECT
|
|
, kor.ID_PROJECT
|
|
|
, kor.A_STATUS
|
|
, kor.A_STATUS
|
|
|
, kor.L_APPOITMENT_USER
|
|
, kor.L_APPOITMENT_USER
|
|
@@ -69,30 +68,30 @@ class Przypomnij {
|
|
|
, kor.A_RECORD_UPDATE_DATE
|
|
, kor.A_RECORD_UPDATE_DATE
|
|
|
, kor.A_RECORD_UPDATE_AUTHOR
|
|
, kor.A_RECORD_UPDATE_AUTHOR
|
|
|
, kor.K_TYP_KORESP, kor.K_TYP_RODZAJ
|
|
, kor.K_TYP_KORESP, kor.K_TYP_RODZAJ
|
|
|
- -- ? , kor.K_TYP_RODZAJ_OPIS
|
|
|
|
|
|
|
+ -- , kor.K_TYP_RODZAJ_OPIS
|
|
|
, kor.K_OD_KOGO
|
|
, kor.K_OD_KOGO
|
|
|
, kor.OD_KOGO_ADRES
|
|
, kor.OD_KOGO_ADRES
|
|
|
, kor.K_ZAWARTOS
|
|
, kor.K_ZAWARTOS
|
|
|
- -- TODO: , proj.M_DIST_DESC
|
|
|
|
|
|
|
+ -- , proj.M_DIST_DESC
|
|
|
, kor.K_LOKALIZACJA
|
|
, kor.K_LOKALIZACJA
|
|
|
, kor.K_LOKALIZACJA_OPIS
|
|
, kor.K_LOKALIZACJA_OPIS
|
|
|
from `IN7_DZIENNIK_KORESP` as kor
|
|
from `IN7_DZIENNIK_KORESP` as kor
|
|
|
where kor.`A_STATUS` not in ('OFF_HARD','DELETED')
|
|
where kor.`A_STATUS` not in ('OFF_HARD','DELETED')
|
|
|
{$sqlAclFltrKoresp}
|
|
{$sqlAclFltrKoresp}
|
|
|
";
|
|
";
|
|
|
- $res = $db->query($sql);
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- $r->A_RECORD_CREATE_DATE = $this->fixDateFormat($r->A_RECORD_CREATE_DATE);
|
|
|
|
|
- $r->A_RECORD_UPDATE_DATE = $this->fixDateFormat($r->A_RECORD_UPDATE_DATE);
|
|
|
|
|
- $r->_task_type = 'koresp';
|
|
|
|
|
- $r->_show = false;
|
|
|
|
|
- $r->_acl_proj_id = (int)$r->ID_PROJECT;
|
|
|
|
|
- $r->_title = "<strong>{$r->K_OD_KOGO}</strong><br><em>{$r->OD_KOGO_ADRES}</em><br>{$r->K_ZAWARTOS}";
|
|
|
|
|
- $r->_type = "{$r->K_TYP_KORESP}-{$r->K_TYP_RODZAJ}";
|
|
|
|
|
- $r->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
- $r->_l_app_date = $r->L_APPOITMENT_DATE;
|
|
|
|
|
- $this->_data['koresp'][$r->ID] = $r;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $this->_data['koresp'] = array_map(function ($row) {
|
|
|
|
|
+ return (object)array_merge($row, [
|
|
|
|
|
+ 'A_RECORD_CREATE_DATE' => $this->fixDateFormat($row['A_RECORD_CREATE_DATE']),
|
|
|
|
|
+ 'A_RECORD_UPDATE_DATE' => $this->fixDateFormat($row['A_RECORD_UPDATE_DATE']),
|
|
|
|
|
+ '_task_type' => 'koresp',
|
|
|
|
|
+ '_show' => false,
|
|
|
|
|
+ '_acl_proj_id' => (int)$row['ID_PROJECT'],
|
|
|
|
|
+ '_title' => "<strong>{$row['K_OD_KOGO']}</strong><br><em>{$row['OD_KOGO_ADRES']}</em><br>{$row['K_ZAWARTOS']}",
|
|
|
|
|
+ '_type' => "{$row['K_TYP_KORESP']}-{$row['K_TYP_RODZAJ']}",
|
|
|
|
|
+ '_l_app' => $row['L_APPOITMENT_USER'],
|
|
|
|
|
+ '_l_app_date' => $row['L_APPOITMENT_DATE'],
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }, DB::getPDO()->fetchAllByKey($sql, $key = 'ID'));
|
|
|
|
|
|
|
|
$sqlAclFltrProj = "
|
|
$sqlAclFltrProj = "
|
|
|
and (proj.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
|
|
and (proj.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
|
|
@@ -100,7 +99,8 @@ class Przypomnij {
|
|
|
or proj.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
or proj.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
|
)
|
|
)
|
|
|
";
|
|
";
|
|
|
- $sql = "select proj.ID
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select proj.ID
|
|
|
, proj.P_ID
|
|
, proj.P_ID
|
|
|
, proj.A_STATUS
|
|
, proj.A_STATUS
|
|
|
, proj.M_DIST_DESC
|
|
, proj.M_DIST_DESC
|
|
@@ -120,20 +120,20 @@ class Przypomnij {
|
|
|
where proj.`A_STATUS` NOT IN ('OFF_HARD','DELETED')
|
|
where proj.`A_STATUS` NOT IN ('OFF_HARD','DELETED')
|
|
|
{$sqlAclFltrProj}
|
|
{$sqlAclFltrProj}
|
|
|
";
|
|
";
|
|
|
- $res = $db->query($sql);
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- $r->A_RECORD_CREATE_DATE = $this->fixDateFormat($r->A_RECORD_CREATE_DATE);
|
|
|
|
|
- $r->A_RECORD_UPDATE_DATE = $this->fixDateFormat($r->A_RECORD_UPDATE_DATE);
|
|
|
|
|
- $r->M_DIST_DESC = htmlspecialchars($r->M_DIST_DESC);// TODO: fix bug in html a href inside M_DIST_DESC
|
|
|
|
|
- $r->_task_type = 'projekt';
|
|
|
|
|
- $r->_show = false;
|
|
|
|
|
- $r->_acl_proj_id = (int)$r->P_ID;
|
|
|
|
|
- $r->_title = $r->M_DIST_DESC;
|
|
|
|
|
- $r->_type = $r->M_DIST_TYPE;
|
|
|
|
|
- $r->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
- $r->_l_app_date = $r->L_APPOITMENT_DATE;
|
|
|
|
|
- $this->_data['projekt'][$r->ID] = $r;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $this->_data['projekt'] = array_map(function ($row) {
|
|
|
|
|
+ return (object)array_merge($row, [
|
|
|
|
|
+ 'A_RECORD_CREATE_DATE' => $this->fixDateFormat($row['A_RECORD_CREATE_DATE']),
|
|
|
|
|
+ 'A_RECORD_UPDATE_DATE' => $this->fixDateFormat($row['A_RECORD_UPDATE_DATE']),
|
|
|
|
|
+ 'M_DIST_DESC' => htmlspecialchars($row['M_DIST_DESC']), // TODO: fix bug in html a href inside M_DIST_DES
|
|
|
|
|
+ '_task_type' => 'projekt',
|
|
|
|
|
+ '_show' => false,
|
|
|
|
|
+ '_acl_proj_id' => (int)$row['P_ID'],
|
|
|
|
|
+ '_title' => $row['M_DIST_DESC'],
|
|
|
|
|
+ '_type' => $row['M_DIST_TYPE'],
|
|
|
|
|
+ '_l_app' => $row['L_APPOITMENT_USER'],
|
|
|
|
|
+ '_l_app_date' => $row['L_APPOITMENT_DATE'],
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }, DB::getPDO()->fetchAllByKey($sql, $key = 'ID'));
|
|
|
|
|
|
|
|
$sqlAclFltrProces = "
|
|
$sqlAclFltrProces = "
|
|
|
and (p.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
|
|
and (p.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
|
|
@@ -141,7 +141,8 @@ class Przypomnij {
|
|
|
or p.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
or p.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
|
)
|
|
)
|
|
|
";
|
|
";
|
|
|
- $sql = "select p.ID
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select p.ID
|
|
|
, p.`DESC`
|
|
, p.`DESC`
|
|
|
, p.`A_STATUS`
|
|
, p.`A_STATUS`
|
|
|
, p.`TYPE`
|
|
, p.`TYPE`
|
|
@@ -159,18 +160,18 @@ class Przypomnij {
|
|
|
and p.`L_APPOITMENT_USER`!=''
|
|
and p.`L_APPOITMENT_USER`!=''
|
|
|
{$sqlAclFltrProces}
|
|
{$sqlAclFltrProces}
|
|
|
";
|
|
";
|
|
|
- $res = $db->query($sql);
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- $r->A_RECORD_CREATE_DATE = $this->fixDateFormat($r->A_RECORD_CREATE_DATE);
|
|
|
|
|
- $r->A_RECORD_UPDATE_DATE = $this->fixDateFormat($r->A_RECORD_UPDATE_DATE);
|
|
|
|
|
- $r->_task_type = 'proces';
|
|
|
|
|
- $r->_show = false;
|
|
|
|
|
- $r->_title = $r->DESC;
|
|
|
|
|
- $r->_type = $r->TYPE;
|
|
|
|
|
- $r->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
- $r->_l_app_date = $r->L_APPOITMENT_DATE;
|
|
|
|
|
- $this->_data['proces'][$r->ID] = $r;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $this->_data['proces'] = array_map(function ($row) {
|
|
|
|
|
+ return (object)array_merge($row, [
|
|
|
|
|
+ 'A_RECORD_CREATE_DATE' => $this->fixDateFormat($row['A_RECORD_CREATE_DATE']),
|
|
|
|
|
+ 'A_RECORD_UPDATE_DATE' => $this->fixDateFormat($row['A_RECORD_UPDATE_DATE']),
|
|
|
|
|
+ '_task_type' => 'proces',
|
|
|
|
|
+ '_show' => false,
|
|
|
|
|
+ '_title' => $row['DESC'],
|
|
|
|
|
+ '_type' => $row['TYPE'],
|
|
|
|
|
+ '_l_app' => $row['L_APPOITMENT_USER'],
|
|
|
|
|
+ '_l_app_date' => $row['L_APPOITMENT_DATE'],
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }, DB::getPDO()->fetchAllByKey($sql, $key = 'ID'));
|
|
|
|
|
|
|
|
$sqlAclFltrProblems = "
|
|
$sqlAclFltrProblems = "
|
|
|
and (probl.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
|
|
and (probl.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
|
|
@@ -178,7 +179,8 @@ class Przypomnij {
|
|
|
or probl.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
or probl.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
|
)
|
|
)
|
|
|
";
|
|
";
|
|
|
- $sql = "select probl.ID
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select probl.ID
|
|
|
, probl.PARENT_ID
|
|
, probl.PARENT_ID
|
|
|
, probl.A_STATUS
|
|
, probl.A_STATUS
|
|
|
, probl.L_APPOITMENT_DATE
|
|
, probl.L_APPOITMENT_DATE
|
|
@@ -196,19 +198,19 @@ class Przypomnij {
|
|
|
and probl.`L_APPOITMENT_USER`!=''
|
|
and probl.`L_APPOITMENT_USER`!=''
|
|
|
{$sqlAclFltrProblems}
|
|
{$sqlAclFltrProblems}
|
|
|
";
|
|
";
|
|
|
- $res = $db->query($sql);
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- $r->A_RECORD_CREATE_DATE = $this->fixDateFormat($r->A_RECORD_CREATE_DATE);
|
|
|
|
|
- $r->A_RECORD_UPDATE_DATE = $this->fixDateFormat($r->A_RECORD_UPDATE_DATE);
|
|
|
|
|
- $r->A_PROBLEM_DESC = htmlspecialchars($r->A_PROBLEM_DESC);
|
|
|
|
|
- $r->_task_type = 'task';
|
|
|
|
|
- $r->_show = false;
|
|
|
|
|
- $r->_title = $r->A_PROBLEM_DESC;
|
|
|
|
|
- $r->_type = $r->M_DIST_TYPE;
|
|
|
|
|
- $r->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
- $r->_l_app_date = $r->L_APPOITMENT_DATE;
|
|
|
|
|
- $this->_data['task'][$r->ID] = $r;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $this->_data['task'] = array_map(function ($row) {
|
|
|
|
|
+ return (object)array_merge($row, [
|
|
|
|
|
+ 'A_RECORD_CREATE_DATE' => $this->fixDateFormat($row['A_RECORD_CREATE_DATE']),
|
|
|
|
|
+ 'A_RECORD_UPDATE_DATE' => $this->fixDateFormat($row['A_RECORD_UPDATE_DATE']),
|
|
|
|
|
+ 'A_PROBLEM_DESC' => htmlspecialchars($row['A_PROBLEM_DESC']),
|
|
|
|
|
+ '_task_type' => 'task',
|
|
|
|
|
+ '_show' => false,
|
|
|
|
|
+ '_title' => $row['A_PROBLEM_DESC'],
|
|
|
|
|
+ '_type' => $row['M_DIST_TYPE'],
|
|
|
|
|
+ '_l_app' => $row['L_APPOITMENT_USER'],
|
|
|
|
|
+ '_l_app_date' => $row['L_APPOITMENT_DATE'],
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }, DB::getPDO()->fetchAllByKey($sql, $key = 'ID'));
|
|
|
|
|
|
|
|
$sqlAclFltrProces = "
|
|
$sqlAclFltrProces = "
|
|
|
and (p.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
|
|
and (p.`A_ADM_COMPANY` in({$sqlUsrAclGroups}, '')
|
|
@@ -216,7 +218,8 @@ class Przypomnij {
|
|
|
or p.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
or p.`L_APPOITMENT_USER`='{$usrLogin}'
|
|
|
)
|
|
)
|
|
|
";
|
|
";
|
|
|
- $sql = "select p.ID
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select p.ID
|
|
|
, p.`DESC`
|
|
, p.`DESC`
|
|
|
, p.`A_STATUS`
|
|
, p.`A_STATUS`
|
|
|
, p.`TYPE`
|
|
, p.`TYPE`
|
|
@@ -233,19 +236,20 @@ class Przypomnij {
|
|
|
and p.`L_APPOITMENT_USER`!=''
|
|
and p.`L_APPOITMENT_USER`!=''
|
|
|
{$sqlAclFltrProces}
|
|
{$sqlAclFltrProces}
|
|
|
";
|
|
";
|
|
|
- $res = $db->query($sql);
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- $r->A_RECORD_CREATE_DATE = $this->fixDateFormat($r->A_RECORD_CREATE_DATE);
|
|
|
|
|
- $r->A_RECORD_UPDATE_DATE = $this->fixDateFormat($r->A_RECORD_UPDATE_DATE);
|
|
|
|
|
- $r->_task_type = 'zasob';
|
|
|
|
|
- $r->_show = false;
|
|
|
|
|
- $r->_title = $r->DESC;
|
|
|
|
|
- $r->_type = $r->TYPE;
|
|
|
|
|
- $r->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
- $r->_l_app_date = $r->L_APPOITMENT_DATE;
|
|
|
|
|
- $this->_data['zasob'][$r->ID] = $r;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ $this->_data['zasob'] = array_map(function ($row) {
|
|
|
|
|
+ return (object)array_merge($row, [
|
|
|
|
|
+ 'A_RECORD_CREATE_DATE' => $this->fixDateFormat($row['A_RECORD_CREATE_DATE']),
|
|
|
|
|
+ 'A_RECORD_UPDATE_DATE' => $this->fixDateFormat($row['A_RECORD_UPDATE_DATE']),
|
|
|
|
|
+ '_task_type' => 'zasob',
|
|
|
|
|
+ '_show' => false,
|
|
|
|
|
+ '_title' => $row['DESC'],
|
|
|
|
|
+ '_type' => $row['TYPE'],
|
|
|
|
|
+ '_l_app' => $row['L_APPOITMENT_USER'],
|
|
|
|
|
+ '_l_app_date' => $row['L_APPOITMENT_DATE'],
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }, DB::getPDO()->fetchAllByKey($sql, $key = 'ID'));
|
|
|
|
|
+
|
|
|
|
|
+ DBG::log($this->_data, 'array', "DBG: Przypomnij->_data");
|
|
|
$this->_fetchLAppUsers();
|
|
$this->_fetchLAppUsers();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -273,7 +277,6 @@ class Przypomnij {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private function _fetchLAppUsers() {
|
|
private function _fetchLAppUsers() {
|
|
|
- $this->_createCacheTable();
|
|
|
|
|
$this->_updateCacheTable();
|
|
$this->_updateCacheTable();
|
|
|
|
|
|
|
|
$projTodo = array();
|
|
$projTodo = array();
|
|
@@ -296,46 +299,44 @@ class Przypomnij {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $db = DB::getDB();
|
|
|
|
|
$projIds = array_keys($projTodo);
|
|
$projIds = array_keys($projTodo);
|
|
|
- $sql = "select c.`ID`, c.`ID_PROJECT`, c.`L_APPOITMENT_USER`, c.`L_APPOITMENT_DATE`
|
|
|
|
|
- from `_PRZYPOMNIJ_CACHE` as c
|
|
|
|
|
- where c.`ID_PROJECT` in(" . implode(",", $projIds) . ")
|
|
|
|
|
- ";
|
|
|
|
|
-if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">sql (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($sql);echo'</pre>';}
|
|
|
|
|
- $res = $db->query($sql);
|
|
|
|
|
- if (!$res) {
|
|
|
|
|
- if ($db->has_errors()) {
|
|
|
|
|
- echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">DB Errors: (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($db->get_errors());echo'</pre>';
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- foreach ($projTodo[$r->ID_PROJECT] as $kRowId => $vType) {
|
|
|
|
|
- if ($vType == 'projekt') {
|
|
|
|
|
- if (isset($this->_data['projekt'][$kRowId])) {
|
|
|
|
|
- if (!empty($r->L_APPOITMENT_USER)) {
|
|
|
|
|
- $this->_data['projekt'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ $toUpdateByCache = DB::getPDO()->fetchAll("
|
|
|
|
|
+ select c.`ID`, c.`ID_PROJECT`, c.`L_APPOITMENT_USER`, c.`L_APPOITMENT_DATE`
|
|
|
|
|
+ from `_PRZYPOMNIJ_CACHE` as c
|
|
|
|
|
+ where c.`ID_PROJECT` in(" . implode(",", $projIds) . ")
|
|
|
|
|
+ ");
|
|
|
|
|
+ foreach ($toUpdateByCache as $row) {
|
|
|
|
|
+ $r = (object)$row;
|
|
|
|
|
+ foreach ($projTodo[$r->ID_PROJECT] as $kRowId => $vType) {
|
|
|
|
|
+ if ($vType == 'projekt') {
|
|
|
|
|
+ if (isset($this->_data['projekt'][$kRowId])) {
|
|
|
|
|
+ if (!empty($r->L_APPOITMENT_USER)) {
|
|
|
|
|
+ $this->_data['projekt'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ //echo '<p style="color:red">'."Error not set \$this->_data['projekt'][$kRowId]".'</p>';
|
|
|
}
|
|
}
|
|
|
- } else {
|
|
|
|
|
- //echo '<p style="color:red">'."Error not set \$this->_data['projekt'][$kRowId]".'</p>';
|
|
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- else if ($vType == 'koresp') {
|
|
|
|
|
- if (!empty($r->L_APPOITMENT_USER)) {
|
|
|
|
|
- $this->_data['koresp'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
- if (!empty($r->L_APPOITMENT_DATE) && empty($this->_data['koresp'][$kRowId]->_l_app_date)) {
|
|
|
|
|
- //$this->_data['koresp'][$kRowId]->_l_app_date = $r->L_APPOITMENT_DATE;
|
|
|
|
|
- $this->_data['koresp'][$kRowId]->_l_app_date = '0000-00-00';
|
|
|
|
|
|
|
+ else if ($vType == 'koresp') {
|
|
|
|
|
+ if (!empty($r->L_APPOITMENT_USER)) {
|
|
|
|
|
+ $this->_data['koresp'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
+ if (!empty($r->L_APPOITMENT_DATE) && empty($this->_data['koresp'][$kRowId]->_l_app_date)) {
|
|
|
|
|
+ //$this->_data['koresp'][$kRowId]->_l_app_date = $r->L_APPOITMENT_DATE;
|
|
|
|
|
+ $this->_data['koresp'][$kRowId]->_l_app_date = '0000-00-00';
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ } catch (Exception $e) {
|
|
|
|
|
+ DBG::log($e);
|
|
|
|
|
+ UI::alert('danger', $e->getMessage());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private function _fetchLAppUsersRec() {
|
|
private function _fetchLAppUsersRec() {
|
|
|
$projTodo = array();
|
|
$projTodo = array();
|
|
|
- $db = DB::getDB();
|
|
|
|
|
$loopLimit = $this->_deepRecurseLimit;
|
|
$loopLimit = $this->_deepRecurseLimit;
|
|
|
$firstLoop = true;
|
|
$firstLoop = true;
|
|
|
do {
|
|
do {
|
|
@@ -385,58 +386,52 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
if ($firstLoop) $firstLoop = false;
|
|
if ($firstLoop) $firstLoop = false;
|
|
|
|
|
|
|
|
if (empty($projTodo)) {
|
|
if (empty($projTodo)) {
|
|
|
- if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">loop(' . ($this->_deepRecurseLimit - $loopLimit) . ') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r("break loop " . ($this->_deepRecurseLimit - $loopLimit));echo'</pre>';}
|
|
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
- if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">loop(' . ($this->_deepRecurseLimit - $loopLimit) . ') $projTodo (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($projTodo);echo'</pre>';}
|
|
|
|
|
$projIds = array_keys($projTodo);
|
|
$projIds = array_keys($projTodo);
|
|
|
- $sql = "select `ID`, `P_ID`, `L_APPOITMENT_USER`, `L_APPOITMENT_USER`
|
|
|
|
|
- from `IN7_MK_BAZA_DYSTRYBUCJI`
|
|
|
|
|
- where `ID` in(" . implode(",", $projIds) . ")
|
|
|
|
|
- ";
|
|
|
|
|
- if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">loop(' . ($this->_deepRecurseLimit - $loopLimit) . ') sql (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($sql);echo'</pre>';}
|
|
|
|
|
- $res = $db->query($sql);
|
|
|
|
|
- if (!$res) {
|
|
|
|
|
- if ($db->has_errors()) {
|
|
|
|
|
- echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">DB Errors: (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($db->get_errors());echo'</pre>';
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- //if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">loop(' . ($this->_deepRecurseLimit - $loopLimit) . ') r [isset($projTodo[$r->ID]) = '.isset($projTodo[$r->ID]).'] (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($r);echo'</pre>';}
|
|
|
|
|
- foreach ($projTodo[$r->ID] as $kRowId => $vType) {
|
|
|
|
|
- if ($vType == 'projekt') {
|
|
|
|
|
- if (isset($this->_data['projekt'][$kRowId])) {
|
|
|
|
|
- $this->_data['projekt'][$kRowId]->_acl_proj_id = (int)$r->P_ID;
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ $toUpdateByCache = DB::getPDO()->fetchAll("
|
|
|
|
|
+ select `ID`, `P_ID`, `L_APPOITMENT_USER`, `L_APPOITMENT_USER`
|
|
|
|
|
+ from `IN7_MK_BAZA_DYSTRYBUCJI`
|
|
|
|
|
+ where `ID` in(" . implode(",", $projIds) . ")
|
|
|
|
|
+ ");
|
|
|
|
|
+ foreach ($toUpdateByCache as $row) {
|
|
|
|
|
+ $r = (object)$row;
|
|
|
|
|
+ foreach ($projTodo[$r->ID] as $kRowId => $vType) {
|
|
|
|
|
+ if ($vType == 'projekt') {
|
|
|
|
|
+ if (isset($this->_data['projekt'][$kRowId])) {
|
|
|
|
|
+ $this->_data['projekt'][$kRowId]->_acl_proj_id = (int)$r->P_ID;
|
|
|
|
|
+ if (!empty($r->L_APPOITMENT_USER)) {
|
|
|
|
|
+ $this->_data['projekt'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
+ //if (!empty($r->L_APPOINTMENT_DATE)) {
|
|
|
|
|
+ // $this->_data['projekt'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
+ //}
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ echo '<p style="color:red">'."Error not set \$this->_data['projekt'][$kRowId]".'</p>';
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if ($vType == 'koresp') {
|
|
|
|
|
+ $this->_data['koresp'][$kRowId]->_acl_proj_id = (int)$r->P_ID;
|
|
|
if (!empty($r->L_APPOITMENT_USER)) {
|
|
if (!empty($r->L_APPOITMENT_USER)) {
|
|
|
- $this->_data['projekt'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
|
|
+ $this->_data['koresp'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
//if (!empty($r->L_APPOINTMENT_DATE)) {
|
|
//if (!empty($r->L_APPOINTMENT_DATE)) {
|
|
|
// $this->_data['projekt'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
// $this->_data['projekt'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
//}
|
|
//}
|
|
|
}
|
|
}
|
|
|
- } else {
|
|
|
|
|
- echo '<p style="color:red">'."Error not set \$this->_data['projekt'][$kRowId]".'</p>';
|
|
|
|
|
- }
|
|
|
|
|
- } else if ($vType == 'koresp') {
|
|
|
|
|
- $this->_data['koresp'][$kRowId]->_acl_proj_id = (int)$r->P_ID;
|
|
|
|
|
- if (!empty($r->L_APPOITMENT_USER)) {
|
|
|
|
|
- $this->_data['koresp'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
- //if (!empty($r->L_APPOINTMENT_DATE)) {
|
|
|
|
|
- // $this->_data['projekt'][$kRowId]->_l_app = $r->L_APPOITMENT_USER;
|
|
|
|
|
- //}
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- unset($projTodo[$r->ID]);
|
|
|
|
|
|
|
+ unset($projTodo[$r->ID]);
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception $e) {
|
|
|
|
|
+ DBG::log($e);
|
|
|
|
|
+ UI::alert('danger', $e->getMessage());
|
|
|
}
|
|
}
|
|
|
-if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">loop(' . ($this->_deepRecurseLimit - $loopLimit) . ') this->_data (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($this->_data);echo'</pre>';}
|
|
|
|
|
-
|
|
|
|
|
} while (--$loopLimit);
|
|
} while (--$loopLimit);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function getAllowedUsersList() {
|
|
public function getAllowedUsersList() {
|
|
|
$allowedUsers = array();
|
|
$allowedUsers = array();
|
|
|
- $db = DB::getDB();
|
|
|
|
|
|
|
|
|
|
$usrLogin = User::getLogin();
|
|
$usrLogin = User::getLogin();
|
|
|
$usrAclGroups = User::getLdapGroupsNames();
|
|
$usrAclGroups = User::getLdapGroupsNames();
|
|
@@ -473,17 +468,16 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
}
|
|
}
|
|
|
$sqlAclFltr = " and {$sqlFltr}";
|
|
$sqlAclFltr = " and {$sqlFltr}";
|
|
|
}
|
|
}
|
|
|
- $sql = "select distinct t.`L_APPOITMENT_USER`
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select distinct t.`L_APPOITMENT_USER`
|
|
|
from `{$tblName}` t
|
|
from `{$tblName}` t
|
|
|
where t.`L_APPOITMENT_USER`!=''
|
|
where t.`L_APPOITMENT_USER`!=''
|
|
|
and t.`A_STATUS` not in ('OFF_HARD','DELETED')
|
|
and t.`A_STATUS` not in ('OFF_HARD','DELETED')
|
|
|
{$sqlAclFltr}
|
|
{$sqlAclFltr}
|
|
|
";
|
|
";
|
|
|
- $res = $db->query($sql) or die("blad zapytania do bazy {$sql}");
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- $allowedUsers[$r->L_APPOITMENT_USER] = true;
|
|
|
|
|
|
|
+ foreach (DB::getPDO()->fetchValuesList($sql) as $userLogin) {
|
|
|
|
|
+ $allowedUsers[$userLogin] = true;
|
|
|
}
|
|
}
|
|
|
- DBG::_('DBG_P', '>2', 'allowedUsers after '.$tblName.'', implode(',', array_keys($allowedUsers)), __CLASS__, __FUNCTION__, __LINE__);
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -518,15 +512,14 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
}
|
|
}
|
|
|
$sqlFoundUsers = array_keys($allowedUsers);
|
|
$sqlFoundUsers = array_keys($allowedUsers);
|
|
|
$sqlFoundUsers = "'" . implode("','", $sqlFoundUsers) . "'";
|
|
$sqlFoundUsers = "'" . implode("','", $sqlFoundUsers) . "'";
|
|
|
- $sql = "select t.`ADM_ACCOUNT`
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select t.`ADM_ACCOUNT`
|
|
|
from `{$tblName}` t
|
|
from `{$tblName}` t
|
|
|
where t.`ADM_ACCOUNT` in({$sqlFoundUsers})
|
|
where t.`ADM_ACCOUNT` in({$sqlFoundUsers})
|
|
|
{$sqlAclFltr}
|
|
{$sqlAclFltr}
|
|
|
";
|
|
";
|
|
|
- DBG::_('DBG_P', '>2', 'sql', $sql, __CLASS__, __FUNCTION__, __LINE__);
|
|
|
|
|
- $res = $db->query($sql) or die("blad zapytania do bazy {$sql}");
|
|
|
|
|
- while ($r = $db->fetch($res)) {
|
|
|
|
|
- $allowedUsersFiltered[$r->ADM_ACCOUNT] = true;
|
|
|
|
|
|
|
+ foreach (DB::getPDO()->fetchValuesList($sql) as $userLogin) {
|
|
|
|
|
+ $allowedUsersFiltered[$userLogin] = true;
|
|
|
}
|
|
}
|
|
|
$allowedUsers = $allowedUsersFiltered;
|
|
$allowedUsers = $allowedUsersFiltered;
|
|
|
}
|
|
}
|
|
@@ -538,8 +531,8 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private function _createCacheTable() {
|
|
private function _createCacheTable() {
|
|
|
- $db = DB::getDB();
|
|
|
|
|
- $sql = "CREATE TABLE IF NOT EXISTS `_PRZYPOMNIJ_CACHE` (
|
|
|
|
|
|
|
+ DB::getPDO()->execSql("
|
|
|
|
|
+ CREATE TABLE IF NOT EXISTS `_PRZYPOMNIJ_CACHE` (
|
|
|
`ID` int(11) NOT NULL AUTO_INCREMENT,
|
|
`ID` int(11) NOT NULL AUTO_INCREMENT,
|
|
|
`ID_PROJECT` int(11) NOT NULL,
|
|
`ID_PROJECT` int(11) NOT NULL,
|
|
|
`_l_app_user` varchar(40) NOT NULL DEFAULT '',
|
|
`_l_app_user` varchar(40) NOT NULL DEFAULT '',
|
|
@@ -561,24 +554,22 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
KEY `P_ID` (`P_ID`),
|
|
KEY `P_ID` (`P_ID`),
|
|
|
KEY `ID_PROJECT` (`ID_PROJECT`)
|
|
KEY `ID_PROJECT` (`ID_PROJECT`)
|
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin2;
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin2;
|
|
|
- ";
|
|
|
|
|
- if(V::get('DBG_P', '', $_GET) > 3){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">sql (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($sql);echo'</pre>';}
|
|
|
|
|
- $db->query($sql);
|
|
|
|
|
|
|
+ ");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private function _updateCacheTable() {
|
|
private function _updateCacheTable() {
|
|
|
- $db = DB::getDB();
|
|
|
|
|
- $sql = "truncate table `_PRZYPOMNIJ_CACHE`; ";
|
|
|
|
|
- $db->query($sql);
|
|
|
|
|
- $sql = "insert into `_PRZYPOMNIJ_CACHE` (`ID_PROJECT`,`P_ID`,`_l_app_user`,`L_APPOITMENT_USER`,`L_APPOITMENT_DATE`)
|
|
|
|
|
|
|
+ $this->_createCacheTable();
|
|
|
|
|
+ DB::getPDO()->execSql(" truncate table `_PRZYPOMNIJ_CACHE` ");
|
|
|
|
|
+ DB::getPDO()->execSql("
|
|
|
|
|
+ insert into `_PRZYPOMNIJ_CACHE` (`ID_PROJECT`,`P_ID`,`_l_app_user`,`L_APPOITMENT_USER`,`L_APPOITMENT_DATE`)
|
|
|
select `ID`,`P_ID`,`L_APPOITMENT_USER`,`L_APPOITMENT_USER`,`L_APPOITMENT_DATE`
|
|
select `ID`,`P_ID`,`L_APPOITMENT_USER`,`L_APPOITMENT_USER`,`L_APPOITMENT_DATE`
|
|
|
from `IN7_MK_BAZA_DYSTRYBUCJI`
|
|
from `IN7_MK_BAZA_DYSTRYBUCJI`
|
|
|
where 1=1
|
|
where 1=1
|
|
|
- ";
|
|
|
|
|
- $db->query($sql);
|
|
|
|
|
|
|
+ ");
|
|
|
|
|
|
|
|
// test recurse update l_app
|
|
// test recurse update l_app
|
|
|
- $sql = "select c._l_app_user
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select c._l_app_user
|
|
|
, p.L_APPOITMENT_USER
|
|
, p.L_APPOITMENT_USER
|
|
|
, p1.L_APPOITMENT_USER
|
|
, p1.L_APPOITMENT_USER
|
|
|
, p2.L_APPOITMENT_USER
|
|
, p2.L_APPOITMENT_USER
|
|
@@ -602,7 +593,8 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
";
|
|
";
|
|
|
|
|
|
|
|
// for i to recurse limit
|
|
// for i to recurse limit
|
|
|
- $sql = "update `_PRZYPOMNIJ_CACHE` as c
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ update `_PRZYPOMNIJ_CACHE` as c
|
|
|
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p on (p.ID=c.ID_PROJECT)
|
|
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p on (p.ID=c.ID_PROJECT)
|
|
|
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p1 on (p1.ID=p.P_ID)
|
|
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p1 on (p1.ID=p.P_ID)
|
|
|
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p2 on (p2.ID=p1.P_ID)
|
|
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p2 on (p2.ID=p1.P_ID)
|
|
@@ -625,7 +617,7 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
)
|
|
)
|
|
|
where c.`_l_app_user`=''
|
|
where c.`_l_app_user`=''
|
|
|
";
|
|
";
|
|
|
- $db->query($sql);
|
|
|
|
|
|
|
+ DB::getPDO()->execSql($sql);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function orderByDateAsc($t1, $t2) {
|
|
public function orderByDateAsc($t1, $t2) {
|
|
@@ -917,7 +909,6 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
|
|
|
|
|
public function sendAjaxEditAppDateInlineSave() {
|
|
public function sendAjaxEditAppDateInlineSave() {
|
|
|
$DBG = ('1' == V::get('DBG', '', $_REQUEST));
|
|
$DBG = ('1' == V::get('DBG', '', $_REQUEST));
|
|
|
- sleep(1);// TODO: RMME DBG loading
|
|
|
|
|
|
|
|
|
|
$rowID = V::get('rowid', 0, $_POST, 'int');
|
|
$rowID = V::get('rowid', 0, $_POST, 'int');
|
|
|
$type = V::get('type', '', $_POST);
|
|
$type = V::get('type', '', $_POST);
|
|
@@ -956,7 +947,6 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
if ($DBG) echo "404: No field by name ({$fieldName})";
|
|
if ($DBG) echo "404: No field by name ({$fieldName})";
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- if ($DBG) echo "fieldID: {$fieldID}\n";
|
|
|
|
|
|
|
|
|
|
if (!$tblAcl->isAllowed($fieldID, 'W', $row)) {
|
|
if (!$tblAcl->isAllowed($fieldID, 'W', $row)) {
|
|
|
if ($DBG) echo " W not allowed\n";
|
|
if ($DBG) echo " W not allowed\n";
|
|
@@ -972,26 +962,19 @@ if(V::get('DBG_P', '', $_GET) > 2){echo'<pre style="max-height:200px;overflow:au
|
|
|
$sqlObj->{$fieldName} = $tblAcl->fixEmptyValueFromUser($fieldID);
|
|
$sqlObj->{$fieldName} = $tblAcl->fixEmptyValueFromUser($fieldID);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">TODO: save type ('.$type.') ID(' . $rowid . ') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($sqlObj);echo'</pre>';}
|
|
|
|
|
$sqlObj->ID = $row->ID;
|
|
$sqlObj->ID = $row->ID;
|
|
|
|
|
|
|
|
- $dbID = $tblAcl->getDB();
|
|
|
|
|
- $db = DB::getDB($dbID);
|
|
|
|
|
- if (!$db) {
|
|
|
|
|
- header('HTTP/1.0 406 Not Acceptable');
|
|
|
|
|
- exit;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
$tblName = $tblAcl->getName();
|
|
$tblName = $tblAcl->getName();
|
|
|
|
|
|
|
|
$sqlObj->ID = $rowID;
|
|
$sqlObj->ID = $rowID;
|
|
|
- if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">TODO: Save ('.$tblName.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($sqlObj);echo'</pre>';}
|
|
|
|
|
|
|
|
|
|
$allData = array();
|
|
$allData = array();
|
|
|
$allData['L_APPOITMENT_DATE'] = $sqlObj->L_APPOITMENT_DATE;
|
|
$allData['L_APPOITMENT_DATE'] = $sqlObj->L_APPOITMENT_DATE;
|
|
|
$allData['L_APPOITMENT_USER'] = $sqlObj->L_APPOITMENT_USER;
|
|
$allData['L_APPOITMENT_USER'] = $sqlObj->L_APPOITMENT_USER;
|
|
|
$allData['L_APPOITMENT_INFO'] = $sqlObj->L_APPOITMENT_INFO;
|
|
$allData['L_APPOITMENT_INFO'] = $sqlObj->L_APPOITMENT_INFO;
|
|
|
|
|
|
|
|
|
|
+ $dbID = $tblAcl->getDB();
|
|
|
|
|
+ $db = DB::getDB($dbID);
|
|
|
$ret = $db->UPDATE_OBJ($tblName, $sqlObj);
|
|
$ret = $db->UPDATE_OBJ($tblName, $sqlObj);
|
|
|
if ($ret > 0) {
|
|
if ($ret > 0) {
|
|
|
echo '<div class="alert alert-success">';
|
|
echo '<div class="alert alert-success">';
|