php专区

 首页 > php专区 > 正则表达式 > uchome工作笔记--添加微新闻功能 - UCenter

uchome工作笔记--添加微新闻功能 - UCenter

分享到:
【字体:
导读:
          微新闻功能介绍:微新闻即短小的新闻新闻,像新鲜事,微博一样.功能有:用户通过即时窗口发布,其他用户可以在第一条微新闻下的直接进行回复评论.在UCHOME中添加功能具体方法如下:1、建...

uchome工作笔记--添加微新闻功能

微新闻功能介绍:

微新闻即短小的新闻新闻,像新鲜事,微博一样.

功能有:用户通过即时窗口发布,其他用户可以在第一条微新闻下的直接进行回复评论.

在UCHOME中添加功能具体方法如下:

1、建立发布微新闻的页面:

以下是发布微新闻的发布框,可用更新个人签名的模块来修改,称为页面a.html:

  1. "mood_wxwform">   
  2.     "post" action="cp.php?ac=mnews" id="mood_addwxwform">   
  3.         "mood_statusinput_wxw" class="statusinput_wxw">"message" id="mood_message_wxw" onclick="statusFace();" onkeydown="if(event.keyCode == 13 ){ event.returnValue=false;event.cancel = true;$('mood_add_wxw').click();$('mood_message_wxw').value='';this.blur(); };" >你可以在这里发布你相关的所见所闻,分享给大家!
   
  •         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显示微新闻部分:

    1. "mood_mystatus_wxw">   
    2.    
    3.    
    4. "width:620px; margin-top:10px;">"vertical-align:top; padding-top:5px; width:50px;">   
    5. "vertical-align:top; padding-left:10px;">   
    6. "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">   
  •            
  •            
  •    
  •    
  •    
  •     class="page" style="padding-top:20px;">   
  •         "javascript:;" onclick="getmore();" id="a_feed_more">查看更多动态   
  •        
  •        
  •    
  •    
  • "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页面:

    1. //分页   
    2. $perpage =5; //;$_SCONFIG['feedmaxnum']<50?50:$_SCONFIG['feedmaxnum'];   
    3. $start = 0;   
    4. if($_GET['pages']>1)   
    5. {   
    6.     $perpage=$perpage*$_GET['pages'];   
    7.     }   
    8. $perpage = mob_perpage($perpage);   
    9.    
    10. $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");   
    11. $count = $filtercount = 0;   
    12. $wxwlist=array();   
    13. while ($value=$_SGLOBAL['db']->fetch_array($query)) {   
    14.            
    15.             $wxwlist[] = $value;   
    16.             $count++;   
    17.         };   

    调用的JS代码,也同样用个性签名的来做修改:

    1. "text/javascript">   
    2.     function statusFace() {   
    3.         if($('mood_message_wxw').value == '你可以在这里发布你相关的所见所闻,分享给大家!'){   
    4.             $('mood_message_wxw').value = '';   
    5.         }   
    6.         $('mood_statusinput_wxw').style.zIndex = '20000';   
    7.         $('mood_statusinput_wxw').className = 'statusinput2_wxw';   
    8.            
    9.            
    10.         var div = $('mood_face_bg');   
    11.         if(div) {   
    12.             div.parentNode.removeChild(div);   
    13.         }   
    14.         div = document.createElement('div');   
    15.         div.id = 'mood_face_bg';   
    16.         div.style.position = 'absolute';   
    17.         div.style.left = div.style.top = '0px';   
    18.         div.style.width = '100%';   
    19.         div.style.height = document.body.scrollHeight + 'px';   
    20.         div.style.backgroundColor = '#000';   
    21.         div.style.zIndex = 10000;   
    22.         div.style.display = 'none';   
    23.         div.style.filter = 'alpha(opacity=0)';   
    24.         div.style.opacity = 0;   
    25.         div.onclick = function() {   
    26.             hiddenstatus();   
    27.         }   
    28.         $('append_parent').appendChild(div);   
    29.        
    30.        
    31.         if($('mood_message_wxw_menu') != null) {   
    32.             $('mood_message_wxw_menu').style.display = '';   
    33.             $('mood_add_wxw').style.display = '';   
    34.         } else {   
    35.             var faceDiv = document.createElement("div");   
    36.             faceDiv.id = 'mood_message_wxw_menu';   
    37.             faceDiv.className = 'facebox';   
    38.             faceDiv.style.position = 'absolute';   
    39.             var faceul = document.createElement("ul");   
    40.             for(i=1; i<31; i++) {   
    41.                 getStatusFace(i, faceul);      
    42.             }   
    43.             faceDiv.appendChild(faceul);   
    44.             $('append_parent').appendChild(faceDiv);   
    45.         }   
    46.         //定位菜单   
    47.         setMenuPosition('mood_message_wxw', 0);   
    48.         div.style.display = '';   
    49.     }   
    50.        
    51.     function hiddenstatus() {   
    52.         $('mood_message_wxw_menu').style.display = 'none';   
    53.         $('mood_face_bg').style.display = 'none';   
    54.         $('mood_statusinput_wxw').className = 'statusinput_wxw';   
    55.         if($('mood_message_wxw').value == ''){   
    56.             $('mood_message_wxw').value = '你可以在这里发布你相关的所见所闻,分享给大家!';   
    57.         }   
    58.         $('mood_statusinput_wxw').style.zIndex = '1';   
    59.     }   
    60.        
    61.     function getStatusFace(i, faceul) {   
    62.         var faceli = document.createElement("li");   
    63.         faceli.innerHTML = '+i+'.gif" style="cursor:pointer; position:relative;" />';   
    64.         faceli.getElementsByTagName('img').item(0).onclick = function(){var faceText = '[em:'+i+':]'if($('mood_message_wxw') != null) { insertContent('mood_message_wxw', faceText); }};   
    65.         faceul.appendChild(faceli);   
    66.     }   
    67.        
    68.     function reloadMood(showid, result) {   
    69.         var x = new Ajax();   
    70.         x.get('cp.php?ac=mnews&op=getwxw'function(s){   
    71.             $('mood_mystatus_wxw').innerHTML = s;   
    72.         });   
    73.         //提示获得积分   
    74.         showreward();   
    75.         hiddenstatus();   
    76.     }   
    77.  

    以上就完成了发布框的与微新闻信息的显示,接下来看如果发布微新闻,当点击发布按钮时:

    1. "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:

    1. "post" action="cp.php?ac=mnews" id="mood_addwxwform">   
    2. mnews.php代码部分: 
    3. [html] view plaincopyprint? 
    4. if(submitcheck('addsubmit')) {   
    5.     if(emptyempty($mnews['newsid']))    
    6.     {   
    7.         $mnews = array();   
    8.     }   
    9.     else   
    10.     {   
    11.         if(!checkperm('allowmblog'))   
    12.         {   
    13.             ckspacelog();   
    14.             showmessage('no_authority_to_add_log');   
    15.         }   
    16.     }   
    17.    
    18.     include_once(S_ROOT.'./source/function_mnews.php');   
    19.     //入库   
    20.     if($newmnews = mnews_post($_POST$mnews)) {   
    21.           //开源软件:phpfensi.com 
    22.             $aa="1";   
    23.      }   
    24. }   

    至此发布功能完成,接下来是回复,回复延用动态信息的回复框:

    1. "dowxwcomment_form_{$newsid}_{$id}">   
    2.     "dowxwcommform_{$newsid}_{$id}" method="post" action="cp.php?ac=comment" style="padding-left:10px;">   
    3.         "#" id="do_face_{$newsid}_{$id}" title="插入表情" onclick="showFace(this.id, 'do_message_{$newsid}_{$id}');return false;">"image/facelist.gif" align="absmiddle" />   
    4.         "text" id="do_message_{$newsid}_{$id}" name="message" size="35" class="t_input" onkeydown="return ctrlEnter(event, 'dowxwcommform_btn_{$newsid}_{$id}', 1);">   
    5.         "hidden" name="commentsubmit" value="true" />   
    6.         "hidden" name="idtype" value="newsid">   
    7.          "hidden" name="id" value="{$newsid}">   
    8.         "button" name="do_button" class="submit" id="dowxwcommform_btn_{$newsid}_{$id}" onclick="ajaxpost('dowxwcommform_{$newsid}_{$id}', 'dowxwcomment_get', 1)" value="回复">   
    9.         "button" name="btncancel" class="button" onclick="dowxwcomment_form_close($newsid, $id);">取消   
    10.         "hidden" name="formhash" value="" />   
    11.        
    12.     "__dowxwcommform_{$newsid}_{$id}">   
    13.     

    以上表单,提交到:

    1. action="cp.php?ac=comment",完成入库,统计,权限判断等操作后返回请求页面    
    2. if($_POST['idtype']=='newsid')   
    3.     {   
    4.         $url='cp.php?ac=mnews&op=getcomment';   
    5.         }   
    6.     showmessage($msg$url, 0, $magvalues); 

    回复功能完成.

    分享到:
    ucenter 添加新应用 - UCenter
    ucenter 添加新应用 我们公司用自己开发的php框架 开发了一个网站,(http://www.phpfensi.com),二级域名用dz(discuz)做了一个论坛,问题随之而来了,那就是会员的通信问题. 一、什么是会员通信? 会员的通信是指几个没有关联的多个应用(如论坛、博客、自己开发的网站等等)之间实现用户同步登录...
    通过正则表达式删除空行的方法_正则表达...
    我们的目标是要删除文本中的空行,可能一行也可能是多行。所以,我的操作如下:在此,我们匹配空行用的是(\r\n)*这样,就可以匹配多个空行,同时用null来替代,就可以实现删除空行。此方案是基于对\r和\n的使用。以前在网上看到一种实现是:\n[\s| ]*\r匹配之后,用null替代,也可以实现删除空行,效果如下图:两种方案都能...
    •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
    • 在这里……