1. 22 Jun, 2000 2 commits
    • Dries's avatar
      · b32b897a
      Dries authored
      * Integrated the database abstraction layer into the account pages.  One
        reason for doing so is because the database abstraction layer provides
        build-in error checking and a debug mode for easy development.
      b32b897a
    • Dries's avatar
      · 8720cbf6
      Dries authored
      * Fixed a small bugs, integrated the database abstraction layer and
        shortened the code.
      8720cbf6
  2. 21 Jun, 2000 2 commits
    • Dries's avatar
      · 0f5a60e1
      Dries authored
      IMPORANT - IMPORTANT - :)
      =========================
      
      Wulp.  I did a major upgrade by (a) breaking a lot of stuff and (b) by
      re-doing those things in a much better way.  I redesigned the stories
      and submissions SQL tables, the way they work and the way they co-
      operate together.
      
      In addition, I changed the way parameters are passed to
      $theme->abstract() and $theme->article().  Instead of passing a
      sh!tload of parameters that only cluttered the code and required too
      much pre-processing on the engine-side, we now pass a singly object
      $story.  $story has more variables then the paramaters we used to pass,
      so it allows for better theming (if you feel like it).
      
      I'm not finished yet but I decided to upload my changes so you can
      start patching and updating your themes: PLEASE update your themes
      ASAP!  I don't plan making heavy changes like this again, so don't
      get intimiated. ;)  You mainly have to update article() and abstract()
      as well as a minor update of footer():
      
      article(), abstract():
      ----------------------
       - use the $story object - see my theme!
       - the morelink can now be themed.  Currently you can use the function
         morelink_bytes() in function.inc to `render' the old morelink.  The
         idea is to make a morelink_words() or morelink_lines() sooner or
         later because "188 bytes in body" is not half as clear as "52 words
         in body".  Clearly, "52 words" is much more informative. ;-)
      
      footer():
      ---------
       - in the article-part, you need to update the displayRelatedLinks():
         instead of passing it $sid, you need to pass it $story (after you
         globaled $story).
      
      Everything should display correct on the following pages:
       - main page
       - article page (follow a `read more | xxx bytes in bdoy | x comments' link)
       - submission queue
      Check if they work with your theme: they should as they work fine for
      me (theme `Dries') ...  If you got stuck, just look at my theme or ask
      for a hand on the list!
      
      
      Hopefully you can update your themes asap.  Thanks in advance.
      0f5a60e1
    • Dries's avatar
      · 8a7690af
      Dries authored
      Wheep! Wheep! Major performance optimization for index.php: we reduced the
      number of SQL on the mainpage with factor 10 and shortened the code with 4
      lines.  There is only *one* optimized SQL query left, being:
      
      $result = db_query("SELECT stories.*, COUNT(comments.sid) AS comments FROM
      stories LEFT JOIN comments ON stories.sid = comments.sid WHERE
      stories.status = 1 AND stories.time <= $date GROUP BY stories.sid ORDER BY
      stories.sid DESC LIMIT $number");
      
       Note: we use a LEFT JOIN to retrieve the number of comments associated
             with each story.  By retrieving this data now, we elimate a *lot*
             of individual queries that would otherwise be required inside the
             while-loop.  If there is no matching record for the right table in
             the ON-part of the LEFT JOIN, a row with all columns set to NULL
             is used for the right table.  This is required, as not every story
             has a counterpart in the comments table (at a given time).
      8a7690af
  3. 20 Jun, 2000 2 commits
    • Dries's avatar
      · d64e3f6d
      Dries authored
      * Small bugfix. ;-)
      d64e3f6d
    • Dries's avatar
      · 988707a6
      Dries authored
      Here we go again with a rather large commit:
      fixed a lot of annoying bugs and boxed whatever there was left to be boxed.
      
       * user.class.php: renamed $user->update() to $user->rehash().
       * user.class.php: fixed a typical quote-bug in $user->rehash().
       * functions.inc: fixed bug in displayOldHeadlines().
       * functions.inc: improved several functions.
       * account.php: fixed major bug in showUser().
       * account.php: added some extra words to the human-readable
                      password-generator(tm).
       * account.php: boxed ALL functions! Fieuw!
       * submit.php: add some general information and guidlines on how to
                     post submissions.
       * config.inc: re-thought the categories to be more generic.
       * submission.php: minor changes
       * search.pph: fixed minor bug with the author's names.
      
      Woops.  I have an exam within 4 hours: back to my books. ;-)
      
      --------------------------------------------------------------------
      
       * Anyone could check sumbit.php, sumbission.php and faq.php for
         typoes?
       * Anyone could adjust calendar.class.php to fit IE?  *huh*huh*
       * Don't be scared to hack along (see below)!  I'll be working on
         the submissions and comments.
      
      --------------------------------------------------------------------
      
      Status of drop v0.10:
      (make the system erational' and release it.)
      
        - submissions:
            submission queue         (75% complete)
            submission moderation    (75% complete)
        - comments:
            comment moderation       ( 0% complete)
            comment administration   ( 0% complete)
            fixup timestamp mess     ( 0% complete)
        - user system:
            mail password            ( 0% complete)
            user administation       (50% complete)
            patch admin.php          ( 0% complete)
            account confirmation     ( 0% complete)
            e-mail confimation upon modification of e-mail address
                                     ( 0% complete)
        - proper handling of forms: text2html, html2text
            html2txt, txt2html       (10% complete)
            bad-word filter          (80% complete)
            automatic link detection ( 0% complete)
            allowed HTML-tag checker ( 0% complete)
        - FAQ:
            cleanup, disclaimer      (50% complete)
        - theme:
            box everything          (100% complete)
      988707a6
  4. 18 Jun, 2000 1 commit
    • Dries's avatar
      · 6fec4168
      Dries authored
      * small changes to make it look better (?).
      6fec4168
  5. 17 Jun, 2000 1 commit
    • Dries's avatar
      · 2c6b710c
      Dries authored
      * Boxed the FAQ (--> looks better now) and made various changes to the FAQ
        content.  The only thing left to `box' are the `account setting'-pages.
      2c6b710c
  6. 16 Jun, 2000 3 commits
    • Dries's avatar
      · 6e3e0c6f
      Dries authored
      * Moved ban.php to admin-new.php: this will feature the new admin pages
        (under development).  I'll slowly keep adding stuff to admin-new.php
        and one day we'll be able to replace admin.php with admin-new.php: I
        am just making preparations and `pre-processing' some stuff so we'll
        have something to work from. Remind that the rewrite of admin.php is
        sheduled for v0.20.
      6e3e0c6f
    • Dries's avatar
      · 17a008ca
      Dries authored
      * Boxed submit.php - whew, it's a pain to edit all those print statements.
      * Fixed quite a lot of HTML-bugs in the HTML code generator and cleaned up
        the generated coded quite a lot.
      
      => much better now :)
      17a008ca
    • Dries's avatar
      · 76f30557
      Dries authored
      * Changed a few things to make development easier without breaking things
        to the outside world.  It's a first step towards improving the submission
        queue.
      
      * More important (to the theme babies): instead of passing individual
        parameters I'm considering to pass an object.
          $theme->abstract($story->aid, $story->informant, $story->time,
           stripslashes($story->subject), stripslashes($story->abstract),
           stripslashes($story->comments), $story->category, $story->department,
           $morelink);
        would become:
          $theme->abstract($story);
        What do you guys think about pushing this trough?  It would be much better
        and would give extra `power' to the themes.
      76f30557
  7. 15 Jun, 2000 1 commit
  8. 13 Jun, 2000 2 commits
    • Jeroen's avatar
      Changed my theme so you could vote submissions. · 518229c4
      Jeroen authored
      518229c4
    • Dries's avatar
      · 1887ba80
      Dries authored
      Hoeray!  I have a first core version of submission moderation up and
      running.  This means people can submit stories, and moderators can
      moderate stories.  When a submission reaches a certain positive
      threshold (currently set to 2) the submission becomes a story and up
      it goes.   If a submission reaches a certain negative threshold
      (currently set to -2) the submission is dumped.
      
      The fact this is all done by our visitors (without our intervention)
      makes it truly spiffy imho.  The website can live a life on it's own,
      fed by the visitors.
      
      Beware, a lot of work need to be done though ... it's just a first
      basic implementation with the core functionality.  There are quite
      a lot of things that I'll need to change, extend and improve.  But
      comments, suggestions and ideas are - as always - welcomed.
      
      Please read this log message carefully!  It features quite a lot of
      important information.
      
      To test the moderation, log in, select theme 'Dries' (the other themes
      need a small update) and head by clicking the one and only 'submission
      moderation' link.  Don't be afraid to submit lame/funny/useless
      stories for testing purpose ... as soon we go public, we'll wipe out
      the story database.  ;-)
      
      
      WHAT'S NEW?
      -----------
      * Added 2 new operations to user.class.php to set and retrieve the
        user's "history".  Very evil but required to avoid people voting
        twice.
      * Moved dbsave() from account.php to functions.php.  In addition, I
        added a new function to user.class.php called `save()' that ...
        well, saves the object back to the database.  It's (IMHO) a better
        approach compared to dbsave(): it keeps things organized. ;-)
      
      
      BUGFIXES:
      ---------
      * Fixed a (heavy) memory leak in the constructor of user.class.php:
        mysql_fetch_array() returns an _associative_ array which made the
        constructor `pollute' the object with a lot of useless variables.
      * Fixed the slash-problem on the account pages. :-)
      * Fixed UnConeD's theme glitch, alas the warning.
      * Fixed the e-mail address not showing in the confirmation email
        (upon registration).
      * Fixed the typical quote and backslash problems in submit.php.
      * submit.php now uses the database abstraction layer.
      
      IMPORTANT:
      ----------
      * You can check the new submission system at:
          http://beta.drop.org/submission.php
        or by following the `submission moderation' link from my theme.
      * UnConeD, Jeroen: you'll need to update your themes to take
        advantage of the new function: displayAccount().  This function
        will display the `submission moderation' link when a user is
        logged on.
      * Natrak: you might want to apply the patches in user.class.php
        on the other sites using the same user-system.
      1887ba80
  9. 12 Jun, 2000 1 commit
    • Dries's avatar
      · 00ff842a
      Dries authored
      Minor updates:
      * Fixed a minor alignment glitch.
      * Aligned the code to look nicer.
      * Please make it scale well in IE.
      00ff842a
  10. 11 Jun, 2000 4 commits
    • Dries's avatar
      Bugfix: · 5c6ddd0a
      Dries authored
        * Temporary bugfix to fix a problem with UnConeD's theme.  Don't worry,
          it's because some changes I made ... which should be fixed now.
      
      Note:
        * Btw, has someone bothered to scale the calendar.class.php to fit nicely
          in IE (Windows)?  Please do. ;-)
      5c6ddd0a
    • Dries's avatar
      · 130cbb71
      Dries authored
      Updates:
       * Streamlined the database abstraction layer a bit (it's not much yet) and
         integrated it in most of the functions of `functions.inc'.
      130cbb71
    • Dries's avatar
      · c8b21448
      Dries authored
      Updates:
       * Fixed (hopefully) the bugs earlier reported by Jeroen.  :o)
       * Revamped the code to be more efficient as well as easier to use and
         maintain.
      c8b21448
    • Dries's avatar
      · f66120de
      Dries authored
      Updates:
       * Various small changes to account.php including a SQL table movement:
         'testusers' -> 'users'.  As a result, user.class.php and article.php
         needed patching as well.  Hopefully I didn't break anyting.  ;o)
      f66120de
  11. 10 Jun, 2000 3 commits
    • Dries's avatar
      · 44a566c8
      Dries authored
      * admin.inc will include all admin related help-functions including the
        already present header() and footer() functions.
      44a566c8
    • Dries's avatar
      · 4ce030b8
      Dries authored
      * databases.inc is a new file that will serve as a database abstraction
        layer.  My new files already take advantage of the abstraction layer
        though no attempt is made to port the existing files: this is sheduled
        for a future v0.40 release (see http://beta.drop.org/docs/roadmap.php).
        Anyway, with the abstraction layer it should be theoretically possible
        to run drop on top of every database, even on top of a home-brewed
        file-based system.  *wink-to-UnConeD* ;-)
      4ce030b8
    • Dries's avatar
      · 9583c72c
      Dries authored
      * Implemented ban-capabilities, a first step towards an admin-friendly user
        system:
         - you can add and remove wild-carded e-mails from the banlist.
         - you can add and remove wild-carded hostnames from the banlist.
         - you can add and remove wild-carded usernames from the banlist.
         - you can add and remove wild-carded profanity from the banlist.
         - you can browse all bans according to their category: see ban.php.
      9583c72c
  12. 07 Jun, 2000 1 commit
    • Dries's avatar
      · 9b99d319
      Dries authored
      * Boxed search.php: looks a lot, lot better now.  %-)
      * Side-note: 2 exams down, 3 to go
      9b99d319
  13. 05 Jun, 2000 6 commits
    • Jeroen's avatar
      renamed my theme.class · 7ae0cff3
      Jeroen authored
      7ae0cff3
    • Dries's avatar
      · 24ec602c
      Dries authored
      IMPORTANT PATCH:
      ----------------
      
      * Altered the theming system to follow the naming convention of class files.
        theme.class has been renamed to theme.class.php!
      * I fixed the default theme and my own theme, but none of the others themes
        for your convenience...  This means *you* have to rename your theme on CVS
        by (a) removing it from CVS and (b) adding it back with a its new name:
        'theme.class.php'.
          For the clueless:
          mv theme.class theme.class.php
          cvs remove theme.class
          cvs add theme.class.php
          cvs commit theme.class.php
      * Sorry for breaking things ... try to fix it asap and everything will be
        OK. ;)
      24ec602c
    • Dries's avatar
      · 467817f9
      Dries authored
      * Enhancement: protect the themes/-directory (and subdirectory) from
        prying eyes.
      467817f9
    • Dries's avatar
      · 5bbf24e3
      Dries authored
      * Bugfix: you can actually search the stories now without being slapped by
        a MySQL error.  huh, huh.
      5bbf24e3
    • Dries's avatar
      · 595316b0
      Dries authored
      * Bugfix: the `story submission'-form is no longer toasted due to the new
        user system.
      595316b0
    • Dries's avatar
      · 50fc563b
      Dries authored
      * Enhancement: removed themes/list.php by integrating it directly into
        account.php.  list.php was just being clumpsy and did simply not
        belong in the themes/-directory.
      50fc563b
  14. 04 Jun, 2000 6 commits
  15. 03 Jun, 2000 5 commits
    • Dries's avatar
      · 21efe9de
      Dries authored
      * Quick patch to fix a problem.  I'm at my gf's place
        running windows on a good ol' slow modem.
      21efe9de
    • Dries's avatar
      · 3db5f310
      Dries authored
      Bugfixes:
      ---------
      * Fixed a few bugs in account.php - saves Natrak some time.
        I only fixed the obvious, very small bugs reported today.
      
      Enhancements:
      -------------
      * Made the default theme a setting in config.inc.  You can now easily
        change the default theme.  It's a much nicer approach with more
        flexibility.  When working on your theme, you set your theme to be the
        default theme.  In addition, with a small scripting tric in config.inc
        we could automatically set the default theme to the most popular theme
        (according to the user table), or we could periodically cycle (round
        robin) through all themes: say every week a new default theme.  I truly
        think that's better. :-)
      * Adjusted config.inc, theme.inc and account.php in order to do so.
      * I have some remarks with regards to config.inc, but I think I'll share
        those later in a seperate mail.
      3db5f310
    • Dries's avatar
      · 44e01f84
      Dries authored
      * Tiny bugfix: oops, a typo.
      44e01f84
    • Dries's avatar
      * Improved calendar.class.php speed-wise: did some inline caching to make · 07118dbd
      Dries authored
        rendering a calendar less expensive.
      * Added a function displayCalendar($theme, $active_date) to functions.inc.
      * Adjusted index.php so it would support URIs formated like
        "?date=$unix_timestamp".
      * Integrated the calendar in my personal theme: themes/Dries/theme.class.
        If you want to include the calendar in your theme, check the code in my
        $theme->footer(): global $date and call displayCalendar($theme, $date).
      
      Check the main page at http://beta.drop.org/ with theme 'Dries' to see it
      yourself!
      07118dbd
    • natrak's avatar
      Fixed some old cookiedecode() remainders. · b260b2bc
      natrak authored
      b260b2bc