webapp.table.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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()->table('account');
  8. class WebappTable extends AccountTable {
  9. public function createWebappInfo($attr, $uid) {
  10. $name = $attr['name'];
  11. $description = $attr['description'];
  12. $data = array(
  13. 'name' => $name,
  14. 'description' => $description,
  15. 'title_initial' => get_first_pinyin($name),
  16. 'groupid' => 0,
  17. );
  18. if (!pdo_insert('uni_account', $data)) {
  19. return false;
  20. }
  21. $uniacid = pdo_insertid();
  22. if(!$uniacid) {
  23. return false;
  24. }
  25. $accountdata = array('uniacid' => $uniacid, 'type' => ACCOUNT_TYPE_WEBAPP_NORMAL, 'hash' => random(8));
  26. pdo_insert('account', $accountdata);
  27. $acid = pdo_insertid();
  28. pdo_update('uni_account', array('default_acid'=>$acid), array('uniacid'=>$uniacid));
  29. pdo_insert('account_webapp', array('uniacid'=>$uniacid, 'acid'=>$acid, 'name'=>$name));
  30. $unisettings['creditnames'] = array('credit1' => array('title' => '积分', 'enabled' => 1), 'credit2' => array('title' => '余额', 'enabled' => 1));
  31. $unisettings['creditnames'] = iserializer($unisettings['creditnames']);
  32. $unisettings['creditbehaviors'] = array('activity' => 'credit1', 'currency' => 'credit2');
  33. $unisettings['creditbehaviors'] = iserializer($unisettings['creditbehaviors']);
  34. $unisettings['uniacid'] = $uniacid;
  35. pdo_insert('uni_settings', $unisettings);
  36. $this->createLog($uniacid, $uid);
  37. return $uniacid;
  38. }
  39. private function createLog($uniacid, $uid) {
  40. if (empty($_W['isfounder'])) {
  41. $user_info = permission_user_account_num($uid);
  42. uni_user_account_role($uniacid, $uid, ACCOUNT_MANAGE_NAME_OWNER);
  43. if (empty($user_info['usergroup_webapp_limit'])) {
  44. pdo_update('account', array('endtime' => strtotime('+1 month', time())), array('uniacid' => $uniacid));
  45. pdo_insert('site_store_create_account', array('uid' => $uid, 'uniacid' => $uniacid, 'type' => ACCOUNT_TYPE_WEBAPP_NORMAL));
  46. }
  47. }
  48. if (user_is_vice_founder()) {
  49. uni_user_account_role($uniacid, $uid, ACCOUNT_MANAGE_NAME_VICE_FOUNDER);
  50. }
  51. }
  52. }