public function insGroup() { $update = isset($_GET['update']) ? addslashes($_GET['update']) : 0; $gid = isset($_GET['gid']) ? addslashes($_GET['gid']) : 0; $gname = isset($_POST['gname']) ? addslashes($_POST['gname']) : die("no gname"); $arrMember = isset($_POST['arrMember']) ? addslashes($_POST['arrMember']) : die("no arrMember"); $exp = explode(",", $arrMember); if (count($exp) < 2) { //minimum of chat group = 2 $json['bool'] = 0; $json['err'] = Lang::t('Chat min 2 person'); echo json_encode($json); die; } //first insert group $g = new ChatGroup(); if ($update) { if ($gid > 0) { $g->getByID($gid); if ($g->inbox_from != Account::getMyID()) { die("hacking attempt"); } else { $g->load = 1; $cg = new ChatMember(); $cg->deleteMemberByGID($gid); } } else { die("hacking attempt 2"); } } $g->inbox_judul = $gname; $g->inbox_from = Account::getMyID(); if (!$update) { $g->inbox_createdate = leap_mysqldate(); } $g->inbox_changedate = leap_mysqldate(); $id = $g->save(); if ($id) { if ($update) { $id = $gid; } foreach ($exp as $mm) { if ($mm == "") { continue; } $m = new ChatMember(); $m->chat_member_id = $mm; $m->chat_group_id = $id; $m->save(); } } $json = array(); $json['bool'] = $id; echo json_encode($json); }
public function closeGroup() { $gid = isset($_POST['inboxid']) ? addslashes($_POST['inboxid']) : die("NO GID"); $g = new ChatGroup(); $g->getByID($gid); //check apa dia owner if ($g->inbox_from == Account::getMyID()) { //delete process //3 steps : 1 group, 2 chat, 3 member $json['bool'] = $g->delete($gid); $cm = new ChatMsg(); $cm->deleteMsgByGID($gid); $cg = new ChatMember(); $arrMember = $cg->getMemberFromGID($gid); $cg->deleteMemberByGID($gid); $g2 = new ChatGroup(); foreach ($arrMember as $mm) { if ($mm->admin_id != Account::getMyID()) { $g2->removeNotifPortalForAllMember($gid, $mm->admin_id); } } } else { $json['bool'] = 0; $json['err'] = Lang::t("Not Authorize"); } echo json_encode($json); die; }