Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 10, 2013
  1. CORE CHANGE - Added bootstrap classes to message table. Will not brea…

    Corbin Featherstone authored
    …k other themes.
  2. CORE CHANGE: Added bootstrapp classes to all "shortMilestones" tables…

    Corbin Featherstone authored
    …. Will not break other themes
  3. Merge origin/master

    Corbin Featherstone authored
  4. Replaced 'KampPro' theme with 'KampPro2'

    Corbin Featherstone authored
Commits on Apr 7, 2013
  1. @Paintmine
  2. @Paintmine
Commits on Apr 6, 2013
  1. @Paintmine
  2. @Paintmine

    Some tables now distorted

    Paintmine authored
  3. @Paintmine
Commits on Mar 13, 2013
  1. Merge pull request #33 from fb83/master

    added some german translations, translated into german
Commits on Jan 9, 2013
  1. @shawnpwalsh

    Fixed potential revision upload permission issue

    shawnpwalsh authored
    Adding revision was not moving the file to installation's ROOT/tmp
    folder before saving, changed it to mimic the function that adds the
    initial version of the file
Commits on Nov 21, 2012
  1. @fb83
  2. @fb83
  3. @fb83
Commits on Nov 16, 2012
  1. Merge pull request #31 from MarkMaldaba/SomeMoreTidyingOfUnneededFiles

    Some more tidying of unneeded files
  2. Merge pull request #32 from MarkMaldaba/ExposeUserEmailsOption

    New config option: Expose user emails
  3. Merge pull request #30 from MarkMaldaba/HideParkingStuffIfUnused

    Hide parking stuff if unused
Commits on Nov 13, 2012
  1. @MarkMaldaba

    Added a new config option, 'expose user emails', which defaults to tr…

    MarkMaldaba authored
    …ue (to mimic old behaviour). If set to false, then all e-mail will come from the site address defined in the Mail From field (or automatically calculated if not set). I also split the code that generates the site e-mail address into a getSiteEmailAddress() function, so that we encapsulate the logic to generate it better - it can now be called from elsewhere, if needed.
    This will involve a change to the DB data (to add the new option to the config_options table, and to modify the ordering of a subsequent item).  I have added the necessary changes to initial_data.sql, but I don't know how to manage updates to existing systems.  Here is the code that will need to be run, but I have no idea where to put it, I'm afraid!
        INSERT INTO `<?php echo $table_prefix ?>config_options`
         (`category_name`, `name`, `value`, `config_handler_class`, `is_system`, `option_order`, `dev_comment`)
         ('mailing', 'mail_expose_user_emails', '1', 'BoolConfigHandler', 0, 12,
          'Enable to expose user e-mails in the from/reply-to field, or disable to always use the site address, below.');
        UPDATE `<?php echo $table_prefix ?>config_options`
        SET `option_order` = 13
        WHERE `category_name` = 'mailing' AND `name` = 'mail_from';
  2. @MarkMaldaba

    I've removed attributes.php from the uploads directory, as this file …

    MarkMaldaba authored
    …is automatically created/updated by the software, and so should not be under version control (it always gets marked as changed, which is incorrect and confusing, and may end up causing the changes to be committed to the repo accidentally). We also don't want any of the files that the application generates in this directory (the uploads themselves) to be accidentally committed to the repository, so I've added a .gitignore file to ignore everything except itself. Now that this is present, we no longer need empty.txt, which was originally added to make sure that Git created the directory (as there is no way to create truly empty directories in Git).
    I've added a check to FilesController::repair() so that it works correctly when the file is not there, however the code which is used for all normal usage is nicely encapsulated in the FileRepository_Backend_FileSystem class, which already handles things correctly if the file is missing, so that was the only place that needed updating.
    The only other reference to attributes.php is in tools/db2fs.php, but this is referring to a local version of the file in that directory, and so is unaffected by this change.
  3. @MarkMaldaba

    Updated code that generates parking URLs so that if no URL is defined…

    MarkMaldaba authored
    … in the config settings, then no URL is generated at all. I believe this was intended behaviour (as there is one location where the code checks whether the URL is blank and only adds an option if it isn't) but in all cases the config value had a query string appended, and therefore it would never be blank.
    As well as ensuring that the contact's getReserveParkingSpaceUrl() function works properly, I have updated the code on the list_contacts view so that it only outputs the 'reserve parking space' option when a URL is available.  This was the only other place where the function is currently used.
Commits on Nov 1, 2012
  1. @Rarian

    Allow for users to be granted ability to edit own projects, admin sta…

    Rarian authored
    …tus, and auto-assign upon creation instead of having to subsequently edit the user.
Commits on Oct 31, 2012
  1. @shawnpwalsh

    Display error on page when uploading file revision

    shawnpwalsh authored
    If there is an error during uploading of a file revision, display it to
    the page
  2. @shawnpwalsh

    Move timezone from Account page to Contact page

    shawnpwalsh authored
    Fixes issue reported by numerous users where timezone changes would not
Commits on Oct 14, 2012
  1. Merge pull request #23 from Engelbert/Fix-MindMap

    EB: Fix MindMap (node 4058)
  2. Merge pull request #25 from nabab/master

    Translation + Missing language items tool
  3. Merge pull request #17 from Engelbert/Tasks-PDF

    EB: Tasks pdf output revamped
  4. @nabab
Commits on Sep 5, 2012
  1. @Engelbert

    EB: Fix MindMap (node 4058)

    Engelbert authored
    With thanks to kamili for fixing this.
    check :
Commits on Aug 27, 2012
  1. @Engelbert

    EB: revisit notifier for updating useraccounts

    Engelbert authored
    looked terrible so did a little tweaking for all our eyes to enjoy
  2. @Engelbert

    EB: revisit notifier for new useraccounts

    Engelbert authored
    Layout was terrible so I added some linebreaks to it.
    Rest of this is up to the translators and their imagination...
Commits on Jun 9, 2012
  1. @Engelbert

    EB: Tasks pdf output revamped

    Engelbert authored
    * pdf properties populated
    * pdf opening view changed to display the full page
    * added colours for better visual interpretation
    * changed the layout to make the extra information better readable
Commits on May 8, 2012
  1. Merge pull request #13 from MarkMaldaba/CacheDirCleanup

    Tidying up cache folder
Commits on Apr 28, 2012
  1. @MarkMaldaba

    Currently there are three files in the cache directory, which don't n…

    MarkMaldaba authored
    …eed to be there:
    * /cache/autoloader.php
    * /cache/log.php
    * /cache/trace.txt
    These files ship as empty place-holder files, but will be written to by the application in certain situations. This causes problems with revision control, as the files show up as 'modified' and may end up being committed to the source repository. This is not just a problem in the main ProjectPier repository, but it has down-stream implications too.
    The code already creates these files automatically if they don't already exist, but there are a couple of places where errors may be raised if they are not present. This commit contains the necessary modifications to remove these errors:
    * When including the autoloader.php, we suppress errors using @ prior to the fopen() statement.
    * The __production_error_handler() was logging all errors (except E_STRICT), even if they were deliberately suppressed using @. This patch updates the function so that it ignores suppressed errors. I've also added a comment to explain what 2048 means, and why the E_STRICT constant isn't being used.
    This has been logged as a bug at
Commits on Mar 20, 2012
  1. @maxime-gaudron
  2. @maxime-gaudron
Something went wrong with that request. Please try again.