public function save($onDuplicateKey = 0) { $var = parent::save($onDuplicateKey); //pr($this); if ($var) { $acc = new Account(); $load = isset($this->load) ? addslashes($this->load) : 0; if (!$load) { $acc->getByID($var); } else { $mainValue = $this->admin_id; $acc = $this; } $role2Acc = new Role2Account(); $arr = $role2Acc->getWhere("role_admin_id = '{$acc->admin_id}'"); //pr($arr); if (count($arr) > 0) { //sudah ada role2acc nya $role2Acc = $arr[0]; $role2Acc->load = 1; //$role2Acc->role_admin_id = $var; $role2Acc->role_id = $acc->admin_role; //$role2Acc->account_username = $acc->admin_username; } else { //belum ada role2acc nya //$role2Acc = $arr[0]; //$role2Acc->load = 1; $role2Acc->role_admin_id = $var; $role2Acc->role_id = $acc->admin_role; //$role2Acc->account_username = $acc->admin_username; } //process Hook just in case Hook::processHook($this->save_hook); return $role2Acc->save(); } return 0; }
public function updater() { $id = TextP::postP("id", ""); $name = TextP::postP("name", ""); $lvl = TextP::postP("lvl", ""); $org = TextP::postP("org", ""); $role = TextP::postP("role", ""); $json = array(); $json['post'] = $_POST; $json['isi'][] = $role; $json['isi'][] = $name; $json['isi'][] = $lvl; $json['isi'][] = $org; $json['isi'][] = $id; $json['bool'] = 0; if ($id == "" || $name == "" || $lvl == "" || $org == "" || $role == "") { $json['err'] = Lang::t('Please provide all data'); die(json_encode($json)); } $acc = new Account(); $acc->getByID($id); $acc->admin_nama_depan = urldecode($name); $acc->admin_role = urldecode($role); $acc->load = 1; $suc = $acc->save(); $json['isi'][] = $suc; //if($suc){ //update role2acc $role2acc = new Role2Account(); $arrR2c = $role2acc->getWhere("role_admin_id = '{$id}' LIMIT 0,1"); $role2acc->getByID($arrR2c[0]->rc_id); $role2acc->role_id = $role; $role2acc->load = 1; $suc2 = $role2acc->save(); $json['isi'][] = $suc2; //if($suc2){ //update lvl dan org $am = new AccountMeta(); $arrMeta = $am->getWhere("account_id = {$id}"); if (count($arrMeta) < 1) { //create new $am2 = new AccountMeta(); $am2->account_id = $id; $am2->meta_key = "RoleLevel"; $am2->meta_value = $lvl; $am2->save(); //create new $am2 = new AccountMeta(); $am2->account_id = $id; $am2->meta_key = "RoleOrganization"; $am2->meta_value = $org; $am2->save(); } else { foreach ($arrMeta as $mt) { if ($mt->meta_key == "RoleLevel") { $am2 = new AccountMeta(); $am2->getByID($mt->meta_id); $am2->meta_value = $lvl; $am2->load = 1; $am2->save(); } if ($mt->meta_key == "RoleOrganization") { $am2 = new AccountMeta(); $am2->getByID($mt->meta_id); $am2->meta_value = $org; $am2->load = 1; $am2->save(); } } } // } $json['bool'] = $suc2; //} die(json_encode($json)); }