PageRenderTime 44ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/public/module/activity/chargeEdit.php

https://github.com/karlom/gameadmin
PHP | 278 lines | 234 code | 35 blank | 9 comment | 44 complexity | 603506d40c1c019a18dd217f108e42ba MD5 | raw file
  1. <?php
  2. include_once '../../../protected/config/config.php';
  3. include_once SYSDIR_ADMIN_INCLUDE . '/global.php';
  4. global $lang;
  5. //echo '<pre>';print_r($_POST);die();
  6. $action = $_GET['action'];
  7. $id = $_GET['id'];
  8. if ( $action == 'add' || $action == 'update' ) {
  9. $data['type'] = 'charge';
  10. $data['name'] = SS($_POST['activity_title']);
  11. $data['desc'] = SS($_POST['activity_text']);
  12. if ( $_POST['v_time_state'] == '0' ){
  13. $data['showTimeBegin'] = SS($_POST['v_start_time']);
  14. $data['showTimeEnd'] = SS($_POST['v_end_time']);
  15. $data['fromOnlineDate'] = 0;
  16. } else {
  17. $data['showTimeBegin'] = $_POST['v_start_open_day'] . '-' . $_POST['v_start_open_time'];
  18. $data['showTimeEnd'] = $_POST['v_end_open_day'] . '-' . $_POST['v_end_open_time'];
  19. $data['fromOnlineDate'] = 1;
  20. }
  21. if ( $_POST['a_time_state'] == '0' ){
  22. $data['actBegin'] = SS($_POST['a_start_time']);
  23. $data['actEnd'] = SS($_POST['a_end_time']);
  24. $data['fromOnlineDate'] = 0;
  25. } else {
  26. $data['actBegin'] = $_POST['a_start_open_day'] . '-' . $_POST['a_start_open_time'];
  27. $data['actEnd'] = $_POST['a_end_open_day'] . '-' . $_POST['a_end_open_time'];
  28. $data['fromOnlineDate'] = 1;
  29. }
  30. if ( $_POST['r_time_state'] == '0' ){
  31. $data['timeAwardBegin'] = SS($_POST['r_start_time']);
  32. $data['timeAwardEnd'] = SS($_POST['r_end_time']);
  33. $data['fromOnlineDate'] = 0;
  34. } else {
  35. $data['timeAwardBegin'] = $_POST['r_start_open_day'] . '-' . $_POST['r_start_open_time'];
  36. $data['timeAwardEnd'] = $_POST['r_end_open_day'] . '-' . $_POST['r_end_open_time'];
  37. $data['fromOnlineDate'] = 1;
  38. }
  39. $data['awardType'] = SS(intval($_POST['awardType']));
  40. $data['cmd'] = $_POST['subActivity'];
  41. $data['arg'] = '';
  42. $data['conditionAward'] = SS(json_encode($_POST['prizes']));
  43. //echo $data['conditionAward'];die();
  44. if ( $action == 'add' ){
  45. $sql = getInsertSQL($data, T_ACTIVITY);
  46. } elseif ( $action == 'update' ) {
  47. $data['id'] = SS($_GET['id']);
  48. $sql = makeUpdateSqlFromArray($data, T_ACTIVITY);
  49. };
  50. GQuery($sql);
  51. updateAct();
  52. } elseif ( $action == 'cancel' ) {
  53. $id = SS($_GET['id']);
  54. $arr = array(
  55. 'id' => $id,
  56. 'state' => '1',
  57. );
  58. $sql = makeUpdateSqlFromArray($arr, T_ACTIVITY);
  59. GQuery($sql);
  60. $updateMsg = $lang->activity->canceled;
  61. updateAct();
  62. } else {
  63. $check = array();
  64. $checkSQL = "SELECT * FROM t_activity WHERE state=0 AND type='charge'";
  65. $check = GFetchRowSet($checkSQL);
  66. foreach ($check as $value){
  67. if ( $value['fromOnlineDate'] == '1' ){
  68. if ( strtotime(transDateForm($value['showTimeEnd'])) < time() ){
  69. $arr = array(
  70. 'id' => $value['id'],
  71. 'state' => '1',
  72. );
  73. $sql = makeUpdateSqlFromArray($arr, T_ACTIVITY);
  74. GQuery($sql);
  75. }
  76. } else {
  77. if ( strtotime($value['showTimeEnd']) < time() ){
  78. $arr = array(
  79. 'id' => $value['id'],
  80. 'state' => '1',
  81. );
  82. $sql = makeUpdateSqlFromArray($arr, T_ACTIVITY);
  83. GQuery($sql);
  84. }
  85. };
  86. }
  87. }
  88. // activity on live;
  89. $live = array();
  90. $liveSQL = "SELECT * FROM t_activity WHERE state=0 AND type='charge'";
  91. $live = GFetchRowSet($liveSQL);
  92. // activity history;
  93. $history = array();
  94. $historySQL = "SELECT * FROM t_activity WHERE state=1 AND type='charge'";
  95. $history = GFetchRowSet($historySQL);
  96. $rs = array(
  97. 'lang' => $lang,
  98. 'live' => $live,
  99. 'history' => $history,
  100. 'updateMsg' => $updateMsg,
  101. );
  102. $smarty -> assign($rs);
  103. $smarty -> display('module/activity/chargeEdit.tpl');
  104. function updateAct_deceprated(){
  105. $method = 'setactivity';
  106. $liveSQL = 'SELECT * FROM t_activity WHERE state=0';
  107. $live = GFetchRowSet($liveSQL);
  108. if (!empty($live)){
  109. for ( $i=0; $i<count($live); $i++) {
  110. $arr[$i]['id'] = intval($live[$i]['id']);
  111. $arr[$i]['name'] = urlencode($live[$i]['name']);
  112. $arr[$i]['desc'] = urlencode($live[$i]['desc']);
  113. $arr[$i]['awardType'] = intval($live[$i]['awardType']);
  114. $arr[$i]['cmd'] = $live[$i]['cmd'];
  115. if ( $live[$i]['fromOnlineDate'] == '1' ){
  116. $live[$i]['showTimeBegin'] = transDateForm($live[$i]['showTimeBegin']);
  117. $live[$i]['showTimeEnd'] = transDateForm($live[$i]['showTimeEnd']);
  118. $live[$i]['actBegin'] = transDateForm($live[$i]['actBegin']);
  119. $live[$i]['actEnd'] = transDateForm($live[$i]['actEnd']);
  120. $live[$i]['timeAwardBegin'] = transDateForm($live[$i]['timeAwardBegin']);
  121. $live[$i]['timeAwardEnd'] = transDateForm($live[$i]['timeAwardEnd']);
  122. }
  123. $showB = explode(' ', $live[$i]['showTimeBegin']);
  124. list($arr[$i]['actShowTimeBegin']['year'], $arr[$i]['actShowTimeBegin']['month'], $arr[$i]['actShowTimeBegin']['day']) = explode('-', $showB[0]);
  125. list($arr[$i]['actShowTimeBegin']['hour'], $arr[$i]['actShowTimeBegin']['min'], $arr[$i]['actShowTimeBegin']['sec']) = explode(':', $showB[1]);
  126. $showE = explode(' ', $live[$i]['showTimeEnd']);
  127. list($arr[$i]['actShowTimeEnd']['year'], $arr[$i]['actShowTimeEnd']['month'], $arr[$i]['actShowTimeEnd']['day']) = explode('-', $showE[0]);
  128. list($arr[$i]['actShowTimeEnd']['hour'], $arr[$i]['actShowTimeEnd']['min'], $arr[$i]['actShowTimeEnd']['sec']) = explode(':', $showE[1]);
  129. $actB = explode(' ', $live[$i]['actBegin']);
  130. list($arr[$i]['actBegin']['year'], $arr[$i]['actBegin']['month'], $arr[$i]['actBegin']['day']) = explode('-', $actB[0]);
  131. list($arr[$i]['actBegin']['hour'], $arr[$i]['actBegin']['min'], $arr[$i]['actBegin']['sec']) = explode(':', $actB[1]);
  132. $actE = explode(' ', $live[$i]['actEnd']);
  133. list($arr[$i]['actEnd']['year'], $arr[$i]['actEnd']['month'], $arr[$i]['actEnd']['day']) = explode('-', $actE[0]);
  134. list($arr[$i]['actEnd']['hour'], $arr[$i]['actEnd']['min'], $arr[$i]['actEnd']['sec']) = explode(':', $actE[1]);
  135. $awardB = explode(' ', $live[$i]['timeAwardBegin']);
  136. list($arr[$i]['timeAwardBegin']['year'], $arr[$i]['timeAwardBegin']['month'], $arr[$i]['timeAwardBegin']['day']) = explode('-', $awardB[0]);
  137. list($arr[$i]['timeAwardBegin']['hour'], $arr[$i]['timeAwardBegin']['min'], $arr[$i]['timeAwardBegin']['sec']) = explode(':', $awardB[1]);
  138. $awardE = explode(' ', $live[$i]['timeAwardEnd']);
  139. list($arr[$i]['timeAwardEnd']['year'], $arr[$i]['timeAwardEnd']['month'], $arr[$i]['timeAwardEnd']['day']) = explode('-', $awardE[0]);
  140. list($arr[$i]['timeAwardEnd']['hour'], $arr[$i]['timeAwardEnd']['min'], $arr[$i]['timeAwardEnd']['sec']) = explode(':', $awardE[1]);
  141. $arr[$i]['actBegin'] = array_map('intval', $arr[$i]['actBegin']);
  142. $arr[$i]['actEnd'] = array_map('intval', $arr[$i]['actEnd']);
  143. $arr[$i]['actShowTimeBegin'] = array_map('intval', $arr[$i]['actShowTimeBegin']);
  144. $arr[$i]['actShowTimeEnd'] = array_map('intval', $arr[$i]['actShowTimeEnd']);
  145. $arr[$i]['timeAwardBegin'] = array_map('intval', $arr[$i]['timeAwardBegin']);
  146. $arr[$i]['timeAwardEnd'] = array_map('intval', $arr[$i]['timeAwardEnd']);
  147. $arr[$i]['arg'] = array();
  148. $prizes = json_decode($live[$i]['conditionAward'],true);
  149. // dump($prizes);
  150. $cup = array();
  151. for($j=0; $j<count($prizes); $j++){
  152. $prizes[$j]['items'] = changeArrayBase($prizes[$j]['items'], 1);
  153. if ($live[$i]['type'] == 'rank'){
  154. $prizes[$j]['items'][0]= array($prizes[$j]['startLevel'],$prizes[$j]['endLevel']);
  155. } elseif ($live[$i]['type'] == 'collect'){
  156. if($live[$i]['cmd'] == 'collect_item')
  157. {
  158. $itemList = array();
  159. foreach( $prizes[$j]['items'] as $item )
  160. {
  161. $itemList[] = array_values($item);
  162. }
  163. $conditionList = array();
  164. foreach($prizes[$j]['collectEquip'] as $equipKey => $equip)
  165. {
  166. $condition = array();
  167. $condition[1] = $equip;
  168. $condition[2] = $prizes[$j]['collectNum'][$equipKey ];
  169. $condition[3] = $prizes[$j]['collectRecycle'][$equipKey ];
  170. $conditionList[] = $condition;
  171. }
  172. // $prizes[$j]['items'][0]= array($prizes[$j]['collectEquip'],$prizes[$j]['collectNum'], $prizes[$j]['collectRecycle']);
  173. $prizes[$j]['items'] = array();
  174. $prizes[$j]['items'][1] = $conditionList;
  175. $prizes[$j]['items'][2] = $itemList;
  176. }
  177. else
  178. {
  179. $prizes[$j]['items'][0]= array($prizes[$j]['collectEquip'][0],$prizes[$j]['collectNum'][0]);
  180. }
  181. } elseif ($live[$i]['type'] == 'charge'){
  182. $prizes[$j]['items'][0]= array($prizes[$j]['startLevel'], $prizes[$j]['endLevel']);
  183. };
  184. array_push($cup, $prizes[$j]['items']);
  185. };
  186. $arr[$i]['conditionAward'] = $cup;
  187. for($k=0; $k<count($cup); $k++){
  188. ksort($cup[$k]);
  189. };
  190. $cup = array_values($cup);
  191. for($m=0; $m<count($cup); $m++){
  192. $cup[$m] = array_values($cup[$m]);
  193. for($n=0; $n<count($cup[$m]); $n++){
  194. $cup[$m][$n] = array_values($cup[$m][$n]);
  195. }
  196. };
  197. //
  198. $arr[$i]['conditionAward'] = $cup;
  199. }
  200. for($i=0; $i<count($arr); $i++){
  201. for($j=0; $j<count($arr[$i]['conditionAward']); $j++){
  202. for($k=0; $k<count($arr[$i]['conditionAward'][$j]); $k++){
  203. for($m=0; $m<count($arr[$i]['conditionAward'][$j][$k]); $m++){
  204. convertToInt($arr[$i]['conditionAward'][$j][$k]);
  205. };
  206. };
  207. };
  208. };
  209. for ($i=0; $i<count($arr); $i++){
  210. $key = $arr[$i]['id'];
  211. $rs[$key] = $arr[$i];
  212. unset($rs[$key]['id']);
  213. }
  214. $rs = json_encode($rs);
  215. $rs = urldecode($rs);
  216. $param['ActsConfig'] = $rs;
  217. } else {
  218. $param['ActsConfig'] = '';
  219. };
  220. // dump($param['ActsConfig'][97]);
  221. // dump($param['ActsConfig'][98]);
  222. $result = interfaceRequest($method, $param);
  223. }
  224. function transDateForm_deceprated($a){
  225. $tmp = explode('-', $a);
  226. $tmp[0] = date('Y-m-d', strtotime("+$tmp[0] day", strtotime(ONLINEDATE)));
  227. $result = implode(' ', $tmp);
  228. return $result;
  229. }
  230. function convertToInt_deceprated( &$array )
  231. {
  232. foreach( $array as &$item )
  233. {
  234. if( is_array( $item ) )
  235. {
  236. convertToInt( $item );
  237. }
  238. else
  239. {
  240. $item = intval( $item );
  241. }
  242. }
  243. }