Action.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <?php
  2. /**
  3. *****************************************************************
  4. * 联系QQ: 290802026/1073744729 *
  5. * 版 本: V2.0 *
  6. * 开发者:雨中磐石工作室 *
  7. * 邮 箱: admin@rockoa.com *
  8. * 网 址: http://www.rockoa.com/ *
  9. * 说 明: 主控制器处理 *
  10. * 备 注: 未经允许不得商业出售,代码欢迎参考纠正 *
  11. *****************************************************************
  12. */
  13. abstract class mainAction{
  14. public $rock;
  15. public $db;
  16. public $smarty;
  17. public $smartydata = array(); //模版数据
  18. public $assigndata = array();
  19. public $display = true; //是否显示模板
  20. public $bodytitle = ''; //副标题
  21. public $keywords = ''; //关键词
  22. public $description = ''; //说明
  23. public $linkdb = true; //是否连接数据库
  24. public $params = array(); //参数
  25. public $now;
  26. public $date;
  27. public $ip;
  28. public $web;
  29. public $title = TITLE;
  30. public $titles = '';
  31. public $option;
  32. public $jm;
  33. public $table;
  34. public $extentid = 0;
  35. public $importjs = '';
  36. public $perfix = '';
  37. public $tplname = ''; //模板文件
  38. public $tplpath = ''; //模板文件路径
  39. public $tpltype = 'tpl';
  40. public $tpldom = 'html';
  41. public $displayfile = '';
  42. public $bodyMessage = ''; //返回的内容
  43. public function __construct()
  44. {
  45. $this->rock = $GLOBALS['rock'];
  46. $this->smarty = $GLOBALS['smarty'];
  47. $this->jm = c('jm', true);
  48. $_obj = c('lang');if($_obj!=NULL && method_exists($_obj,'initLang'))$_obj->initLang();
  49. $this->now = $this->rock->now();
  50. $this->date = $this->rock->date;
  51. $this->ip = $this->rock->ip;
  52. $this->web = $this->rock->web;
  53. $this->perfix = PREFIX;
  54. $this->display = true;
  55. $this->initMysql();
  56. $this->initConstruct();
  57. $this->initProject();
  58. $this->initAction();
  59. }
  60. public function defaultAction(){}
  61. public function initAction(){}
  62. public function initProject(){}
  63. public function afterAction(){}
  64. public function initMysql(){}
  65. public function beforeAction(){}
  66. public function T($n)
  67. {
  68. return $this->perfix.''.$n;
  69. }
  70. public function assign($k, $v)
  71. {
  72. $this->assigndata[$k]=$v;
  73. }
  74. private function initConstruct()
  75. {
  76. $linkdb = $this->rock->get('linkdb','true');
  77. $this->params = explode('-', $this->rock->get('s')); //参数
  78. if($linkdb == 'true' && $this->linkdb){
  79. $this->initMysqllink();
  80. }
  81. }
  82. private function initMysqllink()
  83. {
  84. $this->db = import(DB_DRIVE);
  85. $GLOBALS['db'] = $this->db;
  86. include_once(''.ROOT_PATH.'/include/Model.php');
  87. $this->option = m('option');
  88. }
  89. private function setBasedata()
  90. {
  91. $this->smartydata['bodytitle'] = $this->bodytitle;
  92. $this->smartydata['keywords'] = $this->keywords;
  93. $this->smartydata['description']= $this->description;
  94. $this->smartydata['title'] = $this->title;
  95. $this->smartydata['titles'] = $this->titles;
  96. $this->smartydata['rewrite'] = REWRITE;
  97. $this->smartydata['now'] = $this->now;
  98. $this->smartydata['web'] = $this->rock->web;
  99. $this->smartydata['ip'] = $this->ip;
  100. $this->smartydata['url'] = URL;
  101. $this->smartydata['urly'] = URLY;
  102. $web = $this->rock->web;
  103. $this->assign('web', $web);
  104. $showheader = 1;
  105. $hide = $this->get('hideheader', $this->getsession('hideheader'));
  106. if($hide=='true')$this->rock->savesession(array('hideheader' => $hide));
  107. if($this->rock->iswebbro(0)
  108. || $this->rock->iswebbro(1)
  109. || $this->rock->iswebbro(4)
  110. || $this->rock->iswebbro(7)
  111. || $hide=='true'
  112. || $this->get('headerhide')=='true'
  113. || $this->rock->iswebbro(2))$showheader = 0; //隐藏头部
  114. if($this->get('showheader')=='true')$showheader = 1;
  115. $this->assign('showheader', $showheader);
  116. }
  117. public function setSmartyData()
  118. {
  119. $this->setBasedata();
  120. }
  121. public function setHtmlData()
  122. {
  123. $this->setBasedata();
  124. }
  125. public function getsession($name,$dev='')
  126. {
  127. return $this->rock->session($name, $dev);
  128. }
  129. public function post($na, $dev='', $lx=0)
  130. {
  131. return $this->rock->post($na, $dev, $lx);
  132. }
  133. public function get($na, $dev='', $lx=0)
  134. {
  135. return $this->rock->get($na, $dev, $lx);
  136. }
  137. public function request($na, $dev='', $lx=0)
  138. {
  139. return $this->rock->request($na, $dev, $lx);
  140. }
  141. public function isempt($str)
  142. {
  143. return $this->rock->isempt($str);
  144. }
  145. public function contain($str, $a)
  146. {
  147. return $this->rock->contain($str, $a);
  148. }
  149. public function getcookie($name, $dev='')
  150. {
  151. return $this->rock->cookie($name, $dev);
  152. }
  153. public function stringformat($str, $arr=array())
  154. {
  155. return $this->rock->stringformat($str, $arr);
  156. }
  157. public function getcan($i,$dev='')
  158. {
  159. $val = '';
  160. if(isset($this->params[$i]))$val=$this->params[$i];
  161. if($this->rock->isempt($val)){
  162. $val=$dev;
  163. }else{
  164. $val=str_replace('[a]','-',$val);
  165. }
  166. return $val;
  167. }
  168. public function getmnumAjax()
  169. {
  170. $mnum = $this->rock->request('mnum');
  171. $rows = $this->option->getmnum($mnum);
  172. echo json_encode($rows);
  173. }
  174. public function returnjson($arr)
  175. {
  176. echo json_encode($arr);
  177. exit();
  178. }
  179. public function showreturn($arr='', $msg='', $code=200)
  180. {
  181. showreturn($arr, $msg, $code);
  182. }
  183. }
粤ICP备19079148号