通用文章管理系統(tǒng)_第1頁
通用文章管理系統(tǒng)_第2頁
通用文章管理系統(tǒng)_第3頁
通用文章管理系統(tǒng)_第4頁
通用文章管理系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、通用文章管理系統(tǒng)1、 需求分析1通用文章管理系統(tǒng)簡介文章管理系統(tǒng)是將文章發(fā)布和計算機網(wǎng)絡結(jié)合起來的文章新型管理方式,是信息化社會的產(chǎn)物。通過網(wǎng)絡,管理者可以發(fā)布文章供會員瀏覽,可以用使信息傳遞更加快捷和方便,從而擴展了信息傳遞領(lǐng)域,實現(xiàn)了信息傳遞的高效率。該文章管理系統(tǒng),包括文章管理、網(wǎng)站管理、圖片管理、視頻管理、系統(tǒng)管理五部分,核心任務是及時向用戶提供有用的信息。2用記行為分析文章管理系統(tǒng)包含以下使用角色。(1) 系統(tǒng)管理員(admin):負責用戶以及其權(quán)限的創(chuàng)建和管理,負責系統(tǒng)文章管理、用戶管理、及對用戶評論的管理等。其可進行的操作是:進入系統(tǒng):登陸到文章管理系統(tǒng)后臺。文章管理:新建文章、

2、刪除文章及對文章進行分類,以及對文章評論進行回復和刪除。圖片管理:對圖片進行上傳與管理、及對相冊管理。視頻管理:添加視頻和視頻管理。系統(tǒng)管理:模板管理、留言管理、評論管理、友情鏈接。(2) 用戶(user):每個用戶在其權(quán)限之內(nèi)訪問和對系統(tǒng)文章發(fā)表評論。而用戶可能展開的活動包括以下內(nèi)容:進入系統(tǒng):注冊身份、登陸到文章管理系統(tǒng)。對文章進行瀏覽和評論。 2、 系統(tǒng)預覽1進入文章管理系統(tǒng)平臺 普通用戶登陸登陸后的界面文章管理系統(tǒng)首頁2注冊用戶 用戶需要按照正確的格式進行用戶注冊,否則無法注冊成功。比如說用戶名必須要超過四個字符,電子郵件必須用正確的格式,還要輸入正確的驗證碼。 注冊通行證3會員對文章

3、進行瀏覽及評論 會員可以對文章進行瀏覽和評論,可以是匿名的,但是卻不能對文章評論進行回復。會員對文章進行瀏覽和評論4管理員登陸管理員需要輸入用戶名admin和密碼名admin才能登陸到文章管理系統(tǒng)的后臺,管理員進入系統(tǒng)后可以進行添加新文章、管理文章、欄目分欄、添加圖片、管理圖片、管理相冊、添加視頻、管理視頻、會員管理、留言管理、評論管理、用戶管理、友情鏈接等操作。 管理員登陸管理員登陸后界面5添加文章 管理員登陸后可以對文章進行添加,添加文章的標題、摘要和對正文進行編輯,最后發(fā)表??梢栽O置文件的大小進行設置,然后選擇文章的屬性和文章所屬的欄目,其中還可以對正文進行格式、字體、大小、及對齊 方式

4、的設置。添加文章6文章管理 文章管理可以對文章進行生成、更改、預覽、刪除等操作。文章管理7欄目管理 欄目管理可以添加文章、添加子欄目、修改和刪除文章等。欄目管理8公告公告9批量上傳相冊上傳照片時,應該先選擇將要上傳的照片傳到哪相冊,選定之后就添加照片,然后就上傳照片。10添加相冊 添加一個新的相冊,可以選擇相冊的名稱、標題、相冊的介紹、以及照片的排序。 添加相冊11圖片管理 圖片的管理包括圖片的預覽、上傳時間。圖片管理12添加視頻添加視頻13視頻管理視頻管理14會員管理會員管理15模板管理模板管理16評論管理評論管理17友情鏈接友情鏈接3、 總體設計1基于需求分析,本系統(tǒng)架構(gòu)如圖所示文章管理系

5、統(tǒng)系統(tǒng)管理視頻管理文章管理網(wǎng)站管理圖片管理友情鏈接評論管理模板管理會員管理視頻管理添加視頻欄目管理文章管理添加文章單頁管理公告管理相冊管理圖片管理批量上傳滾動圖片2關(guān)于各文件的說明各個文件具體作用Admin/ Images文件夾=后臺圖片文件夾 Include文件夾=后臺操作工具文件夾 Tpl文件夾=后臺模板文件夾 =管理員信息處理 =管理員表單 =重置管理員密碼表單 admin.php =管理員列表=相冊處理 =添加、編輯相冊表單album.php =相冊列表=文章處理 =添加、編輯文章表單article.php=文章列表=圖片批量上傳=圖片批量上傳表單=緩存更新=文章欄目處理=文章欄目表單

6、category.php=文章欄目列表=評論處理 =導出數(shù)據(jù)處理=友情鏈接處理=友情鏈接表單friendlink.php=友情鏈接列表guide.php=后臺索引頁init.php=后臺公用配置文件lib_common.php=后臺公用函數(shù)=管理員登錄處理=管理員登出系統(tǒng)login.php=管理員登錄表單=生成靜態(tài)HTML處理=會員處理=留言處理message.php=留言列表=公告處理=公告表單notice.php=公告列表=相冊圖片處理=相冊圖片表單picture.php=相冊圖片列表scrollimg.php=滾動圖片處理=單頁處理=單頁表單sgpage.php=單頁列表=模板處理web

7、config.php=系統(tǒng)配置data文件夾=文章管理系統(tǒng)運行數(shù)據(jù)文件夾include文件夾=文章管理系統(tǒng)公共文件js文件夾=js文件夾template文件夾=模板文件夾album.php=相冊comment.php=評論模塊common.php=公共文件count.php=JS調(diào)用統(tǒng)計文章查看次數(shù)cron.php=執(zhí)行計劃任務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= 文章最終頁四系統(tǒng)相關(guān)代碼1. 后臺公用函數(shù)lib_common.php文件代碼<?php/* * 后臺公用函數(shù)*/* * 欄目分類下拉框 <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;/* * 判斷管理員對某一個操作是否有權(quán)限。 * * 根據(jù)當前對應的action_code,然后再和用戶session里面的action_list做匹配,以此來決定是否可以繼續(xù)執(zhí)行。 * 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; /欄目操作權(quán)限function catetory_priv($priv_str) if ($_SESSION'cat_list' = 'all') return true; if (strpos(',' . $_SESSION'cat_list' . ',', ',' . $priv_str . ',')

18、 = false) exit("<script>alert('你沒有權(quán)限!');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'");/獲取某欄目文章列表總頁數(shù)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;/獲取相冊列表總頁數(shù)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;/獲取相冊列表總頁數(shù)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;/*保存靜態(tài)目錄不存在的話則創(chuàng)建*/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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論