uchome工作笔记--添加微新闻功能
微新闻功能介绍:
微新闻即短小的新闻新闻,像新鲜事,微博一样.
功能有:用户通过即时窗口发布,其他用户可以在第一条微新闻下的直接进行回复评论.
在UCHOME中添加功能具体方法如下:
1、建立发布微新闻的页面:
以下是发布微新闻的发布框,可用更新个人签名的模块来修改,称为页面a.html:
"mood_wxwform">- action="cp.php?ac=mnews" id="mood_addwxwform">
"mood_statusinput_wxw" class="statusinput_wxw"> class="statussubmit_wxw">- "button" id="mood_add_wxw" name="add_wxw" value="发布" class="submit" style="display:block;" onclick="ajaxpost('mood_addwxwform', 'reloadMood');$('mood_message_wxw').value='';" />
- "hidden" name="addsubmit" value="true" />
- "hidden" name="spacenote" value="true" />
- "hidden" name="formhash" value="" />
a.html显示微新闻部分:
"mood_mystatus_wxw">"width:620px; margin-top:10px;">
"vertical-align:top; padding-top:5px; width:50px;"> "vertical-align:top; padding-left:10px;"> "height:auto; font-size:14px; color:#617d80; line-height:22px;">"color:#124a83; font-weight:bold;">$r[username]:$r[message]
"height:25px; font-size:12px; color:#617d80; list-style:22px;">- class="gray">
"friendswxw" style="display:none;">"width:620px; margin-top:10px;">
"vertical-align:top; padding-top:5px; width:50px;"> "vertical-align:top; padding-left:10px;"> "height:auto; font-size:14px; color:#617d80; line-height:22px;">"color:#124a83; font-weight:bold;">$r[username]:$r[message]
"height:25px; font-size:12px; color:#617d80; list-style:22px;">- class="gray">
- "margin-left:15px; color:#124981;">
- ("javascript:;" onclick="dowxwcomment_get('dowxwcomment_$r[newsid]', 1);" id="dowxw_a_op_$r[newsid]">回复)
- ("cp.php?ac=share&type=blog&id=$blog[blogid]" id="a_share" onclick="ajaxmenu(event, this.id, 1)" class="a_share">分享) //开源软件:phpfensi.com
"dowxwcomment_$r[newsid]" style="display:none;">- class="gray">好友还没有发布微新闻!
相应的a.php页面:
- //分页
- $perpage =5; //;$_SCONFIG['feedmaxnum']<50?50:$_SCONFIG['feedmaxnum'];
- $start = 0;
- if($_GET['pages']>1)
- {
- $perpage=$perpage*$_GET['pages'];
- }
- $perpage = mob_perpage($perpage);
- $query= $_SGLOBAL['db']->query("SELECT a.newsid,a.username,a.uid,a.dateline,b.message FROM ".tname('m_news')." as a left join ".tname('m_newsfield')." as b on a.newsid=b.newsid where a.uid=".$space[uid]." order by dateline desc LIMIT $start,$perpage");
- $count = $filtercount = 0;
- $wxwlist=array();
- while ($value=$_SGLOBAL['db']->fetch_array($query)) {
- $wxwlist[] = $value;
- $count++;
- };
调用的JS代码,也同样用个性签名的来做修改:
以上就完成了发布框的与微新闻信息的显示,接下来看如果发布微新闻,当点击发布按钮时:
- "button" id="mood_add_wxw" name="add_wxw" value="发布" class="submit" style="display:block;" onclick="ajaxpost('mood_addwxwform', 'reloadMood');$('mood_message_wxw').value='';" />
表单提交到mnews.php:
- mnews.php代码部分:
- [html] view plaincopyprint?
- if(submitcheck('addsubmit')) {
- if(emptyempty($mnews['newsid']))
- {
- $mnews = array();
- }
- else
- {
- if(!checkperm('allowmblog'))
- {
- ckspacelog();
- showmessage('no_authority_to_add_log');
- }
- }
- include_once(S_ROOT.'./source/function_mnews.php');
- //入库
- if($newmnews = mnews_post($_POST, $mnews)) {
- //开源软件:phpfensi.com
- $aa="1";
- }
- }
至此发布功能完成,接下来是回复,回复延用动态信息的回复框:
- "dowxwcomment_form_{$newsid}_{$id}">
- method="post" action="cp.php?ac=comment" style="padding-left:10px;">
- "#" id="do_face_{$newsid}_{$id}" title="插入表情" onclick="showFace(this.id, 'do_message_{$newsid}_{$id}');return false;">
"image/facelist.gif" align="absmiddle" />
- "text" id="do_message_{$newsid}_{$id}" name="message" size="35" class="t_input" onkeydown="return ctrlEnter(event, 'dowxwcommform_btn_{$newsid}_{$id}', 1);">
- "hidden" name="commentsubmit" value="true" />
- "hidden" name="idtype" value="newsid">
- "hidden" name="id" value="{$newsid}">
- "button" name="do_button" class="submit" id="dowxwcommform_btn_{$newsid}_{$id}" onclick="ajaxpost('dowxwcommform_{$newsid}_{$id}', 'dowxwcomment_get', 1)" value="回复">
- name="btncancel" class="button" onclick="dowxwcomment_form_close($newsid, $id);">取消
- "hidden" name="formhash" value="" />
"__dowxwcommform_{$newsid}_{$id}">
以上表单,提交到:
- action="cp.php?ac=comment",完成入库,统计,权限判断等操作后返回请求页面
- if($_POST['idtype']=='newsid')
- {
- $url='cp.php?ac=mnews&op=getcomment';
- }
- showmessage($msg, $url, 0, $magvalues);
回复功能完成.