From 38c87907f1ef2137d989c0bde1201e539d7017fa Mon Sep 17 00:00:00 2001
From: Christian Weiske
Date: Thu, 30 Jun 2011 19:17:47 +0200
Subject: add merged features to changelog, mention brett and mark
---
doc/ChangeLog | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
(limited to 'doc/ChangeLog')
diff --git a/doc/ChangeLog b/doc/ChangeLog
index cde9e61..1456cbc 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -5,20 +5,22 @@ ChangeLog for SemantiScuttle
0.98.0 - 2011-XX-XX
-------------------
- Switch to jQuery and drop dojo
+- Implement request #2928950: Private keys for RSS feeds (Mark Pemberton)
+- Implement request #3164348: Configurable default privacy (Brett Dee)
+- Implement request #1989987: Theming support
+- Implement request #3054906: Show user's full name instead of nickname
+- Implement patch #3059829: update ``FR_CA`` translation
- Fix bug #3187177: Wrong URL / Export XML Bookmarks
-- Fix bug in ``getTagsForBookmarks()`` that fetched all tags
- Fix bug #3097187: Using opensearch with two tags does not work in Firefox
- Fix bug #3251877: French translation JavaScript Bug when editing bookmarks
- Fix bug #3168521: Title of tag-filtered RSS Feed is broken
- Fix bug #2853627: Javascript warning
-- Implement request #1989987: Theming support
-- Implement request #3054906: Show user's full name instead of nickname
-- Implement patch #3059829: update ``FR_CA`` translation
+- Fix bug in ``getTagsForBookmarks()`` that fetched all tags
+- Fix privacy issue when fetching tags of several users
+- Fix Google custom search XML
- Show error message on mysqli connection errors
- Update php-gettext library to 1.0.10
- ``api/posts/add`` respects the "replace" parameter now
-- Fix privacy issue when fetching tags of several users
-- Fix Google custom search XML
- Only URLs with an allowed protocol may be added to the database
- Support HTTPS connections when ``$root`` is not configured
- SQL schema version table to ease future database upgrades
--
cgit v1.2.3-54-g00ecf
From 9994e92a3c8c570154de4effa16d4e7f087e2b85 Mon Sep 17 00:00:00 2001
From: Christian Weiske
Date: Mon, 4 Jul 2011 18:08:38 +0200
Subject: link changelog
---
doc/ChangeLog | 1 +
doc/index.rst | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
(limited to 'doc/ChangeLog')
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 1456cbc..87c1b46 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,6 +1,7 @@
ChangeLog for SemantiScuttle
============================
+.. contents::
0.98.0 - 2011-XX-XX
-------------------
diff --git a/doc/index.rst b/doc/index.rst
index 1b8feea..85d2ab6 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -35,6 +35,7 @@ Developer documentation
- `How to release a new version`__
- `Running unit testes`__
- `How to translate SemanticScuttle`__
+- `ChangeLog`__
__ developers/rules.html
__ developers/api.html
@@ -42,4 +43,4 @@ __ developers/debugging.html
__ developers/release-new-version.html
__ developers/running-unit-tests.html
__ developers/translation.html
-
+__ ChangeLog.html
--
cgit v1.2.3-54-g00ecf
From 83714e3889d846639c24c3e6401eb026969230b8 Mon Sep 17 00:00:00 2001
From: Christian Weiske
Date: Thu, 21 Jul 2011 22:28:42 +0200
Subject: make release docs more readable, update version to 0.98, update pear
package changelog, fix pear package inclusion files
---
build.xml | 62 +++++++++++++++++++++-------------
data/templates/default/about.tpl.php | 2 +-
doc/ChangeLog | 1 +
doc/developers/release-new-version.rst | 12 +++----
4 files changed, 47 insertions(+), 30 deletions(-)
(limited to 'doc/ChangeLog')
diff --git a/build.xml b/build.xml
index 54456e3..202b3b8 100644
--- a/build.xml
+++ b/build.xml
@@ -9,18 +9,31 @@
-
-
+
+
-
@@ -67,7 +80,6 @@
-
SemanticScuttle
A social bookmarking tool
@@ -109,30 +121,34 @@
**/.svn
build*
data/config.php
+ data/config.testing.php
+ data/config.testing-tmp.php
data/locales/messages.po
data/locales/*/LC_MESSAGES/messages.po
dist/**
- doc/developers/**
scripts/**
src/php-gettext/examples/**
- src/php-gettext/bin/**
- *.tgz
+ src/php-gettext/tests/**
*.properties
+ *.sql
+ *.tgz
-
+
+
-
-
-
diff --git a/data/templates/default/about.tpl.php b/data/templates/default/about.tpl.php
index 7bff98d..8a9b206 100644
--- a/data/templates/default/about.tpl.php
+++ b/data/templates/default/about.tpl.php
@@ -17,7 +17,7 @@ $this->includeTemplate($GLOBALS['top_include']);
isAdmin()): ?>
-SemanticScuttle v0.97.0
+SemanticScuttle v0.98.0
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 87c1b46..7ed1796 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -26,6 +26,7 @@ ChangeLog for SemantiScuttle
- Support HTTPS connections when ``$root`` is not configured
- SQL schema version table to ease future database upgrades
- Documentation is written with rST (reStructuredText) now
+- Support per-host configuration files
0.97.2 - 2011-02-17
diff --git a/doc/developers/release-new-version.rst b/doc/developers/release-new-version.rst
index 4b2540a..a5e77dc 100644
--- a/doc/developers/release-new-version.rst
+++ b/doc/developers/release-new-version.rst
@@ -2,18 +2,18 @@ How to release a new version of SemanticScuttle
===============================================
0. Run unit tests and verify that all of them pass
-1. Update doc/ChangeLog
-2. Update doc/UPGRADE.txt
-3. Update version in data/templates/about.tpl.php,
- build.xml and doc/README.txt
+1. Update ``doc/ChangeLog``
+2. Update ``doc/UPGRADE.txt``
+3. Update version in ``data/templates/about.tpl.php``,
+ ``build.xml`` and ``doc/README.rst``
4. Create a release zip file via the build script:
- Just type "phing".
+ Just type "``phing``".
5. Make a test installation from your zip file with a fresh
database. Register a user, add bookmarks etc.
6. When all is fine, it's time to release.
The build script takes care for most of the
tasks.
- Run "phing release", and it will upload the release to
+ Run "``phing release``", and it will upload the release to
sourceforge and create a svn tag.
7. Write announcement mail to the SemanticScuttle mailing list
semanticscuttle-devel@lists.sourceforge.net
--
cgit v1.2.3-54-g00ecf
From 71b486e533c3280a11728613c136710bba990475 Mon Sep 17 00:00:00 2001
From: Christian Weiske
Date: Thu, 21 Jul 2011 22:56:52 +0200
Subject: set release date
---
doc/ChangeLog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'doc/ChangeLog')
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 7ed1796..d97c5ac 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -3,7 +3,7 @@ ChangeLog for SemantiScuttle
.. contents::
-0.98.0 - 2011-XX-XX
+0.98.0 - 2011-07-21
-------------------
- Switch to jQuery and drop dojo
- Implement request #2928950: Private keys for RSS feeds (Mark Pemberton)
--
cgit v1.2.3-54-g00ecf
From dc69d1ad13889022b90c24b6ccbff441f52403cd Mon Sep 17 00:00:00 2001
From: Christian Weiske
Date: Sat, 23 Jul 2011 08:27:17 +0200
Subject: Fix bug #3375635: XML parsing problem in top.inc.php (happened only
when short_open_tags were activated)
---
data/templates/default/top.inc.php | 2 +-
doc/ChangeLog | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
(limited to 'doc/ChangeLog')
diff --git a/data/templates/default/top.inc.php b/data/templates/default/top.inc.php
index 0f67a17..17ec982 100644
--- a/data/templates/default/top.inc.php
+++ b/data/templates/default/top.inc.php
@@ -1,4 +1,4 @@
-
+?xml version="1.0" encoding="utf-8"?>
diff --git a/doc/ChangeLog b/doc/ChangeLog
index d97c5ac..417f4c6 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -3,6 +3,11 @@ ChangeLog for SemantiScuttle
.. contents::
+0.98.1 - 2011-XX-XX
+-------------------
+- Fix bug #3375635: XML parsing problem in top.inc.php
+
+
0.98.0 - 2011-07-21
-------------------
- Switch to jQuery and drop dojo
--
cgit v1.2.3-54-g00ecf
From ba6465e310a5cb537cc46c2ed483e55ea9949cd0 Mon Sep 17 00:00:00 2001
From: Christian Weiske
Date: Sat, 23 Jul 2011 08:33:52 +0200
Subject: Fix bug #3375428: Forgot to remove some old dojo files
---
data/templates/default/dojo.inc.php | 35 -----------------
doc/ChangeLog | 1 +
www/js/jstree-1.0-rc2/MultiComboBox.js | 72 ----------------------------------
3 files changed, 1 insertion(+), 107 deletions(-)
delete mode 100644 data/templates/default/dojo.inc.php
delete mode 100644 www/js/jstree-1.0-rc2/MultiComboBox.js
(limited to 'doc/ChangeLog')
diff --git a/data/templates/default/dojo.inc.php b/data/templates/default/dojo.inc.php
deleted file mode 100644
index 366dcfe..0000000
--- a/data/templates/default/dojo.inc.php
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 417f4c6..229db55 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -6,6 +6,7 @@ ChangeLog for SemantiScuttle
0.98.1 - 2011-XX-XX
-------------------
- Fix bug #3375635: XML parsing problem in top.inc.php
+- Fix bug #3375428: Forgot to remove some old dojo files
0.98.0 - 2011-07-21
diff --git a/www/js/jstree-1.0-rc2/MultiComboBox.js b/www/js/jstree-1.0-rc2/MultiComboBox.js
deleted file mode 100644
index b263c8b..0000000
--- a/www/js/jstree-1.0-rc2/MultiComboBox.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- Copyright (c) 2004-2008, The Dojo Foundation All Rights Reserved.
- Available via Academic Free License >= 2.1 OR the modified BSD license.
- see: http://dojotoolkit.org/license for details
-*/
-
-/* SemanticScuttle: This script is a light modification of dojox.form.MultiComboBox
-This fork allows specific use until DOJO 1.2.3 in Google CDN. */
-
-
-
-if(!dojo._hasResource["js.MultiComboBox"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["js.MultiComboBox"] = true;
-dojo.provide("js.MultiComboBox");
-dojo.experimental("js.MultiComboBox");
-dojo.require("dijit.form.ComboBox");
-dojo.require("dijit.form.ValidationTextBox");
-
-dojo.declare("js.MultiComboBox",
- [dijit.form.ValidationTextBox, dijit.form.ComboBoxMixin],{
- //
- // summary: A ComboBox that accpets multiple inputs on a single line?
- //
- // delimiter: String
- // The character to use to separate items in the ComboBox input
- delimiter: ",",
- _previousMatches: false,
-
- _setValueAttr: function(value){
- if (this.delimiter && value.length != 0){
- value = value+this.delimiter+" ";
- arguments[0] = this._addPreviousMatches(value);
- }
- this.inherited(arguments);
- },
-
- _addPreviousMatches: function(/* String */text){
- if(this._previousMatches){
- if(!text.match(new RegExp("^"+this._previousMatches))){
- text = this._previousMatches+text;
- }
- }
- text = this._cleanupDelimiters(text); // SScuttle: this line was moved
- return text; // String
- },
-
- _cleanupDelimiters: function(/* String */text){
- if(this.delimiter){
- text = text.replace(new RegExp(" +"), " ");
- text = text.replace(new RegExp("^ *"+this.delimiter+"* *"), "");
- text = text.replace(new RegExp(this.delimiter+" *"+this.delimiter), this.delimiter);
- }
- return text;
- },
-
- _autoCompleteText: function(/* String */text){
- arguments[0] = this._addPreviousMatches(text);
- this.inherited(arguments);
- },
-
- _startSearch: function(/* String */text){
- text = this._cleanupDelimiters(text);
- var re = new RegExp("^.*"+this.delimiter+" *");
-
- if((this._previousMatches = text.match(re))){
- arguments[0] = text.replace(re, "");
- }
- this.inherited(arguments);
- }
-});
-
-}
\ No newline at end of file
--
cgit v1.2.3-54-g00ecf
From 320d6733442faffae9b68307655bf4292bb1f94d Mon Sep 17 00:00:00 2001
From: Christian Weiske
Date: Sat, 23 Jul 2011 14:19:09 +0200
Subject: Fix bug #3160512: Make SemantiScuttle work with FastCGI
---
doc/ChangeLog | 1 +
src/SemanticScuttle/Environment.php | 52 +++++++++++++++++
src/SemanticScuttle/constants.php | 14 +----
src/SemanticScuttle/header.php | 1 +
tests/SemanticScuttle/EnvironmentTest.php | 95 +++++++++++++++++++++++++++++++
5 files changed, 151 insertions(+), 12 deletions(-)
create mode 100644 src/SemanticScuttle/Environment.php
create mode 100644 tests/SemanticScuttle/EnvironmentTest.php
(limited to 'doc/ChangeLog')
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 229db55..fc8c718 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -7,6 +7,7 @@ ChangeLog for SemantiScuttle
-------------------
- Fix bug #3375635: XML parsing problem in top.inc.php
- Fix bug #3375428: Forgot to remove some old dojo files
+- Fix bug #3160512: Make SemantiScuttle work with FastCGI
0.98.0 - 2011-07-21
diff --git a/src/SemanticScuttle/Environment.php b/src/SemanticScuttle/Environment.php
new file mode 100644
index 0000000..e5fe3de
--- /dev/null
+++ b/src/SemanticScuttle/Environment.php
@@ -0,0 +1,52 @@
+
+ * @license AGPL http://www.gnu.org/licenses/agpl.html
+ * @link http://sourceforge.net/projects/semanticscuttle
+ */
+
+/**
+ * Server environment handling methods
+ *
+ * @category Bookmarking
+ * @package SemanticScuttle
+ * @author Christian Weiske
+ * @license AGPL http://www.gnu.org/licenses/agpl.html
+ * @link http://sourceforge.net/projects/semanticscuttle
+ */
+class SemanticScuttle_Environment
+{
+ /**
+ * Determines the correct $_SERVER['PATH_INFO'] value
+ *
+ * @return string New value
+ */
+ public static function getServerPathInfo()
+ {
+ /* old code that does not work today.
+ if you find that this code helps you, tell us
+ and send us the output of var_export($_SERVER);
+ // Correct bugs with PATH_INFO (maybe for Apache 1 or CGI) -- for 1&1 host...
+ if (isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO'])) {
+ if (strlen($_SERVER["PATH_INFO"])
\ No newline at end of file
diff --git a/src/SemanticScuttle/constants.php b/src/SemanticScuttle/constants.php
index 11ab0da..fcb2d90 100644
--- a/src/SemanticScuttle/constants.php
+++ b/src/SemanticScuttle/constants.php
@@ -69,16 +69,6 @@ define('PAGE_WATCHLIST', "watchlist");
// installations on the same host server
define('INSTALLATION_ID', md5($GLOBALS['dbname'].$GLOBALS['tableprefix']));
-// Correct bugs with PATH_INFO (maybe for Apache 1 or CGI) -- for 1&1 host...
-if (isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO'])) {
- if (strlen($_SERVER["PATH_INFO"])
diff --git a/src/SemanticScuttle/header.php b/src/SemanticScuttle/header.php
index 9252300..694df54 100644
--- a/src/SemanticScuttle/header.php
+++ b/src/SemanticScuttle/header.php
@@ -25,6 +25,7 @@ if ('@data_dir@' == '@' . 'data_dir@') {
//FIXME: when you have multiple installations, the www_dir will be wrong
$wwwdir = '@www_dir@/SemanticScuttle/';
}
+require_once dirname(__FILE__) . '/Environment.php';
require_once dirname(__FILE__) . '/Config.php';
$cfg = new SemanticScuttle_Config();
diff --git a/tests/SemanticScuttle/EnvironmentTest.php b/tests/SemanticScuttle/EnvironmentTest.php
new file mode 100644
index 0000000..a41efa1
--- /dev/null
+++ b/tests/SemanticScuttle/EnvironmentTest.php
@@ -0,0 +1,95 @@
+ 'Opera/9.80 (X11; Linux x86_64; U; de) Presto/2.9.168 Version/11.50',
+ 'HTTP_HOST' => 'bm-cgi.bogo',
+ 'HTTP_ACCEPT' => 'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1',
+ 'HTTP_ACCEPT_LANGUAGE' => 'de-DE,de;q=0.9,en;q=0.8',
+ 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
+ 'HTTP_COOKIE' => 'PHPSESSID=ga446jhs0e09hkt60u9bsmp0n0',
+ 'HTTP_CACHE_CONTROL' => 'no-cache',
+ 'HTTP_CONNECTION' => 'Keep-Alive',
+ 'PATH' => '/usr/local/bin:/usr/bin:/bin',
+ 'SERVER_SIGNATURE' => 'Apache/2.2.17 (Ubuntu) Server at bm-cgi.bogo Port 80',
+ 'SERVER_SOFTWARE' => 'Apache/2.2.17 (Ubuntu)',
+ 'SERVER_NAME' => 'bm-cgi.bogo',
+ 'SERVER_ADDR' => '127.0.0.1',
+ 'SERVER_PORT' => '80',
+ 'REMOTE_ADDR' => '127.0.0.1',
+ 'DOCUMENT_ROOT' => '/etc/apache2/htdocs',
+ 'SERVER_ADMIN' => '[no address given]',
+ 'SCRIPT_FILENAME' => '/home/cweiske/Dev/html/hosts/bm-cgi.bogo/profile.php',
+ 'REMOTE_PORT' => '45349',
+ 'GATEWAY_INTERFACE' => 'CGI/1.1',
+ 'SERVER_PROTOCOL' => 'HTTP/1.1',
+ 'REQUEST_METHOD' => 'GET',
+ 'QUERY_STRING' => '',
+ 'REQUEST_URI' => '/profile.php/dummy',
+ 'SCRIPT_NAME' => '/profile.php',
+ 'PATH_INFO' => '/dummy',
+ 'PATH_TRANSLATED' => '/home/cweiske/Dev/html/hosts/bm-cgi.bogo/dummy',
+ 'PHP_SELF' => '/profile.php/dummy',
+ 'REQUEST_TIME' => 1311422546,
+ );
+ $this->assertEquals(
+ '/dummy', SemanticScuttle_Environment::getServerPathInfo()
+ );
+ }
+
+
+ public function testServerPathInfoFastCgi()
+ {
+ $_SERVER = array(
+ 'PHP_FCGI_MAX_REQUESTS' => '5000',
+ 'PHPRC' => '/etc/php5/cgi/5.3.6/',
+ 'PHP_FCGI_CHILDREN' => '3',
+ 'PWD' => '/var/www/cgi-bin',
+ 'FCGI_ROLE' => 'RESPONDER',
+ 'REDIRECT_HANDLER' => 'php-cgi',
+ 'REDIRECT_STATUS' => '200',
+ 'HTTP_USER_AGENT' => 'Opera/9.80 (X11; Linux x86_64; U; de) Presto/2.9.168 Version/11.50',
+ 'HTTP_HOST' => 'bm-cgi.bogo',
+ 'HTTP_ACCEPT' => 'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1',
+ 'HTTP_ACCEPT_LANGUAGE' => 'de-DE,de;q=0.9,en;q=0.8',
+ 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
+ 'HTTP_COOKIE' => 'PHPSESSID=ga446jhs0e09hkt60u9bsmp0n0',
+ 'HTTP_CONNECTION' => 'Keep-Alive',
+ 'PATH' => '/usr/local/bin:/usr/bin:/bin',
+ 'SERVER_SIGNATURE' => 'Apache/2.2.17 (Ubuntu) Server at bm-cgi.bogo Port 80',
+ 'SERVER_SOFTWARE' => 'Apache/2.2.17 (Ubuntu)',
+ 'SERVER_NAME' => 'bm-cgi.bogo',
+ 'SERVER_ADDR' => '127.0.0.1',
+ 'SERVER_PORT' => '80',
+ 'REMOTE_ADDR' => '127.0.0.1',
+ 'DOCUMENT_ROOT' => '/etc/apache2/htdocs',
+ 'SERVER_ADMIN' => '[no address given]',
+ 'SCRIPT_FILENAME' => '/home/cweiske/Dev/html/hosts/bm-cgi.bogo/profile.php',
+ 'REMOTE_PORT' => '45342',
+ 'REDIRECT_URL' => '/profile.php/dummy',
+ 'GATEWAY_INTERFACE' => 'CGI/1.1',
+ 'SERVER_PROTOCOL' => 'HTTP/1.1',
+ 'REQUEST_METHOD' => 'GET',
+ 'QUERY_STRING' => '',
+ 'REQUEST_URI' => '/profile.php/dummy',
+ 'SCRIPT_NAME' => '/profile.php',
+ 'PATH_INFO' => '/dummy',
+ 'PATH_TRANSLATED' => '/etc/apache2/htdocs/dummy',
+ 'ORIG_PATH_INFO' => '/profile.php/dummy',
+ 'ORIG_SCRIPT_NAME' => '/cgi-bin-php/php-cgi-5.3.6',
+ 'ORIG_SCRIPT_FILENAME' => '/var/www/cgi-bin/php-cgi-5.3.6',
+ 'ORIG_PATH_TRANSLATED' => '/home/cweiske/Dev/html/hosts/bm-cgi.bogo/profile.php/dummy',
+ 'PHP_SELF' => '/profile.php/dummy',
+ 'REQUEST_TIME' => 1311422521,
+ );
+ $this->assertEquals(
+ '/dummy', SemanticScuttle_Environment::getServerPathInfo()
+ );
+ }
+
+}
+
+?>
\ No newline at end of file
--
cgit v1.2.3-54-g00ecf
From 81aa17b8523d95310c90366d9af09767db0c84f2 Mon Sep 17 00:00:00 2001
From: Christian Weiske
Date: Sat, 23 Jul 2011 17:47:51 +0200
Subject: fix typo
---
doc/ChangeLog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'doc/ChangeLog')
diff --git a/doc/ChangeLog b/doc/ChangeLog
index fc8c718..f963ca2 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -7,7 +7,7 @@ ChangeLog for SemantiScuttle
-------------------
- Fix bug #3375635: XML parsing problem in top.inc.php
- Fix bug #3375428: Forgot to remove some old dojo files
-- Fix bug #3160512: Make SemantiScuttle work with FastCGI
+- Fix bug #3160512: Make SemanticScuttle work with FastCGI
0.98.0 - 2011-07-21
--
cgit v1.2.3-54-g00ecf