/** * create group and areas * * @param string $name * @param object $parent (optional) * @return array */ function create_ngroup($name, Ngroup $parent=null) { $ngroup = new Ngroup; $ngroup->id = DB::fetchfield("SELECT max(id) FROM ngroup") + 1; $ngroup->name = $name; if ($parent) $ngroup->parent = $parent->id; $ngroup->active = true; $ngroup->minimum_population = 200; $ngroup->minimum_quorum_votingmode = 10; $ngroup->create(['id', 'name', 'parent', 'active', 'minimum_population', 'minimum_quorum_votingmode']); $area = new Area; $area->ngroup = $ngroup->id; $area->name = "Politik"; $area->create(); $area2 = new Area; $area2->ngroup = $ngroup->id; $area2->name = "Innerparteiliches"; $area2->create(); return [$ngroup, $area]; }
if (!isset($ngroup_map[$name])) { // get matching group $result = DB::query("SELECT * FROM ngroup WHERE name ILIKE ".DB::esc($name)); if ( $ngroup = DB::fetch_object($result, "Ngroup") ) { if ( DB::num_rows($result) > 1 ) { echo "WARNING: More than one matching groups for '$name' were found!\n"; } if ($ngroup->parent != $parent) { echo "WARNING: The parent of group '$name' is '$ngroup->parent' in the database, but '$parent' in line $line!\n"; } } else { // create group that does not yet exist $ngroup = new Ngroup; $ngroup->name = $name; $ngroup->parent = $parent; $ngroup->create(['name', 'parent']); echo "Created group '$name'\n"; } $ngroup_map[$name] = $ngroup->id; } $ngroups[] = $ngroup_map[$name]; $parent = $ngroup_map[$name]; } $sql = "SELECT * FROM member WHERE invite=".DB::esc($invite); DB::transaction_start(); $result = DB::query($sql); if ( $member = DB::fetch_object($result, "Member") ) { $member->eligible = (bool) $data[1]; $member->verified = (bool) $data[2]; $member->update(['eligible', 'verified']);