Piotr Labudda 6 лет назад
Родитель
Сommit
add9fffc92
1 измененных файлов с 33 добавлено и 10 удалено
  1. 33 10
      SE/se-lib/UserStorageDB.php

+ 33 - 10
SE/se-lib/UserStorageDB.php

@@ -500,22 +500,45 @@ class UserStorageDB extends UserStorageBase {
 		$sqlObj->A_STATUS = 'NORMAL';
 
 		// uniq key: (ID_ZASOB, REMOTE_ID, REMOTE_TABLE, T_TELBOX_NEIGHBOUR_IN_ID)
-		$sql = "select `ID`
+		$id = DB::getPDO()->fetchValue("
+			select `ID`
 			from `CRM_AUTH_PROFILE`
 			where `ID_ZASOB`='{$sqlObj->ID_ZASOB}'
 				and `REMOTE_TABLE`='{$sqlObj->REMOTE_TABLE}'
 				and `REMOTE_ID`='{$sqlObj->REMOTE_ID}'
 				and `T_TELBOX_NEIGHBOUR_IN_ID`='{$sqlObj->T_TELBOX_NEIGHBOUR_IN_ID}'
-		";
-		$db = DB::getDB();
-		$res = $db->query($sql);
-		if ($r = $db->fetch($res)) {
-			$sqlObj->ID = $r->ID;
-			$affected = $this->_db->UPDATE_OBJ('CRM_AUTH_PROFILE', $sqlObj);
+		");
+		if ($id > 0) {
+			$affected = DB::getPDO()->update('CRM_AUTH_PROFILE', 'ID', $id, [
+				'ID_ZASOB' => $group->zasobID,
+				'REMOTE_TABLE' => 'ADMIN_USERS',
+				'REMOTE_ID' => $usrDB->primaryKey,
+				'T_TELBOX_NEIGHBOUR_IN_ID' => $telboxID,
+				'A_STATUS' => 'NORMAL',
+				'A_RECORD_UPDATE_AUTHOR' => User::getLogin(),
+				'A_RECORD_UPDATE_DATE' => 'NOW()',
+			]);
 			if ($affected <= 0) throw new Exception("Nie udało się przypisać grupy (błąd podczas aktualizacji rekordu)");
-		}
-		else {
-			$rowID = $this->_db->ADD_NEW_OBJ('CRM_AUTH_PROFILE', $sqlObj);
+			DB::getPDO()->insert('CRM_AUTH_PROFILE_HIST', [
+				'ID_SUERS2' => $id,
+				'ID_ZASOB' => $group->zasobID,
+				'REMOTE_TABLE' => 'ADMIN_USERS',
+				'REMOTE_ID' => $usrDB->primaryKey,
+				'T_TELBOX_NEIGHBOUR_IN_ID' => $telboxID,
+				'A_STATUS' => 'NORMAL',
+				'A_RECORD_UPDATE_AUTHOR' => User::getLogin(),
+				'A_RECORD_UPDATE_DATE' => 'NOW()',
+			]);
+		} else {
+			$rowID = DB::getPDO()->insert('CRM_AUTH_PROFILE', [
+				'ID_ZASOB' => $group->zasobID,
+				'REMOTE_TABLE' => 'ADMIN_USERS',
+				'REMOTE_ID' => $usrDB->primaryKey,
+				'T_TELBOX_NEIGHBOUR_IN_ID' => $telboxID,
+				'A_STATUS' => 'NORMAL',
+				'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+				'A_RECORD_CREATE_DATE' => 'NOW()',
+			]);
 			if ($rowID <= 0) throw new Exception("Nie udało się przypisać grupy (błąd podczas tworzenia rekordu)");
 		}
 	}