Esempio n. 1
0
 /**
  * searchFAQ
  */
 public function actionSearch()
 {
     $this->_loadCore('Help_SqlSearch');
     $this->_helpSqlSearch = new Help_SqlSearch();
     $this->_modelPlayerFaq = $this->_getGlobalData('Model_PlayerFaq', 'object');
     $gameTypeId = abs(intval($_REQUEST['game_id']));
     $keyWords = $_REQUEST['keywords'];
     $page = abs(intval($_REQUEST['p']));
     if (!$page) {
         $page = 1;
     }
     $pageSize = abs(intval($_REQUEST['ps']));
     if (!$pageSize) {
         $pageSize = 8;
     }
     $this->_helpSqlSearch->set_tableName($this->_modelPlayerFaq->tName());
     $this->_helpSqlSearch->set_field('Id,ratio,game_type_id,kind_id,question');
     $this->_helpSqlSearch->set_conditions("game_type_id={$gameTypeId}");
     $this->_helpSqlSearch->set_conditions("question like '%{$keyWords}%'");
     $this->_helpSqlSearch->setPageLimit($page, $pageSize);
     $conditions = $this->_helpSqlSearch->get_conditions();
     $sql = $this->_helpSqlSearch->createSql();
     $dataList = $this->_modelPlayerFaq->select($sql);
     if (!$dataList) {
         $this->_returnAjaxJson(array('status' => 0, 'info' => 'NO_FIND', 'data' => null));
     }
     //无数据返回出错.
     $count = $this->_modelPlayerFaq->findCount($conditions);
     $toalPgae = ceil($count / $pageSize);
     $this->_returnAjaxJson(array('status' => 1, 'info' => null, 'data' => array('page' => array('total' => $count, 'total_page' => $toalPgae, 'page' => $page, 'page_size' => $pageSize), 'list' => $dataList)));
 }
Esempio n. 2
0
 /**
  * 分页
  * @param array $conditions sql条件
  * @param int $page 第几页
  */
 public function findPage($conditions, $page = 0)
 {
     $this->_modelPlayerFaq = $this->_getGlobalData('Model_PlayerFaq', 'object');
     $thisTableName = $this->tName();
     $faqTableName = $this->_modelPlayerFaq->tName();
     $sql = "select {$thisTableName}.*,{$faqTableName}.lang_id,{$faqTableName}.kind_id,{$faqTableName}.ratio,{$faqTableName}.question from {$thisTableName} left join {$faqTableName} on {$thisTableName}.player_faq_id={$faqTableName}.Id where 1 ";
     $where = '';
     if ($conditions['faq_id']) {
         $where .= " and {$thisTableName}.player_faq_id={$conditions['faq_id']} ";
     } else {
         if ($conditions['whether'] != '') {
             $where .= " and {$thisTableName}.faq_whether={$conditions['whether']}";
         }
         if ($conditions['game_type_id']) {
             $where .= " and {$thisTableName}.game_type_id={$conditions['game_type_id']}";
         }
         if ($conditions['faq_opinion'] != '') {
             $where .= " and {$thisTableName}.faq_opinion={$conditions['faq_opinion']}";
         }
         if ($conditions['source']) {
             $where .= " and {$thisTableName}.source={$conditions['source']}";
         }
         if ($conditions['time']['start'] && $conditions['time']['end']) {
             $where .= " and date_create between " . strtotime($conditions['time']['start']) . " and " . strtotime($conditions['time']['end']);
         }
         if ($conditions['lang']) {
             $where .= " and {$thisTableName}.lang_id = {$conditions['lang']}";
         }
     }
     $sql .= $where;
     $sql .= ' order by Id desc';
     if ($page != 0) {
         $page--;
     }
     $begin = $page * PAGE_SIZE;
     $sql .= " limit {$begin}," . PAGE_SIZE;
     $dataList = $this->select($sql);
     $total = $this->findCount(substr($where, 5));
     return array('dataList' => $dataList, 'total' => $total);
 }
Esempio n. 3
0
 /**
  * 玩家faq管理
  */
 public function actionPlayerIndex()
 {
     switch ($_GET['doaction']) {
         case 'ratioedit':
             //编辑点击率
             $this->_modelPlayerFaq = $this->_getGlobalData('Model_PlayerFaq', 'object');
             $data = $this->_modelPlayerFaq->ratioEdit($_POST);
             $this->_utilMsg->showMsg($data['msg'], $data['status'], $data['href']);
             break;
         case 'ratio':
             //点击率
             $this->_modelPlayerFaq = $this->_getGlobalData('Model_PlayerFaq', 'object');
             $this->_loadCore('Help_SqlSearch');
             $helpSqlSearch = new Help_SqlSearch();
             $helpSqlSearch->set_tableName($this->_modelPlayerFaq->tName());
             if ($_GET['game_type_id'] != '') {
                 $helpSqlSearch->set_conditions("game_type_id={$_GET['game_type_id']}");
                 $this->_view->assign('selectedGameTypeId', $_GET['game_type_id']);
             }
             $conditions = $helpSqlSearch->get_conditions();
             $helpSqlSearch->set_orderBy('ratio desc');
             $helpSqlSearch->setPageLimit($_GET['page']);
             $sql = $helpSqlSearch->createSql();
             $dataList = $this->_modelPlayerFaq->select($sql);
             if ($dataList) {
                 foreach ($dataList as &$list) {
                     $list['word_game_type_id'] = $this->_faqKind[$list['game_type_id']];
                     $list['question'] = strip_tags($list['question']);
                     $list['answer'] = strip_tags($list['answer']);
                 }
                 $this->_view->assign('dataList', $dataList);
                 $this->_loadCore('Help_Page');
                 $helpPage = new Help_Page(array('total' => $this->_modelPlayerFaq->findCount($conditions), 'perpage' => PAGE_SIZE));
                 $this->_view->assign('pageBox', $helpPage->show());
             }
             $this->_view->assign('game_type', $this->_faqKind);
             $this->_view->assign('gameTypeKind', $this->_faqKind);
             $this->_utilMsg->createNavBar();
             $this->_view->set_tpl(array('body' => 'Faq/PlayerFaqRatio.html'));
             $this->_view->display();
             break;
         default:
             //显示主页
             $this->_view->assign('gameTypeKind', $this->_faqKind);
             $this->_view->assign('css', $this->_view->get_curCss());
             $this->_view->assign('js', $this->_view->get_curJs());
             $this->_utilMsg->createNavBar();
             $this->_view->display();
     }
 }
Esempio n. 4
0
 /**
  * faq详细
  */
 public function actionDetail()
 {
     $id = abs(intval($_GET['id']));
     $this->_modelPlayerFaq = $this->_getGlobalData('Model_PlayerFaq', 'object');
     $data = $this->_modelPlayerFaq->findById($id);
     $data['answer'] = $data['answer_g'];
     unset($data['answer_g'], $data['answer_s']);
     if (empty($data['answer'])) {
         unset($data['answer']);
     }
     if ($data) {
         $this->_modelStatsFaq = $this->_getGlobalData('Model_StatsFaq', 'object');
         $statArr = array('game_type_id' => $data['game_type_id'], 'source' => 2, 'kind_id' => $data['kind_id'], 'lang_id' => $data['lang_id']);
         $this->_modelStatsFaq->add($statArr);
         //增加统计量
         $this->_modelPlayerFaq->execute("update {$this->_modelPlayerFaq->tName()} set `ratio`=ratio+1 where Id={$id}");
         //增加点击率
         $this->_returnAjaxJson(array('status' => 1, 'info' => 'InterfaceFaq_Detail', 'data' => $data));
     } else {
         $this->_returnAjaxJson(array('status' => 0, 'info' => 'NO_FIND', 'data' => null));
         //无数据返回出错
     }
 }
Esempio n. 5
0
 /**
  * faq显示页面
  */
 public function actionPlayerIndex()
 {
     $this->_lang = $this->_getGlobalData('lang');
     //多语言
     $this->_faqKind[''] = Tools::getLang('ALL', 'Common');
     $this->_modelPlayerFaq = $this->_getGlobalData('Model_PlayerFaq', 'object');
     $this->_loadCore('Help_SqlSearch');
     $helpSqlSearch = new Help_SqlSearch();
     $helpSqlSearch->set_tableName($this->_modelPlayerFaq->tName());
     $_GET['lang'] = $_GET['lang'] ? $_GET['lang'] : 1;
     //默认简体:1
     $helpSqlSearch->set_conditions("lang_id='{$_GET['lang']}'");
     //默认语言
     $this->_view->assign('selectedLang', $_GET['lang']);
     if ($_GET['game_type_id'] != '') {
         $helpSqlSearch->set_conditions("game_type_id={$_GET['game_type_id']}");
         $this->_view->assign('selectedGameTypeId', $_GET['game_type_id']);
         $faqKind = $this->_modelPlayerKindFaq->findByGameTypeId($_GET['game_type_id'], $_GET['lang']);
         $kindList = array();
         foreach ($faqKind as $value) {
             $kindList[$value['Id']] = $value['name'] . "({$value['count']})";
         }
         $kindList[''] = Tools::getLang('ALL', 'Common');
         $this->_view->assign('kindList', $kindList);
         if ($_GET['kind_id']) {
             $helpSqlSearch->set_conditions("kind_id={$_GET['kind_id']}");
             $this->_view->assign('selectedkindId', $_GET['kind_id']);
         }
     }
     if ($_GET['status'] != '') {
         $helpSqlSearch->set_conditions("status={$_GET['status']}");
         $this->_view->assign('selectedFaqStatus', $_GET['status']);
     }
     if ($_GET['question'] != '') {
         $helpSqlSearch->set_conditions("question like '%{$_GET['question']}%'");
         $this->_view->assign('selectedQuestion', $_GET['question']);
     }
     if ($_GET['answer'] != '') {
         $helpSqlSearch->set_conditions("(answer_g like '%{$_GET['answer']}%' or answer_s like '%{$_GET['answer']}%')");
         $this->_view->assign('selectedAnswer', $_GET['answer']);
     }
     if ($_GET['starttime'] != '') {
         $helpSqlSearch->set_conditions("(time>" . strtotime($_GET['starttime']) . ")");
         $this->_view->assign('selectedstarttime', $_GET['starttime']);
     }
     if ($_GET['endtime'] != '') {
         $helpSqlSearch->set_conditions("(time<" . strtotime($_GET['endtime']) . ")");
         $this->_view->assign('selectedendtime', $_GET['endtime']);
     }
     $faqStatus = $this->_modelPlayerFaq->getFaqStatus();
     $conditions = $helpSqlSearch->get_conditions();
     $by = $_GET['by'] == 'asc' ? 'desc' : 'asc';
     $this->_view->assign('curBy', $by);
     if (in_array($_GET['order'], array('ratio', 'time'))) {
         $helpSqlSearch->set_orderBy("{$_GET['order']} {$by}");
     }
     $helpSqlSearch->setPageLimit($_GET['page']);
     $sql = $helpSqlSearch->createSql();
     //print_r($sql);
     $dataList = $this->_modelPlayerFaq->select($sql);
     if ($dataList) {
         $users = $this->_getGlobalData('user');
         foreach ($dataList as &$list) {
             $list['word_game_type_id'] = $this->_faqKind[$list['game_type_id']];
             $list['question'] = strip_tags($list['question']);
             $list['answer_s'] = strip_tags($list['answer_s']);
             if ($list["check_status"] != 0) {
                 $list["check_status"] = date("Y-m-d H:i:s", $list["check_status"]);
             }
             $list['answer_g'] = strip_tags($list['answer_g']);
             $list['word_status'] = $faqStatus[$list['status']];
             $list['word_user_id'] = $users[$list['user_id']]['nick_name'];
             $list['time'] = date('Y-m-d H:i:s', $list['time']);
             $list['url_edit'] = Tools::url(CONTROL, 'Player', array('doaction' => 'edit', 'lang' => $_REQUEST['lang'], 'game_type_id' => $list['game_type_id'], 'kind_id' => $list['kind_id'], 'Id' => $list['Id']));
             $list['url_del'] = Tools::url(CONTROL, 'Player', array('doaction' => 'del', 'lang' => $_REQUEST['lang'], 'game_type_id' => $list['game_type_id'], 'kind_id' => $list['kind_id'], 'Id' => $list['Id']));
         }
         //print_r($dataList["0"]);
         $this->_view->assign('dataList', $dataList);
         $this->_loadCore('Help_Page');
         $helpPage = new Help_Page(array('total' => $this->_modelPlayerFaq->findCount($conditions), 'perpage' => PAGE_SIZE));
         $this->_view->assign('pageBox', $helpPage->show());
     }
     $this->_view->assign("ajaxurl", Tools::url(CONTROL, 'checkfaq'));
     //		print_r($this->_lang);
     $this->_view->assign('lang', $this->_lang);
     $this->_view->assign('faqStatus', $this->_modelPlayerFaq->getFaqStatus());
     $this->_view->assign('game_type', $this->_faqKind);
     $this->_view->assign('gameTypeKind', $this->_faqKind);
     $this->_utilMsg->createNavBar();
     $this->_view->display();
 }