Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] Music Heartland(音乐厅)2.0 For 4.1.0 By Oytktk(靖飒) 2006-04-06(21:30)更新

[复制链接]
meeky 发表于 2006-5-2 10:34:56 | 显示全部楼层
使用音乐厅发布音乐的版块FID列表    8,54

音乐厅内发布音乐版块的FID             8

这里第一项中8,54其中54代表什么?
回复

使用道具 举报

孤独的云 发表于 2006-5-2 22:47:38 | 显示全部楼层
谢谢拉!安装成功!
回复

使用道具 举报

cc77 发表于 2006-5-3 00:54:31 | 显示全部楼层
出现这个错误 怎么解决

Discuz! info: MySQL Query Error

User: 亚茕
Time: 2006-5-3 12:52am
Script: /bbs/post.php

SQL: INSERT INTO cdb_threads (fid, readperm, price, iconid, typeid, author, authorid, subject, dateline, lastpost, lastposter, displayorder, digest, mp3_type, mp3_thread, blog, poll, attachment, subscribed, moderated)
VALUES ('1', '0', '0', '0', '0', '亚茕', '1', '测试', '1146588760', '1146588760', '亚茕', '0', '0', '', '|',' '0', '0', '0', '0', '0')
Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '0', '0', '0', '0', '0')' at line 2
Errno.: 1064

Similar error report has beed dispatched to administrator before.
回复

使用道具 举报

夜鸣剑 发表于 2006-5-3 04:20:54 | 显示全部楼层
都是出现问题的亚……求救中
回复

使用道具 举报

火狼王子 发表于 2006-5-5 13:51:49 | 显示全部楼层
另一种全功能播放器
AD一下
火狼在线>影音娱乐
回复

使用道具 举报

ccda 发表于 2006-5-6 22:35:56 | 显示全部楼层

首先,感谢提供这个插件!同时,提个问题,我的装完后出了点问题

从别的网站连结的附件可以在音乐厅里显示出来,而从论坛服务器上上传的附件不能显示,这是为什么?谢谢
回复

使用道具 举报

ccda 发表于 2006-5-8 11:46:57 | 显示全部楼层

继续顶

回复

使用道具 举报

sindow 发表于 2006-5-10 00:05:41 | 显示全部楼层
程序中并未对上传方式的音乐正确取type和url,所以上传的音乐进不了音乐台
回复

使用道具 举报

ccda 发表于 2006-5-10 21:22:48 | 显示全部楼层

那如何解决这个问题呢?在哪里设置?如何设置?

原帖由 sindow 于 2006-5-10 00:05 发表
程序中并未对上传方式的音乐正确取type和url,所以上传的音乐进不了音乐台
回复

使用道具 举报

sindow 发表于 2006-5-11 21:29:51 | 显示全部楼层
如果您已经完整地安装那个插件,可能还需要做以下事情(大致是这样,记不太清楚了,反正是为了达到正确取以附件上传的媒体的类型和网址的目的)

在include\post.func.php
找到:

  1. global $db, $tablepre, $upload,$extension,
复制代码


改成:
  1. global $db, $tablepre, $upload,$extension, $att_mmx_type,
复制代码

添加一个变量记录其type

找到:
  1. foreach($attachments as $key => $attach) {
复制代码

在上面添加:
  1. $isfirstattach=$upload ? true:false;
复制代码


找到:
       
  1. $filename = daddslashes($attach['name']);
  2.                 $attach['ext'] = $extension = strtolower(fileext($attach['name']));
复制代码


在下面添加:
  1. if($isfirstattach) {
  2.                 if($extension=='mp3' || $extension=='wmv' || $extension=='wma' || $extension=='swf' || $extension=='rm' || $extension=='rmvb' || $extension=='mpg' || $extension=='mpa' || $extension=='asf' || $extension=='asx')
  3.                 $att_mmx_type=strtoupper($extension);
  4.           $isfirstattach=false;
  5.           }
复制代码



如果上传附件作为音乐($upload为真),那么匹配扩展名确实是需要的媒体文件的话,则扩展名记为$att_mmx_type,也就是后来的mp3_type($mp3_m_r) (这里的扩展名匹配程序判断搞得很丑,sorry)


在include\newthread.inc.php
找到:
  1. $mp3_thread = AddSlashes(strip_tags(trim($mp3_name)))."|".AddSlashes(strip_tags(trim($mp3_artist)));
复制代码

下面添加:
  1. if($upload) $mp3_m_r=$att_mmx_type;
复制代码

这样就取到附件的媒体类型了

找到:
  1.   if($attachment) {
  2.                 foreach($attachments as $attach) {
  3.                         $db->query("INSERT INTO {$tablepre}attachments (tid, pid, dateline, readperm, filename, description, filetype, filesize, attachment, downloads)
  4.                                 VALUES ('$tid', '$pid', '$timestamp', '$attach[perm]', '$attach[name]', '$attach[description]', '$attach[type]', '$attach[size]', '$attach[attachment]', '0')");
  5.                
  6.                 }
  7.                
  8.                 updatecredits($discuz_uid, $creditspolicy['postattach'], count($attachments));
  9.         }
复制代码

替换成:
  1. if($attachment) {
  2.           $getfirstaid=$upload ? true:false;
  3.                 foreach($attachments as $attach) {
  4.                         $db->query("INSERT INTO {$tablepre}attachments (tid, pid, dateline, readperm, filename, description, filetype, filesize, attachment, downloads)
  5.                                 VALUES ('$tid', '$pid', '$timestamp', '$attach[perm]', '$attach[name]', '$attach[description]', '$attach[type]', '$attach[size]', '$attach[attachment]', '0')");
  6.                 if($getfirstaid) {
  7.                         $aid = $db->insert_id();
  8.                         $db->query("UPDATE {$tablepre}posts SET mp3_url='./attachment.php?aid=$aid' WHERE pid='$pid'", 'UNBUFFERED');
  9.                         $getfirstaid=false;
  10.                          }
  11.                 }
  12.                
  13.                 updatecredits($discuz_uid, $creditspolicy['postattach'], count($attachments));
  14.         }
复制代码

这样是为了找到mp3_url ,楼主所给的插件安装,没有这些程序,所以针对以附件上传的音乐,就没有取到type 和url($mp3_m_r和$mp3_url),不会是我自己安装错了吧? :(

同样在include\editpost.inc.php 也要改,
找到:
  1. $mp3_thread = AddSlashes(strip_tags(trim($mp3_name)))."|".AddSlashes(strip_tags(trim($mp3_artist)));
复制代码

下面添加:
  1. if($upload) $mp3_m_r=$att_mmx_type;
复制代码

找到:
  1. if($pattachment) {
  2.                                 foreach($attachments as $attach) {
  3.                                         $db->query("INSERT INTO {$tablepre}attachments (tid, pid, dateline, readperm, filename, description, filetype, filesize, attachment, downloads)
  4.                                                 VALUES ('$tid', '$pid', '$timestamp', '$attach[perm]', '$attach[name]', '$attach[description]', '$attach[type]', '$attach[size]', '$attach[attachment]', '0')");
  5.                                 }
  6.                                 updatecredits($orig['authorid'], $creditspolicy['postattach'], count($attachments));
  7.                         }
复制代码

替换成:
  1. if($pattachment) {
  2.                                 $getfirstaid=$upload ? true:false;
  3.                                 foreach($attachments as $attach) {
  4.                                         $db->query("INSERT INTO {$tablepre}attachments (tid, pid, dateline, readperm, filename, description, filetype, filesize, attachment, downloads)
  5.                                                 VALUES ('$tid', '$pid', '$timestamp', '$attach[perm]', '$attach[name]', '$attach[description]', '$attach[type]', '$attach[size]', '$attach[attachment]', '0')");
  6.                                 if($getfirstaid) {
  7.                         $aid = $db->insert_id();
  8.                         $mp3_url="./attachment.php?aid=$aid";
  9.                         $getfirstaid=false;
  10.                          }
  11.                                 }
  12.                                 updatecredits($orig['authorid'], $creditspolicy['postattach'], count($attachments));
  13.                         }
复制代码

不知道我有没有漏掉什么,脑袋乱哄哄的,真是不好意思,如果不行,我可以将我的这两个文件传给你试试看。

另加说明: 以附件上传的音乐,以上我写的程序是取第一个上传的附件来处理,后面的忽略了,万一你发个音乐,上传时偏偏先传个别的东东,然后再传你要传的音乐,这里由于只处理第一个附件,就会导致失败,但说得好听点是不太智能(自嘲,呵呵,写程序就要严谨,不能这样马虎),不过你可以提醒用户“发这种音乐帖,如果是上传的话请只上传一个音乐文件或者至少把它放在第一个位置上”即可,注意,这里第一个位置其实是指上传批次的第一个位置,当修改帖子时,如果你不顾已有的附件,要重新上传附件作为音乐,是完全可以的,程序取的是这次上传的第一个位置的附件。
所以也可以就这么用了,用户都能轻易配合,不过从写程序的角度讲,必须完善一下,取的时候从一堆附件(如果你真的发这种音乐帖时偏要一次上传多个附件,并且不把目标音乐文件放第一个位置里)中智能判断出符合条件的那个(应该只有1个,或者说取符合条件的第一个),每次循环做这样的判断好像挺烦的,不知有没有好点的办法?呵呵

[ 本帖最后由 sindow 于 2006-5-11 21:57 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-17 15:44 , Processed in 0.106953 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表