function project_delete($p_project_id) { $t_email_notifications = config_get('enable_email_notification'); # temporarily disable all notifications config_set_cache('enable_email_notification', OFF, CONFIG_TYPE_INT); $c_project_id = db_prepare_int($p_project_id); $t_project_table = db_get_table('project'); # Delete the bugs bug_delete_all($p_project_id); # Delete associations with custom field definitions. custom_field_unlink_all($p_project_id); # Delete the project categories category_remove_all($p_project_id); # Delete the project versions version_remove_all($p_project_id); # Delete relations to other projects project_hierarchy_remove_all($p_project_id); # Delete the project files project_delete_all_files($p_project_id); # Delete the records assigning users to this project project_remove_all_users($p_project_id); # Delete all news entries associated with the project being deleted news_delete_all($p_project_id); # Delete project specific configurations config_delete_project($p_project_id); # Delete any user prefs that are project specific user_pref_delete_project($p_project_id); # Delete the project entry $query = "DELETE FROM {$t_project_table}\n\t\t\t\t WHERE id=" . db_param(); db_query_bound($query, array($c_project_id)); config_set_cache('enable_email_notification', $t_email_notifications, CONFIG_TYPE_INT); project_clear_cache($p_project_id); # db_query errors on failure so: return true; }
/** * Delete a project * @param integer $p_project_id A project identifier. * @return void */ function project_delete($p_project_id) { event_signal('EVENT_MANAGE_PROJECT_DELETE', array($p_project_id)); $t_email_notifications = config_get('enable_email_notification'); # temporarily disable all notifications config_set_cache('enable_email_notification', OFF, CONFIG_TYPE_INT); # Delete the bugs bug_delete_all($p_project_id); # Delete associations with custom field definitions. custom_field_unlink_all($p_project_id); # Delete the project categories category_remove_all($p_project_id); # Delete the project versions version_remove_all($p_project_id); # Delete relations to other projects project_hierarchy_remove_all($p_project_id); # Delete the project files project_delete_all_files($p_project_id); # Delete the records assigning users to this project project_remove_all_users($p_project_id); # Delete all news entries associated with the project being deleted news_delete_all($p_project_id); # Delete project specific configurations config_delete_project($p_project_id); # Delete any user prefs that are project specific user_pref_delete_project($p_project_id); # Delete the project entry $t_query = 'DELETE FROM {project} WHERE id=' . db_param(); db_query($t_query, array($p_project_id)); config_set_cache('enable_email_notification', $t_email_notifications, CONFIG_TYPE_INT); project_clear_cache($p_project_id); }