Commit Graph

23 Commits

Author SHA1 Message Date
David Anderson 98bfcdb2d3 web: don't accidentally write to read-only DB replica
BOINC lets you maintain a read-only DB replica,
and certain read-only web pages (like top_users.php)
use the replica in preferences to the master.
But it turns out that these pages aren't actually read-only
because of the too-clever forum_preferences logic.
So sometimes it would add forum_preferences records to the replica,
leading to errors it later copies the same item from the master.

Solution: skip the forum preferences logic if we're using the replica.

We could make this more bulletproof by putting in checks
in insert(), update(), delete() etc.
2015-10-19 14:02:55 -07:00
David Anderson 7a00aa4976 web: changes to support MySQL strict mode
In "strict mode", inserts fail if they don't supply values
for columns with no default defined in the schema
(in non-strict mode, 0 and '' are implicit defaults).
Starting with MySQL version 5.6, strict mode is the default.
This breaks some of the BOINC web code,
which does inserts without giving values to some columns.

There are two ways to solve this:

1) change the schema to give defaults everywhere
2) change the PHP code to supply values for more columns.

I'm using 1) in some cases and 2) in others.
This commit fixes some of the errors; there are others.
2015-04-16 00:01:06 -07:00
David Anderson 40d68bc688 server: when deleting user, remove related DB records
When deleting a user (from the delete_spammers.php script),
remove records that refer to that user in
private_messages, notify, credit_user, badge_user, and friend tables.

Notes:
- This change eliminates some dangling references,
  but in general a BOINC DB doesn't have referential integrity.
  The code should check for dangling references.
- Functions like BoincUser::delete() should delete a user record,
  not try to remove things that refer to it.
  The function delete_user() (in user.inc) does this.
2014-10-08 12:14:34 -07:00
David Anderson b3a36cd8ca admin: add --delete_banished option to delete_spammers.php 2014-05-20 10:41:44 -07:00
David Anderson 7c9b5a6b56 web: lets project admins delete posts and threads
Spam needs to be deleted, not hidden.
Add buttons for deleting posts and threads.
For now, these are available only to admins
(ADMIN, DEV, SCIENTIST privileges).
2014-04-16 22:54:17 -07:00
David Anderson e979588b7f web: cleanup and minor bug fixes, from Janus 2014-01-09 13:51:12 -08:00
David Anderson 0fdfcbd074 web: remove some mysql_* calls 2013-12-16 00:45:45 -08:00
David Anderson bbaff5d2da - web: remove DBNAME hack, which allowed users to see the DB name
(not a big deal, but bad form).
    Fixes #1028

svn path=/trunk/boinc/; revision=22748
2010-11-25 05:54:09 +00:00
David Anderson e1bdfc0ee8 - web: change the way project news is stored.
Old: in a flat file (html/project/project_news.inc)
    New: in a forum (called "News" by default)
    The script html/ops/news_convert.php copies news from
    old to new format.
    You'll also need to edit your index.php and use
    "show_news(0, 5)" to show news.
- web: added a "message of the day" mechanism.
    Edit html/user/motd.php to show a message.
    This will be shown as the first news item,
    but it's not archived (i.e., it's not a forum post)


svn path=/trunk/boinc/; revision=19949
2009-12-16 22:35:08 +00:00
David Anderson 9baf78fe5f - web: added copyright and license info to PHP files
svn path=/trunk/boinc/; revision=15758
2008-08-05 22:43:14 +00:00
David Anderson e65c5f562e svn path=/trunk/boinc/; revision=15434 2008-06-19 03:58:19 +00:00
David Anderson f183b6f47f - web: add general-purpose notification mechanism.
Users can choose whether to get 1 email per notification,
    a daily "digest" email, or no email.
    (All notifications are shown on the Account page).
    Currently used for:
    - Friend requests and confirmations
    - Posts to subscribed threads
    - Private messages

    NOTE: To implement the "daily digest" feature, projects must add
    a periodic task for html/ops/notify.php to config.xml
- web: have project_footer() generate links for
    Account Page and Message Boards as well as Home
    NOTE: projects that want this change
    will have to modify their own project.inc.

svn path=/trunk/boinc/; revision=14447
2007-12-30 22:02:16 +00:00
David Anderson 13baee4302 - user web: add "friend" and "notification" features
- user web: code cleanup in Profile area
- GUI RPC: add missing "/" in auth2 RPC

svn path=/trunk/boinc/; revision=14394
2007-12-18 20:28:08 +00:00
David Anderson b191ba9e33 - web: fix this forum prefs reset problem again; this time for sure
svn path=/trunk/boinc/; revision=14326
2007-11-30 00:32:29 +00:00
David Anderson 27ba7bf0e8 - web: clean up forum prefs forum, and add a Confirm when reset
svn path=/trunk/boinc/; revision=14320
2007-11-29 16:47:56 +00:00
David Anderson feb9433218 - user web: if user edits posts and content is empty, delete; fixes #504
svn path=/trunk/boinc/; revision=14291
2007-11-23 00:51:01 +00:00
David Anderson 615d4dcf22 - user web: the "private-message notification by email" flag
should default to off.
    Note: it's necessary to clear everyone's flag.
    Projects will need to notify users (e.g. via a news item)
    that they need to explicitly set this pref if they want email
    notification of PMs

svn path=/trunk/boinc/; revision=14255
2007-11-19 02:17:57 +00:00
David Anderson 877bec76ce - user web: if user unchecked "OK to send email" pref,
don't show his email address to team founder
- user web: change wording on project prefs page to clarify
    that emails may come from project OR team
- user web: let team founder delete message board

svn path=/trunk/boinc/; revision=14232
2007-11-16 21:31:43 +00:00
David Anderson 22c3f6949f - user web: fix #478
svn path=/trunk/boinc/; revision=14221
2007-11-15 23:56:24 +00:00
David Anderson a49608a028 - user web: allow teams to create their own "team message board".
Team founder and admins have moderator power.
    Anyone can view a team message board,
    but only team members can write to it.
    Users cannot be banished from team message boards
    (due to database limitations).

svn path=/trunk/boinc/; revision=14218
2007-11-15 22:51:05 +00:00
David Anderson 9970e2c71b - user web: bug fixes
svn path=/trunk/boinc/; revision=14204
2007-11-14 21:55:05 +00:00
David Anderson 83362a31ed - user web: change forum prefs editing to use new DB interface
svn path=/trunk/boinc/; revision=14175
2007-11-13 17:18:34 +00:00
David Anderson a18dfc55a7 - user web: revise forum code to use new-style DB interface
svn path=/trunk/boinc/; revision=14160
2007-11-12 20:57:15 +00:00