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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

把“分享网址”升级为“分享网址”和“分享可直接播放的MP3音乐”〔更新至20080523〕

[复制链接]
Pony.M 发表于 2008-5-22 12:48:42 | 显示全部楼层 |阅读模式
2008年5月23号中午修正了一下,至少截至 66 楼之前的问题已经全部解决了。
之前JS出错是因为发帖时论坛自动把js的某些部分过滤掉了

第一步:

soruce/cp_share.php

第195行左右,找到:

            $arr['title_template'] = lang('share_link');
            $arr['body_template'] = '{link}';


            $link_text = sub_url($link, 45);


            $arr['body_data'] = array('link'=>"<a href=\"$link\" target=\"_blank\">$link_text</a>", 'data'=>$link);

替换为:

        if(substr($link, -4, 4) == '.mp3'){
            $arr['title_template'] = lang('share_mp3');
            $arr['body_data'] = array('lang'=>lang('share_mp3_url'), 'id'=>mt_rand(1, 100000), 'link'=>$link, 'data'=>$link);
            $arr['body_template'] = '<div class="share_mp3"><object type="application/x-shockwave-flash" data="image/mp3player.swf" width="290"height="24" id="{id}"><param name="movie" value="image/mp3player.swf" /><param name="FlashVars" value="playerID={id}&bg=0x333333&leftbg=0x4892D1&lefticon=0xFFFFFF&rightbg=0x4892D1&rightbghover=0x64A5DD&righticon=0xFFFFFF&righticonhover=0xFFFFFF&text=0xFFFFFF&slider=0x999999&track=0xBBBBBB&border=0x64A5DD&loader=0xEEEEEE&loop=no&autostart=no&soundFile={link}" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="transparent" /></object><input type="text" value="{lang}{link}" class="t_input" /></div>';
        } else {
            $arr['title_template'] = lang('share_link');
            $arr['body_template'] = '{link}';

            $link_text = sub_url($link, 45);

            $arr['body_data'] = array('link'=>"<a href=\"$link\" target=\"_blank\">$link_text</a>", 'data'=>$link);
        }



-------------------------------
那个 <div class=\"share_mp3\"> 是为了便于不同的模板更换不同的样式
width=\"290\" height=\"24\" 这个是Flash播放器的宽度和高度,如果用定宽的话,灵活性较小,比如在个人主页左侧的分享那个地方展开后就会显示不全,可以改成100%宽的,但是可能会变得比较大,自己斟酌着修改吧。
蓝绿色部分是定义播放器的颜色的,各个参数写的很清楚,一看就明白。


-------------------------------


第二步:
source/function_cp.php

第422行左右找到:
    if($type == 'link') {
        $body_data['link'] .= " (<a href=\"space.php?uid=$_SGLOBAL[supe_uid]&do=share&id=$sid\">".lang('comment')."</a>)";
    }
    if(ckprivacy('share', 1)) {
        feed_add('share', "{actor} $title_template", array(), $body_template, $body_data, $body_general, $images, $image_links);
    }

把蓝色部分删掉,把红色部分转移到下面,即:


    if(ckprivacy('share', 1)) {
        feed_add('share', "{actor} $title_template
(<ahref=\"space.php?uid=$_SGLOBAL[supe_uid]&do=share&id=$sid\">".lang('comment')."</a>)", array(), $body_template, $body_data, $body_general, $images, $image_links);
    }


language/lang_source.php

第69行左右添加:
    'share_mp3' => '分享了一首歌曲',
    'share_mp3_url' => '音乐文件地址',


-------------------------------


第三步:
source/script_common.js



将附件js.txt里面的内容添加到
script_common.js最后面



-------------------------------



第四步:
template/default/common.css

文件最后添加:
.share_mp3{}
    .share_mp3 .t_input{ margin-top:5px; width:98%; background:#FFC; }

这个是定义样式的,根据自己网站风格的修改吧




-------------------------------


第五步:

mp3player.swf 复制到根目录下的 image 文件夹里(Flash播放器文件下面可以下载)

template/default/space_share_list.htm
将“分享网址”这几个字改为“分享网址或音乐(.mp3)”

这个地方自己看着改吧。


-------------------------------

优点:
该播放器浏览器兼容性较好

缺点:
这个播放器只能播放MP3文件
发布过的音乐不能搜索

截图演示:








[ 本帖最后由 Pony.M 于 2008-5-23 11:45 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

4

查看全部评分

爱就爱我 发表于 2008-5-22 12:49:56 | 显示全部楼层
  支持!
回复

使用道具 举报

chaosshi 发表于 2008-5-22 12:51:46 | 显示全部楼层
回复

使用道具 举报

 楼主| Pony.M 发表于 2008-5-22 12:55:25 | 显示全部楼层
原帖由 alibuybuy 于 2008-5-22 12:51 发表
楼主 代码 有点乱啊

不过还很不错




你是指这部分吧,因为论坛里面折行了,所以看着比较乱……个人感觉整个修改流程还是比较清晰的啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

sup 发表于 2008-5-22 12:57:25 | 显示全部楼层
修改的不错,给点建议:

第一步应该这样做,更好:

  1. 第一步:
  2. soruce/cp_share.php

  3. 第195行左右,找到:

  4.             $arr['title_template'] = lang('share_link');
  5.             $arr['body_template'] = '{link}';


  6.             $link_text = sub_url($link, 45);


  7.             $arr['body_data'] = array('link'=>"<a href="$link" target="_blank">$link_text</a>", 'data'=>$link);

  8. 替换为:

  9.         if(substr($link, -4, 4) == '.mp3'){
  10.             $arr['title_template'] = lang('share_mp3');
  11.             $arr['body_data'] = array('lang'=>lang('share_mp3_url'), 'id'=>mt_rand(1, 100000), 'link'=>$link, 'data'=>$link);
  12.             $arr['body_template'] = '<div class="share_mp3"><object type="application/x-shockwave-flash" data="image/mp3player.swf" width="290"height="24" id="{id}"><param name="movie" value="image/mp3player.swf" /><param name="FlashVars" value="playerID={id}&bg=0x333333&leftbg=0x4892D1&lefticon=0xFFFFFF&rightbg=0x4892D1&rightbghover=0x64A5DD&righticon=0xFFFFFF&righticonhover=0xFFFFFF&text=0xFFFFFF&slider=0x999999&track=0xBBBBBB&border=0x64A5DD&loader=0xEEEEEE&loop=no&autostart=no&soundFile={link}" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="transparent" /></object><input type="text" value="{lang}{link}" class="t_input" /></div>';
  13.         } else {
  14.             $arr['title_template'] = lang('share_link');
  15.             $arr['body_template'] = '{link}';
  16.             
  17.             $link_text = sub_url($link, 45);
  18.             
  19.             $arr['body_data'] = array('link'=>"<a href="$link" target="_blank">$link_text</a>", 'data'=>$link);
  20.         }
复制代码
$arr['body_data']  里面最好只存数据,$arr['body_template'] 才是存 html 代码的地方。

[ 本帖最后由 sup 于 2008-5-22 13:12 编辑 ]

评分

1

查看全部评分

回复

使用道具 举报

leoflower 发表于 2008-5-22 13:00:54 | 显示全部楼层
坚决拥护的。。。。。
回复

使用道具 举报

cnboyer 发表于 2008-5-22 13:10:25 | 显示全部楼层
那能不支持吗

我要求了多久的功能啊


不过我现在最喜欢的反而是官方把这个分享功能做大做强,融入digg的特性,同时保持目前简洁的特性以继续保持用户的高积极性
回复

使用道具 举报

 楼主| Pony.M 发表于 2008-5-22 13:25:49 | 显示全部楼层
原帖由 sup 于 2008-5-22 12:57 发表
修改的不错,给点建议:

第一步应该这样做,更好:
第一步:
soruce/cp_share.php

第195行左右,找到:

            $arr['title_template'] = lang('share_link');
            $arr['body_template']  ...



嗯,多谢修正,向专业人士学习:)
回复

使用道具 举报

kongkang 发表于 2008-5-22 13:35:55 | 显示全部楼层
加分~
回复

使用道具 举报

risech 发表于 2008-5-22 13:43:02 | 显示全部楼层
不错,o(∩_∩)o...
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 12:15 , Processed in 0.030087 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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