国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > PhpCMS > 正文

【phpcms-v9】專題模塊后臺控制器special.php文件分析-添加專題

2024-09-10 07:15:48
字體:
來源:轉載
供稿:網友

1.添加專題:

  1. /**  
  2.      * 添加專題  
  3.      */   
  4.     public function add() {   
  5.         //添加專題   
  6.         if (isset($_POST['dosubmit']) && !emptyempty($_POST['dosubmit'])) {   
  7.             //添加專題頁面表單數組   
  8.             $special = $this->check($_POST['special']);   
  9.             //插入專題,返回專題id   
  10.             $id = $this->db->insert($special, true);   
  11.             //如果插入專題成功   
  12.             if ($id) {   
  13.                 $this->special_api->_update_type($id$_POST['type']);   
  14.                 if ($special['siteid']>1) {   
  15.                     $site = pc_base::load_app_class('sites''admin');   
  16.                     $site_info = $site->get_by_id($special['siteid']);   
  17.                     if ($special['ishtml']) {   
  18.                         $url =  $site_info['domain'].'special/'.$special['filename'].'/';   
  19.                     } else {   
  20.                         $url = $site_info['domain'].'index.php?m=special&c=index&id='.$id;   
  21.                     }   
  22.                 } else {   
  23.                     //專題的url路徑,$special['filename']-代表專題生成的目錄   
  24.                     $url = $special['ishtml'] ? APP_PATH.substr(pc_base::load_config('system''html_root'), 1).'/special/'.$special['filename'].'/' : APP_PATH.'index.php?m=special&c=index&id='.$id;   
  25.                 }   
  26.                 //更新專題的url   
  27.                 $this->db->update(array('url'=>$url), array('id'=>$id'siteid'=>$this->get_siteid()));   
  28.                    
  29.                 //是否生成靜態,調用生成靜態類   
  30.                 if ($special['ishtml']) {   
  31.                     $html = pc_base::load_app_class('html''special'); //專用于生成靜態的類庫文件   
  32.                     //生成專題首頁:參數1-專題id    參數2-每頁的個數            參數3-最大更新個數         成功后返回生成文件的大小   
  33.                     $html->_index($id, 20, 5);   
  34.                 }   
  35.                 //更新附件狀態   
  36.                 if(pc_base::load_config('system','attachment_stat')) {   
  37.                     $this->attachment_db = pc_base::load_model('attachment_model');//附件表   
  38.                     //更新附件表   
  39.                     $this->attachment_db->api_update(array($special['thumb'], $special['banner']),'special-'.$id, 1);   
  40.                 }   
  41.                 //專題緩存,緩存所有開放中的專題到緩存目錄   
  42.                 $this->special_cache();   
  43.             }   
  44.             //添加專題成功的提示信息   
  45.             showmessage(L('add_special_success'), HTTP_REFERER);   
  46.         } else {   
  47.             //獲取站點模板信息   
  48.             pc_base::load_app_func('global''admin');   
  49.             //站點id   
  50.             $siteid = $this->get_siteid();   
  51.             $template_list = template_list($siteid, 0);   
  52.             $site = pc_base::load_app_class('sites','admin');   
  53.             $info = $site->get_by_id($siteid);   
  54.             foreach ($template_list as $k=>$v) {   
  55.                 $template_list[$v['dirname']] = $v['name'] ? $v['name'] : $v['dirname'];   
  56.                 unset($template_list[$k]);   
  57.             }   
  58.             include $this->admin_tpl('special_add');   
  59.         }   
  60.     }  

2.對從添加專題頁面提交過來的表單數據進行驗證:

  1. /**  
  2.      * 表單驗證  
  3.      * @param array $data 表單傳遞的值  
  4.      * @param string $a add/edit添加操作時,自動加上默認值  
  5.      */   
  6.     private function check($data$a = 'add') {   
  7.         // 專題名稱不能為空   
  8.         if(!$data['title']) showmessage(L('title_cannot_empty'), HTTP_REFERER);   
  9.         //專題橫幅不能為空   
  10.         if(!$data['banner']) showmessage(L('banner_no_empty'), HTTP_REFERER);   
  11.         //專題縮略圖不能為空   
  12.         if(!$data['thumb']) showmessage(L('thumb_no_empty'), HTTP_REFERER);  
  13.         //一般為空   
  14.         if(is_array($data['catids']) && !emptyempty($data['catids'])) {   
  15.             $data['catids'] = ','.implode(','$data['catids']).',';   
  16.         }   
  17.         if($a=='add') {   
  18.             //專題首頁模板   
  19.             if(!$data['index_template']) $data['index_template'] = 'index';  
  20.             //站點   
  21.             $data['siteid'] = $this->get_siteid();   
  22.             //創建時間   
  23.             $data['createtime'] = SYS_TIME;   
  24.             //用戶名   
  25.             $data['username'] = param::get_cookie('admin_username');   
  26.             //用戶id   
  27.             $data['userid'] = $_SESSION['userid'];   
  28.         }   
  29.         //投票標題   
  30.         if ($data['voteid']) {   
  31.             //選擇已有投票   
  32.             if (strpos($data['voteid'], '|')===false) {   
  33.                 $vote_db = pc_base::load_model('vote_subject_model');//屬于專題的投票表   
  34.                 //根據投票標題獲取當前專題的投票記錄   
  35.                 $r = $vote_db->get_one(array('subject'=>$data['voteid'], 'siteid'=>$this->get_siteid()), 'subjectid, subject''addtime DESC');   
  36.                 if ($r) { //開源軟件:Vevb.com
  37.                     //格式如下:vote|投票id|投票標題   
  38.                     $data['voteid'] = 'vote|'.$r['subjectid'].'|'.$r['subject'];   
  39.                 }   
  40.             }   
  41.         }   
  42.         return $data;   
  43.     }   
  44. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岗巴县| 巨野县| 辽宁省| 新闻| 慈溪市| 沁水县| 柳江县| 连州市| 策勒县| 高台县| 什邡市| 新晃| 金昌市| 巩留县| 鞍山市| 江北区| 乐安县| 当雄县| 玉门市| 岑溪市| 平邑县| 武安市| 大庆市| 若羌县| 佛冈县| 红河县| 竹山县| 兰州市| 称多县| 都匀市| 康平县| 武邑县| 牡丹江市| 西乌| 营口市| 西林县| 崇明县| 永昌县| 临安市| 濉溪县| 商城县|