记事狗微博php,记事狗微博开源代码学习笔记:发布流程

云何平
2023-12-01

本学习笔记是针对记事狗微博3.6.6版本的开源代码的简单分析。转载请注明来自:外链网址已屏蔽blog.okbase.net/phpchina

下面是对发布微博流程的分析。

(1)页面中将发布按钮click事件绑定:

$("#publishSubmit").bind('click',function() {

publishSubmit('i_already','totid','myhome','topic_type','','',$('#mapp_item').val(),$('#mapp_item_id').val(),$('#xiami_id').val(),$('#touid').val());

return false;

});

(2)publishSubmit函数位于:

/templates/default/js/common.js

500行 function publishSubmit(

632行 var myAjax = $.post("ajax.php?mod=topic&code=do_add&act=reply",

(3)ajax调用入口

/ajax.php

22行 $jishigou->run('ajax');

(4)加载对应的模块

/include/jishigou.php

59行 加载模块文件 @include_once $modules_path . ($this->_init_mod($types[$type])) . '.mod.php'

83行 $ModuleObject = new ModuleObject($this->var['config']);

(5)模块中根据code功能,执行对应的函数,调用逻辑层的代码

/modules/ajax/topic.mod.php

33行 ModuleObject构造函数中 $this->Execute();

37行 function Execute()

94行 case 'do_add': $this->DoAdd();

659行 DoAdd()

754行 TopicLogic->Add($data);

(6)逻辑层及数据层的处理

/include/logic/topic.logic.php

65行 Add($datas, ...

441行 insert into jishigou_topic

对内容中@的处理

/include/logic/topic.logic.php

369行 对内容进行分解处理 $_process_result = $this->_process_content($content, $data);

1826行 function _process_content($content, $topic_info=array())

用正则表达式获取 @user,#话题#

$_content = $_process_result['content'];

$at_uids = $_process_result['at_uids'];

$tags = $_process_result['tags'];

$urls = $_process_result['urls'];

671行 $this->_process_at_uids($data,$at_uids);

2164行 处理@user function _process_at_uids($data,$at_uids)

2183行 将@user信息(tid,tuid,uid)插入到 jishigou_topic_mention 表,以便在myat时能显示这些微博内容。

 类似资料: