PageRenderTime 35ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/th/application/controllers/home.php

https://gitlab.com/anurat/earththailand
PHP | 373 lines | 250 code | 61 blank | 62 comment | 16 complexity | e3df3e24e4fbf851b17c8ad1d4f062a9 MD5 | raw file
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. class Home extends CI_Controller {
  3. /**
  4. * Index Page for this controller.
  5. *
  6. */
  7. public function index() {
  8. $cms_image = $this->cms_model->get_cms_image();
  9. $data['slideshow_list'] = $cms_image->get_images( 'slideshow', 1 );
  10. $cms_homepage = $this->cms_model->get_cms_homepage();
  11. $data['thai_link_list'] = $cms_homepage->get_homepages( 'thai_link' );
  12. $data['regional_link_list'] = $cms_homepage->get_homepages( 'regional_link' );
  13. $data['global_link_list'] = $cms_homepage->get_homepages( 'global_link' );
  14. $data['news_slideshow_list'] = $cms_homepage->get_homepages( 'news_slideshow' );
  15. $data['document_list'] = $cms_homepage->get_homepages( 'document' );
  16. $data['article_list'] = $cms_homepage->get_homepages( 'article' );
  17. $data['page_count'] = file_get_contents( APPPATH .'views/homepage/page_count.txt' );
  18. $data['title'] = 'มูลนิธิบูรณะนิเวศ';
  19. $data['content'] = 'homepage';
  20. $this->load->view( 'template', $data );
  21. }
  22. /**
  23. * Show pollutions page
  24. *
  25. */
  26. public function pollutions() {
  27. $cms_pollution = $this->cms_model->get_cms_pollution();
  28. $data['pollution_list'] = $cms_pollution->get_pollution_list( 'enabled', 0, 100000 );
  29. $data['title'] = 'แผนที่มลพิษ';
  30. $data['content'] = 'pollutions';
  31. $this->load->view( 'template', $data );
  32. }
  33. /**
  34. * Show article list page
  35. *
  36. * @param int $index
  37. */
  38. public function articles( $index=0 ) {
  39. // set the number of items per page
  40. $no = 10;
  41. $cms_article = $this->cms_model->get_cms_article();
  42. $data['article_list'] = $cms_article->get_article_list( 'enabled', $index, $no );
  43. $count = $cms_article->count_article_list( 'enabled' );
  44. $this->load->library('pagination');
  45. $config['base_url'] = site_url( "/articles" );
  46. $config['total_rows'] = $count;
  47. $config['per_page'] = $no;
  48. $config['num_links'] = 4;
  49. $config['uri_segment'] = 2;
  50. $config['first_link'] = '< หน้าแรกสุด';
  51. $config['last_link'] = 'หน้าสุดท้าย >';
  52. $this->pagination->initialize( $config );
  53. $data['page'] = array(
  54. 'index1' => $index +1,
  55. 'index2' => $index +sizeof( $data['article_list'] ),
  56. 'count' => $count,
  57. 'per_page' => $no,
  58. 'links' => $this->pagination->create_links()
  59. );
  60. $data['title'] = 'ข่าว/บทความ';
  61. $data['content'] = 'articles';
  62. $this->load->view( 'template', $data );
  63. }
  64. /**
  65. * Show document list page
  66. *
  67. * @param int $index
  68. */
  69. public function documents( $index = 0 ) {
  70. // set the number of items per page
  71. $no = 10;
  72. $cms_document = $this->cms_model->get_cms_document();
  73. $data['document_list'] = $cms_document->get_document_list( 'enabled', $index, $no );
  74. $count = $cms_document->count_document_list( 'enabled' );
  75. $this->load->library('pagination');
  76. $config['base_url'] = site_url( "/documents" );
  77. $config['total_rows'] = $count;
  78. $config['per_page'] = $no;
  79. $config['num_links'] = 4;
  80. $config['uri_segment'] = 2;
  81. $config['first_link'] = '< หน้าแรกสุด';
  82. $config['last_link'] = 'หน้าสุดท้าย >';
  83. $this->pagination->initialize( $config );
  84. $data['page'] = array(
  85. 'index1' => $index +1,
  86. 'index2' => $index +sizeof( $data['document_list'] ),
  87. 'count' => $count,
  88. 'per_page' => $no,
  89. 'links' => $this->pagination->create_links()
  90. );
  91. $data['title'] = 'เอกสาร/ข้อมูลเผยแพร่';
  92. $data['content'] = 'documents';
  93. $this->load->view( 'template', $data );
  94. }
  95. /**
  96. * Show gallery list page
  97. *
  98. * @param int $index
  99. */
  100. public function gallery_list( $index = 0 ) {
  101. // set the number of items per page
  102. $no = 10;
  103. $cms_gallery = $this->cms_model->get_cms_gallery();
  104. $data['gallery_list'] = $cms_gallery->get_gallery_list( 'enabled', $index, $no );
  105. $count = $cms_gallery->count_gallery_list( 'enabled' );
  106. $this->load->library('pagination');
  107. $config['base_url'] = site_url( "/gallery_list" );
  108. $config['total_rows'] = $count;
  109. $config['per_page'] = $no;
  110. $config['num_links'] = 4;
  111. $config['uri_segment'] = 2;
  112. $config['first_link'] = '< หน้าแรกสุด';
  113. $config['last_link'] = 'หน้าสุดท้าย >';
  114. $this->pagination->initialize( $config );
  115. $data['page'] = array(
  116. 'index1' => $index +1,
  117. 'index2' => $index +sizeof( $data['gallery_list'] ),
  118. 'count' => $count,
  119. 'per_page' => $no,
  120. 'links' => $this->pagination->create_links()
  121. );
  122. $data['title'] = 'ห้องภาพ';
  123. $data['content'] = 'galleries';
  124. $this->load->view( 'template', $data );
  125. }
  126. /**
  127. * Show multimedia list page
  128. *
  129. * @param int $index
  130. */
  131. public function multimedia_list( $index=0 ) {
  132. // set the number of items per page
  133. $no = 10;
  134. $cms_multimedia = $this->cms_model->get_cms_multimedia();
  135. $data['multimedia_list'] = $cms_multimedia->get_multimedia_list( 'enabled', $index, $no );
  136. $count = $cms_multimedia->count_multimedia_list( 'enabled' );
  137. $this->load->library('pagination');
  138. $config['base_url'] = site_url( "/multimedia_list" );
  139. $config['total_rows'] = $count;
  140. $config['per_page'] = $no;
  141. $config['num_links'] = 4;
  142. $config['uri_segment'] = 2;
  143. $config['first_link'] = '< หน้าแรกสุด';
  144. $config['last_link'] = 'หน้าสุดท้าย >';
  145. $this->pagination->initialize( $config );
  146. $data['page'] = array(
  147. 'index1' => $index +1,
  148. 'index2' => $index +sizeof( $data['multimedia_list'] ),
  149. 'count' => $count,
  150. 'per_page' => $no,
  151. 'links' => $this->pagination->create_links()
  152. );
  153. $data['title'] = 'Multimedia';
  154. $data['content'] = 'multimedia_list';
  155. $this->load->view( 'template', $data );
  156. }
  157. /**
  158. * Show calendar page
  159. *
  160. */
  161. public function events( $year=null, $month=null ) {
  162. $data['year'] = ( empty( $year ) )? date('Y'): $year;
  163. $data['month'] = ( empty( $month ) )? date('n'): $month;
  164. $start_date = mktime( 0, 0, 0, $data['month'], 1, $data['year'] );
  165. $end_date = mktime( 0, 0, 0, $data['month'] +1, 1, $data['year'] ) -1;
  166. $cms_calendar = $this->cms_model->get_cms_calendar();
  167. $data['events'] = $cms_calendar->get_events( $start_date, $end_date );
  168. $data['title'] = 'กิจกรรมและสัมมนา';
  169. $data['content'] = 'events';
  170. $this->load->view( 'template', $data );
  171. }
  172. /**
  173. * Show tag page
  174. *
  175. */
  176. public function tags() {
  177. $cms_tag = $this->cms_model->get_cms_tag();
  178. $search = $this->input->post( 'search' );
  179. if( !empty( $search ) ) {
  180. $tags = $cms_tag->search( $search );
  181. }
  182. else {
  183. $tags = $cms_tag->get_tag_list();
  184. }
  185. $data['tags'] = $tags;
  186. $data['title'] = 'แท็ก';
  187. $data['content'] = 'tags';
  188. $this->load->view( 'template', $data );
  189. }
  190. /**
  191. * Show search page
  192. *
  193. */
  194. public function search() {
  195. $search_submit = $this->input->post( 'search_submit' );
  196. $data['text-search'] = $this->input->post( 'text-search' );
  197. $data['search'] = $this->input->post( 'search' );
  198. $data['article_check'] = $this->input->post( 'article_check' );
  199. $data['document_check'] = $this->input->post( 'document_check' );
  200. $data['gallery_check'] = $this->input->post( 'gallery_check' );
  201. $data['multimedia_check'] = $this->input->post( 'multimedia_check' );
  202. $data['tag_check'] = $this->input->post( 'tag_check' );
  203. // search from the menu, not from the search form in the page
  204. if( empty( $search_submit ) ) {
  205. $data['article_check'] = 'on';
  206. $data['document_check'] = 'on';
  207. $data['gallery_check'] = 'on';
  208. $data['multimedia_check'] = 'on';
  209. $data['tag_check'] = 'on';
  210. }
  211. // set search value
  212. if( empty( $data['search'] ) ) {
  213. $data['search'] = $data['text-search'];
  214. }
  215. // search
  216. /*
  217. $cms_search = $this->cms_model->get_cms_search()
  218. $cms_search->search( $data['article_check'], $data['document_check'], $data['gallery_check'],
  219. $data['multimedia_check'], $data['tag_check'] );
  220. */
  221. if( !empty( $data['search'] ) ) {
  222. if( $data['article_check'] == 'on' ) {
  223. $cms_article = $this->cms_model->get_cms_article();
  224. $data['articles'] = $cms_article->search( $data['search'] );
  225. }
  226. if( $data['document_check'] == 'on' ) {
  227. $cms_document = $this->cms_model->get_cms_document();
  228. $data['documents'] = $cms_document->search( $data['search'] );
  229. }
  230. if( $data['gallery_check'] == 'on' ) {
  231. $cms_gallery = $this->cms_model->get_cms_gallery();
  232. $data['galleries'] = $cms_gallery->search( $data['search'] );
  233. }
  234. if( $data['multimedia_check'] == 'on' ) {
  235. $cms_multimedia = $this->cms_model->get_cms_multimedia();
  236. $data['multimedia'] = $cms_multimedia->search( $data['search'] );
  237. }
  238. if( $data['tag_check'] == 'on' ) {
  239. $cms_tag = $this->cms_model->get_cms_tag();
  240. $data['tags'] = $cms_tag->search( $data['search'] );
  241. }
  242. }
  243. $data['title'] = 'ค้นหา';
  244. $data['content'] = 'search';
  245. $this->load->view( 'template', $data );
  246. }
  247. /**
  248. * Cont the total number of pages and saved in views/homepage/page_count.txt
  249. *
  250. */
  251. public function page_count() {
  252. $this->load->library( 'piwik' );
  253. $actions = $this->piwik->actions( 'range', '2016-04-01,today' );
  254. file_put_contents( APPPATH .'views/homepage/page_count.txt', $actions['value'] );
  255. }
  256. /**
  257. * Show full version page
  258. *
  259. */
  260. public function full_version() {
  261. $cms_signin = $this->cms_model->get_cms_signin();
  262. $cms_signin->set_full_version();
  263. redirect( '/home' );
  264. }
  265. public function transfer() {
  266. $cms_item_list = $this->cms_model->get_cms_item_list();
  267. $cms_article = $this->cms_model->get_cms_article();
  268. $cms_document = $this->cms_model->get_cms_document();
  269. $cms_gallery = $this->cms_model->get_cms_gallery();
  270. $cms_multimedia = $this->cms_model->get_cms_multimedia();
  271. $cms_pollution = $this->cms_model->get_cms_pollution();
  272. $cms_calendar = $this->cms_model->get_cms_calendar();
  273. $article_list = $cms_article->get_article_list( 'all' );
  274. foreach( $article_list as $article ) {
  275. $item_list = $cms_item_list->add_item_list( 'article', $article->get_article_id() );
  276. $item_list->set_order( $article->get_order() );
  277. $item_list->save();
  278. }
  279. $document_list = $cms_document->get_document_list( 'all' );
  280. foreach( $document_list as $document ) {
  281. $item_list = $cms_item_list->add_item_list( 'document', $document->get_document_id() );
  282. $item_list->set_order( $document->get_order() );
  283. $item_list->save();
  284. }
  285. $gallery_list = $cms_gallery->get_gallery_list( 'all' );
  286. foreach( $gallery_list as $gallery ) {
  287. $item_list = $cms_item_list->add_item_list( 'gallery', $gallery->get_gallery_id() );
  288. $item_list->set_order( $gallery->get_order() );
  289. $item_list->save();
  290. }
  291. $multimedia_list = $cms_multimedia->get_multimedia_list( 'all' );
  292. foreach( $multimedia_list as $multimedia ) {
  293. $item_list = $cms_item_list->add_item_list( 'multimedia', $multimedia->get_multimedia_id() );
  294. $item_list->set_order( $multimedia->get_order() );
  295. $item_list->save();
  296. }
  297. $pollution_list = $cms_pollution->get_pollution_list( 'all' );
  298. foreach( $pollution_list as $pollution ) {
  299. $item_list = $cms_item_list->add_item_list( 'pollution', $pollution->get_pollution_id() );
  300. $item_list->set_order( $pollution->get_order() );
  301. $item_list->save();
  302. }
  303. $calendar_list = $cms_calendar->get_calendar_list( 'all' );
  304. foreach( $calendar_list as $calendar ) {
  305. $item_list = $cms_item_list->add_item_list( 'calendar', $calendar->get_calendar_id() );
  306. $item_list->set_order( $calendar->get_order() );
  307. $item_list->save();
  308. }
  309. }
  310. }
  311. /* End of file home.php */
  312. /* Location: ./application/controllers/home.php */