PageRenderTime 24ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/modules/faq/faq.admin.view.php

http://xe-faq.googlecode.com/
PHP | 210 lines | 115 code | 40 blank | 55 comment | 14 complexity | 6f44b5efefe576b324efb1f87370eacb MD5 | raw file
  1. <?php
  2. /**
  3. * @class faqAdminView
  4. * @author NHN (developers@xpressengine.com)
  5. * @brief faq module admin view class
  6. **/
  7. class faqAdminView extends faq {
  8. function init() {
  9. // get module_srl if it exists
  10. $module_srl = Context::get('module_srl');
  11. if(!$module_srl && $this->module_srl) {
  12. $module_srl = $this->module_srl;
  13. Context::set('module_srl', $module_srl);
  14. }
  15. // module model class
  16. $oModuleModel = &getModel('module');
  17. // get module_info based on module_srl
  18. if($module_srl) {
  19. $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
  20. if(!$module_info) {
  21. Context::set('module_srl','');
  22. $this->act = 'list';
  23. } else {
  24. ModuleModel::syncModuleToSite($module_info);
  25. $this->module_info = $module_info;
  26. Context::set('module_info',$module_info);
  27. }
  28. }
  29. if($module_info && $module_info->module != 'faq') return $this->stop("msg_invalid_request");
  30. // get module category
  31. $module_category = $oModuleModel->getModuleCategories();
  32. Context::set('module_category', $module_category);
  33. // set the module template path (modules/faq/tpl)
  34. $template_path = sprintf("%stpl/",$this->module_path);
  35. $this->setTemplatePath($template_path);
  36. // set order target
  37. foreach($this->order_target as $key) $order_target[$key] = Context::getLang($key);
  38. $order_target['list_order'] = Context::getLang('regdate');
  39. $order_target['update_order'] = Context::getLang('last_update');
  40. Context::set('order_target', $order_target);
  41. }
  42. function dispFaqAdminContent() {
  43. $args->sort_index = "module_srl";
  44. $args->page = Context::get('page');
  45. $args->list_count = 20;
  46. $args->page_count = 10;
  47. $args->s_module_category_srl = Context::get('module_category_srl');
  48. $s_mid = Context::get('s_mid');
  49. if($s_mid) $args->s_mid = $s_mid;
  50. $s_browser_title = Context::get('s_browser_title');
  51. if($s_browser_title) $args->s_browser_title = $s_browser_title;
  52. $output = executeQueryArray('faq.getFaqList', $args);
  53. ModuleModel::syncModuleToSite($output->data);
  54. // setup module variables, context::set
  55. Context::set('total_count', $output->total_count);
  56. Context::set('total_page', $output->total_page);
  57. Context::set('page', $output->page);
  58. Context::set('faq_list', $output->data);
  59. Context::set('page_navigation', $output->page_navigation);
  60. // set template file
  61. $this->setTemplateFile('index');
  62. }
  63. function dispFaqAdminFaqInfo() {
  64. $this->dispFaqAdminInsertFaq();
  65. }
  66. /**
  67. * @brief display insert faq admin page
  68. **/
  69. function dispFaqAdminInsertFaq() {
  70. if(!in_array($this->module_info->module, array('admin','faq'))) {
  71. return $this->alertMessage('msg_invalid_request');
  72. }
  73. //get skin list
  74. $oModuleModel = &getModel('module');
  75. $skin_list = $oModuleModel->getSkins($this->module_path);
  76. Context::set('skin_list',$skin_list);
  77. $mskin_list = $oModuleModel->getSkins($this->module_path, "m.skins");
  78. Context::set('mskin_list', $mskin_list);
  79. //get layout list
  80. $oLayoutModel = &getModel('layout');
  81. $layout_list = $oLayoutModel->getLayoutList();
  82. Context::set('layout_list', $layout_list);
  83. $mobile_layout_list = $oLayoutModel->getLayoutList(0,"M");
  84. Context::set('mlayout_list', $mobile_layout_list);
  85. $this->setTemplateFile('faq_insert');
  86. }
  87. /**
  88. * @brief display faq category admin page
  89. **/
  90. function dispFaqAdminCategoryInfo() {
  91. $module_srl = Context::get('module_srl');
  92. $category_srl = Context::get('category_srl');
  93. $parent_srl = 0;
  94. $oFaqModel = &getModel('faq');
  95. $output = $oFaqModel->getAllCategoryList($module_srl,$parent_srl);
  96. Context::set('faq_category_list', $output);
  97. Context::set('category_list_count',count($output));
  98. if($category_srl){
  99. $output = $oFaqModel->getCategory($category_srl);
  100. Context::set('selected_category',$output);
  101. }
  102. $this->setTemplateFile('PostManageCategory');
  103. }
  104. /**
  105. * @brief display faq AdditionSetup admin page
  106. **/
  107. function dispFaqAdminFaqAdditionSetup() {
  108. $content = '';
  109. /*$oModuleModel = &getModel('module');
  110. $triggers = $oModuleModel->getTriggers('module.dispAdditionSetup', 'before');
  111. var_dump($triggers);
  112. foreach($triggers as $item) {
  113. $module = $item->module;
  114. $type = $item->type;
  115. $called_method = $item->called_method;
  116. if($module == 'editor'){ //only display edtior
  117. $oModule = null;
  118. $oModule = &getModule($module, $type);
  119. if(!$oModule || !method_exists($oModule, $called_method)) continue;
  120. $output = $oModule->{$called_method}($content);
  121. if(is_object($output) && method_exists($output, 'toBool') && !$output->toBool()) return $output;
  122. unset($oModule);
  123. }
  124. }*/
  125. $oEditorView = &getView('editor');
  126. $oEditorView->triggerDispEditorAdditionSetup($content);
  127. Context::set('setup_content', $content);
  128. $this->setTemplateFile('addition_setup');
  129. $security = new Security();
  130. $security->encodeHTML('module_info.');
  131. }
  132. /**
  133. * @brief delete faq module
  134. **/
  135. function dispFaqAdminDeleteFaq() {
  136. if(!Context::get('module_srl')) return $this->dispFaqAdminContent();
  137. if(!in_array($this->module_info->module, array('admin', 'faq','blog','guestbook'))) {
  138. return $this->alertMessage('msg_invalid_request');
  139. }
  140. $module_info = Context::get('module_info');
  141. $oFaqModel = &getModel('faq');
  142. $question_count = $oFaqModel->getQuestionCount($module_info->module_srl);
  143. $module_info->question_count = $question_count;
  144. Context::set('module_info',$module_info);
  145. // set template file
  146. $this->setTemplateFile('faq_delete');
  147. }
  148. /**
  149. * @brief display the grant information
  150. **/
  151. function dispFaqAdminGrantInfo() {
  152. // get the grant infotmation from admin module
  153. $oModuleAdminModel = &getAdminModel('module');
  154. $grant_content = $oModuleAdminModel->getModuleGrantHTML($this->module_info->module_srl, $this->xml_info->grant);
  155. Context::set('grant_content', $grant_content);
  156. $this->setTemplateFile('grant_list');
  157. }
  158. /**
  159. * @brief faq module alert message
  160. **/
  161. function alertMessage($message) {
  162. $script = sprintf('<script> xAddEventListener(window,"load", function() { alert("%s"); } );</script>', Context::getLang($message));
  163. Context::addHtmlHeader( $script );
  164. }
  165. }
  166. ?>