Thống kê diễn đàn
- Latest topics» Sửa chữa xe ôtô lưu động tại Hòa Bình
by trungnghia828282 14/10/2022, 8:47 am
» Chiêm bái đền Chúa Thác Bờ đầu xuân
by trungnghia828282 14/2/2022, 8:43 am
» Hấp dẫn du xuân đi lễ đền Chúa Thác Bờ
by trungnghia828282 4/2/2022, 7:38 am
» Bìa carton trắng, Thùng carton màu trắng
by trungnghia828282 1/7/2021, 9:08 am
» Tham quan nhà máy thuỷ điện Hoà Bình
by trungnghia828282 22/6/2021, 2:54 pm
» Lồng nuôi cá VietGAP trên sông Đà
by trungnghia828282 14/4/2020, 3:03 pm
» Công Ty Cổ Phần Thương Mại Và Du Lịch Trịnh Gia
by trungnghia828282 4/1/2020, 4:22 pm
» Nhà máy Thủy Điện Hòa Bình
by trungnghia828282 31/12/2019, 8:46 am
» Tảo xoắn Spirulina Nhật Bản có tốt khống? Giá bao nhiêu?
by nguyentrang0402 2/11/2019, 10:08 am
» Giá gạch ốp tường và gạch lát nền khác nhau như thế nào?
by huesagi221194 16/9/2019, 4:46 pm
» Dự Án Thanh Hà - tiện ích đẳng cấp & hiện đại
by nguyentienboidp 27/8/2019, 10:26 pm
» Một góc tuyến phố đi bộ dự án Mường Thanh Gò Vấp
by nguyentienboidp 25/8/2019, 12:01 am
» Căn hộ dự án Thanh Hà được thiết kế châu Âu
by nguyentienboidp 22/8/2019, 11:26 pm
» Tổ hợp tiệc tùng tại dự án mường thanh gò vấp
by nguyentienboidp 16/8/2019, 6:56 pm
» Ưu thế khi đầu tư dự án Saigon Garden Riverside
by nguyentienboidp 12/8/2019, 6:33 pm
» Bất động sản Saigon Garden Villlage ghi nhận nhiều sự quan tâm của giới đầu tư
by nguyentienboidp 8/8/2019, 9:42 pm
» Tổ hợp tiệc tùng tại dự án Aqua City Đồng Nai
by nguyentienboidp 3/8/2019, 10:38 pm
» Bất động sản Sunshine Diamond River ghi nhận sự quan tâm của giới đầu tư
by nguyentienboidp 31/7/2019, 10:08 pm
» Gợi ý các không gian trang trí với tường gạch thô
by huesagi221194 23/7/2019, 4:51 pm
» Cách tính 1m2 tường cần bao nhiêu viên gạch
by huesagi221194 11/7/2019, 12:34 pm
» Share Skin Vinagame VBB4
by tonyhoaivu 29/6/2019, 4:08 pm
» Nền tảng công nghệ bất động sản dự án Mường Thanh Gò Vấp
by nguyentienboidp 23/6/2019, 7:04 pm
» Dự án Thanh Hà được đánh giá là dự án bất động sản hạng A
by nguyentienboidp 13/6/2019, 8:59 pm
» Nền tảng công nghệ bất động sản dự án The Marq
by nguyentienboidp 9/6/2019, 11:47 am
» Dự án Mường Thanh Gò Vấp được đánh giá là dự án bất động sản hạng A
by nguyentienboidp 8/6/2019, 12:43 am
» Nền tảng công nghệ bất động sản dự án Aqua City
by nguyentienboidp 5/6/2019, 10:03 pm
» Căn hộ Sunshine Venicia với mức giá hợp lý và tiện ích đa dạng sắp ra mắt thị trường
by nguyentienboidp 2/6/2019, 10:47 pm
» Căn hộ dự án Altara Residences Quy Nhơn được thiết kế châu Âu.
by nguyentienboidp 28/5/2019, 9:18 pm
» Dự án Aqua City Đồng Nai sẽ kết nối người mua với người bán bất động sản.
by nguyentienboidp 20/5/2019, 3:29 pm
» Nhiều căn hộ Aqua City nghỉ dưỡng cao cấp xuất hiện thời gian qua.
by nguyentienboidp 16/5/2019, 8:35 am
» Dự án Novaworld Phan Thiết là dự án bất động sản hạng A
by nguyentienboidp 10/5/2019, 11:00 pm
» Dự Án The Marq - tiện ích đẳng cấp & hiện đại
by nguyentienboidp 3/5/2019, 9:07 pm
» Dự Án Zeitgeist Nhà Bè - phối cảnh
by nguyentienboidp 26/4/2019, 4:00 pm
» Xe tải Dongben 870kg - Xe tải nhẹ vào thành phố được ưu chuộng nhất
by donganhvantai 26/4/2019, 10:42 am
» Cùng ô tô đông anh chiêm ngưỡng mẫu Xe tải Tera 240
by donganhvantai 25/4/2019, 10:13 am
» xe tải veam vt260-1 thùng dài 6m2 giá cạnh tranh
by donganhvantai 24/4/2019, 11:20 am
» Xe tải đô thành IZ65 - xe tải đô thành 3t5 - ô tô đông anh
by donganhvantai 22/4/2019, 9:33 am
» Dự Án Zeitgeist - vị trí đắc địa
by nguyentienboidp 21/4/2019, 10:04 am
» Tại sao khách hàng nên mang xe tải bảo dưỡng định kỳ?
by donganhvantai 19/4/2019, 1:36 pm
» Quy mô dự án biệt thự Zeitgeist Nhà Bè
by nguyentienboidp 18/4/2019, 11:46 pm
» Chi tiết thông tin xe tải Jac x99 - ô tô đông anh
by donganhvantai 18/4/2019, 10:24 am
» Đại lý xe tải cấp I chính hãng có giá tốt nhất 2019
by donganhvantai 17/4/2019, 2:16 pm
» Căn hộ biệt thự Mường Thanh Gò Vấp sang trọng, đẳng cấp
by nguyentienboidp 17/4/2019, 10:25 am
» Xe tải Jac - Khách hàng có nên xuống tiền hay không?
by donganhvantai 16/4/2019, 9:15 pm
» Không gian sống xanh tại dự án căn hộ biệt thự Novaworld Bình Châu
by nguyentienboidp 15/4/2019, 4:45 pm
» Lễ bàn giao sổ đỏ căn hộ biệt thự Novaworld Phan Thiết
by nguyentienboidp 12/4/2019, 11:53 pm
» Khả năng quay video của A7R Mark III bằng 3 video 4K thú vị
by hoangbvk 12/4/2019, 11:06 am
» Đổi đời cùng van bán tải dongben x30 v2s
by donganhvantai 12/4/2019, 9:59 am
» Những lý do khách hàng nên mua xe tải dongben t30
by donganhvantai 11/4/2019, 11:27 am
» mua xe tải dongben chào tháng 4
by donganhvantai 10/4/2019, 1:41 pm
» 90 triệu máy ảnh EOS và 130 triệu ống kính EF bạn nên biết
by hoangbvk 10/4/2019, 10:01 am
» Lễ bàn giao sổ đỏ căn hộ biệt thự Mường Thanh Gò Vấp
by nguyentienboidp 9/4/2019, 3:37 pm
» Xe tải nhẹ chất lượng giá tầm 410 đồng được hỗ trợ 100% phí
by donganhvantai 9/4/2019, 11:57 am
» Lý do xe tải Van Dongben X30 thu hút khách hàng
by donganhvantai 8/4/2019, 10:59 am
» Những tính năng được mong đợi trên Sony a7 mark III mới mẻ
by hoangbvk 8/4/2019, 9:57 am
» Vị trí dự án biệt thự Zeitgeist Nhà Bè
by nguyentienboidp 7/4/2019, 11:33 pm
» Fujifilm X-E3 chính thức ra mắt với phiên bản rút gọn có gì mới
by hoangbvk 6/4/2019, 10:25 am
» Chủ sở hữu căn hộ biệt thự Venita Park khang Điền bày tỏ sự hài lòng
by nguyentienboidp 5/4/2019, 7:23 pm
» Ấn tượng thị trường với dòng xe tải jac L250 - Ô Tô Đông Anh
by donganhvantai 4/4/2019, 11:31 am
» Fujifilm công bố firmware mới nhất cho năm máy ảnh X-Series cho bạn nhiều hơn
by hoangbvk 4/4/2019, 9:36 am
» Niềm vui khi bàn giao sổ đỏ căn hộ biệt thự Novaworld Phan Thiết
by nguyentienboidp 3/4/2019, 9:43 pm
» Xe tải TERA 100 - Cơn sốt thị trường xe tải nhẹ hiện nay
by donganhvantai 3/4/2019, 1:50 pm
» Chỉnh sửa ảnh theo phong cách DJ với Loupedeck
by hoangbvk 3/4/2019, 10:51 am
» Thời điểm thích hợp để tậu căn hộ biệt thự Centennial
by nguyentienboidp 2/4/2019, 5:26 pm
» Sự biến động thị trường xe tải nhẹ
by donganhvantai 2/4/2019, 11:32 am
» Nikon D850 sẽ có quay phim Timelapses 8K khiến bạn ngạc nhiên
by hoangbvk 2/4/2019, 9:50 am
» Xe tải Jac L250 - Dòng xe tải đáp ứng nhu cầu của thị trường
by donganhvantai 1/4/2019, 10:56 am
» Phối cảnh biệt thự Malibu Hội An
by nguyentienboidp 30/3/2019, 2:44 pm
» Sôi Động Thị Trường Xe Tải Nhẹ Euro 4 Mà Nổi Trội Trong Đó Là 2 dòng xe
by donganhvantai 29/3/2019, 1:51 pm
» Sony chính thức khởi động lại các nhà máy sản xuất đĩa vinyl hiện nay
by hoangbvk 28/3/2019, 10:20 am
» Mua xe tải teraco tại đại lý nào có giá tốt nhất
by donganhvantai 28/3/2019, 10:03 am
» Bộ ảnh Rác thải đánh bắt trong môi trường biển cực kì thu hút
by hoangbvk 27/3/2019, 9:36 am
» Vị trí dự án căn hộ The Marq Quận 1
by nguyentienboidp 26/3/2019, 11:28 pm
» MỪNG ĐẠI LỄ - CƠN MƯA QUÀ TẶNG KHI MUA XE TẢI JAC NHÂN DỊP 9
by donganhvantai 26/3/2019, 2:52 pm
» Kiếm tiền từ bán ảnh cho bạn nguồn thu nhập ổn định thu hút bạn
by hoangbvk 25/3/2019, 9:45 am
» Thiết kế biệt thự Novaworld Phan Thiết
by nguyentienboidp 25/3/2019, 9:29 am
» Tiến Độ Thanh Toán Simcity giai đoạn 2
by nguyentienboidp 21/3/2019, 9:43 pm
» Những máy ảnh compact thích hợp để chụp đêm bạn nên mua bây giờ
by hoangbvk 21/3/2019, 10:48 am
» Chương trình khuyến mãi tri ân khách hàng Ô Tô Đông Anh
by donganhvantai 21/3/2019, 8:43 am
» Căn hộ Vinhomes Ruby Quận 9
by nguyentienboidp 20/3/2019, 4:55 pm
» Giảm tổn hao pin máy ảnh đơn giản hiệu quả
by hoangbvk 20/3/2019, 9:35 am
» Bảo quản pin máy ảnh đúng cách thu hút bạn
by hoangbvk 19/3/2019, 10:49 am
» Ống nối máy ảnh - Extension Tube có gì khác biệt
by hoangbvk 18/3/2019, 10:11 am
» Novaworld Bình Châu Căn hộ được xây dựng bằng những vật liệu, trang thiết bị siêu cao cấp
by nguyentienboidp 17/3/2019, 3:16 pm
» Lọc dầu Donaldson P502424 – Lọc máy xúc đào - giá tốt
by donganhvantai 15/3/2019, 9:43 pm
» Canon 1300D nên dùng kèm ống kính thích hợp
by hoangbvk 15/3/2019, 10:30 am
» Canon 1300D và phụ kiện đi kèm
by hoangbvk 14/3/2019, 10:35 am
» Lọc nhớt Donaldson P502008 phụ tùng xe cơ giới
by donganhvantai 13/3/2019, 8:47 pm
» Đặc điểm các ống kính Canon ngàm EF
by hoangbvk 13/3/2019, 9:56 am
» Mường Thanh Gò Vấp - Hình Ảnh Căn Hộ Mẫu
by nguyentienboidp 13/3/2019, 9:40 am
» Đọc truyện Tứ đại thiên dương của tác giả Yến Quỳnh
by vnbsport 12/3/2019, 6:48 pm
» Pentax-K70 chính là những thông tin mới
by hoangbvk 12/3/2019, 10:10 am
» Đọc truyện Tiểu Thư Kỳ Quái của tác giả Chu Sa chương mới nhất
by vnbsport 11/3/2019, 7:27 pm
» Máy ảnh Fujifilm X-T2 cùng với những phụ kiện mới nào
by hoangbvk 11/3/2019, 10:42 am
» Lọc gió ngoài, lọc gió trong máy xúc đào giá tốt tại Việt Nhật
by donganhvantai 10/3/2019, 9:11 pm
» Lọc dầu thủy lực Donaldson giá tốt tại Việt Nhật
by donganhvantai 9/3/2019, 10:07 pm
» lọc nhiên liệu Donalson nhà phân phối Việt Nhật giá tốt
by donganhvantai 8/3/2019, 7:48 pm
» Những phụ kiện dành cho Go pro HERO 5 Black hiện nay
by hoangbvk 8/3/2019, 9:43 am
» Lọc nhớt Donaldson được nhà phân phối Việt Nhật trên toàn quốc
by donganhvantai 6/3/2019, 8:25 pm
TUT kiểm tra thông tin khi đăng nhập
Page 1 of 1 • Share
TUT kiểm tra thông tin khi đăng nhập
Demo: [You must be registered and logged in to see this link.]
Mod này được viết với ý tưởng của ligerv. Lúc đầu, mình nghĩ chỉ là thêm màu mè một chút, nhưng nghĩ lại vẫn thấy có lợi. Nếu như bạn đăng nhập sai, bạn sẽ bị chuyển về trang kiểm tra lỗi, như thế thì các mod đăng nhập không chuyển trang trước đây xem như bó tay. Nếu bạn nhập sai 2 lần, 3 lần thì bạn phải tải trang 4, 6 lần với đầy đủ css, js...
Với cách này có thể nói là khắc phục các vấn đề trên, khi sử dụng mod này bạn không cần đến các mod đăng nhập không chuyển trang nào khác.
Và bây giờ là cách viết.
Đầu tiên bạn cần một form đăng nhập với đủ các thông tin cơ bản để khi thành viên không bật javascript vẫn đăng nhập được. Nên đặt ở Templates overall_header
HTML đã xong, bạn có thể tùy biến các kiểu, hoặc sử dụng form login của forum bạn để làm khi đã hiểu cách dùng javascript mà mình sẽ hướng dẫn sau đây:
Đầu tiên bạn cần chặn form chạy khi submit để không bị chuyển trang.
Code:
Dùng ajax để gửi dữ liệu đăng nhập:
Code:
Bây giờ khi có kết quả trả về, ta sẽ phân ra 3 trường hợp đăng nhập: Thành công, lỗi và bị chặn.
Nếu đăng nhập thành công thì trên thanh nav bar sẽ có nút thoát, nếu forum bạn không dùng nav bar thì dùng cách khác để xác định, vì thế lưu ý khi xem hướng dẫn này.
Bị chặn sẽ có 2 trường hợp: Bị ban và nhập sai PW quá giới hạn (10 lần).
Các trường hợp khác là lỗi thông tin đăng nhập.
Code:
Xử lý đăng nhập thành công mình dùng cách refresh, Zero đề nghị dùng cách load body, tùy các bạn vậy.
Khi bị chặn thì mình dùng alert box để thông báo, nó có thể bị addon better popup của chrome chặn, nếu bạn có thể thì dùng một lightbox hoặc làm dòng thông báo đâu đó cho đẹp.
Trường hợp lỗi đăng nhập mình phân ra lỗi ID và PW.
Trước tiên là kiểm tra ID, mình sẽ dùng ajax tìm thành viên. Mình sẽ kiểm tra giá trị ID mình nhập vào có trùng với kết quả tìm kiếm không? Nếu không trùng là sai ID (xem như sai luôn PW), nếu trùng là sai PW (vì đang bị lỗi đăng nhập).
Code:
Về mặt kiểm tra như thế là ổn, giờ mình sẽ thêm chút màu mè làm hiệu ứng cho thành viên biết.
Ở đây mình dùng một ảnh loading cho lúc đang kiểm tra dữ liệu. Màu lục để đánh dấu ID đúng. Màu đỏ để đánh dấu ID và PW sai. Nếu ID và PW đúng thì refresh trang rồi chẳng cần hiệu ứng nữa.
Dưới đây là toàn bô javascript hoàn chỉnh cho bước 2 đã bổ sung phần hiệu ứng và một bước kiểm tra khi ID đúng PW sai. Bạn có thể tạo dùng chức năng tạo file javascript và đặt ở toàn diễn đàn.
Code:
Demo của bài viết này: [You must be registered and logged in to see this link.]
Mod này được viết với ý tưởng của ligerv. Lúc đầu, mình nghĩ chỉ là thêm màu mè một chút, nhưng nghĩ lại vẫn thấy có lợi. Nếu như bạn đăng nhập sai, bạn sẽ bị chuyển về trang kiểm tra lỗi, như thế thì các mod đăng nhập không chuyển trang trước đây xem như bó tay. Nếu bạn nhập sai 2 lần, 3 lần thì bạn phải tải trang 4, 6 lần với đầy đủ css, js...
Với cách này có thể nói là khắc phục các vấn đề trên, khi sử dụng mod này bạn không cần đến các mod đăng nhập không chuyển trang nào khác.
Và bây giờ là cách viết.
Đầu tiên bạn cần một form đăng nhập với đủ các thông tin cơ bản để khi thành viên không bật javascript vẫn đăng nhập được. Nên đặt ở Templates overall_header
|
HTML đã xong, bạn có thể tùy biến các kiểu, hoặc sử dụng form login của forum bạn để làm khi đã hiểu cách dùng javascript mà mình sẽ hướng dẫn sau đây:
Đầu tiên bạn cần chặn form chạy khi submit để không bị chuyển trang.
Code:
- Code:
$("#fmvilogin").submit(function () {
// Xử lý ở đây
return false
});
Dùng ajax để gửi dữ liệu đăng nhập:
Code:
- Code:
$.post("/login?" + $("#fmvilogin").serialize(), {
login: "ok"
}, function (a) {
// Xử lý ở đây
});
Bây giờ khi có kết quả trả về, ta sẽ phân ra 3 trường hợp đăng nhập: Thành công, lỗi và bị chặn.
Nếu đăng nhập thành công thì trên thanh nav bar sẽ có nút thoát, nếu forum bạn không dùng nav bar thì dùng cách khác để xác định, vì thế lưu ý khi xem hướng dẫn này.
Bị chặn sẽ có 2 trường hợp: Bị ban và nhập sai PW quá giới hạn (10 lần).
Các trường hợp khác là lỗi thông tin đăng nhập.
Code:
- Code:
if ($(a).find("#logout").length) {
// Thành công
} else if ($(a).find("p.message").text().indexOf("You have been banned") != -1 || $(a).find("p.message").text().indexOf("The maximum number of") != -1) {
// Bị chặn
} else {
// Lỗi đăng nhập
}
Xử lý đăng nhập thành công mình dùng cách refresh, Zero đề nghị dùng cách load body, tùy các bạn vậy.
- Code:
window.location.reload();
Khi bị chặn thì mình dùng alert box để thông báo, nó có thể bị addon better popup của chrome chặn, nếu bạn có thể thì dùng một lightbox hoặc làm dòng thông báo đâu đó cho đẹp.
- Code:
alert($(a).find("p.message").html().replace("<br>", "\n"));
Trường hợp lỗi đăng nhập mình phân ra lỗi ID và PW.
Trước tiên là kiểm tra ID, mình sẽ dùng ajax tìm thành viên. Mình sẽ kiểm tra giá trị ID mình nhập vào có trùng với kết quả tìm kiếm không? Nếu không trùng là sai ID (xem như sai luôn PW), nếu trùng là sai PW (vì đang bị lỗi đăng nhập).
Code:
- Code:
$.get("/search?mode=searchuser&fieldname=username", {
search_username: $("#fmvilogin input[name='username']").val(),
time: timestamp()
}, function (b) {
$("#fmvilogin dl:eq(0) img, #fmvilogin dl:eq(2) img").hide();
if ($(b).find("#username_list").val() != $("#fmvilogin input:eq(0)").val()) {
// Sai ID
} else {
// Sai PW
}
});
Về mặt kiểm tra như thế là ổn, giờ mình sẽ thêm chút màu mè làm hiệu ứng cho thành viên biết.
Ở đây mình dùng một ảnh loading cho lúc đang kiểm tra dữ liệu. Màu lục để đánh dấu ID đúng. Màu đỏ để đánh dấu ID và PW sai. Nếu ID và PW đúng thì refresh trang rồi chẳng cần hiệu ứng nữa.
Dưới đây là toàn bô javascript hoàn chỉnh cho bước 2 đã bổ sung phần hiệu ứng và một bước kiểm tra khi ID đúng PW sai. Bạn có thể tạo dùng chức năng tạo file javascript và đặt ở toàn diễn đàn.
Code:
- Code:
$(function () {
$("#fmvilogin").submit(function () {
$.post("/login?" + $("#fmvilogin").serialize(), {
login: "ok"
}, function (a) {
if ($(a).find("#logout").length) {
window.location.reload();
} else if ($(a).find("p.message").text().indexOf("Số lần đăng nhập") != -1 || $(a).find("p.message").text().indexOf("Bạn đã bị cấm truy cập") != -1 || $(a).find("p.message").text().indexOf("You have been banned") != -1 || $(a).find("p.message").text().indexOf("The maximum number of") != -1) {
$("#fmvilogin dl:eq(0) img, #fmvilogin dl:eq(2) img").hide();
$("#fmvilogin dl:eq(0), #fmvilogin dl:eq(2)").removeClass();
alert($(a).find("p.message").html().replace(/<br>/gi, "\n"));
} else {
if ($("#fmvilogin dl:eq(0)").attr("class") == "success") {
$("#fmvilogin dl:eq(2) img").hide();
$("#fmvilogin dl:eq(2)").removeClass().addClass("error");
$("#fmvilogin dl:eq(2) input").focus()
} else {
$.get("/search?mode=searchuser&fieldname=username", {
search_username: $("#fmvilogin input[name='username']").val(),
time: timestamp()
}, function (b) {
$("#fmvilogin dl:eq(0) img, #fmvilogin dl:eq(2) img").hide();
if ($(b).find("#username_list").val() != $("#fmvilogin input:eq(0)").val()) {
$("#fmvilogin dl:eq(0), #fmvilogin dl:eq(2)").removeClass().addClass("error");
$("#fmvilogin dl:eq(0) input").focus()
} else {
$("#fmvilogin dl:eq(0)").removeClass().addClass("success");
$("#fmvilogin dl:eq(2)").removeClass().addClass("error");
$("#fmvilogin dl:eq(2) input").focus()
}
});
}
}
});
$("#fmvilogin dl:eq(0), #fmvilogin dl:eq(2)").not(".success").removeClass().find("img").show();
$("#fmvilogin dl:eq(0) input, #fmvilogin dl:eq(2) input").change(function () {
$(this).parent().parent().removeClass()
});
return false
});
});
Demo của bài viết này: [You must be registered and logged in to see this link.]
Viết bởi baivong - [You must be registered and logged in to see this link.]
kjucxanh_95- Quản Trị Viên
- Posts : 383
Points : 294826
Thanked : 63
Birthday : 1995-09-20
Mãi Mãi Yêu Mình Anh
Giới tính :
Re: TUT kiểm tra thông tin khi đăng nhập
cái gì phưc' tạp quá
vippro- Thành Viên Đồng
- Posts : 270
Points : 189352
Thanked : 8
Birthday : 1995-01-10
ffg
Giới tính :
Similar topics
» [Help] lastopic này khi chưa đăng nhập thì nó hiện đăng nhập xong mất ???
» [Share] khung đăng nhập cntt với khung tìm kiếm tích hợp
» [Share] Khung đăng nhập VIP hotrofm đang dùng
» [HELP] AD cho xin code bảng đăng nhập forum đang sài đi
» [Help]Cho xin cái Đăng nhập và đăng ký mới của forum
» [Share] khung đăng nhập cntt với khung tìm kiếm tích hợp
» [Share] Khung đăng nhập VIP hotrofm đang dùng
» [HELP] AD cho xin code bảng đăng nhập forum đang sài đi
» [Help]Cho xin cái Đăng nhập và đăng ký mới của forum
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum