Parcourir la source

fixed code style; migrate to pdo in typespecial variable

Piotr Labudda il y a 8 ans
Parent
commit
6ec2cd35ed
3 fichiers modifiés avec 237 ajouts et 279 suppressions
  1. 2 2
      SE/se-lib/TableAjax.php
  2. 3 2
      SE/se-lib/Typespecial.php
  3. 232 275
      SE/se-lib/TypespecialVariable.php

+ 2 - 2
SE/se-lib/TableAjax.php

@@ -383,8 +383,8 @@ class TableAjax extends ViewAjax {
 			.AjaxTableCont-mapEditorContainer .ui-resizable-s { background-color:#ddd; }
 			.AjaxTableCont-mapEditorContainer .ui-resizable-s:hover { background-color:#888; }
 		");
-		echo UI::h('script', ['src'=>"static/vendor.js"]);
-		echo UI::h('script', ['src'=>"static/p5UI/buildDom.js?_ts=".time()]); // TODO: DBG load js
+		echo UI::h('script', [ 'src' => "static/vendor.js" ]);
+		echo UI::h('script', [ 'src' => "static/p5UI/buildDom.js" ]);
 		$_rendered = true;
 	}
 

+ 3 - 2
SE/se-lib/Typespecial.php

@@ -1162,7 +1162,8 @@ jQuery('#typeahead-{$fName}').typeahead({
 		}
 		$sqlLimit = "limit {$sqlLimit}";
 		$sqlFrom = implode(", ", $sqlFrom);
-		$sql = "select " . implode("\n\t\t,", $sqlSelect) . "
+		$sql = "
+			select " . implode("\n\t\t,", $sqlSelect) . "
 			from {$sqlFrom}
 			where {$this->sqlQuery->where}
 				{$sqlWhereAdd}
@@ -1197,7 +1198,7 @@ jQuery('#typeahead-{$fName}').typeahead({
 				$rowsOut[] = $rowOut;
 			}
 		}
-if(V::get('DBG_TS', 0, $_GET) > 0){echo'<pre style="max-height:200px;overflow:auto;border:1px solid orange;text-align:left;">rowsOut (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rowsOut);echo'</pre>';}
+		if(V::get('DBG_TS', 0, $_GET) > 0){echo'<pre style="max-height:200px;overflow:auto;border:1px solid orange;text-align:left;">rowsOut (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rowsOut);echo'</pre>';}
 		return $rowsOut;
 	}
 

+ 232 - 275
SE/se-lib/TypespecialVariable.php

@@ -291,7 +291,7 @@ jQuery(document).ready(function(){
 		switch ($this->fldName) {
 			case 'A_ADM_COMPANY':
 			case 'A_CLASSIFIED':
-			case 'A_EXEC_GROUP':
+			case 'A_EXEC_GROUP': {
 				Lib::loadClass('UsersHelper');
 				$userName = User::getLogin();
 				$userLdapGroups = UsersHelper::getLDAPGroupByUserName($userName);
@@ -322,8 +322,8 @@ jQuery(document).ready(function(){
 						}
 					}
 				}
-				break;
-			case 'DEFAULT_ACL_GROUP':
+			} break;
+			case 'DEFAULT_ACL_GROUP': {
 				Lib::loadClass('UsersHelper');
 				$userLdapGroups = UsersHelper::getLDAPGroupsAll();
 				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">userLdapGroups (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($userLdapGroups);echo'</pre>';}
@@ -353,194 +353,167 @@ jQuery(document).ready(function(){
 						}
 					}
 				}
-				break;
-			case 'K_OD_KOGO':
-				$db = DB::getDB();
-				$OD_KOGO_ADRES_ID = 0;
-				$sql = "select z2.`ID`
+			} break;
+			case 'K_OD_KOGO': {
+				if ($strict && empty($query)) return [];
+				$OD_KOGO_ADRES_ID = DB::getPDO()->fetchValue("
+					select z2.`ID`
 					from `CRM_LISTA_ZASOBOW` as z
 						join `CRM_LISTA_ZASOBOW` as z2 on (z2.`PARENT_ID`=z.`PARENT_ID`)
 					where
 						z.`ID`='{$this->fldID}'
 						and z2.`DESC`='OD_KOGO_ADRES'
-				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$OD_KOGO_ADRES_ID = $r->ID;
-				}
-
-				$sqlLimit = 20;
+				");
+				$sqlLimit = ($strict) ? 1 : 20;
 				$query = trim($query, ' %');
-				$query = $db->_($query);
-				$sqlSearch = "k.`K_OD_KOGO` like '%{$query}%'";
-				if ($strict) {
-					if (!empty($query)) {
-						$sqlLimit = 1;
-						$sqlSearch = "k.`K_OD_KOGO`='{$query}'";
-					} else {
-						return $values;
-					}
-				}
-
-				$sql = "select k.`K_OD_KOGO`, k.`OD_KOGO_ADRES`
+				$sqlSearch = ($strict)
+				?	"k.`K_OD_KOGO` = " . DB::getPDO()->quote($query)
+				:	"k.`K_OD_KOGO` like " . DB::getPDO()->quote("%{$query}%");
+				$sql = "
+					select k.`K_OD_KOGO`, k.`OD_KOGO_ADRES`
 					from `IN7_DZIENNIK_KORESP` as k
 					where {$sqlSearch}
 					group by k.`K_OD_KOGO`
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->K_OD_KOGO, 'param_out'=>$r->K_OD_KOGO, 'exports'=>array($OD_KOGO_ADRES_ID => $r->OD_KOGO_ADRES));
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			case 'OD_KOGO_ADRES':
-				$db = DB::getDB();
+				return array_map(function ($row) use ($OD_KOGO_ADRES_ID) {
+					return (object)[
+						'id' => $row['K_OD_KOGO'],
+						'param_out' => $row['K_OD_KOGO'],
+						'exports' => [
+							$OD_KOGO_ADRES_ID => $row['OD_KOGO_ADRES'],
+						],
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
+			case 'OD_KOGO_ADRES': {
+				if ($strict && empty($query)) return [];
+				$sqlLimit = ($strict) ? 1 : 20;
 				$query = trim($query, ' %');
-				$query = $db->_($query);
-				$sqlLimit = 20;
-				$sqlSearch = "k.`OD_KOGO_ADRES` like '%{$query}%'";
-				if ($strict) {
-					if (!empty($query)) {
-						$sqlLimit = 1;
-						$sqlSearch = "k.`OD_KOGO_ADRES`='{$query}'";
-					} else {
-						return $values;
-					}
-				}
-
-				$sql = "select k.`OD_KOGO_ADRES`
+				$sqlSearch = ($strict)
+				?	"k.`OD_KOGO_ADRES` = " . DB::getPDO()->quote($query)
+				:	"k.`OD_KOGO_ADRES` like " . DB::getPDO()->quote("%{$query}%");
+				$sql = "
+					select k.`OD_KOGO_ADRES`
 					from `IN7_DZIENNIK_KORESP` as k
 					where {$sqlSearch}
 					group by k.`OD_KOGO_ADRES`
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->OD_KOGO_ADRES, 'param_out'=>$r->OD_KOGO_ADRES);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			case 'M_DISTRIBUTOR':
-				$db = DB::getDB();
+				return array_map(function ($row) {
+					return (object)[
+						'id' => $row['OD_KOGO_ADRES'],
+						'param_out' => $row['OD_KOGO_ADRES'],
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
+			case 'M_DISTRIBUTOR': {
+				if ($strict && empty($query)) return [];
+				$sqlLimit = ($strict) ? 1 : 20;
 				$query = trim($query, ' %');
-				$query = $db->_($query);
-				$sqlLimit = 20;
-				$sqlSearch = "p.`M_DISTRIBUTOR` like '%{$query}%'";
-				if ($strict) {
-					if (!empty($query)) {
-						$sqlLimit = 1;
-						$sqlSearch = "p.`M_DISTRIBUTOR`='{$query}'";
-					} else {
-						return $values;
-					}
-				}
-				$sql = "select p.`M_DISTRIBUTOR`
+				$sqlSearch = ($strict)
+				?	"p.`M_DISTRIBUTOR` = " . DB::getPDO()->quote($query)
+				:	"p.`M_DISTRIBUTOR` like " . DB::getPDO()->quote("%{$query}%");
+				$sql = "
+					select p.`M_DISTRIBUTOR`
 					from `IN7_MK_BAZA_DYSTRYBUCJI` as p
-					where p.`M_DISTRIBUTOR` like '%{$query}%'
+					where {$sqlSearch}
 					group by p.`M_DISTRIBUTOR`
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->M_DISTRIBUTOR, 'param_out'=>$r->M_DISTRIBUTOR);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
+				return array_map(function ($row) {
+					return (object)[
+						'id' => $row['M_DISTRIBUTOR'],
+						'param_out' => $row['M_DISTRIBUTOR'],
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__NESTED_GROUPS': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
 				$sqlLimit = 20;
-				$sql = "select z.`ID`, z.`DESC`, z.`TYPE`
+				$sqlLikeQuery = DB::getPDO()->quote("%{$query}%");
+				$sql = "
+					select z.`ID`, z.`DESC`, z.`TYPE`
 					from `CRM_LISTA_ZASOBOW` as z
 					where z.`A_STATUS` in('NORMAL', 'WAITING')
 						and z.`TYPE` in('STANOWISKO', 'PODMIOT', 'DZIAL')
-						and (z.`DESC` like '%{$query}%' or z.`ID` like '%{$query}%')
+						and (z.`DESC` like {$sqlLikeQuery} or z.`ID` like {$sqlLikeQuery})
 					group by z.`DESC`
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->TYPE . ' ' . $r->DESC);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => $row['ID'],
+						'param_out' => "{$row['TYPE']} {$row['DESC']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__USER_GROUPS': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
+				$sqlLikeQuery = DB::getPDO()->quote("%{$query}%");
 				$sqlLimit = 20;
-				$sql = "select z.`ID`, z.`DESC`, z.`TYPE`
+				$sql = "
+					select z.ID, z.`DESC`, z.`TYPE`
 					from `CRM_LISTA_ZASOBOW` as z
-					where z.`A_STATUS` in('NORMAL', 'WAITING')
+					where z.A_STATUS in('NORMAL', 'WAITING')
 						and z.`TYPE` in('STANOWISKO', 'PODMIOT', 'DZIAL')
-						and (z.`DESC` like '%{$query}%' or z.`ID` like '%{$query}%')
+						and (z.`DESC` like {$sqlLikeQuery} or z.ID like {$sqlLikeQuery})
 					group by z.`DESC`
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->TYPE . ' ' . $r->DESC);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => $row['ID'],
+						'param_out' => "{$row['TYPE']} {$row['DESC']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__TELBOXES': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
+				$sqlLikeQuery = DB::getPDO()->quote("%{$query}%");
 				$sqlLimit = 20;
-				$sql = "select tx.`ID`, tx.`T_TELBOX_NAME`, tx.`T_TELBOX_TYPE`
+				$sql = "
+					select tx.ID, tx.T_TELBOX_NAME, tx.T_TELBOX_TYPE
 					from `TELBOXES` as tx
 					where
-						tx.`A_STATUS`!='DELETED'
-						and (tx.`ID` like '%{$query}%' or tx.`T_TELBOX_NAME` like '%{$query}%')
+						tx.A_STATUS != 'DELETED'
+						and (tx.ID like {$sqlLikeQuery} or tx.T_TELBOX_NAME like {$sqlLikeQuery})
 					order by tx.`T_TELBOX_NAME`
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->T_TELBOX_NAME . ' ' . $r->T_TELBOX_TYPE);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => $row['ID'],
+						'param_out' => "{$row['T_TELBOX_NAME']} {$row['T_TELBOX_TYPE']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__TELBOXES_NAME': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
+				$sqlLikeQuery = DB::getPDO()->quote("%{$query}%");
 				$sqlLimit = 20;
-				$sql = "select tx.`ID`, tx.`T_TELBOX_NAME`, tx.`T_TELBOX_TYPE`
+				$sql = "
+					select tx.`ID`, tx.`T_TELBOX_NAME`, tx.`T_TELBOX_TYPE`
 					from `TELBOXES` as tx
 					where
 						tx.`A_STATUS`!='DELETED'
-						and (tx.`ID` like '%{$query}%' or tx.`T_TELBOX_NAME` like '%{$query}%')
+						and (tx.`ID` like {$sqlLikeQuery} or tx.`T_TELBOX_NAME` like {$sqlLikeQuery})
 					order by tx.`T_TELBOX_NAME`
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->T_TELBOX_NAME, 'param_out'=>$r->T_TELBOX_NAME . ' ' . $r->T_TELBOX_TYPE);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => $row['T_TELBOX_NAME'],
+						'param_out' => "{$row['T_TELBOX_NAME']} {$row['T_TELBOX_TYPE']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__DEALS_SALES_TELBOXES_NAME': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
+				$sqlLikeQuery = DB::getPDO()->quote("%{$query}%");
 				$sqlLimit = 20;
-				$sql = "select x.`id`, x.`label`
+				$sql = "
+					select x.`id`, x.`label`
 					from (
 						select d.`T_TELBOX_NEIGHBOUR_IN` as `id`
 							, d.`marka` as `label`
@@ -548,20 +521,18 @@ jQuery(document).ready(function(){
 						where d.`A_STATUS`!='DELETED'
 						group by d.`T_TELBOX_NEIGHBOUR_IN`, d.`marka`
 					) as x
-					where x.`id` like '%{$query}%' or x.`label` like '%{$query}%'
+					where x.`id` like {$sqlLikeQuery} or x.`label` like {$sqlLikeQuery}
 					order by x.`label`
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->id . ': '. $r->label, 'param_out'=>'');
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => "{$row['id']}: {$row['label']}",
+						'param_out' => '',
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__ZALICZKI_NAJEMCOW__NAJEMCA': {
-				$pdo = DB::getPDO();
 				$query = trim($query, ' %');
 				$sqlLimit = 20;
 				$sql = "select x.`id`, x.`label`
@@ -576,19 +547,17 @@ jQuery(document).ready(function(){
 					order by x.`label`
 					limit {$sqlLimit}
 				";
-				DBG::_('DBG_TS', '>2', "sql", $sql, __CLASS__, __FUNCTION__, __LINE__);
-				$sth = $pdo->prepare($sql);
+				$sth = DB::getPDO()->prepare($sql);
 				$sth->bindValue(':query_like', "%{$query}%", PDO::PARAM_STR);
 				$sth->execute();
-				$list = $sth->fetchAll();
-				foreach ($list as $item) {
-					$values[] = (object)array('id'=>$item['id'], 'param_out'=>'');
-				}
-				DBG::_('DBG_TS', '>2', "values", $values, __CLASS__, __FUNCTION__, __LINE__);
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => "{$row['id']}",
+						'param_out' => '',
+					];
+				}, $sth->fetchAll());
+			} break;
 			case '__ZASOB': {
-				$db = DB::getDB();
 				$sqlQuery = new stdClass();
 				$sqlQuery->limit = 20;
 				$sqlQuery->orderBy = "";
@@ -627,8 +596,7 @@ jQuery(document).ready(function(){
 								$sqlWord = intval($word);
 								$sqlQuery->_queryByWords[] = " ( z.`ID` like '%{$sqlWord}%' or z.`DESC` like '%{$sqlWord}%' ) ";
 							} else {
-								$sqlWord = $db->_($word);
-								$sqlQuery->_queryByWords[] = "z.`DESC` like '%{$sqlWord}%'";
+								$sqlQuery->_queryByWords[] = "z.`DESC` like " . DB::getPDO()->quote("%{$word}%");
 							}
 						}
 					}
@@ -636,8 +604,8 @@ jQuery(document).ready(function(){
 				if (!empty($sqlQuery->_queryByWords)) {
 					$sqlQuery->whereAddQueryByWords = " and (" . implode(" and ", $sqlQuery->_queryByWords) . ")";
 				}
-
-				$sql = "select z.`ID`
+				$sql = "
+					select z.`ID`
 						, {$sqlQuery->selectLabel} as `LABEL`
 						{$sqlQuery->selectAddBestFit}
 					from `CRM_LISTA_ZASOBOW` as z
@@ -647,71 +615,69 @@ jQuery(document).ready(function(){
 					{$sqlQuery->orderBy}
 					limit {$sqlQuery->limit}
 				";
-				DBG::_('DBG_TS', '>2', "sql", $sql, __CLASS__, __FUNCTION__, __LINE__);
-				$res = $db->query($sql);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->LABEL);
-				}
-				DBG::_('DBG_TS', '>2', "values", $values, __CLASS__, __FUNCTION__, __LINE__);
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => "{$row['ID']}",
+						'param_out' => "{$row['LABEL']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__PROCES': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
+				$sqlQuery = DB::getPDO()->quote("%{$query}%");
+				$sqlLikeRightQuery = DB::getPDO()->quote("{$query}%");
+				$sqlLikeBothQuery = DB::getPDO()->quote("%{$query}%");
 				$sqlLimit = 20;
 				$sqlSelectLabel = "concat(z.`TYPE`, ' ', z.`DESC`)";
 				$sqlWhereAdd = "";
-				if (is_numeric($query)) {
-					$sql = "select z.`ID`
+				$sql = (is_numeric($query))
+				?	"
+						select z.`ID`
 							, {$sqlSelectLabel} as `LABEL`
-							, IF (z.`ID`='{$query}', 1000,
-							      IF (z.`ID` like '{$query}%', 900, 100)
+							, IF (z.`ID` = {$sqlQuery}, 1000,
+							      IF (z.`ID` like {$sqlLikeRightQuery}, 900, 100)
 							     ) as _bestFit
 						from `CRM_PROCES` as z
 						where z.`A_STATUS` in('NORMAL', 'WAITING')
-							and (z.`DESC` like '%{$query}%' or z.`ID` like '%{$query}%')
+							and (z.`DESC` like {$sqlLikeBothQuery} or z.`ID` like {$sqlLikeBothQuery})
 							{$sqlWhereAdd}
 						order by _bestFit DESC
 						limit {$sqlLimit}
-					";
-				} else {
-					$sql = "select z.`ID`
+					"
+				:	"
+						select z.`ID`
 							, {$sqlSelectLabel} as `LABEL`
 						from `CRM_PROCES` as z
 						where z.`A_STATUS` in('NORMAL', 'WAITING')
-							and (z.`DESC` like '%{$query}%' or z.`ID` like '%{$query}%')
+							and (z.`DESC` like {$sqlLikeBothQuery} or z.`ID` like {$sqlLikeBothQuery})
 							{$sqlWhereAdd}
 						limit {$sqlLimit}
 					";
-				}
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->LABEL);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => "{$row['ID']}",
+						'param_out' => "{$row['LABEL']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__COMPANIES': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
+				$sqlLikeQuery = DB::getPDO()->quote("%{$query}%");
 				$sqlLimit = 20;
-				$sql = "select c.`ID`, c.`P_NAME`, c.`P_NIP`
+				$sql = "
+					select c.`ID`, c.`P_NAME`, c.`P_NIP`
 					from `COMPANIES` as c
 					where c.`A_STATUS` in('NORMAL', 'WAITING')
-						and (c.`P_NAME` like '%{$query}%' or c.`P_NIP` like '%{$query}%' or c.`ID` like '%{$query}%')
+						and (c.`P_NAME` like {$sqlLikeQuery} or c.`P_NIP` like {$sqlLikeQuery} or c.`ID` like {$sqlLikeQuery})
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->P_NAME . ' ' . $r->P_NIP);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => "{$row['ID']}",
+						'param_out' => "{$row['P_NAME']} {$row['P_NIP']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case 'VERSION_GIT': {
 				$gitPath = '/Library/Server/Web/Data/Sites/SE-production-git/';
 				$versions = array();
@@ -742,81 +708,79 @@ jQuery(document).ready(function(){
 					}
 					$values[] = (object)array('id'=>$version, 'param_out'=>$version);
 				}
-			}
+			} break;
 			case '__USER_ID': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
+				$sqlLikeQuery = DB::getPDO()->quote("%{$query}%");
 				$sqlLimit = 20;
-				$sqlSelectLabel = array();
-				$sqlSelectLabel[] = 'u.`ADM_NAME`';
-				$sqlSelectLabel[] = "' ('";
-				$sqlSelectLabel[] = 'u.`ADM_ACCOUNT`';
-				$sqlSelectLabel[] = "', '";
-				$sqlSelectLabel[] = 'u.`EMAIL`';
-				$sqlSelectLabel[] = "', '";
-				$sqlSelectLabel[] = 'u.`ADM_PHONE`';
-				$sqlSelectLabel[] = "')'";
-				$sqlSelectLabel = "concat(" . implode(", ", $sqlSelectLabel) . ")";
-
-				$sql = "select u.`ID`
+				$sqlSelectLabel = "concat(" . implode(", ", [
+					'u.`ADM_NAME`',
+					"' ('",
+						'u.`ADM_ACCOUNT`',
+						"', '",
+						'u.`EMAIL`',
+						"', '",
+						'u.`ADM_PHONE`',
+					"')'",
+				]) . ")";
+
+				$sql = "
+					select u.`ID`
 						, {$sqlSelectLabel} as `LABEL`
 					from `ADMIN_USERS` as u
 					where u.`A_STATUS` in('NORMAL', 'WAITING','MONITOR','WARNING')
 						and u.`EMPLOYEE_TYPE` in('Pracownik','Partner')
-						and (u.`ID` like '%{$query}%'
-							or u.`ADM_ACCOUNT` like '%{$query}%'
-							or u.`ADM_NAME` like '%{$query}%'
-							or u.`ADM_PHONE` like '%{$query}%'
-							or u.`EMAIL` like '%{$query}%'
+						and (u.`ID` like {$sqlLikeQuery}
+							or u.`ADM_ACCOUNT` like {$sqlLikeQuery}
+							or u.`ADM_NAME` like {$sqlLikeQuery}
+							or u.`ADM_PHONE` like {$sqlLikeQuery}
+							or u.`EMAIL` like {$sqlLikeQuery}
 						)
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->LABEL);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => "{$row['ID']}",
+						'param_out' => "{$row['LABEL']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case '__USER_LOGIN': {
-				$db = DB::getDB();
 				$query = trim($query, ' %');
-				$query = $db->_($query);
+				$sqlLikeQuery = DB::getPDO()->quote("%{$query}%");
 				$sqlLimit = 20;
-				$sqlSelectLabel = array();
-				$sqlSelectLabel[] = 'u.`ADM_NAME`';
-				$sqlSelectLabel[] = "' ('";
-				$sqlSelectLabel[] = 'u.`ADM_ACCOUNT`';
-				$sqlSelectLabel[] = "', '";
-				$sqlSelectLabel[] = 'u.`EMAIL`';
-				$sqlSelectLabel[] = "', '";
-				$sqlSelectLabel[] = 'u.`ADM_PHONE`';
-				$sqlSelectLabel[] = "')'";
-				$sqlSelectLabel = "concat(" . implode(", ", $sqlSelectLabel) . ")";
-
-				$sql = "select u.`ADM_ACCOUNT` as ID
+				$sqlSelectLabel = "concat(" . implode(", ", [
+					'u.`ADM_NAME`',
+					"' ('",
+						'u.`ADM_ACCOUNT`',
+						"', '",
+						'u.`EMAIL`',
+						"', '",
+						'u.`ADM_PHONE`',
+					"')'",
+				]) . ")";
+
+				$sql = "
+					select u.`ADM_ACCOUNT` as ID
 						, {$sqlSelectLabel} as `LABEL`
 					from `ADMIN_USERS` as u
 					where u.`A_STATUS` in('NORMAL', 'WAITING','MONITOR','WARNING')
 						and u.`EMPLOYEE_TYPE` in('Pracownik','Partner')
-						and (u.`ID` like '%{$query}%'
-							or u.`ADM_ACCOUNT` like '%{$query}%'
-							or u.`ADM_NAME` like '%{$query}%'
-							or u.`ADM_PHONE` like '%{$query}%'
-							or u.`EMAIL` like '%{$query}%'
+						and (u.`ID` like {$sqlLikeQuery}
+							or u.`ADM_ACCOUNT` like {$sqlLikeQuery}
+							or u.`ADM_NAME` like {$sqlLikeQuery}
+							or u.`ADM_PHONE` like {$sqlLikeQuery}
+							or u.`EMAIL` like {$sqlLikeQuery}
 						)
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
-					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->LABEL);
-				}
-				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				return $values;
-			}
+				return array_map(function ($row) {
+					return (object)[
+						'id' => "{$row['ID']}",
+						'param_out' => "{$row['LABEL']}",
+					];
+				}, DB::getPDO()->fetchAll($sql));
+			} break;
 			case 'L_APPOITMENT_USER': {
 				$query = trim($query, ' %');
 				$acl = User::getAcl()->getObjectAcl('default_db', 'ADMIN_USERS');
@@ -865,9 +829,9 @@ jQuery(document).ready(function(){
 			case '__CONNECTIONS': {
 				$linkTypes = array();
 				$tblLabels = array();
-				$db = DB::getDB();
 				$sqlLimit = 21;
-				$sql = "select l.*
+				$sql = "
+					select l.*
 					from `ITEM_LINKS` as l
 					where l.`A_STATUS` in('NORMAL', 'WAITING')
 						and (
@@ -878,9 +842,8 @@ jQuery(document).ready(function(){
 						and l.`LINKS_TYPE_ID`>1
 					limit {$sqlLimit}
 				";
-				if(V::get('DBG_TS', 0, $_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);
-				while ($r = $db->fetch($res)) {
+				foreach (DB::getPDO()->fetchAll($sql) as $row) {
+					$r = (object)$row;
 					$connObj = new stdClass();
 					if ($r->TABLE_1_ZASOB_ID == $tblId && $r->TABLE_1_ID == $rowId) {
 						$connObj->ext_tbl_id = $r->TABLE_2_ZASOB_ID;
@@ -901,45 +864,39 @@ jQuery(document).ready(function(){
 						$retData->items[] = $connObj;
 					}
 				}
-
 				if (!empty($linkTypes)) {
-					$sql = "select lt.`ID`, lt.`NAME`
+					$sql = "
+						select lt.`ID`, lt.`NAME`
 						from `ITEM_LINK_TYPES` as lt
 						where lt.`ID` in (" . implode(", ", array_keys($linkTypes)) . ")
 					";
-					$res = $db->query($sql);
-					while ($r = $db->fetch($res)) {
-						$linkTypes[$r->ID] = $r->NAME;
+					foreach (DB::getPDO()->fetchAll($sql) as $row) {
+						$linkTypes[ $row['ID'] ] = $row['NAME'];
 					}
 				}
-
 				if (!empty($tblLabels)) {
-					$sql = "select z.`ID`, z.`DESC`, z.`DESC_PL`, z.`OPIS`
+					$sql = "
+						select z.`ID`, z.`DESC`, z.`DESC_PL`, z.`OPIS`
 						from `CRM_LISTA_ZASOBOW` as z
 						where z.`ID` in (" . implode(", ", array_keys($tblLabels)) . ")
 					";
-					$res = $db->query($sql);
-					while ($r = $db->fetch($res)) {
-						if (!empty($r->DESC_PL)) {
-							$tblLabels[$r->ID] = $r->DESC_PL;
-						} else if (!empty($r->OPIS)) {
-							$tblLabels[$r->ID] = V::strShortUtf8($r->OPIS, 20);
+					foreach (DB::getPDO()->fetchAll($sql) as $row) {
+						if (!empty($row['DESC_PL'])) {
+							$tblLabels[ $row['ID'] ] = $row['DESC_PL'];
+						} else if (!empty($row['OPIS'])) {
+							$tblLabels[ $row['ID'] ] = V::strShortUtf8($row['OPIS'], 20);
 						} else {
-							$tblLabels[$r->ID] = $r->DESC;
+							$tblLabels[ $row['ID'] ] = $row['DESC'];
 						}
 					}
 				}
-
 				foreach ($retData->items as $k => $connObj) {
 					$connObj->link_type = V::get($connObj->link_type_id, $connObj->link_type_id, $linkTypes);
 					$connObj->tbl_label = V::get($connObj->ext_tbl_id, $connObj->ext_tbl_id, $tblLabels);
 				}
-
 				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">retData->items('.count($retData->items).') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($retData->items);echo'</pre>';}
-
 				return $retData;
-				break;
-			}
+			} break;
 			default:
 		}