Bug 88332 - Update port: devel/flyspray -> 0.9.8
Summary: Update port: devel/flyspray -> 0.9.8
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-01 14:40 UTC by Nick Hilliard
Modified: 2005-11-11 22:17 UTC (History)
0 users

See Also:


Attachments
file.shar (37.68 KB, text/plain)
2005-11-01 14:40 UTC, Nick Hilliard
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Hilliard 2005-11-01 14:40:20 UTC
Update for Flyspray 0.9.7 -> 0.9.8.  A couple of days after the author
released 0.9.8, a security problem was found, and a separate update archive
was released as 0.9.8-update1.  This port includes the patches from
-update1, and has set PORTEPOCH to 1 in order to note that this is not
vanilla 0.9.8.
Comment 1 Kirill Ponomarev freebsd_committer freebsd_triage 2005-11-01 14:55:47 UTC
State Changed
From-To: open->feedback

Please do not use shar(1) for updates, use `diff -ruN` output instead.
Comment 2 Nick Hilliard 2005-11-02 21:42:27 UTC
diff -ruN flyspray/Makefile flyspray-0.9.8.1/Makefile
--- flyspray/Makefile	Fri Apr 29 16:56:05 2005
+++ flyspray-0.9.8.1/Makefile	Tue Nov  1 12:10:12 2005
@@ -6,7 +6,8 @@
 #
 
 PORTNAME=	flyspray
-PORTVERSION=	0.9.7
+PORTVERSION=	0.9.8
+PORTEPOCH=	1
 CATEGORIES=	devel
 MASTER_SITES=	http://flyspray.rocks.cc/files/
 
@@ -21,38 +22,49 @@
 
 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 -ruN flyspray/distinfo flyspray-0.9.8.1/distinfo
--- flyspray/distinfo	Fri Apr 29 16:56:05 2005
+++ flyspray-0.9.8.1/distinfo	Tue Nov  1 11:03:30 2005
@@ -1,2 +1,2 @@
-MD5 (flyspray-0.9.7.tar.gz) = ab686864412a0fb4590560ee360bb1f5
-SIZE (flyspray-0.9.7.tar.gz) = 347443
+MD5 (flyspray-0.9.8.tar.gz) = e034c2f1638cca65c41c7cb3590e2014
+SIZE (flyspray-0.9.8.tar.gz) = 385283
diff -ruN flyspray/files/README.FreeBSD flyspray-0.9.8.1/files/README.FreeBSD
--- flyspray/files/README.FreeBSD	Fri Mar 25 00:09:01 2005
+++ flyspray-0.9.8.1/files/README.FreeBSD	Tue Nov  1 14:31:43 2005
@@ -10,67 +10,43 @@
 
 # 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 -ruN flyspray/files/patch-.htaccess flyspray-0.9.8.1/files/patch-.htaccess
--- flyspray/files/patch-.htaccess	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-.htaccess	Tue Nov  1 13:17:14 2005
@@ -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 -ruN flyspray/files/patch-docs::CHANGELOG.txt flyspray-0.9.8.1/files/patch-docs::CHANGELOG.txt
--- flyspray/files/patch-docs::CHANGELOG.txt	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-docs::CHANGELOG.txt	Tue Nov  1 11:24:56 2005
@@ -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 -ruN flyspray/files/patch-header.php flyspray-0.9.8.1/files/patch-header.php
--- flyspray/files/patch-header.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-header.php	Tue Nov  1 11:24:57 2005
@@ -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 -ruN flyspray/files/patch-includes::functions.inc.php flyspray-0.9.8.1/files/patch-includes::functions.inc.php
--- flyspray/files/patch-includes::functions.inc.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-includes::functions.inc.php	Tue Nov  1 11:24:58 2005
@@ -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 -ruN flyspray/files/patch-includes::regexp.php flyspray-0.9.8.1/files/patch-includes::regexp.php
--- flyspray/files/patch-includes::regexp.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-includes::regexp.php	Tue Nov  1 11:24:59 2005
@@ -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 -ruN flyspray/files/patch-index.php flyspray-0.9.8.1/files/patch-index.php
--- flyspray/files/patch-index.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-index.php	Tue Nov  1 11:24:59 2005
@@ -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 -ruN flyspray/files/patch-remote.php flyspray-0.9.8.1/files/patch-remote.php
--- flyspray/files/patch-remote.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-remote.php	Tue Nov  1 11:25:00 2005
@@ -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 -ruN flyspray/files/patch-scripts::details.php flyspray-0.9.8.1/files/patch-scripts::details.php
--- flyspray/files/patch-scripts::details.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-scripts::details.php	Tue Nov  1 11:25:01 2005
@@ -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 -ruN flyspray/files/patch-scripts::index.php flyspray-0.9.8.1/files/patch-scripts::index.php
--- flyspray/files/patch-scripts::index.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-scripts::index.php	Tue Nov  1 11:25:03 2005
@@ -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 -ruN flyspray/files/patch-scripts::newtask.php flyspray-0.9.8.1/files/patch-scripts::newtask.php
--- flyspray/files/patch-scripts::newtask.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-scripts::newtask.php	Tue Nov  1 11:25:03 2005
@@ -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 -ruN flyspray/files/patch-scripts::reports.php flyspray-0.9.8.1/files/patch-scripts::reports.php
--- flyspray/files/patch-scripts::reports.php	Thu Jan  1 01:00:00 1970
+++ flyspray-0.9.8.1/files/patch-scripts::reports.php	Tue Nov  1 11:25:04 2005
@@ -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 -ruN flyspray/files/patch-sql::install-0.9.7.php flyspray-0.9.8.1/files/patch-sql::install-0.9.7.php
--- flyspray/files/patch-sql::install-0.9.7.php	Thu Mar 24 23:24:24 2005
+++ flyspray-0.9.8.1/files/patch-sql::install-0.9.7.php	Thu Jan  1 01:00:00 1970
@@ -1,11 +0,0 @@
---- sql/install-0.9.7.php.orig	Thu Mar 24 17:26:47 2005
-+++ sql/install-0.9.7.php	Thu Mar 24 17:28:09 2005
-@@ -75,7 +75,7 @@
- // This line gets the operating system so that we know which way to put slashes in the path
- strstr( PHP_OS, "WIN") ? $slash = "\\" : $slash = "/";
- $basedir = realpath('../') . $slash;
--$adodbpath = $basedir . 'adodb' . $slash . 'adodb.inc.php';
-+$adodbpath = '%%LOCALBASE%%' . $slash . 'adodb' . $slash . 'adodb.inc.php';
- 
- if (!isset($_SESSION['basedir'])) {
-    $_SESSION['basedir'] = $basedir;
diff -ruN flyspray/pkg-descr flyspray-0.9.8.1/pkg-descr
--- flyspray/pkg-descr	Thu Aug 28 20:56:31 2003
+++ flyspray-0.9.8.1/pkg-descr	Tue Nov  1 11:03:30 2005
@@ -2,10 +2,21 @@
 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 -ruN flyspray/pkg-plist flyspray-0.9.8.1/pkg-plist
--- flyspray/pkg-plist	Fri Apr 29 16:56:05 2005
+++ flyspray-0.9.8.1/pkg-plist	Tue Nov  1 16:05:32 2005
@@ -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
Comment 3 Marcus Alves Grando freebsd_committer freebsd_triage 2005-11-06 00:55:49 UTC
State Changed
From-To: feedback->open

Feedback received. But remove PORT_EPOCH before commit.
Comment 4 Pav Lucistnik freebsd_committer freebsd_triage 2005-11-11 22:06:00 UTC
State Changed
From-To: open->closed

Committed, thanks!