welcome.ctrl.php 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. <?php
  2. /**
  3. * [WeEngine System] Copyright (c) 2014 WE7.CC
  4. * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  5. */
  6. defined('IN_IA') or exit('Access Denied');
  7. load()->model('welcome');
  8. load()->model('cloud');
  9. load()->func('communication');
  10. load()->func('db');
  11. load()->model('extension');
  12. load()->model('module');
  13. load()->model('system');
  14. load()->model('user');
  15. load()->model('wxapp');
  16. $dos = array('platform', 'system', 'ext', 'get_fans_kpi', 'get_last_modules', 'get_system_upgrade', 'get_upgrade_modules', 'get_module_statistics', 'get_ads', 'get_not_installed_modules');
  17. $do = in_array($do, $dos) ? $do : 'platform';
  18. if ($do == 'get_not_installed_modules') {
  19. $data = array();
  20. $not_installed_modules = module_get_all_unistalled('uninstalled', false);
  21. $not_installed_modules = $not_installed_modules['modules']['uninstalled'];
  22. $data['app_count'] = count($not_installed_modules['app']);
  23. $data['wxapp_count'] = count($not_installed_modules['wxapp_count']);
  24. $not_installed_modules['app'] = is_array($not_installed_modules['app']) ? array_slice($not_installed_modules['app'], 0, 4) : array();
  25. $not_installed_modules['wxapp'] = is_array($not_installed_modules['wxapp']) ? array_slice($not_installed_modules['wxapp'], 0, 4) : array();
  26. $data['module'] = array_merge($not_installed_modules['app'], $not_installed_modules['wxapp']);
  27. if (is_array($data['module']) && !empty($data['module'])) {
  28. foreach ($data['module'] as &$module) {
  29. if ($module['app_support'] == 2) {
  30. $module['link'] = url('module/manage-system/not_installed', array('account_type' => ACCOUNT_TYPE_OFFCIAL_NORMAL));
  31. } else {
  32. $module['link'] = url('module/manage-system/not_installed', array('account_type' => ACCOUNT_TYPE_APP_NORMAL));
  33. }
  34. }
  35. }
  36. iajax(0, $data);
  37. }
  38. if ($do == 'ext' && $_GPC['m'] != 'store' && !$_GPC['system_welcome']) {
  39. if (!empty($_GPC['version_id'])) {
  40. $version_info = wxapp_version($_GPC['version_id']);
  41. }
  42. $account_api = WeAccount::create();
  43. if (is_error($account_api)) {
  44. message($account_api['message'], url('account/display'));
  45. }
  46. $check_manange = $account_api->checkIntoManage();
  47. if (is_error($check_manange)) {
  48. $account_display_url = $account_api->accountDisplayUrl();
  49. itoast('', $account_display_url);
  50. }
  51. }
  52. if ($do == 'platform') {
  53. $last_uniacid = uni_account_last_switch();
  54. if($_W['uniacid'] == 10008&&$_W['uid']>1||$_W['uniacid'] == 10009&&$_W['uid']>1||$_W['uniacid'] == 10007&&$_W['uid']>1){
  55. $url = url('home/welcome/ext', array('m' => 'we7_wmall'));
  56. uni_account_switch($_W['uniacid'], $url);
  57. }
  58. if($_W['uniacid'] == 10011&&$_W['uid']>1){
  59. $url = url('home/welcome/ext', array('m' => 'ewei_shopv2'));
  60. uni_account_switch($_W['uniacid'], $url);
  61. }
  62. if (empty($last_uniacid)) {
  63. itoast('', url('account/display'), 'info');
  64. }
  65. if (!empty($last_uniacid) && $last_uniacid != $_W['uniacid']) {
  66. uni_account_switch($last_uniacid, url('home/welcome'));
  67. }
  68. define('FRAME', 'account');
  69. if (empty($_W['account']['endtime']) && !empty($_W['account']['endtime']) && $_W['account']['endtime'] < time()) {
  70. itoast('公众号已到服务期限,请联系管理员并续费', url('account/manage'), 'info');
  71. }
  72. $notices = welcome_notices_get();
  73. template('home/welcome');
  74. } elseif ($do == 'system') {
  75. define('FRAME', 'system');
  76. $_W['page']['title'] = '欢迎页 - 系统管理';
  77. if(!$_W['isfounder'] || user_is_vice_founder()){
  78. header('Location: ' . url('account/manage', array('account_type' => 1)), true);
  79. exit;
  80. }
  81. $reductions = system_database_backup();
  82. if (!empty($reductions)) {
  83. $last_backup = array_shift($reductions);
  84. $last_backup_time = $last_backup['time'];
  85. $backup_days = welcome_database_backup_days($last_backup_time);
  86. } else {
  87. $backup_days = 0;
  88. }
  89. template('home/welcome-system');
  90. } elseif ($do =='get_module_statistics') {
  91. $uninstall_modules = module_get_all_unistalled('uninstalled');
  92. $account_uninstall_modules_nums = $uninstall_modules['app_count'];
  93. $wxapp_uninstall_modules_nums = $uninstall_modules['wxapp_count'];
  94. $account_modules = user_module_by_account_type('account');
  95. $wxapp_modules = user_module_by_account_type('wxapp');
  96. $account_modules_total = count($account_modules) + $account_uninstall_modules_nums;
  97. $wxapp_modules_total = count($wxapp_modules) + $wxapp_uninstall_modules_nums;
  98. $module_statistics = array(
  99. 'account_uninstall_modules_nums' => $account_uninstall_modules_nums,
  100. 'wxapp_uninstall_modules_nums' => $wxapp_uninstall_modules_nums,
  101. 'account_modules_total' => $account_modules_total,
  102. 'wxapp_modules_total' => $wxapp_modules_total
  103. );
  104. iajax(0, $module_statistics, '');
  105. } elseif ($do == 'ext') {
  106. $modulename = $_GPC['m'];
  107. if (!empty($modulename)) {
  108. $_W['current_module'] = module_fetch($modulename);
  109. }
  110. define('FRAME', 'account');
  111. define('IN_MODULE', $modulename);
  112. if ($_GPC['system_welcome'] && $_W['isfounder']) {
  113. $frames = buildframes('system_welcome');
  114. } else {
  115. $site = WeUtility::createModule($modulename);
  116. if (!is_error($site)) {
  117. $method = 'welcomeDisplay';
  118. if(method_exists($site, $method)){
  119. define('FRAME', 'module_welcome');
  120. $entries = module_entries($modulename, array('menu', 'home', 'profile', 'shortcut', 'cover', 'mine'));
  121. $site->$method($entries);
  122. exit;
  123. }
  124. }
  125. $frames = buildframes('account');
  126. }
  127. $uni_account_module = table('module')->uniAccountModuleInfo($modulename);
  128. foreach ($frames['section'] as $secion) {
  129. foreach ($secion['menu'] as $menu) {
  130. if (!empty($menu['url'])) {
  131. if (!empty($uni_account_module['settings']['default_entry']) && !strpos($menu['url'], '&eid=' . $uni_account_module['settings']['default_entry'])) {
  132. continue;
  133. }
  134. header('Location: ' . $_W['siteroot'] . 'web/' . $menu['url']);
  135. exit;
  136. }
  137. }
  138. }
  139. template('home/welcome-ext');
  140. } elseif ($do == 'get_fans_kpi') {
  141. uni_update_week_stat();
  142. $yesterday = date('Ymd', strtotime('-1 days'));
  143. $yesterday_stat = pdo_get('stat_fans', array('date' => $yesterday, 'uniacid' => $_W['uniacid']));
  144. $yesterday_stat['new'] = intval($yesterday_stat['new']);
  145. $yesterday_stat['cancel'] = intval($yesterday_stat['cancel']);
  146. $yesterday_stat['jing_num'] = intval($yesterday_stat['new']) - intval($yesterday_stat['cancel']);
  147. $yesterday_stat['cumulate'] = intval($yesterday_stat['cumulate']);
  148. $today_stat = pdo_get('stat_fans', array('date' => date('Ymd'), 'uniacid' => $_W['uniacid']));
  149. $today_stat['new'] = intval($today_stat['new']);
  150. $today_stat['cancel'] = intval($today_stat['cancel']);
  151. $today_stat['jing_num'] = $today_stat['new'] - $today_stat['cancel'];
  152. $today_stat['cumulate'] = intval($today_stat['jing_num']) + $yesterday_stat['cumulate'];
  153. if($today_stat['cumulate'] < 0) {
  154. $today_stat['cumulate'] = 0;
  155. }
  156. iajax(0, array('yesterday' => $yesterday_stat, 'today' => $today_stat), '');
  157. } elseif ($do == 'get_last_modules') {
  158. $last_modules = welcome_get_last_modules();
  159. if (is_error($last_modules)) {
  160. iajax(1, $last_modules['message'], '');
  161. } else {
  162. iajax(0, $last_modules, '');
  163. }
  164. } elseif ($do == 'get_system_upgrade') {
  165. $upgrade = welcome_get_cloud_upgrade();
  166. iajax(0, $upgrade, '');
  167. } elseif ($do == 'get_upgrade_modules') {
  168. $account_upgrade_modules = module_upgrade_new('account');
  169. $account_upgrade_module_nums = count($account_upgrade_modules);
  170. $wxapp_upgrade_modules = module_upgrade_new('wxapp');
  171. $wxapp_upgrade_module_nums = count($wxapp_upgrade_modules);
  172. $account_upgrade_module_list = array_slice($account_upgrade_modules, 0, 4);
  173. $wxapp_upgrade_module_list = array_slice($wxapp_upgrade_modules, 0, 4);
  174. $upgrade_module_list = array_merge($account_upgrade_module_list, $wxapp_upgrade_module_list);
  175. $upgrade_module = array(
  176. 'upgrade_module_list' => $upgrade_module_list,
  177. 'upgrade_module_nums' => array(
  178. 'account_upgrade_module_nums' => $account_upgrade_module_nums,
  179. 'wxapp_upgrade_module_nums' => $wxapp_upgrade_module_nums
  180. )
  181. );
  182. iajax(0, $upgrade_module, '');
  183. } elseif ($do == 'get_ads') {
  184. $ads = welcome_get_ads();
  185. if (is_error($ads)) {
  186. iajax(1, $ads['message']);
  187. } else {
  188. iajax(0, $ads);
  189. }
  190. }