版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通用文章管理系统1、 需求分析1通用文章管理系统简介文章管理系统是将文章发布和计算机网络结合起来的文章新型管理方式,是信息化社会的产物。通过网络,管理者可以发布文章供会员浏览,可以用使信息传递更加快捷和方便,从而扩展了信息传递领域,实现了信息传递的高效率。该文章管理系统,包括文章管理、网站管理、图片管理、视频管理、系统管理五部分,核心任务是及时向用户提供有用的信息。2用记行为分析文章管理系统包含以下使用角色。(1) 系统管理员(admin):负责用户以及其权限的创建和管理,负责系统文章管理、用户管理、及对用户评论的管理等。其可进行的操作是:进入系统:登陆到文章管理系统后台。文章管理:新建文章、
2、删除文章及对文章进行分类,以及对文章评论进行回复和删除。图片管理:对图片进行上传与管理、及对相册管理。视频管理:添加视频和视频管理。系统管理:模板管理、留言管理、评论管理、友情链接。(2) 用户(user):每个用户在其权限之内访问和对系统文章发表评论。而用户可能展开的活动包括以下内容:进入系统:注册身份、登陆到文章管理系统。对文章进行浏览和评论。 2、 系统预览1进入文章管理系统平台 普通用户登陆登陆后的界面文章管理系统首页2注册用户 用户需要按照正确的格式进行用户注册,否则无法注册成功。比如说用户名必须要超过四个字符,电子邮件必须用正确的格式,还要输入正确的验证码。 注册通行证3会员对文章
3、进行浏览及评论 会员可以对文章进行浏览和评论,可以是匿名的,但是却不能对文章评论进行回复。会员对文章进行浏览和评论4管理员登陆管理员需要输入用户名admin和密码名admin才能登陆到文章管理系统的后台,管理员进入系统后可以进行添加新文章、管理文章、栏目分栏、添加图片、管理图片、管理相册、添加视频、管理视频、会员管理、留言管理、评论管理、用户管理、友情链接等操作。 管理员登陆管理员登陆后界面5添加文章 管理员登陆后可以对文章进行添加,添加文章的标题、摘要和对正文进行编辑,最后发表。可以设置文件的大小进行设置,然后选择文章的属性和文章所属的栏目,其中还可以对正文进行格式、字体、大小、及对齐 方式
4、的设置。添加文章6文章管理 文章管理可以对文章进行生成、更改、预览、删除等操作。文章管理7栏目管理 栏目管理可以添加文章、添加子栏目、修改和删除文章等。栏目管理8公告公告9批量上传相册上传照片时,应该先选择将要上传的照片传到哪相册,选定之后就添加照片,然后就上传照片。10添加相册 添加一个新的相册,可以选择相册的名称、标题、相册的介绍、以及照片的排序。 添加相册11图片管理 图片的管理包括图片的预览、上传时间。图片管理12添加视频添加视频13视频管理视频管理14会员管理会员管理15模板管理模板管理16评论管理评论管理17友情链接友情链接3、 总体设计1基于需求分析,本系统架构如图所示文章管理系
5、统系统管理视频管理文章管理网站管理图片管理友情链接评论管理模板管理会员管理视频管理添加视频栏目管理文章管理添加文章单页管理公告管理相册管理图片管理批量上传滚动图片2关于各文件的说明各个文件具体作用Admin/ Images文件夹=后台图片文件夹 Include文件夹=后台操作工具文件夹 Tpl文件夹=后台模板文件夹 =管理员信息处理 =管理员表单 =重置管理员密码表单 admin.php =管理员列表=相册处理 =添加、编辑相册表单album.php =相册列表=文章处理 =添加、编辑文章表单article.php=文章列表=图片批量上传=图片批量上传表单=缓存更新=文章栏目处理=文章栏目表单
6、category.php=文章栏目列表=评论处理 =导出数据处理=友情链接处理=友情链接表单friendlink.php=友情链接列表guide.php=后台索引页init.php=后台公用配置文件lib_common.php=后台公用函数=管理员登录处理=管理员登出系统login.php=管理员登录表单=生成静态HTML处理=会员处理=留言处理message.php=留言列表=公告处理=公告表单notice.php=公告列表=相册图片处理=相册图片表单picture.php=相册图片列表scrollimg.php=滚动图片处理=单页处理=单页表单sgpage.php=单页列表=模板处理web
7、config.php=系统配置data文件夹=文章管理系统运行数据文件夹include文件夹=文章管理系统公共文件js文件夹=js文件夹template文件夹=模板文件夹album.php=相册comment.php=评论模块common.php=公共文件count.php=JS调用统计文章查看次数cron.php=执行计划任务findpassword.php=会员找回密码模块list.php=文章列表页login.php=登录模块message.php=留言板notice.php=通告最终页noticeList.php=通告列表picture.php=相册图片显示最终页register.ph
8、p=注册模块search.php=搜索模块seccode.php= 生成验证码sgpage.php=单页最终页space.php=会员模块view.php= 文章最终页四系统相关代码1. 后台公用函数lib_common.php文件代码<?php/* * 后台公用函数*/* * 栏目分类下拉框 <option></option> * * param int $pcid * param int $cid * param int $level */function getCategorySelect($pcid=0,$cid = 0,$level = 0)global
9、 $db, $_SC;$category_arr = $db->getAll ( "SELECT * FROM $_SCtableprecategory WHERE pcid = " . $cid . " order by seq" );for($lev = 0; $lev < $level * 2 - 1; $lev +) $level_nbsp .= ""if ($level+)$level_nbsp .= ""foreach ( $category_arr as $category ) $cid
10、= $category'cid'$cname = $category'cname'$selected = $pcid=$cid?'selected':''echo "<option value="".$cid."" ".$selected.">".$level_nbsp . " " . $cname."</option>n"getCategorySelect ($pcid, $cid, $
11、level );/* * 相册分类下拉框 <option></option> * * param int $pcid * param int $cid * param int $level */function getAlbumSelect($parentid=0,$albumid = 0,$level = 0)global $db, $_SC;$category_arr = $db->getAll ( "SELECT * FROM $_SCtableprealbum WHERE parentid = " . $albumid . "
12、 order by seq" );for($lev = 0; $lev < $level * 2 - 1; $lev +) $level_nbsp .= ""if ($level+)$level_nbsp .= ""foreach ( $category_arr as $category ) $id = $category'albumid'$cname = $category'cname'$selected = $parentid=$id?'selected':''echo
13、"<option value="".$id."" ".$selected.">".$level_nbsp . " " . $cname."</option>n"getAlbumSelect($parentid, $id, $level );/* * 栏目array * * param int $pcid * param int $cid * param int $level */function getCategoryArray($pcid=0,$ci
14、d = 0,$level = 0)global $db, $_SC;static $catarr = array();$category_arr = $db->getAll ( "SELECT * FROM $_SCtableprecategory WHERE pcid = " . $cid . " order by seq" );foreach ( $category_arr as $category ) $cid = $category 'cid'$catarr$cid = $category 'cname'ge
15、tCategoryArray($pcid, $cid, $level );return $catarr;/* * 判断管理员对某一个操作是否有权限。 * * 根据当前对应的action_code,然后再和用户session里面的action_list做匹配,以此来决定是否可以继续执行。 * param string $priv_str 操作对应的priv_str * param string $msg_type 返回的类型 * return true/false */function admin_priv($priv_str)global $lang;/SESSION失效后退出if (empt
16、y($_SESSION'adminid')?><script language="JavaScript">parent.location.href="./login.php"</script><?phpexit; if ($_SESSION'action_list' = 'all') return true; if (strpos(',' . $_SESSION'action_list' . ',', ','
17、 . $priv_str . ',') = false) sexit($lang'no_privilege'); else return true; /栏目操作权限function catetory_priv($priv_str) if ($_SESSION'cat_list' = 'all') return true; if (strpos(',' . $_SESSION'cat_list' . ',', ',' . $priv_str . ',')
18、 = false) exit("<script>alert('你没有权限!');window.history.go(-1)</script>"); else return true; /获取某栏目下文章idsfunction get_article_ids($cid, $indexed='')global $db;if( $indexed != 'unindexed' )$table = get_article_index_table($cid);$ids = $db->getCol('S
19、ELECT aid FROM '. $table);else$ids = $db->getCol('SELECT aid FROM '. tname('article') . " WHERE cid='$cid'");return $ids;/获取某栏目下文章ids(通过指定ID范围)function get_article_ids_by_range($startid, $endid)global $db;$ids = $db->getCol('SELECT aid FROM '.tname
20、('article')." WHERE aid>='$startid' AND aid<='$endid' ");return $ids;/获取相册下的图片idsfunction get_picture_ids($albumid)global $_SGLOBAL;$where = ' albumid ="'.$albumid.'"'$ids = $_SGLOBAL'db'->getCol('SELECT pid FROM '.
21、tname('picture').' a WHERE'.$where);return $ids;/获取图片ids(通过指定ID范围)function get_picture_ids_by_range($startid, $endid)global $db;$ids = $db->getCol('SELECT pid FROM '.tname('picture')." WHERE pid>='$startid' AND pid<='$endid' ");retur
22、n $ids;/获取相册ID(通过指定图片ID)function get_albumid_by_pictureid($pid)global $db;return $db->getOne('SELECT albumid FROM '.tname('picture')." WHERE pid='$pid'");/获取某栏目文章列表总页数function get_article_list_pages($cid)global $db, $_SCONFIG;$table = get_article_index_table($cid
23、);$num = $db->getOne('SELECT COUNT(aid) FROM ' . $table);$perpage = $_SCONFIG'htmlperapge'$realpages = ceil($num / $perpage);$pages = $_SCONFIG'maxpage' && $_SCONFIG'maxpage' < $realpages ? $_SCONFIG'maxpage' : $realpages;if($pages = 0) $pages =
24、1;return $pages;/获取相册列表总页数function get_album_pages()global $_SGLOBAL, $_SCONFIG;$num = $_SGLOBAL'db'->getOne('SELECT COUNT(albumid) FROM '.tname('album');$perpage = $_SCONFIG'htmlperapge'$realpages = ceil($num / $perpage);$pages = $_SCONFIG'maxpage' &&a
25、mp; $_SCONFIG'maxpage' < $realpages ? $_SCONFIG'maxpage' : $realpages;if($pages = 0) $pages = 1;return $pages;/获取相册列表总页数function get_album_list_pages($albumid)global $_SGLOBAL, $_SCONFIG;$where = ''if( !empty($albumid) ) $where = " WHERE albumid=$albumid"$num = $
26、_SGLOBAL'db'->getOne('SELECT COUNT(albumid) FROM '.tname('picture') ." $where");$perpage = $_SCONFIG'htmlperapge'$realpages = ceil($num / $perpage);$pages = $_SCONFIG'maxpage' && $_SCONFIG'maxpage' < $realpages ? $_SCONFIG'm
27、axpage' : $realpages;if($pages = 0) $pages = 1;return $pages;/*保存静态目录不存在的话则创建*/function mk_html_dir($dir)global $_SCONFIG;if( is_numeric($dir) )$dir = S_ROOT . $_SCONFIG'htmldir'. '/' . sgmdate($dir, 'Y') . '/' . sgmdate($dir, 'md');$dir = str_replace('
28、;/','/', $dir);smkdir( $dir );?>2登陆页面login.php文件代码<?phpinclude_once 'common.php'/载入语言文件require_once(S_ROOT . 'language/' . $_SCONFIG'lang' . '/user.php');/默认为显示评论表单$act = $_GET'act' ? $_GET'act' : 'form'/登录处理if(submitcheck(
29、9;loginsubmit') extract($_POST);if( empty($username) ) sexit($lang'username_empty');if( empty($password) ) sexit($lang'passoword_empty');$member = $db->getRow("select * from $_SCtablepremember where username='$username'");$password = md5(md5($password).$membe
30、r'salt');if($password = $member'password') $_SESSION = array_merge($member, $_SESSION);$setarr = array('lastloginip' => $_SERVER'REMOTE_ADDR','lastlogintime' => $_SGLOBAL'timestamp');$db->update($_SC'tablepre'.'member', $setarr
31、, 'uid='.$member'uid');sexit($lang'login_success', $_SCONFIG'siteurl'); else sexit($lang'login_failed');/登录表单if ($act='form') include template('login');?>3注册页面register.php文件代码<?phpinclude_once 'common.php'/载入语言文件require_once(S_ROO
32、T . 'language/' . $_SCONFIG'lang' . '/user.php');/默认为显示评论表单$act = $_GET'act' ? $_GET'act' : 'form'/注册处理if(submitcheck('regsubmit') extract($_POST);if( empty($agree) ) sexit($lang'agree_error');if( !ckseccode($captcha) ) sexit($lang'
33、seccode_error');if( empty($username) ) sexit($lang'username_empty');if( empty($password) ) sexit($lang'passoword_empty');if( $password != $confirm ) sexit($lang'password_confirm_error');if( !check_username($username) ) sexit($lang'username_invalid'); /会员名是否合法if( !
34、isemail($email) ) sexit($lang'email_invalid'); /邮箱地址格式是否正确/会员名是否可用$uid = $db->getOne("select uid from $_SCtablepremember where username='$username'");if(!empty($uid) sexit($lang'username_exist');/邮箱是否可用$uid = $db->getOne("select uid from $_SCtablepremembe
35、r where email='$email'");if(!empty($uid) sexit($lang'email_exist');$salt = substr(uniqid(rand(), 0, 6);$password = md5(md5($password).$salt);$_POST'salt' = $salt;$_POST'password' = $password;$_POST'regip' = $_POST'lastloginip' = $_SERVER'REMOT
36、E_ADDR'$_POST'regdate' = $_POST'lastlogintime' = $_SGLOBAL'timestamp'$id = $db->insert("$_SCtablepremember", $_POST);if($id)sexit($lang'register_success', $_SCONFIG'siteurl');elsesexit($lang'register_failed');if ($act='form') i
37、nclude template('register');/检查用户名是否可用elseif ($act='checkusername') $username = iconv("utf-8", "gbk", $_GET'str');$uid = $db->getOne("select uid from $_SCtablepremember where username='$username'");if(empty($uid) && check_usern
38、ame($username) echo '"result":true' else echo '"result":false'/检查电子邮件地址是否可用elseif ($act='checkemail') $email = $_GET'str'$uid = $db->getOne("select uid from $_SCtablepremember where email='$email'");if(empty($uid) echo '"result":true' else echo '"result":false'/检查验证码是否正确elseif ($act='checkcaptcha') $captcha = $_GET'str'if( ckseccode($captcha) ) echo '"result":true' else echo '"result":false&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年综合商业体售楼处动态沙盘供应协议版B版
- 2024年门店装修工程承包合同样本版B版
- 2024院内医疗废物焚烧处理设施改造合同3篇
- 2024年版药材种子种苗销售合同3篇
- 2022年运城学院公共课《C语言》科目期末试卷A(有答案)
- 2025年度瓷砖生产节能减排合同2篇
- 2025年度彩板房租赁与安装合同范本3篇
- 2024版居家育儿服务协议范本:育儿嫂条款一
- 河套学院《国际投资与信贷》2023-2024学年第一学期期末试卷
- 2025年度生态保护区拆迁补偿及生态补偿协议范本3篇
- 2024年鄂尔多斯市国资产投资控股集团限公司招聘管理单位遴选500模拟题附带答案详解
- 杵针疗法课件
- 船形乌头提取工艺优化
- 财务总监个人述职报告
- 软件企业战略规划
- 护理安全隐患及风险防范
- 居家养老护理人员培训方案
- 临床成人失禁相关性皮炎的预防与护理团体标准解读
- 期末复习试题(试题)-2024-2025学年三年级上册数学苏教版
- 江苏省无锡市2024年中考语文试卷【附答案】
- JGJT46-2024《建筑与市政工程施工现场临时用电安全技术标准》知识培训
评论
0/150
提交评论