aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpav <pav@FreeBSD.org>2005-11-12 06:17:17 +0800
committerpav <pav@FreeBSD.org>2005-11-12 06:17:17 +0800
commit6d1b4f182f7a02bc47dc647a03eca35e26d8a860 (patch)
tree3aa18ebed419916687befd46128facc6d6e2c72f
parentf2ddf0faa8abb2e4cb86f0d5db7a84d83d10f6c2 (diff)
downloadfreebsd-ports-gnome-6d1b4f182f7a02bc47dc647a03eca35e26d8a860.tar.gz
freebsd-ports-gnome-6d1b4f182f7a02bc47dc647a03eca35e26d8a860.tar.zst
freebsd-ports-gnome-6d1b4f182f7a02bc47dc647a03eca35e26d8a860.zip
- Update to 0.9.8
- Integrate 0.9.8-update1 PR: ports/88332 Submitted by: Nick Hilliard <nick@foobar.org> (maintainer)
-rw-r--r--devel/flyspray/Makefile45
-rw-r--r--devel/flyspray/distinfo5
-rw-r--r--devel/flyspray/files/README.FreeBSD66
-rw-r--r--devel/flyspray/files/patch-.htaccess20
-rw-r--r--devel/flyspray/files/patch-docs-CHANGELOG.txt18
-rw-r--r--devel/flyspray/files/patch-header.php16
-rw-r--r--devel/flyspray/files/patch-includes-functions.inc.php78
-rw-r--r--devel/flyspray/files/patch-includes-regexp.php94
-rw-r--r--devel/flyspray/files/patch-index.php29
-rw-r--r--devel/flyspray/files/patch-remote.php10
-rw-r--r--devel/flyspray/files/patch-scripts-details.php60
-rw-r--r--devel/flyspray/files/patch-scripts-index.php67
-rw-r--r--devel/flyspray/files/patch-scripts-newtask.php29
-rw-r--r--devel/flyspray/files/patch-scripts-reports.php17
-rw-r--r--devel/flyspray/pkg-descr19
-rw-r--r--devel/flyspray/pkg-plist437
16 files changed, 675 insertions, 335 deletions
diff --git a/devel/flyspray/Makefile b/devel/flyspray/Makefile
index 5fbb14bb272c..2e042a116551 100644
--- a/devel/flyspray/Makefile
+++ b/devel/flyspray/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= flyspray
-PORTVERSION= 0.9.7
+PORTVERSION= 0.9.8
CATEGORIES= devel
MASTER_SITES= http://flyspray.rocks.cc/files/
@@ -21,38 +21,49 @@ WANT_PHP_WEB= yes
NO_BUILD= yes
+FLYSPRAYDIR= ${PREFIX}/share/${PORTNAME}
+ATTACHMENTDIR= ${DBDIR}/${PORTNAME}/attachments
DBDIR= /var/db
-DOC_FILES= AUTHORS.txt BUGS.txt CHANGELOG.txt INSTALL.txt README.txt \
- TODO.txt UPGRADING.txt README.FreeBSD \
+DOC_FILES= AUTHORS.txt BUGS.txt CHANGELOG.txt INSTALL.txt \
+ QA_CHECKLIST.txt README.txt TODO.txt UPGRADING.txt \
+ README.FreeBSD \
licences/ADOdb.licence.txt \
licences/Flyspray.licence.txt \
licences/NuvolaIcons.licence.txt \
+ licences/class.jabber.php.licence.txt \
licences/jsCalendar.licence.txt \
- licences/phpMarkdown.licence.txt
+ licences/phpMarkdown.licence.txt \
+ licences/phpmailer.licence.txt \
-FLYSPRAY_FILES= favicon.ico header.php includes index.php lang scripts sql themes
+FLYSPRAY_FILES= .htaccess favicon.ico header.php index.php \
+ remote-client.php remote.php docs/licences/gnu_lgpl.html \
+ includes lang scripts setup sql themes
PKGMESSAGE= ${WRKSRC}/pkg-message
post-patch:
@${CP} ${PKGDIR}/files/README.FreeBSD ${WRKSRC}/docs/
- @${REINPLACE_CMD} -e "s|realpath('../')|'${PREFIX}/share'|g" \
- ${WRKSRC}/sql/install-${PORTVERSION}.php
- @${RM} ${WRKSRC}/sql/install-${PORTVERSION}.php.bak
+ @${REINPLACE_CMD} -e "s|%%FLYSPRAYDIR%%|"${FLYSPRAYDIR}"|g" \
+ -e "s|%%DOCSDIR%%|"${DOCSDIR}"|g" \
+ ${WRKSRC}/docs/README.FreeBSD
+ @${FIND} ${WRKSRC} -name \*.orig -exec ${RM} '{}' ';'
do-install:
- @${MKDIR} ${PREFIX}/share/${PORTNAME}
- ${CHMOD} 755 ${PREFIX}/share/${PORTNAME}
- ${INSTALL_DATA} ${WRKSRC}/header.php ${PREFIX}/share/${PORTNAME}/header.php-dist
+ @${MKDIR} ${FLYSPRAYDIR}
+ ${CHMOD} 755 ${FLYSPRAYDIR}
+ ${INSTALL_DATA} ${WRKSRC}/flyspray.conf.php \
+ ${FLYSPRAYDIR}/flyspray.conf.php-dist
+ ${TOUCH} ${FLYSPRAYDIR}/flyspray.conf.php
cd ${WRKSRC} && \
tar cf - ${FLYSPRAY_FILES} | \
- (cd ${PREFIX}/share/${PORTNAME} && tar -xf -)
- ${LN} -s ${DBDIR}/${PORTNAME}/attachments ${PREFIX}/share/${PORTNAME}/attachments
- @${MKDIR} ${DBDIR}/${PORTNAME}/attachments
- ${CHMOD} 750 ${DBDIR}/${PORTNAME}/attachments
- ${CHOWN} ${WWWOWN}:${WWWGRP} ${DBDIR}/${PORTNAME}/attachments
- ${CHOWN} ${WWWOWN}:${WWWGRP} ${PREFIX}/share/${PORTNAME}
+ (cd ${FLYSPRAYDIR} && tar -xf -)
+ ${LN} -s ${ATTACHMENTDIR} ${FLYSPRAYDIR}/attachments
+ ${LN} -s ${PREFIX}/share/adodb ${FLYSPRAYDIR}
+ @${MKDIR} ${ATTACHMENTDIR}
+ ${CHMOD} 750 ${ATTACHMENTDIR}
+ ${CHOWN} ${WWWOWN}:${WWWGRP} ${ATTACHMENTDIR}
+ ${CHOWN} ${WWWOWN}:${WWWGRP} ${FLYSPRAYDIR}/flyspray.conf.php
post-install: install-doc
@${SED} -e 's|%%DOCSDIR%%|${DOCSDIR}|g' pkg-message > ${PKGMESSAGE}
diff --git a/devel/flyspray/distinfo b/devel/flyspray/distinfo
index b36561b75b83..6788629d9203 100644
--- a/devel/flyspray/distinfo
+++ b/devel/flyspray/distinfo
@@ -1,2 +1,3 @@
-MD5 (flyspray-0.9.7.tar.gz) = ab686864412a0fb4590560ee360bb1f5
-SIZE (flyspray-0.9.7.tar.gz) = 347443
+MD5 (flyspray-0.9.8.tar.gz) = e034c2f1638cca65c41c7cb3590e2014
+SHA256 (flyspray-0.9.8.tar.gz) = 0aba36c36092e2e8e843239245b8e39ea56c31286683a7d2ca9a458fdd08c4fa
+SIZE (flyspray-0.9.8.tar.gz) = 385283
diff --git a/devel/flyspray/files/README.FreeBSD b/devel/flyspray/files/README.FreeBSD
index bf744769c807..e15315cc0289 100644
--- a/devel/flyspray/files/README.FreeBSD
+++ b/devel/flyspray/files/README.FreeBSD
@@ -10,67 +10,43 @@ Configuration Instructions for Flyspray
# mysqladmin -u root -p create flyspray
-2) Import the Flyspray database tables into your new empty database. Here is
- the unix/linux command line method; be sure to enter your mysql root
- password when prompted:
+2) Insert the following configuration command into your Apache httpd.conf:
-# mysql -u root -p flyspray < flyspray-version.sql
+ Alias "/flyspray/" "%%FLYSPRAYDIR%%/"
+ <Directory %%FLYSPRAYDIR%%>
+ AllowOverride All
+ Options Indexes FollowSymLinks
+ Order allow,deny
+ Allow from all
+ </Directory>
-3) Insert the following configuration command into your httpd.conf:
-
- Alias "/flyspray/" "/usr/local/share/flyspray/"
-
-4) Point your browser to http://yourserver.com/flyspray/ and you should
+3) Point your browser to http://yourserver.com/flyspray/ and you should
see the Flyspray setup script!
-5) If you are upgrading from an old version of Flyspray, skip to note 10
- below. Otherwise, create youself a new user, and put this user into the
- Admin group.
-
-6) CHANGE THE PASSWORD FOR THE super/super ACCOUNT by clicking the 'Change
- Password' link near the top of the page. You might like to disable the
- account entirely, or it will appear in the list of members to be assigned
- tasks.
+4) Click on the admin links to set up your Options and lists.
-7) Click on the admin links to set up your Options and lists.
+5) Close the sample task, and begin adding your own.
-8) Close the sample task, and begin adding your own.
-
-9) Report any bugs you find back to http://flyspray.rocks.cc/?p=Support or the
+6) Report any bugs you find back to http://flyspray.rocks.cc/bts/ or the
mailing list linked from the Flyspray homepage.
-Upgrading from Previous Versions of Flyspray
-============================================
+Upgrading from Flyspray 0.9.7
+=============================
You can upgrade from a previous version of Flyspray by doing the following:
-0) read /usr/local/share/doc/flyspray/UPGRADING.txt.
+0) read %%DOCSDIR%%/UPGRADING.txt.
1) back up your old flyspray task database using "mysqldump". No, really,
- you seriously run the risk of losing ALL your data if you don't do this.
-
-2) load http://yourserver.com/flyspray/ in your browser, set up the
- database access parameters and click the "continue to next page" button.
- DO NOT click "Continue to next page" a second time (i.e. on the page
- which reads "Next, we are going to try setting up your database...")
-
-3) If you are upgrading from 0.9.5, you will need to upgrade your database
- settings to 0.9.6 before going to 0.9.7. You can do this by loading the
- upgrade script on:
-
- http://yourserver.com/flyspray/sql/upgrade_0.9.5_to_0.9.6-mysql.php
-
- You will need to click "Perform upgrade now!".
-
-4) To upgrade your database structure from 0.9.6 format to 0.9.7 load the
- following URL into your browser:
-
- http://yourserver.com/flyspray/sql/upgrade_0.9.6_to_0.9.7.php
+ you seriously run the risk of losing data if you don't do this.
- You will need to click "Take me to Flyspray 0.9.7 now!"
+2) load http://yourserver.com/flyspray/ in your browser and follow the
+ installation instructions. On the "Database setup" page, set the
+ "Install/Upgrade" field to "Upgrade 0.9.7 - 0.9.8" and enter your
+ database parameters.
-5) That's it! flyspray has been upgraded to 0.9.7. If you messed up the
+5) That's it! flyspray has been upgraded to 0.9.8. If you messed up the
sequence of commands, you will probably have lost data in the process,
and may need to re-install your database from your backup. You did
take a backup, right?
diff --git a/devel/flyspray/files/patch-.htaccess b/devel/flyspray/files/patch-.htaccess
new file mode 100644
index 000000000000..0e853bb3bfa2
--- /dev/null
+++ b/devel/flyspray/files/patch-.htaccess
@@ -0,0 +1,20 @@
+--- .htaccess.orig Tue Nov 1 13:13:20 2005
++++ .htaccess Tue Nov 1 13:13:20 2005
+@@ -5,6 +5,8 @@
+ <IfModule mod_rewrite.c>
+ RewriteEngine on
+
++ReWriteBase /flyspray
++
+ RewriteRule ^.*\?do=admin&area=prefs$ index.php?do=admin&area=prefs [L]
+
+ RewriteRule ^([0-9]+)$ index.php?do=details&id=$1 [L]
+@@ -12,7 +14,7 @@
+ RewriteRule ^task/([0-9]+)comment([0-9]+)$ index.php?do=details&id=$1comment$2 [L]
+ RewriteRule ^task/([0-9]+)/depends$ index.php?do=depends&id=$1 [L]
+ RewriteRule ^task/([0-9]+)/edit$ index.php?do=details&id=$1&edit=yep [L]
+-
++RewriteRule ^task/([0-9]+)/depends&prune=([0-9]+)$ index.php?do=depends&id=$1&prune=$2 [L]
+ RewriteRule ^newtask$ index.php?do=newtask [L]
+ RewriteRule ^newtask/proj([0-9]+)$ index.php?do=newtask&project=$1 [L]
+
diff --git a/devel/flyspray/files/patch-docs-CHANGELOG.txt b/devel/flyspray/files/patch-docs-CHANGELOG.txt
new file mode 100644
index 000000000000..7c473f5bc675
--- /dev/null
+++ b/devel/flyspray/files/patch-docs-CHANGELOG.txt
@@ -0,0 +1,18 @@
+--- docs/CHANGELOG.txt.orig Sun Oct 23 01:22:26 2005
++++ docs/CHANGELOG.txt Sun Oct 30 07:11:06 2005
+@@ -1,4 +1,14 @@
+-0.9.8 - 23 October 2005
++0.9.8 update1 - 30 October 05
++
++FIXED - Lack of .htaccess rewrite rule for dependency graphs
++FIXED - Cross Site Scripting security hole
++FIXED - Project selector permission query
++FIXED - Date range for Reports
++FIXED - Bugs with language pack function
++FIXED - error_reporting() in header.php
++
++
++0.9.8 - 23 October 05
+
+ NEW - Full-featured installer
+ NEW - Address rewriting for human-readable URLs
diff --git a/devel/flyspray/files/patch-header.php b/devel/flyspray/files/patch-header.php
new file mode 100644
index 000000000000..5d859479235b
--- /dev/null
+++ b/devel/flyspray/files/patch-header.php
@@ -0,0 +1,16 @@
+--- header.php.orig Sun Oct 23 01:11:14 2005
++++ header.php Wed Oct 26 04:16:53 2005
+@@ -4,8 +4,11 @@
+ // move flyspray.conf.php to a directory where a browser can't access it.
+ // (RECOMMENDED).
+
+-// Turn off PHP notices
+-error_reporting(E_ALL & -E_NOTICE);
++// You might like to uncomment the next line if you are receiving lots of
++// PHP NOTICE errors. We are in the process of making Flyspray stop making
++// these errors, but this will help hide them until we are finished.
++
++//error_reporting(E_ALL & ~E_NOTICE);
+
+ // Check PHP Version (Must Be at least 4.3)
+ // For 0.9.9, this should redirect to the error page
diff --git a/devel/flyspray/files/patch-includes-functions.inc.php b/devel/flyspray/files/patch-includes-functions.inc.php
new file mode 100644
index 000000000000..6210c3372274
--- /dev/null
+++ b/devel/flyspray/files/patch-includes-functions.inc.php
@@ -0,0 +1,78 @@
+--- includes/functions.inc.php.orig Sun Oct 23 09:03:37 2005
++++ includes/functions.inc.php Sun Oct 30 10:51:12 2005
+@@ -18,19 +18,31 @@
+ */
+ function get_language_pack($lang, $module)
+ {
+- $before = get_defined_vars();
++ // MC: functions module is in functions.*inc*.php
++ if ($module == 'functions') {
++ $module .= '.inc';
++ }
++
++ $before = get_defined_vars();
+ require_once("lang/en/$module.php");
+ $after_en = get_defined_vars();
+- $new_var = array_keys(array_diff($after_en, $before));
+- $new_var_name = @$new_var[1];
+- $new_var['en'] = @$$new_var_name;
+- if (file_exists("lang/$lang/$module.php"))
+- {
+- require_once("lang/$lang/$module.php");
+- }
+- $new_var[$lang] = @$$new_var_name;
++ $new_var = array_keys(array_diff($after_en, $before));
+
+- $$new_var_name = @array_merge($new_var['en'], $new_var[$lang]);
++ if (isset($new_var[1])) {
++ list(, $new_var_name) = $new_var;
++ $new_var['en'] = $$new_var_name;
++
++ if (file_exists("lang/$lang/$module.php")) {
++ require_once("lang/$lang/$module.php");
++ }
++ $new_var[$lang] = $$new_var_name;
++ // $$new_var_name = array_merge($new_var['en'], $new_var[$lang]);
++ $$new_var_name = $new_var['en'];
++ $merge_ref =& $$new_var_name;
++ foreach ($new_var[$lang] as $key => $val) {
++ $merge_ref[$key] = $val;
++ }
++ }
+ }
+
+ /** Redirects the browser to the page in $url
+@@ -189,17 +201,19 @@
+
+ $status_id = $get_details['item_status'];
+
+- require("lang/$lang/status.php");
++ global $status_list, $severity_list, $priority_list;
++ $this->get_language_pack($lang, 'status');
++ $this->get_language_pack($lang, 'severity');
++ $this->get_language_pack($lang, 'priority');
++
+ $tmp_array = array("status_name" => $status_list[$status_id]);
+ $get_details = $get_details + $tmp_array;
+
+ $severity_id = $get_details['task_severity'];
+- require("lang/$lang/severity.php");
+ $tmp_array = array("severity_name" => $severity_list[$severity_id]);
+ $get_details = $get_details + $tmp_array;
+
+ $priority_id = $get_details['task_priority'];
+- require("lang/$lang/priority.php");
+ $tmp_array = array("priority_name" => $priority_list[$priority_id]);
+ $get_details = $get_details + $tmp_array;
+
+@@ -301,8 +315,9 @@
+ global $db;
+ global $dbprefix;
+ global $lang;
++ global $functions_text;
+
+- require("lang/$lang/functions.inc.php");
++ $this->get_language_pack($lang, 'functions');
+
+ // Just in case $perpage is something weird, like 0, fix it here:
+ if ($perpage < 1) { $perpage = ($totalcount > 0 ? $totalcount : 1); }
diff --git a/devel/flyspray/files/patch-includes-regexp.php b/devel/flyspray/files/patch-includes-regexp.php
new file mode 100644
index 000000000000..6cbbac084616
--- /dev/null
+++ b/devel/flyspray/files/patch-includes-regexp.php
@@ -0,0 +1,94 @@
+--- includes/regexp.php.orig Sun Jul 24 12:00:47 2005
++++ includes/regexp.php Wed Oct 26 23:03:01 2005
+@@ -55,6 +55,20 @@
+
+ };
+
++if (isset($_GET['sort2']) && !empty($_GET['sort2']))
++{
++ // Yes. Now check its regex format for safety -- Limited range
++ if (preg_match ("/^(asc|desc)$/", $_GET['sort2'])) {
++
++ // continue;
++ } else {
++
++ $fs->Redirect($fs->CreateURL('error', null));
++// print "Sorting request is invalid."; exit;
++ };
++
++};
++
+ if (isset($_GET['project']) && !empty($_GET['project'])) {
+
+ // Yes. Now check its regex format for safety -- Numbers only
+@@ -69,6 +83,21 @@
+ };
+ };
+
++if (isset($_GET['type']) && !empty($_GET['type'])) {
++
++ // Yes. Now check its regex format for safety -- Numbers only
++ if (preg_match ("/^\d+$/", $_GET['type'])) {
++
++ // continue;
++
++ } else {
++
++ $fs->Redirect($fs->CreateURL('error', null));
++// print "Tasktype request is invalid."; exit;
++ };
++};
++
++
+ if (isset($_GET['page']) && !empty($_GET['page']))
+ {
+ // Yes. Now check its regex format for safety -- Numbers only
+@@ -324,4 +353,48 @@
+ // print "Magic URL is invalid."; exit;
+ };
+ };
++
++if (isset($_GET['tasks']) && !empty($_GET['tasks']))
++{
++ // Yes. Now check its regex format for safety -- Limited range
++ if (preg_match ("/^(all|assigned|reported|watched)$/", $_GET['tasks'])) {
++
++ // continue;
++ } else {
++
++ $fs->Redirect($fs->CreateURL('error', null));
++// print "Tasks request is invalid."; exit;
++ };
++
++};
++
++if (isset($_GET['due']) && !empty($_GET['due'])) {
++
++ // Yes. Now check its regex format for safety -- Numbers only
++ if (preg_match ("/^\d+$/", $_GET['due'])) {
++
++ // continue;
++ } else {
++
++ $fs->Redirect($fs->CreateURL('error', null));
++// print "Due version request is invalid."; exit;
++ };
++};
++
++if (isset($_GET['string']) && !empty($_GET['string'])) {
++
++ // Yes. Now check its regex format for safety -- Numbers only
++ if (preg_match ("!<.*>!", $_GET['string'])) {
++ $fs->Redirect($fs->CreateURL('error', null));
++ };
++};
++
++if (isset($_GET['PHPSESSID']) && !empty($_GET['PHPSESSID'])) {
++
++ // Yes. Now check its regex format for safety -- Numbers only
++ if (preg_match ("!<.*>!", $_GET['PHPSESSID'])) {
++ $fs->Redirect($fs->CreateURL('error', null));
++ };
++};
++
+ ?>
diff --git a/devel/flyspray/files/patch-index.php b/devel/flyspray/files/patch-index.php
new file mode 100644
index 000000000000..3edb77ad5e08
--- /dev/null
+++ b/devel/flyspray/files/patch-index.php
@@ -0,0 +1,29 @@
+--- index.php.orig Sat Oct 22 13:40:26 2005
++++ index.php Thu Oct 27 00:09:01 2005
+@@ -384,15 +384,17 @@
+ // or, if the user is logged in
+ } elseif (isset($_COOKIE['flyspray_userid']))
+ {
+- $get_projects = $db->Query("SELECT DISTINCT p.*
+- FROM {$dbprefix}users_in_groups uig
+- LEFT JOIN {$dbprefix}groups g ON uig.group_id = g.group_id,
+- {$dbprefix}projects p
+- WHERE ((uig.user_id = ?
+- AND g.view_tasks = '1')
+- OR p.others_view = '1')
+- AND p.project_is_active = '1'
+- GROUP BY p.project_id",
++ $get_projects = $db->Query("SELECT p.* FROM {$dbprefix}projects p
++ LEFT JOIN {$dbprefix}groups g
++ ON p.project_id=g.belongs_to_project
++ AND g.view_tasks=1
++ LEFT JOIN {$dbprefix}users_in_groups uig
++ ON uig.group_id = g.group_id
++ AND uig.user_id = ?
++ WHERE p.project_is_active='1'
++ AND (p.others_view
++ OR uig.user_id IS NOT NULL)
++ ORDER BY p.project_title",
+ array($current_user['user_id'])
+ );
+ // Anonymous users
diff --git a/devel/flyspray/files/patch-remote.php b/devel/flyspray/files/patch-remote.php
new file mode 100644
index 000000000000..81f39cbc86af
--- /dev/null
+++ b/devel/flyspray/files/patch-remote.php
@@ -0,0 +1,10 @@
+--- remote.php.orig Thu Aug 25 01:53:36 2005
++++ remote.php Wed Oct 26 23:03:01 2005
+@@ -564,6 +564,7 @@
+ {
+ global $fs;
+ global $db;
++ global $dbprefix;
+ include_once('includes/notify.inc.php');
+ $notify = new Notifications;
+
diff --git a/devel/flyspray/files/patch-scripts-details.php b/devel/flyspray/files/patch-scripts-details.php
new file mode 100644
index 000000000000..8b9cdf33f7e0
--- /dev/null
+++ b/devel/flyspray/files/patch-scripts-details.php
@@ -0,0 +1,60 @@
+--- scripts/details.php.orig Sat Oct 22 13:41:22 2005
++++ scripts/details.php Thu Oct 27 00:09:01 2005
+@@ -91,17 +91,19 @@
+ } elseif (isset($_COOKIE['flyspray_userid']))
+ {
+
+- $get_projects = $db->Query("SELECT DISTINCT p.*
+- FROM {$dbprefix}users_in_groups uig
+- LEFT JOIN {$dbprefix}groups g ON uig.group_id = g.group_id,
+- {$dbprefix}projects p
+- WHERE ((uig.user_id = ?
+- AND g.view_tasks = '1')
+- OR p.others_view = '1')
+- AND p.project_is_active = '1'
+- ORDER BY p.project_title",
+- array($current_user['user_id'])
+- );
++ $get_projects = $db->Query("SELECT p.* FROM {$dbprefix}projects p
++ LEFT JOIN {$dbprefix}groups g
++ ON p.project_id=g.belongs_to_project
++ AND g.view_tasks=1
++ LEFT JOIN {$dbprefix}users_in_groups uig
++ ON uig.group_id = g.group_id
++ AND uig.user_id = ?
++ WHERE p.project_is_active='1'
++ AND (p.others_view
++ OR uig.user_id IS NOT NULL)
++ ORDER BY p.project_title",
++ array($current_user['user_id'])
++ );
+
+ } else
+ {
+@@ -242,7 +244,7 @@
+ <select id="status" name="item_status">
+ <?php
+ // let's get a list of statuses and compare it to the saved one
+- require("lang/$lang/status.php");
++ $fs->get_language_pack($lang, 'status');
+ foreach($status_list as $key => $val)
+ {
+ if ($task_details['item_status'] == $key)
+@@ -319,7 +321,7 @@
+ <select id="severity" name="task_severity">
+ <?php
+ // Get list of severities
+- require("lang/$lang/severity.php");
++ $fs->get_language_pack($lang, 'severity');
+ foreach($severity_list as $key => $val)
+ {
+ if ($task_details['task_severity'] == $key)
+@@ -340,7 +342,7 @@
+ <select id="priority" name="task_priority">
+ <?php
+ // Get list of priorities
+- require("lang/$lang/priority.php");
++ $fs->get_language_pack($lang, 'priority');
+ foreach($priority_list as $key => $val)
+ {
+ if ($task_details['task_priority'] == $key)
diff --git a/devel/flyspray/files/patch-scripts-index.php b/devel/flyspray/files/patch-scripts-index.php
new file mode 100644
index 000000000000..f5abe7cbe62c
--- /dev/null
+++ b/devel/flyspray/files/patch-scripts-index.php
@@ -0,0 +1,67 @@
+--- scripts/index.php.orig Sat Oct 22 13:41:49 2005
++++ scripts/index.php Thu Oct 27 00:09:01 2005
+@@ -129,14 +129,16 @@
+ // Those who aren't super users get this more restrictive query
+ } elseif (isset($_COOKIE['flyspray_userid']))
+ {
+- $check_projects = $db->Query("SELECT p.project_id
+- FROM {$dbprefix}users_in_groups uig
+- LEFT JOIN {$dbprefix}groups g ON uig.group_id = g.group_id,
+- {$dbprefix}projects p
+- WHERE ((uig.user_id = ?
+- AND g.view_tasks = '1')
+- OR p.others_view = '1')
+- AND p.project_is_active = '1'
++ $check_projects = $db->Query("SELECT p.* FROM {$dbprefix}projects p
++ LEFT JOIN {$dbprefix}groups g
++ ON p.project_id=g.belongs_to_project
++ AND g.view_tasks=1
++ LEFT JOIN {$dbprefix}users_in_groups uig
++ ON uig.group_id = g.group_id
++ AND uig.user_id = ?
++ WHERE p.project_is_active='1'
++ AND (p.others_view
++ OR uig.user_id IS NOT NULL)
+ ORDER BY p.project_title",
+ array($current_user['user_id'])
+ );
+@@ -334,7 +336,7 @@
+ <select name="sev">
+ <option value=""><?php echo $index_text['allseverities'];?></option>
+ <?php
+- require("lang/$lang/severity.php");
++ $fs->get_language_pack($lang, 'severity');
+ foreach($severity_list as $key => $val)
+ {
+ if (isset($_GET['sev']) && $_GET['sev'] == $key)
+@@ -430,7 +432,7 @@
+ <option value="all" <?php if (isset($_GET['status']) && $_GET['status'] == 'all') echo 'selected="selected"';?>><?php echo $index_text['allstatuses'];?></option>
+ <option value="" <?php if ((isset($_GET['status']) && empty($_GET['status'])) OR !isset($_GET['status'])) { echo "selected=\"selected\"";}?>><?php echo $index_text['allopentasks'];?></option>
+ <?php
+- require("lang/$lang/status.php");
++ $fs->get_language_pack($lang, 'status');
+ foreach($status_list as $key => $val)
+ {
+ if (isset($_GET['status']) && $_GET['status'] == $key)
+@@ -739,18 +741,18 @@
+ {
+ // Get the full status name
+ $status_id = $task_details['item_status'];
+- require("lang/$lang/status.php");
++ $fs->get_language_pack($lang, 'status');
+ $status = $status_list[$status_id];
+ }
+
+ // Get the full severity name
+ $severity_id = $task_details['task_severity'];
+- require("lang/$lang/severity.php");
++ $fs->get_language_pack($lang, 'severity');
+ $severity = $severity_list[$severity_id];
+
+ // Get the full priority name
+ $priority_id = $task_details['task_priority'];
+- require("lang/$lang/priority.php");
++ $fs->get_language_pack($lang, 'priority');
+ $priority = $priority_list[$priority_id];
+
+ // see if it's been assigned
diff --git a/devel/flyspray/files/patch-scripts-newtask.php b/devel/flyspray/files/patch-scripts-newtask.php
new file mode 100644
index 000000000000..e4b0c315be61
--- /dev/null
+++ b/devel/flyspray/files/patch-scripts-newtask.php
@@ -0,0 +1,29 @@
+--- scripts/newtask.php.orig Thu Sep 29 21:43:25 2005
++++ scripts/newtask.php Wed Oct 26 23:03:01 2005
+@@ -104,7 +104,7 @@
+ <select id="itemstatus" name="item_status" <?php if ($permissions['modify_all_tasks'] != "1") echo ' disabled="disabled"';?>>
+ <?php
+ // Get list of statuses
+- require("lang/$lang/status.php");
++ $fs->get_language_pack($lang, 'status');
+ foreach($status_list as $key => $val)
+ {
+ if ($key == '2')
+@@ -177,7 +177,7 @@
+ <select id="taskseverity" class="adminlist" name="task_severity">
+ <?php
+ // Get list of severities
+- require("lang/$lang/severity.php");
++ $fs->get_language_pack($lang, 'severity');
+ foreach($severity_list as $key => $val)
+ {
+ if ($key == '2')
+@@ -198,7 +198,7 @@
+ <select id="task_priority" name="task_priority" <?php if ($permissions['modify_all_tasks'] != "1") echo ' disabled="disabled"';?>>
+ <?php
+ // Get list of statuses
+- require("lang/$lang/priority.php");
++ $fs->get_language_pack($lang, 'priority');
+ foreach($priority_list as $key => $val)
+ {
+ if ($key == '2')
diff --git a/devel/flyspray/files/patch-scripts-reports.php b/devel/flyspray/files/patch-scripts-reports.php
new file mode 100644
index 000000000000..0264562fb49f
--- /dev/null
+++ b/devel/flyspray/files/patch-scripts-reports.php
@@ -0,0 +1,17 @@
+--- scripts/reports.php.orig Mon Oct 3 12:51:02 2005
++++ scripts/reports.php Thu Oct 27 00:09:01 2005
+@@ -353,9 +353,12 @@
+ $date = 'from';
+ $fromdate = $_REQUEST['fromdate'];
+ $todate = $_REQUEST['todate'];
+-
++ if (!isset($fromdate) || $fromdate=="") { $fromdate = date("d-M-Y"); }
++ if (!isset($todate) || $todate=="") { $todate = date("d-M-Y"); }
++
+ $ufromdate = strtotime($fromdate);
+- $utodate = strtotime($todate);
++ // Add 24 hours to the end to make it include that date
++ $utodate = strtotime($todate) + 86400;
+
+ $wheredate = "AND h.event_date > {$ufromdate} AND h.event_date < {$utodate}";
+ break;
diff --git a/devel/flyspray/pkg-descr b/devel/flyspray/pkg-descr
index ed7815d751e1..c195cbff9d7f 100644
--- a/devel/flyspray/pkg-descr
+++ b/devel/flyspray/pkg-descr
@@ -2,10 +2,21 @@ Need a bug tracking system for your programming project? Having trouble
finding something that suits your needs? Tried installing Bugzilla, but
found it too complex?
-Flyspray is an easy to use bug tracking system for those who don't require
-all the complexities of something like Bugzilla.
+Flyspray is a power but easy to use bug tracking system for those who don't
+require all the complexities of something like Bugzilla.
-Initially developed for the Psi project, Flyspray is now available for
-everyone to download and use for their own projects.
+Features include:
+
+ * Web-based, platform-independent
+ * Multiple database support (through the ADOdb database abstraction
+ layer)
+ * Easy installation
+ * Easy to use
+ * Multiple projects
+ * Permissions-based user groups
+ * 'Watching' tasks, with notification of changes (email or Jabber)
+ * Comprehensive task history
+ * File attachments
+ * CSS themes
WWW: http://flyspray.rocks.cc/
diff --git a/devel/flyspray/pkg-plist b/devel/flyspray/pkg-plist
index daa8f8069e18..6eb2d44e2c98 100644
--- a/devel/flyspray/pkg-plist
+++ b/devel/flyspray/pkg-plist
@@ -1,339 +1,242 @@
+%%DATADIR%%/.htaccess
+%%DATADIR%%/adodb
%%DATADIR%%/attachments
-%%DATADIR%%/header.php-dist
+%%DATADIR%%/docs/licences/gnu_lgpl.html
%%DATADIR%%/favicon.ico
+%%DATADIR%%/flyspray.conf.php
+%%DATADIR%%/flyspray.conf.php-dist
%%DATADIR%%/header.php
-%%DATADIR%%/includes/styleswitcher.js
-%%DATADIR%%/includes/regexp.php
+%%DATADIR%%/includes/archive_tar.php
+%%DATADIR%%/includes/backend.inc.php
+%%DATADIR%%/includes/class.jabber.php
+%%DATADIR%%/includes/class.phpmailer.php
+%%DATADIR%%/includes/class.smtp.php
+%%DATADIR%%/includes/db.inc.php
+%%DATADIR%%/includes/functions.inc.php
%%DATADIR%%/includes/functions.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-ko-utf8.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-fi.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-es.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-du.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-ko.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-si.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-no.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-hu.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-sk.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-ro.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-ru.js
+%%DATADIR%%/includes/gzip_compress.php
+%%DATADIR%%/includes/ie_hover.js
+%%DATADIR%%/includes/jscalendar/calendar-blue.css
+%%DATADIR%%/includes/jscalendar/calendar-blue2.css
+%%DATADIR%%/includes/jscalendar/calendar-brown.css
+%%DATADIR%%/includes/jscalendar/calendar-green.css
+%%DATADIR%%/includes/jscalendar/calendar-setup.js
+%%DATADIR%%/includes/jscalendar/calendar-setup_stripped.js
+%%DATADIR%%/includes/jscalendar/calendar-system.css
+%%DATADIR%%/includes/jscalendar/calendar-tas.css
+%%DATADIR%%/includes/jscalendar/calendar-win2k-1.css
+%%DATADIR%%/includes/jscalendar/calendar-win2k-2.css
+%%DATADIR%%/includes/jscalendar/calendar-win2k-cold-1.css
+%%DATADIR%%/includes/jscalendar/calendar-win2k-cold-2.css
+%%DATADIR%%/includes/jscalendar/calendar.js
+%%DATADIR%%/includes/jscalendar/calendar.php
+%%DATADIR%%/includes/jscalendar/calendar_stripped.js
%%DATADIR%%/includes/jscalendar/lang/calendar-af.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-hr-utf8.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-pl-utf8.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-al.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-bg.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-big5-utf8.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-big5.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-br.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-ca.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-cs-utf8.js
%%DATADIR%%/includes/jscalendar/lang/calendar-cs-win.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-da.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-de.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-du.js
%%DATADIR%%/includes/jscalendar/lang/calendar-el.js
%%DATADIR%%/includes/jscalendar/lang/calendar-en.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-br.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-lt-utf8.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-es.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-fi.js
%%DATADIR%%/includes/jscalendar/lang/calendar-fr.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-nl.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-he-utf8.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-hr-utf8.js
%%DATADIR%%/includes/jscalendar/lang/calendar-hr.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-jp.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-pl.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-hu.js
%%DATADIR%%/includes/jscalendar/lang/calendar-it.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-jp.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-ko-utf8.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-ko.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-lt-utf8.js
%%DATADIR%%/includes/jscalendar/lang/calendar-lt.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-zh.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-sp.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-ca.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-lv.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-nl.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-no.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-pl-utf8.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-pl.js
%%DATADIR%%/includes/jscalendar/lang/calendar-pt.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-da.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-tr.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-ro.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-ru.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-ru_win_.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-si.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-sk.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-sp.js
%%DATADIR%%/includes/jscalendar/lang/calendar-sv.js
-%%DATADIR%%/includes/jscalendar/lang/calendar-de.js
-%%DATADIR%%/includes/jscalendar/img.gif
-%%DATADIR%%/includes/jscalendar/calendar-system.css
-%%DATADIR%%/includes/jscalendar/calendar-setup.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-tr.js
+%%DATADIR%%/includes/jscalendar/lang/calendar-zh.js
+%%DATADIR%%/includes/jscalendar/lang/cn_utf8.js
%%DATADIR%%/includes/jscalendar/menuarrow.gif
-%%DATADIR%%/includes/jscalendar/test-position.html
-%%DATADIR%%/includes/jscalendar/calendar.js
-%%DATADIR%%/includes/jscalendar/calendar-brown.css
-%%DATADIR%%/includes/jscalendar/calendar-blue.css
-%%DATADIR%%/includes/jscalendar/calendar-tas.css
-%%DATADIR%%/includes/jscalendar/calendar-win2k-1.css
-%%DATADIR%%/includes/jscalendar/calendar-win2k-2.css
-%%DATADIR%%/includes/jscalendar/ChangeLog
-%%DATADIR%%/includes/jscalendar/simple-1.html
-%%DATADIR%%/includes/jscalendar/simple-2.html
-%%DATADIR%%/includes/jscalendar/simple-3.html
-%%DATADIR%%/includes/jscalendar/README
-%%DATADIR%%/includes/jscalendar/calendar.php
-%%DATADIR%%/includes/jscalendar/calendar-setup_stripped.js
-%%DATADIR%%/includes/jscalendar/calendar-green.css
-%%DATADIR%%/includes/jscalendar/calendar_stripped.js
%%DATADIR%%/includes/jscalendar/menuarrow2.gif
-%%DATADIR%%/includes/jscalendar/test.php
-%%DATADIR%%/includes/jscalendar/calendar-blue2.css
-%%DATADIR%%/includes/jscalendar/calendar-win2k-cold-1.css
-%%DATADIR%%/includes/jscalendar/calendar-win2k-cold-2.css
-%%DATADIR%%/includes/jscalendar/release-notes.html
-%%DATADIR%%/includes/jscalendar/index.html
-%%DATADIR%%/includes/jscalendar/bugtest-hidden-selects.html
-%%DATADIR%%/includes/functions.inc.php
+%%DATADIR%%/includes/jscalendar/skins/aqua/active-bg.gif
+%%DATADIR%%/includes/jscalendar/skins/aqua/dark-bg.gif
+%%DATADIR%%/includes/jscalendar/skins/aqua/hover-bg.gif
+%%DATADIR%%/includes/jscalendar/skins/aqua/menuarrow.gif
+%%DATADIR%%/includes/jscalendar/skins/aqua/normal-bg.gif
+%%DATADIR%%/includes/jscalendar/skins/aqua/rowhover-bg.gif
+%%DATADIR%%/includes/jscalendar/skins/aqua/status-bg.gif
+%%DATADIR%%/includes/jscalendar/skins/aqua/theme.css
+%%DATADIR%%/includes/jscalendar/skins/aqua/title-bg.gif
+%%DATADIR%%/includes/jscalendar/skins/aqua/today-bg.gif
%%DATADIR%%/includes/markdown.php
-%%DATADIR%%/includes/gzip_compress.php
+%%DATADIR%%/includes/notify.inc.php
+%%DATADIR%%/includes/regexp.php
+%%DATADIR%%/includes/styleswitcher.js
+%%DATADIR%%/includes/tabs.js
+%%DATADIR%%/includes/template.php
+%%DATADIR%%/includes/version.php
+%%DATADIR%%/includes/xmlrpc.inc
+%%DATADIR%%/includes/xmlrpcs.inc
%%DATADIR%%/index.php
+%%DATADIR%%/lang/en/admin.php
%%DATADIR%%/lang/en/authenticate.php
-%%DATADIR%%/lang/en/reports.php
-%%DATADIR%%/lang/en/newgroup.php
-%%DATADIR%%/lang/en/index.php
-%%DATADIR%%/lang/en/severity.php
-%%DATADIR%%/lang/en/newtask.php
-%%DATADIR%%/lang/en/functions.inc.php
-%%DATADIR%%/lang/en/newproject.php
%%DATADIR%%/lang/en/chpass.php
+%%DATADIR%%/lang/en/details.php
+%%DATADIR%%/lang/en/functions.inc.php
+%%DATADIR%%/lang/en/index.php
%%DATADIR%%/lang/en/loginbox.php
-%%DATADIR%%/lang/en/priority.php
-%%DATADIR%%/lang/en/status.php
%%DATADIR%%/lang/en/main.php
-%%DATADIR%%/lang/en/register.php
-%%DATADIR%%/lang/en/details.php
%%DATADIR%%/lang/en/modify.php
+%%DATADIR%%/lang/en/newgroup.php
+%%DATADIR%%/lang/en/newproject.php
+%%DATADIR%%/lang/en/newtask.php
%%DATADIR%%/lang/en/newuser.php
-%%DATADIR%%/lang/en/admin.php
-%%DATADIR%%/lang/ptbr/authenticate.php
-%%DATADIR%%/lang/ptbr/newgroup.php
-%%DATADIR%%/lang/ptbr/index.php
-%%DATADIR%%/lang/ptbr/severity.php
-%%DATADIR%%/lang/ptbr/newtask.php
-%%DATADIR%%/lang/ptbr/functions.inc.php
-%%DATADIR%%/lang/ptbr/newproject.php
-%%DATADIR%%/lang/ptbr/loginbox.php
-%%DATADIR%%/lang/ptbr/chpass.php
-%%DATADIR%%/lang/ptbr/status.php
-%%DATADIR%%/lang/ptbr/main.php
-%%DATADIR%%/lang/ptbr/register.php
-%%DATADIR%%/lang/ptbr/details.php
-%%DATADIR%%/lang/ptbr/readme.txt
-%%DATADIR%%/lang/ptbr/modify.php
-%%DATADIR%%/lang/ptbr/newuser.php
-%%DATADIR%%/lang/ptbr/admin.php
+%%DATADIR%%/lang/en/notify.inc.php
+%%DATADIR%%/lang/en/pm.php
+%%DATADIR%%/lang/en/priority.php
+%%DATADIR%%/lang/en/register.php
+%%DATADIR%%/lang/en/reports.php
+%%DATADIR%%/lang/en/severity.php
+%%DATADIR%%/lang/en/status.php
%%DATADIR%%/lang/langdiff.php
-%%DATADIR%%/lang/fr/authenticate.php
-%%DATADIR%%/lang/fr/reports.php
-%%DATADIR%%/lang/fr/newgroup.php
-%%DATADIR%%/lang/fr/index.php
-%%DATADIR%%/lang/fr/severity.php
-%%DATADIR%%/lang/fr/newtask.php
-%%DATADIR%%/lang/fr/functions.inc.php
-%%DATADIR%%/lang/fr/newproject.php
-%%DATADIR%%/lang/fr/loginbox.php
-%%DATADIR%%/lang/fr/chpass.php
-%%DATADIR%%/lang/fr/priority.php
-%%DATADIR%%/lang/fr/status.php
-%%DATADIR%%/lang/fr/register.php
-%%DATADIR%%/lang/fr/main.php
-%%DATADIR%%/lang/fr/details.php
-%%DATADIR%%/lang/fr/modify.php
-%%DATADIR%%/lang/fr/admin.php
-%%DATADIR%%/lang/fr/newuser.php
-%%DATADIR%%/lang/es/authenticate.php
-%%DATADIR%%/lang/es/newgroup.php
-%%DATADIR%%/lang/es/index.php
-%%DATADIR%%/lang/es/severity.php
-%%DATADIR%%/lang/es/newtask.php
-%%DATADIR%%/lang/es/functions.inc.php
-%%DATADIR%%/lang/es/newproject.php
-%%DATADIR%%/lang/es/loginbox.php
-%%DATADIR%%/lang/es/chpass.php
-%%DATADIR%%/lang/es/status.php
-%%DATADIR%%/lang/es/main.php
-%%DATADIR%%/lang/es/register.php
-%%DATADIR%%/lang/es/details.php
-%%DATADIR%%/lang/es/modify.php
-%%DATADIR%%/lang/es/newuser.php
-%%DATADIR%%/lang/es/admin.php
-%%DATADIR%%/lang/de/authenticate.php
-%%DATADIR%%/lang/de/reports.php
-%%DATADIR%%/lang/de/newgroup.php
-%%DATADIR%%/lang/de/index.php
-%%DATADIR%%/lang/de/severity.php
-%%DATADIR%%/lang/de/newtask.php
-%%DATADIR%%/lang/de/functions.inc.php
-%%DATADIR%%/lang/de/newproject.php
-%%DATADIR%%/lang/de/loginbox.php
-%%DATADIR%%/lang/de/priority.php
-%%DATADIR%%/lang/de/chpass.php
-%%DATADIR%%/lang/de/status.php
-%%DATADIR%%/lang/de/register.php
-%%DATADIR%%/lang/de/main.php
-%%DATADIR%%/lang/de/details.php
-%%DATADIR%%/lang/de/modify.php
-%%DATADIR%%/lang/de/newuser.php
-%%DATADIR%%/lang/de/admin.php
-%%DATADIR%%/lang/nl/authenticate.php
-%%DATADIR%%/lang/nl/reports.php
-%%DATADIR%%/lang/nl/newgroup.php
-%%DATADIR%%/lang/nl/index.php
-%%DATADIR%%/lang/nl/severity.php
-%%DATADIR%%/lang/nl/newtask.php
-%%DATADIR%%/lang/nl/functions.inc.php
-%%DATADIR%%/lang/nl/newproject.php
-%%DATADIR%%/lang/nl/loginbox.php
-%%DATADIR%%/lang/nl/chpass.php
-%%DATADIR%%/lang/nl/priority.php
-%%DATADIR%%/lang/nl/status.php
-%%DATADIR%%/lang/nl/register.php
-%%DATADIR%%/lang/nl/main.php
-%%DATADIR%%/lang/nl/details.php
-%%DATADIR%%/lang/nl/modify.php
-%%DATADIR%%/lang/nl/admin.php
-%%DATADIR%%/lang/nl/newuser.php
-%%DATADIR%%/lang/pl/authenticate.php
-%%DATADIR%%/lang/pl/reports.php
-%%DATADIR%%/lang/pl/newgroup.php
-%%DATADIR%%/lang/pl/index.php
-%%DATADIR%%/lang/pl/severity.php
-%%DATADIR%%/lang/pl/newtask.php
-%%DATADIR%%/lang/pl/functions.inc.php
-%%DATADIR%%/lang/pl/newproject.php
-%%DATADIR%%/lang/pl/loginbox.php
-%%DATADIR%%/lang/pl/chpass.php
-%%DATADIR%%/lang/pl/priority.php
-%%DATADIR%%/lang/pl/status.php
-%%DATADIR%%/lang/pl/register.php
-%%DATADIR%%/lang/pl/main.php
-%%DATADIR%%/lang/pl/details.php
-%%DATADIR%%/lang/pl/modify.php
-%%DATADIR%%/lang/pl/admin.php
-%%DATADIR%%/lang/pl/newuser.php
-%%DATADIR%%/lang/it/authenticate.php
-%%DATADIR%%/lang/it/reports.php
-%%DATADIR%%/lang/it/newgroup.php
-%%DATADIR%%/lang/it/index.php
-%%DATADIR%%/lang/it/severity.php
-%%DATADIR%%/lang/it/newtask.php
-%%DATADIR%%/lang/it/functions.inc.php
-%%DATADIR%%/lang/it/newproject.php
-%%DATADIR%%/lang/it/chpass.php
-%%DATADIR%%/lang/it/loginbox.php
-%%DATADIR%%/lang/it/priority.php
-%%DATADIR%%/lang/it/status.php
-%%DATADIR%%/lang/it/register.php
-%%DATADIR%%/lang/it/main.php
-%%DATADIR%%/lang/it/details.php
-%%DATADIR%%/lang/it/modify.php
-%%DATADIR%%/lang/it/admin.php
-%%DATADIR%%/lang/it/newuser.php
-%%DATADIR%%/lang/dk/authenticate.php
-%%DATADIR%%/lang/dk/newgroup.php
-%%DATADIR%%/lang/dk/index.php
-%%DATADIR%%/lang/dk/severity.php
-%%DATADIR%%/lang/dk/newtask.php
-%%DATADIR%%/lang/dk/functions.inc.php
-%%DATADIR%%/lang/dk/newproject.php
-%%DATADIR%%/lang/dk/chpass.php
-%%DATADIR%%/lang/dk/loginbox.php
-%%DATADIR%%/lang/dk/status.php
-%%DATADIR%%/lang/dk/register.php
-%%DATADIR%%/lang/dk/main.php
-%%DATADIR%%/lang/dk/details.php
-%%DATADIR%%/lang/dk/modify.php
-%%DATADIR%%/lang/dk/newuser.php
-%%DATADIR%%/lang/dk/admin.php
+%%DATADIR%%/remote-client.php
+%%DATADIR%%/remote.php
+%%DATADIR%%/scripts/admin.php
%%DATADIR%%/scripts/authenticate.php
-%%DATADIR%%/scripts/reports.php
-%%DATADIR%%/scripts/newgroup.php
-%%DATADIR%%/scripts/rss.php
-%%DATADIR%%/scripts/index.php
-%%DATADIR%%/scripts/newtask.php
-%%DATADIR%%/scripts/newproject.php
%%DATADIR%%/scripts/chproject.php
-%%DATADIR%%/scripts/loginbox.php
-%%DATADIR%%/scripts/schrem.php
-%%DATADIR%%/scripts/register.php
+%%DATADIR%%/scripts/daemon.php
+%%DATADIR%%/scripts/depends.php
%%DATADIR%%/scripts/details.php
+%%DATADIR%%/scripts/editcomment.php
+%%DATADIR%%/scripts/error.php
+%%DATADIR%%/scripts/index.php
+%%DATADIR%%/scripts/loginbox.php
+%%DATADIR%%/scripts/lostpw.php
%%DATADIR%%/scripts/modify.php
-%%DATADIR%%/scripts/admin.php
+%%DATADIR%%/scripts/myprofile.php
+%%DATADIR%%/scripts/newgroup.php
+%%DATADIR%%/scripts/newtask.php
%%DATADIR%%/scripts/newuser.php
-%%DATADIR%%/sql/upgrade_0.9.5_to_0.9.6-pgsql.php
-%%DATADIR%%/sql/upgrade_0.9.6_to_0.9.7.mysql
-%%DATADIR%%/sql/flyspray-0.9.7.mysql
-%%DATADIR%%/sql/mysql2pgsql.pl
+%%DATADIR%%/scripts/pm.php
+%%DATADIR%%/scripts/register.php
+%%DATADIR%%/scripts/reports.php
+%%DATADIR%%/scripts/rss.php
+%%DATADIR%%/scripts/rss2.php
+%%DATADIR%%/scripts/schedule.php
+%%DATADIR%%/setup/images/exclamation.png
+%%DATADIR%%/setup/images/title.png
+%%DATADIR%%/setup/index.php
+%%DATADIR%%/setup/styles/setup.css
+%%DATADIR%%/setup/styles/theme.css
+%%DATADIR%%/setup/templates/administration.tpl.php
+%%DATADIR%%/setup/templates/complete_install.tpl.php
+%%DATADIR%%/setup/templates/database.tpl.php
+%%DATADIR%%/setup/templates/license.tpl.php
+%%DATADIR%%/setup/templates/pre_install.tpl.php
+%%DATADIR%%/setup/templates/structure.tpl.php
+%%DATADIR%%/sql/flyspray-0.9.8.mysql
+%%DATADIR%%/sql/flyspray-0.9.8.pgsql
%%DATADIR%%/sql/flyspray.conf.skel
-%%DATADIR%%/sql/install-0.9.7.php
-%%DATADIR%%/sql/upgrade_0.9.3.1_to_0.9.4-mysql.php
-%%DATADIR%%/sql/upgrade_0.9.6_to_0.9.7.pgsql
-%%DATADIR%%/sql/upgrade_0.9.4_to_0.9.5-mysql.php
-%%DATADIR%%/sql/upgrade_0.9.6_to_0.9.7.php
-%%DATADIR%%/sql/upgrade_0.9.5_to_0.9.6-mysql.php
-%%DATADIR%%/sql/flyspray-0.9.7.pgsql
-%%DATADIR%%/themes/Bluey/tab-notactive.png
-%%DATADIR%%/themes/Bluey/percent-0.png
-%%DATADIR%%/themes/Bluey/percent-100.png
+%%DATADIR%%/sql/upgrade_0.9.7_to_0.9.8.mysql
+%%DATADIR%%/sql/upgrade_0.9.7_to_0.9.8.pgsql
+%%DATADIR%%/themes/Bluey/asc.png
+%%DATADIR%%/themes/Bluey/attachment.png
+%%DATADIR%%/themes/Bluey/button-over.png
+%%DATADIR%%/themes/Bluey/button.png
+%%DATADIR%%/themes/Bluey/calendar.png
+%%DATADIR%%/themes/Bluey/comment.png
+%%DATADIR%%/themes/Bluey/desc.png
+%%DATADIR%%/themes/Bluey/frown.png
+%%DATADIR%%/themes/Bluey/index.html
+%%DATADIR%%/themes/Bluey/menu/comment.png
+%%DATADIR%%/themes/Bluey/menu/editmydetails.png
+%%DATADIR%%/themes/Bluey/menu/lists.png
+%%DATADIR%%/themes/Bluey/menu/logout.png
+%%DATADIR%%/themes/Bluey/menu/newtask.png
+%%DATADIR%%/themes/Bluey/menu/options.png
+%%DATADIR%%/themes/Bluey/menu/projectprefs.png
+%%DATADIR%%/themes/Bluey/menu/reports.png
+%%DATADIR%%/themes/Bluey/menu/search.png
+%%DATADIR%%/themes/Bluey/menu/usersandgroups.png
+%%DATADIR%%/themes/Bluey/mime/application.png
%%DATADIR%%/themes/Bluey/mime/application/octet-stream.png
-%%DATADIR%%/themes/Bluey/mime/application/x-gzip.png
%%DATADIR%%/themes/Bluey/mime/application/pdf.png
-%%DATADIR%%/themes/Bluey/mime/text/html.png
+%%DATADIR%%/themes/Bluey/mime/application/x-gzip.png
%%DATADIR%%/themes/Bluey/mime/audio.png
%%DATADIR%%/themes/Bluey/mime/image.png
-%%DATADIR%%/themes/Bluey/mime/application.png
%%DATADIR%%/themes/Bluey/mime/text.png
+%%DATADIR%%/themes/Bluey/mime/text/html.png
%%DATADIR%%/themes/Bluey/mime/video.png
-%%DATADIR%%/themes/Bluey/menu/projectprefs.png
-%%DATADIR%%/themes/Bluey/menu/newtask.png
-%%DATADIR%%/themes/Bluey/menu/reports.png
-%%DATADIR%%/themes/Bluey/menu/lists.png
-%%DATADIR%%/themes/Bluey/menu/comment.png
-%%DATADIR%%/themes/Bluey/menu/editmydetails.png
-%%DATADIR%%/themes/Bluey/menu/search.png
-%%DATADIR%%/themes/Bluey/menu/usersandgroups.png
-%%DATADIR%%/themes/Bluey/menu/logout.png
-%%DATADIR%%/themes/Bluey/menu/options.png
-%%DATADIR%%/themes/Bluey/comment.png
+%%DATADIR%%/themes/Bluey/next.png
+%%DATADIR%%/themes/Bluey/percent-0.png
%%DATADIR%%/themes/Bluey/percent-10.png
-%%DATADIR%%/themes/Bluey/theme.css
-%%DATADIR%%/themes/Bluey/asc.png
-%%DATADIR%%/themes/Bluey/calendar.png
-%%DATADIR%%/themes/Bluey/smile.png
-%%DATADIR%%/themes/Bluey/button.png
-%%DATADIR%%/themes/Bluey/desc.png
+%%DATADIR%%/themes/Bluey/percent-100.png
%%DATADIR%%/themes/Bluey/percent-20.png
-%%DATADIR%%/themes/Bluey/tab-active.png
%%DATADIR%%/themes/Bluey/percent-30.png
-%%DATADIR%%/themes/Bluey/title.png
%%DATADIR%%/themes/Bluey/percent-40.png
%%DATADIR%%/themes/Bluey/percent-50.png
%%DATADIR%%/themes/Bluey/percent-60.png
%%DATADIR%%/themes/Bluey/percent-70.png
-%%DATADIR%%/themes/Bluey/button-over.png
%%DATADIR%%/themes/Bluey/percent-80.png
%%DATADIR%%/themes/Bluey/percent-90.png
-%%DATADIR%%/themes/Bluey/index.html
-%%DATADIR%%/themes/Bluey/attachment.png
-%%DATADIR%%/themes/Bluey/frown.png
+%%DATADIR%%/themes/Bluey/prev.png
+%%DATADIR%%/themes/Bluey/smile.png
+%%DATADIR%%/themes/Bluey/tab-active.png
+%%DATADIR%%/themes/Bluey/tab-notactive.png
+%%DATADIR%%/themes/Bluey/theme.css
+%%DATADIR%%/themes/Bluey/title.png
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS.txt
%%PORTDOCS%%%%DOCSDIR%%/BUGS.txt
%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.txt
%%PORTDOCS%%%%DOCSDIR%%/INSTALL.txt
+%%PORTDOCS%%%%DOCSDIR%%/QA_CHECKLIST.txt
%%PORTDOCS%%%%DOCSDIR%%/README.txt
%%PORTDOCS%%%%DOCSDIR%%/TODO.txt
%%PORTDOCS%%%%DOCSDIR%%/UPGRADING.txt
%%PORTDOCS%%%%DOCSDIR%%/ADOdb.licence.txt
%%PORTDOCS%%%%DOCSDIR%%/Flyspray.licence.txt
+%%PORTDOCS%%%%DOCSDIR%%/class.jabber.php.licence.txt
%%PORTDOCS%%%%DOCSDIR%%/NuvolaIcons.licence.txt
%%PORTDOCS%%%%DOCSDIR%%/jsCalendar.licence.txt
%%PORTDOCS%%%%DOCSDIR%%/phpMarkdown.licence.txt
+%%PORTDOCS%%%%DOCSDIR%%/phpmailer.licence.txt
%%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD
%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm %%DATADIR%%/docs/licences
+@dirrm %%DATADIR%%/docs
@dirrm %%DATADIR%%/includes/jscalendar/lang
+@dirrm %%DATADIR%%/includes/jscalendar/skins/aqua
+@dirrm %%DATADIR%%/includes/jscalendar/skins
@dirrm %%DATADIR%%/includes/jscalendar
@dirrm %%DATADIR%%/includes
@dirrm %%DATADIR%%/lang/en
-@dirrm %%DATADIR%%/lang/ptbr
-@dirrm %%DATADIR%%/lang/fr
-@dirrm %%DATADIR%%/lang/es
-@dirrm %%DATADIR%%/lang/de
-@dirrm %%DATADIR%%/lang/nl
-@dirrm %%DATADIR%%/lang/pl
-@dirrm %%DATADIR%%/lang/it
-@dirrm %%DATADIR%%/lang/dk
@dirrm %%DATADIR%%/lang
@dirrm %%DATADIR%%/scripts
+@dirrm %%DATADIR%%/setup/styles
+@dirrm %%DATADIR%%/setup/images
+@dirrm %%DATADIR%%/setup/templates
+@dirrm %%DATADIR%%/setup
@dirrm %%DATADIR%%/sql
-@dirrm %%DATADIR%%/themes/Bluey/mime/audio
-@dirrm %%DATADIR%%/themes/Bluey/mime/image
@dirrm %%DATADIR%%/themes/Bluey/mime/application
@dirrm %%DATADIR%%/themes/Bluey/mime/text
-@dirrm %%DATADIR%%/themes/Bluey/mime/video
@dirrm %%DATADIR%%/themes/Bluey/mime
@dirrm %%DATADIR%%/themes/Bluey/menu
@dirrm %%DATADIR%%/themes/Bluey