Share mod Thank to Download cho JohnCMS
Mô tả: Modul khi upload file đính kèm yêu cầu thành viên phải thank (like) bài viết mới có thể tải tập tin đính kèm.
Tác giả: HaiViet
Diễn đàn: Vina4Z.TK
Hướng dẫn sử dụng:
Yêu cầu đã cài đặt mod thank bài viết trước đó.
Upload install.php lên thự mục root và chạy đường dẫn domain.com/install.php
Mở forum/includes/addfiles.php tìm:
Mã:
$res3=mysql_fetch_array($req3);
mysql_query("INSERT INTO `cms_forum_files` SET
`cat` = '" .$res3['refid'] ."',
`subcat` = '" .$res2['refid'] ."',
`topic` = '" .$res['refid'] ."',
`post` = ' $id',
`time` = '" .$res['time'] ."',
`filename` = '" .mysql_real_escape_string($fname) ."',
`filetype` = ' $type'
" );
Thay thành:
Mã:
$chkthank= isset($_REQUEST['chkthank']);
$chkthank= ($chkthank?'1':'0');
mysql_query("INSERT INTO `cms_forum_files` SET
`cat` = '" .$res3['refid'] ."',
`subcat` = '" .$res2['refid'] ."',
`topic` = '" .$res['refid'] ."',
`post` = ' $id',
`time` = '" .$res['time'] ."',
`filename` = '" .mysql_real_escape_string($fname) ."',
`filetype` = ' $type',
`reqthank` = ' $chkthank'
" );
Tìm:
Mã:
echo'</p><p><input type="submit" name="submit" value="'.$lng_forum['upload'] .'"/></p></form></div>'.
Thêm vào bên trên:
Mã:
echo'<div class="list1">Yêu cầu Thank bài viết<input type="checkbox" name="chkthank" value="1" /></div>';
Mở forum/includes/file.php tìm:
Mã:
if (file_exists('../files/forum/attach/'.$res['filename'])) {
Thêm vào bên dưới:
Mã:
if ($fres['reqthank'] =='1') {
$resid=mysql_query("SELECT * FROM `forum` WHERE `id` = '$id'");
$checkthank=mysql_query('SELECT COUNT(*) FROM `forum_thank` WHERE `userthank` = "'.$user_id.'" and `topic` = "'.$id.'" and `user` = "'.$resid['user_id'] .'"');
$thankcheck=mysql_result($checkthank,0);
if( $thankcheck<1&&$user_id!=$resid['user_id']) {
require( '../incfiles/head.php');
echo functions::display_error('Bạn chưa cảm ơn bài viết','<a href="index.php">'.$lng['to_forum'] .'</a>');
require( '../incfiles/end.php');
exit;
}
}
Tìm tiếp:
Mã:
header ('location: ../files/forum/attach/'.$res['filename']);
Thay thế thành:
Mã:
$path='../files/forum/attach/'.$res['filename'];
$infofile=pathinfo($path);
$file_ext=strtolower($infofile['extension']);
if( $file_ext=='bmp') {
$ftype='image/bmp';
}
if( $file_ext=='png') {
$ftype='image/png';
}
if( $file_ext=='gif') {
$ftype='image/gif';
}
if( $file_ext=='jpg'||$file_ext=='jpeg') {
$ftype='image/jpeg';
}
if( $file_ext=='jar') {
$ftype='application/java-archive';
}
if( $file_ext=='zip') {
$ftype='application/zip';
}
if( $file_ext=='txt') {
$ftype='text/plain';
}
if( $file_ext=='rar') {
$ftype='application/x-rar-compressed';
}
if( $file_ext=='mp4') {
$ftype='video/mp4';
}
if( $file_ext=='3gp') {
$ftype='video/3gpp';
}
if( $file_ext=='exe') {
$ftype='application/octet-stream';
}
header ('Cache-Control: public');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename=JohnMCSVN-'.$res['filename']);
header('Content-type: '.$ftype);
header('Content-Transfer-Encoding: binary');
readfile($path);
exit;
Mở forum/index.php tìm:
Mã:
echo '<br /><a href="index.php?act=file&id='.$fres['id'] .'">'.$fres['filename'] .'</a>';
Thay thành:
Mã:
if ($fres['reqthank'] =='1') {
$checkthank=mysql_query('SELECT COUNT(*) FROM `forum_thank` WHERE `userthank` = "'.$user_id.'" and `topic` = "'.$res['id'] .'" and `user` = "'.$res['user_id'] .'"');
$thankcheck=mysql_result($checkthank,0);
if( $thankcheck<1&&$user_id!=$res['user_id']) {
echo 'Yêu cầu phải thank bài viết';
} else {
echo '<a href="index.php?act=file&id='.$fres['id'] .'">'.$fres['filename'] .'</a>';
}
}
Tạo file .htaccess vào thư mục /files/forum/attach
Thêm vào:
Mã:
Order Deny,Allow
Deny from all
Thế là xong, chúc thành công!