/branches/modules/planet/planet.view.php
PHP | 430 lines | 290 code | 74 blank | 66 comment | 49 complexity | a4d6a43f99a96b4920d2d1e11f37d1d4 MD5 | raw file
- <?php
- /**
- * @class planetView
- * @author sol (sol@ngleader.com)
- * @brief planet ??? View class
- **/
- class planetView extends planet {
- /**
- * @brief ???
- **/
- function init() {
- if(!preg_match('/planet/i', $this->act) && !in_array($this->act, array('favorite','countContentTagSearch','dispReplyList','rss'))) return;
- /**
- * @brief ??? ??? ?? ??? view??? ???? ????? load?? Context setting
- **/
- $oPlanetModel = &getModel('planet');
- $oModuleModel = &getModel('module');
- $planet_config = $oPlanetModel->getPlanetConfig();
- if(count($this->module_info)) foreach($this->module_info as $key => $val) if(!isset($planet_config->{$key})) $planet_config->{$key} = $val;
- Context::set('module_info',$this->module_info = $planet_config);
- $current_module_info = Context::get('current_module_info');
- $current_module_info->layout_srl = $this->module_info->layout_srl = $this->module_info->layout_srl;
- Context::set('current_module_info', $current_module_info);
- /**
- * ??? ??? ??? ?? ??? ???? ??
- **/
- if(!$this->module_info->skin) $this->module_info->skin = $this->module_info->planet_default_skin;
- $template_path = sprintf("%sskins/%s/",$this->module_path, $this->module_info->skin);
- $this->setTemplatePath($template_path);
- /**
- * myplanet(??? ???), planet(??? ???? ???)? Context setting ?? ?? ??? ??
- **/
- // myplanet ? ??? Context::set(), $myplanet->isExists()? ??? ?? ??? ?? ??
- Context::set('myplanet', $this->myplanet = $oPlanetModel->getMemberPlanet());
- // ?? mid? ???? ?? (??? ?? ????? ?? $planet ? ?? ??, PlanetInfo::isHome() ??
- Context::set('planet', $this->planet = $oPlanetModel->getPlanet($this->module_srl));
- // ?? ??? ? ?? ?? ??? ???? ??? ?? ?? ???
- if($this->planet->isHome() && !in_array($this->act, array('dispPlanetCreate','dispPlanetLogin','dispPlanetTagSearch','dispPlanetContentSearch','dispPlanetContentTagSearch','rss')) ) {
- Context::set('act',$this->act = 'dispPlanetHome');
- }
- // ???? ?? ???? ???? ??? ??
- if(!Context::get('mid')) Context::set('mid', $this->module_info->mid, true);
- }
- /**
- * @brief ???
- **/
- function dispPlanetLogin(){
- $this->setTemplateFile('login');
- }
- /**
- * @brief ??? ??
- **/
- function dispPlanetCreate() {
- if(!Context::get('is_logged')) return $this->dispPlanetMessage("msg_not_logged");
- if(!$this->grant->create) return $this->dispPlanetMessage("msg_not_permitted");
- if($this->myplanet->isExists()) return $this->dispPlanetMessage("msg_planet_exists");
- $this->setTemplateFile('create');
- }
- /**
- * @biref ??? ?? ???
- **/
- function dispPlanetHome() {
- // ???? ?? ??? ??? ?? ?? (??? ??? ??/???? ?? ???? ??)
- $last_date = $this->planet->getContentLastDay();
- $date = Context::get('date');
- if(!$date || $date > $last_date) $date = $last_date;
- Context::set('date', $date);
- Context::set('prev_date', $this->planet->getPrevDate($date));
- Context::set('next_date', $this->planet->getNextDate($date));
- // ?????? tagtab? ??? ?? set type ??
- $type = Context::get('type');
- if(!$type){
- if(is_array($this->module_info->tagtab) && $this->module_info->tagtab[0]){
- $type = 'tagtab';
- Context::set('type',$type);
- Context::set('tagtab',$this->module_info->tagtab[0]);
- }else{
- $type = 'all';
- Context::set('type',$type);
- }
- }
- $tagtab = null;
- if($type == 'tagtab'){
- $tagtab = Context::get('tagtab');
- $page = Context::get('page');
- $oPlanetModel = &getModel('planet');
- $sort_index = 'documents.list_order';
- $order = 'asc';
- }else{
- switch($type) {
- case 'wantyou':
- $sort_index = 'documents.voted_count';
- $order = 'desc';
- break;
- case 'best':
- $sort_index = 'documents.comment_count';
- $order = 'desc';
- break;
- case 'all':
- $sort_index = 'documents.list_order';
- $order = 'asc';
- break;
- }
- $page = Context::get('page');
- $oPlanetModel = &getModel('planet');
- }
- $output = $oPlanetModel->getNewestContentList(null, $date, $page, 10, $sort_index, $order,$tagtab );
- Context::set('content_list', $output->data);
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('page_navigation', $output->page_navigation);
- $args->date = $date;
- $output = executeQuery('planet.getTotalContents', $args);
- Context::set('total_content', $output->data->count);
- $args->voted_count = 1;
- $output = executeQuery('planet.getTotalContents', $args);
- Context::set('total_wantyou', $output->data->count);
- unset($args->voted_count);
- $args->comment_count = 1;
- $output = executeQuery('planet.getTotalContents', $args);
- Context::set('total_best', $output->data->count);
- // tagtab? ???
- if(is_array($this->module_info->tagtab) && $this->module_info->tagtab[0]){
- $tagtab_list = array();
- foreach($this->module_info->tagtab as $key => $val){
- $args->tag = $val;
- $output = executeQuery('planet.getTotalTagSearchContents', $args);
- $tagtab_list[$val] = $output->data->count;
- }
- Context::set('tagtab_list', $tagtab_list);
- }
- // tagtab_after? ???
- if(is_array($this->module_info->tagtab_after) && $this->module_info->tagtab_after[0]){
- $tagtab_after_list = array();
- foreach($this->module_info->tagtab_after as $key => $val){
- $args->tag = $val;
- $output = executeQuery('planet.getTotalTagSearchContents', $args);
- $tagtab_after_list[$val] = $output->data->count;
- }
- Context::set('tagtab_after_list', $tagtab_after_list);
- }
- // RSS ??
- if($this->module_info->use_rss=='Y') Context::set('rss_url', getUrl('','mid',$this->module_info->mid,'act','rss'));
- // ??? ??
- $this->setTemplateFile('main');
- }
- /**
- * @brief ?? ???
- **/
- function dispPlanet(){
- $oPlanetModel = &getModel('planet');
- // ? ?? ??? ??? ??
- if(Context::get('document_srl')) {
- $oDocumentModel = &getModel('document');
- $oDocument = $oDocumentModel->getDocument(Context::get('document_srl'));
- }
- // ???? ?? ??? ??? ?? ?? (??? ??? ??/???? ?? ???? ??)
- if($oDocument && $oDocument->isExists()) {
- $date = $oDocument->getRegdate('Ymd');
- } else {
- $last_date = $this->planet->getContentLastDay();
- $date = Context::get('date');
- if(!$date || $date > $last_date) $date = $last_date;
- }
- Context::set('date', $date);
- Context::set('prev_date', $this->planet->getPrevDate($date));
- Context::set('next_date', $this->planet->getNextDate($date));
- // ?? ???? ? ??
- $page = Context::get('page');
- $type = Context::get('type');
- switch($type) {
- case 'catch':
- $output = $this->planet->getCatchContentList($page);
- break;
- case 'fishing':
- $output = $this->planet->getFishingContentList($page);
- break;
- case 'calling':
- $output = $this->planet->getCallingContentList($page);
- break;
- case 'interest':
- $output = $this->planet->getInterestTagContentList($date, $page);
- break;
- default :
- $sort_index = 'documents.list_order';
- $order = 'asc';
- $output = $this->planet->getNewestContentList($date, $page, 10,$sort_index,$order);
- break;
- }
- Context::set('content_list', $output->data);
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('page_navigation', $output->page_navigation);
- // ??? ?? ? ?
- $args->date = $date;
- $args->module_srl = $this->planet->getModuleSrl();
- $output = executeQuery('planet.getTotalContents', $args);
- Context::set('total_content', $output->data->count);
- $args->regdate = date('Ymd');
- $output = executeQuery('planet.getCallingTodayContentCount', $args);
- Context::set('total_calling', $output->data->count);
- unset($args->regdate);
- // ?? ? ?
- $output = executeQuery('planet.getCatchContentCount', $args);
- Context::set('total_catch', $output->data->count);
- // ?? ? ?
- $output = executeQuery('planet.getFishingContentCount', $args);
- Context::set('total_fishing', $output->data->count);
- // ???? ?? ????
- $memo_output = $oPlanetModel->getMemoList($this->module_srl);
- Context::set('memo_list', $memo_output->data);
- Context::set('memo_navigation', $memo_output->page_navigation);
- // ???? ???? ????
- $interest_tags = $oPlanetModel->getInterestTags($this->module_srl);
- Context::set('interest_tags', $interest_tags);
- // ???? ??? ??
- Context::setBrowserTitle($this->planet->getPlanetTitle().' - '.$this->planet->getBrowserTitle());
- // ??? ??
- $this->setTemplateFile('myPlanet');
- }
- /**
- * @brief ???? ??
- **/
- function favorite() {
- $oPlanetModel = &getModel('planet');
- // ?? ???? ??? ??
- $planet = $oPlanetModel->getPlanet($this->module_srl);
- Context::set('planet', $planet);
- // ?????? ???
- $logged_info = Context::get('logged_info');
- Context::set('isMyPlanet', $planet->getMemberSrl() == $logged_info->member_srl);
- // ???? ?? ????
- $memo_output = $oPlanetModel->getMemoList($this->module_srl);
- Context::set('memo_list', $memo_output->data);
- Context::set('memo_navigation', $memo_output->page_navigation);
- // ???? ???? ????
- $interest_tags = $oPlanetModel->getInterestTags($this->module_srl);
- Context::set('interest_tags', $interest_tags);
- // ???? ??? ??
- Context::setBrowserTitle($planet->getPlanetTitle().' - '.$planet->getBrowserTitle());
- // ? ???? ?? ?? ??? ???? ?? ???? ??
- $myplanet = Context::get('myplanet');
- if(Context::get('isMyPlanet') || $oPlanetModel->isInsertedFavorite($myplanet->module_srl, $this->module_srl)) {
- Context::set('myFavoritePlanet',true);
- } else {
- Context::set('myFavoritePlanet',false);
- }
- // ?? ????
- $page = Context::get('page');
- $output = $oPlanetModel->getFavoriteContentList($this->module_srl, $page, 10);
- Context::set('content_list', $output->data);
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('page_navigation', $output->page_navigation);
- // ??? ??
- $this->setTemplateFile('favorite');
- }
- function dispPlanetContentTagSearch(){
- $keyword = urldecode(Context::get('keyword'));
- $page = Context::get('page');
- if(!$this->planet->isHome()) $module_srl = $this->module_srl;
- else $module_srl = null;
- $oPlanetModel = &getModel('planet');
- Context::set('search_result', $oPlanetModel->getSearchResultCount($module_srl, $keyword));
- if($keyword) {
- $output = $oPlanetModel->getContentList($module_srl,'tag',$keyword, $page, 10);
- Context::set('content_list', $output->data);
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('page_navigation', $output->page_navigation);
- }
- // ??? ??
- $this->setTemplateFile('search');
- }
- function dispPlanetContentSearch(){
- $keyword = urldecode(Context::get('keyword'));
- $page = Context::get('page');
- if(!$this->planet->isHome()) $module_srl = $this->module_srl;
- else $module_srl = null;
- $oPlanetModel = &getModel('planet');
- Context::set('search_result', $oPlanetModel->getSearchResultCount($module_srl, $keyword));
- if($keyword) {
- $output = $oPlanetModel->getContentList($module_srl,'content',$keyword, $page, 10);
- Context::set('content_list', $output->data);
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('page_navigation', $output->page_navigation);
- }
- // ??? ??
- $this->setTemplateFile('search');
- }
- function dispPlanetTagSearch(){
- $keyword = urldecode(Context::get('keyword'));
- $page = Context::get('page');
- if(!$this->planet->isHome()) $module_srl = $this->module_srl;
- else $module_srl = null;
- $oPlanetModel = &getModel('planet');
- Context::set('search_result', $oPlanetModel->getSearchResultCount($module_srl, $keyword));
- if($keyword) {
- $output = $oPlanetModel->getPlanetTagList($keyword, $page, 10);
- Context::set('planet_list', $output->data);
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('page_navigation', $output->page_navigation);
- }
- // ??? ??
- $this->setTemplateFile('search_planet');
- }
- function dispReplyList(){
- $page = Context::get('page');
- $document_srl = Context::get('document_srl');
- $oPlanetModel = &getModel('planet');
- $output = $oPlanetModel->getReplyList($document_srl,$page);
- Context::set('reply_list',$output->data);
- }
- function dispPlanetMessage($msg_code) {
- $msg = Context::getLang($msg_code);
- if(!$msg) $msg = $msg_code;
- Context::set('message', $msg);
- $this->setTemplateFile('message');
- }
- /**
- * @brief rss
- **/
- function rss() {
- $oRss = &getView('rss');
- $oRssModel = &getModel('rss');
- $oDocumentModel = &getModel('document');
- if($this->planet->isHome()) {
- if($this->module_info->use_rss!='Y') return new Object(-1,'msg_rss_is_disabled');
- } else {
- $rss_config = $oRssModel->getRssModuleConfig($this->module_srl);
- if($rss_config->open_rss != 'Y') return new Object(-1,'msg_rss_is_disabled');
- $args->module_srl = $this->module_srl;
- }
- $output = executeQueryArray('planet.getRssList', $args);
- if($output->data) {
- foreach($output->data as $key => $val) {
- unset($obj);
- $obj = new DocumentItem(0);
- $obj->setAttribute($val);
- $document_list[] = $obj;
- }
- }
- $oRss->rss($document_list, $this->planet->getBrowserTitle());
- $this->setTemplatePath($oRss->getTemplatePath());
- $this->setTemplateFile($oRss->getTemplateFile());
- }
- }
- ?>