This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".
The branch, master has been updated
via d85bf8d3cc76b8716ac95016547422823089c0c5 (commit)
via 0f0764e4414e5610bd0f672b53a697cc0d35c924 (commit)
via f7f0efc6068aa8ad5e6271d2e05f5fc00bb5f321 (commit)
from d8abda08c3f29b1bb8c6c87281ea4d5d54212d6a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=d85bf8d3cc76b8716ac95016547422823089c0c5
commit d85bf8d3cc76b8716ac95016547422823089c0c5
Author: Franck Villaume <[email protected]>
Date: Mon Mar 22 18:59:52 2021 +0100
Sync CHANGES + merge features from DGFiP/Guy Morin
diff --git a/src/CHANGES b/src/CHANGES
index 57aa312..e4cebc1 100644
--- a/src/CHANGES
+++ b/src/CHANGES
@@ -2,7 +2,9 @@ FusionForge X.y:
* Developer page: use widget system, including general & scmgit widgets [#899]
(TrivialDev)
* Diary & Notes: support markdown (TrivialDev)
* Diary & Notes: support crossref (TrivialDev)
+* Forum: pinning support (DGFiP/Guy Morin)
* Plugin Hudson/Jenkins: display link in public area widget [#889] (TrivialDev)
+* Theme: new funky-guy, support responsive menu (DGFiP/Guy Morin)
* User: followers/following mechanism (TrivialDev)
* Utils: crossref, support diary [Nxxx] and Project [Pxxx] (TrivialDev)
* Widget HomeLatestDiaryNotes: new widget for Forge home page to display 5
latest public Diary Notes across the forge (TrivialDev)
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=0f0764e4414e5610bd0f672b53a697cc0d35c924
commit 0f0764e4414e5610bd0f672b53a697cc0d35c924
Author: Guy Morin <guy@guy-90X3A>
Date: Thu Mar 18 15:18:27 2021 +0100
New theme with responsive menu
diff --git a/src/www/themes/funky-guy/README.txt
b/src/www/themes/funky-guy/README.txt
new file mode 100644
index 0000000..ce5bac0
--- /dev/null
+++ b/src/www/themes/funky-guy/README.txt
@@ -0,0 +1,21 @@
+--------------------------------------------------------------------------------
+ T h e F u n k y T h e m e
+--------------------------------------------------------------------------------
+
+About the Funky Theme:
+=====================
+
+The Funky theme is Copyright 2010 (c) Capgemini (www.capgemini.com)
+AUTHOR: Antoine Mercadal <[email protected]>
+
+The Funky theme is free software; you can redistribute it and/or modify it
under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+
+Credits:
+========
+
+Author: Antoine Mercadal ([email protected])
+Design by: Antoine Mercadal ([email protected])
\ No newline at end of file
diff --git a/src/www/themes/funky-guy/Theme.class.php
b/src/www/themes/funky-guy/Theme.class.php
new file mode 100644
index 0000000..dff35ca
--- /dev/null
+++ b/src/www/themes/funky-guy/Theme.class.php
@@ -0,0 +1,393 @@
+<?php
+/**
+ * FusionForge Funky Theme
+ *
+ * Copyright 2010, Antoine Mercadal - Capgemini
+ * Copyright 2010, Marc-Etienne Vargenau, Alcatel-Lucent
+ * Copyright 2011, Franck Villaume - Capgemini
+ * Copyright 2011-2017, Franck Villaume - TrivialDev
+ * Copyright (C) 2011 Alain Peyrat - Alcatel-Lucent
+ *
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the Licence, or (at your option)
+ * any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+require_once $gfwww.'include/Layout.class.php';
+
+class Theme_Funky_Guy extends Layout {
+
+ function __construct() {
+ parent::__construct();
+ $this->themeurl = util_make_uri('themes/funky-guy/');
+ $this->imgbaseurl = $this->themeurl . 'images/';
+ $this->addStylesheet('/themes/funky-guy/css/theme.css');
+ $this->addStylesheet('/themes/funky-guy/css/theme-pages.css');
+
$this->addStylesheet('/scripts/jquery-ui/css/overcast/jquery-ui-1.12.1.css');
+
$this->addStylesheet('/scripts/jquery-ui/css/overcast/jquery-ui.structure-1.12.1.css');
+
$this->addStylesheet('/scripts/jquery-ui/css/overcast/jquery-ui.theme-1.12.1.css');
+ }
+
+ /**
+ * headerJS() - creates the JS headers and calls the plugin javascript
hook
+ * @todo generalize this
+ */
+ function headerJS() {
+ global $use_tooltips;
+
+ echo html_e('script', array('type' => 'text/javascript', 'src'
=> util_make_uri('/js/common.js')), '', false);
+ plugin_hook("javascript_file");
+
+ // invoke the 'javascript' hook for custom javascript addition
+ $params = array('return' => false);
+ plugin_hook("javascript", $params);
+ $javascript = $params['return'];
+ if($javascript) {
+ echo html_ao('script', array('type' =>
'text/javascript')).'//<![CDATA['."\n";
+ echo $javascript;
+ echo "\n".'//]]'."\n";
+ echo html_ac(html_ap() -1);
+ }
+ html_use_storage();
+ html_use_coolfieldset();
+ html_use_jqueryui();
+ echo $this->getJavascripts();
+ echo html_ao('script', array('type' => 'text/javascript'));
+ echo ' //<![CDATA[
+ jQuery(window).load(function(){
+
setTimeout("jQuery(\'.feedback\').hide(\'slow\')", 5000);
+ setInterval(function() {
+
setTimeout("jQuery(\'.feedback\').hide(\'slow\')", 5000);
+ }, 5000);
+ jQuery("button").button();
+ jQuery(":submit").button();
+ jQuery(":reset").button();
+ jQuery(":button").button();
+ jQuery("#tabber").tabs();
+
jQuery("input").filter(\'[type="number"]\').spinner();
+ });
+ //]]>'."\n";
+ if ($use_tooltips) {
+ echo ' jQuery(document).ready(
+ function() {
+ jQuery(document).tooltip({
+ show: {
+ effect:
\'slideDown\'
+ },
+ track: true,
+ open: function
(event, ui) {
+
setTimeout(function () {
+
jQuery(ui.tooltip).hide(\'slideUp\');
+
}, 5000);
+ }
+ });
+ }
+ );'."\n";
+ }
+ echo html_ac(html_ap() -1);
+ }
+
+ function hamburgerButton() {
+ $hamburgerIcon = '<svg viewBox="0 0 50 40" width="20"
height="20" fill="#eee">
+ <rect width="50" height="7"></rect>
+ <rect y="15" width="50" height="7"></rect>
+ <rect y="30" width="50" height="7"></rect>
+ </svg>';
+ echo html_ao('label', array('for' => 'hamburgerButton'));
+ echo $hamburgerIcon;
+ echo html_ac(html_ap() -1); // </label>
+ }
+
+ function bodyHeader($params) {
+ if (!isset($params['h1']) && isset($params['title'])) {
+ $params['h1'] = $params['title'];
+ }
+
+ if (!isset($params['title'])) {
+ $params['title'] = forge_get_config('forge_name');
+ } else {
+ $params['title'] = $params['title'] . " -
".forge_get_config('forge_name');
+ }
+
+ echo html_ao('header', array('role' => 'banner'));
+ echo html_ao('nav', array('role' => 'navigation'));
+ echo $this->hamburgerButton();
+ echo html_ao('logo');
+ echo util_make_link('/', html_image('header/header-logo.png',
null, null, array('alt'=>'FusionForge Home', 'height'=>'40')));
+ echo html_ac(html_ap() -1); // </logo>
+ echo $this->searchBox();
+ echo html_ao('div', array('id' => 'userlinksdiv'));
+ echo html_ao('ul');
+ $items = $this->navigation->getUserLinks();
+ for ($j = 0; $j < count($items['titles']); $j++) {
+ $links[] = html_ao('li')
+ .util_make_link($items['urls'][$j],
$items['titles'][$j], array('class' => 'userlink'), true)
+ .html_ac(html_ap() -1);
+ }
+ $params['links'] = &$links;
+ plugin_hook('headermenu', $params);
+ $template = isset($params['template']) ? $params['template'] :
null;
+ echo implode($template, $links);
+ echo html_ac(html_ap() -1); // </ul>
+ echo html_ac(html_ap() -1); // </div> #userlinkdiv
+
+ echo html_ao('div', array('id' => 'menudiv'));
+ echo html_ao('input', array('id' => 'hamburgerButton', 'type'
=> 'checkbox'));
+ echo html_ac(html_ap() -1); // </input>
+ echo html_ao('div', array('id' => 'hamburgermenudiv'));
+ $this->outerTabs($params);
+ echo html_ac(html_ap() -1); // </div> #hamburgermenudiv
+ echo html_ao('div', array('id' => 'userlinkshamburgerdiv'));
+ echo html_ao('ul');
+ echo implode($template, $links);
+ echo html_ac(html_ap() -1); // </ul>
+ echo html_ac(html_ap() -1); // </div> #userlinkhamburgerdiv
+ echo html_ac(html_ap() -1); // </div> #menudiv
+ echo $this->quickNav();
+ echo '<!-- inner tabs -->' . "\n";
+ echo html_ao('div', array('class' => 'innertabs'));
+ if (isset($params['group']) && $params['group']) {
+ $this->projectTabs($params['toptab'], $params['group']);
+ }
+ echo html_ac(html_ap() -1); // </div> #tabGenerator
+ echo html_ac(html_ap() -1); // </div> #innertabs
+ echo html_ac(html_ap() -1); // </nav>
+ echo html_ac(html_ap() -2); // </header>
+
+ echo html_ao('main', array('id' => 'maindiv', 'role' =>
'main'));
+ plugin_hook('message');
+
+ if (isset($GLOBALS['error_msg']) && $GLOBALS['error_msg']) {
+ echo $this->error_msg($GLOBALS['error_msg']);
+ }
+ if (isset($GLOBALS['warning_msg']) && $GLOBALS['warning_msg']) {
+ echo $this->warning_msg($GLOBALS['warning_msg']);
+ }
+ if (isset($GLOBALS['feedback']) && $GLOBALS['feedback']) {
+ echo $this->feedback($GLOBALS['feedback']);
+ }
+
+ if (!empty($params['h1'])) {
+ echo html_e('h1', array(), $params['h1'], false);
+ } elseif (!empty($params['title'])) {
+ echo html_e('h1', array('class' => 'hide'),
$params['title'], false);
+ }
+ if (isset($params['submenu'])) {
+ echo $params['submenu'];
+ }
+ }
+
+ function bodyFooter() {
+ echo html_ac(html_ap() -1).'<!-- id="maindiv" -->' . "\n";
+ }
+
+ function footer() {
+ $this->bodyFooter();
+ echo html_ao('footer', array('role' => 'contentinfo'));
+ echo $this->navigation->getPoweredBy();
+ echo $this->navigation->getShowSource();
+ echo html_e('div', array('style' => 'clear:both'), '', false);
+ echo html_ac(html_ap() -1);
+ plugin_hook('webanalytics_url');
+ echo html_ac(html_ap() -1);
+ echo '</html>' . "\n";
+ }
+
+ /**
+ * boxTop() - Top HTML box
+ *
+ * @param string $title Box title
+ * @param string $id
+ * @return string
+ */
+ function boxTop($title, $id = '') {
+ if ($id) {
+ $id = $this->toSlug($id);
+ $idid = $id;
+ $idtitle = $id.'-title';
+ $idtcont = $id.'-title-content';
+ } else {
+ $idid = rand();
+ $idtitle = rand();
+ $idtcont = rand();
+ }
+
+ $t_result = '';
+ $t_result .= html_ao('div', array('id' => $idid, 'class' =>
'box-surround'));
+ $t_result .= html_ao('div', array('id' => $idtitle, 'class' =>
'box-title'));
+ $t_result .= html_e('div', array('id' => $idtcont, 'class' =>
'box-title-content'), $title, false);
+ $t_result .= html_ac(html_ap() -1);
+ return $t_result;
+ }
+
+ /**
+ * boxMiddle() - Middle HTML box
+ *
+ * @param string $title Box title
+ * @param string $id
+ * @return string
+ */
+ function boxMiddle($title, $id = '') {
+ if ($id) {
+ $id = $this->toSlug($id);
+ $idtitle = $id.'-title"';
+ } else {
+ $idtitle = rand();
+ }
+
+ return html_e('div', array('id' => $idtitle, 'class' =>
'box-middle'), $title, false);
+ }
+
+ /**
+ * boxContent() - Content HTML box
+ *
+ * @param string $content Box content
+ * @param string $id
+ * @return string
+ */
+ function boxContent($content, $id = '') {
+ if ($id) {
+ $id = $this->toSlug($id);
+ $idcont = $id.'-content"';
+ } else {
+ $idcont = rand();
+ }
+
+ return html_e('div', array('id' => $idcont, 'class' =>
'box-content'), $content, false);
+ }
+
+ /**
+ * boxBottom() - Bottom HTML box
+ *
+ * @return string
+ */
+ function boxBottom() {
+ return html_ac(html_ap() -1).'<!-- class="box-surround"
-->'."\n";
+ }
+
+ function tabGenerator($tabs_dirs, $tabs_titles, $tabs_tooltips,
$nested=false, $selected=false, $sel_tab_bgcolor='white', $total_width='100%') {
+ $count = count($tabs_dirs);
+
+ if ($count < 1) {
+ return '';
+ }
+
+ $return = '<!-- start tabs -->'."\n";
+ $attrs = array('class' => 'tabGenerator fullwidth');
+
+ if ($total_width != '100%')
+ $attrs['style'] = 'width:' . $total_width;
+
+ $return .= html_ao('div', $attrs);
+ $return .= html_ao('ul');
+
+ $accumulated_width = 0;
+
+ for ($i = 0; $i < $count; $i++) {
+ $tabwidth = intval(ceil(($i+1)*100/$count)) -
$accumulated_width;
+ $accumulated_width += $tabwidth;
+
+ // middle part
+ $attrs = array();
+ $attrs['class'] = 'tg-middle';
+ $return .= html_ao('li', $attrs);
+ $attrs = array();
+ $attrs['id'] = md5($tabs_dirs[$i]).rand();
+ $attrs['href'] = $tabs_dirs[$i];
+ if (preg_match('/^https?:\/\//', $tabs_dirs[$i])) {
+ $attrs['target'] = '_blank';
+ }
+ $return .= html_ao('a', $attrs);
+
+ $attrs = array('title' => $tabs_tooltips[$i]);
+ if ($selected == $i)
+ $attrs['class'] = 'selected';
+ elseif ($nested)
+ $attrs['class'] = 'nested';
+
+ $return .= html_e('span', $attrs, $tabs_titles[$i],
false);
+ $return .= html_ac(html_ap() - 2);
+ }
+
+ $return .= html_ac(html_ap() -1).'<!-- end tabs -->'."\n";
+ return $return;
+ }
+
+ /**
+ * beginSubMenu() - Opening a submenu.
+ *
+ * @return string Html to start a submenu.
+ */
+ function beginSubMenu() {
+ return html_ao('ul', array('class' => 'submenu'));
+ }
+
+ /**
+ * endSubMenu() - Closing a submenu.
+ *
+ * @return string Html to end a submenu.
+ */
+ function endSubMenu() {
+ return html_ac(html_ap() -1);
+ }
+
+ /**
+ * printSubMenu() - Takes two array of titles and links and builds the
contents of a menu.
+ *
+ * @param array $title_arr The array of titles.
+ * @param array $links_arr The array of title links.
+ * @param array $attr_arr The array of attributs by link
+ * @return string Html to build a submenu.
+ */
+ function printSubMenu($title_arr, $links_arr, $attr_arr) {
+ $count = count($title_arr) - 1;
+ $return = '';
+
+ if (!count($attr_arr)) {
+ for ($i=0; $i<count($title_arr); $i++) {
+ $attr_arr[] = NULL;
+ }
+ }
+ for ($i = 0; $i < $count; $i++) {
+ $return .= html_ao('li');
+ $return .= html_e('span', array(),
util_make_link($links_arr[$i], $title_arr[$i], $attr_arr[$i]), false);
+ $return .= html_ac(html_ap() -1);
+ }
+
+ $return .= html_ao('li');
+ $return .= html_e('span', array(),
util_make_link($links_arr[$i], $title_arr[$i], $attr_arr[$i]), false);
+ $return .= html_ac(html_ap() -1);
+ return $return;
+ }
+
+ /**
+ * subMenu() - Takes two array of titles and links and build a menu.
+ *
+ * @param array $title_arr The array of titles.
+ * @param array $links_arr The array of title links.
+ * @param array $attr_arr The array of attributes by link
+ * @return string Html to build a submenu.
+ */
+ function subMenu($title_arr, $links_arr, $attr_arr = array()) {
+ $return = $this->beginSubMenu();
+ $return .= $this->printSubMenu($title_arr, $links_arr,
$attr_arr);
+ $return .= $this->endSubMenu();
+ return $return;
+ }
+}
+
+// Local Variables:
+// mode: php
+// c-file-style: "bsd"
+// End:
diff --git a/src/www/themes/funky-guy/css/theme-pages.css
b/src/www/themes/funky-guy/css/theme-pages.css
new file mode 100644
index 0000000..b055ea4
--- /dev/null
+++ b/src/www/themes/funky-guy/css/theme-pages.css
@@ -0,0 +1,313 @@
+/*
+ * FusionForge Funky Theme
+ *
+ * Copyright 2009 Matthieu FAURE // Open-S: global clean-up
+ * Copyright 2010, Antoine Mercadal - Capgemini
+ * Copyright 2017, Franck Villaume - TrivialDev
+ * http://fusionforge.org
+ *
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the Licence, or (at your option)
+ * any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * CONTENT: all page-related styles
+ * ========================================================
+ */
+
+/*
+ * PAGE: home page
+ * ========================================================
+ */
+
+/* =bd (main body)
+----------------------------------------------- */
+#bd td {
+ vertical-align: top;
+ padding: 5px;
+}
+
+#bd-col1 {
+ width: 65%;
+}
+
+#bd-col2 {
+ width: 35%;
+}
+
+#title-home-page {
+ text-align: center;
+}
+
+#Latest_News h3 {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-weight: bold;
+}
+
+#Latest_News em {
+ padding-left: 1em;
+}
+
+/* remove inherited background-image */
+#title_Features_Boxes {
+ display: none;
+}
+
+#Features_Boxes {
+ background-image: none;
+}
+
+#Features_Boxes #title_Associated_Forges {
+ margin-top: 0;
+}
+
+#Associated_Forges td {
+ padding-right: 1em;
+}
+
+#Associated_Forges .align-right {
+ text-align: right;
+}
+
+#Recently_Registered_Projects td {
+ padding: 0.2em;
+}
+
+#search_associated_forges {
+ float: left;
+ margin-top: 5px;
+ margin-bottom: 5px;
+}
+
+#search_associated_forges_submit {
+ margin-top: 6px;
+ padding-left: 5px;
+}
+
+/*
+ * PAGE: project home
+ * ========================================================
+ */
+#project-summary-and-devs {
+ margin-top: 0.5em;
+}
+
+#file-releases {
+ margin: 0 0.5em;
+}
+
+#latest-major-contributions {
+ margin: 1em 0.5em;
+}
+
+/*
+ * PAGE: frs
+ * ========================================================
+ */
+.frs-table-files {
+ width: 100%;
+ margin: 0 0 2.5em 0;
+}
+
+.frs-table-files th {
+ background: #e8dfd4;
+}
+
+.frs-table-files tr {
+ border-bottom: solid 1px #c9c9c9;
+}
+
+.frs-table-files th,
+.frs-table-files td {
+ vertical-align:middle;
+}
+
+.frs-table-files h3 {
+ margin:0;
+}
+
+#forge-frs .blue-box {
+ padding-top: 2em;
+ padding-bottom: 2em;
+}
+
+#forge-frs h2 {
+ padding-top: 1em;
+}
+
+#forge-frs h3 {
+ font-size: small;
+}
+
+#forge-frs .box-surround {
+ margin: 0 0.5em 0.5em 2em;
+}
+
+#forge-frs .box-content {
+ padding-left: 2em;
+}
+
+#forge-frs .listTable {
+ margin: 0;
+}
+
+#forge-frs .listTable td {
+ width: 12%;
+}
+
+/*
+ * PAGE: user_home (eg: http://fusionforge/user/<username>)
+ * ========================================================
+ */
+#user-profile-homepage {
+
+}
+
+/*
+ * PAGE: Activity (eg: http://fusionforge/activity/?group_id=<id>)
+ * ========================================================
+ */
+#activity {
+ display: table;
+ width: 100%;
+}
+
+#activity_left {
+ float: left;
+}
+
+#activity_right {
+ overflow : hidden;
+ padding-left: 10px;
+ margin-top:5px;
+}
+
+#activity_select {
+}
+
+#activity_label,
+#activity_label_startdate,
+#activity_label_enddate {
+ font-weight:bold;
+ margin-top:10px;
+}
+
+#activity_startdate,
+#activity_enddate {
+}
+
+#activity_submit {
+ margin-top:10px;
+}
+
+/*
+ * PAGE: Diary (eg:
http://fusionforge/developer/diary.php?diary_id=<id>&diary_user=<userid>)
+ *
==========================================================================================
+ */
+#diary {
+ display: table;
+ width: 100%;
+}
+
+#diary_left {
+ float: left;
+ width: 75%;
+}
+
+#diary_right {
+ overflow : hidden;
+ padding-left: 10px;
+}
+
+
+/*
+ * PAGE: docman (eg: http://fusionforge/docman/?group_id=<id>)
+ * ========================================================
+ */
+.docman_h3 {
+ margin-top: 0;
+}
+
+.docman_h4 {
+ padding: 0;
+ margin: 2px;
+ font-style: italic;
+}
+
+.docman_div_include {
+ border: 1px solid #C2C7D1;
+ padding: 2px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+}
+
+.docmanDivIncluded {
+ font-size: 0.95em;
+}
+
+.docmanSubmitDiv input {
+ margin: 5px;
+}
+
+.docmanDiv {
+ padding-bottom: 5px;
+ font-size: 0.9em;
+}
+
+.docmanDiv table {
+ border: 1px solid #C2C7D1;
+ border-collapse: collapse;
+ text-align: left;
+ vertical-align: middle;
+ width: 100%;
+ margin: 2px;
+}
+
+.docmanDiv td, .docmanDiv th {
+ border: 1px solid #C2C7D1;
+ border-collapse: collapse;
+ padding: 3px;
+}
+
+.docman_li_treecontent {
+ list-style-image: url('../images/ic/folder.png');
+ margin: 2px;
+}
+
+.docman_li_treecontent_selected {
+ list-style-image: url('../images/docman/directory-with-documents.png');
+ margin: 2px;
+}
+
+.docman_editfile_title,
+#docman_search_query_label {
+ font-weight:bold;
+}
+
+/*
+ * PAGE: tracker (eg: http://fusionforge/tracker/?group_id=<id>)
+ * ========================================================
+ */
+#trackermodform table {
+ width: 100%;
+}
+
+#trackermodform input[type=submit] {
+ float: right;
+}
+
+.artifact_closed,
+.artifact_closed:hover {
+ text-decoration:line-through;
+}
diff --git a/src/www/themes/funky-guy/css/theme.css
b/src/www/themes/funky-guy/css/theme.css
new file mode 100644
index 0000000..dcc4da3
--- /dev/null
+++ b/src/www/themes/funky-guy/css/theme.css
@@ -0,0 +1,945 @@
+/*
+ * Stylesheet for Funky Guy Theme.
+ *
+ * Copyright 2010, Antoine Mercadal - Capgemini
+ * Copyright 2010, Franck Villaume - Capgemini
+ * Copyright 2011, Iñigo Martinez
+ * Copyright 2013-2014,2017, Franck Villaume - TrivialDev
+ * Copyright 2014, Benoit Debaenst - TrivialDev
+ * Copyright 2015, Roland Mas
+ * Copyright 2021, Guy Morin
+ * http://fusionforge.org
+ *
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the Licence, or (at your option)
+ * any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/* Font */
+@font-face {
+ font-family: 'Manjari-Bold';
+ src: url('Manjari-Bold.ttf') format('truetype');
+ font-weight: normal;
+ font-style: normal;
+}
+
+/* HTML elements */
+html {
+ background-color: #efefef;
+}
+
+body {
+ font-size:12px;
+ font-family: Helvetica, Helv, swiss, sans-serif;
+ color:rgb(68,68,68);
+ background-color:white;
+ text-align:left;
+ margin: 0;
+}
+
+#maindiv {
+ margin: 0;
+ padding: 1em;
+}
+
+form {
+ margin:0;
+}
+
+img {
+ border:0;
+ vertical-align: middle;
+}
+
+h1, h2, h3,
+.box-title-content,
+.box-middle,
+.widget_titlebar_title {
+ font-family: Arial, sans-serif;
+}
+
+h1 {
+ color: #303030;
+ padding-top: 4px;
+ font-size: 24px;
+ letter-spacing: 2px;
+}
+
+h2 {
+ margin-top: 30px;
+ font-size: 21px;
+ color: #505d77;
+}
+
+h3 {
+ margin-top: 30px;
+ font-size: 18px;
+ color: #505d77;
+}
+
+ul {
+ list-style-type: circle;
+ margin: 0;
+}
+
+li {
+ margin: .5em;
+}
+
+a {
+ text-decoration:none;
+ font-weight: bold;
+ color: #36c;
+ transition-property: background-color, color, height, shadow;
+ transition-duration: 0.3s;
+}
+
+a:hover {
+ text-decoration: none;
+ color: #38f;
+ font-weight: bold;
+}
+
+th, td {
+ text-align:left;
+ border:none;
+ border-collapse: collapse;
+}
+
+input[type="text"], input[type="password"], input[type="url"],
input[type="email"], textarea {
+ width: auto;
+ border-radius: 6px;
+ border: 1px solid #c6c6c6;
+ padding: 3px;
+ font-family:"Lucida Grande",sans-serif;
+}
+
+hr {
+ border: 0;
+ background-color: #E2E2E2;
+ height: 1px;
+}
+
+/* =header */
+header {
+ padding: 0;
+ background: #41495C;
+}
+
+nav {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ margin: auto;
+}
+
+header div {
+ color: #aaa;
+}
+
+header logo {
+ margin-left: .5em;
+}
+
+header a {
+ color: #eee;
+ font-size: .9em;
+}
+
+header a:hover {
+ color:#ff9;
+}
+
+/* =searchBox */
+div[role='search'] {
+ flex: 1 0 50%;
+}
+
+#searchBox {
+ padding:0 .5em;
+ text-align:left;
+ position: relative;
+}
+
+#searchBox a {
+ text-decoration:none;
+ font-weight: bold;
+ transition-property: color;
+ transition-duration: 0.3s;
+}
+
+#searchBox a:hover {
+ text-decoration: none;
+ font-weight: bold;
+}
+
+header select {
+ cursor: pointer;
+ height: 1.9em;
+ padding: .2em 1.2em .2em .4em;
+ border-radius: .3em;
+ border: 1px solid #789;
+ color: #fff;
+ background: #51596c url("../images/header/select_down.png") center
right no-repeat;
+ appearance: none;
+ box-shadow: none;
+}
+
+header option {
+ background:#31394c;
+}
+
+#searchBox input[type=text] {
+ height: 1.8em;
+ padding: .1em 26px .1em .4em;
+ border-radius: .3em;
+ border: 1px solid #789;
+ display: inline;
+ width: 9em;
+ font-size: inherit;
+ color: #fff;
+ background: #31394c;
+ box-shadow: none;
+}
+
+#searchBox input[type=submit] {
+ height: 20px;
+ width: 20px;
+ position: relative;
+ right: 26px;
+ margin-right: -22px;
+ font-size: 0;
+ border: none !important;
+ background: transparent url("../images/header/search.png") center
center no-repeat !important;
+ appearance: none;
+ box-shadow: none;
+}
+
+/* =userlinks */
+#userlinksdiv {
+ margin: 0 .8em;
+ text-align: right;
+}
+#userlinksdiv li {
+ display: inline;
+ margin: 0;
+ padding-left: 1em;
+}
+
+/* =quicknav */
+#quicknavdiv {
+ padding:0 .8em .6em 0;
+}
+
+#quicknav {
+ width: 12em;
+}
+
+/* =menudiv */
+#menudiv {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ width: 100%;
+}
+
+/* =hamburgerMenuOff */
+#hamburgerButton,
+header nav label,
+#userlinkshamburgerdiv {
+ display: none;
+}
+
+#hamburgermenudiv {
+ flex: 1;
+}
+
+/* =tabGenerator */
+.tabGenerator {
+ font-weight:bold;
+ margin: 0;
+}
+
+.tabGenerator ul {
+ list-style: none;
+ margin: 0;
+}
+
+.tabGenerator ul:first-child {
+ padding-bottom: .2em;
+}
+
+.tabGenerator li {
+ display: inline-block;
+}
+
+.tabGenerator .tg-middle span {
+ transition-property: background-color, color, height, shadow;
+ transition-duration: 0.3s;
+ font-size:1.15em;
+
+ padding: .6em;
+ white-space: nowrap;
+}
+
+.tabGenerator .tg-middle span:hover {
+ color: #ff9;
+}
+
+.tabGenerator .tg-middle span.selected {
+ background: none;
+ color:#ff9;
+}
+
+/*
+ innertabs
+*/
+.innertabs {
+ display: block;
+ width: 100%;
+}
+
+.innertabs .tabGenerator ul {
+ display: flex;
+ flex-direction: row;
+ margin: 0;
+ padding: 0;
+ border-left: 1px solid #505d77;
+}
+
+.innertabs .tabGenerator li {
+ flex: 1;
+ margin: 0;
+ padding: 0;
+}
+
+.innertabs .tabGenerator a {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ padding:0 0 .2em 0;
+ margin: 0;
+}
+
+
+.innertabs .tabGenerator .tg-middle span {
+ height: 100%;
+ padding: .2em .4em .3em .4em;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color:none;
+ background: #707d97;
+ color: #fff;
+ font-weight:bold;
+ line-height: none;
+ overflow:hidden;
+ text-overflow:ellipsis;
+ white-space:normal;
+ text-align:center;
+ transition-property: background, color;
+ transition-duration: .4s;
+ border-right: 1px solid #505d77;
+}
+
+.innertabs .tabGenerator .tg-middle span:hover,
+.innertabs .tabGenerator .tg-middle span.selected {
+ background: #fff;
+ color: #222;
+}
+
+.topTab, a.topTab, a.topTab:visited, a.topTab:hover,
+.topTabSelected, a.topTabSelected, a.topTabSelected:visited,
+a.topTabSelected:hover {
+ text-decoration: none;
+ font-weight: bold;
+ color: rgb(68, 68, 68);
+ font-family: arial, helvetica, sans-serif;
+ font-size: 0.9em;
+}
+
+.bottomTab, a.bottomTab, a.bottomTab:visited, a.bottomTab:hover {
+ text-decoration: none;
+ font-weight: bold;
+ color: white;
+ font-family: arial, helvetica, sans-serif;
+ font-size: 0.9em;
+}
+
+.bottomTabSelected, a.bottomTabSelected, a.bottomTabSelected:visited,
a.bottomTabSelected:hover {
+ text-decoration: none;
+ font-weight: bold;
+ color: rgb(68, 68, 68);
+ font-family: arial, helvetica, sans-serif;
+ font-size: 0.9em;
+}
+
+.topLeft {
+ vertical-align: top;
+ text-align: left;
+}
+
+.middleRight {
+ vertical-align: middle;
+ text-align: right;
+}
+
+.pane {
+ color: rgb(112, 112, 112);
+ background-color: white;
+}
+
+.field-holder {
+ clear: both;
+}
+
+/* Boxes (top / middle / bottom)
+----------------------------------------------- */
+.box-surround {
+/* margin-bottom: 1em;*/
+ background-color: #f0f0f0;
+ border: 1px solid #c2c3c4;
+ border-radius: 6px;
+ padding:4px 8px 12px 8px;
+ margin-bottom: 0;
+ box-shadow: 1px 1px 4px #c2c3c4;
+}
+
+.box-title-content {
+ color: #505d77;
+ font-weight: bold;
+ font-size: 16px;
+ padding: 5px;
+ border-bottom: 1px solid #E2E3E4;
+}
+
+
+.box-content {
+ border-bottom: 1px solid #E2E3E4;
+ margin: 0;
+ padding: 8px 8px 8px 18px;
+}
+
+.box-content p {
+ margin: 0;
+}
+
+
+.box-middle {
+ margin: 0;
+ padding-left: 18px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ color: #505d77;
+ font-size: 14px;
+ font-weight: bold;
+}
+
+
+/* widgets */
+
+.widget {
+ margin-top: 5px;
+ background-color: #f7f7f7;
+ border: 1px solid #929394;
+ border-radius: 3px;
+ box-shadow: 1px 1px 4px #b2b3b4;
+}
+
+.widget_titlebar_handle {
+ border-bottom: 2px solid #cfcfcf;
+}
+
+.widget_titlebar {
+ color: #505d77;
+ font-weight: bold;
+ font-size: 16px;
+ padding: 5px;
+ background: #dfdfdf;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+
+.widget_titlebar a {
+ color:#505d77 !important;
+}
+
+.widget_titlebar_title {
+ color: #505d77;
+ padding: 0 4px;
+}
+
+.widget_titlebar_close img {
+ width: 12px;
+ height: 12px;
+}
+
+.widget_titlebar_minimize img {
+ width: 12px;
+ height: 12px;
+}
+
+.widget_titlebar_maximize img {
+ width: 12px;
+ height: 12px;
+}
+
+.widget_content {
+ border-bottom: 1px solid #d2d3d4;
+ border-bottom-left-radius: 3px;
+ border-bottom-right-radius: 3px;
+ margin: 0;
+ padding: .4em;
+}
+
+.widget_preferences {
+ background: none;
+}
+.widget_preferences fieldset {
+ border: none;
+ margin: .4em 0 .1em 0;
+}
+.widget_preferences fieldset fieldset {
+ margin: .4em 0;
+}
+
+.widget_content table {
+ border-collapse: collapse;
+ border: 1px solid #D5D5D5;
+}
+.widget_content table td {
+ padding: 4px;
+}
+
+.widget-sticker-container {
+ padding: 4px;
+ float: left;
+ margin-left: auto;
+ margin-right: auto;
+ background-color: white;
+ border: 1px solid #D5D5D5;
+ min-width: 300px;
+ max-width: 500px;
+}
+
+.widget-sticker-header {
+ background-color: #CDDCF3;
+ padding: 1px;
+}
+
+.widget-sticker-body {
+ position: relative;
+ padding: 2px;
+ width: 98%;
+ overflow: hidden;
+}
+
+.widget-sticker-footer {
+ padding: 1px;
+}
+
+#widget-categories a {
+ display: block;
+ padding: 2px 4px;
+ border-radius: 4px;
+}
+#widget-categories a.selected {
+ background-color: #36c;
+ color: white;
+}
+
+.widget_toolbar {
+ border-bottom: 1px solid #ccc;
+ margin-bottom: 8px;
+ padding: .4em .8em;
+ display: inline-block;
+}
+
+.widget_toolbar li {
+ padding: 0;
+}
+
+.widget_toolbar li.current a,
+.widget_toolbar li.current a:hover {
+ border-bottom: 2px solid #38f;
+ color: #333;
+}
+
+.widget_toolbar li a {
+ padding-bottom: .35em !important;
+ color: #333;
+}
+
+.widget_toolbar li a:hover {
+ border-bottom: 2px solid #999;
+ color: #333;
+}
+
+table.listing tbody tr:nth-child(even),
+.bgcolor-grey {
+ background-color: #CDDCF3;
+}
+
+table.listing tbody tr:nth-child(odd),
+.bgcolor-white {
+ background-color: #FFFFFF;
+}
+
+/*
+ listTable
+*/
+
+.listTable table {
+ border-collapse: collapse;
+}
+
+.listTable table td {
+ padding: 5px;
+ border: 1px solid gray;
+}
+
+/*
+ submenu
+*/
+.submenu {
+ margin-top: .5em;
+ margin-bottom: 1.25em;
+ margin-left: 0;
+ /*border-collapse: collapse;*/
+ border-bottom: 1px solid #61697C;
+ border-spacing: 6px 0;
+ padding-left: 0;
+}
+.submenu a {
+ background: #51596C;
+ color: #fff;
+ text-align:center;
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px;
+ display: inline-block;
+ padding: 4px 8px;
+}
+.submenu a:hover {
+ color: #ff9;
+}
+
+.submenu li {
+ display: table-cell;
+ margin-left: 5px;
+ border-bottom: none;
+ margin-right: 10px;
+}
+
+
+/* =ft (footer)
+----------------------------------------------- */
+#ft {
+ text-align:center;
+}
+
+/* error_msg, warning_msg or feedback function
+----------------------------------------------- */
+span.active, span.deleted, span.pending, span.suspended {
+ padding:0 .5em;
+ border-radius: 3px;
+}
+.active {background-color: #cfc;}
+.deleted {background-color: #cff;}
+.pending {background-color: #ddd;}
+.suspended {background-color: #fc6;}
+.error {
+ background-color: #ff4940; /* red */
+ border: 1px solid red;
+ padding: 7px;
+ border-radius: 6px;
+ text-shadow: 1px 1px #ff7c73;
+ text-align: left;
+ font-size: small;
+ font-weight: normal;
+ color: black;
+ margin: 2px 3px 3px;
+}
+
+.warning_msg, .warning, .tips, .important {
+ background-color: #ffd297; /* orange */
+ border: 1px solid #ffa500; /* orange */
+ padding: 7px;
+ border-radius: 6px;
+ text-shadow: 1px 1px #fff5CA;
+ text-align: left;
+ font-weight: normal;
+ font-size: small;
+ margin: 2px 3px 3px;
+}
+
+.feedback {
+ background-color: #aef26d; /* green */
+ border: 1px solid green;
+ padding: 7px;
+ border-radius: 6px;
+ text-shadow: 1px 1px #DFF59f;
+ text-align: left;
+ font-weight: normal;
+ font-size: small;
+ margin: 2px 3px 3px;
+}
+
+p.information {
+ background-color: #bdd0f2;
+ border: 1px solid #3a5fa5;
+ padding: 7px;
+ border-radius: 6px;
+ text-shadow: 1px 1px #bcf;
+ text-align: left;
+ font-weight: normal;
+ font-size: small;
+ margin: 2px 3px 3px;
+}
+
+#ffErrors {
+ background-color: #ff4940; /* red */
+ border: 1px solid red;
+ padding: 7px;
+ border-radius: 6px;
+ text-shadow: 1px 1px #ff7c73;
+ color: black;
+ margin: 2px 3px 3px;
+}
+
+#ffErrors .error {
+ background-color: #ff4940; /* red */
+ border: 1px solid red;
+ padding: 7px;
+ border-radius: 6px;
+ text-shadow: 1px 1px #ff7c73;
+ color: black;
+ margin: 2px 3px 3px;
+}
+
+footer {
+ padding: 1.5em .5em .5em .5em;
+ background: #efefef;
+ border-top: 1px solid #ccc;
+ margin: 0;
+ text-align: center;
+ color: #dcdcdc;
+}
+
+footer img {
+ float: right;
+}
+
+.info-box h2{
+ font-size: 1.3em;
+ border-radius: 0.5em 0.5em 0 0;
+ border-bottom: 1px solid #E2E3E4;
+ padding: 3px 3px 3px 10px;
+ margin: 0 -4px 0 -4px;
+}
+
+
+.info-box {
+ background: #f0f0f0;
+ color: #565c5e;
+ padding: .2em .4em;
+ margin-bottom: .4em;
+ border-radius: 0.7em;
+ border:1px solid #c2c3c4;
+ box-shadow: 1px 1px 4px #c2c3c4;
+}
+
+.priority1 { background-color: #f3f4db}
+.priority2 { background-color: #fcecc2}
+.priority3 { background-color: #fde4aa}
+.priority4 { background-color: #fcd986}
+.priority5 { background-color: #fac955}
+
+.table-header-rotated {
+ border-collapse: collapse;
+}
+
+.table-header-rotated td {
+ width: 30px;
+ text-align: center;
+ padding: .5em .25em;
+ border: 1px solid #ccc;
+}
+
+.table-header-rotated th.rotate {
+ height: 140px;
+ white-space: nowrap;
+}
+
+.table-header-rotated th.rotate>div {
+ transform: translate(25px, 51px) rotate(315deg);
+ width: 30px;
+}
+
+.table-header-rotated th.rotate>div>span {
+ border-bottom: 1px solid #ccc;
+ padding: .25em .5em;
+}
+
+.table-header-rotated th.row-header {
+ padding: 0 .5em;
+ border-bottom: 1px solid #ccc;
+}
+
+table.listing thead tr th {
+ background-color: #707d97 !important;
+ color: white;
+ text-align: center;
+}
+
+table.listing thead tr th,
+table.listing tbody tr td {
+ padding: 4px 8px !important;
+}
+
+table.listing thead tr th a {
+ color:white;
+}
+
+table.listing tbody tr:nth-child(2n), .even {
+ background-color: #e0dfd6 !important;
+}
+
+table.listing tbody tr:nth-child(2n+1), .odd {
+ background-color: #e6e6e0 !important;
+}
+
+input, select {
+ vertical-align: middle;
+}
+
+.important {
+ background-color: #e10;
+ border: none;
+ color: white;
+ text-shadow: 0 0 1px #300;;
+ padding: .2em .4em;
+}
+
+/* Buttons */
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header
.ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html
.ui-button.ui-state-disabled:active {
+ background:none !important;
+ background-color: #d7d7d7 !important;
+ border:1px solid #a7a7a7 !important;
+ color: #222 !important;
+ text-shadow:1px 1px #eee;
+ transition-property: background-color, text-shadow;
+ transition-duration: 0.3s;
+}
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header
.ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus, .ui-button:hover, .ui-button:focus {
+ border: 1px solid #505d77;
+ background-color: #f7f7f7 !important;
+ border:1px solid #878787 !important;
+ color: black !important;
+ text-shadow:1px 1px #fff;
+}
+
+/* Hide number input spinners */
+input[type='number'] {
+ -moz-appearance:textfield;
+}
+input::-webkit-outer-spin-button,
+input::-webkit-inner-spin-button { -webkit-appearance: none; }
+/* end Hide number input spinners */
+
+@media only screen and (max-width:1023px) {
+
+/* =hamburgerMenuOn */
+header nav label {
+ cursor: pointer;
+ padding: 0 .8em;
+ display: inline-block;
+}
+
+div[role="search"] {
+ flex: 1 0 70%;
+}
+
+#userlinksdiv,
+#quicknav {
+ display: none;
+}
+
+#menudiv,
+#userlinkshamburgerdiv {
+ display: block;
+ width: 100%;
+}
+
+#menudiv input,
+#menudiv input:not(:checked) ~ #hamburgermenudiv {
+ display: none;
+ height: 0;
+ transition: all ease-in-out .9s;
+}
+
+#menudiv input:checked ~ #hamburgermenudiv {
+ display: block;
+ height: 100%;
+}
+
+#hamburgermenudiv .tabGenerator {
+ display: flex;
+ flex-direction: column;
+ margin-top: .4em;
+}
+
+#userlinkshamburgerdiv ul,
+#hamburgermenudiv .tabGenerator ul {
+ display: flex;
+ flex-direction: column;
+ margin: 0;
+ padding: 0;
+ width: 100%;
+}
+
+#userlinkshamburgerdiv li,
+#hamburgermenudiv .tabGenerator li {
+ display: inline-block;
+ margin: 0 .8em;
+ padding: 0;
+ border-top: 1px solid #707d97;
+ text-align: left;
+}
+
+#userlinkshamburgerdiv {
+ margin: 0;
+ width: 100%;
+}
+
+#userlinkshamburgerdiv ul {
+ flex-direction: column-reverse;
+}
+
+#userlinkshamburgerdiv li {
+ font-size: .9em;
+}
+
+#userlinkshamburgerdiv li a {
+ display: block;
+ font-size: 1.15em;
+ padding: .6em;
+ white-space: no-wrap;
+}
+
+#hamburgermenudiv .tabGenerator span{
+ display: block;
+}
+
+}
diff --git a/src/www/themes/funky-guy/images/category.png
b/src/www/themes/funky-guy/images/category.png
new file mode 100644
index 0000000..c4f21cd
Binary files /dev/null and b/src/www/themes/funky-guy/images/category.png differ
diff --git a/src/www/themes/funky-guy/images/clear.png
b/src/www/themes/funky-guy/images/clear.png
new file mode 100644
index 0000000..146dbe2
Binary files /dev/null and b/src/www/themes/funky-guy/images/clear.png differ
diff --git
a/src/www/themes/funky-guy/images/docman/directory-with-documents.png
b/src/www/themes/funky-guy/images/docman/directory-with-documents.png
new file mode 100644
index 0000000..dfae547
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/directory-with-documents.png differ
diff --git a/src/www/themes/funky-guy/images/docman/document-reserved.png
b/src/www/themes/funky-guy/images/docman/document-reserved.png
new file mode 100644
index 0000000..bdabf94
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/document-reserved.png differ
diff --git a/src/www/themes/funky-guy/images/docman/download-directory-zip.png
b/src/www/themes/funky-guy/images/docman/download-directory-zip.png
new file mode 100644
index 0000000..77757a7
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/download-directory-zip.png differ
diff --git a/src/www/themes/funky-guy/images/docman/enforce-document.png
b/src/www/themes/funky-guy/images/docman/enforce-document.png
new file mode 100644
index 0000000..40c0d98
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/enforce-document.png differ
diff --git a/src/www/themes/funky-guy/images/docman/file_type_html.png
b/src/www/themes/funky-guy/images/docman/file_type_html.png
new file mode 100644
index 0000000..adc6ded
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/file_type_html.png differ
diff --git a/src/www/themes/funky-guy/images/docman/file_type_image.png
b/src/www/themes/funky-guy/images/docman/file_type_image.png
new file mode 100644
index 0000000..74719b2
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/file_type_image.png differ
diff --git a/src/www/themes/funky-guy/images/docman/file_type_pdf.png
b/src/www/themes/funky-guy/images/docman/file_type_pdf.png
new file mode 100644
index 0000000..a07bc12
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/file_type_pdf.png differ
diff --git a/src/www/themes/funky-guy/images/docman/file_type_presentation.png
b/src/www/themes/funky-guy/images/docman/file_type_presentation.png
new file mode 100644
index 0000000..69c03be
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/file_type_presentation.png differ
diff --git a/src/www/themes/funky-guy/images/docman/file_type_sound.png
b/src/www/themes/funky-guy/images/docman/file_type_sound.png
new file mode 100644
index 0000000..3d708dd
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/file_type_sound.png differ
diff --git a/src/www/themes/funky-guy/images/docman/file_type_spreadsheet.png
b/src/www/themes/funky-guy/images/docman/file_type_spreadsheet.png
new file mode 100644
index 0000000..6531b65
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/file_type_spreadsheet.png differ
diff --git a/src/www/themes/funky-guy/images/docman/file_type_unknown.png
b/src/www/themes/funky-guy/images/docman/file_type_unknown.png
new file mode 100644
index 0000000..db366e5
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/file_type_unknown.png differ
diff --git a/src/www/themes/funky-guy/images/docman/file_type_writer.png
b/src/www/themes/funky-guy/images/docman/file_type_writer.png
new file mode 100644
index 0000000..6582c30
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/file_type_writer.png differ
diff --git a/src/www/themes/funky-guy/images/docman/move-document.png
b/src/www/themes/funky-guy/images/docman/move-document.png
new file mode 100644
index 0000000..7fe4a49
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/move-document.png differ
diff --git a/src/www/themes/funky-guy/images/docman/release-document.png
b/src/www/themes/funky-guy/images/docman/release-document.png
new file mode 100644
index 0000000..e7c28e9
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/release-document.png differ
diff --git a/src/www/themes/funky-guy/images/docman/reserve-document.png
b/src/www/themes/funky-guy/images/docman/reserve-document.png
new file mode 100644
index 0000000..759f0e3
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/reserve-document.png differ
diff --git a/src/www/themes/funky-guy/images/docman/validate.png
b/src/www/themes/funky-guy/images/docman/validate.png
new file mode 100644
index 0000000..438fd46
Binary files /dev/null and
b/src/www/themes/funky-guy/images/docman/validate.png differ
diff --git a/src/www/themes/funky-guy/images/header/header-logo.png
b/src/www/themes/funky-guy/images/header/header-logo.png
new file mode 100644
index 0000000..85dbc79
Binary files /dev/null and
b/src/www/themes/funky-guy/images/header/header-logo.png differ
diff --git a/src/www/themes/funky-guy/images/header/search.png
b/src/www/themes/funky-guy/images/header/search.png
new file mode 100644
index 0000000..ffb17d0
Binary files /dev/null and b/src/www/themes/funky-guy/images/header/search.png
differ
diff --git a/src/www/themes/funky-guy/images/header/select_down.png
b/src/www/themes/funky-guy/images/header/select_down.png
new file mode 100644
index 0000000..629175d
Binary files /dev/null and
b/src/www/themes/funky-guy/images/header/select_down.png differ
diff --git a/src/www/themes/funky-guy/images/ic/acl_roles20.png
b/src/www/themes/funky-guy/images/ic/acl_roles20.png
new file mode 100644
index 0000000..9c47036
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/acl_roles20.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/add-16.png
b/src/www/themes/funky-guy/images/ic/add-16.png
new file mode 100644
index 0000000..bb6d822
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/add-16.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/add.png
b/src/www/themes/funky-guy/images/ic/add.png
new file mode 100644
index 0000000..12d2908
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/add.png differ
diff --git a/src/www/themes/funky-guy/images/ic/attach.png
b/src/www/themes/funky-guy/images/ic/attach.png
new file mode 100644
index 0000000..1a742f7
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/attach.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/attach_add.png
b/src/www/themes/funky-guy/images/ic/attach_add.png
new file mode 100644
index 0000000..9a19d50
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/attach_add.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/attach_delete.png
b/src/www/themes/funky-guy/images/ic/attach_delete.png
new file mode 100644
index 0000000..988ca4a
Binary files /dev/null and
b/src/www/themes/funky-guy/images/ic/attach_delete.png differ
diff --git a/src/www/themes/funky-guy/images/ic/attach_edit.png
b/src/www/themes/funky-guy/images/ic/attach_edit.png
new file mode 100644
index 0000000..bc93c2e
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/attach_edit.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/btn_down.png
b/src/www/themes/funky-guy/images/ic/btn_down.png
new file mode 100644
index 0000000..b50d7a7
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/btn_down.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/btn_up.png
b/src/www/themes/funky-guy/images/ic/btn_up.png
new file mode 100644
index 0000000..95e0c59
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/btn_up.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/caret.png
b/src/www/themes/funky-guy/images/ic/caret.png
new file mode 100644
index 0000000..b77ab98
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/caret.png differ
diff --git a/src/www/themes/funky-guy/images/ic/check.png
b/src/www/themes/funky-guy/images/ic/check.png
new file mode 100644
index 0000000..9235e6d
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/check.png differ
diff --git a/src/www/themes/funky-guy/images/ic/close.png
b/src/www/themes/funky-guy/images/ic/close.png
new file mode 100644
index 0000000..a581fed
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/close.png differ
diff --git a/src/www/themes/funky-guy/images/ic/configure.png
b/src/www/themes/funky-guy/images/ic/configure.png
new file mode 100644
index 0000000..27b856a
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/configure.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/cvs16b.png
b/src/www/themes/funky-guy/images/ic/cvs16b.png
new file mode 100644
index 0000000..b7550da
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/cvs16b.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/delete.png
b/src/www/themes/funky-guy/images/ic/delete.png
new file mode 100644
index 0000000..6f97193
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/delete.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/directory-add.png
b/src/www/themes/funky-guy/images/ic/directory-add.png
new file mode 100644
index 0000000..18a213b
Binary files /dev/null and
b/src/www/themes/funky-guy/images/ic/directory-add.png differ
diff --git a/src/www/themes/funky-guy/images/ic/docman16b.png
b/src/www/themes/funky-guy/images/ic/docman16b.png
new file mode 100644
index 0000000..d15ab2d
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/docman16b.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/download.png
b/src/www/themes/funky-guy/images/ic/download.png
new file mode 100644
index 0000000..134c047
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/download.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/edit-file.png
b/src/www/themes/funky-guy/images/ic/edit-file.png
new file mode 100644
index 0000000..997fdf5
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/edit-file.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/file-txt.png
b/src/www/themes/funky-guy/images/ic/file-txt.png
new file mode 100644
index 0000000..d1b115a
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/file-txt.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/file_type_archive.png
b/src/www/themes/funky-guy/images/ic/file_type_archive.png
new file mode 100644
index 0000000..c294ece
Binary files /dev/null and
b/src/www/themes/funky-guy/images/ic/file_type_archive.png differ
diff --git a/src/www/themes/funky-guy/images/ic/folder.png
b/src/www/themes/funky-guy/images/ic/folder.png
new file mode 100644
index 0000000..87466c6
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/folder.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/forum20g.png
b/src/www/themes/funky-guy/images/ic/forum20g.png
new file mode 100644
index 0000000..495cae5
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/forum20g.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/forum_delete.png
b/src/www/themes/funky-guy/images/ic/forum_delete.png
new file mode 100644
index 0000000..057ff39
Binary files /dev/null and
b/src/www/themes/funky-guy/images/ic/forum_delete.png differ
diff --git a/src/www/themes/funky-guy/images/ic/forum_edit.png
b/src/www/themes/funky-guy/images/ic/forum_edit.png
new file mode 100644
index 0000000..4f9cc50
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/forum_edit.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/forum_move.png
b/src/www/themes/funky-guy/images/ic/forum_move.png
new file mode 100644
index 0000000..1c19558
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/forum_move.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/forum_pin.png
b/src/www/themes/funky-guy/images/ic/forum_pin.png
new file mode 100644
index 0000000..b7ed7b3
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/forum_pin.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/forum_unpin.png
b/src/www/themes/funky-guy/images/ic/forum_unpin.png
new file mode 100644
index 0000000..0b782b4
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/forum_unpin.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/ftp16b.png
b/src/www/themes/funky-guy/images/ic/ftp16b.png
new file mode 100644
index 0000000..54c9e03
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/ftp16b.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/halfcheck.png
b/src/www/themes/funky-guy/images/ic/halfcheck.png
new file mode 100644
index 0000000..82e4125
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/halfcheck.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/home16b.png
b/src/www/themes/funky-guy/images/ic/home16b.png
new file mode 100644
index 0000000..1e1569a
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/home16b.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/mail-send.png
b/src/www/themes/funky-guy/images/ic/mail-send.png
new file mode 100644
index 0000000..610bbc9
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/mail-send.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/mail16b.png
b/src/www/themes/funky-guy/images/ic/mail16b.png
new file mode 100644
index 0000000..d16c5eb
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/mail16b.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/mail16w.png
b/src/www/themes/funky-guy/images/ic/mail16w.png
new file mode 100644
index 0000000..9931f01
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/mail16w.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/manual16c.png
b/src/www/themes/funky-guy/images/ic/manual16c.png
new file mode 100644
index 0000000..e644c81
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/manual16c.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/minus-16.png
b/src/www/themes/funky-guy/images/ic/minus-16.png
new file mode 100644
index 0000000..7ce010f
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/minus-16.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/msg.png
b/src/www/themes/funky-guy/images/ic/msg.png
new file mode 100644
index 0000000..9a041f9
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/msg.png differ
diff --git a/src/www/themes/funky-guy/images/ic/ofolder.png
b/src/www/themes/funky-guy/images/ic/ofolder.png
new file mode 100644
index 0000000..dfae547
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/ofolder.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/package.png
b/src/www/themes/funky-guy/images/ic/package.png
new file mode 100644
index 0000000..a94591d
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/package.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/pencil.png
b/src/www/themes/funky-guy/images/ic/pencil.png
new file mode 100644
index 0000000..a8eae84
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/pencil.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/pointer_down.png
b/src/www/themes/funky-guy/images/ic/pointer_down.png
new file mode 100644
index 0000000..85f0f7e
Binary files /dev/null and
b/src/www/themes/funky-guy/images/ic/pointer_down.png differ
diff --git a/src/www/themes/funky-guy/images/ic/pointer_up.png
b/src/www/themes/funky-guy/images/ic/pointer_up.png
new file mode 100644
index 0000000..82aa9d0
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/pointer_up.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/remove.png
b/src/www/themes/funky-guy/images/ic/remove.png
new file mode 100644
index 0000000..87156af
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/remove.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/required.png
b/src/www/themes/funky-guy/images/ic/required.png
new file mode 100644
index 0000000..5736248
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/required.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/rss.png
b/src/www/themes/funky-guy/images/ic/rss.png
new file mode 100644
index 0000000..5854b56
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/rss.png differ
diff --git a/src/www/themes/funky-guy/images/ic/save.png
b/src/www/themes/funky-guy/images/ic/save.png
new file mode 100644
index 0000000..a98aced
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/save.png differ
diff --git a/src/www/themes/funky-guy/images/ic/spinner.gif
b/src/www/themes/funky-guy/images/ic/spinner.gif
new file mode 100644
index 0000000..dd92021
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/spinner.gif
differ
diff --git a/src/www/themes/funky-guy/images/ic/startmonitor.png
b/src/www/themes/funky-guy/images/ic/startmonitor.png
new file mode 100644
index 0000000..ca6af63
Binary files /dev/null and
b/src/www/themes/funky-guy/images/ic/startmonitor.png differ
diff --git a/src/www/themes/funky-guy/images/ic/stop.png
b/src/www/themes/funky-guy/images/ic/stop.png
new file mode 100644
index 0000000..51d6d36
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/stop.png differ
diff --git a/src/www/themes/funky-guy/images/ic/stopmonitor.png
b/src/www/themes/funky-guy/images/ic/stopmonitor.png
new file mode 100644
index 0000000..b564213
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/stopmonitor.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/survey16b.png
b/src/www/themes/funky-guy/images/ic/survey16b.png
new file mode 100644
index 0000000..085d0f0
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/survey16b.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/t.png
b/src/www/themes/funky-guy/images/ic/t.png
new file mode 100644
index 0000000..8ee767e
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/t.png differ
diff --git a/src/www/themes/funky-guy/images/ic/t2.png
b/src/www/themes/funky-guy/images/ic/t2.png
new file mode 100644
index 0000000..45ac855
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/t2.png differ
diff --git a/src/www/themes/funky-guy/images/ic/tag.png
b/src/www/themes/funky-guy/images/ic/tag.png
new file mode 100644
index 0000000..0d84f0f
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/tag.png differ
diff --git a/src/www/themes/funky-guy/images/ic/taskman20g.png
b/src/www/themes/funky-guy/images/ic/taskman20g.png
new file mode 100644
index 0000000..5b021eb
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/taskman20g.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/taskman20w.png
b/src/www/themes/funky-guy/images/ic/taskman20w.png
new file mode 100644
index 0000000..5b021eb
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/taskman20w.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/ticket-closed.png
b/src/www/themes/funky-guy/images/ic/ticket-closed.png
new file mode 100644
index 0000000..640e355
Binary files /dev/null and
b/src/www/themes/funky-guy/images/ic/ticket-closed.png differ
diff --git a/src/www/themes/funky-guy/images/ic/ticket-open.png
b/src/www/themes/funky-guy/images/ic/ticket-open.png
new file mode 100644
index 0000000..090800f
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/ticket-open.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/toggle_minus.png
b/src/www/themes/funky-guy/images/ic/toggle_minus.png
new file mode 100644
index 0000000..0678dfc
Binary files /dev/null and
b/src/www/themes/funky-guy/images/ic/toggle_minus.png differ
diff --git a/src/www/themes/funky-guy/images/ic/toggle_plus.png
b/src/www/themes/funky-guy/images/ic/toggle_plus.png
new file mode 100644
index 0000000..9aa376b
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/toggle_plus.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/tracker20g.png
b/src/www/themes/funky-guy/images/ic/tracker20g.png
new file mode 100644
index 0000000..236a361
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/tracker20g.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/up-down-16.png
b/src/www/themes/funky-guy/images/ic/up-down-16.png
new file mode 100644
index 0000000..c758b32
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/up-down-16.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/wiki20g.png
b/src/www/themes/funky-guy/images/ic/wiki20g.png
new file mode 100644
index 0000000..76b16df
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/wiki20g.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/write16w.png
b/src/www/themes/funky-guy/images/ic/write16w.png
new file mode 100644
index 0000000..2e6388c
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/write16w.png
differ
diff --git a/src/www/themes/funky-guy/images/ic/xmail16w.png
b/src/www/themes/funky-guy/images/ic/xmail16w.png
new file mode 100644
index 0000000..667a0d8
Binary files /dev/null and b/src/www/themes/funky-guy/images/ic/xmail16w.png
differ
diff --git a/src/www/themes/funky-guy/images/layout/2-columns.png
b/src/www/themes/funky-guy/images/layout/2-columns.png
new file mode 100644
index 0000000..148df03
Binary files /dev/null and
b/src/www/themes/funky-guy/images/layout/2-columns.png differ
diff --git a/src/www/themes/funky-guy/images/layout/3-columns.png
b/src/www/themes/funky-guy/images/layout/3-columns.png
new file mode 100644
index 0000000..115aee4
Binary files /dev/null and
b/src/www/themes/funky-guy/images/layout/3-columns.png differ
diff --git a/src/www/themes/funky-guy/images/layout/custom.png
b/src/www/themes/funky-guy/images/layout/custom.png
new file mode 100644
index 0000000..37f0e0e
Binary files /dev/null and b/src/www/themes/funky-guy/images/layout/custom.png
differ
diff --git a/src/www/themes/funky-guy/images/layout/layouts.xcf
b/src/www/themes/funky-guy/images/layout/layouts.xcf
new file mode 100644
index 0000000..79989bb
Binary files /dev/null and b/src/www/themes/funky-guy/images/layout/layouts.xcf
differ
diff --git a/src/www/themes/funky-guy/images/layout/left.png
b/src/www/themes/funky-guy/images/layout/left.png
new file mode 100644
index 0000000..242695d
Binary files /dev/null and b/src/www/themes/funky-guy/images/layout/left.png
differ
diff --git a/src/www/themes/funky-guy/images/layout/right.png
b/src/www/themes/funky-guy/images/layout/right.png
new file mode 100644
index 0000000..593db8c
Binary files /dev/null and b/src/www/themes/funky-guy/images/layout/right.png
differ
diff --git a/src/www/themes/funky-guy/images/magnifier20.png
b/src/www/themes/funky-guy/images/magnifier20.png
new file mode 100644
index 0000000..423cdba
Binary files /dev/null and b/src/www/themes/funky-guy/images/magnifier20.png
differ
diff --git a/src/www/themes/funky-guy/images/plugin_status_broken.png
b/src/www/themes/funky-guy/images/plugin_status_broken.png
new file mode 100644
index 0000000..94e1a5f
Binary files /dev/null and
b/src/www/themes/funky-guy/images/plugin_status_broken.png differ
diff --git a/src/www/themes/funky-guy/images/plugin_status_valid.png
b/src/www/themes/funky-guy/images/plugin_status_valid.png
new file mode 100644
index 0000000..84d572b
Binary files /dev/null and
b/src/www/themes/funky-guy/images/plugin_status_valid.png differ
diff --git a/src/www/themes/funky-guy/images/pointer_down.png
b/src/www/themes/funky-guy/images/pointer_down.png
new file mode 100644
index 0000000..85f0f7e
Binary files /dev/null and b/src/www/themes/funky-guy/images/pointer_down.png
differ
diff --git a/src/www/themes/funky-guy/images/pointer_right.png
b/src/www/themes/funky-guy/images/pointer_right.png
new file mode 100644
index 0000000..bbb2a47
Binary files /dev/null and b/src/www/themes/funky-guy/images/pointer_right.png
differ
diff --git a/src/www/themes/funky-guy/images/search-logo.png
b/src/www/themes/funky-guy/images/search-logo.png
new file mode 100644
index 0000000..4e19d37
Binary files /dev/null and b/src/www/themes/funky-guy/images/search-logo.png
differ
diff --git a/src/www/themes/funky-guy/images/spacer.gif
b/src/www/themes/funky-guy/images/spacer.gif
new file mode 100644
index 0000000..2e94c53
Binary files /dev/null and b/src/www/themes/funky-guy/images/spacer.gif differ
diff --git a/src/www/themes/funky-guy/images/stop.png
b/src/www/themes/funky-guy/images/stop.png
new file mode 100644
index 0000000..bc02226
Binary files /dev/null and b/src/www/themes/funky-guy/images/stop.png differ
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=f7f0efc6068aa8ad5e6271d2e05f5fc00bb5f321
commit f7f0efc6068aa8ad5e6271d2e05f5fc00bb5f321
Author: Guy Morin <guy@guy-90X3A>
Date: Mon Mar 8 14:34:38 2021 +0100
Forum pinning function
diff --git a/src/common/forum/ForumHTML.class.php
b/src/common/forum/ForumHTML.class.php
index e0e921d..cdad1fe 100644
--- a/src/common/forum/ForumHTML.class.php
+++ b/src/common/forum/ForumHTML.class.php
@@ -143,6 +143,25 @@ function forum_header($params = array()) {
}
echo
util_make_link('/forum/save.php?forum_id='.$forum_id.'&group_id='.$group_id,
html_image('ic/save.png') .'
'._('Save Place')).' | ';
+ // Link to pin or un pin a thread
+ $thread_id = getIntFromRequest("thread_id");
+ if (forge_check_perm('forum_admin', $f->Group->getID())
&& ($thread_id)) {
+ if (getStringFromRequest('pin') !== 't') {
+ if(ForumHTML::getIsPinned($thread_id)) {
+ $pin = 'f';
+ $pin_icon = 'forum_unpin';
+ $pin_text = _('Unpin this thread');
+ } else {
+ $pin = 't';
+ $pin_icon = 'forum_pin';
+ $pin_text = _('Pin this thread');
+ }
+ echo
util_make_link('/forum/forum.php?thread_id='.$thread_id
+ .'&forum_id='.$forum_id
+ .'&group_id='.$group_id
+ .'&pin='.$pin,
html_image('ic/'.$pin_icon.'.png').' '.$pin_text).' | ';
+ }
+ }
}
} elseif ($f) {
echo
util_make_link('/forum/monitor.php?forum_id='.$forum_id.'&group_id='.$group_id.'&start=1',
html_image('ic/mail16w.png').' '._('Monitor Forum')).' | ';
@@ -540,6 +559,22 @@ class ForumHTML extends FFError {
}
/**
+ * getIsPinned - to get is_pinned value from a thread
+ *
+ * @param int $thread_id - thread id
+ *
+ * @return boolean is_pinned - thread is pinned or not
+ */
+ public static function getIsPinned($thread_id) {
+ $is_pinned = false;
+ $result = db_query_params('SELECT is_pinned FROM forum WHERE
thread_id=$1 AND is_pinned = \'t\'', array($thread_id));
+ if(db_numrows($result) > 0) {
+ $is_pinned = true;
+ }
+ return $is_pinned;
+ }
+
+ /**
* @param int $thread_id
* @param int $is_followup_to
* @param string $subject
diff --git a/src/common/forum/ForumMessage.class.php
b/src/common/forum/ForumMessage.class.php
index 74615ac..56e1cac 100644
--- a/src/common/forum/ForumMessage.class.php
+++ b/src/common/forum/ForumMessage.class.php
@@ -197,7 +197,9 @@ class ForumMessage extends FFError {
db_begin();
- $result = db_query_params ('INSERT INTO forum
(group_forum_id,posted_by,subject,body,post_date,is_followup_to,thread_id,most_recent_date)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8)',
+ $is_pinned = 'f';
+ if (ForumHTML::getIsPinned($thread_id)) $is_pinned = 't';
+ $result = db_query_params ('INSERT INTO forum
(group_forum_id,posted_by,subject,body,post_date,is_followup_to,thread_id,most_recent_date,is_pinned)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9)',
array ($group_forum_id,
$posted_by,
htmlspecialchars($subject),
@@ -205,7 +207,8 @@ class ForumMessage extends FFError {
$post_date,
$is_followup_to,
$thread_id,
- $most_recent_date)) ;
+ $most_recent_date,
+ $is_pinned)) ;
if (!$result || db_affected_rows($result) < 1) {
$this->setError(_('Posting Failed').' '.db_error());
@@ -298,7 +301,9 @@ class ForumMessage extends FFError {
}
}
- $result = db_query_params ('INSERT INTO forum
(group_forum_id,posted_by,subject,body,post_date,is_followup_to,thread_id,most_recent_date)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8)',
+ $is_pinned = 'f';
+ if(ForumHTML::getIsPinned($thread_id)) $is_pinned = 't';
+ $result = db_query_params ('INSERT INTO forum
(group_forum_id,posted_by,subject,body,post_date,is_followup_to,thread_id,most_recent_date)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9)',
array ($this->Forum->getID(),
$user_id,
htmlspecialchars($subject),
@@ -306,7 +311,8 @@ class ForumMessage extends FFError {
$timestamp,
$is_followup_to,
$thread_id,
- $timestamp)) ;
+ $timestamp,
+ $is_pinned)) ;
if (!$result || db_affected_rows($result) < 1) {
$this->setError(_('Posting Failed').' '.db_error());
db_rollback();
diff --git a/src/db/20210308-forum-pinned-thread.sql
b/src/db/20210308-forum-pinned-thread.sql
new file mode 100644
index 0000000..1abbf96
--- /dev/null
+++ b/src/db/20210308-forum-pinned-thread.sql
@@ -0,0 +1 @@
+ALTER TABLE forum ADD is_pinned BOOLEAN DEFAULT 'f';
diff --git a/src/www/forum/forum.php b/src/www/forum/forum.php
index cea5aba..984577c 100644
--- a/src/www/forum/forum.php
+++ b/src/www/forum/forum.php
@@ -46,6 +46,18 @@ $offset = getIntFromRequest('offset');
$max_rows = getIntFromRequest('max_rows');
$set = getStringFromRequest('set');
+if (forge_check_perm('forum_admin', $group_id) && ($thread_id)) {
+ $pin = getStringFromRequest('pin');
+ if($pin === 't' || $pin === 'f') {
+ db_query_params('UPDATE forum SET is_pinned=$1 WHERE thread_id=$2',
array($pin,$thread_id));
+ }
+ if($pin === 't') {
+ unset($thread_id);
+ $feedback = 'Discussion épinglée';
+ }
+ unset($pin);
+}
+
if ($forum_id) {
if (!$group_id) {
@@ -307,15 +319,15 @@ if ($forum_id) {
This is the view that is most similar to the "Ultimate
BB view"
*/
- $result = db_query_params ('SELECT
f.most_recent_date,users.user_name,users.realname,users.user_id,f.msg_id,f.subject,f.thread_id,
+ $result = db_query_params ('SELECT f2.is_pinned,
f.most_recent_date,users.user_name,users.realname,users.user_id,f.msg_id,f.subject,f.thread_id,
(count(f2.thread_id)-1) AS
followups,max(f2.post_date) AS recent
FROM forum f, forum f2, users
WHERE f.group_forum_id=$1
AND f.is_followup_to=0
AND users.user_id=f.posted_by
AND f.thread_id=f2.thread_id
- GROUP BY
f.most_recent_date,users.user_name,users.realname,users.user_id,f.msg_id,f.subject,f.thread_id
- ORDER BY f.most_recent_date
DESC',
+ GROUP BY
f2.is_pinned,f.most_recent_date,users.user_name,users.realname,users.user_id,f.msg_id,f.subject,f.thread_id
+ ORDER BY f2.is_pinned
DESC,f.most_recent_date DESC',
array ($forum_id),
$max_rows+1,
$offset);
@@ -346,9 +358,13 @@ if ($forum_id) {
/*
show the subject and poster
*/
+ $icon = $HTML->getFolderPic();
+ if($row['is_pinned'] === 't') {
+ $icon = html_image('ic/forum_pin.png');
+ }
$ret_val .= '<tr><td>'
.util_make_link('/forum/forum.php?thread_id='.$row['thread_id'].'&forum_id='.$forum_id.'&group_id='.$group_id,
- $HTML->getFolderPic().'
'. $subject).'</td>'
+ $icon.' '.
$subject).'</td>'
.'<td>'.util_display_user($row['user_name'], $row['user_id'],
$row['realname']).'</td>'.
'<td>'. $row['followups'] .'</td>'.
'<td>'.
relative_date($row['recent']).'</td></tr>';
diff --git a/src/www/themes/funky-wOw/images/ic/forum_pin.png
b/src/www/themes/funky-wOw/images/ic/forum_pin.png
new file mode 100644
index 0000000..b7ed7b3
Binary files /dev/null and b/src/www/themes/funky-wOw/images/ic/forum_pin.png
differ
diff --git a/src/www/themes/funky-wOw/images/ic/forum_unpin.png
b/src/www/themes/funky-wOw/images/ic/forum_unpin.png
new file mode 100644
index 0000000..0b782b4
Binary files /dev/null and b/src/www/themes/funky-wOw/images/ic/forum_unpin.png
differ
diff --git a/src/www/themes/funky/images/ic/forum_pin.png
b/src/www/themes/funky/images/ic/forum_pin.png
new file mode 100644
index 0000000..b7ed7b3
Binary files /dev/null and b/src/www/themes/funky/images/ic/forum_pin.png differ
diff --git a/src/www/themes/funky/images/ic/forum_unpin.png
b/src/www/themes/funky/images/ic/forum_unpin.png
new file mode 100644
index 0000000..0b782b4
Binary files /dev/null and b/src/www/themes/funky/images/ic/forum_unpin.png
differ
-----------------------------------------------------------------------
Summary of changes:
src/CHANGES | 2 +
src/common/forum/ForumHTML.class.php | 35 +
src/common/forum/ForumMessage.class.php | 14 +-
src/db/20210308-forum-pinned-thread.sql | 1 +
src/www/forum/forum.php | 24 +-
src/www/themes/{funky => funky-guy}/README.txt | 0
src/www/themes/funky-guy/Theme.class.php | 393 +++++++++
.../{funky => funky-guy}/css/theme-pages.css | 0
src/www/themes/funky-guy/css/theme.css | 945 +++++++++++++++++++++
src/www/themes/funky-guy/images/category.png | Bin 0 -> 1899 bytes
.../themes/{funky => funky-guy}/images/clear.png | Bin
.../images/docman/directory-with-documents.png | Bin
.../images/docman/document-reserved.png | Bin
.../images/docman/download-directory-zip.png | Bin
.../images/docman/enforce-document.png | Bin
.../images/docman/file_type_html.png | Bin
.../images/docman/file_type_image.png | Bin
.../images/docman/file_type_pdf.png | Bin
.../images/docman/file_type_presentation.png | Bin
.../images/docman/file_type_sound.png | Bin
.../images/docman/file_type_spreadsheet.png | Bin
.../images/docman/file_type_unknown.png | Bin
.../images/docman/file_type_writer.png | Bin
.../images/docman/move-document.png | Bin
.../images/docman/release-document.png | Bin
.../images/docman/reserve-document.png | Bin
.../images/docman/validate.png | Bin
.../themes/funky-guy/images/header/header-logo.png | Bin 0 -> 4731 bytes
src/www/themes/funky-guy/images/header/search.png | Bin 0 -> 351 bytes
.../themes/funky-guy/images/header/select_down.png | Bin 0 -> 164 bytes
src/www/themes/funky-guy/images/ic/acl_roles20.png | Bin 0 -> 1069 bytes
.../{funky => funky-guy}/images/ic/add-16.png | Bin
src/www/themes/funky-guy/images/ic/add.png | Bin 0 -> 1119 bytes
.../{funky => funky-guy}/images/ic/attach.png | Bin
.../{funky => funky-guy}/images/ic/attach_add.png | Bin
.../images/ic/attach_delete.png | Bin
.../{funky => funky-guy}/images/ic/attach_edit.png | Bin
.../{funky => funky-guy}/images/ic/btn_down.png | Bin
.../{funky => funky-guy}/images/ic/btn_up.png | Bin
.../{funky => funky-guy}/images/ic/caret.png | Bin
src/www/themes/funky-guy/images/ic/check.png | Bin 0 -> 650 bytes
.../{funky => funky-guy}/images/ic/close.png | Bin
src/www/themes/funky-guy/images/ic/configure.png | Bin 0 -> 1210 bytes
src/www/themes/funky-guy/images/ic/cvs16b.png | Bin 0 -> 666 bytes
src/www/themes/funky-guy/images/ic/delete.png | Bin 0 -> 1179 bytes
.../images/ic/directory-add.png | Bin
.../{funky => funky-guy}/images/ic/docman16b.png | Bin
.../{funky => funky-guy}/images/ic/download.png | Bin
.../{funky => funky-guy}/images/ic/edit-file.png | Bin
.../{funky => funky-guy}/images/ic/file-txt.png | Bin
.../images/ic/file_type_archive.png | Bin
.../{funky => funky-guy}/images/ic/folder.png | Bin
src/www/themes/funky-guy/images/ic/forum20g.png | Bin 0 -> 993 bytes
.../images/ic/forum_delete.png | Bin
.../{funky => funky-guy}/images/ic/forum_edit.png | Bin
.../{funky => funky-guy}/images/ic/forum_move.png | Bin
src/www/themes/funky-guy/images/ic/forum_pin.png | Bin 0 -> 652 bytes
src/www/themes/funky-guy/images/ic/forum_unpin.png | Bin 0 -> 664 bytes
src/www/themes/funky-guy/images/ic/ftp16b.png | Bin 0 -> 983 bytes
.../{funky => funky-guy}/images/ic/halfcheck.png | Bin
src/www/themes/funky-guy/images/ic/home16b.png | Bin 0 -> 1128 bytes
.../{funky => funky-guy}/images/ic/mail-send.png | Bin
src/www/themes/funky-guy/images/ic/mail16b.png | Bin 0 -> 796 bytes
src/www/themes/funky-guy/images/ic/mail16w.png | Bin 0 -> 796 bytes
src/www/themes/funky-guy/images/ic/manual16c.png | Bin 0 -> 508 bytes
.../{funky => funky-guy}/images/ic/minus-16.png | Bin
.../themes/{funky => funky-guy}/images/ic/msg.png | Bin
.../{funky => funky-guy}/images/ic/ofolder.png | Bin
.../{funky => funky-guy}/images/ic/package.png | Bin
src/www/themes/funky-guy/images/ic/pencil.png | Bin 0 -> 875 bytes
.../images/ic}/pointer_down.png | Bin
.../{funky => funky-guy}/images/ic/pointer_up.png | Bin
.../{funky => funky-guy}/images/ic/remove.png | Bin
.../{funky => funky-guy}/images/ic/required.png | Bin
.../themes/{funky => funky-guy}/images/ic/rss.png | Bin
src/www/themes/funky-guy/images/ic/save.png | Bin 0 -> 921 bytes
.../{funky => funky-guy}/images/ic/spinner.gif | Bin
.../images/ic/startmonitor.png | Bin
.../themes/{funky => funky-guy}/images/ic/stop.png | Bin
.../{funky => funky-guy}/images/ic/stopmonitor.png | Bin
src/www/themes/funky-guy/images/ic/survey16b.png | Bin 0 -> 1046 bytes
.../themes/{funky => funky-guy}/images/ic/t.png | Bin
.../themes/{funky => funky-guy}/images/ic/t2.png | Bin
.../themes/{funky => funky-guy}/images/ic/tag.png | Bin
.../{funky => funky-guy}/images/ic/taskman20g.png | Bin
.../{funky => funky-guy}/images/ic/taskman20w.png | Bin
.../images/ic/ticket-closed.png | Bin
.../{funky => funky-guy}/images/ic/ticket-open.png | Bin
.../images/ic/toggle_minus.png | Bin
.../{funky => funky-guy}/images/ic/toggle_plus.png | Bin
.../{funky => funky-guy}/images/ic/tracker20g.png | Bin
.../{funky => funky-guy}/images/ic/up-down-16.png | Bin
.../{funky => funky-guy}/images/ic/wiki20g.png | Bin
src/www/themes/funky-guy/images/ic/write16w.png | Bin 0 -> 977 bytes
src/www/themes/funky-guy/images/ic/xmail16w.png | Bin 0 -> 1187 bytes
.../images/layout/2-columns.png | Bin
.../images/layout/3-columns.png | Bin
.../{funky => funky-guy}/images/layout/custom.png | Bin
.../{funky => funky-guy}/images/layout/layouts.xcf | Bin
.../{funky => funky-guy}/images/layout/left.png | Bin
.../{funky => funky-guy}/images/layout/right.png | Bin
.../{funky => funky-guy}/images/magnifier20.png | Bin
.../funky-guy/images/plugin_status_broken.png | Bin 0 -> 24416 bytes
.../funky-guy/images/plugin_status_valid.png | Bin 0 -> 18356 bytes
.../{funky => funky-guy}/images/pointer_down.png | Bin
.../{funky => funky-guy}/images/pointer_right.png | Bin
.../{funky => funky-guy}/images/search-logo.png | Bin
.../themes/{funky => funky-guy}/images/spacer.gif | Bin
src/www/themes/funky-guy/images/stop.png | Bin 0 -> 3634 bytes
src/www/themes/funky-wOw/images/ic/forum_pin.png | Bin 0 -> 652 bytes
src/www/themes/funky-wOw/images/ic/forum_unpin.png | Bin 0 -> 664 bytes
src/www/themes/funky/images/ic/forum_pin.png | Bin 0 -> 652 bytes
src/www/themes/funky/images/ic/forum_unpin.png | Bin 0 -> 664 bytes
113 files changed, 1406 insertions(+), 8 deletions(-)
create mode 100644 src/db/20210308-forum-pinned-thread.sql
copy src/www/themes/{funky => funky-guy}/README.txt (100%)
create mode 100644 src/www/themes/funky-guy/Theme.class.php
copy src/www/themes/{funky => funky-guy}/css/theme-pages.css (100%)
create mode 100644 src/www/themes/funky-guy/css/theme.css
create mode 100644 src/www/themes/funky-guy/images/category.png
copy src/www/themes/{funky => funky-guy}/images/clear.png (100%)
copy src/www/themes/{funky =>
funky-guy}/images/docman/directory-with-documents.png (100%)
copy src/www/themes/{funky => funky-guy}/images/docman/document-reserved.png
(100%)
copy src/www/themes/{funky =>
funky-guy}/images/docman/download-directory-zip.png (100%)
copy src/www/themes/{funky => funky-guy}/images/docman/enforce-document.png
(100%)
copy src/www/themes/{funky => funky-guy}/images/docman/file_type_html.png
(100%)
copy src/www/themes/{funky => funky-guy}/images/docman/file_type_image.png
(100%)
copy src/www/themes/{funky => funky-guy}/images/docman/file_type_pdf.png (100%)
copy src/www/themes/{funky =>
funky-guy}/images/docman/file_type_presentation.png (100%)
copy src/www/themes/{funky => funky-guy}/images/docman/file_type_sound.png
(100%)
copy src/www/themes/{funky =>
funky-guy}/images/docman/file_type_spreadsheet.png (100%)
copy src/www/themes/{funky => funky-guy}/images/docman/file_type_unknown.png
(100%)
copy src/www/themes/{funky => funky-guy}/images/docman/file_type_writer.png
(100%)
copy src/www/themes/{funky => funky-guy}/images/docman/move-document.png (100%)
copy src/www/themes/{funky => funky-guy}/images/docman/release-document.png
(100%)
copy src/www/themes/{funky => funky-guy}/images/docman/reserve-document.png
(100%)
copy src/www/themes/{funky => funky-guy}/images/docman/validate.png (100%)
create mode 100644 src/www/themes/funky-guy/images/header/header-logo.png
create mode 100644 src/www/themes/funky-guy/images/header/search.png
create mode 100644 src/www/themes/funky-guy/images/header/select_down.png
create mode 100644 src/www/themes/funky-guy/images/ic/acl_roles20.png
copy src/www/themes/{funky => funky-guy}/images/ic/add-16.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/add.png
copy src/www/themes/{funky => funky-guy}/images/ic/attach.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/attach_add.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/attach_delete.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/attach_edit.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/btn_down.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/btn_up.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/caret.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/check.png
copy src/www/themes/{funky => funky-guy}/images/ic/close.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/configure.png
create mode 100644 src/www/themes/funky-guy/images/ic/cvs16b.png
create mode 100644 src/www/themes/funky-guy/images/ic/delete.png
copy src/www/themes/{funky => funky-guy}/images/ic/directory-add.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/docman16b.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/download.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/edit-file.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/file-txt.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/file_type_archive.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/folder.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/forum20g.png
copy src/www/themes/{funky => funky-guy}/images/ic/forum_delete.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/forum_edit.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/forum_move.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/forum_pin.png
create mode 100644 src/www/themes/funky-guy/images/ic/forum_unpin.png
create mode 100644 src/www/themes/funky-guy/images/ic/ftp16b.png
copy src/www/themes/{funky => funky-guy}/images/ic/halfcheck.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/home16b.png
copy src/www/themes/{funky => funky-guy}/images/ic/mail-send.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/mail16b.png
create mode 100644 src/www/themes/funky-guy/images/ic/mail16w.png
create mode 100644 src/www/themes/funky-guy/images/ic/manual16c.png
copy src/www/themes/{funky => funky-guy}/images/ic/minus-16.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/msg.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/ofolder.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/package.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/pencil.png
copy src/www/themes/{funky/images => funky-guy/images/ic}/pointer_down.png
(100%)
copy src/www/themes/{funky => funky-guy}/images/ic/pointer_up.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/remove.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/required.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/rss.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/save.png
copy src/www/themes/{funky => funky-guy}/images/ic/spinner.gif (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/startmonitor.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/stop.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/stopmonitor.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/survey16b.png
copy src/www/themes/{funky => funky-guy}/images/ic/t.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/t2.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/tag.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/taskman20g.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/taskman20w.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/ticket-closed.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/ticket-open.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/toggle_minus.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/toggle_plus.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/tracker20g.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/up-down-16.png (100%)
copy src/www/themes/{funky => funky-guy}/images/ic/wiki20g.png (100%)
create mode 100644 src/www/themes/funky-guy/images/ic/write16w.png
create mode 100644 src/www/themes/funky-guy/images/ic/xmail16w.png
copy src/www/themes/{funky => funky-guy}/images/layout/2-columns.png (100%)
copy src/www/themes/{funky => funky-guy}/images/layout/3-columns.png (100%)
copy src/www/themes/{funky => funky-guy}/images/layout/custom.png (100%)
copy src/www/themes/{funky => funky-guy}/images/layout/layouts.xcf (100%)
copy src/www/themes/{funky => funky-guy}/images/layout/left.png (100%)
copy src/www/themes/{funky => funky-guy}/images/layout/right.png (100%)
copy src/www/themes/{funky => funky-guy}/images/magnifier20.png (100%)
create mode 100644 src/www/themes/funky-guy/images/plugin_status_broken.png
create mode 100644 src/www/themes/funky-guy/images/plugin_status_valid.png
copy src/www/themes/{funky => funky-guy}/images/pointer_down.png (100%)
copy src/www/themes/{funky => funky-guy}/images/pointer_right.png (100%)
copy src/www/themes/{funky => funky-guy}/images/search-logo.png (100%)
copy src/www/themes/{funky => funky-guy}/images/spacer.gif (100%)
create mode 100644 src/www/themes/funky-guy/images/stop.png
create mode 100644 src/www/themes/funky-wOw/images/ic/forum_pin.png
create mode 100644 src/www/themes/funky-wOw/images/ic/forum_unpin.png
create mode 100644 src/www/themes/funky/images/ic/forum_pin.png
create mode 100644 src/www/themes/funky/images/ic/forum_unpin.png
hooks/post-receive
--
FusionForge
_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits