$p->user_id = $this->id;
$mem = $p->fetchAll(); // fetch all the rows and set the $mem variable to the rows data, just like mysqli_fetch_assoc
- $e->logDeletedRecord($p);
+ $e->logDeletedRecord($mem);
foreach($mem as $p) {
$p->delete();
function beforeUpdate($old, $q, $roo)
{
+
+
if(!empty($q['_generate_oath_key'])){
$o = clone($this);
$this->generateOathKey();
if(!empty($q['membership_list'])){
- $pid = $q['id'];
+
+ if ($roo->authUser->id == $old->id) {
+ // you are editing yourself...
+
+ // if was admin before....
+ // -if new membership does not icnlude admin id
+ // -- then show error
+
+
+ }
+
+
+
+
$x = PDO_DataObject::factory('core_group_member');
$x->select('group_id');
- $x->whereAdd("user_id={$pid}");
- $ar = $x->fetchAll(true);
+ $x->user_id = $q['id'];
+
+ $ar = $x->fetchAll('group_id');
$group_id_arr = explode(",", $q['membership_list']);
$result_del = array_diff($ar, $group_id_arr);
- var_dump($result_del); exit;
+
// check if id needs to be deleted
if(!empty($result_del)){
- foreach($result_del as $rdid){
- $del = $x->get($rdid)->delete();
+ /*
+ $x = PDO_DataObject::factory('core_group_member');
+ $x->user_id = $q['id'];
+ $x->whereAddIn('group_id', $result_del, 'int');
+ foreach($x->fetchAll() as $cgm) {
+ $cgm->delete();
+ }
+
+
+ */
+ foreach($result_del as $group_id){
+ $x = PDO_DataObject::factory('core_group_member');
+ $x->user_id = $q['id'];
+ $x->group_id = $group_id;
+ $x->find(true);
+ $x->delete();
}
}
// insert data into core_person_member...
//PDO_DataObject::Factory('coremytable_group_member')->set([ 'group_id' => 'test', 'user_id' => "{$this->tableName()}.id"])->insert();
- foreach($result_add as $gid){
- PDO_DataObject::Factory('core_group_member')->set([ 'group_id' => $gid, 'user_id' => $pid])->insert();
+ if(!empty($result_add)){
+ foreach($result_add as $gid){
+ PDO_DataObject::Factory('core_group_member')->set(array(
+ 'group_id'=> $gid,
+ 'user_id' => $q['id']
+ ))->insert();
+ }
}
}
}