Những năm 1990 của thế kỷ trước, sân vận động Cột Cờ là cái tên quen thuộc đối với bất kỳ người Việt nào yêu bóng đá. Dù không ở Hà Nội hay nhà chẳng có TV, mỗi chiều Chủ Nhật, họ đều có thể nghe những thanh âm văng vẳng trên sóng phát thanh, qua giọng bình luận của hai BLV Hoài Sơn – Đình Khải: “Chào mừng các bạn đến với sân vận động Cột Cờ (Hà Nội) để theo dõi trận đấu giữa hai đội bóng…”.
Có sức chứa khoảng 6.000 người, nơi đây gắn liền với lịch sử 70 năm của Thể Công – câu lạc bộ nhiều thành tích bậc nhất của bóng đá Việt Nam. Trong những thước phim huy hoàng của đội bóng quân đội, không thể không có sự xuất hiện của Thạch Bảo Khanh – chàng tiền vệ từng được coi là “cơn lốc”, “ngòi nổ”, “người làm sôi động cầu trường Cột Cờ Hà Nội”.
Nội Dung: Ma Yến – Cao Oanh
Media: Cao Oanh – NVCC
Thiết kế: Việt Anh
Tại sân vận động Cột Cờ, hơn 20 năm trước, anh đã bắt đầu những giấc mơ đầu tiên với trái bóng. Tới giờ này, khi trải qua không ít thăng trầm, với anh, hai từ Thể Công có còn thiêng liêng và đặc biệt?
– Thể Công trong tôi luôn luôn là máu thịt, cũng là những tháng ngày đẹp đẽ nhất của tuổi trẻ. Nhờ có đội bóng này, tôi toại nguyện giấc mơ của bản thân, cũng trở thành niềm tự hào của cả gia đình. Trong hơn 20 năm theo nghiệp “quần đùi áo số”, kể từ khi được đào tạo đến khi chia tay Thể Công, trở thành HLV, vinh quang có, thất bại có, nhưng tôi luôn tự hào khi mình đã là một “viên gạch” nhỏ trong tượng đài lớn. Nhỏ thôi, nhưng thế là tuyệt vời rồi, bởi mình đã được sống với tất cả những gì mình đam mê và khao khát.
Thể Công có một hàng công “đáng sợ” Nguyễn Hồng Sơn, Triệu Quang Hà, Trương Việt Hoàng, Đặng Phương Nam và bổ sung “cơn lốc đường biên” Thạch Bảo Khanh. Khi ấy anh là cầu thủ trẻ, có lo giẫm chân đàn anh hay có tranh cãi, bất đồng nào không?
– Chúng tôi không có bất đồng bởi “ăn tập” với nhau một chặng đường dài. Cách chơi bóng của Thể Công khi ấy tạo thành một quy trình nhuần nhuyễn, đá bóng như đã lập trình, đến mức khi xem lại, chúng tôi cũng không thấy có gì để phải tranh luận.
Ví dụ anh Hồng Sơn là cầu thủ khéo léo, đá khu vực nhỏ, chuyền bóng tốt, sáng tạo trong khả năng chơi. Anh Hoàng thì giật gót, sút tốt bằng hai chân, tôi có khả năng chơi tốc độ, mạnh mẽ, không ngại va chạm. Tất cả những người trong đội đều hiểu rằng anh Hoàng, anh Sơn và tôi đá như thế, họ sẽ phải tiếp tục phối hợp với ai. Chúng tôi cứ như vậy mà ra sân thôi.
HLV Thạch Bảo Khanh chia sẻ với PV Dân Việt.
Cùng đồng đội, anh đã giành ngôi vô địch Giải bóng đá Hạng Nhất quốc gia 1998 (tức giải bóng đá Vô địch quốc gia hiện tại), để lại trong ký ức người yêu bóng đá hàng loạt trận cầu cảm xúc. Thế nhưng, vào năm 2004, Thể Công lần đầu tiên xuống hạng. Dù nhận danh hiệu Quả bóng Bạc năm đó, cảm xúc của anh có mâu thuẫn?
– Đó là một nốt trầm với toàn đội bóng, nhưng là nốt trầm cần thiết cho những sự trỗi dậy mạnh mẽ về sau đó. Thời điểm ấy, do những quy định của ngành, Thể Công chỉ bao gồm các cầu thủ nội, không có sự góp sức của ngoại binh. Việc xuống hạng là dấu mốc để Thể Công làm lại, đi theo xu thế, quy luật chung của bóng đá. Đó là sự cạnh tranh về mặt thể thao, thể chất, cũng là yếu tố đóng góp vào sự phát triển của V-League.
Anh vừa nói đến quy luật của sự phát triển, thế nhưng, dường như quy luật ấy cũng mang lại không ít mất mát. Trước đây, những người hâm mộ như chúng tôi thường truyền nhau câu nói: “Một lần Thể Công, mãi mãi Thể Công”, các cầu thủ gắn bó với đội bóng một thời gian dài, thậm chí toàn bộ sự nghiệp. Nhưng dường như hiện tại, những nét văn hóa truyền thống ấy đã dần mai một?
– Hãy nhìn nhận một cách tích cực, những thay đổi theo quy luật đa phần làm mọi thứ tốt lên, tiến bộ hơn, trong bóng đá cũng vậy. Sự gắn bó của người hâm mộ với Thể Công là kết quả của một hành trình dài lịch sử, có sự bồi đắp của nhiều thế hệ. Cùng với nhiệm vụ chính trị, những cầu thủ phục vụ trong quân đội đã tự nhiên nhận được sự yêu mến của mọi người, đặc biệt là thế hệ cổ động viên lớn tuổi.
Hiện tại, đương nhiên mọi thứ phần nào chững lại. Để lấy lại cái tên Thể Công và tình yêu như trước, cần có thời gian để các cầu thủ khẳng định mình, thấm nhuần tư tưởng, màu cờ sắc áo. Cũng nên xác định việc có cầu thủ ngoại, chuyển nhượng cầu thủ theo xu hướng chung là điều tích cực. Nhờ thị trường chuyển nhượng, thu nhập của các bạn trẻ tốt hơn nhiều, họ cũng có cơ hội tìm cho mình đội bóng hay hơn, hoặc đội bóng phù hợp.
Cuối tháng 9/2009, Thể Công từng xóa tên. Đội bóng giàu truyền thống nhất Việt Nam sau đó mang tên Viettel, để rồi cái tên này chỉ tồn tại tới ngày 7/11 sau khi Thanh Hóa hoàn tất việc mua lại suất dự V-League. Khi ấy, tôi nhớ anh từng chia sẻ: Thời gian đó anh chơi cho Thể Công vì tình cảm chứ không còn nhiệt huyết?
– Đón nhận quyết định chuyển giao CLB Thể Công cho Thanh Hóa từ lãnh đạo, tôi đã sốc. Trước đó, gần như tất cả những cầu thủ Thể Công (trong đó có tôi) đều vẫn nghĩ mình sẽ cống hiến cho đội bóng này cho đến khi hết sự nghiệp “quần đùi áo số”. Gắn bó với đội bóng từ những ngày niên thiếu, lúc đó đã 30 tuổi, trong tôi không tránh khỏi những bỡ ngỡ và hụt hẫng.
Thế nhưng, về tới Thanh Hóa, tôi vẫn hoàn thành hết nghĩa vụ và trách nhiệm của mình, cùng đội giành Siêu Cúp quốc gia năm 2009. Khi quen với giai đoạn mới rồi, tôi xác định được rõ mình là cầu thủ chuyên nghiệp, môi trường nào cũng phải đá, cứ được đá đã là một hạnh phúc.
Gắn bó một chặng đường dài với giải vô địch bóng đá quốc gia ở cả vai trò HLV và cầu thủ, anh nhận định thế nào về chất lượng của V-League hiện tại?
– Rất khó để đưa ra một nhận định chính xác về vấn đề này. Đương nhiên, từ những năm 2010 tới giờ, các câu lạc bộ đã có sự phát triển về trình độ, khả năng đào tạo, huấn luyện, việc áp dụng những kiến thức mới mẻ của bóng đá thế giới… Công tác tập luyện cũng nhỉnh hơn thế hệ chúng tôi ngày trước, khi các cầu thủ được học hỏi qua hình ảnh trực quan từ các giải đấu quốc tế hàng tuần, thậm chí hàng ngày… Họ có thể đánh giá, nhận định, tự rút ra kinh nghệm cho mình tốt hơn nhiều so với thế hệ chúng tôi ngày trước.
Thế nhưng, rõ ràng V-League là nền tảng của cả nền bóng đá. So sánh trong khu vực Đông Nam Á, khi đặt cạnh với Thai League của Thái Lan, chúng ta vẫn kém họ rất nhiều, kể cả về tổ chức giải đấu cũng như tổ chức CLB.
Câu chuyện giải V-League kém hơn Thai League đã được nhắc lại nhiều lần trong hàng chục năm qua, nhưng tới hiện tại chúng ta vẫn chưa thể san bằng khoảng cách. Từ thực tế có phần buồn bã này, có khi nào anh nghĩ cơ hội đi xa hơn, cụ thể như việc chạm tay tới World Cup của bóng đá Việt Nam là giấc mơ quá đỗi xa vời?
– Đã là ước mơ thì cứ mơ, đâu ai đánh thuế? Đương nhiên từ mơ tới làm là hai chuyện rất xa, nhưng muốn làm được thì phải dám mơ trước đã! Dấu mốc của đội tuyển U23 tại Thường Châu, việc lọt vào vòng 2 Vòng loại World Cup cho thấy việc “vươn ra biển lớn” là điều có thể, chúng ta cũng có nền tảng để ước mơ mà.
Nền bóng đá nào cũng có lúc thăng, lúc trầm. ĐT Đức từng thống trị châu Âu, nhưng có thời điểm họ cũng chững lại, sa sút về thành tích. Tôi nghĩ bóng đá Việt Nam có thuận lợi lớn nhất là mọi người luôn yêu mến, ủng hộ. Đó đã là một điểm tựa vững chãi để phát triển, để tiến dần lên phía trước mà không phải quốc gia nào cũng có được.
Trên các diễn đàn, không ít người cho rằng thành tích thiếu ấn tượng của bóng đá Việt Nam thời gian gần đây là bởi các cầu thủ đã có thành tích, điều kiện sống dư dả, có xu hướng mãn nguyện về điều đó. Anh có nghĩ quan điểm này đúng?
– Tôi không cho như vậy. Thứ nhất, việc đá cho đội tuyển quốc gia không chỉ mang lại vinh dự mà còn giúp các cầu thủ hiện nay có thêm thu nhập từ những hợp đồng quảng cáo. Các bạn ấy hoàn toàn nhìn thấy được điều này để phấn đấu. Thứ 2, cảm xúc khi được gọi lên tuyển rất đặc biệt, ở tuổi 30 cũng như 19, tôi tin chắc bất kỳ ai cũng buồn khi bỗng nhiên mình vắng tên trong danh sách triệu tập.
Môi trường bóng đá chuyên nghiệp đòi hỏi sự luyện tập khắc nghiệt, những người dễ thỏa mãn đã phải dừng chân từ rất lâu rồi, không thể vào tới danh sách của ĐTQG được đâu.
Có rất nhiều câu chuyện khác nhau về bầu Hiển. Với anh, ông là người thế nào?
– Tôi tôn trọng và quý mến chú, kể cả khi không còn thi đấu cho đội Hà Nội T & T (nay là Hà Nội FC – PV) nữa.
Cử chỉ nào của bầu Hiển dành cho anh khiến anh vẫn ghi nhớ tới hiện tại?
– Thời điểm tôi đang thi đấu tại Thanh Hóa, chính chú là người gọi cho tôi. Chú nói: “Chú rất trân trọng khả năng, tài năng của cháu, những đóng góp của cháu cho Thể Công. Chú mong cháu đồng ý chuyển về chơi cho Hà Nội”.
Nhận lời chú và chuyển về với đội bóng Thủ đô, tôi thấy chú xây dựng được một không khí rất gần gũi, gắn kết, vào sân anh em đều thi đấu hết mình. Cách bầu Hiển quý trọng người tài khiến các cầu thủ yên tâm khi chơi bóng. Không đơn thuần là vấn đề tài chính, đó còn là sự tôn vinh nghề nghiệp, cách ứng xử trong công việc và cuộc sống.
Tôi thi đấu cho Hà Nội T&T đến năm 2014, đoạt 2 siêu Cúp Quốc gia, 1 chức vô địch V.League. Năm cuối khoác áo Hà Nội T&T, tôi được tạo điều kiện quy hoạch trở thành huấn luyện viên của đội.
Anh có nghĩ V-League chưa phát triển tốt hơn nữa là do vẫn còn ít những ông bầu thực sự yêu và đầu tư cho bóng đá, qua đó tạo động lực cho các cầu thủ cống hiến như vậy?
– Thật khó nói về điều này, khi đầu tư vào bóng đá, mỗi người đều có mục đích khác nhau. Tuy nhiên, nhìn lại chặng đường mình đi, tôi cảm thấy mình may mắn khi làm việc ở Hà Nội FC, gặp ông chủ yêu và hiểu về bóng đá.
Tôi kết thúc sự nghiệp trong viên mãn, được tạo điều kiện để đi học về huấn luyện, sau đó cũng được anh đề xuất ở lại. Tôi đã ở lại đây 3 năm, đào tạo thế hệ những năm 2017. Hiện các cháu vẫn đang chơi chuyên nghiệp, sống với nghề bằng khả năng của mình.
Không ít đồng nghiệp của anh gần đây cho ra hồi ký về bóng đá cũng như chặng đường cống hiến cho đội tuyển quốc gia, anh có đọc những cuốn sách này?
– Tôi có đọc một số hồi ký của các cầu thủ nước ngoài, tuy vậy thú thật chưa từng đọc sách của cầu thủ Việt Nam.
Trong hồi ký của một danh thủ cùng thời kỳ với anh, bức tranh về đội tuyển bóng đá Việt Nam khi ấy hiện lên khá ảm đạm. Tại một số trận đấu, dàn hậu vệ gần như không phối hợp với tuyến trên, khiến cầu thủ không có bóng. Trong đội cũng có sự mẫu thuẫn giữa người này với người khác. Là người trong cuộc, anh có chứng kiến điều đó?
– Tôi thì không thấy như vậy. Thêm nữa, trong bóng đá, việc chuyền hay không chuyền không thể đánh giá được toàn bộ vấn đề. Đứng trước quả bóng, các cầu thủ có nhiều lựa chọn theo cách mà họ cho là tối ưu nhất.
Anh từng vướng chấn thương vào năm 1998, ngay khi vừa được gọi lên ĐTQG. Thời gian ngôi ngoài sân kéo dài hơn 2 năm – với anh có nhiều u ám?
– Lúc đó tôi buồn lắm, vừa có chút cơ hội đã bị tước đi, nhưng nghĩ lại, đó là một khoảng thời gian quý giá. Tôi vẫn nhớ mình là một trong những bệnh nhân đầu tiên của Bệnh viện Thể thao, bác sĩ là người Đức. Do điều kiện y tế và phục hồi tại Việt Nam, quá trình cũng kéo dài rất lâu. Sau hơn 2 năm, tôi mới có thể trở lại sân cỏ.
Hồi đó, chấn thương tôi gặp phải là hy hữu, rất ít người gặp. Đó là một dạng đứt dây chằng, chấn thương như giả vờ, khi mình chạy không sao, vào thi đấu lại đau trở lại. Không có bác sĩ chuyên sâu, tôi phải tự tập và mày mò, kiên trì mỗi ngày để mình không để béo phì, không bị chán nản và chú trọng sinh hoạt điều độ.
Ý thức được thể lực đi xuống, tôi nỗ lực bằng ý chí, ngày nào cũng tự dặn lòng: “Mày không được bỏ cuộc”! Lúc đó, tôi chỉ nghĩ làm sao theo được đội đã, không dám nghĩ tới việc đi bao lâu, đi tới đâu. Thế rồi dần dần, chân không đau nữa, tôi đá lại, tìm được phong độ cũ. Ngay khi trở lại tại giải Vô địch Quốc gia, tôi đã giành danh hiệu Cầu thủ xuất sắc nhất năm đó.
Tôi còn nghe nói anh tìm trung tâm để đi học tiếng Anh trong giai đoạn chấn thương?
– Đúng vậy! Tôi rất thích học ngoại ngữ. Chấn thương tuy buồn bã, nhưng cũng là cơ hội để mình có thời gian trau dồi kiến thức, đọc sách và học hỏi những gì mình còn thiếu. Trước đó, do mải mê với trái bóng tròn, tôi chưa có thời gian thực hiện. Tôi đến Trung tâm, bắt đầu học từng chữ tiếng Anh theo giáo trình. Tôi cũng sắm chiếc máy tính đầu tiên cho mình, lọ mọ tìm hiểu về công nghệ. Từ thời gian này, tôi nhìn thấy rõ hơn về con đường mình đang đi, biết lắng lại để không vấp phải những sai lầm. Cũng bởi vậy, như đã nói ở trên, quãng thời gian này thật ra lại là điều may mắn
Từ cầu thủ lên HLV, anh có gặp nhiều bỡ ngỡ để làm quen với cương vị mới?
– Đương nhiên sẽ mất thời gian làm quen, nhưng trước đó tôi đã có sự chuẩn bị. Ngay khi đá cho Hà Nội T&T, tôi đã xin phép cấp trên cho mình mở một trung tâm bóng đá mang tên Dream Football, vừa chơi bóng, vừa huấn luyện và thuê người về huấn luyện. Trung tâm cho tôi những kinh nghiệm đầu tiên, cứ như vậy mình từ từ học hỏi thêm, trau dồi kiến thức từ thực tế.
Anh có nói mình đọc và nghiên cứu khá nhiều kiến thức về bóng đá nước ngoài. Phong cách huấn luyện của anh có bị ảnh hưởng bởi ai khác?
– Hoàn toàn không. Tôi chỉ tổng hợp những gì tốt nhất của các HLV, xu hướng chơi bóng hiện đại. Nếu như trước đây, chiến thuật bóng đá với chúng tôi chỉ có kỹ thuật, chiến thuật, thể lực, tấn công… Giờ thì khác, rất nhiều thứ mở rộng. Bóng đá nhanh hơn, bóng “chết” ít, các tình huống diễn ra không cho phép cầu thủ suy nghĩ nhiều trước khi quyết định.
Mỗi mùa giải, các HLV đều gặp áp lực thường xuyên bởi những sức ép về thành tích của đội bóng. Nhiều trận đấu cầu thủ ra sân không như ý đồ, chiến thuật HLV đã sắp xếp trước đó. Anh đối mặt với những khó khăn đó như thế nào?
– Áp lực có nhiều, nhưng khi áp lực trở thành động lực – đó sẽ là điều kiện thúc đẩy công việc mình yêu thích. Để giảm bớt những áp lực và sai số, tôi cố gắng chuẩn bị tốt và lên kế hoạch mọi thứ. Khi mình đã tổ chức, đã nghiên cứu, tự nhiên mình sẽ thấy vững tâm hơn.
Việc các cầu thủ không giữ phong độ trên sân như HLV mong muốn là điều rất bình thường. Trong đời cầu thủ, tôi cũng có không ít trận như vậy. Quan trọng là mình phải phân tích yếu tố đó, có câu trả lời, đưa ra phương án sửa chữa.
Theo anh, HLV có thể ảnh hưởng bao nhiêu % đến thành tích của đội bóng?
– Trong công tác huấn luyện bóng đá, hoàn toàn không có đúng sai, chỉ có hai khía cạnh: Phù hợp hay không phù hợp. Khi HLV phù hợp với một đội bóng thì đơn giản rồi, thành tích cao, mọi việc diễn ra suôn sẻ thuận lợi. Nếu đội bóng thất bại, mình cũng cần rút ra được kinh nghiệm cho nghề nghiệp của mình. Việc thất bại giúp ta học được nhiều hơn so với thành công.
Trên sân bóng, dù trong vai trò cầu thủ hay vị trí HLV, anh đều thể hiện sự năng nổ, nhiệt huyết và quyết đoán. Ngoài đời, dường như Thạch Bảo Khanh có vẻ tĩnh lặng hơn?
– Đúng vậy! Khi đã dành hết tâm huyết và năng lượng cho công việc trên sân cỏ, ra ngoài đời, tự nhiên tôi không còn nhu cầu ồn ào nữa. Tôi sống nội tâm, khá kỷ luật, sáng sáng thường qua khu vực gần sân vận động Cột Cờ uống café, bắt đầu một ngày mới. Theo truyền thống gia đình, tôi cũng thích thú với việc kinh doanh, thường dành thời gian nghiên cứu lĩnh vực này.
Những lúc rảnh, tôi chơi cá Koi và cũng có một hồ cá Koi trong nhà. Ngoài ra tôi còn có sở thích về công nghệ. Rảnh rỗi tôi ngồi một mình lọ mọ khám phá các phần mềm, tạo ra cho mình những sản phẩm hữu ích.
Cảm ơn chia sẻ của anh!
Cựu danh thủ, HLV Thạch Bảo Khanh sinh năm 1979 tại Tây Hồ (Hà Nội). Anh trưởng thành từ CLB Thể Công, tiền thân của Thể Công Viettel. Năm 1998, Thạch Bảo Khanh lên đội 1 của Thể Công và có 11 năm thi đấu trước khi sang Thanh Hóa và Hà Nội T&T (nay là Hà Nội FC). Cựu danh thủ giành hai chức vô địch V-League 1998 và 2013, một Siêu Cup quốc gia 2009. Ở cấp độ đội tuyển quốc gia, Thạch Bảo Khanh nằm trong đội hình vô địch AFF Cup 2008.
CLB chuyên nghiệp đầu tiên anh gia nhập trên cương vị HLV là Công an Nhân dân (nay là Công an Hà Nội), giúp đội vô địch hạng Nhất 2022 và thăng hạng lên V-League. Tháng 12/2022, HLV Thạch Bảo Khanh dẫn dắt CLB Viettel. Anh đã giúp đội nhà cán đích thứ ba V-League và giành ngôi Á quân Cup Quốc gia 2023 trước khi chấm dứt hợp đồng.
if (!isNotAllow3rd) { loadJsDefer('https://apis.google.com/js/platform.js?onload=onLoadGapi'); loadJsDefer('https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v5.0'); }
function onLoadGapi() { gapi.load('auth2', function() { gapi.load('auth2', function() { gapi.auth2.init({ client_id: '678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com', scope: 'email profile', fetch_basic_profile: true }); }); }); }
function deleteCookie(name) { document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; } function lgGetCookie(name) { var value = document.cookie; var start = value.indexOf(" " + name + "="); if (start == -1) { start = value.indexOf(name + "="); } if (start == -1) { value = null; } else { start = value.indexOf("=", start) + 1; var end = value.indexOf(";", start); if (end == -1) { end = value.length; } value = unescape(value.substring(start, end)); } return value; }
function lgSetCookie(name, value, date) { var cookieValue = escape(value) + ((date == null) ? "" : "; expires=" + date.toUTCString()); document.cookie = name + "=" + cookieValue; }
function authLogin(name,isLogin=false){ if (isLogin){ $('#top-link-account .first').hide(); $('#top-link-account .second').html(`${name} | Đăng xuất`); $('#top-link-account .second').attr('data-out',1);
$("#cmt-account-header .tabs .close, #cmt-account .tabs .close") .click(); $('.comment-account').html(`
Xin chào ${name}! Đăng xuất
`); }else { if (window.confirm("Bạn muốn đăng xuất?")) { var el = $("#top-link-account"); // //el.find("a.first").html("") // // .removeAttr("style"); el.find(".first").show(); el.find("a.second").html(""); el.find("a.second").removeAttr("data-out");
$('.comment-account').html(`
`);
deleteCookie('my_dv'); $("#_btn_logout").click(); } } }
function logout(){ if (window.confirm("Bạn muốn đăng xuất?")) { var el = $("#top-link-account"); // //el.find("a.first").html("") // // .removeAttr("style"); el.find(".first").show(); el.find("a.second").html(""); el.find("a.second").attr("data-out", "0");
$('.comment-account').html(`
`); deleteCookie('my_dv'); $("#_btn_logout").click(); } } function login(){ $("#_btn_logout").click(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); } function register(){ $("#_btn_logout").click(); $('[data-target="signup"]').click(); fnCaptcha(); }
var aspCookie = null;
(runinit = window.runinit || []).push(function() {
if(lgGetCookie('my_dv')){ var user = JSON.parse(lgGetCookie('my_dv')); if(user.name){ authLogin(user.name, true); } }
$('.btn-refresh').click(function() { fnCaptcha(); }); $('.iconew-eye').click(function() { $(this).toggleClass('closed'); var x = $(this).siblings('input')[0]; if (x.type === "password") { x.type = "text"; } else { x.type = "password"; } });
function stripHtml(html) { var temporalDivElement = document.createElement("div"); temporalDivElement.innerHTML = html; return temporalDivElement.textContent || temporalDivElement.innerText || ""; }
// --------------------- User account // 1. Hide login/logout button -> in case API doesn't available, login/logout will not show + Init OAuth_v2 //$("#top-link-account").hide(); if (typeof gapi != "undefined") { //window._cnnd.oauth.init(); console.log("login not available"); } // 2. Remove excessive login/register form -> only 1 form available // no need // 3. Callback functions var fnPopupAction = function(id, alert, loginData) { id = id.toLowerCase(); if (id == "close") { $("#cmt-account-header .close").click(); return; } if (id == "info" && !window._isShowingInfo) { $("#cmt-account-header .close").click(); return; } window._isShowingInfo = false; if (loginData) { $("#cmt-account-header [data-target]").hide(); $("#cmt-account-header [data-target].logged-in").show().first().click(); $("#cmt-account-header [data-info-name]").html(loginData.name || "Quý vị"); $("#cmt-account-header [data-info-email]").html(loginData.email || "<không xác định>"); } else { $("#cmt-account-header [data-target]").hide(); $("#cmt-account-header [data-target].not-login").show().first().click(); $("#cmt-account-social").show(); } setTimeout(function() { $("#cmt-account-header > .wrapper").css("animation", "none"); }, 200); $("#cmt-account-header").show(); $("#cmt-account-header input[type="password"]").val(""); $("#cmt-account-header [data-target="" + id + ""]").click(); $("body").css("overflow", "hidden"); $("#nav").removeClass("active"); $("#cmt_alert").html(alert || "Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }; var accountMessageProcess = function(data) { if (data.isLogged) { fnPopupAction("info", "Vui lòng đăng nhập hoặc đăng ký để gửi bình luận", { name: data.name, email: data.email }); } else { fnPopupAction(data.act, data.alert || "Vui lòng đăng nhập hoặc đăng ký"); if (data.act == "close" && data.raw.Data && data.raw.Data.Approved) { //window.alert("Đăng nhập thành công"); fnPopupAction("info", "Đăng nhập thành công", { name: data.raw.Data.Name, email: $("#_login_email").val() || $("#_sign_email").val() }); } } };
// 5. Action functions -> bind event to form elements
var fnPopupBindAction = function() { // Tab $("#cmt-account-header [data-target]").on('click', function() { $("#cmt-account-header [data-target], #cmt-account-header [data-tab]").removeClass( "active"); $(this).addClass("active"); var tab = $("#cmt-account-header [data-tab='" + $(this).attr("data-target") + "']"); tab.addClass("active") .find("input[type="text"], input[type="email"]").first().focus(); tab.find("input").keyup(function(event) { if (event.keyCode === 13) { tab.find(".btn.clickable").click(); } }); fnCaptcha(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }); $("#cmt-account-header .close").on('click', function() { $("#cmt-account-header").hide(); $("#cmt-account-header > .wrap").removeAttr("style"); $("body").css("overflow", "unset"); fnCaptcha(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }); // Reload Captcha // $("#_reload_captcha").on('click', function () { // fnCaptcha(); // }); // Btn Login
$("#comment-frame").on('click','#btn_login', function () { $("#top-link-account .first").click(); }); $("#comment-frame").on('click','#btn_signup', function () { $("#top-link-account .first").click(); $('[data-target="signup"]').click(); });
$("#_btn_login").on('click', function() { $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); var email, password; email = $("#_login_email").val(); password = $("#_login_password").val(); if (!/^[a-z0-9-_\.]+[@][0-9a-z-]+(\.[0-9a-z-]+)+$/ig.test(email) || password .length < 8) { $("#cmt_alert").html("Email hoặc mật khẩu không đúng!"); return; } $.ajax({ url: pageSettings.DomainApiComment + "/api/get-usercomment.htm", data: { email: encodeURI(email), password: password, sitename: pageSettings.commentSiteName, }, type: "get", success: function (res){ if (res && res.data == true){ var user = { email: email, name: email.substring(0, email.indexOf('@')), } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }else { $("#cmt_alert").html("Có lỗi phát sinh, vui lòng thử lại sau"); } } }); }); // Btn Signup $("#_btn_sign").on('click', function() { $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); var email, name, password, repassword, captcha; email = $("#_sign_email").val(); name = $("#_sign_name").val(); if (name == ''){ name = email.split('@')[0]; } password = $("#_sign_password").val(); //repassword = $("#_sign_repassword").val(); captcha = $("#_sign_captcha").val(); var format = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/g; if (!/^[a-z0-9-_\.]+[@][0-9a-z-]+(\.[0-9a-z-]+)+$/ig.test(email)) { $("#cmt_alert").html("Email không hợp lệ"); return; } //if (name.length <= 0) { // $("#cmt_alert").html("Vui lòng nhập họ tên của bạn!"); // return; //} //if (name.length > 20) { // $("#cmt_alert").html("Họ tên không được quá 20 ký tự (Có thể để nickname thay thế)!"); // return; //} //if (format.test(name)) { // $("#cmt_alert").html("Tên không được chứa ký tự đặc biệt!"); // return; //} if (password.length < 8) { $("#cmt_alert").html( "Mật khẩu phải có ít nhất 8 ký tự, chứa ít nhất 1 chữ số và 1 chữ cái"); return; } //if (password != repassword) { // $("#cmt_alert").html("Mật khẩu xác nhận lại không khớp!"); // return; //} if (!(/[a-z]/ig.test(password) && /[0-9]/ig.test(password))) { $("#cmt_alert").html("Mật khẩu phải chứa ít nhất 1 chữ số và 1 chữ cái"); return; } if (captcha.length <= 0) { $("#cmt_alert").html("Vui lòng điền mã xác nhận trong ảnh!"); return; } $.ajax({ type: 'POST', url: pageSettings.DomainApiComment + "/api/insert-usercomment.htm", data: { name: name, email: email, password: password, captcha: captcha, sitename: pageSettings.commentSiteName }, success: function (res){ if (res && res.message == "Success"){ var user = { email: email, name: email.split('@')[0], } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); $("#cmt-account-header .close").click(); }else { $("#cmt_alert").html("Có lỗi phát sinh, vui lòng thử lại sau"); } } }); }); // Btn logout $("#_btn_logout").on('click', function() { $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); $("#cmt-account-header .close").click(); fnPopupAction("login", "Bạn đã đăng xuất thành công"); var el = $("#top-link-account"); //el.find("a.first").html("") // .removeAttr("style"); el.find("a.first").show(); el.find("a.second").html(""); $("#cmt-account-social").show(); }); // Header login/account_info
// Header login/account_info $("#top-link-account .first").on('click', function() { if ($("#top-link-account .second").attr("data-out")) { $("#top-link-account .second").toggleClass("show"); } else { fnPopupAction("login"); } }); // Btn register/log_out $("#top-link-account .second").on('click', function() { if ($("#top-link-account .second").attr("data-out")) { //$("#_btn_logout").click();
authLogin('my_dv',false);
} else { fnPopupAction('signup'); }
//var el = $("#top-link-account"); //el.find("a.first").html("") // .removeAttr("style"); //el.find("a.second").html(""); }); }; fnPopupBindAction();
//login Facebook var otherLogin = { init: function() { var me = this; //gapi.load('auth2', function () { // gapi.auth2.init({ // client_id: '678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com', // scope: 'email profile', // fetch_basic_profile: true // }); //}); $("#cmt-account-social button[data-type]").on('click', function() { me[$(this).attr("data-type")](function(response) { $("#cmt-account-header .tabs .close, #cmt-account .tabs .close") .click(); }); }); try { fbClient.appId = '1304555827613749'; //'211029740744825'; fbClient.version = "v14.0"; fbClient.init(); setTimeout(FB.AppEvents.logPageView, 5000); } catch (e) { // ignore } }, loginFacebook: function(cb) { var me = this;
function reloginFacebook(callback) { FB.api('/me', { fields: 'id, name, email' }, function(profile) { //console.debug(profile); if (typeof callback === "function") callback(profile); }); }; FB.login(function(response) { if (response.authResponse) { reloginFacebook(function(info) { console.log(info); info.social = "facebook"; info.accessToken = response.authResponse.accessToken;
var user = { email: info.email, name: info.name, } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }); } else { $("#cmt_alert").html( "Bạn đã từ chối cấp quyền truy cập tài khoản Facebook"); } }, { scope: 'public_profile,email' }); }, loginGoogle: function(callback) { var me = this;
function callSocialApi(data, cb) { data.social = "google"; var user = { email: data.email, name: data.name, } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }
// API call for Google login if (gapi.auth2.getAuthInstance().isSignedIn.get()) { //console.debug('[VCC] GAPI Process'); var profile = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile();
//var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token; var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse() .access_token;
var params = { id: profile.getId(), name: profile.getName(), email: profile.getEmail(), accessToken: access_token } //console.log('params: ', params); callSocialApi(params, callback); } else { //console.debug('[VCC] GAPI Login'); gapi.auth2.getAuthInstance().signIn().then( function(success) { var profile = gapi.auth2.getAuthInstance().currentUser.get() .getBasicProfile(); //var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token; var access_token = gapi.auth2.getAuthInstance().currentUser.get() .getAuthResponse().access_token;
var params = { id: profile.getId(), name: profile.getName(), email: profile.getEmail(), accessToken: access_token } //console.log('params: ', params); callSocialApi(params, callback); }, function(error) { $("#cmt_alert").html( "Bạn đã từ chối cấp quyền cho Báo Dân Việt truy cập tài khoản Google" ); } ); } } } otherLogin.init(); });
Leave a Reply