Commit Graph

177 Commits

Author SHA1 Message Date
David Anderson 2d6d4110ea - web: don't check for the stop_web file in BoincDb::get().
That forces that file to include a bunch of unnecessary stuff.
    Do the check at a higher level.

svn path=/trunk/boinc/; revision=15532
2008-07-01 22:11:28 +00:00
David Anderson bfa6747467 - web: shuffle code to eliminate redundancy
svn path=/trunk/boinc/; revision=15419
2008-06-17 17:38:02 +00:00
David Anderson aaa60334be - web: add $prefix arg to sample project_header(), project_footer()
(fix links on profile-index pages)
- web: use cache-control "no-store" only for home.php.
    This makes it so that, e.g. if you scroll to the middle of a long page,
    follow a link, then click Back,
    you'll go back the original scroll position rather than top of page.

svn path=/trunk/boinc/; revision=15391
2008-06-12 04:50:10 +00:00
David Anderson d403a14e42 - web: cleaned up logic of string processing.
There are two aspects:
    1) undoing magic quotes (if it's being used).
        This must be done for all GET and POST string inputs.
        It is now done automatically by get_str() and post_str().
        The places that refer to $_GET and $_POST directly
        must do it themselves using undo_magic_quotes().
    2) Escaping user-supplied strings before using them in DB queries.
        This is done by process_user_text()
        (which should be renamed db_escape_string()).
        The new principle:
        call process_user_text() in the function that does the DB query
        (not at any higher level).


svn path=/trunk/boinc/; revision=15389
2008-06-11 19:36:10 +00:00
David Anderson f0bd46e2c1 - web: change order of includes
svn path=/trunk/boinc/; revision=15381
2008-06-10 18:12:29 +00:00
David Anderson cf6a5281b6 - web: moved some basic utility functions to a separate file
that doesn't need to include all sorts of crap

svn path=/trunk/boinc/; revision=15368
2008-06-05 22:35:03 +00:00
David Anderson d764eb5873 - web: clean up stuff related to stripslashes():
1) it's not correct to apply stripslashes() to all form input.
        That should be done only if magic quotes is on.
        I fixed this by adding a function undo_magic_quotes()
        that does the right thing.
    2) There's no reason to strip backslashes from user-supplied text
        (forum titles and bodies, private messages, passwords etc.)
        I'm not sure why this was being done.
        It prevented messages from containing backslashes.

svn path=/trunk/boinc/; revision=15364
2008-06-05 20:32:21 +00:00
David Anderson 3a00adeb65 - web: add <no_computing> option to config.xml.
If present, don't show anything related to computing.
    Use this for Bossa/Bolt projects, and the BOINC message boards.


svn path=/trunk/boinc/; revision=15228
2008-05-15 22:05:05 +00:00
David Anderson 68f535d033 - user web: send no-cache headers except if we're doing
whole-page caching.  Fixes #626

svn path=/trunk/boinc/; revision=15089
2008-04-24 16:16:36 +00:00
David Anderson 5805d5f13a - web: minor code cleanup
svn path=/trunk/boinc/; revision=14854
2008-03-06 00:40:48 +00:00
David Anderson 0bcaa761f0 - rename cgi.log to scheduler.log
- fix ops login

svn path=/trunk/boinc/; revision=14747
2008-02-15 15:25:44 +00:00
David Anderson 8f3e114f8d - web: make "next URL" mechanism work when user creates new account
instead of logging in

svn path=/trunk/boinc/; revision=14737
2008-02-13 19:54:54 +00:00
David Anderson 02adbc4d49 - web: remove all references to the PHP "session" mechanism,
which added only confusion.
    Implement login directly, using cookies.
- All cookie setting/clearing now goes through two functions,
    send_cookie() and clear_cookie().
    These deal with path and expiry
    (e.g. if you want to have different language or forum settings
    on two projects on the same server, that now works).

svn path=/trunk/boinc/; revision=14735
2008-02-13 19:02:44 +00:00
David Anderson 904cbe5a4f - Add Bolt admin page
- added "hidden" flag to courses


svn path=/trunk/boinc/; revision=14660
2008-02-01 23:11:09 +00:00
David Anderson 2b7314c574 - comment out URL login stuff for now
svn path=/trunk/boinc/; revision=14627
2008-01-28 16:18:19 +00:00
David Anderson ebed572d4f - API: allow Win apps to have icon
svn path=/trunk/boinc/; revision=14625
2008-01-28 15:48:09 +00:00
David Anderson fef16a7498 - web: bug fixes
svn path=/trunk/boinc/; revision=14474
2008-01-06 18:09:23 +00:00
David Anderson b542785c1e - web: My Account page, other user account page, and profile pages
now have community info in a 2nd column on the right.
    This accomplishes two things:
    1) it puts community info in more places;
    2) it provides a reasonable way to format long lists of friends;
        they just continue down the right column.

svn path=/trunk/boinc/; revision=14452
2008-01-01 22:29:10 +00:00
David Anderson 55c0ee22a0 - web: default for user_links() is to not show profile pic.
Show the pic only in the context of friends list.

svn path=/trunk/boinc/; revision=14444
2007-12-27 18:37:22 +00:00
David Anderson f125e7e2de - web: don't require login for show_user.php
- web: add app selection to example project-specific prefs
    (commented out by default)
- web: in prefs, flag too-low numeric values as errors,
    rather than just setting to min value
- web: fix bug when add new venue from "columns" view

svn path=/trunk/boinc/; revision=14442
2007-12-24 21:34:21 +00:00
David Anderson f9d0d3364a - web: don't show profile pics in forums,
since we already show avatars there.

svn path=/trunk/boinc/; revision=14440
2007-12-24 17:26:00 +00:00
David Anderson ed6aecf9bb - user link tweaks
svn path=/trunk/boinc/; revision=14439
2007-12-24 03:45:20 +00:00
David Anderson 724e89ebab - web: if user has profile photo, use it instead of head_20.
svn path=/trunk/boinc/; revision=14438
2007-12-23 23:09:10 +00:00
David Anderson aaa6e6659d - web: if user is banished, don't show their posts except to mods,
don't show their name in thread headers,
    and don't show their profile

svn path=/trunk/boinc/; revision=14344
2007-12-02 21:11:17 +00:00
David Anderson 2a2ba6e19d - web: escape single-quotes in javascript strings
svn path=/trunk/boinc/; revision=14337
2007-12-01 00:52:26 +00:00
David Anderson 235ea7fdea - web: fix PHP errors, add translations strings
svn path=/trunk/boinc/; revision=14302
2007-11-26 03:05:27 +00:00
David Anderson da3671f0de - user web: when showing UOTD on front page,
strip HTML tags from text (e.g. to remove photos)
- user web: show_image(): separate title (tooltip text)
    from "alt" (replaces image if images disabled).
    The latter must be terse.
- user web: show_button(): make it work even if Javascript disabled

svn path=/trunk/boinc/; revision=14294
2007-11-23 21:05:52 +00:00
David Anderson 79343260dd - user web: clean up logic for dealing with forgotten password:
- login form now has ONLY email/passwd
        ("login with account key" is gone)
    - "forgot password?" takes you to a page with two options:
        1) type in email address, get an email with login link
        2) instructions for recovering account key from BOINC account file
    - email is stripped-down, has login link and not much else

    fixes #190

svn path=/trunk/boinc/; revision=14263
2007-11-20 00:23:02 +00:00
David Anderson 512af1d30e - user web: don't append "/" to URL_BASE.
URL_BASE is assumed to end with a /.
    If you put another /, you end up with // in URLs.
    This leads to a situation where you can have
    one cookie for // and another for / - bad.

    If this causes problems for any projects,
    they should edit their project.inc accordingly

svn path=/trunk/boinc/; revision=14254
2007-11-18 22:42:47 +00:00
David Anderson 8097ddefe4 - user web: change Team page:
- add more info about team message board (if it exists)
    - show list of admins
    - show list of new members (in last 24 hours)
    - show number of members total, with credit, and with average credit
    - move actual list of members to new page (team_members.php)

svn path=/trunk/boinc/; revision=14230
2007-11-16 20:43:07 +00:00
Rytis Slatkevičius 6e57bbebc8 Fix #472 (charset not selected correctly from translation file)
svn path=/trunk/boinc/; revision=14203
2007-11-14 20:01:05 +00:00
David Anderson 000a3e5594 - user web: code cleanup, deleted unused files
svn path=/trunk/boinc/; revision=14200
2007-11-14 16:03:47 +00:00
David Anderson 518203a933 - user web: set PHP memory limit to 64 MB
svn path=/trunk/boinc/; revision=14119
2007-11-08 00:13:11 +00:00
David Anderson fb8b4ffabb - user web: added the notion of "Team Admin": team members,
appointed by the founder, who have most of the same
    rights as the founder (edit team info, view/remove users).
    They can't, however, change the founder, or select/remove Admins.
- user web: added the ability for founder to delete an empty team
- user web: count/show all team members, not just those with credit
- user web: Team Search returns top team if form fields left blank
- Added db_update.php entry for Eric's banishment_vote stuff

svn path=/trunk/boinc/; revision=14108
2007-11-07 17:23:29 +00:00
David Anderson 71de03e6de - user web: BoincDb::get() checks if web activity is stopped,
and shows an error page (or XML error) if so.

svn path=/trunk/boinc/; revision=14098
2007-11-06 18:25:44 +00:00
David Anderson c35f02e868 - user web: add a general-purpose user search mechanism.
This lets you lookup up users sorted by
        - descending join time
        - descending total credit, or
        - descending RAC
    and lets you filter them by
        - country
        - presence/absence of team
        - presence/absence of profile
    It's implemented in such a way that no more than N
    DB rows are examined
    (i.e. it doesn't necessarily show you all the results)
- PHP database: add enum_fields() member to DbConn and BoincUser.
    This is to select a limited number of fields
    e.g. to make large queries more efficient.
    Also added BoincTeam::lookup_id_cache(); this is an example
    of how to look up items likely to be repeated
    (like teams when you're showing a list of users)

svn path=/trunk/boinc/; revision=14082
2007-11-05 23:55:33 +00:00
Rytis Slatkevičius c1fb4934ec - user web: convert translations from tokens to strings; update Lithuanian translation.
- ops pages: add user removal feature (for spammers).

svn path=/trunk/boinc/; revision=14020
2007-11-02 14:43:02 +00:00
David Anderson 02a6928335 - see last commit
svn path=/trunk/boinc/; revision=14018
2007-11-01 20:41:24 +00:00
David Anderson 94f9b46fc9 - user web: make buttons look better;
add a function show_button() to display links as buttons
    with hover-based explanation.
    This should be used whenever clicking on something
    performs an action, rather than just going to a new page
    (sometimes the boundary is fuzzy)
- user web: fixed bug when send private message by user name
    

svn path=/trunk/boinc/; revision=14015
2007-10-31 23:50:21 +00:00
Rytis Slatkevičius 105d6aaae3 HTML fixes;
PHP notice fixes;
home.php made translatable, include Lithuanian translation.

svn path=/trunk/boinc/; revision=13997
2007-10-30 19:36:27 +00:00
David Anderson e1ca1c5aee - User web: more DB framework changes;
extended DB framework to allow use of a read-only replica

svn path=/trunk/boinc/; revision=13985
2007-10-29 16:38:25 +00:00
David Anderson dc4ca1e5cd - user web: changes to use new DB framework and eliminate PHP warnings
svn path=/trunk/boinc/; revision=13981
2007-10-28 15:03:14 +00:00
David Anderson 7302f02544 - user web: added new framework for DB access from PHP.
Here's how things should eventually be:
    - inc/db_conn.inc defines DbConn, a PHP class representing
        a connection to a database with
        various generic operations (update, insert etc.).
        DbConn prepends the DB name to table names,
        so you don't have to select a DB;
        this means you can access multiple databases
        (e.g. BOINC and Bossa) and use persistent connections.
        ALL MYSQL-SPECIFIC CODE WILL EVENTUALLY BE HERE.
    - inc/boinc_db.inc defines classes BoincUser, BoincTeam etc.,
        representing the various BOINC DB tables.
        All access to the DB should use these classes.

    When you use this framework, no initialization calls are needed.
    db.inc is deprecated and should eventually be removed.

    I changed get_logged_in_user()
    and all team-related code to use this framework.
- user web: show team founder link to "management functions"
    even if they're not currently a member;
    allow team founder to perform all operations even if not a member.
- turned on E_ALL error checking,
    and fixed a bunch of warnings
    and a couple of bugs ($team, not team)

- database: update schema/constraints for team fulltext search
- user web: forgot to change Serbia and Montenegro to Serbia

svn path=/trunk/boinc/; revision=13968
2007-10-26 21:14:35 +00:00
Rytis Slatkevičius 4b28e7c183 User web: add HTML DOCTYPE (4.01 Transitional) to all pages, make some HTML validity changes.
svn path=/trunk/boinc/; revision=13928
2007-10-22 19:36:01 +00:00
David Anderson d09bf92af3 - user web: add format_credit_large() function to show
credit in situations where it's likely to be large (e.g. team totals)

svn path=/trunk/boinc/; revision=13789
2007-10-07 19:27:59 +00:00
David Anderson cefb2ee5aa - user web: team search tweaks
svn path=/trunk/boinc/; revision=13749
2007-10-02 15:32:28 +00:00
Rytis Slatkevičius 4186ee2073 Reverse changeset 13581 (it broke more than it fixed)
svn path=/trunk/boinc/; revision=13588
2007-09-14 10:02:19 +00:00
Rytis Slatkevičius dd97f02834 - User web: fix XSS vulnerability, web code update recommended
svn path=/trunk/boinc/; revision=13586
2007-09-13 09:46:36 +00:00
Rytis Slatkevičius b8c0ef8815 Work around for servers where PHP magic_quotes_gpc is disabled
svn path=/trunk/boinc/; revision=13581
2007-09-12 18:10:49 +00:00
Rytis Slatkevičius a48027767f User web: new functions to show table rows (and headers) with unlimited number of columns (table_row() and table_header())
User web: show credit information in team member list

svn path=/trunk/boinc/; revision=13464
2007-08-26 12:01:41 +00:00