module-link-uniacid.ctrl.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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('module');
  8. load()->model('wxapp');
  9. $dos = array('module_link_uniacid', 'search_link_account', 'module_unlink_uniacid');
  10. $do = in_array($do, $dos) ? $do : 'module_link_uniacid';
  11. $_W['page']['title'] = '数据同步 - 小程序 - 管理';
  12. $module_table = table('module');
  13. $version_id = intval($_GPC['version_id']);
  14. $wxapp_info = wxapp_fetch($_W['uniacid']);
  15. if (!empty($version_id)) {
  16. $version_info = wxapp_version($version_id);
  17. }
  18. if ($do == 'module_link_uniacid') {
  19. $module_name = trim($_GPC['module_name']);
  20. if (checksubmit('submit')) {
  21. $uniacid = intval($_GPC['uniacid']);
  22. if (empty($module_name) || empty($uniacid)) {
  23. iajax('1', '参数错误!');
  24. }
  25. $module = module_fetch($module_name);
  26. if (empty($module)) {
  27. iajax('1', '模块不存在!');
  28. }
  29. $module_update = array();
  30. $module_update[$module['name']] = array('name' => $module['name'], 'version' => $module['version'], 'uniacid' => $uniacid);
  31. pdo_update('wxapp_versions', array('modules' => serialize($module_update)), array('id' => $version_id));
  32. iajax(0, '关联公众号成功');
  33. }
  34. if (!empty($version_info['modules'])) {
  35. foreach ($version_info['modules'] as &$module_value) {
  36. $link_uniacid_info = $module_table->moduleLinkUniacidInfo($module_value['name']);
  37. if (!empty($link_uniacid_info)) {
  38. foreach ($link_uniacid_info as $info) {
  39. if ($info['settings']['link_uniacid'] == $_W['uniacid']) {
  40. $module_value['other_link'] = uni_fetch($info['uniacid']);
  41. }
  42. }
  43. }
  44. }
  45. }
  46. template('wxapp/version-module-link-uniacid');
  47. }
  48. if ($do == 'module_unlink_uniacid') {
  49. if (!empty($version_info)) {
  50. $module = current($version_info['modules']);
  51. $version_modules = array(
  52. $module['name'] => array(
  53. 'name' => $module['name'],
  54. 'version' => $module['version']
  55. )
  56. );
  57. }
  58. $version_modules = serialize($version_modules);
  59. $result = pdo_update('wxapp_versions', array('modules' => $version_modules), array('id' => $version_info['id']));
  60. if ($result) {
  61. iajax(0, '删除成功!', referer());
  62. } else {
  63. iajax(0, '删除失败!', referer());
  64. }
  65. }
  66. if ($do == 'search_link_account') {
  67. $module_name = trim($_GPC['module_name']);
  68. $account_type = intval($_GPC['type']);
  69. if (empty($module_name)) {
  70. iajax(0, array());
  71. }
  72. $module = module_fetch($module_name);
  73. if (empty($module)) {
  74. iajax(0, array());
  75. }
  76. if (!in_array($account_type, array(ACCOUNT_TYPE_WEBAPP_NORMAL, ACCOUNT_TYPE_OFFCIAL_NORMAL))) {
  77. iajax(0, array());
  78. }
  79. $have_link_uniacid = array();
  80. $link_uniacid_info = $module_table->moduleLinkUniacidInfo($module_name);
  81. if (!empty($link_uniacid_info)) {
  82. foreach ($link_uniacid_info as $info) {
  83. if (!empty($info['settings']['link_uniacid'])) {
  84. $have_link_uniacid[] = $info['uniacid'];
  85. }
  86. }
  87. }
  88. if ($account_type == ACCOUNT_TYPE_OFFCIAL_NORMAL) {
  89. $account_normal_list = uni_search_link_account($module_name, ACCOUNT_TYPE_OFFCIAL_NORMAL);
  90. $account_auth_list = uni_search_link_account($module_name, ACCOUNT_TYPE_OFFCIAL_AUTH);
  91. $account_list = array_merge($account_normal_list, $account_auth_list);
  92. } else {
  93. $account_list = uni_search_link_account($module_name, $account_type);
  94. }
  95. if (!empty($account_list)) {
  96. foreach ($account_list as $key => $account) {
  97. if (in_array($account['uniacid'], $have_link_uniacid)) {
  98. unset($account_list[$key]);
  99. continue;
  100. }
  101. $account_list[$key]['logo'] = is_file(IA_ROOT . '/attachment/headimg_' . $account['acid'] . '.jpg') ? tomedia('headimg_'.$account['acid']. '.jpg').'?time='.time() : './resource/images/nopic-107.png';
  102. }
  103. }
  104. iajax(0, $account_list);
  105. }