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_add_history('status', db_result($res_grp, 0, 'status'), $group_id); } if (db_result($res_grp, 0, 'is_public') != $form_public) { group_add_history('is_public', db_result($res_grp, 0, 'is_public'), $group_id); } if (db_result($res_grp, 0, 'type') != $group_type) { group_add_history('type', db_result($res_grp, 0, 'type'), $group_id); } if (db_result($res_grp, 0, 'http_domain') != $form_domain) { group_add_history('http_domain', db_result($res_grp, 0, 'http_domain'), $group_id); } if (db_result($res_grp, 0, 'unix_box') != $form_box) { group_add_history('unix_box', db_result($res_grp, 0, 'unix_box'), $group_id); } if ($form_status == 'A' && !sf_ldap_check_group($group_id)) { if (!sf_ldap_create_group($group_id)) { $feedback .= sf_ldap_get_error_msg(); } else { // // need to properly add all the admins to the group // so their unix_uid gets set up // $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 {