Action.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  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->getTheme();
  58. $this->initProject();
  59. $this->initAction();
  60. }
  61. public function defaultAction(){}
  62. public function initAction(){}
  63. public function initProject(){}
  64. public function afterAction(){}
  65. public function initMysql(){}
  66. public function beforeAction(){}
  67. public function T($n)
  68. {
  69. return $this->perfix.''.$n;
  70. }
  71. public function assign($k, $v)
  72. {
  73. $this->assigndata[$k]=$v;
  74. }
  75. private function initConstruct()
  76. {
  77. $linkdb = $this->rock->get('linkdb','true');
  78. $this->params = explode('-', $this->rock->get('s')); //参数
  79. if($linkdb == 'true' && $this->linkdb){
  80. $this->initMysqllink();
  81. }
  82. }
  83. private function initMysqllink()
  84. {
  85. $this->db = import(DB_DRIVE);
  86. $GLOBALS['db'] = $this->db;
  87. include_once(''.ROOT_PATH.'/include/Model.php');
  88. $this->option = m('option');
  89. }
  90. private function setBasedata()
  91. {
  92. $this->smartydata['bodytitle'] = $this->bodytitle;
  93. $this->smartydata['keywords'] = $this->keywords;
  94. $this->smartydata['description']= $this->description;
  95. $this->smartydata['title'] = $this->title;
  96. $this->smartydata['titles'] = $this->titles;
  97. $this->smartydata['rewrite'] = REWRITE;
  98. $this->smartydata['now'] = $this->now;
  99. $this->smartydata['web'] = $this->rock->web;
  100. $this->smartydata['ip'] = $this->ip;
  101. $this->smartydata['url'] = URL;
  102. $this->smartydata['urly'] = URLY;
  103. $web = $this->rock->web;
  104. $this->assign('web', $web);
  105. $showheader = 1;
  106. $hide = $this->get('hideheader', $this->getsession('hideheader'));
  107. if($hide=='true')$this->rock->savesession(array('hideheader' => $hide));
  108. if($this->rock->iswebbro(0)
  109. || $this->rock->iswebbro(1)
  110. || $this->rock->iswebbro(4)
  111. || $this->rock->iswebbro(7)
  112. || $hide=='true'
  113. || $this->get('headerhide')=='true'
  114. || $this->rock->iswebbro(2))$showheader = 0; //隐藏头部
  115. if($this->get('showheader')=='true')$showheader = 1;
  116. $this->assign('showheader', $showheader);
  117. $nowtime = $this->getsession('nowtime');
  118. if(!$nowtime || getconfig('systype')=='dev'){
  119. $nowtime = time();
  120. $this->rock->setsession('nowtime', $nowtime);
  121. }
  122. $this->assign('nowtime', $nowtime);
  123. }
  124. //主题颜色处理
  125. public function getTheme()
  126. {
  127. $theme = $this->get('apptheme');
  128. if($theme){
  129. $this->rock->setsession('apptheme', $theme);
  130. }else{
  131. $theme = $this->getsession('apptheme');
  132. }
  133. if($theme)$theme = '#'.$theme.'';
  134. if(!$theme || strlen($theme)!=7)$theme = getconfig('apptheme', '#1389D3'); //默认颜色
  135. $this->assign('apptheme', $theme);
  136. return substr($theme, 1);
  137. }
  138. public function setSmartyData()
  139. {
  140. $this->setBasedata();
  141. }
  142. public function setHtmlData()
  143. {
  144. $this->setBasedata();
  145. }
  146. public function getsession($name,$dev='')
  147. {
  148. return $this->rock->session($name, $dev);
  149. }
  150. public function post($na, $dev='', $lx=0)
  151. {
  152. return $this->rock->post($na, $dev, $lx);
  153. }
  154. public function get($na, $dev='', $lx=0)
  155. {
  156. return $this->rock->get($na, $dev, $lx);
  157. }
  158. public function request($na, $dev='', $lx=0)
  159. {
  160. return $this->rock->request($na, $dev, $lx);
  161. }
  162. public function isempt($str)
  163. {
  164. return $this->rock->isempt($str);
  165. }
  166. public function contain($str, $a)
  167. {
  168. return $this->rock->contain($str, $a);
  169. }
  170. public function getcookie($name, $dev='')
  171. {
  172. return $this->rock->cookie($name, $dev);
  173. }
  174. public function stringformat($str, $arr=array())
  175. {
  176. return $this->rock->stringformat($str, $arr);
  177. }
  178. public function getcan($i,$dev='')
  179. {
  180. $val = '';
  181. if(isset($this->params[$i]))$val=$this->params[$i];
  182. if($this->rock->isempt($val)){
  183. $val=$dev;
  184. }else{
  185. $val=str_replace('[a]','-',$val);
  186. }
  187. return $val;
  188. }
  189. public function getmnumAjax()
  190. {
  191. $mnum = $this->rock->request('mnum');
  192. $rows = $this->option->getmnum($mnum);
  193. echo json_encode($rows);
  194. }
  195. public function returnjson($arr)
  196. {
  197. echo json_encode($arr);
  198. exit();
  199. }
  200. public function showreturn($arr='', $msg='', $code=200)
  201. {
  202. showreturn($arr, $msg, $code);
  203. }
  204. }
粤ICP备19079148号