function activate_group($group_id) { global $feedback; //echo("activate_group($group_id)<br>"); if (sf_ldap_create_group($group_id, 0)) { db_query("UPDATE groups " . "SET status='A' " . "WHERE group_id={$group_id}"); /* Make founding admin be an active member of the project */ $admin_res = db_query("SELECT * " . "FROM users,user_group " . "WHERE user_group.group_id={$group_id} " . "AND user_group.admin_flags='A' " . "AND users.user_id=user_group.user_id "); if (db_numrows($admin_res) > 0) { $group =& group_get_object($group_id); // // user_get_object should really have a valid user_id passed in // or you are defeating the purpose of the object pooling // $admin =& user_get_object(db_result($admin_res, 0, 'user_id'), $admin_res); if ($group->addUser($admin->getUnixName())) { /* Now send the project approval emails */ group_add_history('approved', 'x', $group_id); send_new_project_email($group_id); usleep(250000); // TODO: This is dirty. If sendmail required pause, let send_new... handle it } else { $feedback = $group->getErrorMessage(); } } else { echo db_error(); } } else { /* There was error creating LDAP entry */ group_add_history('ldap:', sf_ldap_get_error_msg(), $group_id); } }
$group = group_get_object($group_id, $res_grp); $res_admin = db_query("SELECT users.user_name " . "FROM user_group,users " . "WHERE users.user_id=user_group.user_id " . "AND user_group.group_id='{$group_id}' " . "AND user_group.admin_flags='A'"); while ($row_admin = db_fetch_array($res_admin)) { if (!$group->addUser($row_admin['user_name'])) { echo $group->getErrorMessage(); } } } } else { if (sf_ldap_check_group($group_id)) { sf_ldap_remove_group($group_id); } } if (sf_ldap_get_error_msg()) { $feedback .= sf_ldap_get_error_msg(); group_add_history('ldap:', sf_ldap_get_error_msg(), $group_id); } else { db_query("UPDATE groups SET is_public={$form_public},status='{$form_status}'," . "license='{$form_license}',type='{$group_type}'," . "unix_box='{$form_box}',http_domain='{$form_domain}' WHERE group_id={$group_id}"); if ($form_status == "D") { db_query("UPDATE prweb_vhost SET state=2 WHERE group_id={$group_id}"); } $feedback .= 'Updated Project Info<br>'; } /* If this is a foundry, see if they have a preferences row, if not, create one */ if ($group_type == '2') { $res = db_query("SELECT * FROM foundry_data WHERE foundry_id='{$group_id}'"); if (db_numrows($res) < 1) { group_add_history('added foundry_data row', '', $group_id); $feedback .= ' CREATING NEW FOUNDRY_DATA ROW ';