[Gforge-commits] r5918 - in trunk/gforge: . common/docman
common/docman/engine common/forum common/include common/reporting cronjobs
db deb-specific debian etc/local.d plugins plugins/fckeditor/common
plugins/mediawiki/usr/share/mediawiki1.7/includes
plugins/mediawiki/usr/share/mediawiki1.7/skins plugins/projects_hierarchy
plugins/projects_hierarchy/common
plugins/projects_hierarchy/common/languages plugins/projects_hierarchy/db
plugins/projects_hierarchy/etc plugins/projects_hierarchy/etc/plugins
plugins/projects_hierarchy/www plugins/projects_hierarchy/www/img
plugins/quota_management plugins/quota_management/common
plugins/quota_management/common/languages plugins/quota_management/cronjobs
plugins/quota_management/db plugins/quota_management/etc
plugins/quota_management/etc/plugins plugins/quota_management/www
plugins/scmccase/common plugins/webcalendar plugins/webcalendar/common
plugins/webcalendar/common/languages plugins/webcalendar/db
plugins/webcalendar/etc plugins/webcalendar/etc/plugins
plugins/webcalendar/script plugins/webcalendar/www
plugins/webcalendar/www/docs plugins/webcalendar/www/includes
plugins/webcalendar/www/includes/js plugins/webcalendar/www/install
plugins/webcalendar/www/tools plugins/webcalendar/www/translations
plugins/webcalendar/www/ws www www/account www/activity www/admin
www/admin/languages www/admin/trove www/developer www/docman
www/docman/admin www/docman/include www/export www/forum www/forum/admin
www/forum/include www/frs www/frs/admin www/help www/include
www/include/languages www/mail www/mail/admin www/my www/new www/news
www/news/admin www/people www/people/admin www/pm www/pm/admin
www/pm/include www/pm/reporting www/project www/project/admin
www/project/report www/project/stats www/register www/reporting www/scm
www/scm/admin www/scm/reporting www/search www/search/include/renderers
www/snippet www/softwaremap www/stats www/survey www/survey/admin
www/survey/include www/themes www/themes/gforge www/themes/gforge/css
www/themes/gforge/images www/themes/gforge/images/b! ottomtab
cbayle at svr1.gforge.org
cbayle at svr1.gforge.org
Mon Mar 5 20:24:47 EST 2007
Author: cbayle
Date: 2007-03-05 20:03:16 -0500 (Mon, 05 Mar 2007)
New Revision: 5918
Added:
trunk/gforge/common/docman/Parsedata.class
trunk/gforge/common/docman/engine/
trunk/gforge/common/docman/engine/majwords.php
trunk/gforge/common/docman/engine/majwords.sh
trunk/gforge/common/docman/engine/parser_list.txt
trunk/gforge/common/docman/engine/parser_oo.php
trunk/gforge/common/docman/engine/parser_pdf.php.php
trunk/gforge/common/docman/engine/parser_text.inc.php
trunk/gforge/common/docman/engine/parser_text.php
trunk/gforge/cronjobs/ftp_create_group_access.php
trunk/gforge/cronjobs/gforge-db-backup.sh
trunk/gforge/db/20051103_transiciel_motscle_document.sql
trunk/gforge/plugins/projects_hierarchy/
trunk/gforge/plugins/projects_hierarchy/AUTHORS
trunk/gforge/plugins/projects_hierarchy/COPYING
trunk/gforge/plugins/projects_hierarchy/ChangeLog
trunk/gforge/plugins/projects_hierarchy/bin/
trunk/gforge/plugins/projects_hierarchy/common/
trunk/gforge/plugins/projects_hierarchy/common/languages/
trunk/gforge/plugins/projects_hierarchy/common/languages/Base.tab
trunk/gforge/plugins/projects_hierarchy/common/languages/French.tab
trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchy-init.php
trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class
trunk/gforge/plugins/projects_hierarchy/db/
trunk/gforge/plugins/projects_hierarchy/db/projects_hierarchy-init.sql
trunk/gforge/plugins/projects_hierarchy/etc/
trunk/gforge/plugins/projects_hierarchy/etc/plugins/
trunk/gforge/plugins/projects_hierarchy/etc/plugins/projects_hierarchy/
trunk/gforge/plugins/projects_hierarchy/www/
trunk/gforge/plugins/projects_hierarchy/www/add_link.php
trunk/gforge/plugins/projects_hierarchy/www/add_son.php
trunk/gforge/plugins/projects_hierarchy/www/del_father.php
trunk/gforge/plugins/projects_hierarchy/www/del_son.php
trunk/gforge/plugins/projects_hierarchy/www/dtree.css
trunk/gforge/plugins/projects_hierarchy/www/dtree.js
trunk/gforge/plugins/projects_hierarchy/www/hierarchy_utils.php
trunk/gforge/plugins/projects_hierarchy/www/img/
trunk/gforge/plugins/projects_hierarchy/www/img/base.gif
trunk/gforge/plugins/projects_hierarchy/www/img/cd.gif
trunk/gforge/plugins/projects_hierarchy/www/img/empty.gif
trunk/gforge/plugins/projects_hierarchy/www/img/folder.gif
trunk/gforge/plugins/projects_hierarchy/www/img/folderopen.gif
trunk/gforge/plugins/projects_hierarchy/www/img/globe.gif
trunk/gforge/plugins/projects_hierarchy/www/img/imgfolder.gif
trunk/gforge/plugins/projects_hierarchy/www/img/join.gif
trunk/gforge/plugins/projects_hierarchy/www/img/joinbottom.gif
trunk/gforge/plugins/projects_hierarchy/www/img/line.gif
trunk/gforge/plugins/projects_hierarchy/www/img/minus.gif
trunk/gforge/plugins/projects_hierarchy/www/img/minusbottom.gif
trunk/gforge/plugins/projects_hierarchy/www/img/musicfolder.gif
trunk/gforge/plugins/projects_hierarchy/www/img/nolines_minus.gif
trunk/gforge/plugins/projects_hierarchy/www/img/nolines_plus.gif
trunk/gforge/plugins/projects_hierarchy/www/img/page.gif
trunk/gforge/plugins/projects_hierarchy/www/img/plus.gif
trunk/gforge/plugins/projects_hierarchy/www/img/plusbottom.gif
trunk/gforge/plugins/projects_hierarchy/www/img/question.gif
trunk/gforge/plugins/projects_hierarchy/www/img/trash.gif
trunk/gforge/plugins/projects_hierarchy/www/index.php
trunk/gforge/plugins/projects_hierarchy/www/softwaremap.php
trunk/gforge/plugins/projects_hierarchy/www/wait_son.php
trunk/gforge/plugins/quota_management/
trunk/gforge/plugins/quota_management/INSTALL
trunk/gforge/plugins/quota_management/bin/
trunk/gforge/plugins/quota_management/common/
trunk/gforge/plugins/quota_management/common/languages/
trunk/gforge/plugins/quota_management/common/languages/Base.tab
trunk/gforge/plugins/quota_management/common/quota_management-init.php
trunk/gforge/plugins/quota_management/common/quota_managementPlugin.class
trunk/gforge/plugins/quota_management/cronjobs/
trunk/gforge/plugins/quota_management/cronjobs/quota_update.pl
trunk/gforge/plugins/quota_management/db/
trunk/gforge/plugins/quota_management/db/quota_management-init.sql
trunk/gforge/plugins/quota_management/etc/
trunk/gforge/plugins/quota_management/etc/plugins/
trunk/gforge/plugins/quota_management/etc/plugins/quota_management/
trunk/gforge/plugins/quota_management/www/
trunk/gforge/plugins/quota_management/www/index.php
trunk/gforge/plugins/quota_management/www/quota.php
trunk/gforge/plugins/quota_management/www/quota_admin.php
trunk/gforge/plugins/quota_management/www/quota_project.php
trunk/gforge/plugins/webcalendar/
trunk/gforge/plugins/webcalendar/AUTHORS
trunk/gforge/plugins/webcalendar/COPYING
trunk/gforge/plugins/webcalendar/ChangeLog
trunk/gforge/plugins/webcalendar/README
trunk/gforge/plugins/webcalendar/bin/
trunk/gforge/plugins/webcalendar/common/
trunk/gforge/plugins/webcalendar/common/languages/
trunk/gforge/plugins/webcalendar/common/languages/Base.tab
trunk/gforge/plugins/webcalendar/common/languages/French.tab
trunk/gforge/plugins/webcalendar/common/webcalendar-init.php
trunk/gforge/plugins/webcalendar/common/webcalendarPlugin.class
trunk/gforge/plugins/webcalendar/db/
trunk/gforge/plugins/webcalendar/db/webcalendar-init.sql
trunk/gforge/plugins/webcalendar/etc/
trunk/gforge/plugins/webcalendar/etc/plugins/
trunk/gforge/plugins/webcalendar/etc/plugins/webcalendar/
trunk/gforge/plugins/webcalendar/script/
trunk/gforge/plugins/webcalendar/script/webcalendar-init.php
trunk/gforge/plugins/webcalendar/www/
trunk/gforge/plugins/webcalendar/www/.project
trunk/gforge/plugins/webcalendar/www/AUTHORS
trunk/gforge/plugins/webcalendar/www/GPL.html
trunk/gforge/plugins/webcalendar/www/NEWS
trunk/gforge/plugins/webcalendar/www/README.html
trunk/gforge/plugins/webcalendar/www/UPGRADING.html
trunk/gforge/plugins/webcalendar/www/activity_log.php
trunk/gforge/plugins/webcalendar/www/add_entry.php
trunk/gforge/plugins/webcalendar/www/admin.php
trunk/gforge/plugins/webcalendar/www/admin_handler.php
trunk/gforge/plugins/webcalendar/www/adminhome.php
trunk/gforge/plugins/webcalendar/www/approve_entry.php
trunk/gforge/plugins/webcalendar/www/assistant_edit.php
trunk/gforge/plugins/webcalendar/www/assistant_edit_handler.php
trunk/gforge/plugins/webcalendar/www/availability.php
trunk/gforge/plugins/webcalendar/www/category.php
trunk/gforge/plugins/webcalendar/www/category_handler.php
trunk/gforge/plugins/webcalendar/www/circle.gif
trunk/gforge/plugins/webcalendar/www/colors.php
trunk/gforge/plugins/webcalendar/www/datesel.php
trunk/gforge/plugins/webcalendar/www/day.php
trunk/gforge/plugins/webcalendar/www/del_entry.php
trunk/gforge/plugins/webcalendar/www/del_layer.php
trunk/gforge/plugins/webcalendar/www/docs/
trunk/gforge/plugins/webcalendar/www/docs/README
trunk/gforge/plugins/webcalendar/www/docs/WebCalendar-Database.html
trunk/gforge/plugins/webcalendar/www/docs/WebCalendar-DeveloperGuide.html
trunk/gforge/plugins/webcalendar/www/docs/WebCalendar-Styling.html
trunk/gforge/plugins/webcalendar/www/docs/WebCalendar-SysAdmin.html
trunk/gforge/plugins/webcalendar/www/docs/newwin.gif
trunk/gforge/plugins/webcalendar/www/edit_entry.php
trunk/gforge/plugins/webcalendar/www/edit_entry_handler.php
trunk/gforge/plugins/webcalendar/www/edit_layer.php
trunk/gforge/plugins/webcalendar/www/edit_layer_handler.php
trunk/gforge/plugins/webcalendar/www/edit_nonusers.php
trunk/gforge/plugins/webcalendar/www/edit_nonusers_handler.php
trunk/gforge/plugins/webcalendar/www/edit_report.php
trunk/gforge/plugins/webcalendar/www/edit_report_handler.php
trunk/gforge/plugins/webcalendar/www/edit_template.php
trunk/gforge/plugins/webcalendar/www/edit_user.php
trunk/gforge/plugins/webcalendar/www/edit_user_handler.php
trunk/gforge/plugins/webcalendar/www/export.php
trunk/gforge/plugins/webcalendar/www/export_handler.php
trunk/gforge/plugins/webcalendar/www/favicon.ico
trunk/gforge/plugins/webcalendar/www/gradient.php
trunk/gforge/plugins/webcalendar/www/group_edit.php
trunk/gforge/plugins/webcalendar/www/group_edit_handler.php
trunk/gforge/plugins/webcalendar/www/groups.php
trunk/gforge/plugins/webcalendar/www/help.gif
trunk/gforge/plugins/webcalendar/www/help_admin.php
trunk/gforge/plugins/webcalendar/www/help_bug.php
trunk/gforge/plugins/webcalendar/www/help_edit_entry.php
trunk/gforge/plugins/webcalendar/www/help_import.php
trunk/gforge/plugins/webcalendar/www/help_index.php
trunk/gforge/plugins/webcalendar/www/help_layers.php
trunk/gforge/plugins/webcalendar/www/help_pref.php
trunk/gforge/plugins/webcalendar/www/htmlarea-3.0rc1.zip
trunk/gforge/plugins/webcalendar/www/import.php
trunk/gforge/plugins/webcalendar/www/import_handler.php
trunk/gforge/plugins/webcalendar/www/import_ical.php
trunk/gforge/plugins/webcalendar/www/import_palmdesktop.php
trunk/gforge/plugins/webcalendar/www/import_vcal.php
trunk/gforge/plugins/webcalendar/www/includes/
trunk/gforge/plugins/webcalendar/www/includes/config.php
trunk/gforge/plugins/webcalendar/www/includes/connect.php
trunk/gforge/plugins/webcalendar/www/includes/dbtable.php
trunk/gforge/plugins/webcalendar/www/includes/functions.php
trunk/gforge/plugins/webcalendar/www/includes/help_trailer.php
trunk/gforge/plugins/webcalendar/www/includes/index.html
trunk/gforge/plugins/webcalendar/www/includes/index.php
trunk/gforge/plugins/webcalendar/www/includes/init.php
trunk/gforge/plugins/webcalendar/www/includes/js.php
trunk/gforge/plugins/webcalendar/www/includes/js/
trunk/gforge/plugins/webcalendar/www/includes/js/admin.php
trunk/gforge/plugins/webcalendar/www/includes/js/assistant_edit.php
trunk/gforge/plugins/webcalendar/www/includes/js/availability.php
trunk/gforge/plugins/webcalendar/www/includes/js/colors.php
trunk/gforge/plugins/webcalendar/www/includes/js/datesel.php
trunk/gforge/plugins/webcalendar/www/includes/js/edit_entry.php
trunk/gforge/plugins/webcalendar/www/includes/js/edit_layer.php
trunk/gforge/plugins/webcalendar/www/includes/js/export.php
trunk/gforge/plugins/webcalendar/www/includes/js/popups.php
trunk/gforge/plugins/webcalendar/www/includes/js/pref.php
trunk/gforge/plugins/webcalendar/www/includes/js/purge.php
trunk/gforge/plugins/webcalendar/www/includes/js/search.php
trunk/gforge/plugins/webcalendar/www/includes/js/users.php
trunk/gforge/plugins/webcalendar/www/includes/js/usersel.php
trunk/gforge/plugins/webcalendar/www/includes/js/view_d.php
trunk/gforge/plugins/webcalendar/www/includes/js/views_edit.php
trunk/gforge/plugins/webcalendar/www/includes/js/visible.php
trunk/gforge/plugins/webcalendar/www/includes/php-dbi.php
trunk/gforge/plugins/webcalendar/www/includes/print_styles.css
trunk/gforge/plugins/webcalendar/www/includes/settings.php
trunk/gforge/plugins/webcalendar/www/includes/settings.php.orig
trunk/gforge/plugins/webcalendar/www/includes/site_extras.php
trunk/gforge/plugins/webcalendar/www/includes/styles.php
trunk/gforge/plugins/webcalendar/www/includes/trailer.php
trunk/gforge/plugins/webcalendar/www/includes/translate.php
trunk/gforge/plugins/webcalendar/www/includes/user-app-postnuke.php
trunk/gforge/plugins/webcalendar/www/includes/user-ldap.php
trunk/gforge/plugins/webcalendar/www/includes/user-nis.php
trunk/gforge/plugins/webcalendar/www/includes/user.php
trunk/gforge/plugins/webcalendar/www/includes/validate.php
trunk/gforge/plugins/webcalendar/www/index.php
trunk/gforge/plugins/webcalendar/www/index2.php
trunk/gforge/plugins/webcalendar/www/install-datebook.patch
trunk/gforge/plugins/webcalendar/www/install/
trunk/gforge/plugins/webcalendar/www/install/index.php
trunk/gforge/plugins/webcalendar/www/layers.php
trunk/gforge/plugins/webcalendar/www/layers_toggle.php
trunk/gforge/plugins/webcalendar/www/leftarrow.gif
trunk/gforge/plugins/webcalendar/www/leftarrowsmall.gif
trunk/gforge/plugins/webcalendar/www/list_unapproved.php
trunk/gforge/plugins/webcalendar/www/login.gif
trunk/gforge/plugins/webcalendar/www/login.php
trunk/gforge/plugins/webcalendar/www/month.php
trunk/gforge/plugins/webcalendar/www/new.gif
trunk/gforge/plugins/webcalendar/www/nonusers.php
trunk/gforge/plugins/webcalendar/www/nonusers_handler.php
trunk/gforge/plugins/webcalendar/www/pix.gif
trunk/gforge/plugins/webcalendar/www/pixb.gif
trunk/gforge/plugins/webcalendar/www/pref.php
trunk/gforge/plugins/webcalendar/www/pref_handler.php
trunk/gforge/plugins/webcalendar/www/publish.php
trunk/gforge/plugins/webcalendar/www/purge.php
trunk/gforge/plugins/webcalendar/www/reject_entry.php
trunk/gforge/plugins/webcalendar/www/report.php
trunk/gforge/plugins/webcalendar/www/rightarrow.gif
trunk/gforge/plugins/webcalendar/www/rightarrowsmall.gif
trunk/gforge/plugins/webcalendar/www/search.php
trunk/gforge/plugins/webcalendar/www/search_handler.php
trunk/gforge/plugins/webcalendar/www/select_user.php
trunk/gforge/plugins/webcalendar/www/set_entry_cat.php
trunk/gforge/plugins/webcalendar/www/spacer.gif
trunk/gforge/plugins/webcalendar/www/tables-db2.sql
trunk/gforge/plugins/webcalendar/www/tables-ibase.sql
trunk/gforge/plugins/webcalendar/www/tables-mysql.sql
trunk/gforge/plugins/webcalendar/www/tables-oracle.sql
trunk/gforge/plugins/webcalendar/www/tables-postgres.sql
trunk/gforge/plugins/webcalendar/www/tools/
trunk/gforge/plugins/webcalendar/www/tools/check_translation.pl
trunk/gforge/plugins/webcalendar/www/tools/convert_passwords.php
trunk/gforge/plugins/webcalendar/www/tools/palm_datebook.pl
trunk/gforge/plugins/webcalendar/www/tools/send_reminders.php
trunk/gforge/plugins/webcalendar/www/tools/summary.txt
trunk/gforge/plugins/webcalendar/www/tools/translation_summary.pl
trunk/gforge/plugins/webcalendar/www/tools/update_all.pl
trunk/gforge/plugins/webcalendar/www/tools/update_translation.pl
trunk/gforge/plugins/webcalendar/www/tools/upgrade_to_0.9.7.pl
trunk/gforge/plugins/webcalendar/www/translations/
trunk/gforge/plugins/webcalendar/www/translations/Basque.txt
trunk/gforge/plugins/webcalendar/www/translations/Bulgarian.txt
trunk/gforge/plugins/webcalendar/www/translations/Catalan.txt
trunk/gforge/plugins/webcalendar/www/translations/Chinese-Big5.txt
trunk/gforge/plugins/webcalendar/www/translations/Chinese-GB2312.txt
trunk/gforge/plugins/webcalendar/www/translations/Czech.txt
trunk/gforge/plugins/webcalendar/www/translations/Danish.txt
trunk/gforge/plugins/webcalendar/www/translations/Dutch.txt
trunk/gforge/plugins/webcalendar/www/translations/English-US.txt
trunk/gforge/plugins/webcalendar/www/translations/Estonian.txt
trunk/gforge/plugins/webcalendar/www/translations/Finnish.txt
trunk/gforge/plugins/webcalendar/www/translations/French.txt
trunk/gforge/plugins/webcalendar/www/translations/Galician.txt
trunk/gforge/plugins/webcalendar/www/translations/German.txt
trunk/gforge/plugins/webcalendar/www/translations/Holo-Big5.txt
trunk/gforge/plugins/webcalendar/www/translations/Hungarian.txt
trunk/gforge/plugins/webcalendar/www/translations/Icelandic.txt
trunk/gforge/plugins/webcalendar/www/translations/Italian.txt
trunk/gforge/plugins/webcalendar/www/translations/Japanese-eucjp.txt
trunk/gforge/plugins/webcalendar/www/translations/Japanese-utf8.txt
trunk/gforge/plugins/webcalendar/www/translations/Japanese.txt
trunk/gforge/plugins/webcalendar/www/translations/Korean.txt
trunk/gforge/plugins/webcalendar/www/translations/Norwegian.txt
trunk/gforge/plugins/webcalendar/www/translations/Polish.txt
trunk/gforge/plugins/webcalendar/www/translations/Portuguese.txt
trunk/gforge/plugins/webcalendar/www/translations/Portuguese_BR.txt
trunk/gforge/plugins/webcalendar/www/translations/Romanian.txt
trunk/gforge/plugins/webcalendar/www/translations/Russian.txt
trunk/gforge/plugins/webcalendar/www/translations/Spanish.txt
trunk/gforge/plugins/webcalendar/www/translations/Swedish.txt
trunk/gforge/plugins/webcalendar/www/translations/Turkish.txt
trunk/gforge/plugins/webcalendar/www/translations/Welsh.txt
trunk/gforge/plugins/webcalendar/www/upcoming.php
trunk/gforge/plugins/webcalendar/www/users.php
trunk/gforge/plugins/webcalendar/www/usersel.php
trunk/gforge/plugins/webcalendar/www/view_d.php
trunk/gforge/plugins/webcalendar/www/view_entry.php
trunk/gforge/plugins/webcalendar/www/view_l.php
trunk/gforge/plugins/webcalendar/www/view_m.php
trunk/gforge/plugins/webcalendar/www/view_t.php
trunk/gforge/plugins/webcalendar/www/view_v.php
trunk/gforge/plugins/webcalendar/www/view_w.php
trunk/gforge/plugins/webcalendar/www/views.php
trunk/gforge/plugins/webcalendar/www/views_edit.php
trunk/gforge/plugins/webcalendar/www/views_edit_handler.php
trunk/gforge/plugins/webcalendar/www/week.php
trunk/gforge/plugins/webcalendar/www/week_details.php
trunk/gforge/plugins/webcalendar/www/week_ssi.php
trunk/gforge/plugins/webcalendar/www/ws/
trunk/gforge/plugins/webcalendar/www/ws/get_events.php
trunk/gforge/plugins/webcalendar/www/ws/get_reminders.php
trunk/gforge/plugins/webcalendar/www/ws/login.php
trunk/gforge/plugins/webcalendar/www/year.php
trunk/gforge/www/docman/include/vtemplate.class.php
trunk/gforge/www/docman/search.php
trunk/gforge/www/docman/search.tpl.html
trunk/gforge/www/env.inc.php
trunk/gforge/www/include/unicode.php
trunk/gforge/www/themes/gforge/
trunk/gforge/www/themes/gforge/COPYING
trunk/gforge/www/themes/gforge/README.txt
trunk/gforge/www/themes/gforge/Theme.class
trunk/gforge/www/themes/gforge/css/
trunk/gforge/www/themes/gforge/css/theme.css
trunk/gforge/www/themes/gforge/images/
trunk/gforge/www/themes/gforge/images/bottomtab-new/
trunk/gforge/www/themes/gforge/images/bottomtab-new/middle.gif
trunk/gforge/www/themes/gforge/images/bottomtab-new/selected-middle.gif
trunk/gforge/www/themes/gforge/images/bottomtab-new/selected-separator.gif
trunk/gforge/www/themes/gforge/images/bottomtab-new/separator.gif
trunk/gforge/www/themes/gforge/images/box-grad.png
trunk/gforge/www/themes/gforge/images/box-topleft.png
trunk/gforge/www/themes/gforge/images/box-topright.png
trunk/gforge/www/themes/gforge/images/clear.png
trunk/gforge/www/themes/gforge/images/header/
trunk/gforge/www/themes/gforge/images/header/top-logo.blank.gif
trunk/gforge/www/themes/gforge/images/header/top-logo.gif
trunk/gforge/www/themes/gforge/images/header/top-middle.gif
trunk/gforge/www/themes/gforge/images/header/top-right.gif
trunk/gforge/www/themes/gforge/images/ic/
trunk/gforge/www/themes/gforge/images/ic/adddoc12.png
trunk/gforge/www/themes/gforge/images/ic/caret.png
trunk/gforge/www/themes/gforge/images/ic/cfolder15.png
trunk/gforge/www/themes/gforge/images/ic/check.png
trunk/gforge/www/themes/gforge/images/ic/cvs16b.png
trunk/gforge/www/themes/gforge/images/ic/docman16b.png
trunk/gforge/www/themes/gforge/images/ic/forum20g.png
trunk/gforge/www/themes/gforge/images/ic/forum20w.png
trunk/gforge/www/themes/gforge/images/ic/ftp16b.png
trunk/gforge/www/themes/gforge/images/ic/halfcheck.png
trunk/gforge/www/themes/gforge/images/ic/home16b.png
trunk/gforge/www/themes/gforge/images/ic/index.png
trunk/gforge/www/themes/gforge/images/ic/mail16b.png
trunk/gforge/www/themes/gforge/images/ic/mail16d.png
trunk/gforge/www/themes/gforge/images/ic/mail16w.png
trunk/gforge/www/themes/gforge/images/ic/manual16c.png
trunk/gforge/www/themes/gforge/images/ic/msg.png
trunk/gforge/www/themes/gforge/images/ic/ofolder15.png
trunk/gforge/www/themes/gforge/images/ic/pencil.png
trunk/gforge/www/themes/gforge/images/ic/rss.png
trunk/gforge/www/themes/gforge/images/ic/save.png
trunk/gforge/www/themes/gforge/images/ic/survey16b.png
trunk/gforge/www/themes/gforge/images/ic/taskman20g.png
trunk/gforge/www/themes/gforge/images/ic/taskman20w.png
trunk/gforge/www/themes/gforge/images/ic/tracker20g.png
trunk/gforge/www/themes/gforge/images/ic/tracker20w.png
trunk/gforge/www/themes/gforge/images/ic/trash-x.png
trunk/gforge/www/themes/gforge/images/ic/trash.png
trunk/gforge/www/themes/gforge/images/ic/write16w.png
trunk/gforge/www/themes/gforge/images/ic/xmail16w.png
trunk/gforge/www/themes/gforge/images/t.png
trunk/gforge/www/themes/gforge/images/t2.png
trunk/gforge/www/themes/gforge/images/toptab-new/
trunk/gforge/www/themes/gforge/images/toptab-new/left.gif
trunk/gforge/www/themes/gforge/images/toptab-new/middle.gif
trunk/gforge/www/themes/gforge/images/toptab-new/right.gif
trunk/gforge/www/themes/gforge/images/toptab-new/selected-left.gif
trunk/gforge/www/themes/gforge/images/toptab-new/selected-middle.gif
trunk/gforge/www/themes/gforge/images/toptab-new/selected-right.gif
trunk/gforge/www/themes/gforge/images/vert-grad.png
trunk/gforge/www/themes/gforge/viewvc/
trunk/gforge/www/themes/gforge/viewvc/help.css
trunk/gforge/www/themes/gforge/viewvc/help_dirview.html
trunk/gforge/www/themes/gforge/viewvc/help_log.html
trunk/gforge/www/themes/gforge/viewvc/help_query.html
trunk/gforge/www/themes/gforge/viewvc/help_rootview.html
trunk/gforge/www/themes/gforge/viewvc/images/
trunk/gforge/www/themes/gforge/viewvc/images/annotate.png
trunk/gforge/www/themes/gforge/viewvc/images/back.png
trunk/gforge/www/themes/gforge/viewvc/images/back_small.png
trunk/gforge/www/themes/gforge/viewvc/images/broken.png
trunk/gforge/www/themes/gforge/viewvc/images/chalk.jpg
trunk/gforge/www/themes/gforge/viewvc/images/cvsgraph_16x16.png
trunk/gforge/www/themes/gforge/viewvc/images/cvsgraph_32x32.png
trunk/gforge/www/themes/gforge/viewvc/images/diff.png
trunk/gforge/www/themes/gforge/viewvc/images/dir.png
trunk/gforge/www/themes/gforge/viewvc/images/down.png
trunk/gforge/www/themes/gforge/viewvc/images/download.png
trunk/gforge/www/themes/gforge/viewvc/images/feed-icon-16x16.jpg
trunk/gforge/www/themes/gforge/viewvc/images/forward.png
trunk/gforge/www/themes/gforge/viewvc/images/list.png
trunk/gforge/www/themes/gforge/viewvc/images/log.png
trunk/gforge/www/themes/gforge/viewvc/images/logo.png
trunk/gforge/www/themes/gforge/viewvc/images/text.png
trunk/gforge/www/themes/gforge/viewvc/images/up.png
trunk/gforge/www/themes/gforge/viewvc/images/view.png
trunk/gforge/www/themes/gforge/viewvc/styles.css
Removed:
trunk/gforge/common/docman/engine/majwords.php
trunk/gforge/common/docman/engine/majwords.sh
trunk/gforge/common/docman/engine/parser_list.txt
trunk/gforge/common/docman/engine/parser_oo.php
trunk/gforge/common/docman/engine/parser_pdf.php.php
trunk/gforge/common/docman/engine/parser_text.inc.php
trunk/gforge/common/docman/engine/parser_text.php
trunk/gforge/plugins/projects_hierarchy/AUTHORS
trunk/gforge/plugins/projects_hierarchy/COPYING
trunk/gforge/plugins/projects_hierarchy/ChangeLog
trunk/gforge/plugins/projects_hierarchy/bin/
trunk/gforge/plugins/projects_hierarchy/common/
trunk/gforge/plugins/projects_hierarchy/common/languages/
trunk/gforge/plugins/projects_hierarchy/common/languages/Base.tab
trunk/gforge/plugins/projects_hierarchy/common/languages/French.tab
trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchy-init.php
trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class
trunk/gforge/plugins/projects_hierarchy/db/
trunk/gforge/plugins/projects_hierarchy/db/projects_hierarchy-init.sql
trunk/gforge/plugins/projects_hierarchy/etc/
trunk/gforge/plugins/projects_hierarchy/etc/plugins/
trunk/gforge/plugins/projects_hierarchy/etc/plugins/projects_hierarchy/
trunk/gforge/plugins/projects_hierarchy/www/
trunk/gforge/plugins/projects_hierarchy/www/add_link.php
trunk/gforge/plugins/projects_hierarchy/www/add_son.php
trunk/gforge/plugins/projects_hierarchy/www/del_father.php
trunk/gforge/plugins/projects_hierarchy/www/del_son.php
trunk/gforge/plugins/projects_hierarchy/www/dtree.css
trunk/gforge/plugins/projects_hierarchy/www/dtree.js
trunk/gforge/plugins/projects_hierarchy/www/hierarchy_utils.php
trunk/gforge/plugins/projects_hierarchy/www/img/
trunk/gforge/plugins/projects_hierarchy/www/img/base.gif
trunk/gforge/plugins/projects_hierarchy/www/img/cd.gif
trunk/gforge/plugins/projects_hierarchy/www/img/empty.gif
trunk/gforge/plugins/projects_hierarchy/www/img/folder.gif
trunk/gforge/plugins/projects_hierarchy/www/img/folderopen.gif
trunk/gforge/plugins/projects_hierarchy/www/img/globe.gif
trunk/gforge/plugins/projects_hierarchy/www/img/imgfolder.gif
trunk/gforge/plugins/projects_hierarchy/www/img/join.gif
trunk/gforge/plugins/projects_hierarchy/www/img/joinbottom.gif
trunk/gforge/plugins/projects_hierarchy/www/img/line.gif
trunk/gforge/plugins/projects_hierarchy/www/img/minus.gif
trunk/gforge/plugins/projects_hierarchy/www/img/minusbottom.gif
trunk/gforge/plugins/projects_hierarchy/www/img/musicfolder.gif
trunk/gforge/plugins/projects_hierarchy/www/img/nolines_minus.gif
trunk/gforge/plugins/projects_hierarchy/www/img/nolines_plus.gif
trunk/gforge/plugins/projects_hierarchy/www/img/page.gif
trunk/gforge/plugins/projects_hierarchy/www/img/plus.gif
trunk/gforge/plugins/projects_hierarchy/www/img/plusbottom.gif
trunk/gforge/plugins/projects_hierarchy/www/img/question.gif
trunk/gforge/plugins/projects_hierarchy/www/img/trash.gif
trunk/gforge/plugins/projects_hierarchy/www/index.php
trunk/gforge/plugins/projects_hierarchy/www/softwaremap.php
trunk/gforge/plugins/projects_hierarchy/www/wait_son.php
trunk/gforge/plugins/quota_management/INSTALL
trunk/gforge/plugins/quota_management/bin/
trunk/gforge/plugins/quota_management/common/
trunk/gforge/plugins/quota_management/common/languages/
trunk/gforge/plugins/quota_management/common/languages/Base.tab
trunk/gforge/plugins/quota_management/common/quota_management-init.php
trunk/gforge/plugins/quota_management/common/quota_managementPlugin.class
trunk/gforge/plugins/quota_management/cronjobs/
trunk/gforge/plugins/quota_management/cronjobs/quota_update.pl
trunk/gforge/plugins/quota_management/db/
trunk/gforge/plugins/quota_management/db/quota_management-init.sql
trunk/gforge/plugins/quota_management/etc/
trunk/gforge/plugins/quota_management/etc/plugins/
trunk/gforge/plugins/quota_management/etc/plugins/quota_management/
trunk/gforge/plugins/quota_management/www/
trunk/gforge/plugins/quota_management/www/index.php
trunk/gforge/plugins/quota_management/www/quota.php
trunk/gforge/plugins/quota_management/www/quota_admin.php
trunk/gforge/plugins/quota_management/www/quota_project.php
trunk/gforge/plugins/webcalendar/AUTHORS
trunk/gforge/plugins/webcalendar/COPYING
trunk/gforge/plugins/webcalendar/ChangeLog
trunk/gforge/plugins/webcalendar/README
trunk/gforge/plugins/webcalendar/bin/
trunk/gforge/plugins/webcalendar/common/
trunk/gforge/plugins/webcalendar/common/languages/
trunk/gforge/plugins/webcalendar/common/languages/Base.tab
trunk/gforge/plugins/webcalendar/common/languages/French.tab
trunk/gforge/plugins/webcalendar/common/webcalendar-init.php
trunk/gforge/plugins/webcalendar/common/webcalendarPlugin.class
trunk/gforge/plugins/webcalendar/db/
trunk/gforge/plugins/webcalendar/db/webcalendar-init.sql
trunk/gforge/plugins/webcalendar/etc/
trunk/gforge/plugins/webcalendar/etc/plugins/
trunk/gforge/plugins/webcalendar/etc/plugins/webcalendar/
trunk/gforge/plugins/webcalendar/script/
trunk/gforge/plugins/webcalendar/script/webcalendar-init.php
trunk/gforge/plugins/webcalendar/www/
trunk/gforge/plugins/webcalendar/www/.project
trunk/gforge/plugins/webcalendar/www/AUTHORS
trunk/gforge/plugins/webcalendar/www/GPL.html
trunk/gforge/plugins/webcalendar/www/NEWS
trunk/gforge/plugins/webcalendar/www/README.html
trunk/gforge/plugins/webcalendar/www/UPGRADING.html
trunk/gforge/plugins/webcalendar/www/activity_log.php
trunk/gforge/plugins/webcalendar/www/add_entry.php
trunk/gforge/plugins/webcalendar/www/admin.php
trunk/gforge/plugins/webcalendar/www/admin_handler.php
trunk/gforge/plugins/webcalendar/www/adminhome.php
trunk/gforge/plugins/webcalendar/www/approve_entry.php
trunk/gforge/plugins/webcalendar/www/assistant_edit.php
trunk/gforge/plugins/webcalendar/www/assistant_edit_handler.php
trunk/gforge/plugins/webcalendar/www/availability.php
trunk/gforge/plugins/webcalendar/www/category.php
trunk/gforge/plugins/webcalendar/www/category_handler.php
trunk/gforge/plugins/webcalendar/www/circle.gif
trunk/gforge/plugins/webcalendar/www/colors.php
trunk/gforge/plugins/webcalendar/www/datesel.php
trunk/gforge/plugins/webcalendar/www/day.php
trunk/gforge/plugins/webcalendar/www/del_entry.php
trunk/gforge/plugins/webcalendar/www/del_layer.php
trunk/gforge/plugins/webcalendar/www/docs/
trunk/gforge/plugins/webcalendar/www/docs/README
trunk/gforge/plugins/webcalendar/www/docs/WebCalendar-Database.html
trunk/gforge/plugins/webcalendar/www/docs/WebCalendar-DeveloperGuide.html
trunk/gforge/plugins/webcalendar/www/docs/WebCalendar-Styling.html
trunk/gforge/plugins/webcalendar/www/docs/WebCalendar-SysAdmin.html
trunk/gforge/plugins/webcalendar/www/docs/newwin.gif
trunk/gforge/plugins/webcalendar/www/edit_entry.php
trunk/gforge/plugins/webcalendar/www/edit_entry_handler.php
trunk/gforge/plugins/webcalendar/www/edit_layer.php
trunk/gforge/plugins/webcalendar/www/edit_layer_handler.php
trunk/gforge/plugins/webcalendar/www/edit_nonusers.php
trunk/gforge/plugins/webcalendar/www/edit_nonusers_handler.php
trunk/gforge/plugins/webcalendar/www/edit_report.php
trunk/gforge/plugins/webcalendar/www/edit_report_handler.php
trunk/gforge/plugins/webcalendar/www/edit_template.php
trunk/gforge/plugins/webcalendar/www/edit_user.php
trunk/gforge/plugins/webcalendar/www/edit_user_handler.php
trunk/gforge/plugins/webcalendar/www/export.php
trunk/gforge/plugins/webcalendar/www/export_handler.php
trunk/gforge/plugins/webcalendar/www/favicon.ico
trunk/gforge/plugins/webcalendar/www/gradient.php
trunk/gforge/plugins/webcalendar/www/group_edit.php
trunk/gforge/plugins/webcalendar/www/group_edit_handler.php
trunk/gforge/plugins/webcalendar/www/groups.php
trunk/gforge/plugins/webcalendar/www/help.gif
trunk/gforge/plugins/webcalendar/www/help_admin.php
trunk/gforge/plugins/webcalendar/www/help_bug.php
trunk/gforge/plugins/webcalendar/www/help_edit_entry.php
trunk/gforge/plugins/webcalendar/www/help_import.php
trunk/gforge/plugins/webcalendar/www/help_index.php
trunk/gforge/plugins/webcalendar/www/help_layers.php
trunk/gforge/plugins/webcalendar/www/help_pref.php
trunk/gforge/plugins/webcalendar/www/htmlarea-3.0rc1.zip
trunk/gforge/plugins/webcalendar/www/import.php
trunk/gforge/plugins/webcalendar/www/import_handler.php
trunk/gforge/plugins/webcalendar/www/import_ical.php
trunk/gforge/plugins/webcalendar/www/import_palmdesktop.php
trunk/gforge/plugins/webcalendar/www/import_vcal.php
trunk/gforge/plugins/webcalendar/www/includes/
trunk/gforge/plugins/webcalendar/www/includes/config.php
trunk/gforge/plugins/webcalendar/www/includes/connect.php
trunk/gforge/plugins/webcalendar/www/includes/dbtable.php
trunk/gforge/plugins/webcalendar/www/includes/functions.php
trunk/gforge/plugins/webcalendar/www/includes/help_trailer.php
trunk/gforge/plugins/webcalendar/www/includes/index.html
trunk/gforge/plugins/webcalendar/www/includes/index.php
trunk/gforge/plugins/webcalendar/www/includes/init.php
trunk/gforge/plugins/webcalendar/www/includes/js.php
trunk/gforge/plugins/webcalendar/www/includes/js/
trunk/gforge/plugins/webcalendar/www/includes/js/admin.php
trunk/gforge/plugins/webcalendar/www/includes/js/assistant_edit.php
trunk/gforge/plugins/webcalendar/www/includes/js/availability.php
trunk/gforge/plugins/webcalendar/www/includes/js/colors.php
trunk/gforge/plugins/webcalendar/www/includes/js/datesel.php
trunk/gforge/plugins/webcalendar/www/includes/js/edit_entry.php
trunk/gforge/plugins/webcalendar/www/includes/js/edit_layer.php
trunk/gforge/plugins/webcalendar/www/includes/js/export.php
trunk/gforge/plugins/webcalendar/www/includes/js/popups.php
trunk/gforge/plugins/webcalendar/www/includes/js/pref.php
trunk/gforge/plugins/webcalendar/www/includes/js/purge.php
trunk/gforge/plugins/webcalendar/www/includes/js/search.php
trunk/gforge/plugins/webcalendar/www/includes/js/users.php
trunk/gforge/plugins/webcalendar/www/includes/js/usersel.php
trunk/gforge/plugins/webcalendar/www/includes/js/view_d.php
trunk/gforge/plugins/webcalendar/www/includes/js/views_edit.php
trunk/gforge/plugins/webcalendar/www/includes/js/visible.php
trunk/gforge/plugins/webcalendar/www/includes/php-dbi.php
trunk/gforge/plugins/webcalendar/www/includes/print_styles.css
trunk/gforge/plugins/webcalendar/www/includes/settings.php
trunk/gforge/plugins/webcalendar/www/includes/settings.php.orig
trunk/gforge/plugins/webcalendar/www/includes/site_extras.php
trunk/gforge/plugins/webcalendar/www/includes/styles.php
trunk/gforge/plugins/webcalendar/www/includes/trailer.php
trunk/gforge/plugins/webcalendar/www/includes/translate.php
trunk/gforge/plugins/webcalendar/www/includes/user-app-postnuke.php
trunk/gforge/plugins/webcalendar/www/includes/user-ldap.php
trunk/gforge/plugins/webcalendar/www/includes/user-nis.php
trunk/gforge/plugins/webcalendar/www/includes/user.php
trunk/gforge/plugins/webcalendar/www/includes/validate.php
trunk/gforge/plugins/webcalendar/www/index.php
trunk/gforge/plugins/webcalendar/www/index2.php
trunk/gforge/plugins/webcalendar/www/install-datebook.patch
trunk/gforge/plugins/webcalendar/www/install/
trunk/gforge/plugins/webcalendar/www/install/index.php
trunk/gforge/plugins/webcalendar/www/layers.php
trunk/gforge/plugins/webcalendar/www/layers_toggle.php
trunk/gforge/plugins/webcalendar/www/leftarrow.gif
trunk/gforge/plugins/webcalendar/www/leftarrowsmall.gif
trunk/gforge/plugins/webcalendar/www/list_unapproved.php
trunk/gforge/plugins/webcalendar/www/login.gif
trunk/gforge/plugins/webcalendar/www/login.php
trunk/gforge/plugins/webcalendar/www/month.php
trunk/gforge/plugins/webcalendar/www/new.gif
trunk/gforge/plugins/webcalendar/www/nonusers.php
trunk/gforge/plugins/webcalendar/www/nonusers_handler.php
trunk/gforge/plugins/webcalendar/www/pix.gif
trunk/gforge/plugins/webcalendar/www/pixb.gif
trunk/gforge/plugins/webcalendar/www/pref.php
trunk/gforge/plugins/webcalendar/www/pref_handler.php
trunk/gforge/plugins/webcalendar/www/publish.php
trunk/gforge/plugins/webcalendar/www/purge.php
trunk/gforge/plugins/webcalendar/www/reject_entry.php
trunk/gforge/plugins/webcalendar/www/report.php
trunk/gforge/plugins/webcalendar/www/rightarrow.gif
trunk/gforge/plugins/webcalendar/www/rightarrowsmall.gif
trunk/gforge/plugins/webcalendar/www/search.php
trunk/gforge/plugins/webcalendar/www/search_handler.php
trunk/gforge/plugins/webcalendar/www/select_user.php
trunk/gforge/plugins/webcalendar/www/set_entry_cat.php
trunk/gforge/plugins/webcalendar/www/spacer.gif
trunk/gforge/plugins/webcalendar/www/tables-db2.sql
trunk/gforge/plugins/webcalendar/www/tables-ibase.sql
trunk/gforge/plugins/webcalendar/www/tables-mysql.sql
trunk/gforge/plugins/webcalendar/www/tables-oracle.sql
trunk/gforge/plugins/webcalendar/www/tables-postgres.sql
trunk/gforge/plugins/webcalendar/www/tools/
trunk/gforge/plugins/webcalendar/www/tools/check_translation.pl
trunk/gforge/plugins/webcalendar/www/tools/convert_passwords.php
trunk/gforge/plugins/webcalendar/www/tools/palm_datebook.pl
trunk/gforge/plugins/webcalendar/www/tools/send_reminders.php
trunk/gforge/plugins/webcalendar/www/tools/summary.txt
trunk/gforge/plugins/webcalendar/www/tools/translation_summary.pl
trunk/gforge/plugins/webcalendar/www/tools/update_all.pl
trunk/gforge/plugins/webcalendar/www/tools/update_translation.pl
trunk/gforge/plugins/webcalendar/www/tools/upgrade_to_0.9.7.pl
trunk/gforge/plugins/webcalendar/www/translations/
trunk/gforge/plugins/webcalendar/www/translations/Basque.txt
trunk/gforge/plugins/webcalendar/www/translations/Bulgarian.txt
trunk/gforge/plugins/webcalendar/www/translations/Catalan.txt
trunk/gforge/plugins/webcalendar/www/translations/Chinese-Big5.txt
trunk/gforge/plugins/webcalendar/www/translations/Chinese-GB2312.txt
trunk/gforge/plugins/webcalendar/www/translations/Czech.txt
trunk/gforge/plugins/webcalendar/www/translations/Danish.txt
trunk/gforge/plugins/webcalendar/www/translations/Dutch.txt
trunk/gforge/plugins/webcalendar/www/translations/English-US.txt
trunk/gforge/plugins/webcalendar/www/translations/Estonian.txt
trunk/gforge/plugins/webcalendar/www/translations/Finnish.txt
trunk/gforge/plugins/webcalendar/www/translations/French.txt
trunk/gforge/plugins/webcalendar/www/translations/Galician.txt
trunk/gforge/plugins/webcalendar/www/translations/German.txt
trunk/gforge/plugins/webcalendar/www/translations/Holo-Big5.txt
trunk/gforge/plugins/webcalendar/www/translations/Hungarian.txt
trunk/gforge/plugins/webcalendar/www/translations/Icelandic.txt
trunk/gforge/plugins/webcalendar/www/translations/Italian.txt
trunk/gforge/plugins/webcalendar/www/translations/Japanese-eucjp.txt
trunk/gforge/plugins/webcalendar/www/translations/Japanese-utf8.txt
trunk/gforge/plugins/webcalendar/www/translations/Japanese.txt
trunk/gforge/plugins/webcalendar/www/translations/Korean.txt
trunk/gforge/plugins/webcalendar/www/translations/Norwegian.txt
trunk/gforge/plugins/webcalendar/www/translations/Polish.txt
trunk/gforge/plugins/webcalendar/www/translations/Portuguese.txt
trunk/gforge/plugins/webcalendar/www/translations/Portuguese_BR.txt
trunk/gforge/plugins/webcalendar/www/translations/Romanian.txt
trunk/gforge/plugins/webcalendar/www/translations/Russian.txt
trunk/gforge/plugins/webcalendar/www/translations/Spanish.txt
trunk/gforge/plugins/webcalendar/www/translations/Swedish.txt
trunk/gforge/plugins/webcalendar/www/translations/Turkish.txt
trunk/gforge/plugins/webcalendar/www/translations/Welsh.txt
trunk/gforge/plugins/webcalendar/www/upcoming.php
trunk/gforge/plugins/webcalendar/www/users.php
trunk/gforge/plugins/webcalendar/www/usersel.php
trunk/gforge/plugins/webcalendar/www/view_d.php
trunk/gforge/plugins/webcalendar/www/view_entry.php
trunk/gforge/plugins/webcalendar/www/view_l.php
trunk/gforge/plugins/webcalendar/www/view_m.php
trunk/gforge/plugins/webcalendar/www/view_t.php
trunk/gforge/plugins/webcalendar/www/view_v.php
trunk/gforge/plugins/webcalendar/www/view_w.php
trunk/gforge/plugins/webcalendar/www/views.php
trunk/gforge/plugins/webcalendar/www/views_edit.php
trunk/gforge/plugins/webcalendar/www/views_edit_handler.php
trunk/gforge/plugins/webcalendar/www/week.php
trunk/gforge/plugins/webcalendar/www/week_details.php
trunk/gforge/plugins/webcalendar/www/week_ssi.php
trunk/gforge/plugins/webcalendar/www/ws/
trunk/gforge/plugins/webcalendar/www/ws/get_events.php
trunk/gforge/plugins/webcalendar/www/ws/get_reminders.php
trunk/gforge/plugins/webcalendar/www/ws/login.php
trunk/gforge/plugins/webcalendar/www/year.php
trunk/gforge/www/themes/gforge/
trunk/gforge/www/themes/gforge/COPYING
trunk/gforge/www/themes/gforge/README.txt
trunk/gforge/www/themes/gforge/Theme.class
trunk/gforge/www/themes/gforge/css/
trunk/gforge/www/themes/gforge/css/theme.css
trunk/gforge/www/themes/gforge/images/
trunk/gforge/www/themes/gforge/images/bottomtab-new/
trunk/gforge/www/themes/gforge/images/bottomtab-new/middle.gif
trunk/gforge/www/themes/gforge/images/bottomtab-new/selected-middle.gif
trunk/gforge/www/themes/gforge/images/bottomtab-new/selected-separator.gif
trunk/gforge/www/themes/gforge/images/bottomtab-new/separator.gif
trunk/gforge/www/themes/gforge/images/box-grad.png
trunk/gforge/www/themes/gforge/images/box-topleft.png
trunk/gforge/www/themes/gforge/images/box-topright.png
trunk/gforge/www/themes/gforge/images/clear.png
trunk/gforge/www/themes/gforge/images/header/
trunk/gforge/www/themes/gforge/images/header/top-logo.blank.gif
trunk/gforge/www/themes/gforge/images/header/top-logo.gif
trunk/gforge/www/themes/gforge/images/header/top-middle.gif
trunk/gforge/www/themes/gforge/images/header/top-right.gif
trunk/gforge/www/themes/gforge/images/ic/
trunk/gforge/www/themes/gforge/images/ic/adddoc12.png
trunk/gforge/www/themes/gforge/images/ic/caret.png
trunk/gforge/www/themes/gforge/images/ic/cfolder15.png
trunk/gforge/www/themes/gforge/images/ic/check.png
trunk/gforge/www/themes/gforge/images/ic/cvs16b.png
trunk/gforge/www/themes/gforge/images/ic/docman16b.png
trunk/gforge/www/themes/gforge/images/ic/forum20g.png
trunk/gforge/www/themes/gforge/images/ic/forum20w.png
trunk/gforge/www/themes/gforge/images/ic/ftp16b.png
trunk/gforge/www/themes/gforge/images/ic/halfcheck.png
trunk/gforge/www/themes/gforge/images/ic/home16b.png
trunk/gforge/www/themes/gforge/images/ic/index.png
trunk/gforge/www/themes/gforge/images/ic/mail16b.png
trunk/gforge/www/themes/gforge/images/ic/mail16d.png
trunk/gforge/www/themes/gforge/images/ic/mail16w.png
trunk/gforge/www/themes/gforge/images/ic/manual16c.png
trunk/gforge/www/themes/gforge/images/ic/msg.png
trunk/gforge/www/themes/gforge/images/ic/ofolder15.png
trunk/gforge/www/themes/gforge/images/ic/pencil.png
trunk/gforge/www/themes/gforge/images/ic/rss.png
trunk/gforge/www/themes/gforge/images/ic/save.png
trunk/gforge/www/themes/gforge/images/ic/survey16b.png
trunk/gforge/www/themes/gforge/images/ic/taskman20g.png
trunk/gforge/www/themes/gforge/images/ic/taskman20w.png
trunk/gforge/www/themes/gforge/images/ic/tracker20g.png
trunk/gforge/www/themes/gforge/images/ic/tracker20w.png
trunk/gforge/www/themes/gforge/images/ic/trash-x.png
trunk/gforge/www/themes/gforge/images/ic/trash.png
trunk/gforge/www/themes/gforge/images/ic/write16w.png
trunk/gforge/www/themes/gforge/images/ic/xmail16w.png
trunk/gforge/www/themes/gforge/images/t.png
trunk/gforge/www/themes/gforge/images/t2.png
trunk/gforge/www/themes/gforge/images/toptab-new/
trunk/gforge/www/themes/gforge/images/toptab-new/left.gif
trunk/gforge/www/themes/gforge/images/toptab-new/middle.gif
trunk/gforge/www/themes/gforge/images/toptab-new/right.gif
trunk/gforge/www/themes/gforge/images/toptab-new/selected-left.gif
trunk/gforge/www/themes/gforge/images/toptab-new/selected-middle.gif
trunk/gforge/www/themes/gforge/images/toptab-new/selected-right.gif
trunk/gforge/www/themes/gforge/images/vert-grad.png
trunk/gforge/www/themes/gforge/viewvc/
trunk/gforge/www/themes/gforge/viewvc/help.css
trunk/gforge/www/themes/gforge/viewvc/help_dirview.html
trunk/gforge/www/themes/gforge/viewvc/help_log.html
trunk/gforge/www/themes/gforge/viewvc/help_query.html
trunk/gforge/www/themes/gforge/viewvc/help_rootview.html
trunk/gforge/www/themes/gforge/viewvc/images/
trunk/gforge/www/themes/gforge/viewvc/images/annotate.png
trunk/gforge/www/themes/gforge/viewvc/images/back.png
trunk/gforge/www/themes/gforge/viewvc/images/back_small.png
trunk/gforge/www/themes/gforge/viewvc/images/broken.png
trunk/gforge/www/themes/gforge/viewvc/images/chalk.jpg
trunk/gforge/www/themes/gforge/viewvc/images/cvsgraph_16x16.png
trunk/gforge/www/themes/gforge/viewvc/images/cvsgraph_32x32.png
trunk/gforge/www/themes/gforge/viewvc/images/diff.png
trunk/gforge/www/themes/gforge/viewvc/images/dir.png
trunk/gforge/www/themes/gforge/viewvc/images/down.png
trunk/gforge/www/themes/gforge/viewvc/images/download.png
trunk/gforge/www/themes/gforge/viewvc/images/feed-icon-16x16.jpg
trunk/gforge/www/themes/gforge/viewvc/images/forward.png
trunk/gforge/www/themes/gforge/viewvc/images/list.png
trunk/gforge/www/themes/gforge/viewvc/images/log.png
trunk/gforge/www/themes/gforge/viewvc/images/logo.png
trunk/gforge/www/themes/gforge/viewvc/images/text.png
trunk/gforge/www/themes/gforge/viewvc/images/up.png
trunk/gforge/www/themes/gforge/viewvc/images/view.png
trunk/gforge/www/themes/gforge/viewvc/styles.css
Modified:
trunk/gforge/ChangeLog
trunk/gforge/common/docman/Document.class
trunk/gforge/common/forum/Forum.class
trunk/gforge/common/include/GForge.class
trunk/gforge/common/include/Group.class
trunk/gforge/common/include/Role.class
trunk/gforge/common/include/User.class
trunk/gforge/common/reporting/ReportSetup.class
trunk/gforge/deb-specific/db-upgrade.pl
trunk/gforge/debian/changelog
trunk/gforge/debian/control
trunk/gforge/debian/gforge-db-postgresql.cron.d
trunk/gforge/debian/gforge-ftp-proftpd.cron.d
trunk/gforge/debian/gforge-plugins.dirs
trunk/gforge/debian/rules
trunk/gforge/etc/local.d/30homegroupother
trunk/gforge/plugins/fckeditor/common/fckeditorPlugin.class
trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/includes/GFUser.class.php
trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/includes/GForgePre.php
trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/skins/GForge.php
trunk/gforge/plugins/scmccase/common/CCasePlugin.class
trunk/gforge/www/404.php
trunk/gforge/www/account/change_email-complete.php
trunk/gforge/www/account/change_email.php
trunk/gforge/www/account/change_pw.php
trunk/gforge/www/account/editsshkeys.php
trunk/gforge/www/account/first.php
trunk/gforge/www/account/index.php
trunk/gforge/www/account/login.php
trunk/gforge/www/account/logout.php
trunk/gforge/www/account/lostlogin.php
trunk/gforge/www/account/lostpw.php
trunk/gforge/www/account/pending-resend.php
trunk/gforge/www/account/register.php
trunk/gforge/www/account/setlang.php
trunk/gforge/www/account/unsubscribe.php
trunk/gforge/www/account/verify.php
trunk/gforge/www/activity/index.php
trunk/gforge/www/admin/admin_table.php
trunk/gforge/www/admin/approve-pending.php
trunk/gforge/www/admin/configman.php
trunk/gforge/www/admin/cronman.php
trunk/gforge/www/admin/database.php
trunk/gforge/www/admin/groupdelete.php
trunk/gforge/www/admin/groupedit.php
trunk/gforge/www/admin/grouplist.php
trunk/gforge/www/admin/index.php
trunk/gforge/www/admin/languages/admintabfiles.php
trunk/gforge/www/admin/languages/gettabfiles.php
trunk/gforge/www/admin/languages/loadtabfiles.php
trunk/gforge/www/admin/massmail.php
trunk/gforge/www/admin/pluginman.php
trunk/gforge/www/admin/responses_admin.php
trunk/gforge/www/admin/search.php
trunk/gforge/www/admin/trove/trove_cat_add.php
trunk/gforge/www/admin/trove/trove_cat_edit.php
trunk/gforge/www/admin/trove/trove_cat_list.php
trunk/gforge/www/admin/unsubscribe.php
trunk/gforge/www/admin/useredit.php
trunk/gforge/www/admin/userlist.php
trunk/gforge/www/admin/vhost.php
trunk/gforge/www/dbimage.php
trunk/gforge/www/developer/diary.php
trunk/gforge/www/developer/index.php
trunk/gforge/www/developer/monitor.php
trunk/gforge/www/developer/rate.php
trunk/gforge/www/docman/admin/index.php
trunk/gforge/www/docman/display_doc.php
trunk/gforge/www/docman/doceditor.php
trunk/gforge/www/docman/include/DocumentGroupHTML.class
trunk/gforge/www/docman/include/doc_utils.php
trunk/gforge/www/docman/index.php
trunk/gforge/www/docman/new.php
trunk/gforge/www/docman/view.php
trunk/gforge/www/download.php
trunk/gforge/www/export/forum.php
trunk/gforge/www/export/index.php
trunk/gforge/www/export/projhtml.php
trunk/gforge/www/export/projnews.php
trunk/gforge/www/export/projtitl.php
trunk/gforge/www/export/rss20_activity.php
trunk/gforge/www/export/rss20_newreleases.php
trunk/gforge/www/export/rss20_news.php
trunk/gforge/www/export/rss20_projects.php
trunk/gforge/www/export/rss_project.php
trunk/gforge/www/export/rss_sfnewreleases.php
trunk/gforge/www/export/rss_sfnews.php
trunk/gforge/www/export/rss_sfprojects.php
trunk/gforge/www/export/tracker.php
trunk/gforge/www/export/trove_tree.php
trunk/gforge/www/forum/admin/attachments.php
trunk/gforge/www/forum/admin/index.php
trunk/gforge/www/forum/admin/monitor.php
trunk/gforge/www/forum/admin/pending.php
trunk/gforge/www/forum/admin/pendingmsgdetail.php
trunk/gforge/www/forum/attachment.php
trunk/gforge/www/forum/forum.php
trunk/gforge/www/forum/include/AttachManager.class
trunk/gforge/www/forum/include/ForumHTML.class
trunk/gforge/www/forum/index.php
trunk/gforge/www/forum/message.php
trunk/gforge/www/forum/monitor.php
trunk/gforge/www/forum/myforums.php
trunk/gforge/www/forum/new.php
trunk/gforge/www/forum/save.php
trunk/gforge/www/frs/admin/deletepackage.php
trunk/gforge/www/frs/admin/deleterelease.php
trunk/gforge/www/frs/admin/editrelease.php
trunk/gforge/www/frs/admin/index.php
trunk/gforge/www/frs/admin/qrs.php
trunk/gforge/www/frs/admin/showreleases.php
trunk/gforge/www/frs/download.php
trunk/gforge/www/frs/index.php
trunk/gforge/www/frs/monitor.php
trunk/gforge/www/frs/shownotes.php
trunk/gforge/www/help/index.php
trunk/gforge/www/help/tracker.php
trunk/gforge/www/help/trove_cat.php
trunk/gforge/www/include/Layout.class
trunk/gforge/www/include/LayoutSF.class
trunk/gforge/www/include/exit.php
trunk/gforge/www/include/features_boxes.php
trunk/gforge/www/include/html.php
trunk/gforge/www/include/languages/Base.tab
trunk/gforge/www/include/languages/French.tab
trunk/gforge/www/include/logger.php
trunk/gforge/www/include/pre.php
trunk/gforge/www/include/project_home.php
trunk/gforge/www/include/project_summary.php
trunk/gforge/www/include/trove.php
trunk/gforge/www/include/user_home.php
trunk/gforge/www/include/vote_function.php
trunk/gforge/www/index.php
trunk/gforge/www/index_std.php
trunk/gforge/www/mail/admin/deletelist.php
trunk/gforge/www/mail/admin/index.php
trunk/gforge/www/mail/index.php
trunk/gforge/www/my/bookmark_add.php
trunk/gforge/www/my/bookmark_delete.php
trunk/gforge/www/my/bookmark_edit.php
trunk/gforge/www/my/diary.php
trunk/gforge/www/my/index.php
trunk/gforge/www/my/rmproject.php
trunk/gforge/www/new/index.php
trunk/gforge/www/news/admin/index.php
trunk/gforge/www/news/admin/news_admin_utils.php
trunk/gforge/www/news/index.php
trunk/gforge/www/news/news_utils.php
trunk/gforge/www/news/submit.php
trunk/gforge/www/notepad.php
trunk/gforge/www/people/admin/index.php
trunk/gforge/www/people/createjob.php
trunk/gforge/www/people/editjob.php
trunk/gforge/www/people/editprofile.php
trunk/gforge/www/people/helpwanted-latest.php
trunk/gforge/www/people/index.php
trunk/gforge/www/people/people_utils.php
trunk/gforge/www/people/viewjob.php
trunk/gforge/www/people/viewprofile.php
trunk/gforge/www/pm/add_task.php
trunk/gforge/www/pm/admin/index.php
trunk/gforge/www/pm/browse_task.php
trunk/gforge/www/pm/calendar.php
trunk/gforge/www/pm/gantt.php
trunk/gforge/www/pm/ganttofuser.php
trunk/gforge/www/pm/include/ProjectTaskHTML.class
trunk/gforge/www/pm/index.php
trunk/gforge/www/pm/mod_task.php
trunk/gforge/www/pm/reporting/index.php
trunk/gforge/www/pm/task.php
trunk/gforge/www/project/admin/database.php
trunk/gforge/www/project/admin/editgroupinfo.php
trunk/gforge/www/project/admin/editimages.php
trunk/gforge/www/project/admin/group_trove.php
trunk/gforge/www/project/admin/history.php
trunk/gforge/www/project/admin/index.php
trunk/gforge/www/project/admin/massadd.php
trunk/gforge/www/project/admin/massfinish.php
trunk/gforge/www/project/admin/project_admin_utils.php
trunk/gforge/www/project/admin/roleedit.php
trunk/gforge/www/project/admin/vhost.php
trunk/gforge/www/project/index.php
trunk/gforge/www/project/memberlist.php
trunk/gforge/www/project/report/index.php
trunk/gforge/www/project/request.php
trunk/gforge/www/project/stats/index.php
trunk/gforge/www/projects
trunk/gforge/www/register/projectinfo.php
trunk/gforge/www/reporting/groupadded.php
trunk/gforge/www/reporting/groupadded_graph.php
trunk/gforge/www/reporting/groupcum.php
trunk/gforge/www/reporting/groupcum_graph.php
trunk/gforge/www/reporting/index.php
trunk/gforge/www/reporting/projectact.php
trunk/gforge/www/reporting/projectact_graph.php
trunk/gforge/www/reporting/projecttime.php
trunk/gforge/www/reporting/projecttime_graph.php
trunk/gforge/www/reporting/rebuild.php
trunk/gforge/www/reporting/siteact.php
trunk/gforge/www/reporting/siteact_graph.php
trunk/gforge/www/reporting/sitetime.php
trunk/gforge/www/reporting/sitetime_graph.php
trunk/gforge/www/reporting/sitetimebar.php
trunk/gforge/www/reporting/sitetimebar_graph.php
trunk/gforge/www/reporting/timeadd.php
trunk/gforge/www/reporting/timecategory.php
trunk/gforge/www/reporting/toolspie.php
trunk/gforge/www/reporting/toolspie_graph.php
trunk/gforge/www/reporting/trackerpie_graph.php
trunk/gforge/www/reporting/useract.php
trunk/gforge/www/reporting/useract_graph.php
trunk/gforge/www/reporting/useradded.php
trunk/gforge/www/reporting/useradded_graph.php
trunk/gforge/www/reporting/usercum.php
trunk/gforge/www/reporting/usercum_graph.php
trunk/gforge/www/reporting/usersummary.php
trunk/gforge/www/reporting/usertime.php
trunk/gforge/www/reporting/usertime_graph.php
trunk/gforge/www/scm/admin/index.php
trunk/gforge/www/scm/index.php
trunk/gforge/www/scm/reporting/commits_graph.php
trunk/gforge/www/scm/reporting/commitstime_graph.php
trunk/gforge/www/scm/reporting/index.php
trunk/gforge/www/scm/viewvc.php
trunk/gforge/www/search/advanced_search.php
trunk/gforge/www/search/include/renderers/ArtifactHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/DocsHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/ForumHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/ForumsHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/FrsHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/NewsHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/PeopleHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/ProjectHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/SkillHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/TasksHtmlSearchRenderer.class
trunk/gforge/www/search/include/renderers/TrackersHtmlSearchRenderer.class
trunk/gforge/www/search/index.php
trunk/gforge/www/sendmessage.php
trunk/gforge/www/snapshots.php
trunk/gforge/www/snippet/add_snippet_to_package.php
trunk/gforge/www/snippet/addversion.php
trunk/gforge/www/snippet/browse.php
trunk/gforge/www/snippet/delete.php
trunk/gforge/www/snippet/detail.php
trunk/gforge/www/snippet/download.php
trunk/gforge/www/snippet/index.php
trunk/gforge/www/snippet/package.php
trunk/gforge/www/snippet/snippet_utils.php
trunk/gforge/www/snippet/submit.php
trunk/gforge/www/softwaremap/trove_list.php
trunk/gforge/www/source.php
trunk/gforge/www/stats/graphs.php
trunk/gforge/www/stats/i18n.php
trunk/gforge/www/stats/index.php
trunk/gforge/www/stats/lastlogins.php
trunk/gforge/www/stats/projects.php
trunk/gforge/www/stats/site_stats_utils.php
trunk/gforge/www/stats/users_graph.php
trunk/gforge/www/stats/views_graph.php
trunk/gforge/www/survey/admin/add_question.php
trunk/gforge/www/survey/admin/add_survey.php
trunk/gforge/www/survey/admin/edit_question.php
trunk/gforge/www/survey/admin/edit_survey.php
trunk/gforge/www/survey/admin/graphs.php
trunk/gforge/www/survey/admin/index.php
trunk/gforge/www/survey/admin/question.php
trunk/gforge/www/survey/admin/show_questions.php
trunk/gforge/www/survey/admin/show_results.php
trunk/gforge/www/survey/admin/show_results_aggregate.php
trunk/gforge/www/survey/admin/show_results_comments.php
trunk/gforge/www/survey/admin/show_results_csv.php
trunk/gforge/www/survey/admin/show_results_individual.php
trunk/gforge/www/survey/admin/survey.php
trunk/gforge/www/survey/include/SurveyHTML.class
trunk/gforge/www/survey/index.php
trunk/gforge/www/survey/privacy.php
trunk/gforge/www/survey/rating_resp.php
trunk/gforge/www/survey/survey.php
trunk/gforge/www/survey/survey_resp.php
trunk/gforge/www/tarballs.php
trunk/gforge/www/themes/gforge-classic/css/theme.css
trunk/gforge/www/themes/gforge-simple-theme/Theme.class
trunk/gforge/www/themes/lite/Theme.class
trunk/gforge/www/themes/osx/Theme.class
trunk/gforge/www/themes/ultralite/Theme.class
trunk/gforge/www/top/index.php
trunk/gforge/www/top/mostactive.php
trunk/gforge/www/top/toplist.php
trunk/gforge/www/top/topusers.php
trunk/gforge/www/tracker/add.php
trunk/gforge/www/tracker/admin/ind.php
trunk/gforge/www/tracker/admin/index.php
trunk/gforge/www/tracker/browse.php
trunk/gforge/www/tracker/detail.php
trunk/gforge/www/tracker/download.php
trunk/gforge/www/tracker/include/ArtifactHtml.class
trunk/gforge/www/tracker/ind.php
trunk/gforge/www/tracker/index.php
trunk/gforge/www/tracker/mod-limited.php
trunk/gforge/www/tracker/mod.php
trunk/gforge/www/tracker/query.php
trunk/gforge/www/tracker/reporting/index.php
trunk/gforge/www/tracker/reporting/trackeract_graph.php
trunk/gforge/www/tracker/reporting/trackerpie_graph.php
trunk/gforge/www/tracker/taskmgr.php
trunk/gforge/www/tracker/tracker.php
trunk/gforge/www/users
Log:
Merge from 4.6dev Branch
Modified: trunk/gforge/ChangeLog
===================================================================
--- trunk/gforge/ChangeLog 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/ChangeLog 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,4 +1,3 @@
-
2006-10-04 Christian Bayle <bayle at debian.org>
* remove use of deprecated user_ismember function in layout.class
* Allow opening of /etc/gforge/local.inc readonly in configman.php,
Modified: trunk/gforge/common/docman/Document.class
===================================================================
--- trunk/gforge/common/docman/Document.class 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/common/docman/Document.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -34,6 +34,7 @@
*/
require_once('common/include/Error.class');
+require_once('common/docman/Parsedata.class');
class Document extends Error {
@@ -49,7 +50,12 @@
*
* @var object $Group.
*/
- var $Group; //group object
+ /**
+ * The Search engine path.
+ *
+ * @var string $engine_path
+ */
+ var $engine_path;
/**
* Constructor.
@@ -59,7 +65,7 @@
* @param array The associative array of data.
* @return boolean success.
*/
- function Document(&$Group, $docid=false, $arr=false) {
+ function Document(&$Group, $docid=false, $arr=false, $engine = "") {
$this->Error();
if (!$Group || !is_object($Group)) {
$this->setNotValidGroupObjectError();
@@ -94,6 +100,7 @@
}
}
}
+ $this->engine_path = $engine;
return true;
}
@@ -145,11 +152,17 @@
function_exists('mb_detect_encoding')) {
$data = mb_convert_encoding($data,'UTF-8',mb_detect_encoding($data));
}
-
+ $data1 = $data;
+
+ // key words for in-document search
+ $kw = new Parsedata ($this->engine_path);
+ $kwords = $kw->get_parse_data (stripslashes($data1), htmlspecialchars($title1), htmlspecialchars($description), $filetype);
+ // $kwords = "";
+
$filesize = strlen($data);
$sql="INSERT INTO doc_data (group_id,title,description,createdate,doc_group,
- stateid,language_id,filename,filetype,filesize,data,created_by)
+ stateid,language_id,filename,filetype,filesize,data,data_words,created_by)
VALUES ('".$this->Group->getId()."',
'". htmlspecialchars($title) ."',
'". htmlspecialchars($description) ."',
@@ -161,6 +174,7 @@
'$filetype',
'$filesize',
'". base64_encode(stripslashes($data)) ."',
+ '$kwords',
'$user_id')";
db_begin();
Copied: trunk/gforge/common/docman/Parsedata.class (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/Parsedata.class)
Copied: trunk/gforge/common/docman/engine (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/engine)
Deleted: trunk/gforge/common/docman/engine/majwords.php
===================================================================
--- branches/Branch_4_6dev/gforge/common/docman/engine/majwords.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/common/docman/engine/majwords.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,66 +0,0 @@
-#! /usr/bin/php4 -f
-<?php
-/**
- * GForge Doc Search engine
- *
- *
- * Fabio Bertagnin November 2005
- *
- * @version $Id: 04_IMPROVDOC_75_document_specific_search_engine.dpatch,v 1.1 2006/01/11 17:02:45 fabio Exp $
- */
-
-require_once('pre.php');
-require_once('www/docman/include/doc_utils.php');
-require_once('common/docman/Parsedata.class');
-require_once('common/docman/Document.class');
-require_once('common/docman/DocumentFactory.class');
-require_once('common/docman/DocumentGroupFactory.class');
-
-$p = new Parsedata ("$sys_engine_path");
-// print_debug(print_r($p->get_parser_list (),true));
-
-$timestarttrait = microtime_float();
-// documents list
-$sql = "SELECT docid, group_id, filename, title, createdate, filename, description, filetype, data FROM doc_data \n";
-$resarr = array();
-$result=db_query($sql);
-if ($result)
-{
- while ($arr = db_fetch_array($result))
- {
- $resarr[] = $arr;
- }
-}
-
-$compt = 0;
-$rapp = "";
-foreach ($resarr as $item)
-{
- $compt++;
- $timestart = microtime_float();
- $data1 = base64_decode($item["data"]);
- $lenin = strlen($data1);
- $res = $p->get_parse_data ($data1, $item["title"], $item["description"], $item["filetype"]);
- $len = strlen($res);
- $sql = "UPDATE doc_data SET data_words = '$res' WHERE docid = $item[docid] ";
- db_query($sql);
- $timeend = microtime_float();
- $timetrait = $timeend - $timestart;
- print_debug ("analyze $item[filename] type=$item[filetype] octets in=$lenin octets out=$len time=$timetrait sec");
-}
-$timeendtrait = microtime_float();
-$timetot = $timeendtrait - $timestarttrait;
-print_debug ("End analyze : $compt files, $timetot secs.");
-
-
-function print_debug ($text)
-{
- echo "$text\n";
-}
-
-function microtime_float()
-{
- list($usec, $sec) = explode(" ", microtime());
- return ((float)$usec + (float)$sec);
-}
-?>
Copied: trunk/gforge/common/docman/engine/majwords.php (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/engine/majwords.php)
Deleted: trunk/gforge/common/docman/engine/majwords.sh
===================================================================
--- branches/Branch_4_6dev/gforge/common/docman/engine/majwords.sh 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/common/docman/engine/majwords.sh 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,2 +0,0 @@
-#!/bin/sh
-./majwords.php -d include_path=/etc/gforge:/usr/share/gforge:/usr/share/gforge/www/include
Copied: trunk/gforge/common/docman/engine/majwords.sh (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/engine/majwords.sh)
Deleted: trunk/gforge/common/docman/engine/parser_list.txt
===================================================================
--- branches/Branch_4_6dev/gforge/common/docman/engine/parser_list.txt 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/common/docman/engine/parser_list.txt 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,8 +0,0 @@
-# parser_list.txt
-# Liste des documents connus avec le parseur associé
-# Cette liste est utilisée pour fabriquer les mots clé pour la recherche dans le contenu des documents
-# Le format texte est traité directement par un parseur approprié (engine/parser_text.py).
-# Les autres formats doivent être convertis au format texte avant d'être envoyées au parseur de base.
-text/plain parser_text.php
-application/pdf parser_pdf.php
-application/vnd.sun.xml.writer parser_oo.php
Copied: trunk/gforge/common/docman/engine/parser_list.txt (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/engine/parser_list.txt)
Deleted: trunk/gforge/common/docman/engine/parser_oo.php
===================================================================
--- branches/Branch_4_6dev/gforge/common/docman/engine/parser_oo.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/common/docman/engine/parser_oo.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,33 +0,0 @@
-#! /usr/bin/php4 -f
-<?php
-/**
- * GForge Doc Search Utilities
- *
- *
- * Fabio Bertagnin November 2005
- *
- */
-
-require_once("parser_text.inc.php");
-
-
-if ($argc != 2)
-{
- echo "Usage : parser_oo.php <filename>\n";
- exit (1);
-}
-
-$fichin = $argv[1];
-if (!is_file($fichin)) exit (1);
-$fichout = "/tmp/gfo".rand(10000, 99999).".tmp";
-$cmd = "/usr/bin/perl /usr/bin/ooo2txt.pl $fichin > $fichout";
-$res = shell_exec($cmd);
-
-
-$rep = parser_text($fichout);
-// envoi du résultat sur stdout
-echo "$rep";
-// efface les fichiers témporaires
-unlink ($fichout);
-
-?>
\ No newline at end of file
Copied: trunk/gforge/common/docman/engine/parser_oo.php (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/engine/parser_oo.php)
Deleted: trunk/gforge/common/docman/engine/parser_pdf.php.php
===================================================================
--- branches/Branch_4_6dev/gforge/common/docman/engine/parser_pdf.php.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/common/docman/engine/parser_pdf.php.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,33 +0,0 @@
-#! /usr/bin/php4 -f
-<?php
-/**
- * GForge Doc Search Utilities
- *
- *
- * Fabio Bertagnin November 2005
- *
- */
-
-require_once("parser_text.inc.php");
-
-
-if ($argc != 2)
-{
- echo "Usage : parser_pdf.php <filename>\n";
- exit (1);
-}
-
-$fichin = $argv[1];
-if (!is_file($fichin)) exit (1);
-$fichout = "/tmp/gfo".rand(10000, 99999).".tmp";
-$cmd = "/usr/bin/pdftotext $fichin - > $fichout";
-$res = shell_exec($cmd);
-
-
-$rep = parser_text($fichout);
-// envoi du résultat sur stdout
-echo "$rep";
-// efface les fichiers témporaires
-unlink ($fichout);
-
-?>
\ No newline at end of file
Copied: trunk/gforge/common/docman/engine/parser_pdf.php.php (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/engine/parser_pdf.php.php)
Deleted: trunk/gforge/common/docman/engine/parser_text.inc.php
===================================================================
--- branches/Branch_4_6dev/gforge/common/docman/engine/parser_text.inc.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/common/docman/engine/parser_text.inc.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,64 +0,0 @@
-<?php
-/**
- * GForge Doc Search Utilities
- *
- *
- * Fabio Bertagnin November 2005
- *
- */
-
-function parser_text($fichin)
-{
- $tstart = microtime_float();
- if (!is_file($fichin)) return "";
- $fp = fopen ($fichin, "r");
- $buff = fread ($fp, filesize($fichin));
- // tout en minuscules
- $buff = mb_strtolower($buff);
- // élimination d'éventuels caractères unicode encore présents
- $buff = mb_convert_encoding ($buff, "ascii");
- // élimination caractères avec accents
- // et caractères spéciaux
- $buff = suppression_diacritics($buff);
- // tous les mots dans un tableau
- $a = explode(" ", $buff);
- //sort($a);
- // élimination des doublons
- $a = array_unique($a);
- // envoi du résultat sur stdout
- $rep = print_list($a);
- return $rep;
-}
-
-function print_list ($list)
-{
- $rep = "";
- foreach ($list as $el)
- {
- if (strlen($el) > 1) $rep .= "$el ";
- }
- return $rep;
-}
-
-function suppression_diacritics($text)
-{
- $b = $text;
- $b = strtr($b, "éêèëàâäîïùûüôöç", "eeeeaaaiiuuuooc");
- $b = strtr($b, "\t\r\n?.*'\":;,#![]()", " ");
- return $b;
-}
-
-function microtime_float()
-{
- list($usec, $sec) = explode(" ", microtime());
- return ((float)$usec + (float)$sec);
-}
-
-
-function print_debug ($text)
-{
- echo "$text <br />\n";
- ob_flush();
-}
-
-?>
\ No newline at end of file
Copied: trunk/gforge/common/docman/engine/parser_text.inc.php (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/engine/parser_text.inc.php)
Deleted: trunk/gforge/common/docman/engine/parser_text.php
===================================================================
--- branches/Branch_4_6dev/gforge/common/docman/engine/parser_text.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/common/docman/engine/parser_text.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,27 +0,0 @@
-#! /usr/bin/php4 -f
-<?php
-/**
- * GForge Doc Search Utilities
- *
- *
- * Fabio Bertagnin November 2005
- *
- */
-
-require_once("parser_text.inc.php");
-
-if ($argc != 2)
-{
- echo "Usage : parser_oo.php <filename>\n";
- exit (1);
-}
-$fichin = $argv[1];
-if (!is_file($fichin)) exit (1);
-
-$rep = parser_text($fichin);
-// envoi du résultat sur stdout
-echo "$rep";
-// efface le fichier source
-unlink ($fichin);
-
-?>
\ No newline at end of file
Copied: trunk/gforge/common/docman/engine/parser_text.php (from rev 5913, branches/Branch_4_6dev/gforge/common/docman/engine/parser_text.php)
Modified: trunk/gforge/common/forum/Forum.class
===================================================================
--- trunk/gforge/common/forum/Forum.class 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/common/forum/Forum.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -268,7 +268,7 @@
* @return int The unix time.
*/
function getSavedDate() {
- if ($this->save_date) {
+ if (@$this->save_date) {
return $this->save_date;
} else {
if (session_loggedin()) {
Modified: trunk/gforge/common/include/GForge.class
===================================================================
--- trunk/gforge/common/include/GForge.class 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/common/include/GForge.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -21,6 +21,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+require_once('common/include/Error.class');
class GForge extends Error {
/**
Modified: trunk/gforge/common/include/Group.class
===================================================================
--- trunk/gforge/common/include/Group.class 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/common/include/Group.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -2082,6 +2082,13 @@
$this->sendApprovalEmail();
$this->addHistory('approved', 'x');
+
+ //plugin webcal
+ //change assistant for webcal
+
+ $params[0] = $idadmin_group ;
+ $params[1] = $this->getID();
+ plugin_hook('change_cal_permission_default',$params);
return true;
}
Modified: trunk/gforge/common/include/Role.class
===================================================================
--- trunk/gforge/common/include/Role.class 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/common/include/Role.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -42,14 +42,15 @@
'trackeradmin'=>array('0','2'),
'tracker'=>array('-1','0','1','2','3'),
'pmadmin'=>array('0','2'),
- 'pm'=>array('-1','0','1','2','3'));
+ 'pm'=>array('-1','0','1','2','3'),
+ 'webcal'=>array('0','1','2'));
var $defaults=array(
- 'Admin'=>array( 'projectadmin'=>'A', 'frs'=>'1', 'scm'=>'1', 'docman'=>'1', 'forumadmin'=>'2', 'forum'=>'2', 'trackeradmin'=>'2', 'tracker'=>'2', 'pmadmin'=>'2', 'pm'=>'2' ),
- 'Senior Developer'=>array( 'projectadmin'=>'0', 'frs'=>'1', 'scm'=>'1', 'docman'=>'1', 'forumadmin'=>'2', 'forum'=>'2', 'trackeradmin'=>'2', 'tracker'=>'2', 'pmadmin'=>'2', 'pm'=>'2' ),
- 'Junior Developer'=>array( 'projectadmin'=>'0', 'frs'=>'0', 'scm'=>'1', 'docman'=>'0', 'forumadmin'=>'0', 'forum'=>'1', 'trackeradmin'=>'0', 'tracker'=>'1', 'pmadmin'=>'0', 'pm'=>'1' ),
- 'Doc Writer'=>array( 'projectadmin'=>'0', 'frs'=>'0', 'scm'=>'0', 'docman'=>'1', 'forumadmin'=>'0', 'forum'=>'1', 'trackeradmin'=>'0', 'tracker'=>'0', 'pmadmin'=>'0', 'pm'=>'0' ),
- 'Support Tech'=>array( 'projectadmin'=>'0', 'frs'=>'0', 'scm'=>'0', 'docman'=>'1', 'forumadmin'=>'0', 'forum'=>'1', 'trackeradmin'=>'0', 'tracker'=>'2', 'pmadmin'=>'0', 'pm'=>'0' )
+ 'Admin'=>array( 'projectadmin'=>'A', 'frs'=>'1', 'scm'=>'1', 'docman'=>'1', 'forumadmin'=>'2', 'forum'=>'2', 'trackeradmin'=>'2', 'tracker'=>'2', 'pmadmin'=>'2', 'pm'=>'2', 'webcal'=>'1' ),
+ 'Senior Developer'=>array( 'projectadmin'=>'0', 'frs'=>'1', 'scm'=>'1', 'docman'=>'1', 'forumadmin'=>'2', 'forum'=>'2', 'trackeradmin'=>'2', 'tracker'=>'2', 'pmadmin'=>'2', 'pm'=>'2', 'webcal'=>'2' ),
+ 'Junior Developer'=>array( 'projectadmin'=>'0', 'frs'=>'0', 'scm'=>'1', 'docman'=>'0', 'forumadmin'=>'0', 'forum'=>'1', 'trackeradmin'=>'0', 'tracker'=>'1', 'pmadmin'=>'0', 'pm'=>'1', 'webcal'=>'2' ),
+ 'Doc Writer'=>array( 'projectadmin'=>'0', 'frs'=>'0', 'scm'=>'0', 'docman'=>'1', 'forumadmin'=>'0', 'forum'=>'1', 'trackeradmin'=>'0', 'tracker'=>'0', 'pmadmin'=>'0', 'pm'=>'0' , 'webcal'=>'2'),
+ 'Support Tech'=>array( 'projectadmin'=>'0', 'frs'=>'0', 'scm'=>'0', 'docman'=>'1', 'forumadmin'=>'0', 'forum'=>'1', 'trackeradmin'=>'0', 'tracker'=>'2', 'pmadmin'=>'0', 'pm'=>'0' , 'webcal'=>'2')
);
/**
Modified: trunk/gforge/common/include/User.class
===================================================================
--- trunk/gforge/common/include/User.class 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/common/include/User.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -586,6 +586,10 @@
}
}
db_commit();
+
+ //plugin webcalendar, create cal_user
+ plugin_hook('add_cal_user',$this->getID());
+
return true;
}
}
Modified: trunk/gforge/common/reporting/ReportSetup.class
===================================================================
--- trunk/gforge/common/reporting/ReportSetup.class 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/common/reporting/ReportSetup.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -440,6 +440,7 @@
$this->setError('backfill_users_added_daily:: Could Not Get Start Date');
return false;
}
+ $i = 0;
while (true) {
$day=($today-($i*REPORT_DAY_SPAN));
if (!$this->users_added_daily($day)) {
@@ -483,6 +484,7 @@
$this->setError('backfill_groups_added_daily:: Could Not Get Start Date');
return false;
}
+ $i = 0;
while (true) {
$day=($today-($i*REPORT_DAY_SPAN));
if (!$this->groups_added_daily($day)) {
@@ -678,6 +680,7 @@
$this->setError('backfill_users_cum_daily:: Could Not Get Start Date');
return false;
}
+ $i = 0;
while (true) {
$day=$today-($i*REPORT_DAY_SPAN);
if (!$this->users_cum_daily($day)) {
@@ -721,6 +724,7 @@
$this->setError('backfill_groups_cum_daily:: Could Not Get Start Date');
return false;
}
+ $i = 0;
while (true) {
$day=$today-($i*REPORT_DAY_SPAN);
if (!$this->groups_cum_daily($day)) {
@@ -972,6 +976,7 @@
$this->setError('backfill_user_act_daily:: Could Not Get Start Date');
return false;
}
+ $i = 0;
while (true) {
$day=$today-($i*REPORT_DAY_SPAN);
if (!$this->user_act_daily($day)) {
@@ -1185,6 +1190,7 @@
$this->setError('backfill_group_act_daily:: Could Not Get Start Date');
return false;
}
+ $i = 0;
while (true) {
$day=$today-($i*REPORT_DAY_SPAN);
if (!$this->group_act_daily($day)) {
Copied: trunk/gforge/cronjobs/ftp_create_group_access.php (from rev 5913, branches/Branch_4_6dev/gforge/cronjobs/ftp_create_group_access.php)
Copied: trunk/gforge/cronjobs/gforge-db-backup.sh (from rev 5913, branches/Branch_4_6dev/gforge/cronjobs/gforge-db-backup.sh)
Copied: trunk/gforge/db/20051103_transiciel_motscle_document.sql (from rev 5913, branches/Branch_4_6dev/gforge/db/20051103_transiciel_motscle_document.sql)
Modified: trunk/gforge/deb-specific/db-upgrade.pl
===================================================================
--- trunk/gforge/deb-specific/db-upgrade.pl 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/deb-specific/db-upgrade.pl 2007-03-06 01:03:16 UTC (rev 5918)
@@ -2829,7 +2829,10 @@
$dbh->commit () ;
}
-
+
+ &update_with_sql("20051103_transiciel_motscle_document","4.6-1");
+
+
########################### INSERT HERE #################################
&debug ("It seems your database $action went well and smoothly. That's cool.") ;
Modified: trunk/gforge/debian/changelog
===================================================================
--- trunk/gforge/debian/changelog 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/debian/changelog 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,4 +1,4 @@
-gforge (4.5.14-25+955) unstable; urgency=low
+gforge (4.5.14-25+963) unstable; urgency=low
* Merged Branch_4_5 into trunk after svn conversion
essentially debian and deb-specific dir, setup and install-apache.sh too
Modified: trunk/gforge/debian/control
===================================================================
--- trunk/gforge/debian/control 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/debian/control 2007-03-06 01:03:16 UTC (rev 5918)
@@ -187,7 +187,7 @@
Package: gforge-ftp-proftpd
Architecture: all
-Depends: gforge-common, gforge-shell, proftpd, perl, debianutils (>= 1.7), debconf (>= 1.0.32) | debconf-2.0
+Depends: gforge-common, gforge-shell, proftpd, perl, debianutils (>= 1.7), debconf (>= 1.0.32) | debconf-2.0, php4-cli
Provides: gforge-ftp
Conflicts: gforge-ftp
Description: collaborative development tool - FTP management (using ProFTPd)
Modified: trunk/gforge/debian/gforge-db-postgresql.cron.d
===================================================================
--- trunk/gforge/debian/gforge-db-postgresql.cron.d 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/debian/gforge-db-postgresql.cron.d 2007-03-06 01:03:16 UTC (rev 5918)
@@ -2,6 +2,9 @@
# Regular cron jobs for the gforge-db-postgresql package
#
+# Daily reporting process
+25 7 * * * gforge [ -x /usr/lib/gforge/bin/reporting_cron.php ] && /usr/lib/gforge/bin/reporting_cron.php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
+
# Recalculate user popularity metric
25 1 * * * gforge [ -x /usr/lib/gforge/bin/calculate_user_metric.php ] && /usr/lib/gforge/bin/calculate_user_metric.php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
@@ -33,7 +36,7 @@
45 0 * * * gforge [ -x /usr/lib/gforge/bin/db_stats_agg.php ] && /usr/lib/gforge/bin/db_stats_agg.php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
# Hourly sending of mass e-mailings
-48 * * * * gforge [ -x /usr/lib/gforge/bin/massmail.php ] && /usr/lib/gforge/bin/massmail.php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
+48 * * * * root [ -x /usr/lib/gforge/bin/massmail.php ] && /usr/lib/gforge/bin/massmail.php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
# Weekly db vacuum
50 2 * * Mon gforge [ -x /usr/lib/gforge/bin/vacuum.php ] && /usr/lib/gforge/bin/vacuum.php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
@@ -43,3 +46,7 @@
# Daily mail for not approved news
30 17 * * * root [ -x /usr/lib/gforge/bin/get_news_notapproved.pl ] && /usr/lib/gforge/bin/get_news_notapproved.pl -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
+
+# Daily incremental backup to /backup
+# we have to discuss this
+#15 23 * * * root [ -x /usr/lib/gforge/bin/gforge-db-backup.sh ] && /usr/lib/gforge/bin/gforge-db-backup.sh > /dev/null 2>&1
Modified: trunk/gforge/debian/gforge-ftp-proftpd.cron.d
===================================================================
--- trunk/gforge/debian/gforge-ftp-proftpd.cron.d 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/debian/gforge-ftp-proftpd.cron.d 2007-03-06 01:03:16 UTC (rev 5918)
@@ -4,3 +4,7 @@
# FTP update
0 * * * * root [ -x /usr/lib/gforge/bin/install-ftp.sh ] && /usr/lib/gforge/bin/install-ftp.sh update > /dev/null 2>&1
+
+# create and mount project directory in user's home directory
+# added by fabio bertagnin nov 2005
+0 * * * * root [ -x /usr/lib/gforge/bin/ftp_create_group_access.php ] && /usr/bin/php4 -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include /usr/lib/gforge/bin/ftp_create_group_access.php > /dev/null 2>&1
\ No newline at end of file
Modified: trunk/gforge/debian/gforge-plugins.dirs
===================================================================
--- trunk/gforge/debian/gforge-plugins.dirs 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/debian/gforge-plugins.dirs 2007-03-06 01:03:16 UTC (rev 5918)
@@ -8,6 +8,7 @@
usr/share/gforge/www/include
usr/sbin
var/lib/gforge/www/plugins
+var/lib/gforge/www/plugins/webcalendar/www/includes
var/lib/gforge/etc
var/lib/gforge/etc/templates
bin
Modified: trunk/gforge/debian/rules
===================================================================
--- trunk/gforge/debian/rules 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/debian/rules 2007-03-06 01:03:16 UTC (rev 5918)
@@ -72,6 +72,7 @@
chown www-data:www-data $(CURDIR)/debian/gforge-plugins/var/lib/gforge/www/plugins
chmod 755 $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/sbin/*
chmod 755 $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/bin/*
+ rm -f $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/COPYING
# mediawiki plugin
cp -r $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/mediawiki/usr $(CURDIR)/debian/gforge-plugins/
rm -rf $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/mediawiki/usr
@@ -86,6 +87,19 @@
# scmsvn plugin
install -m 755 deb-specific/install-svn.sh $(CURDIR)/debian/gforge-plugins/usr/lib/gforge/bin/
cp -r deb-specific/scmsvn/cronjobs/* $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/scmsvn/cronjobs
+ # cvstracker plugin
+ chmod +x $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/svntracker/postcommit.example
+ # fckeditor plugin
+ chmod +x $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/fckeditor/www/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl
+ chmod +x $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/fckeditor/www/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/*.cgi
+ # webcalendar plugin
+ mv $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/webcalendar/www/includes/settings.php \
+ $(CURDIR)/debian/gforge-plugins/var/lib/gforge/www/plugins/webcalendar/www/includes
+ chown www-data $(CURDIR)/debian/gforge-plugins/var/lib/gforge/www/plugins/webcalendar/www/includes/settings.php
+ chmod 600 $(CURDIR)/debian/gforge-plugins/var/lib/gforge/www/plugins/webcalendar/www/includes/settings.php
+ ln -s /var/lib/gforge/www/plugins/webcalendar/www/includes/settings.php \
+ $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/webcalendar/www/includes/settings.php
+ chmod +x $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/webcalendar/www/tools/*.pl
# gforge-common
install -m 644 etc/httpd.d/[0-9][0-9]* $(CURDIR)/debian/gforge-common/usr/share/gforge/etc/httpd.d/
@@ -122,6 +136,7 @@
find $(CURDIR)/debian/gforge-web-apache/usr/share/gforge/ -name CVS -type d | xargs rm -rf
find $(CURDIR)/debian/gforge-web-apache/usr/share/gforge/ -name .cvsignore | xargs rm -f
find $(CURDIR)/debian/gforge-web-apache -name \*.uu -type f | xargs rm -f
+ rm -f $(CURDIR)/debian/gforge-web-apache/usr/share/gforge/www/themes/gforge/COPYING
find $(CURDIR)/debian/gforge-web-apache/usr/share/gforge/www -type d -exec chmod 0755 {} \;
find $(CURDIR)/debian/gforge-web-apache/usr/share/gforge/www -type f -exec chmod 0644 {} \;
find $(CURDIR)/debian/gforge-web-apache/usr/share/gforge/www -name '*.py' -exec chmod 0755 {} \;
@@ -180,9 +195,15 @@
install -m 644 cronjobs/stats_site.inc $(CURDIR)/debian/gforge-db-postgresql/usr/share/gforge/cronjobs/
install -m 644 cronjobs/stats_projects.inc $(CURDIR)/debian/gforge-db-postgresql/usr/share/gforge/cronjobs/
#
+ install -m 755 cronjobs/reporting_cron.php $(CURDIR)/debian/gforge-db-postgresql/usr/lib/gforge/bin/
+ #
install -m 755 cronjobs/db_stats_agg.php $(CURDIR)/debian/gforge-db-postgresql/usr/lib/gforge/bin/
install -m 755 cronjobs/massmail.php $(CURDIR)/debian/gforge-db-postgresql/usr/lib/gforge/bin/
install -m 755 cronjobs/vacuum.php $(CURDIR)/debian/gforge-db-postgresql/usr/lib/gforge/bin/
+ install -m 755 cronjobs/gforge-db-backup.sh $(CURDIR)/debian/gforge-db-postgresql/usr/lib/gforge/bin/
+ #
+ install -m 755 cronjobs/ftp_create_group_access.php $(CURDIR)/debian/gforge-ftp-proftpd/usr/lib/gforge/bin/
+ #
install -m 755 deb-specific/stats_projects_logparse.pl $(CURDIR)/debian/gforge-db-postgresql/usr/lib/gforge/bin/
install -m 755 deb-specific/get_news_notapproved.pl $(CURDIR)/debian/gforge-db-postgresql/usr/lib/gforge/bin/
install -m 755 deb-specific/install-db.sh $(CURDIR)/debian/gforge-db-postgresql/usr/lib/gforge/bin/
Modified: trunk/gforge/etc/local.d/30homegroupother
===================================================================
--- trunk/gforge/etc/local.d/30homegroupother 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/etc/local.d/30homegroupother 2007-03-06 01:03:16 UTC (rev 5918)
@@ -29,6 +29,7 @@
// you will break the html_image function in include/html.php
//
$sys_urlroot='{sys_urlroot}';
+$sys_urlprefix='';
// Name of the system as a whole (needed by various utils and titles)
$sys_name='{system_name}';
Modified: trunk/gforge/plugins/fckeditor/common/fckeditorPlugin.class
===================================================================
(Binary files differ)
Modified: trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/includes/GFUser.class.php
===================================================================
--- trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/includes/GFUser.class.php 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/includes/GFUser.class.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -356,6 +356,24 @@
function isLoggedIn() {
return $this->is_logged_in;
}
+
+ function setUpTheme() {
+//
+// An optimization in session_getdata lets us pre-fetch this in most cases.....
+//
+ if (!$this->data_array['dirname']) {
+ $res=db_query("SELECT dirname FROM themes WHERE theme_id='".$this->getThemeID()."'");
+ $this->theme=db_result($res,0,'dirname');
+ } else {
+ $this->theme=$this->data_array['dirname'];
+ }
+ if (is_file($GLOBALS['sys_themeroot'].$this->theme.'/Theme.class')) {
+ $GLOBALS['sys_theme']=$this->theme;
+ } else {
+ $this->theme=$GLOBALS['sys_theme'];
+ }
+ return $this->theme;
+ }
}
// Local Variables:
Modified: trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/includes/GForgePre.php
===================================================================
--- trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/includes/GForgePre.php 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/includes/GForgePre.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -41,7 +41,7 @@
*/
//library to determine browser settings
-//require_once('www/include/browser.php');
+require_once('www/include/browser.php');
//base error library for new objects
require_once('common/include/Error.class');
@@ -151,7 +151,7 @@
if (session_loggedin()) {
//set up the user's timezone if they are logged in
$LUSER =& session_get_user();
- //$LUSER->setUpTheme();
+ $LUSER->setUpTheme();
//header('Cache-Control: private');
$GLOBALS['G_USERNAME']=$GLOBALS['G_SESSION']->getUnixName();
}
Modified: trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/skins/GForge.php
===================================================================
--- trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/skins/GForge.php 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/plugins/mediawiki/usr/share/mediawiki1.7/skins/GForge.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -90,33 +90,7 @@
<?php $this->html('headscripts') ?>
<!-- GFORGE Stylesheet BEGIN -->
- <?php
- /* check if a personalized css stylesheet exist, if yes include only
- this stylesheet
- new stylesheets should use the <themename>.css file
- */
- $theme_cssfile=$GLOBALS['sys_themeroot'].$GLOBALS['sys_theme'].'/css/'.$GLOBALS['sys_theme'].'.css';
- if (file_exists($theme_cssfile)){
- echo '
- <link rel="stylesheet" type="text/css" href="/themes/'.$GLOBALS['sys_theme'].'/css/'.$GLOBALS['sys_theme'].'.css"/>
- ';
- } else {
- /* if this is not our case, then include the compatibility stylesheet
- that contains all removed styles from the code and check if a
- custom stylesheet exists.
- Used for compatibility with existing stylesheets
- */
- ?>
- <link rel="stylesheet" type="text/css" href="/themes/css/gforge-compat.css" />
- <?php
- $theme_cssfile=$GLOBALS['sys_themeroot'].$GLOBALS['sys_theme'].'/css/theme.css';
- if (file_exists($theme_cssfile)){
- echo '
- <link rel="stylesheet" type="text/css" href="/themes/'.$GLOBALS['sys_theme'].'/css/theme.css" />
- ';
- }
- }
-?>
+ <?php $GLOBALS['HTML']->headerCSS(); ?>
<!-- GFORGE Stylesheet END -->
</head>
@@ -125,69 +99,7 @@
class="<?php $this->text('nsclass') ?> <?php $this->text('dir') ?>">
<!-- GFORGE BodyHeader BEGIN -->
-<table border="0" width="100%" cellspacing="0" cellpadding="0" id="headertable" >
- <tr>
- <td><a href="/"><?php echo html_image('logo.png',198,52,array('border'=>'0')); ?></a></td>
- <td><?php echo $GLOBALS['HTML']->searchBox(); ?></td>
- <td align="right"><?php
- global $Language;
- if (session_loggedin()) {
- ?>
- <a class="lnkutility" href="/account/logout.php?return_to=<?php echo $_SERVER['REQUEST_URI']; ?>"><?php echo $Language->getText('common','logout'); ?></a><br />
- <a class="lnkutility" href="/account/"><?php echo $Language->getText('common','myaccount'); ?></a>
- <?php
- } else {
- ?>
- <b><a class="lnkutility" href="/account/login.php?return_to=<?php echo $_SERVER['REQUEST_URI']; ?>"><?php echo $Language->getText('common','login'); ?></a></b><br />
- <b><a class="lnkutility" href="/account/register.php"><?php echo $Language->getText('common','newaccount'); ?></a></b>
- <?php
- }
- echo $GLOBALS['HTML']->quickNav();
-
- ?></td>
- <td> </td>
- </tr>
-
-</table>
-<table border="0" width="100%" cellspacing="0" cellpadding="0" >
- <tr>
- <td> </td>
- <td colspan="3">
- <?php echo $GLOBALS['HTML']->outerTabs($params); ?>
- </td>
- <td> </td>
- </tr>
- <tr>
- <td align="left" class="toptab" width="9"><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>tabs/topleft.png" height="9" width="9" alt="" /></td>
- <td class="toptab" width="30"><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>clear.png" width="30" height="1" alt="" /></td>
- <td class="toptab"><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>clear.png" width="1" height="1" alt="" /></td>
- <td class="toptab" width="30"><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>clear.png" width="30" height="1" alt="" /></td>
- <td align="right" class="toptab" width="9"><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>tabs/topright.png" height="9" width="9" alt="" /></td>
- </tr>
- <tr>
- <!-- Outer body row -->
- <td class="toptab"><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>clear.png" width="10" height="1" alt="" /></td>
- <td valign="top" width="99%" class="toptab" colspan="3">
- <!-- Inner Tabs / Shell -->
- <table border="0" width="100%" cellspacing="0" cellpadding="0">
- <?php if (isset($params['group']) && $params['group']) { ?>
- <tr>
- <td> </td>
- <td>
- <?php echo $GLOBALS['HTML']->projectTabs($params['toptab'],$params['group']); ?>
- </td>
- <td> </td>
- </tr>
- <?php } ?>
- <tr>
- <td align="left" class="projecttab" width="9"><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>tabs/topleft-inner.png" height="9" width="9" alt="" /></td>
- <td class="projecttab" ><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>clear.png" width="1" height="1" alt="" /></td>
- <td align="right" class="projecttab" width="9"><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>tabs/topright-inner.png" height="9" width="9" alt="" /></td>
- </tr>
-
- <tr>
- <td class="projecttab" ><img src="<?php echo $GLOBALS['HTML']->imgroot; ?>clear.png" width="10" height="1" alt="" /></td>
- <td valign="top" width="99%" class="projecttab" >
+ <?php $GLOBALS['HTML']->bodyHeader($params); ?>
<!-- GFORGE BodyHeader END -->
<div id="globalWrapper">
Copied: trunk/gforge/plugins/projects_hierarchy (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy)
Deleted: trunk/gforge/plugins/projects_hierarchy/AUTHORS
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/AUTHORS 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/AUTHORS 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,2 +0,0 @@
-Fabien Regnier <fabien.regnier at sogeti.com>
-Julien Jeany <julien.jeany at sogeti.com>
Copied: trunk/gforge/plugins/projects_hierarchy/AUTHORS (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/AUTHORS)
Deleted: trunk/gforge/plugins/projects_hierarchy/COPYING
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/COPYING 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/COPYING 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,341 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program 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.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
Copied: trunk/gforge/plugins/projects_hierarchy/COPYING (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/COPYING)
Deleted: trunk/gforge/plugins/projects_hierarchy/ChangeLog
===================================================================
Copied: trunk/gforge/plugins/projects_hierarchy/ChangeLog (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/ChangeLog)
Copied: trunk/gforge/plugins/projects_hierarchy/bin (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/bin)
Copied: trunk/gforge/plugins/projects_hierarchy/common (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common)
Copied: trunk/gforge/plugins/projects_hierarchy/common/languages (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/languages)
Deleted: trunk/gforge/plugins/projects_hierarchy/common/languages/Base.tab
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/languages/Base.tab 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/common/languages/Base.tab 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,41 +0,0 @@
-#/**
-# *
-# * projects_hierarchy message catalog (English)
-# *
-# * GForge: Breaking Down the Barriers to Open Source Development
-# * Copyright 1999-2001 (c) VA Linux Systems
-# * 2005 (c) Daniel Pérez <danielperez.arg at gmail.com>
-# * http://sourceforge.net
-# * Here you can add your own language customizations
-# *
-# *
-# */
-user_home view_projects_hierarchy View Personal projects_hierarchy
-project_admin projects_hierarchy View the projects_hierarchy Administration
-project_admin link Link Type
-project_admin del Delete
-project_admin allow Authorize
-project_admin wait Waiting
-project_admin share Share
-project_admin navi Navigation
-project_admin add_link Add a link
-project_admin validation_wait Father waiting for validation
-project_admin hierarchy Modify the hierarchy
-project_admin save_son Add son project
-project_admin alert_del Do you really want to delete this link ?
-project_admin father Project's parent
-project_admin alert_allow Do you really want to authorize this project ?
-project_admin display_link Link list
-project_admin share_link Share link
-project_admin navi_link Navigation link
-project_admin com_father Commentary of father :
-project_admin com Commentary :
-project_admin choice_project Select a project :
-project_tree cat By Category
-project_tree tree By hierarchy
-project_tree tree_project Project Tree
-project_home project_father Parent project
-project_home project_son Child project
-project_home hierarchy_title Linked projects
-project_home hierarchy_no No linked project avalaible
-project_home link Links
Copied: trunk/gforge/plugins/projects_hierarchy/common/languages/Base.tab (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/languages/Base.tab)
Deleted: trunk/gforge/plugins/projects_hierarchy/common/languages/French.tab
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/languages/French.tab 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/common/languages/French.tab 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,41 +0,0 @@
-#/**
-# *
-# * projects_hierarchy message catalog (English)
-# *
-# * GForge: Breaking Down the Barriers to Open Source Development
-# * Copyright 1999-2001 (c) VA Linux Systems
-# * 2005 (c) Daniel Pérez <danielperez.arg at gmail.com>
-# * http://sourceforge.net
-# * Here you can add your own language customizations
-# *
-# *
-# */
-user_home view_projects_hierarchy View Personal projects_hierarchy
-project_admin projects_hierarchy View the projects_hierarchy Administration
-project_admin link Type de lien
-project_admin del Supprimer
-project_admin allow Autoriser
-project_admin wait En attente
-project_admin share Partagé
-project_admin navi Navigation
-project_admin add_link Ajouter un lien
-project_admin validation_wait Père en attente de validation
-project_admin hierarchy Modifier la Hiérarchie
-project_admin save_son Ajouter un fils
-project_admin alert_del Etes vous sûr de vouloir supprimer le lien?
-project_admin father Parent du projet
-project_admin alert_allow Etes vous sûr de vouloir autoriser ce projet?
-project_admin display_link Liste des liens
-project_admin share_link Partage de ressources
-project_admin navi_link Lien de navigation
-project_admin com_father Commentaire du père :
-project_admin com Commentaire :
-project_admin choice_project Choix du projet :
-project_tree cat Par catégorie
-project_tree tree Par hiérarchie
-project_tree tree_project Arbre des projets
-project_home project_father Projet père
-project_home project_son Projet fils
-project_home hierarchy_title Les projets liés
-project_home hierarchy_no Pas de projets liés
-project_home link Liens
Copied: trunk/gforge/plugins/projects_hierarchy/common/languages/French.tab (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/languages/French.tab)
Deleted: trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchy-init.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/projects_hierarchy-init.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchy-init.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,33 +0,0 @@
-<?php
-
-/**
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once ('projects_hierarchyPlugin.class') ;
-
-$projects_hierarchyPluginObject = new projects_hierarchyPlugin ;
-
-register_plugin ($projects_hierarchyPluginObject) ;
-
-// Local Variables:
-// mode: php
-// c-file-style: "bsd"
-// End:
-
-?>
Copied: trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchy-init.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/projects_hierarchy-init.php)
Deleted: trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,391 +0,0 @@
-<?php
-
-/**
- * projects_hierarchyPlugin Class
- *
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-class projects_hierarchyPlugin extends Plugin {
- function projects_hierarchyPlugin () {
- $this->Plugin() ;
- $this->name = "projects_hierarchy" ;
- $this->text = "projects_hierarchy!" ; // To show in the tabs, use...
- $this->hooks[] = "user_personal_links";//to make a link to the user´s personal part of the plugin
- $this->hooks[] = "usermenu" ;
- $this->hooks[] = "groupmenu" ; // To put into the project tabs
- $this->hooks[] = "groupisactivecheckbox" ; // The "use ..." checkbox in editgroupinfo
- $this->hooks[] = "groupisactivecheckboxpost" ; //
- $this->hooks[] = "userisactivecheckbox" ; // The "use ..." checkbox in user account
- $this->hooks[] = "userisactivecheckboxpost" ; //
- $this->hooks[] = "project_admin_plugins"; // to show up in the admin page fro group
- $this->hooks[] = "admin_project_link"; // to add son to a project
- $this->hooks[] = "project_home_link"; // to see father and sons in project home
- $this->hooks[] = "tree"; // to see the tree of projects
- $this->hooks[] = "delete_link"; // to delete link
- }
-
- function CallHook ($hookname, $params) {
- global $use_projects_hierarchyplugin,$G_SESSION,$HTML,$Language;
- $group_id=$params['group'];
- if ($hookname == "usermenu") {
- $text = $this->text; // this is what shows in the tab
- if ($G_SESSION->usesPlugin("projects_hierarchy")) {
- $param = '?type=user&id=' . $G_SESSION->getId() . "&pluginname=" . $this->name; // we indicate the part we´re calling is the user one
- echo ' | ' . $HTML->PrintSubMenu (array ($text),
- array ('/plugins/projects_hierarchy/index.php' . $param ));
- }
- } elseif ($hookname == "groupmenu") {
- $project = &group_get_object($group_id);
- if (!$project || !is_object($project)) {
- return;
- }
- if ($project->isError()) {
- return;
- }
- if (!$project->isProject()) {
- return;
- }
- if ( $project->usesPlugin ( $this->name ) ) {
- $params['TITLES'][]=$this->text;
- $params['DIRS'][]='/plugins/projects_hierarchy/index.php?type=group&id=' . $group_id . "&pluginname=" . $this->name; // we indicate the part we´re calling is the project one
- } else {
- //$params['TITLES'][]=$this->text." is [Off]";
- }
- (($params['toptab'] == $this->name) ? $params['selected']=(count($params['TITLES'])-1) : '' );
- } elseif ($hookname == "groupisactivecheckbox") {
- //Check if the group is active
- } elseif ($hookname == "groupisactivecheckboxpost") {
- // this code actually activates/deactivates the plugin after the form was submitted in the project edit public info page
- $group = &group_get_object($group_id);
- $use_projects_hierarchyplugin = getStringFromRequest('use_projects_hierarchyplugin');
- if ( $use_projects_hierarchyplugin == 1 ) {
- $group->setPluginUse ( $this->name );
- } else {
- $group->setPluginUse ( $this->name, false );
- }
- } elseif ($hookname == "userisactivecheckbox") {
- //check if user is active
- // this code creates the checkbox in the user account manteinance page to activate/deactivate the plugin
- } elseif ($hookname == "userisactivecheckboxpost") {
- // this code actually activates/deactivates the plugin after the form was submitted in the user account manteinance page
- $user = $params['user'];
- $use_projects_hierarchyplugin = getStringFromRequest('use_projects_hierarchyplugin');
- if ( $use_projects_hierarchyplugin == 1 ) {
- $user->setPluginUse ( $this->name );
- } else {
- $user->setPluginUse ( $this->name, false );
- }
- echo "<tr>";
- echo "<td>";
- echo ' <input type="CHECKBOX" name="use_projects_hierarchyplugin" value="1" ';
- // CHECKED OR UNCHECKED?
- if ( $user->usesPlugin ( $this->name ) ) {
- echo "CHECKED";
- }
- echo "> Use ".$this->text." Plugin";
- echo "</td>";
- echo "</tr>";
- } elseif ($hookname == "user_personal_links") {
- global $Language;
- // this displays the link in the user´s profile page to it´s personal projects_hierarchy (if you want other sto access it, youll have to change the permissions in the index.php
- $userid = $params['user_id'];
- $user = user_get_object($userid);
- $text = $params['text'];
- //check if the user has the plugin activated
- if ($user->usesPlugin($this->name)) {
- echo ' <p>
- <a href="/plugins/projects_hierarchy/index.php?id=' . $userid . '&type=user&pluginname=' . $this->name . '">' . $Language->getText('user_home','view_projects_hierarchy') .'</a></p>';
- }
- } elseif ($hookname == "project_admin_plugins") {
- global $Language;
- // this displays the link in the project admin options page to it´s projects_hierarchy administration
- $group_id = $params['group_id'];
- $group = &group_get_object($group_id);
- if ( $group->usesPlugin ( $this->name ) ) {
- echo '<a href="/plugins/projects_hierarchy/index.php?id=' . $group->getID() . '&type=admin&pluginname=' . $this->name . '">' . $Language->getText('project_admin','projects_hierarchy') . '</a><br />';
- }
- }
- elseif ($hookname == "tree") {
-
- header('Location: ../plugins/projects_hierarchy/softwaremap.php');
-
- }
- elseif ($hookname == "project_home_link") {
- // ############################## Display link
- $group_id = $params;
- echo $HTML->boxTop($Language->getText('project_home','hierarchy_title'));
- $cpt_project = 0 ;
- // father request
- $query = "SELECT DISTINCT group_id,unix_group_name,group_name FROM groups,plugin_projects_hierarchy WHERE plugin_projects_hierarchy.link_type ='shar' AND plugin_projects_hierarchy.activated='t' AND groups.group_id=plugin_projects_hierarchy.project_id AND plugin_projects_hierarchy.sub_project_id=".$group_id;
- $res = db_query($query);
- echo db_error();
- while ($row = db_fetch_array($res)) {
- echo "<img src=\"themes/gforge/images/ic/forum20g.png\" border=\"0\"> ".$Language->getText('project_home','project_father').": <a href=\"/projects/".$row['unix_group_name']."\">" . $row['group_name'] . "</a><br/>";
- $cpt_project ++;
- }
-
- if($cpt_project != 0){
- print '<hr size="1" />';
- }
- $cpt_temp = $cpt_project ;
- // sons request
- $query = "SELECT DISTINCT group_id,unix_group_name,group_name,com FROM groups,plugin_projects_hierarchy WHERE plugin_projects_hierarchy.link_type ='shar' AND plugin_projects_hierarchy.activated='t' AND groups.group_id=plugin_projects_hierarchy.sub_project_id AND plugin_projects_hierarchy.project_id=".$group_id;
- $res = db_query($query);
- echo db_error();
- while ($row = db_fetch_array($res)) {
- echo "<img src=\"themes/gforge/images/ic/forum20g.png\" border=\"0\"> ".$Language->getText('project_home','project_son')." : <a href=\"/projects/".$row['unix_group_name']."\">" . $row['group_name'] . "</a> : ".$row['com']."<br/>";
- $cpt_project ++;
- }
-
-
- if($cpt_project != $cpt_temp){
- print '<hr size="1" />';
- }
- $cpt_temp = $cpt_project ;
-
- // links if project is father
- $query = "SELECT DISTINCT group_id,unix_group_name,group_name,com FROM groups,plugin_projects_hierarchy WHERE plugin_projects_hierarchy.link_type ='navi' AND plugin_projects_hierarchy.activated='t' AND groups.group_id=plugin_projects_hierarchy.sub_project_id AND plugin_projects_hierarchy.project_id=".$group_id;
- $res = db_query($query);
- echo db_error();
- while ($row = db_fetch_array($res)) {
- echo "<img src=\"themes/gforge/images/ic/forum20g.png\" border=\"0\"> ".$Language->getText('project_home','link')." : <a href=\"/projects/".$row['unix_group_name']."\">" . $row['group_name'] . "</a> : ".$row['com']."<br/>";
- $cpt_project ++;
- }
- // links if project is son
- $query = "SELECT DISTINCT group_id,unix_group_name,group_name,com FROM groups,plugin_projects_hierarchy WHERE plugin_projects_hierarchy.link_type ='navi' AND plugin_projects_hierarchy.activated='t' AND groups.group_id=plugin_projects_hierarchy.project_id AND plugin_projects_hierarchy.sub_project_id=".$group_id;
- $res = db_query($query);
- echo db_error();
- while ($row = db_fetch_array($res)) {
- echo "<img src=\"themes/gforge/images/ic/forum20g.png\" border=\"0\"> ".$Language->getText('project_home','link')." : <a href=\"/projects/".$row['unix_group_name']."\">" . $row['group_name'] . "</a><br/>";
- $cpt_project ++;
- }
-
-
-
- if($cpt_project != $cpt_temp){
- print '<hr size="1" />';
- }
-
- if($cpt_project == 0){
- echo $Language->getText('project_home','hierarchy_no');
- print '<hr size="1" />';
- }
-
- echo $HTML->boxBottom();
-
- }
- elseif ($hookname == "admin_project_link") {
- //modif pour hierarchie par Fabien le 10/10/06
- //add files add_son.php, del_father.php,del_son.php,wait_son.php and hierarchy_utils.php
-
- include('../../plugins/projects_hierarchy/hierarchy_utils.php');
- $group_id = $params ;
- echo $HTML->boxMiddle($Language->getText('project_admin','hierarchy'));
- echo '<form action="../../plugins/projects_hierarchy/add_son.php?group_id='.$group_id.'" method="POST" name="formson">';
- //include('hierarchy_utils.php');
- //select box of sons
- echo '<table><tr>';
- echo '<td>'.$Language->getText('project_admin','choice_project').'</td><td>'.son_box($group_id,'sub_project_id','0').'</td><td> </td>' ;
- echo '</tr><tr>' ;
- echo '<td>'.$Language->getText('project_admin','com').'</td><td> <input type="text" size="50" value="" name="com"></td>' ;
- //echo type_son_box();
- echo '<td><input type="submit" name="son" value="'.$Language->getText('project_admin','save_son').'"></td></tr></table></form>';
- echo '<br/>';
- echo '<form action="../../plugins/projects_hierarchy/add_link.php?group_id='.$group_id.'" method="POST" name="formlink">';
- //include('hierarchy_utils.php');
- //select box of sons
- echo '<table><tr>';
- echo '<td>'.$Language->getText('project_admin','choice_project').'</td><td>'.link_box($group_id,'sub_project_id','0').'</td><td> </td>';
- echo '</tr><tr>' ;
- echo '<td>'.$Language->getText('project_admin','com').'</td><td><input type="text" size="50" value="" name="com"></td>' ;
- echo '<td><input type="submit" name="son" value="'.$Language->getText('project_admin','add_link').'"></td></tr></table></form>';
- echo '<br/>';
- //select all the sons of the current project
- $sql_son = "SELECT group_id,group_name,unix_group_name,sub_project_id, activated,link_type,com FROM groups,plugin_projects_hierarchy WHERE " .
- " ( groups.group_id = plugin_projects_hierarchy.sub_project_id " .
- "AND plugin_projects_hierarchy.project_id = ".$group_id.")" ;
-
-
- $res_son=db_query($sql_son)or die(db_error());
- if (!$res_son || db_numrows($res_son) < 1) {
-
- }
- else {
- //display of sons
- $cpt_son = 1 ;
- echo $Language->getText('project_admin','display_link');
- echo '<table>';
- $i = 0;
- while($row_son = db_fetch_array($res_son)){
- $i++;
- echo '<tr>';
- echo '<td>';
- //link to the project
- echo "<a href=\"../../projects/".$row_son['unix_group_name']."\">".$row_son['group_name']."</a>";
- echo '</td>';
-
- echo '<td>';
- if($row_son[link_type] == 'navi'){
- echo $Language->getText('project_admin','navi_link');
- }
- else {
- echo $Language->getText('project_admin','share_link');
- }
- echo '</td>';
-
- echo '<td>';
- if($row_son[activated] == 'f'){
- echo $Language->getText('project_admin','wait');
- }
- else {
- print "<b>".$Language->getText('project_admin','allow')."</b>";
- }
- echo '</td>';
- echo "<td><a href='#' onclick='if(confirm(\"".$Language->getText('project_admin','alert_del')."\")){window.location.href=\"../../plugins/projects_hierarchy/del_son.php?group_id=".$group_id."&sub_group_id=".$row_son['sub_project_id']."\"}'}>".$Language->getText('project_admin','del')."</a></td>";
- echo "<tr><td colspan='4'>".$Language->getText('project_admin','com')." <i>".$row_son[com]."</i>";
- echo '</td></tr>';
- }
-
- }
- //select navigation link by father
- $sql_son = "SELECT group_id,group_name,unix_group_name,project_id, activated,link_type,com FROM groups,plugin_projects_hierarchy WHERE " .
- " ( groups.group_id = plugin_projects_hierarchy.project_id " .
- "AND plugin_projects_hierarchy.sub_project_id = ".$group_id." AND plugin_projects_hierarchy.link_type = 'navi') ";
-
- $res_son=db_query($sql_son)or die(db_error());
- if (!$res_son || db_numrows($res_son) < 1) {
- if($cpt_son == 1 ){
- echo '</table>';
- }
- }
- else {
- //display of sons
- if($cpt_son != 1 ){
- echo $Language->getText('project_admin','display_link');
- echo '<table>';
- }
-
- $i = 0;
- while($row_son = db_fetch_array($res_son)){
- $i++;
- echo '<tr>';
- echo '<td>';
- //link to the project
- echo "<a href=\"../../projects/".$row_son['unix_group_name']."\">".$row_son['group_name']."</a>";
- echo '</td>';
-
- echo '<td>';
- if($row_son[link_type] == 'navi'){
- echo $Language->getText('project_admin','navi_link');
- }
- else {
- echo $Language->getText('project_admin','share_link');
- }
- echo '</td>';
-
- echo '<td>';
- if($row_son[activated] == 'f'){
- //echo $Language->getText('project_admin','wait');
- echo "<td><a href='#' onclick='if(confirm(\"".$Language->getText('project_admin','alert_allow')."\")){window.location.href=\"../../plugins/projects_hierarchy/wait_son.php?sub_group_id=".$group_id."&group_id=".$row_son['project_id']."\"}'}>".$Language->getText('project_admin','allow')."</a></td>";
- }
- else {
- print "<b>".$Language->getText('project_admin','allow')."</b>";
- }
- echo '</td>';
- echo "<td><a href='#' onclick='if(confirm(\"".$Language->getText('project_admin','alert_del')."\")){window.location.href=\"../../plugins/projects_hierarchy/del_father.php?group_id=".$row_son['project_id']."&sub_group_id=".$group_id."\"}'}>".$Language->getText('project_admin','del')."</a></td>";
- echo "<tr><td colspan='4'>".$Language->getText('project_admin','com_father')." <i>".$row_son['com']."</i></td>";
- echo '</tr>';
- }
- echo '</table>';
- }
-
- //research allowing father
- $sql_father = "SELECT group_id,group_name,unix_group_name,project_id,com FROM groups,plugin_projects_hierarchy WHERE " .
- " groups.group_id = plugin_projects_hierarchy.project_id " .
- "AND plugin_projects_hierarchy.sub_project_id = ".$group_id."".
- " AND plugin_projects_hierarchy.activated = true AND plugin_projects_hierarchy.link_type = 'shar'";
- //print $sql_wait;
- $res_father=db_query($sql_father)or die(db_error());
- if (!$res_father || db_numrows($res_father) < 1) {
-
- }
- else {
- //display of the father of the current project
- echo '<table><tr><td colspan=\"2\">';
- echo $Language->getText('project_admin','father');
- echo '</td></tr>';
- while ($row_father = db_fetch_array($res_father)) {
- echo '<tr>';
- echo '<td>';
- echo "<a href=\"../../projects/".$row_father['unix_group_name']."\">".$row_father['group_name']."</a>";
- echo '</td><td>';
- echo "<td><a href='#' onclick='if(confirm(\"".$Language->getText('project_admin','alert_del')."\")){window.location.href=\"../../plugins/projects_hierarchy/del_father.php?sub_group_id=".$group_id."&group_id=".$row_father['group_id']."\"}'}>".$Language->getText('project_admin','del')."</a></td>";
- echo '</td></tr>';
- }
- echo '</table>';
- }
-
-
- //research waiting fathers
- $sql_wait = "SELECT group_id,group_name,unix_group_name,project_id,link_type,com FROM groups,plugin_projects_hierarchy WHERE " .
- " groups.group_id = plugin_projects_hierarchy.project_id " .
- "AND plugin_projects_hierarchy.sub_project_id = ".$group_id."".
- " AND plugin_projects_hierarchy.activated = false AND plugin_projects_hierarchy.link_type = 'shar'";
- //print $sql_wait;
- $res_wait=db_query($sql_wait)or die(db_error());
- if (!$res_wait || db_numrows($res_wait) < 1) {
-
- }
- else {
- //display of waiting fathers
- echo '<table><tr><td colspan=\"2\">';
- echo $Language->getText('project_admin','validation_wait');
- echo '</td></tr>';
- while ($row_wait = db_fetch_array($res_wait)) {
- echo '<tr>';
- echo '<td>';
- echo "<a href=\"../../projects/".$row_wait[unix_group_name]."\">".$row_wait[group_name]."</a>";
- echo '</td>';
- echo'<td>';
- echo "<td><a href='#' onclick='if(confirm(\"".$Language->getText('project_admin','alert_allow')."\")){window.location.href=\"../../plugins/projects_hierarchy/wait_son.php?sub_group_id=".$group_id."&group_id=".$row_wait[group_id]."\"}'}>".$Language->getText('project_admin','allow')."</a></td>";
- echo '</td><td>';
- echo "<td><a href='#' onclick='if(confirm(\"".$Language->getText('project_admin','alert_del')."\")){window.location.href=\"../../plugins/projects_hierarchy/del_father.php?sub_group_id=".$group_id."&group_id=".$row_wait[group_id]."\"}'}>".$Language->getText('project_admin','del')."</a></td>";
- echo "</td><tr><td colspan='3'>".$Language->getText('project_admin','com_father')." <i>".$row_wait[com]."</i>";
- echo '</td></tr>';
- }
- echo '</table>';
- }
-
-
- }
- elseif ($hookname == "delete_link") {
-
- $sql = "DELETE FROM plugin_projects_hierarchy WHERE project_id = ".$params." OR sub_project_id = ".$params." ";
- $res_son=db_query($sql);
- }
-
- }
-}
-
-// Local Variables:
-// mode: php
-// c-file-style: "bsd"
-// End:
-
-?>
Copied: trunk/gforge/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class)
Copied: trunk/gforge/plugins/projects_hierarchy/db (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/db)
Deleted: trunk/gforge/plugins/projects_hierarchy/db/projects_hierarchy-init.sql
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/db/projects_hierarchy-init.sql 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/db/projects_hierarchy-init.sql 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,9 +0,0 @@
-CREATE TABLE plugin_projects_hierarchy (
- project_id integer DEFAULT 0 NOT NULL,
- sub_project_id integer DEFAULT 0 NOT NULL,
- link_type char(4) DEFAULT 'navi' NOT NULL,
- activated boolean DEFAULT false NOT NULL,
- com char(255) NOT NULL
- );
-
-INSERT INTO plugins (plugin_name,plugin_desc) VALUES ('hierarchy','Hierarchy GForge Plugin');
\ No newline at end of file
Copied: trunk/gforge/plugins/projects_hierarchy/db/projects_hierarchy-init.sql (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/db/projects_hierarchy-init.sql)
Copied: trunk/gforge/plugins/projects_hierarchy/etc (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/etc)
Copied: trunk/gforge/plugins/projects_hierarchy/etc/plugins (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/etc/plugins)
Copied: trunk/gforge/plugins/projects_hierarchy/etc/plugins/projects_hierarchy (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/etc/plugins/projects_hierarchy)
Copied: trunk/gforge/plugins/projects_hierarchy/www (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/add_link.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/add_link.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/add_link.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,42 +0,0 @@
-<?php
-/**
- * Role Editing Page
- *
- * Copyright 2004 (c) GForge LLC
- *
- * @version $Id: add_son.php,v 1.0 2006/10/10 15:00:00 fregnier Exp $
- * @author Fabien Regnier fabien.regnier at sogeti.com
- * @date 2006-10-10
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once('pre.php');
-session_require(array('group'=>$group_id,'admin_flags'=>'A'));
-//add link between two projects
-$sql = "INSERT INTO plugin_projects_hierarchy (project_id ,sub_project_id,link_type,com) VALUES ('".$_GET['group_id']."' , '".$_POST['sub_project_id']."', 'navi','".$_POST['com']."')";
-//print "<br>".$sql;
-db_begin();
-$test = db_query($sql) or die(db_error());
-db_commit();
-
-
-?>
-<script>
-//back to the administration
-window.location.href = "/project/admin/index.php?group_id=<?php print $_GET['group_id'] ?>";
-</script>
Copied: trunk/gforge/plugins/projects_hierarchy/www/add_link.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/add_link.php)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/add_son.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/add_son.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/add_son.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,42 +0,0 @@
-<?php
-/**
- * Role Editing Page
- *
- * Copyright 2004 (c) GForge LLC
- *
- * @version $Id: add_son.php,v 1.0 2006/10/10 15:00:00 fregnier Exp $
- * @author Fabien Regnier fabien.regnier at sogeti.com
- * @date 2006-10-10
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once('pre.php');
-session_require(array('group'=>$group_id,'admin_flags'=>'A'));
-//add link between two projects
-$sql = "INSERT INTO plugin_projects_hierarchy (project_id ,sub_project_id,link_type,com) VALUES ('".$_GET['group_id']."' , '".$_POST['sub_project_id']."', 'shar','".$_POST['com']."')";
-//print "<br>".$sql;
-db_begin();
-$test = db_query($sql) or die(db_error());
-db_commit();
-
-
-?>
-<script>
-//back to the administration
-window.location.href = "/project/admin/index.php?group_id=<?php print $_GET['group_id'] ?>";
-</script>
Copied: trunk/gforge/plugins/projects_hierarchy/www/add_son.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/add_son.php)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/del_father.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/del_father.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/del_father.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,45 +0,0 @@
-<?php
-/**
- * Role Editing Page
- *
- * Copyright 2004 (c) GForge LLC
- *
- * @version $Id: del_father.php,v 1.0 2006/10/10 15:00:00 fregnier Exp $
- * @author Fabien Regnier fabien.regnier at sogeti.com
- * @date 2006-10-10
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once('pre.php');
-session_require(array('group'=>$group_id,'admin_flags'=>'A'));
-//plugin webcal
-$params[0] = $_GET['sub_group_id'] ;
-$params[1] = $_GET['group_id'] ;
-plugin_hook('del_cal_link_father',$params);
-//del link between two projects
-$sql = "DELETE FROM plugin_projects_hierarchy WHERE project_id = '".$_GET['group_id']."' AND sub_project_id = '".$_GET['sub_group_id']."'";
-//print "<br>".$sql;
-db_begin();
-$test = db_query($sql) or die(db_error());
-db_commit();
-
-?>
-<script>
-//back to the admin's page (son)
-window.location.href = "/project/admin/index.php?group_id=<?php print $_GET['sub_group_id'] ?>";
-</script>
Copied: trunk/gforge/plugins/projects_hierarchy/www/del_father.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/del_father.php)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/del_son.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/del_son.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/del_son.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,45 +0,0 @@
-<?php
-/**
- * Role Editing Page
- *
- * Copyright 2004 (c) GForge LLC
- *
- * @version $Id: del_son.php,v 1.0 2006/10/10 15:00:00 fregnier Exp $
- * @author Fabien Regnier fabien.regnier at sogeti.com
- * @date 2006-10-10
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once('pre.php');
-session_require(array('group'=>$group_id,'admin_flags'=>'A'));
-//plugin webcal
-$params[0] = $_GET['sub_group_id'] ;
-$params[1] = $_GET['group_id'] ;
-plugin_hook('del_cal_link_father',$params);
-//del link between two projects
-$sql = "DELETE FROM plugin_projects_hierarchy WHERE project_id = '".$_GET['group_id']."' AND sub_project_id = '".$_GET['sub_group_id']."'";
-//print "<br>".$sql;
-db_begin();
-$test = db_query($sql) or die(db_error());
-db_commit();
-
-?>
-<script>
-//back to the administration (father)
-window.location.href = "/project/admin/index.php?group_id=<?php print $_GET['group_id'] ?>";
-</script>
Copied: trunk/gforge/plugins/projects_hierarchy/www/del_son.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/del_son.php)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/dtree.css
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/dtree.css 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/dtree.css 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,34 +0,0 @@
-/*--------------------------------------------------|
-| dTree 2.05 | www.destroydrop.com/javascript/tree/ |
-|---------------------------------------------------|
-| Copyright (c) 2002-2003 Geir Landrö |
-|--------------------------------------------------*/
-
-.dtree {
- font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
- font-size: 11px;
- color: #666;
- white-space: nowrap;
-}
-.dtree img {
- border: 0px;
- vertical-align: middle;
-}
-.dtree a {
- color: #333;
- text-decoration: none;
-}
-.dtree a.node, .dtree a.nodeSel {
- white-space: nowrap;
- padding: 1px 2px 1px 2px;
-}
-.dtree a.node:hover, .dtree a.nodeSel:hover {
- color: #333;
- text-decoration: underline;
-}
-.dtree a.nodeSel {
- background-color: #c0d2ec;
-}
-.dtree .clip {
- overflow: hidden;
-}
\ No newline at end of file
Copied: trunk/gforge/plugins/projects_hierarchy/www/dtree.css (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/dtree.css)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/dtree.js
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/dtree.js 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/dtree.js 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,693 +0,0 @@
-/*--------------------------------------------------|
-
-| dTree 2.05 | www.destroydrop.com/javascript/tree/ |
-
-|---------------------------------------------------|
-
-| Copyright (c) 2002-2003 Geir Landrö |
-
-| |
-
-| This script can be used freely as long as all |
-
-| copyright messages are intact. |
-
-| |
-
-| Updated: 17.04.2003 |
-
-|--------------------------------------------------*/
-
-
-
-// Node object
-
-function Node(id, pid, name, url, title, target, icon, iconOpen, open) {
-
- this.id = id;
-
- this.pid = pid;
-
- this.name = name;
-
- this.url = url;
-
- this.title = title;
-
- this.target = target;
-
- this.icon = icon;
-
- this.iconOpen = iconOpen;
-
- this._io = open || false;
-
- this._is = false;
-
- this._ls = false;
-
- this._hc = false;
-
- this._ai = 0;
-
- this._p;
-
-};
-
-
-
-// Tree object
-
-function dTree(objName) {
-
- this.config = {
-
- target : null,
-
- folderLinks : true,
-
- useSelection : true,
-
- useCookies : true,
-
- useLines : true,
-
- useIcons : true,
-
- useStatusText : false,
-
- closeSameLevel : false,
-
- inOrder : false
-
- }
-
- this.icon = {
-
- root : 'img/base.gif',
-
- folder : 'img/folder.gif',
-
- folderOpen : 'img/folderopen.gif',
-
- node : 'img/page.gif',
-
- empty : 'img/empty.gif',
-
- line : 'img/line.gif',
-
- join : 'img/join.gif',
-
- joinBottom : 'img/joinbottom.gif',
-
- plus : 'img/plus.gif',
-
- plusBottom : 'img/plusbottom.gif',
-
- minus : 'img/minus.gif',
-
- minusBottom : 'img/minusbottom.gif',
-
- nlPlus : 'img/nolines_plus.gif',
-
- nlMinus : 'img/nolines_minus.gif'
-
- };
-
- this.obj = objName;
-
- this.aNodes = [];
-
- this.aIndent = [];
-
- this.root = new Node(-1);
-
- this.selectedNode = null;
-
- this.selectedFound = false;
-
- this.completed = false;
-
-};
-
-
-
-// Adds a new node to the node array
-
-dTree.prototype.add = function(id, pid, name, url, title, target, icon, iconOpen, open) {
-
- this.aNodes[this.aNodes.length] = new Node(id, pid, name, url, title, target, icon, iconOpen, open);
-
-};
-
-
-
-// Open/close all nodes
-
-dTree.prototype.openAll = function() {
-
- this.oAll(true);
-
-};
-
-dTree.prototype.closeAll = function() {
-
- this.oAll(false);
-
-};
-
-
-
-// Outputs the tree to the page
-
-dTree.prototype.toString = function() {
-
- var str = '<div class="dtree">\n';
-
- if (document.getElementById) {
-
- if (this.config.useCookies) this.selectedNode = this.getSelected();
-
- str += this.addNode(this.root);
-
- } else str += 'Browser not supported.';
-
- str += '</div>';
-
- if (!this.selectedFound) this.selectedNode = null;
-
- this.completed = true;
-
- return str;
-
-};
-
-
-
-// Creates the tree structure
-
-dTree.prototype.addNode = function(pNode) {
-
- var str = '';
-
- var n=0;
-
- if (this.config.inOrder) n = pNode._ai;
-
- for (n; n<this.aNodes.length; n++) {
-
- if (this.aNodes[n].pid == pNode.id) {
-
- var cn = this.aNodes[n];
-
- cn._p = pNode;
-
- cn._ai = n;
-
- this.setCS(cn);
-
- if (!cn.target && this.config.target) cn.target = this.config.target;
-
- if (cn._hc && !cn._io && this.config.useCookies) cn._io = this.isOpen(cn.id);
-
- if (!this.config.folderLinks && cn._hc) cn.url = null;
-
- if (this.config.useSelection && cn.id == this.selectedNode && !this.selectedFound) {
-
- cn._is = true;
-
- this.selectedNode = n;
-
- this.selectedFound = true;
-
- }
-
- str += this.node(cn, n);
-
- if (cn._ls) break;
-
- }
-
- }
-
- return str;
-
-};
-
-
-
-// Creates the node icon, url and text
-
-dTree.prototype.node = function(node, nodeId) {
-
- var str = '<div class="dTreeNode">' + this.indent(node, nodeId);
-
- if (this.config.useIcons) {
-
- if (!node.icon) node.icon = (this.root.id == node.pid) ? this.icon.root : ((node._hc) ? this.icon.folder : this.icon.node);
-
- if (!node.iconOpen) node.iconOpen = (node._hc) ? this.icon.folderOpen : this.icon.node;
-
- if (this.root.id == node.pid) {
-
- node.icon = this.icon.root;
-
- node.iconOpen = this.icon.root;
-
- }
-
- str += '<img id="i' + this.obj + nodeId + '" src="' + ((node._io) ? node.iconOpen : node.icon) + '" alt="" />';
-
- }
-
- if (node.url) {
-
- str += '<a id="s' + this.obj + nodeId + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"';
-
- if (node.title) str += ' title="' + node.title + '"';
-
- if (node.target) str += ' target="' + node.target + '"';
-
- if (this.config.useStatusText) str += ' onmouseover="window.status=\'' + node.name + '\';return true;" onmouseout="window.status=\'\';return true;" ';
-
- if (this.config.useSelection && ((node._hc && this.config.folderLinks) || !node._hc))
-
- str += ' onclick="javascript: ' + this.obj + '.s(' + nodeId + ');"';
-
- str += '>';
-
- }
-
- else if ((!this.config.folderLinks || !node.url) && node._hc && node.pid != this.root.id)
-
- str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');" class="node">';
-
- str += node.name;
-
- if (node.url || ((!this.config.folderLinks || !node.url) && node._hc)) str += '</a>';
-
- str += '</div>';
-
- if (node._hc) {
-
- str += '<div id="d' + this.obj + nodeId + '" class="clip" style="display:' + ((this.root.id == node.pid || node._io) ? 'block' : 'none') + ';">';
-
- str += this.addNode(node);
-
- str += '</div>';
-
- }
-
- this.aIndent.pop();
-
- return str;
-
-};
-
-
-
-// Adds the empty and line icons
-
-dTree.prototype.indent = function(node, nodeId) {
-
- var str = '';
-
- if (this.root.id != node.pid) {
-
- for (var n=0; n<this.aIndent.length; n++)
-
- str += '<img src="' + ( (this.aIndent[n] == 1 && this.config.useLines) ? this.icon.line : this.icon.empty ) + '" alt="" />';
-
- (node._ls) ? this.aIndent.push(0) : this.aIndent.push(1);
-
- if (node._hc) {
-
- str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');"><img id="j' + this.obj + nodeId + '" src="';
-
- if (!this.config.useLines) str += (node._io) ? this.icon.nlMinus : this.icon.nlPlus;
-
- else str += ( (node._io) ? ((node._ls && this.config.useLines) ? this.icon.minusBottom : this.icon.minus) : ((node._ls && this.config.useLines) ? this.icon.plusBottom : this.icon.plus ) );
-
- str += '" alt="" /></a>';
-
- } else str += '<img src="' + ( (this.config.useLines) ? ((node._ls) ? this.icon.joinBottom : this.icon.join ) : this.icon.empty) + '" alt="" />';
-
- }
-
- return str;
-
-};
-
-
-
-// Checks if a node has any children and if it is the last sibling
-
-dTree.prototype.setCS = function(node) {
-
- var lastId;
-
- for (var n=0; n<this.aNodes.length; n++) {
-
- if (this.aNodes[n].pid == node.id) node._hc = true;
-
- if (this.aNodes[n].pid == node.pid) lastId = this.aNodes[n].id;
-
- }
-
- if (lastId==node.id) node._ls = true;
-
-};
-
-
-
-// Returns the selected node
-
-dTree.prototype.getSelected = function() {
-
- var sn = this.getCookie('cs' + this.obj);
-
- return (sn) ? sn : null;
-
-};
-
-
-
-// Highlights the selected node
-
-dTree.prototype.s = function(id) {
-
- if (!this.config.useSelection) return;
-
- var cn = this.aNodes[id];
-
- if (cn._hc && !this.config.folderLinks) return;
-
- if (this.selectedNode != id) {
-
- if (this.selectedNode || this.selectedNode==0) {
-
- eOld = document.getElementById("s" + this.obj + this.selectedNode);
-
- eOld.className = "node";
-
- }
-
- eNew = document.getElementById("s" + this.obj + id);
-
- eNew.className = "nodeSel";
-
- this.selectedNode = id;
-
- if (this.config.useCookies) this.setCookie('cs' + this.obj, cn.id);
-
- }
-
-};
-
-
-
-// Toggle Open or close
-
-dTree.prototype.o = function(id) {
-
- var cn = this.aNodes[id];
-
- this.nodeStatus(!cn._io, id, cn._ls);
-
- cn._io = !cn._io;
-
- if (this.config.closeSameLevel) this.closeLevel(cn);
-
- if (this.config.useCookies) this.updateCookie();
-
-};
-
-
-
-// Open or close all nodes
-
-dTree.prototype.oAll = function(status) {
-
- for (var n=0; n<this.aNodes.length; n++) {
-
- if (this.aNodes[n]._hc && this.aNodes[n].pid != this.root.id) {
-
- this.nodeStatus(status, n, this.aNodes[n]._ls)
-
- this.aNodes[n]._io = status;
-
- }
-
- }
-
- if (this.config.useCookies) this.updateCookie();
-
-};
-
-
-
-// Opens the tree to a specific node
-
-dTree.prototype.openTo = function(nId, bSelect, bFirst) {
-
- if (!bFirst) {
-
- for (var n=0; n<this.aNodes.length; n++) {
-
- if (this.aNodes[n].id == nId) {
-
- nId=n;
-
- break;
-
- }
-
- }
-
- }
-
- var cn=this.aNodes[nId];
-
- if (cn.pid==this.root.id || !cn._p) return;
-
- cn._io = true;
-
- cn._is = bSelect;
-
- if (this.completed && cn._hc) this.nodeStatus(true, cn._ai, cn._ls);
-
- if (this.completed && bSelect) this.s(cn._ai);
-
- else if (bSelect) this._sn=cn._ai;
-
- this.openTo(cn._p._ai, false, true);
-
-};
-
-
-
-// Closes all nodes on the same level as certain node
-
-dTree.prototype.closeLevel = function(node) {
-
- for (var n=0; n<this.aNodes.length; n++) {
-
- if (this.aNodes[n].pid == node.pid && this.aNodes[n].id != node.id && this.aNodes[n]._hc) {
-
- this.nodeStatus(false, n, this.aNodes[n]._ls);
-
- this.aNodes[n]._io = false;
-
- this.closeAllChildren(this.aNodes[n]);
-
- }
-
- }
-
-}
-
-
-
-// Closes all children of a node
-
-dTree.prototype.closeAllChildren = function(node) {
-
- for (var n=0; n<this.aNodes.length; n++) {
-
- if (this.aNodes[n].pid == node.id && this.aNodes[n]._hc) {
-
- if (this.aNodes[n]._io) this.nodeStatus(false, n, this.aNodes[n]._ls);
-
- this.aNodes[n]._io = false;
-
- this.closeAllChildren(this.aNodes[n]);
-
- }
-
- }
-
-}
-
-
-
-// Change the status of a node(open or closed)
-
-dTree.prototype.nodeStatus = function(status, id, bottom) {
-
- eDiv = document.getElementById('d' + this.obj + id);
-
- eJoin = document.getElementById('j' + this.obj + id);
-
- if (this.config.useIcons) {
-
- eIcon = document.getElementById('i' + this.obj + id);
-
- eIcon.src = (status) ? this.aNodes[id].iconOpen : this.aNodes[id].icon;
-
- }
-
- eJoin.src = (this.config.useLines)?
-
- ((status)?((bottom)?this.icon.minusBottom:this.icon.minus):((bottom)?this.icon.plusBottom:this.icon.plus)):
-
- ((status)?this.icon.nlMinus:this.icon.nlPlus);
-
- eDiv.style.display = (status) ? 'block': 'none';
-
-};
-
-
-
-
-
-// [Cookie] Clears a cookie
-
-dTree.prototype.clearCookie = function() {
-
- var now = new Date();
-
- var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24);
-
- this.setCookie('co'+this.obj, 'cookieValue', yesterday);
-
- this.setCookie('cs'+this.obj, 'cookieValue', yesterday);
-
-};
-
-
-
-// [Cookie] Sets value in a cookie
-
-dTree.prototype.setCookie = function(cookieName, cookieValue, expires, path, domain, secure) {
-
- document.cookie =
-
- escape(cookieName) + '=' + escape(cookieValue)
-
- + (expires ? '; expires=' + expires.toGMTString() : '')
-
- + (path ? '; path=' + path : '')
-
- + (domain ? '; domain=' + domain : '')
-
- + (secure ? '; secure' : '');
-
-};
-
-
-
-// [Cookie] Gets a value from a cookie
-
-dTree.prototype.getCookie = function(cookieName) {
-
- var cookieValue = '';
-
- var posName = document.cookie.indexOf(escape(cookieName) + '=');
-
- if (posName != -1) {
-
- var posValue = posName + (escape(cookieName) + '=').length;
-
- var endPos = document.cookie.indexOf(';', posValue);
-
- if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos));
-
- else cookieValue = unescape(document.cookie.substring(posValue));
-
- }
-
- return (cookieValue);
-
-};
-
-
-
-// [Cookie] Returns ids of open nodes as a string
-
-dTree.prototype.updateCookie = function() {
-
- var str = '';
-
- for (var n=0; n<this.aNodes.length; n++) {
-
- if (this.aNodes[n]._io && this.aNodes[n].pid != this.root.id) {
-
- if (str) str += '.';
-
- str += this.aNodes[n].id;
-
- }
-
- }
-
- this.setCookie('co' + this.obj, str);
-
-};
-
-
-
-// [Cookie] Checks if a node id is in a cookie
-
-dTree.prototype.isOpen = function(id) {
-
- var aOpen = this.getCookie('co' + this.obj).split('.');
-
- for (var n=0; n<aOpen.length; n++)
-
- if (aOpen[n] == id) return true;
-
- return false;
-
-};
-
-
-
-// If Push and pop is not implemented by the browser
-
-if (!Array.prototype.push) {
-
- Array.prototype.push = function array_push() {
-
- for(var i=0;i<arguments.length;i++)
-
- this[this.length]=arguments[i];
-
- return this.length;
-
- }
-
-};
-
-if (!Array.prototype.pop) {
-
- Array.prototype.pop = function array_pop() {
-
- lastElement = this[this.length-1];
-
- this.length = Math.max(this.length-1,0);
-
- return lastElement;
-
- }
-
-};
\ No newline at end of file
Copied: trunk/gforge/plugins/projects_hierarchy/www/dtree.js (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/dtree.js)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/hierarchy_utils.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/hierarchy_utils.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/hierarchy_utils.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,93 +0,0 @@
-<?php
-/*
- * Copyright 2004 GForge, LLC
- *
- * @version $Id: hierarchy_utils.php,v 1.0 2006/10/10 15:00:00 fregnier Exp $
- * @author Fabien Regnier fabien.regnier at sogeti.com
- * @date 2006-10-10
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
- function son_box ($group_id,$name,$selected='xzxzxz') {
- global $son;
- if (!$son) {
-
- $family = get_family($group_id);
- if($family != NULL){
-
- reset($family);
- while (list($key, $val) = each($family)) {
- $cond .= " AND group_id != ".$val." ";
- }
-
- }
- $son=db_query("SELECT group_id,group_name,register_time FROM groups " .
- "WHERE status='A' AND type_id=1 AND group_id != ".$group_id." " .$cond.
- "AND group_id NOT IN (SELECT sub_project_id FROM plugin_projects_hierarchy WHERE link_type = 'shar')" );
-
-
- }
- return html_build_select_box($son,$name,$selected,false);
-}
-
- function link_box ($group_id,$name,$selected='xzxzxz') {
- global $link;
- if (!$link) {
- $link=db_query("SELECT group_id,group_name,register_time FROM groups " .
- "WHERE status='A' AND type_id=1 AND group_id != ".$group_id." " .
- "AND group_id NOT IN (SELECT sub_project_id FROM plugin_projects_hierarchy WHERE project_id = ".$group_id." )".
- " AND group_id NOT IN (SELECT project_id FROM plugin_projects_hierarchy WHERE sub_project_id = ".$group_id." )");
-
-
- }
- return html_build_select_box($link,$name,$selected,false);
-}
-
-
- function type_son_box () {
- global $Language;
- return "<select name='link_type' onchange=\"javascript:" .
- "if(this.value!= 0){" .
- "document.formson.son.disabled=false" .
- "}" .
- "else {" .
- "document.formson.son.disabled=true" .
- "}\">" .
- "\n<option value='0' selected=\"selected\" >".$Language->getText('project_admin','link')."</option>\n" .
- "<option value='shar'>".$Language->getText('project_admin','share')."</option>\n" .
- "<option value='navi' >".$Language->getText('project_admin','navi')."</option>\n" .
- "</select>";
- }
-
-//search all the family,all ancestor
-function get_family($group_id,$family='',$cpt=0){
- $req = "SELECT project_id FROM plugin_projects_hierarchy WHERE sub_project_id = ".$group_id." ";
- $res=db_query($req)or die(db_error());
- if (!$res || db_numrows($res) < 1) {
- //return $family;
- }
- else {
- $row = db_fetch_array($res);
- $family[$cpt] = $row['project_id'];
- $cpt++;
- return get_family($row['project_id'],$family,$cpt);
- }
-
- return $family;
-}
-?>
Copied: trunk/gforge/plugins/projects_hierarchy/www/hierarchy_utils.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/hierarchy_utils.php)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/base.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/base.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/base.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/cd.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/cd.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/cd.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/empty.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/empty.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/empty.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/folder.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/folder.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/folder.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/folderopen.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/folderopen.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/folderopen.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/globe.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/globe.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/globe.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/imgfolder.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/imgfolder.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/imgfolder.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/join.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/join.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/join.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/joinbottom.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/joinbottom.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/joinbottom.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/line.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/line.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/line.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/minus.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/minus.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/minus.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/minusbottom.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/minusbottom.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/minusbottom.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/musicfolder.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/musicfolder.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/musicfolder.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/nolines_minus.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/nolines_minus.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/nolines_minus.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/nolines_plus.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/nolines_plus.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/nolines_plus.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/page.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/page.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/page.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/plus.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/plus.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/plus.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/plusbottom.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/plusbottom.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/plusbottom.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/question.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/question.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/question.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/img/trash.gif
===================================================================
(Binary files differ)
Copied: trunk/gforge/plugins/projects_hierarchy/www/img/trash.gif (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/img/trash.gif)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/index.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/index.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/index.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,109 +0,0 @@
-<?php
-
-/*
- * projects_hierarchy plugin
- *
- * Daniel Perez <danielperez.arg at gmail.com>
- *
- * This is an example to watch things in action. You can obviously modify things and logic as you see fit
- */
-
-require_once('pre.php');
-require_once ('plugins/projects_hierarchy/config.php');
-
-// the header that displays for the user portion of the plugin
-function projects_hierarchy_Project_Header($params) {
- global $DOCUMENT_ROOT,$HTML,$id,$Language;
- $params['toptab']='projects_hierarchy';
- $params['group']=$id;
-
- /*
- Show horizontal links
- */
- site_project_header($params);
-}
-
-// the header that displays for the project portion of the plugin
-function projects_hierarchy_User_Header($params) {
- global $DOCUMENT_ROOT,$HTML,$user_id,$Language;
- $params['toptab']='projects_hierarchy';
- $params['user']=$user_id;
-
- /*
- Show horizontal links
- */
- site_user_header($params);
-}
-
-
- $user = session_get_user(); // get the session user
-
- if (!$user || !is_object($user) || $user->isError() || !$user->isActive()) {
- exit_error("Invalid User", "Cannot Process your request for this user.");
- }
-
- $type = getStringFromRequest('type');
- $id = getStringFromRequest('id');
- $pluginname = getStringFromRequest('pluginname');
-
- if (!$type) {
- exit_error("Cannot Process your request","No TYPE specified"); // you can create items in Base.tab and customize this messages
- } elseif (!$id) {
- exit_error("Cannot Process your request","No ID specified");
- } else {
- if ($type == 'group') {
- $group = group_get_object($id);
- if ( !$group) {
- exit_error("Invalid Project", "Inexistent Project");
- }
- if ( ! ($group->usesPlugin ( $pluginname )) ) {//check if the group has the projects_hierarchy plugin active
- exit_error("Error", "First activate the $pluginname plugin through the Project's Admin Interface");
- }
- $userperm = $group->getPermission($user);//we´ll check if the user belongs to the group (optional)
- if ( !$userperm->IsMember()) {
- exit_error("Access Denied", "You are not a member of this project");
- }
- // other perms checks here...
- projects_hierarchy_Project_Header(array('title'=>$pluginname . ' Project Plugin!','pagename'=>"$pluginname",'sectionvals'=>array(group_getname($id))));
- // DO THE STUFF FOR THE PROJECT PART HERE
- echo "We are in the Project projects_hierarchy plugin <br>";
- echo "Greetings from planet " . $world; // $world comes from the config file in /etc
- } elseif ($type == 'user') {
- $realuser = user_get_object($id);//
- if (!($realuser) || !($realuser->usesPlugin($pluginname))) {
- exit_error("Error", "First activate the User's $pluginname plugin through Account Manteinance Page");
- }
- if ( (!$user) || ($user->getID() != $id)) { // if someone else tried to access the private projects_hierarchy part of this user
- exit_error("Access Denied", "You cannot access other user's personal $pluginname");
- }
- projects_hierarchy_User_Header(array('title'=>'My '.$pluginname,'pagename'=>"$pluginname",'sectionvals'=>array($realuser->getUnixName())));
- // DO THE STUFF FOR THE USER PART HERE
- echo "We are in the User projects_hierarchy plugin <br>";
- echo "Greetings from planet " . $world; // $world comes from the config file in /etc
- } elseif ($type == 'admin') {
- $group = group_get_object($id);
- if ( !$group) {
- exit_error("Invalid Project", "Inexistent Project");
- }
- if ( ! ($group->usesPlugin ( $pluginname )) ) {//check if the group has the projects_hierarchy plugin active
- exit_error("Error", "First activate the $pluginname plugin through the Project's Admin Interface");
- }
- $userperm = $group->getPermission($user);//we´ll check if the user belongs to the group
- if ( !$userperm->IsMember()) {
- exit_error("Access Denied", "You are not a member of this project");
- }
- //only project admin can access here
- if ( $userperm->isAdmin() ) {
- projects_hierarchy_Project_Header(array('title'=>$pluginname . ' Project Plugin!','pagename'=>"$pluginname",'sectionvals'=>array(group_getname($id))));
- // DO THE STUFF FOR THE PROJECT ADMINISTRATION PART HERE
- echo "We are in the Project projects_hierarchy plugin <font color=\"#ff0000\">ADMINISTRATION</font> <br>";
- echo "Greetings from planet " . $world; // $world comes from the config file in /etc
- } else {
- exit_error("Access Denied", "You are not a project Admin");
- }
- }
- }
-
- site_project_footer(array());
-
-?>
Copied: trunk/gforge/plugins/projects_hierarchy/www/index.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/index.php)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/softwaremap.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/softwaremap.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/softwaremap.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,427 +0,0 @@
-<?php
-/**
- *
- * SourceForge Trove Software Map
- *
- * SourceForge: Breaking Down the Barriers to Open Source Development
- * Copyright 1999-2001 (c) VA Linux Systems
- * http://sourceforge.net
- *
- * @version $Id: trove_list.php,v 1.2 2005/11/28 13:29:52 uid20157 Exp $
- *
- */
-
-session_start();
-require_once('pre.php');
-require_once('www/include/trove.php');
-require_once('../../../www/docman/include/doc_utils.php');
-
-if (!$sys_use_trove) {
- exit_disabled();
-}
-
-//we check if the user has already chosen the tree
-if(isset($_GET['cat'])){
- $_SESSION['cat'] = $_GET['cat'];
-}
-
-// assign default. 18 is 'topic'
-if (!isset($form_cat) || !$form_cat) {
- $form_cat = $default_trove_cat;
-}
-
-$form_cat = intval($form_cat);
-
-// get info about current folder
-$res_trove_cat = db_query("
- SELECT *
- FROM trove_cat
- WHERE trove_cat_id='$form_cat' ORDER BY fullname");
-
-if (db_numrows($res_trove_cat) < 1) {
- exit_error(
- $Language->getText('trove_list','invalid_category_title'),
- $Language->getText('trove_list','invalid_category_text').': '.db_error()
- );
-}
-
-$HTML->header(array('title'=>$Language->getText('trove_list','title'),'pagename'=>'softwaremap'));
-
-//rajout fab a mettre dans head
-?>
-<link rel="StyleSheet" href="dtree.css" type="text/css" />
- <script type="text/javascript" src="dtree.js"></script>
-<?php
-//fin rajout
-
-print "<b><a href=\"./softwaremap.php?cat=c\">".$Language->getText('project_tree','cat')."</a> | <a href=\"./softwaremap.php?cat=t\">".$Language->getText('project_tree','tree')."</a></b>";
-
-echo'
- <hr />';
-
-if($_SESSION['cat'] != 't'){
- $row_trove_cat = db_fetch_array($res_trove_cat);
-
- // #####################################
- // this section limits search and requeries if there are discrim elements
-
- $discrim_url = '';
- $discrim_desc = '';
-
- if (isset($discrim) && $discrim) {
- unset ($discrim_queryalias);
- unset ($discrim_queryand);
- unset ($discrim_url_b);
-
- // commas are ANDs
- $expl_discrim = explode(',',$discrim);
-
- // need one link for each "get out of this limit" links
- $discrim_url = '&discrim=';
-
- $lims=sizeof($expl_discrim);
- if ($lims > 6) {
- $lims=6;
- }
-
- // one per argument
- for ($i=0;$i<$lims;$i++) {
- // make sure these are all ints, no url trickery
- $expl_discrim[$i] = intval($expl_discrim[$i]);
-
- // need one aliased table for everything
- //[CB] $discrim_queryalias .= ', trove_group_link trove_group_link_'.$i.' ';
- $discrim_queryalias .= ', trove_agg trove_agg_'.$i.' ';
-
- // need additional AND entries for aliased tables
- //[CB] $discrim_queryand .= 'AND trove_group_link_'.$i.'.trove_cat_id='
- //[CB] .$expl_discrim[$i].' AND trove_group_link_'.$i.'.group_id='
- //[CB] .'trove_group_link.group_id ';
- $discrim_queryand .= 'AND trove_agg_'.$i.'.trove_cat_id='
- .$expl_discrim[$i].' AND trove_agg_'.$i.'.group_id='
- .'trove_agg.group_id ';
-
- // must build query string for all urls
- if ($i==0) {
- $discrim_url .= $expl_discrim[$i];
- } else {
- $discrim_url .= ','.$expl_discrim[$i];
- }
- // must also do this for EACH "get out of this limit" links
- // convoluted logic to build urls for these, but works quickly
- for ($j=0;$j<sizeof($expl_discrim);$j++) {
- if ($i!=$j) {
- if (!$discrim_url_b[$j]) {
- $discrim_url_b[$j] = '&discrim='.$expl_discrim[$i];
- } else {
- $discrim_url_b[$j] .= ','.$expl_discrim[$i];
- }
- }
- }
-
- }
-
- // build text for top of page on what viewier is seeing
- $discrim_desc = '<span style="color:red;font-size:smaller">'.$Language->getText('trove_list','limiting_view').':
- </span>';
-
- for ($i=0;$i<sizeof($expl_discrim);$i++) {
- $discrim_desc .= '<br /> '
- .trove_getfullpath($expl_discrim[$i])
- .' <a href="softwaremap.php?form_cat='.$form_cat
- .$discrim_url_b[$i].'">['.$Language->getText('trove_list','remove_filter').']'
- .'</a>';
- }
- $discrim_desc .= "<hr />\n";
- }
-
- // #######################################
-
- print '<p>'. (isset($discrim_desc) ? $discrim_desc : '') . '</p>';
-
- // ######## two column table for key on right
- // first print all parent cats and current cat
- print '<table width="100%" border="0" cellspacing="0" cellpadding="0">
- <tr valign="top"><td><span style="font-family:arial,helvetica">';
- $folders = explode(" :: ",$row_trove_cat['fullpath']);
- $folders_ids = explode(" :: ",$row_trove_cat['fullpath_ids']);
- $folders_len = count($folders);
- for ($i=0;$i<$folders_len;$i++) {
- for ($sp=0;$sp<($i*2);$sp++) {
- print " ";
- }
- echo html_image("ic/ofolder15.png",'15','13',array());
- print " ";
- // no anchor for current cat
- if ($folders_ids[$i] != $form_cat) {
- print '<a href="softwaremap.php?form_cat='
- .$folders_ids[$i].$discrim_url.'">';
- } else {
- print '<strong>';
- }
- print $folders[$i];
- if ($folders_ids[$i] != $form_cat) {
- print '</a>';
- } else {
- print '</strong>';
- }
- print "<br />\n";
- }
-
- // print subcategories
- $res_sub = db_query("
- SELECT trove_cat.trove_cat_id AS trove_cat_id,
- trove_cat.fullname AS fullname,
- trove_treesums.subprojects AS subprojects
- FROM trove_cat LEFT JOIN trove_treesums USING (trove_cat_id)
- WHERE (
- trove_treesums.limit_1=0
- OR trove_treesums.limit_1 IS NULL
- ) AND " // need no discriminators
- ."trove_cat.parent='$form_cat'
- ORDER BY fullname
- ", -1, 0, SYS_DB_TROVE);
- echo db_error();
-
- while ($row_sub = db_fetch_array($res_sub)) {
- for ($sp=0;$sp<($folders_len*2);$sp++) {
- print " ";
- }
- print ('<a href="softwaremap.php?form_cat='.$row_sub['trove_cat_id'].$discrim_url.'">');
- echo html_image("ic/cfolder15.png",'15','13',array());
- print (' '.$row_sub['fullname'].'</a> <em>('.
- $Language->getText('trove_list','projects',array($row_sub['subprojects']?$row_sub['subprojects']:'0'))
- .')</em><br />');
-
- }
- // ########### right column: root level
- print '</span></td><td><span style="font-family:arial,helvetica">';
- // here we print list of root level categories, and use open folder for current
- $res_rootcat = db_query("
- SELECT trove_cat_id,fullname
- FROM trove_cat
- WHERE parent=0
- AND trove_cat_id!=0
- ORDER BY fullname");
- echo db_error();
-
- print $Language->getText('trove_list','browse_by').':';
- while ($row_rootcat = db_fetch_array($res_rootcat)) {
- // print open folder if current, otherwise closed
- // also make anchor if not current
- print ('<br />');
- if (($row_rootcat['trove_cat_id'] == $row_trove_cat['root_parent'])
- || ($row_rootcat['trove_cat_id'] == $row_trove_cat['trove_cat_id'])) {
- echo html_image('ic/ofolder15.png','15','13',array());
- print (' <strong>'.$row_rootcat['fullname']."</strong>\n");
- } else {
- print ('<a href="softwaremap.php?form_cat='
- .$row_rootcat['trove_cat_id'].$discrim_url.'">');
- echo html_image('ic/cfolder15.png','15','13',array());
- print (' '.$row_rootcat['fullname']."\n");
- print ('</a>');
- }
- }
- print '</span></td></tr></table>';
- ?>
- <hr />
- <?php
- // one listing for each project
-
- if(!isset($discrim_queryalias)) {
- $discrim_queryalias = '';
- }
-
- if(!isset($discrim_queryand)) {
- $discrim_queryand = '';
- }
-
- $res_grp = db_query("
- SELECT *
- FROM trove_agg
- $discrim_queryalias
- WHERE trove_agg.trove_cat_id='$form_cat'
- $discrim_queryand
- ORDER BY trove_agg.trove_cat_id ASC, trove_agg.ranking ASC
- ", $TROVE_HARDQUERYLIMIT, 0, SYS_DB_TROVE);
- echo db_error();
- $querytotalcount = db_numrows($res_grp);
-
- // #################################################################
- // limit/offset display
-
- // no funny stuff with get vars
-
- if (!isset($page) || !is_numeric($page)) {
- $page = 1;
- }
-
- // store this as a var so it can be printed later as well
- $html_limit = '<span style="text-align:center;font-size:smaller">';
- if ($querytotalcount == $TROVE_HARDQUERYLIMIT){
- $html_limit .= 'More than ';
- $html_limit .= $Language->getText('trove_list','more_than',array($querytotalcount));
-
- }
- $html_limit .= $Language->getText('trove_list','number_of_projects',array($querytotalcount));
-
- // only display pages stuff if there is more to display
- if ($querytotalcount > $TROVE_BROWSELIMIT) {
- $html_limit .= ' Displaying '.$TROVE_BROWSELIMIT.' per page. Projects sorted by activity ranking.<br />';
-
- // display all the numbers
- for ($i=1;$i<=ceil($querytotalcount/$TROVE_BROWSELIMIT);$i++) {
- $html_limit .= ' ';
- if ($page != $i) {
- $html_limit .= '<a href="softwaremap.php?form_cat='.$form_cat;
- $html_limit .= $discrim_url.'&page='.$i;
- $html_limit .= '">';
- } else $html_limit .= '<strong>';
- $html_limit .= '<'.$i.'>';
- if ($page != $i) {
- $html_limit .= '</a>';
- } else $html_limit .= '</strong>';
- $html_limit .= ' ';
- }
- }
-
- $html_limit .= '</span>';
-
- print $html_limit."<hr />\n";
-
- // #################################################################
- // print actual project listings
- // note that the for loop starts at 1, not 0
- for ($i_proj=1;$i_proj<=$querytotalcount;$i_proj++) {
- $row_grp = db_fetch_array($res_grp);
-
- // check to see if row is in page range
- if (($i_proj > (($page-1)*$TROVE_BROWSELIMIT)) && ($i_proj <= ($page*$TROVE_BROWSELIMIT))) {
- $viewthisrow = 1;
- } else {
- $viewthisrow = 0;
- }
-
- if ($row_grp && $viewthisrow) {
- print '<table border="0" cellpadding="0" width="100%"><tr valign="top"><td colspan="2"><span style="font-family:arial,helvetica">';
- print "$i_proj. <a href=\"/projects/". strtolower($row_grp['unix_group_name']) ."/\"><strong>"
- .htmlspecialchars($row_grp['group_name'])."</strong></a> ";
- if ($row_grp['short_description']) {
- print "- " . htmlspecialchars($row_grp['short_description']);
- }
-
- print '<br /> ';
- // extra description
- print '</span></td></tr><tr valign="top"><td><span style="font-family:arial,helvetica">';
- // list all trove categories
- print trove_getcatlisting($row_grp['group_id'],1,0);
-
- print '</span></td>'."\n".'<td align="right"><span style="font-family:arial,helvetica">'; // now the right side of the display
- print 'Activity Percentile: <strong>'. number_format($row_grp['percentile'],2) .'</strong>';
- print '<br />Activity Ranking: <strong>'. number_format($row_grp['ranking'],2) .'</strong>';
- print '<br />Register Date: <strong>'.date($sys_datefmt,$row_grp['register_time']).'</strong>';
- print '</span></td></tr>';
- /*
- if ($row_grp['jobs_count']) {
- print '<tr><td colspan="2" align="center">'
- .'<a href="/people/?group_id='.$row_grp['group_id'].'">[This project needs help]</a></td></td>';
- }
- */
- print '</table>';
- print '<hr />';
- } // end if for row and range chacking
- }
-
- // print bottom navigation if there are more projects to display
- if ($querytotalcount > $TROVE_BROWSELIMIT) {
- print $html_limit;
- }
-
-
- // print '<p><FONT size="-1">This listing was produced by the following query: '
- // .$query_projlist.'</FONT>';
-}
-else {
- function build_tree() {
- global $project_name ;
- $query = "select p1.group_id as father_id,p1.unix_group_name as father_unix_name,p1.group_name as father_name,p2.group_id as son_id,p2.unix_group_name as son_unix_name,p2.group_name as son_name from groups as p1,groups as p2,plugin_projects_hierarchy where p1.group_id=plugin_projects_hierarchy.project_id and p2.group_id=plugin_projects_hierarchy.sub_project_id and plugin_projects_hierarchy.activated='t' AND plugin_projects_hierarchy.link_type='shar'";
- $res = db_query($query);
- echo db_error();
- // construction du tableau associatif
- // key = name of the father
- // value = list of sons
- while ($row = db_fetch_array($res)) {
- //$tree[$row['father_name']][] = $row['son_name'];
- $tree[$row['father_id']][] = $row['son_id'];
- //get the unix name of the project
- $project_name[$row['father_id']][0] = $row['father_name'];
- $project_name[$row['son_id']][0] = $row['son_name'];
- $project_name[$row['father_id']][1] = $row['father_unix_name'];
- $project_name[$row['son_id']][1] = $row['son_unix_name'];
- }
- return $tree;
- }
-
- function aff_tree($tree, $lvl) {
- global $project_name ;
- global $Language ;
-
- echo "<br/>";
- $arbre = "" ;
- $cpt_pere = 0 ;
-
- while (list($key, $sons) = each($tree)) {
- //echo $key . "<br/>";
- //we build a array with id of father and son.
- //If no father --> 0
- if(!$arbre[$key] != 0){
- $arbre[$key] = 0 ;
- }
- $cpt_pere = $key;
- foreach ($sons as $son) {
- //echo " " . $son . "<br/>";
- $arbre[$son] = $cpt_pere;
- }
-
- }
-
- echo '<table ><tr><td>';
-
- ?>
- <script type="text/javascript">
- <!--
- //add files dtress.css, dtree.js et du dossier img
- d = new dTree('d');
- d.add(0,-1,'<?php echo $Language->getText('project_tree','tree_project');?>');
- <?
- reset($arbre);
- //construction automatique de l'arbre format : (num_fils, num_pere,nom,nom_unix)
- while (list($key2, $sons2) = each($arbre)) {
- print "d.add(".$key2.",".$sons2.",'".$project_name[$key2][0]."','/projects/".$project_name[$key2][1]."');\n";
- }
- ?>
-
- document.write(d);
-
-
- </script>
- <?php
- echo '</td></tr></table>';
- }
-
- /*function aff_node($node, $lvl) {
- for ($i = 0; $i < $lvl; ++$i) {
- echo " ";
- }
- echo $node . "<br/>";
- }*/
-
- $tree = build_tree();
- aff_tree($tree, 0);
-
-}
-docman_display_documents($nested_groups,$df,$is_editor);
-
-$HTML->footer(array());
-
-?>
Copied: trunk/gforge/plugins/projects_hierarchy/www/softwaremap.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/softwaremap.php)
Deleted: trunk/gforge/plugins/projects_hierarchy/www/wait_son.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/wait_son.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/projects_hierarchy/www/wait_son.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,45 +0,0 @@
-<?php
-/**
- * Role Editing Page
- *
- * Copyright 2004 (c) GForge LLC
- *
- * @version $Id: wait_son.php,v 1.0 2006/10/10 15:00:00 fregnier Exp $
- * @author Fabien Regnier fabien.regnier at sogeti.com
- * @date 2006-10-10
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once('pre.php');
-session_require(array('group'=>$group_id,'admin_flags'=>'A'));
-//update the link when the son allow the father
-$sql = "UPDATE plugin_projects_hierarchy SET activated = true WHERE project_id = '".$_GET['group_id']."' AND sub_project_id = '".$_GET['sub_group_id']."'";
-//print "<br>".$sql;
-db_begin();
-$test = db_query($sql) or die(db_error());
-db_commit();
-//plugin webcal
-$params[0] = $_GET['sub_group_id'] ;
-$params[1] = $_GET['group_id'] ;
-plugin_hook('add_cal_link_father',$params);
-
-?>
-<script>
-//back to the administration (son)
-window.location.href = "/project/admin/index.php?group_id=<?php print $_GET['sub_group_id'] ?>";
-</script>
Copied: trunk/gforge/plugins/projects_hierarchy/www/wait_son.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/projects_hierarchy/www/wait_son.php)
Copied: trunk/gforge/plugins/quota_management (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management)
Deleted: trunk/gforge/plugins/quota_management/INSTALL
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/INSTALL 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/INSTALL 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,5 +0,0 @@
-edit cron
-
-0 * * * * root [ -x /usr/share/gforge/plugins/quota_management/cronjobs/quota_update.pl ] && /usr/share/gforge/plugins/quota_management/cronjobs/quota_update.pl > /dev/null 2>&1
-
-
Copied: trunk/gforge/plugins/quota_management/INSTALL (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/INSTALL)
Copied: trunk/gforge/plugins/quota_management/bin (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/bin)
Copied: trunk/gforge/plugins/quota_management/common (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/common)
Copied: trunk/gforge/plugins/quota_management/common/languages (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/common/languages)
Deleted: trunk/gforge/plugins/quota_management/common/languages/Base.tab
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/common/languages/Base.tab 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/common/languages/Base.tab 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,65 +0,0 @@
-#/**
-# *
-# * quota_management message catalog (English)
-# *
-# * GForge: Breaking Down the Barriers to Open Source Development
-# * Copyright 1999-2001 (c) VA Linux Systems
-# * 2005 (c) Daniel Pérez <danielperez.arg at gmail.com>
-# * http://sourceforge.net
-# * Here you can add your own language customizations
-# *
-# *
-# */
-user_home view_quota_management View Personal quota_management
-project_admin quota_management View the quota_management Administration
-admin_quotas quotas_title Ressources usage and quota
-admin_quotas quotas_admin_title Quota Manager Admin
-admin_quotas projects_space_label Projects ressources use
-admin_quotas projects_space_modif Projects disk quota
-admin_quotas users_space_label Users disk use
-admin_quotas id id
-admin_quotas mbytes Mb
-admin_quotas name name
-admin_quotas database database
-admin_quotas disk disk
-admin_quotas project project
-admin_quotas project_expl Ftp, Home
-admin_quotas disk_scm scm
-admin_quotas disk_scm_expl Cvs, Svn
-admin_quotas disk_other others
-admin_quotas disk_other_expl Download - without quota control
-admin_quotas total total
-admin_quotas quota_hard_name disk quota hard
-admin_quotas quota_soft_name disk quota soft
-admin_quotas modify_button Modify
-admin_quotas quota_val_invalid Input error : Hard quota must be greater than soft quota
-admin_quotas quota_val_update_success Successfully updated quota
-project_admin_utils quotas Quota
-project_admin_quotas title Project quota manager
-project_admin_quotas documents_title Documents
-project_admin_quotas search_engine_title Documents search engine
-project_admin_quotas news_title News
-project_admin_quotas forums_title Forums
-project_admin_quotas table_head_name quota type
-project_admin_quotas table_head_nb quantity
-project_admin_quotas table_head_size size
-project_admin_quotas table_quota_size quota
-project_admin_quotas size_metric Mb
-project_admin_quotas total_label Total
-project_admin_quotas upload_title Download project directory
-project_admin_quotas home_title Home project directory
-project_admin_quotas ftp_title Ftp project directory
-project_admin_quotas cvs_title CVS project directory
-project_admin_quotas svn_title Subversion project directory
-project_admin_quotas database_space_label Database
-project_admin_quotas disk_space_label Disk space
-project_admin_quotas quota_space_label Quota disk management
-project_admin_quotas quota_settings_label Quota settings
-project_admin_quotas quota_soft_label Quota soft
-project_admin_quotas quota_hard_label Quota hard
-project_admin_quotas quota_group1_label Home, Ftp
-project_admin_quotas quota_groupscm_label Cvs, Svn
-project_admin_quotas quota_exceed Quota exceeded
-project_admin_quotas with_ftp_home With ftp and home quota control
-project_admin_quotas with_scm With cvs and svn quota control
-project_admin_quotas without Without quota control
Copied: trunk/gforge/plugins/quota_management/common/languages/Base.tab (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/common/languages/Base.tab)
Deleted: trunk/gforge/plugins/quota_management/common/quota_management-init.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/common/quota_management-init.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/common/quota_management-init.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,33 +0,0 @@
-<?php
-
-/**
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once ('quota_managementPlugin.class') ;
-
-$quota_managementPluginObject = new quota_managementPlugin ;
-
-register_plugin ($quota_managementPluginObject) ;
-
-// Local Variables:
-// mode: php
-// c-file-style: "bsd"
-// End:
-
-?>
Copied: trunk/gforge/plugins/quota_management/common/quota_management-init.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/common/quota_management-init.php)
Deleted: trunk/gforge/plugins/quota_management/common/quota_managementPlugin.class
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/common/quota_managementPlugin.class 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/common/quota_managementPlugin.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,160 +0,0 @@
-<?php
-
-/**
- * quota_managementPlugin Class
- *
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-class quota_managementPlugin extends Plugin {
- function quota_managementPlugin () {
- $this->Plugin() ;
- $this->name = "quota_management" ;
- $this->text = "quota_management!" ; // To show in the tabs, use...
- $this->hooks[] = "user_personal_links";//to make a link to the user´s personal part of the plugin
- $this->hooks[] = "usermenu" ;
- $this->hooks[] = "groupmenu" ; // To put into the project tabs
- $this->hooks[] = "groupisactivecheckbox" ; // The "use ..." checkbox in editgroupinfo
- $this->hooks[] = "groupisactivecheckboxpost" ; //
- $this->hooks[] = "userisactivecheckbox" ; // The "use ..." checkbox in user account
- $this->hooks[] = "userisactivecheckboxpost" ; //
- $this->hooks[] = "project_admin_plugins"; // to show up in the admin page fro group
- $this->hooks[] = "quota_admin_tab"; // to show in admin
- $this->hooks[] = "quota_label_project_admin"; // to show in admin project
- $this->hooks[] = "quota_link_project_admin"; // to show in admin project
- }
-
- function CallHook ($hookname, $params) {
- global $use_quota_managementplugin,$G_SESSION,$HTML,$Language;
- $group_id=$params['group'];
- if ($hookname == "usermenu") {
- $text = $this->text; // this is what shows in the tab
- if ($G_SESSION->usesPlugin("quota_management")) {
- $param = '?type=user&id=' . $G_SESSION->getId() . "&pluginname=" . $this->name; // we indicate the part we´re calling is the user one
- echo ' | ' . $HTML->PrintSubMenu (array ($text),
- array ('/plugins/quota_management/index.php' . $param ));
- }
- } elseif ($hookname == "groupmenu") {
- $project = &group_get_object($group_id);
- if (!$project || !is_object($project)) {
- return;
- }
- if ($project->isError()) {
- return;
- }
- if (!$project->isProject()) {
- return;
- }
- if ( $project->usesPlugin ( $this->name ) ) {
- $params['TITLES'][]=$this->text;
- $params['DIRS'][]='/plugins/quota_management/index.php?type=group&id=' . $group_id . "&pluginname=" . $this->name; // we indicate the part we´re calling is the project one
- } else {
- // $params['TITLES'][]=$this->text." is [Off]";
- }
- (($params['toptab'] == $this->name) ? $params['selected']=(count($params['TITLES'])-1) : '' );
- } elseif ($hookname == "groupisactivecheckbox") {
- //Check if the group is active
- } elseif ($hookname == "groupisactivecheckboxpost") {
- // this code actually activates/deactivates the plugin after the form was submitted in the project edit public info page
- $group = &group_get_object($group_id);
- $use_quota_managementplugin = getStringFromRequest('use_quota_managementplugin');
- if ( $use_quota_managementplugin == 1 ) {
- $group->setPluginUse ( $this->name );
- } else {
- $group->setPluginUse ( $this->name, false );
- }
- } elseif ($hookname == "userisactivecheckbox") {
- //check if user is active
- // this code creates the checkbox in the user account manteinance page to activate/deactivate the plugin
- $user = $params['user'];
- echo "<tr>";
- echo "<td>";
- echo ' <input type="CHECKBOX" name="use_quota_managementplugin" value="1" ';
- // CHECKED OR UNCHECKED?
- if ( $user->usesPlugin ( $this->name ) ) {
- echo "CHECKED";
- }
- echo "> Use ".$this->text." Plugin";
- echo "</td>";
- echo "</tr>";
- } elseif ($hookname == "userisactivecheckboxpost") {
- // this code actually activates/deactivates the plugin after the form was submitted in the user account manteinance page
- $user = $params['user'];
- $use_quota_managementplugin = getStringFromRequest('use_quota_managementplugin');
- if ( $use_quota_managementplugin == 1 ) {
- $user->setPluginUse ( $this->name );
- } else {
- $user->setPluginUse ( $this->name, false );
- }
- echo "<tr>";
- echo "<td>";
- echo ' <input type="CHECKBOX" name="use_quota_managementplugin" value="1" ';
- // CHECKED OR UNCHECKED?
- if ( $user->usesPlugin ( $this->name ) ) {
- echo "CHECKED";
- }
- echo "> Use ".$this->text." Plugin";
- echo "</td>";
- echo "</tr>";
- } elseif ($hookname == "user_personal_links") {
- global $Language;
- // this displays the link in the user´s profile page to it´s personal quota_management (if you want other sto access it, youll have to change the permissions in the index.php
- $userid = $params['user_id'];
- $user = user_get_object($userid);
- $text = $params['text'];
- //check if the user has the plugin activated
- if ($user->usesPlugin($this->name)) {
- echo ' <p>
- <a href="/plugins/quota_management/index.php?id=' . $userid . '&type=user&pluginname=' . $this->name . '">' . $Language->getText('user_home','view_quota_management') .'</a></p>';
- }
- } elseif ($hookname == "project_admin_plugins") {
- global $Language;
- // this displays the link in the project admin options page to it´s quota_management administration
- $group_id = $params['group_id'];
- $group = &group_get_object($group_id);
- if ( $group->usesPlugin ( $this->name ) ) {
- echo '<a href="/plugins/quota_management/index.php?id=' . $group->getID() . '&type=admin&pluginname=' . $this->name . '">' . $Language->getText('project_admin','quota_management') . '</a><br />';
- }
- }
- elseif ($hookname == "blahblahblah") {
- // ...
- }
- elseif ($hookname == "quota_admin_tab") {
- // www/admin/index.php line 167
- // ...
- ?>
- <li><a href="/plugins/quota_management/quota.php"><?php echo $Language->getText('admin_quotas','quotas_title'); ?></a></li>
- <?php
- }
- elseif ($hookname == "quota_label_project_admin") {
- // www/project/admin/project_admin_utils.php line 80
- $labels[] = $Language->getText('project_admin_utils','quotas');
- }
- elseif ($hookname == "quota_link_project_admin") {
- // www/project/admin/project_admin_utils.php line 99
- $links[] = '/plugins/quota_management/quota.php?group_id='.$group_id;
- }
- }
-}
-
-// Local Variables:
-// mode: php
-// c-file-style: "bsd"
-// End:
-
-?>
Copied: trunk/gforge/plugins/quota_management/common/quota_managementPlugin.class (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/common/quota_managementPlugin.class)
Copied: trunk/gforge/plugins/quota_management/cronjobs (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/cronjobs)
Deleted: trunk/gforge/plugins/quota_management/cronjobs/quota_update.pl
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/cronjobs/quota_update.pl 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/cronjobs/quota_update.pl 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,64 +0,0 @@
-#!/usr/bin/perl
-#
-# **
-# * Quota management support.
-# *
-# * Copyright 2005 (c) Sogeti-Transiciel Technologies
-# *
-# * @author Olivier Fourdan ofourdan at mail.transiciel.com
-# * @date 2005-11-21
-# *
-# * This file is released under the GNU GPL license.
-# *
-# **
-
-use DBI;
-use Quota;
-
-require("/usr/lib/gforge/lib/include.pl");
-
-my $BLOCK_SIZE=$ENV{'BLOCK_SIZE'} || 1024;
-
-sub set_quota
-{
- my ($gid, $group_name, $quota_soft, $quota_hard) = @_;
- my $dev = Quota::getqcarg ($grpdir_prefix);
- my ($bc,$bs,$bh,$bt, $ic,$is,$ih,$it) = Quota::query ($dev, $gid, 1);
-
- print "Setting Quota for group \"$group_name\" ($gid) on device \"$dev\":\n";
- printf " - Current usage is %i blocks (%.2f Mb).\n", $bc, $bc / $BLOCK_SIZE;
- print " - Current limits: $bs blocks soft, $bh blocks hard.\n";
- Quota::setqlim ($dev, $gid, $quota_soft, $quota_hard, 0, 0, 0, 1);
- Quota::sync ($dev);
- ($bc,$bs,$bh,$bt, $ic,$is,$ih,$it) = Quota::query ($dev, $gid, 1);
- print " - New limits: $bs blocks soft, $bh blocks hard.\n";
-}
-
-sub update_quota
-{
- $sql = "SELECT unix_group_name, quota_soft, quota_hard FROM groups";
- $res = $dbh->prepare($sql);
- $res->execute();
-
- while ( my ($group, $quota_soft, $quota_hard) = $res->fetchrow())
- {
- my $scm_group = "scm_" . $group ;
- my $gid = getgrnam($group);
- if ($gid)
- {
- &set_quota ($gid, $group, $quota_soft, $quota_hard);
- }
-
- # Also set limits for the scm group, as it's a different one....
- $gid = getgrnam($scm_group);
- if ($gid)
- {
- &set_quota ($gid, $scm_group, $quota_soft, $quota_hard);
- }
-
- }
-}
-
-### Main ###
-&db_connect;
-&update_quota;
\ No newline at end of file
Copied: trunk/gforge/plugins/quota_management/cronjobs/quota_update.pl (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/cronjobs/quota_update.pl)
Copied: trunk/gforge/plugins/quota_management/db (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/db)
Deleted: trunk/gforge/plugins/quota_management/db/quota_management-init.sql
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/db/quota_management-init.sql 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/db/quota_management-init.sql 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,17 +0,0 @@
--- **
--- * Quota management support.
--- *
--- * Copyright 2005 (c) Sogeti-Transiciel Technologies
--- *
--- * @author Olivier Fourdan ofourdan at mail.transiciel.com
--- * @date 2005-11-15
--- *
--- * This file is released under the GNU GPL license.
--- *
--- **
-ALTER TABLE groups ADD COLUMN quota_soft int;
-ALTER TABLE groups ALTER COLUMN quota_soft SET DEFAULT 0;
-ALTER TABLE groups ADD COLUMN quota_hard int;
-ALTER TABLE groups ALTER COLUMN quota_hard SET DEFAULT 0;
-UPDATE groups SET quota_soft=0;
-UPDATE groups SET quota_hard=0;
\ No newline at end of file
Copied: trunk/gforge/plugins/quota_management/db/quota_management-init.sql (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/db/quota_management-init.sql)
Copied: trunk/gforge/plugins/quota_management/etc (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/etc)
Copied: trunk/gforge/plugins/quota_management/etc/plugins (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/etc/plugins)
Copied: trunk/gforge/plugins/quota_management/etc/plugins/quota_management (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/etc/plugins/quota_management)
Copied: trunk/gforge/plugins/quota_management/www (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/www)
Deleted: trunk/gforge/plugins/quota_management/www/index.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/www/index.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/www/index.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * quota_management plugin
- *
- * Daniel Perez <danielperez.arg at gmail.com>
- *
- * This is an example to watch things in action. You can obviously modify things and logic as you see fit
- */
-
-require_once('pre.php');
-require_once ('plugins/quota_management/config.php');
-
-// the header that displays for the user portion of the plugin
-function quota_management_Project_Header($params) {
- global $DOCUMENT_ROOT,$HTML,$id,$Language;
- $params['toptab']='quota_management';
- $params['group']=$id;
- /*
- Show horizontal links
- */
- site_project_header($params);
-}
-
-// the header that displays for the project portion of the plugin
-function quota_management_User_Header($params) {
- global $DOCUMENT_ROOT,$HTML,$user_id,$Language;
- $params['toptab']='quota_management';
- $params['user']=$user_id;
- /*
- Show horizontal links
- */
- site_user_header($params);
-}
-
-
- $user = session_get_user(); // get the session user
-
- if (!$user || !is_object($user) || $user->isError() || !$user->isActive()) {
- exit_error("Invalid User", "Cannot Process your request for this user.");
- }
-
- $type = getStringFromRequest('type');
- $id = getStringFromRequest('id');
- $pluginname = getStringFromRequest('pluginname');
-
- if (!$type) {
- exit_error("Cannot Process your request","No TYPE specified"); // you can create items in Base.tab and customize this messages
- } elseif (!$id) {
- exit_error("Cannot Process your request","No ID specified");
- } else {
- if ($type == 'group') {
- $group = group_get_object($id);
- if ( !$group) {
- exit_error("Invalid Project", "Inexistent Project");
- }
- if ( ! ($group->usesPlugin ( $pluginname )) ) {//check if the group has the quota_management plugin active
- exit_error("Error", "First activate the $pluginname plugin through the Project's Admin Interface");
- }
- $userperm = $group->getPermission($user);//we´ll check if the user belongs to the group (optional)
- if ( !$userperm->IsMember()) {
- exit_error("Access Denied", "You are not a member of this project");
- }
- // other perms checks here...
- quota_management_Project_Header(array('title'=>$pluginname . ' Project Plugin!','pagename'=>"$pluginname",'sectionvals'=>array(group_getname($id))));
- // DO THE STUFF FOR THE PROJECT PART HERE
- echo "We are in the Project quota_management plugin <br>";
- echo "Greetings from planet " . $world; // $world comes from the config file in /etc
- } elseif ($type == 'user') {
- $realuser = user_get_object($id);//
- if (!($realuser) || !($realuser->usesPlugin($pluginname))) {
- exit_error("Error", "First activate the User's $pluginname plugin through Account Manteinance Page");
- }
- if ( (!$user) || ($user->getID() != $id)) { // if someone else tried to access the private quota_management part of this user
- exit_error("Access Denied", "You cannot access other user's personal $pluginname");
- }
- quota_management_User_Header(array('title'=>'My '.$pluginname,'pagename'=>"$pluginname",'sectionvals'=>array($realuser->getUnixName())));
- // DO THE STUFF FOR THE USER PART HERE
- echo "We are in the User quota_management plugin <br>";
- echo "Greetings from planet " . $world; // $world comes from the config file in /etc
- } elseif ($type == 'admin') {
- $group = group_get_object($id);
- if ( !$group) {
- exit_error("Invalid Project", "Inexistent Project");
- }
- if ( ! ($group->usesPlugin ( $pluginname )) ) {//check if the group has the quota_management plugin active
- exit_error("Error", "First activate the $pluginname plugin through the Project's Admin Interface");
- }
- $userperm = $group->getPermission($user);//we´ll check if the user belongs to the group
- if ( !$userperm->IsMember()) {
- exit_error("Access Denied", "You are not a member of this project");
- }
- //only project admin can access here
- if ( $userperm->isAdmin() ) {
- quota_management_Project_Header(array('title'=>$pluginname . ' Project Plugin!','pagename'=>"$pluginname",'sectionvals'=>array(group_getname($id))));
- // DO THE STUFF FOR THE PROJECT ADMINISTRATION PART HERE
- echo "We are in the Project quota_management plugin <font color=\"#ff0000\">ADMINISTRATION</font> <br>";
- echo "Greetings from planet " . $world; // $world comes from the config file in /etc
- } else {
- exit_error("Access Denied", "You are not a project Admin");
- }
- }
- }
-
- site_project_footer(array());
-
-?>
Copied: trunk/gforge/plugins/quota_management/www/index.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/www/index.php)
Deleted: trunk/gforge/plugins/quota_management/www/quota.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/www/quota.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/www/quota.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,448 +0,0 @@
-<?php
-/**
- * Project Admin page to manage quotas disk and database
- *
- *
- * Fabio Bertagnin November 2005
- *
- * @version $Id: 08_IMPROVQUOTA_90_quota_management.dpatch,v 1.1 2006/01/11 17:02:45 fabio Exp $
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-require_once('pre.php');
-require_once('www/admin/admin_utils.php');
-
-$_quota_block_size = 1024;
-$_quota_block_size = trim(shell_exec("echo $BLOCK_SIZE")) + 0;
-if ($_quota_block_size == 0) $_quota_block_size = 1024;
-
-site_admin_header(array('title'=>$Language->getText('admin_index','title')));
-?>
-<h4>
- <?php echo $Language->getText('admin_quotas','quotas_title'); ?>
-
- <a href="quota_admin.php">Admin</a>
-</h4>
-<?php
-// stock projects infos in array
-$quotas = array();
-
-// all projects list
-$SQL = "SELECT group_id, group_name, unix_group_name, quota_soft, quota_hard FROM groups ORDER BY group_id ";
-$res_db = db_query($SQL);
-if (db_numrows($res_db) > 0)
-{
- while($e = db_fetch_array($res_db))
- {
- $quotas["$e[group_id]"]["group_id"] = $e["group_id"];
- $quotas["$e[group_id]"]["name"] = $e["group_name"];
- $quotas["$e[group_id]"]["unix_name"] = $e["unix_group_name"];
- $quotas["$e[group_id]"]["database_size"] = 0;
- $quotas["$e[group_id]"]["disk_size_other"] = 0;
- $quotas["$e[group_id]"]["disk_size_1"] = 0;
- $quotas["$e[group_id]"]["disk_size_scm"] = 0;
- $quotas["$e[group_id]"]["quota_hard"] = $e["quota_hard"] * $_quota_block_size;
- $quotas["$e[group_id]"]["quota_soft"] = $e["quota_soft"] * $_quota_block_size;
- }
-}
-
-// documents database size
-$SQL = "SELECT group_id, SUM(octet_length(data)) as size, SUM(octet_length(data_words)) as size1 ";
-$SQL .= "FROM doc_data ";
-$SQL .= "GROUP BY group_id ";
-$res_db = db_query($SQL);
-if (db_numrows($res_db) > 0)
-{
- while($e = db_fetch_array($res_db))
- {
- $q = array();
- print_debug("doc grp=$e[group_id] size=$e[size]");
- $quotas["$e[group_id]"]["database_size"] += $e["size"];
- $quotas["$e[group_id]"]["database_size"] += $e["size1"];
- }
-}
-
-// news database size
-$SQL = "SELECT group_id, SUM(octet_length(summary) + octet_length(details)) as size \n";
-$SQL .= "FROM news_bytes \n";
-$SQL .= "GROUP BY group_id \n";
-$res_db = db_query($SQL);
-if (db_numrows($res_db) > 0)
-{
- while($e = db_fetch_array($res_db))
- {
- print_debug("news grp=$e[group_id] size=$e[size]");
- $quotas["$e[group_id]"]["database_size"] += $e["size"];
- }
-}
-
-// forums database size
-$SQL = "SELECT forum_group_list.group_id as group_id, SUM(octet_length(subject)+octet_length(body)) as size \n";
-$SQL .= "FROM forum \n";
-$SQL .= "INNER JOIN forum_group_list \n";
-$SQL .= "ON forum.group_forum_id = forum_group_list.group_forum_id \n";
-$SQL .= "GROUP BY group_id \n";
-$res_db = db_query($SQL);
-if (db_numrows($res_db) > 0)
-{
- while($e = db_fetch_array($res_db))
- {
- print_debug("forum grp=$e[group_id] size=$e[size]");
- $quotas["$e[group_id]"]["database_size"] += convert_bytes_to_mega($e["size"]);
- }
-}
-
-// disk space size
-$chroot_dir = $sys_chroot;
-$ftp_dir = $sys_ftp_upload_dir."/pub/";
-$upload_dir = $sys_upload_dir;
-$group_dir = $chroot_dir.$groupdir_prefix."/";
-$cvs_dir = $chroot_dir.$cvsdir_prefix."/";
-$svn_dir = $chroot_dir.$svndir_prefix."/";
-
-
-foreach ($quotas as $p)
-{
- $group_id = $p["group_id"];
- // upload dir disk space
- $dir = $upload_dir . $p["unix_name"];
- $size = get_dir_size($dir);
- $quotas["$group_id"]["disk_size_other"] += $size;
- print_debug("upload=$dir size=$size");
- // ftp dir disk space
- $dir = $ftp_dir . $p["unix_name"];
- $size = get_dir_size($dir);
- $quotas["$group_id"]["disk_size_1"] += $size;
- print_debug("ftp=$dir size=$size");
- // home dir disk space
- $dir = $group_dir . $p["unix_name"];
- $size = get_dir_size($dir);
- $quotas["$group_id"]["disk_size_1"] += $size;
- print_debug("home=$dir size=$size");
- // cvs dir disk space
- $dir = $cvs_dir . $p["unix_name"];
- $size = get_dir_size($dir);
- $quotas["$group_id"]["disk_size_scm"] += $size;
- print_debug("cvs=$dir size=$size");
- // svn dir disk space
- $dir = $svn_dir . $p["unix_name"];
- $size = get_dir_size($dir);
- $quotas["$group_id"]["disk_size_scm"] += $size;
- print_debug("svn=$dir size=$size");
-}
-
-// users disk space size
-$chroot_dir = $sys_chroot;
-$ftp_dir = $chroot_dir."/home/users/";
-$users = array();
-$SQL = "SELECT user_id, user_name, realname, unix_status FROM users ORDER BY user_id ";
-$res_db = db_query($SQL);
-if (db_numrows($res_db) > 0)
-{
- while($e = db_fetch_array($res_db))
- {
- print_debug("users name=$e[user_name] status=$e[unix_status]");
- if ($e["unix_status"] != "N")
- {
- $users["$e[user_id]"]["user_id"] = $e["user_id"];
- $users["$e[user_id]"]["user_name"] = "$e[user_name]";
- $users["$e[user_id]"]["realname"] = "$e[realname]";
- $users["$e[user_id]"]["unix_status"] = "$e[unix_status]";
- $users["$e[user_id]"]["disk_size"] = 0;
- }
- }
-}
-foreach ($users as $u)
-{
- print_debug("---------------------------------------");
- $user_id = $u["user_id"];
- $dir = $ftp_dir . $u["user_name"];
- $size = get_dir_size($dir);
- $users["$user_id"]["disk_size"] += convert_bytes_to_mega($size);
- print_debug("$user_id user=$u[user_name] dir=$dir size=$size");
-}
-
-?>
-<table width="800px" cellpadding="2" cellspacing="0" border="0">
- <tr style="">
- <td style="border-top:thick solid #808080;font-weight:bold" colspan="3">
- <?php echo $Language->getText('admin_quotas','projects_space_label'); ?>
- </td>
- <td style="border-top:thick solid #808080" colspan="7">
- <span style="font-size:10px">
- (
- <?php echo $Language->getText('admin_quotas','project'); ?>* :
- <?php echo $Language->getText('admin_quotas','project_expl'); ?>
-
- <?php echo $Language->getText('admin_quotas','disk_scm'); ?>* :
- <?php echo $Language->getText('admin_quotas','disk_scm_expl'); ?>
-
- <?php echo $Language->getText('admin_quotas','disk_other'); ?>* :
- <?php echo $Language->getText('admin_quotas','disk_other_expl'); ?>
- )
- </span>
- </td>
- </tr>
- <tr>
- <td style="border-top:thin solid #808080">
- <?php echo $Language->getText('admin_quotas','id'); ?>
- </td>
- <td style="border-top:thin solid #808080">
- <?php echo $Language->getText('admin_quotas','name'); ?>
- </td>
- <td style="border-top:thin solid #808080"><br /></td>
- <td style="border-top:thin solid #808080;background:#e0e0e0" align="right">
- <?php echo $Language->getText('admin_quotas','database'); ?>
- </td>
- <td style="border-top:thin solid #808080;background:#e0e0e0" align="right">
- <?php echo $Language->getText('admin_quotas','project'); ?>*
- </td>
- <td style="border-top:thin solid #808080;background:#e0e0e0" align="right">
- <?php echo $Language->getText('admin_quotas','disk_scm'); ?>*
- </td>
- <td style="border-top:thin solid #808080;background:#e0e0e0" align="right">
- <?php echo $Language->getText('admin_quotas','disk_other'); ?>*
- </td>
- <td style="border-top:thin solid #808080;background:#e0e0e0" align="right">
- <?php echo $Language->getText('admin_quotas','total'); ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo $Language->getText('admin_quotas','quota_soft_name'); ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo $Language->getText('admin_quotas','quota_hard_name'); ?>
- </td>
- </tr>
- <?php
- $total_database = 0;
- $total_disk = 0;
- foreach ($quotas as $q)
- {
- $total_database += $q["database_size"];
- $total_disk_1 += $q["disk_size_1"];
- $total_disk_other += $q["disk_size_other"];
- $total_disk_scm += $q["disk_size_scm"];
- $total_disk += $q["disk_size_1"]+$q["disk_size_scm"]+$q["disk_size_other"];
- $local_disk_size = $q["database_size"]+$q["disk_size_1"]+$q["disk_size_scm"]+$q["disk_size_other"];
- $color1 = "#e0e0e0";
- $color2 = "#ffffff";
- $color0 = $color1;
- $colorq = $color2;
- if ($q["quota_soft"] > 0)
- {
- $color0 = "#E5ECB1";
- $colorq = $color0;
- }
- // echo "size $q[disk_size] quota $q[quota_soft] <br />";
- if (($q["disk_size_1"] > $q["quota_soft"] || $q["disk_size_scm"] > $q["quota_soft"]) && $q["quota_soft"] > 0)
- {
- $color1 = "#FF9898";
- $color2 = "#FFDCDC";
- $color0 = $color1;
- $colorq = $color2;
- }
- ?>
- <tr>
- <td style="border-top:thin solid #808080;background:<?php echo $color2; ?>"><?php echo $q["group_id"]; ?></td>
- <td style="border-top:thin solid #808080;background:<?php echo $color2; ?>">
- <a href="quota_project.php?group_id=<?php echo $q["group_id"]; ?>">
- <?php echo $q["unix_name"]; ?>
- </a>
- </td>
- <td style="border-top:thin solid #808080;background:<?php echo $color2; ?>">
- <?php echo $q["name"]; ?>
- </td>
- <td style="border-top:thin solid #808080;background:<?php echo $color1; ?>" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($q["database_size"])); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thin solid #808080;background:<?php echo $color0; ?>" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($q["disk_size_1"])); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thin solid #808080;background:<?php echo $color0; ?>" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($q["disk_size_scm"])); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thin solid #808080;background:<?php echo $color1; ?>" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($q["disk_size_other"])); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thin solid #808080;background:<?php echo $color1; ?>;font-weight:bold" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($local_disk_size)); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thin solid #808080;background:<?php echo $colorq; ?>" align="right">
- <?php
- if ($q["quota_soft"] > 0)
- {
- echo add_numbers_separator(convert_bytes_to_mega($q["quota_soft"]));
- echo " ";
- echo $Language->getText('admin_quotas','mbytes');
- }
- else
- {
- echo "---";
- }
- ?>
- </td>
- <td style="border-top:thin solid #808080;background:<?php echo $colorq; ?>" align="right">
- <?php
- if ($q["quota_hard"] > 0)
- {
- echo add_numbers_separator(convert_bytes_to_mega($q["quota_hard"]));
- echo " ";
- echo $Language->getText('admin_quotas','mbytes');
- }
- else
- {
- echo "---";
- }
- ?>
- </td>
- </tr>
- <?php
- }
-?>
- <tr style="font-weight:bold">
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080">
- <?php echo $Language->getText('admin_quotas','total'); ?>
- </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080;background:#e0e0e0" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($total_database)); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080;background:#e0e0e0" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($total_disk_1)); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080;background:#e0e0e0" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($total_disk_scm)); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080;background:#e0e0e0" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($total_disk_other)); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080;background:#e0e0e0" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($total_database+$total_disk_1+$total_disk_scm+$total_disk_other)); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- </tr>
-</table>
-<br />
-<br />
-<table width="700px" cellpadding="2" cellspacing="0" border="0">
- <tr style="font-weight:bold">
- <td style="border-top:thick solid #808080" colspan="6">
- <?php echo $Language->getText('admin_quotas','users_space_label'); ?>
- </td>
- </tr>
- <tr>
- <td style="border-top:thin solid #808080"><?php echo $Language->getText('admin_quotas','id'); ?></td>
- <td style="border-top:thin solid #808080"><?php echo $Language->getText('admin_quotas','name'); ?></td>
- <td style="border-top:thin solid #808080"><br /></td>
- <td style="border-top:thin solid #808080"><br /></td>
- <td style="border-top:thin solid #808080"><br /></td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo $Language->getText('admin_quotas','disk'); ?>
- </td>
- </tr>
- <?php
- $total = 0;
- foreach ($users as $u)
- {
- $total += $u["disk_size"];
- ?>
- <tr>
- <td style="border-top:thin solid #808080"><?php echo $u["user_id"]; ?></td>
- <td style="border-top:thin solid #808080"><?php echo $u["user_name"]; ?></td>
- <td style="border-top:thin solid #808080"><?php echo $u["realname"]; ?></td>
- <td style="border-top:thin solid #808080"><br /></td>
- <td style="border-top:thin solid #808080"><br /></td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo add_numbers_separator($u["disk_size"]); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- </tr>
- <?php
- }
-?>
- <tr style="font-weight:bold">
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080">
- <?php echo $Language->getText('admin_quotas','total'); ?>
- </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080" align="right">
- <?php echo add_numbers_separator($total); ?>
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- </tr>
-</table>
-<?php
-
-
-print_debug(print_r($quotas, true));
-print_debug(print_r($users, true));
-
-site_admin_footer(array());
-?>
-
-<?php
-
-function convert_bytes_to_mega ($mega)
-{
- $b = round($mega / (1024*1024), 0);
- return $b;
-}
-
-function print_debug ($text)
-{
-// echo "<pre>$text</pre>";
-}
-function add_numbers_separator ($val, $sep=' ')
-{
- $size = "$val";
- $size = strrev($size);
- $size = wordwrap($size, 3, $sep, 1);
- $size = strrev($size);
- return $size;
-}
-function get_dir_size ($dir)
-{
- $size = "";
- $cmd = "/usr/bin/du -bs $dir";
- $res = shell_exec ($cmd);
- $a = explode("\t", $res);
- if (isset($a[1])) $size = $a[0];
- return "$size";
-}
-
-?>
-
-
-
-
Copied: trunk/gforge/plugins/quota_management/www/quota.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/www/quota.php)
Deleted: trunk/gforge/plugins/quota_management/www/quota_admin.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/www/quota_admin.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/www/quota_admin.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,194 +0,0 @@
-<?php
-/**
- * Project Admin page to manage quotas disk and database
- *
- *
- * Fabio Bertagnin November 2005
- *
- * @version $Id: 08_IMPROVQUOTA_90_quota_management.dpatch,v 1.1 2006/01/11 17:02:45 fabio Exp $
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-require_once('pre.php');
-require_once('www/admin/admin_utils.php');
-
-
-$_quota_block_size = 1024;
-$_quota_block_size = trim(shell_exec("echo $BLOCK_SIZE")) + 0;
-if ($_quota_block_size == 0) $_quota_block_size = 1024;
-
-// session_require(array('group'=>$group_id,'admin_flags'=>'A'));
-
-site_admin_header(array('title'=>$Language->getText('admin_index','title')));
-
-
-?>
-<h4>
- <a href="quota.php"><?php echo $Language->getText('admin_quotas','quotas_title'); ?></a>
-
- <?php echo $Language->getText('admin_quotas','quotas_admin_title'); ?>
-</h4>
-<?php
-
-// echo "<pre>".print_r($_POST, true)."</pre>";
-
-// quota update
-if ($_POST["cmd"] == "maj")
-{
- $qs = $_POST["qs"] * $_quota_block_size;
- $qh = $_POST["qh"] * $_quota_block_size;
- if ($qs > $qh)
- {
- $message = utf8_encode($Language->getText('admin_quotas','quota_val_invalid'));
- echo "<h3 style=\"color:red\">$message</h3>";
- }
- else
- {
- $SQL = "UPDATE groups SET quota_soft = $qs, quota_hard = $qh WHERE group_id = $_POST[group_id] ";
- db_query($SQL);
- $message = utf8_encode($Language->getText('admin_quotas','quota_val_update_success'));
- echo "<h3 style=\"color:red\">$message</h3>";
- }
-}
-
-
-// stock projects infos in array
-$quotas = array();
-
-// all projects list
-$SQL = "SELECT group_id, group_name, unix_group_name, quota_soft, quota_hard FROM groups ORDER BY group_id ";
-$res_db = db_query($SQL);
-if (db_numrows($res_db) > 0)
-{
- while($e = db_fetch_array($res_db))
- {
- $qh = $e["quota_hard"] / $_quota_block_size;
- $qs = $e["quota_soft"] / $_quota_block_size;
- $quotas["$e[group_id]"]["group_id"] = $e["group_id"];
- $quotas["$e[group_id]"]["name"] = $e["group_name"];
- $quotas["$e[group_id]"]["unix_name"] = $e["unix_group_name"];
- $quotas["$e[group_id]"]["database_size"] = 0;
- $quotas["$e[group_id]"]["disk_size"] = 0;
- $quotas["$e[group_id]"]["quota_hard"] = $qh;
- $quotas["$e[group_id]"]["quota_soft"] = $qs;
- }
-}
-
-
-
-?>
-<table width="700px" cellpadding="2" cellspacing="0" border="0">
- <tr style="font-weight:bold">
- <td style="border-top:thick solid #808080" colspan="6"><?php echo $Language->getText('admin_quotas','projects_space_modif'); ?></td>
- </tr>
- <tr>
- <td style="border-top:thin solid #808080"><?php echo $Language->getText('admin_quotas','id'); ?></td>
- <td style="border-top:thin solid #808080"><?php echo $Language->getText('admin_quotas','name'); ?></td>
- <td style="border-top:thin solid #808080"><br /></td>
- <td style="border-top:thin solid #808080" align="right"><?php echo $Language->getText('admin_quotas','quota_soft_name'); ?></td>
- <td style="border-top:thin solid #808080" align="right"><?php echo $Language->getText('admin_quotas','quota_hard_name'); ?></td>
- <td style="border-top:thin solid #808080"><br /></td>
- </tr>
- <?php
- $total_database = 0;
- $total_disk = 0;
- foreach ($quotas as $q)
- {
- $total_database += $q["database_size"];
- $total_disk += $q["disk_size"];
- ?>
- <form action="quota_admin.php" method="POST">
- <input type="hidden" name="cmd" value="maj" />
- <input type="hidden" name="group_id" value="<?php echo $q["group_id"]; ?>" />
- <tr>
- <td style="border-top:thin solid #808080"><?php echo $q["group_id"]; ?></td>
- <td style="border-top:thin solid #808080"><a href="/project/admin/quota.php?group_id=<?php echo $q["group_id"]; ?>">
- <?php echo $q["unix_name"]; ?>
- </a></td>
- <td style="border-top:thin solid #808080"><?php echo $q["name"]; ?></td>
- <td style="border-top:thin solid #808080" align="right">
- <input type="text" name="qs"
- size="12"
- value="<?php echo $q["quota_soft"]; ?>"
- style="background:#ffffd0;text-align:right" />
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <input type="text" name="qh"
- size="12"
- value="<?php echo $q["quota_hard"]; ?>"
- style="background:#ffffd0;text-align:right" />
- <?php echo $Language->getText('admin_quotas','mbytes'); ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <input type="submit" value="<?php echo $Language->getText('admin_quotas','modify_button'); ?>" />
- </td>
- </tr>
- </form>
- <?php
- }
-?>
- <tr style="font-weight:bold">
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><br /></td>
- </tr>
-</table>
-<br />
-<br />
-<?php
-
-
-print_debug(print_r($quotas, true));
-print_debug(print_r($users, true));
-
-site_admin_footer(array());
-?>
-
-<?php
-function print_debug ($text)
-{
-// echo "<pre>$text</pre>";
-}
-function add_numbers_separator ($val, $sep=' ')
-{
- $size = "$val";
- $size = strrev($size);
- $size = wordwrap($size, 3, $sep, 1);
- $size = strrev($size);
- return $size;
-}
-function get_dir_size ($dir)
-{
- $size = "";
- $cmd = "/usr/bin/du -bs $dir";
- $res = shell_exec ($cmd);
- $a = explode("\t", $res);
- if (isset($a[1])) $size = $a[0];
- return "$size";
-}
-
-?>
-
-
-
-
Copied: trunk/gforge/plugins/quota_management/www/quota_admin.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/www/quota_admin.php)
Deleted: trunk/gforge/plugins/quota_management/www/quota_project.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/quota_management/www/quota_project.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/quota_management/www/quota_project.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,407 +0,0 @@
-<?php
-/**
- * Project Admin page to manage quotas project
- *
- * Portions Copyright 1999-2001 (c) VA Linux Systems
- * The rest Copyright 2002-2004 (c) GForge Team
- * http://gforge.org/
- *
- * @version $Id: 08_IMPROVQUOTA_90_quota_management.dpatch,v 1.1 2006/01/11 17:02:45 fabio Exp $
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-require_once('pre.php');
-require_once('www/project/admin/project_admin_utils.php');
-
-if (!$sys_use_project_vhost) {
- exit_disabled();
-}
-
-session_require(array('group'=>$group_id,'admin_flags'=>'A'));
-
-$group = &group_get_object($group_id);
-
-if (!$group || !is_object($group)) {
- exit_error('Error','Error creating group object');
-} else if ($group->isError()) {
- exit_error('ERROR',$group->getErrorMessage());
-}
-
-
-project_admin_header(array('title'=>$Language->getText('project_admin_quotas','title'),'group'=>$group->getID(),'pagename'=>'project_admin_quotas','sectionvals'=>array(group_getname($group_id))));
-?>
-
-<h4><?php echo $Language->getText('project_admin_quotas','title'); ?></h4>
-
-<?php
-$quotas = array();
-$SQL = "SELECT SUM(octet_length(data)) as size, SUM(octet_length(data_words)) as size1, count(*) as nb ";
-$SQL .= "FROM doc_data ";
-$SQL .= "WHERE group_id = '$group_id' ";
-$res_db = db_query($SQL);
-$q = array();
-$q["name"] = $Language->getText('project_admin_quotas','documents_title');
-$q["nb"] = 0; $q["size"] = 0;
-$q1 = array();
-$q1["name"] = $Language->getText('project_admin_quotas','search_engine_title');
-$q["size"] = 0;
-if (db_numrows($res_db) > 0)
-{
- $e = db_fetch_array($res_db);
- $q["nb"] = $e["nb"];
- $q["size"] = $e["size"];
- // $q1["nb"] = $e["nb"];
- $q1["size"] = $e["size1"];
-}
-$quotas[0] = $q;
-$quotas[1] = $q1;
-
-$SQL = "SELECT SUM(octet_length(summary) + octet_length(details)) as size, count(*) as nb FROM news_bytes WHERE group_id = '$group_id' ";
-$res_db = db_query($SQL);
-$q = array();
-$q["name"] = $Language->getText('project_admin_quotas','news_title');
-$q["nb"] = 0; $q["size"] = 0;
-if (db_numrows($res_db) > 0)
-{
- $e = db_fetch_array($res_db);
- $q["nb"] = $e["nb"];
- $q["size"] = $e["size"];
-}
-$quotas[2] = $q;
-
-
-$SQL = "SELECT SUM(octet_length(subject)+octet_length(body)) as size, count(*) as nb FROM forum INNER JOIN forum_group_list ";
-$SQL .= "ON forum.group_forum_id = forum_group_list.group_forum_id WHERE group_id = '$group_id' ";
-$res_db = db_query($SQL);
-$q = array();
-$q["name"] = $Language->getText('project_admin_quotas','forums_title');
-$q["nb"] = 0; $q["size"] = 0;
-if (db_numrows($res_db) > 0)
-{
- $e = db_fetch_array($res_db);
- $q["nb"] = $e["nb"];
- $q["size"] = $e["size"];
-}
-$quotas[3] = $q;
-
-$quotas_disk = array();
-
-// espace disque
-// disk_total_space
-$_quota_block_size = 1024;
-$_quota_block_size = trim(shell_exec("echo $BLOCK_SIZE")) + 0;
-if ($_quota_block_size == 0) $_quota_block_size = 1024;
-$quota_soft = "";
-$quota_hard = "";
-$SQL = "SELECT quota_soft, quota_hard FROM groups WHERE group_id = $group_id";
-$res_db = db_query($SQL);
-if (db_numrows($res_db) > 0)
-{
- $e = db_fetch_array($res_db);
- $quota_hard = $e["quota_hard"];
- $quota_soft = $e["quota_soft"];
- $quota_hard = round(($_quota_block_size * $quota_hard) / (1024*1024), 0);
- $quota_soft = round(($_quota_block_size * $quota_soft) / (1024*1024), 0);
-}
-
-$quota_tot_other = 0;
-$quota_tot_1 = 0;
-$quota_tot_scm = 0;
-
-$upload_dir = $sys_upload_dir . $group->getUnixName();
-$chroot_dir = $sys_chroot;
-$ftp_dir = $sys_ftp_upload_dir."/pub/".$group->getUnixName();
-$group_dir = $chroot_dir.$groupdir_prefix . "/" . $group->getUnixName();
-$cvs_dir = $chroot_dir.$cvsdir_prefix . "/" . $group->getUnixName();
-$svn_dir = $chroot_dir.$svndir_prefix . "/" . $group->getUnixName();
-
-$q["name"] = $Language->getText('project_admin_quotas','upload_title');
-$q["path"] = "$upload_dir";
-$q["quota_label"] = $Language->getText('project_admin_quotas','without');
-$q["size"] = get_dir_size ("$upload_dir");
-$quota_tot_other += $q["size"];
-$quotas_disk[] = $q;
-
-$q["name"] = $Language->getText('project_admin_quotas','home_title');
-$q["path"] = "$group_dir"; $q["size"] = get_dir_size ("$group_dir");
-$q["quota_label"] = $Language->getText('project_admin_quotas','with_ftp_home');
-$quota_tot_1 += $q["size"];
-$quotas_disk[] = $q;
-
-$q["name"] = $Language->getText('project_admin_quotas','ftp_title');
-$q["path"] = "$ftp_dir"; $q["size"] = get_dir_size ("$ftp_dir");
-$q["quota_label"] = $Language->getText('project_admin_quotas','with_ftp_home');
-$quota_tot_1 += $q["size"];
-$quotas_disk[] = $q;
-
-$q["name"] = $Language->getText('project_admin_quotas','cvs_title');
-$q["path"] = "$cvs_dir"; $q["size"] = get_dir_size ("$cvs_dir");
-$q["quota_label"] = $Language->getText('project_admin_quotas','with_scm');
-$quota_tot_scm += $q["size"];
-$quotas_disk[] = $q;
-
-$q["name"] = $Language->getText('project_admin_quotas','svn_title');
-$q["path"] = "$svn_dir"; $q["size"] = get_dir_size ("$svn_dir");
-$q["quota_label"] = $Language->getText('project_admin_quotas','with_scm');
-$quota_tot_scm += $q["size"];
-$quotas_disk[] = $q;
-
-//echo "chroot = $chroot_dir <br />";
-//echo "ftp = $ftp_dir <br />";
-// echo "group = $group_dir <br />";
-// echo "svn = $svn_dir <br />";
-// echo "cvs = $cvs_dir <br />";
-
-
-
-
-
-// print_debug(print_r($quotas, true));
-?>
-
-<table width="500px" cellpadding="2" cellspacing="0" border="0">
- <tr style="font-weight:bold">
- <td colspan="3" style="border-top:thick solid #808080" align="center"><?php echo $Language->getText('project_admin_quotas','database_space_label'); ?></td>
- </tr>
- <tr style="font-weight:bold">
- <td style="border-top:thin solid #808080"><?php echo $Language->getText('project_admin_quotas','table_head_name'); ?></td>
- <td style="border-top:thin solid #808080" align="right"><?php echo $Language->getText('project_admin_quotas','table_head_nb'); ?></td>
- <td style="border-top:thin solid #808080" align="right"><?php echo $Language->getText('project_admin_quotas','table_head_size'); ?></td>
- </tr>
-<?php
- $sizetot = 0;
-foreach ($quotas as $q)
-{
- if ($q["size"] != "")
- {
- $sizetot += $q["size"];
- ?>
- <tr>
- <td style="border-top:thin solid #808080"><?php echo $q["name"]; ?></td>
- <td style="border-top:thin solid #808080" align="right"><?php echo $q["nb"]; ?></td>
- <td style="border-top:thin solid #808080" align="right"><?php echo add_numbers_separator(convert_bytes_to_mega($q["size"]))." ".$Language->getText('project_admin_quotas','size_metric'); ?></td>
- </tr>
-<?php
- }
-}
-?>
- <tr style="font-weight:bold">
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080">
- <?php echo $Language->getText('project_admin_quotas','total_label'); ?>
- </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"> </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($sizetot))." ".$Language->getText('project_admin_quotas','size_metric'); ?>
- </td>
- </tr>
-</table>
-<br />
-<br />
-<table width="500px" cellpadding="2" cellspacing="0" border="0">
- <tr style="font-weight:bold">
- <td colspan="3" style="border-top:thick solid #808080" align="center">
- <?php echo $Language->getText('project_admin_quotas','disk_space_label'); ?>
- </td>
- </tr>
- <tr style="font-weight:bold">
- <td style="border-top:thin solid #808080">
- <?php echo $Language->getText('project_admin_quotas','table_head_name'); ?>
- </td>
- <td style="border-top:thin solid #808080" align="right"> </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo $Language->getText('project_admin_quotas','table_head_size'); ?>
- </td>
- </tr>
-<?php
- $sizetot = 0;
-foreach ($quotas_disk as $q)
-{
- if ($q["size"] != "")
- {
- $sizetot += $q["size"];
-?>
- <tr>
- <td style="border-top:thin solid #808080"><?php echo $q["name"]; ?></td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo $q["quota_label"]; ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($q["size"]))." ".$Language->getText('project_admin_quotas','size_metric'); ?>
- </td>
- </tr>
-<?php
- }
-}
-?>
- <tr style="font-weight:bold">
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"><?php echo $Language->getText('project_admin_quotas','total_label'); ?></td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080"> </td>
- <td style="border-top:thick solid #808080;border-bottom:thick solid #808080" align="right">
- <?php echo add_numbers_separator(convert_bytes_to_mega($sizetot))." ".$Language->getText('project_admin_quotas','size_metric'); ?>
- </td>
- </tr>
-</table>
-<br />
-<br />
-
-
-<?php
-
- $color1 = "#ffffff";
- $color2 = "#ffffff";
- $msg1 = " ";
- $msg2 = " ";
- $qs = $quota_soft * 1024 * 1024;
- if (($quota_tot_1+0) > ($qs+0) && ($qs+0) > 0)
- {
- $color1 = "#FFDCDC";
- $msg1 = $Language->getText('project_admin_quotas','quota_exceed');
- }
- if (($quota_tot_scm+0) > ($qs+0) && ($qs+0) > 0)
- {
- $color2 = "#FFDCDC";
- $msg2 = $Language->getText('project_admin_quotas','quota_exceed');
- }
-?>
-
-<table width="500px" cellpadding="2" cellspacing="0" border="0">
- <tr style="font-weight:bold">
- <td colspan="4" style="border-top:thick solid #808080" align="center"><?php echo $Language->getText('project_admin_quotas','quota_space_label'); ?></td>
- </tr>
- <tr style="font-weight:bold">
- <td style="border-top:thin solid #808080">
- <?php echo $Language->getText('project_admin_quotas','quota_settings_label'); ?>
- </td>
- <td style="border-top:thin solid #808080;font-weight:bold" align="right">
-
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo $Language->getText('project_admin_quotas','quota_soft_label'); ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php echo $Language->getText('project_admin_quotas','quota_hard_label'); ?>
- </td>
- </tr>
- <tr style="background:<?php echo $color1; ?>">
- <td style="border-top:thin solid #808080">
- <?php echo $Language->getText('project_admin_quotas','quota_group1_label'); ?>
- </td>
- <td style="border-top:thin solid #808080;font-weight:bold;color:red" align="right">
- <?php echo $msg1; ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php
- if ($quota_soft == 0)
- {
- echo "---";
- }
- else
- {
- echo "$quota_soft";
- echo $Language->getText('admin_quotas','mbytes');
- }
- ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php
- if ($quota_hard == 0)
- {
- echo "---";
- }
- else
- {
- echo "$quota_hard";
- echo $Language->getText('admin_quotas','mbytes');
- }
- ?>
- </td>
- </tr>
- <tr style="background:<?php echo $color2; ?>">
- <td style="border-top:thin solid #808080">
- <?php echo $Language->getText('project_admin_quotas','quota_groupscm_label'); ?>
- </td>
- <td style="border-top:thin solid #808080;font-weight:bold;color:red" align="right">
- <?php echo $msg2; ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php
- if ($quota_soft == 0)
- {
- echo "---";
- }
- else
- {
- echo "$quota_soft";
- echo $Language->getText('admin_quotas','mbytes');
- }
- ?>
- </td>
- <td style="border-top:thin solid #808080" align="right">
- <?php
- if ($quota_hard == 0)
- {
- echo "---";
- }
- else
- {
- echo "$quota_hard";
- echo $Language->getText('admin_quotas','mbytes');
- }
- ?>
- </td>
- </tr>
- <tr style="font-weight:bold">
- <td colspan="4" style="border-top:thick solid #808080" align="center"> </td>
- </tr>
-</table>
-
-
-<?php project_admin_footer(array()); ?>
-
-<?php
-function print_debug ($text)
-{
- echo "<pre>$text</pre>";
-}
-
-function convert_bytes_to_mega ($mega)
-{
- $b = round($mega / (1024*1024), 0);
- return $b;
-}
-
-function add_numbers_separator ($val, $sep=' ')
-{
- $size = "$val";
- $size = strrev($size);
- $size = wordwrap($size, 3, $sep, 1);
- $size = strrev($size);
- return $size;
-}
-
-function get_dir_size ($dir)
-{
- $size = "";
- $cmd = "/usr/bin/du -bs $dir";
- $res = shell_exec ($cmd);
- $a = explode("\t", $res);
- if (isset($a[1])) $size = $a[0];
- return "$size";
-}
-?>
\ No newline at end of file
Copied: trunk/gforge/plugins/quota_management/www/quota_project.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/quota_management/www/quota_project.php)
Modified: trunk/gforge/plugins/scmccase/common/CCasePlugin.class
===================================================================
--- trunk/gforge/plugins/scmccase/common/CCasePlugin.class 2007-02-21 20:25:32 UTC (rev 5917)
+++ trunk/gforge/plugins/scmccase/common/CCasePlugin.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -35,7 +35,7 @@
$this->hooks[] = "group_approved";
$this->hooks[] = "scm_plugin";
- require_once('/etc/gforge/plugins/scmccase/config.php') ;
+ require_once('plugins/scmccase/config.php') ;
$this->default_ccase_server = $default_ccase_server ;
$this->this_server = $this_server ;
Copied: trunk/gforge/plugins/webcalendar (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar)
Deleted: trunk/gforge/plugins/webcalendar/AUTHORS
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/AUTHORS 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/AUTHORS 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,2 +0,0 @@
-Fabien Regnier <fabien.regnier at sogeti.com>
-Julien Jeany <julien.jeany at sogeti.com>
Copied: trunk/gforge/plugins/webcalendar/AUTHORS (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/AUTHORS)
Deleted: trunk/gforge/plugins/webcalendar/COPYING
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/COPYING 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/COPYING 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,341 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program 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.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
Copied: trunk/gforge/plugins/webcalendar/COPYING (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/COPYING)
Deleted: trunk/gforge/plugins/webcalendar/ChangeLog
===================================================================
Copied: trunk/gforge/plugins/webcalendar/ChangeLog (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/ChangeLog)
Deleted: trunk/gforge/plugins/webcalendar/README
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/README 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/README 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,4 +0,0 @@
-Change owner of www/includes/settings.php
-The owner must be apache
-
-chown www-data www/includes/settings.php
Copied: trunk/gforge/plugins/webcalendar/README (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/README)
Copied: trunk/gforge/plugins/webcalendar/bin (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/bin)
Copied: trunk/gforge/plugins/webcalendar/common (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/common)
Copied: trunk/gforge/plugins/webcalendar/common/languages (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/common/languages)
Deleted: trunk/gforge/plugins/webcalendar/common/languages/Base.tab
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/common/languages/Base.tab 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/common/languages/Base.tab 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,16 +0,0 @@
-#/**
-# *
-# * webcalendar message catalog (English)
-# *
-# * GForge: Breaking Down the Barriers to Open Source Development
-# * Copyright 1999-2001 (c) VA Linux Systems
-# * 2005 (c) Daniel Pérez <danielperez.arg at gmail.com>
-# * http://sourceforge.net
-# * Here you can add your own language customizations
-# *
-# *
-# */
-user_home view_webcalendar View Personal webcalendar
-project_admin webcalendar View the webcalendar Administration
-webcalendar_user allow You are not allowed to see this calendar.
-webcalendar_user nocalendar No calendar for this group.
Copied: trunk/gforge/plugins/webcalendar/common/languages/Base.tab (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/common/languages/Base.tab)
Deleted: trunk/gforge/plugins/webcalendar/common/languages/French.tab
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/common/languages/French.tab 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/common/languages/French.tab 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,16 +0,0 @@
-#/**
-# *
-# * webcalendar message catalog (English)
-# *
-# * GForge: Breaking Down the Barriers to Open Source Development
-# * Copyright 1999-2001 (c) VA Linux Systems
-# * 2005 (c) Daniel Pérez <danielperez.arg at gmail.com>
-# * http://sourceforge.net
-# * Here you can add your own language customizations
-# *
-# *
-# */
-user_home view_webcalendar Voir le calendrier personnel
-project_admin webcalendar Voir l'administration WebCalendar
-webcalendar_user allow Vous n'êtes pas autorisé à voir ce calendrier!!!
-webcalendar_user nocalendar Pas de calendrier pour ce Groupe!!
Copied: trunk/gforge/plugins/webcalendar/common/languages/French.tab (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/common/languages/French.tab)
Deleted: trunk/gforge/plugins/webcalendar/common/webcalendar-init.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/common/webcalendar-init.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/common/webcalendar-init.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,33 +0,0 @@
-<?php
-
-/**
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once ('webcalendarPlugin.class') ;
-
-$webcalendarPluginObject = new webcalendarPlugin ;
-
-register_plugin ($webcalendarPluginObject) ;
-
-// Local Variables:
-// mode: php
-// c-file-style: "bsd"
-// End:
-
-?>
Copied: trunk/gforge/plugins/webcalendar/common/webcalendar-init.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/common/webcalendar-init.php)
Deleted: trunk/gforge/plugins/webcalendar/common/webcalendarPlugin.class
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/common/webcalendarPlugin.class 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/common/webcalendarPlugin.class 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,533 +0,0 @@
-<?php
-
-/**
- * webcalendarPlugin Class
- *
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge 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 GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-class webcalendarPlugin extends Plugin {
- function webcalendarPlugin () {
- $this->Plugin() ;
- $this->name = "webcalendar" ;
- $this->text = "Webcalendar" ; // To show in the tabs, use...
- $this->hooks[] = "user_personal_links";//to make a link to the user´s personal part of the plugin
- $this->hooks[] = "usermenu" ;
- $this->hooks[] = "groupmenu" ; // To put into the project tabs
- $this->hooks[] = "groupisactivecheckbox" ; // The "use ..." checkbox in editgroupinfo
- $this->hooks[] = "groupisactivecheckboxpost" ; //
- $this->hooks[] = "userisactivecheckbox" ; // The "use ..." checkbox in user account
- $this->hooks[] = "userisactivecheckboxpost" ; //
- $this->hooks[] = "project_admin_plugins"; // to show up in the admin page fro group
- $this->hooks[] = "call_user_cal"; // to show the calendar of the user (file my/index.php line 434)
- $this->hooks[] = "call_user_js"; // call a function when you click on webcal (file my/index.php line 434)
- $this->hooks[] = "call_group_cal"; // to show the calendar of the group (file layout.class ligne 627)
- //$this->hooks[] = "iframe_group_calendar"; // to show the calendar of the group (file ligne 627)
- $this->hooks[] = "add_cal_user"; //add a gforge user in calendar base
- $this->hooks[] = "del_cal_user"; //dell a gforge user in calendar base
- $this->hooks[] = "add_cal_group"; //add a group user in calendar base
- $this->hooks[] = "del_cal_group"; //del a gforge user in calendar base
- $this->hooks[] = "change_cal_permission"; //change permission pour webcal user (admin or not)
- $this->hooks[] = "change_cal_permission_default"; //change permission pour webcal user (admin or not)
- $this->hooks[] = "change_cal_permission_auto"; //change permission pour webcal user when you modify role
- $this->hooks[] = "add_cal_link_father"; // add a link between son and father
- $this->hooks[] = "del_cal_link_father"; // del a link between son and father
- $this->hooks[] = "add_cal_link_father_event"; // add a link between son and father
- $this->hooks[] = "change_cal_password"; //change the password a webcal user
- $this->hooks[] = "change_cal_mail"; //change the mail a webcal user
- $this->hooks[] = "cal_link_group"; //a link to group calendar
- }
-
- function CallHook ($hookname, $params) {
- global $use_webcalendarplugin,$G_SESSION,$HTML,$Language;
- $group_id=$params['group'];
- if ($hookname == "usermenu") {
- $text = $this->text; // this is what shows in the tab
- if ($G_SESSION->usesPlugin("webcalendar")) {
- $param = '?type=user&id=' . $G_SESSION->getId() . "&pluginname=" . $this->name; // we indicate the part we´re calling is the user one
- echo ' | ' . $HTML->PrintSubMenu (array ($text),
- array ('/plugins/webcalendar/index.php' . $param ));
- }
- } elseif ($hookname == "groupmenu") {
- $project = &group_get_object($group_id);
- if (!$project || !is_object($project)) {
- return;
- }
- if ($project->isError()) {
- return;
- }
- if (!$project->isProject()) {
- return;
- }
- if ( !$project->usesPlugin ( $this->name ) ) {
- $params['TITLES'][]=$this->text;
- $params['DIRS'][]='/plugins/webcalendar/index2.php?type=group&group_id='.$group_id;
- } else {
- $params['TITLES'][]=$this->text." is [Off]";
- }
- (($params['toptab'] == $this->name) ? $params['selected']=(count($params['TITLES'])-1) : '' );
- } elseif ($hookname == "groupisactivecheckbox") {
- ///Check if the group is active
- } elseif ($hookname == "groupisactivecheckboxpost") {
- // this code actually activates/deactivates the plugin after the form was submitted in the project edit public info page
- $group = &group_get_object($group_id);
- $use_webcalendarplugin = getStringFromRequest('use_webcalendarplugin');
- if ( $use_webcalendarplugin == 1 ) {
- $group->setPluginUse ( $this->name );
- } else {
- $group->setPluginUse ( $this->name, false );
- }
- } elseif ($hookname == "userisactivecheckbox") {
- //check if user is active
- // this code creates the checkbox in the user account manteinance page to activate/deactivate the plugin
- } elseif ($hookname == "userisactivecheckboxpost") {
- // this code actually activates/deactivates the plugin after the form was submitted in the user account manteinance page
- $user = $params['user'];
- $use_webcalendarplugin = getStringFromRequest('use_webcalendarplugin');
- if ( $use_webcalendarplugin == 1 ) {
- $user->setPluginUse ( $this->name );
- } else {
- $user->setPluginUse ( $this->name, false );
- }
- echo "<tr>";
- echo "<td>";
- echo ' <input type="CHECKBOX" name="use_webcalendarplugin" value="1" ';
- // CHECKED OR UNCHECKED?
- if ( $user->usesPlugin ( $this->name ) ) {
- echo "CHECKED";
- }
- echo "> Use ".$this->text." Plugin";
- echo "</td>";
- echo "</tr>";
- } elseif ($hookname == "user_personal_links") {
- global $Language;
- // this displays the link in the user´s profile page to it´s personal webcalendar (if you want other sto access it, youll have to change the permissions in the index.php
- $userid = $params['user_id'];
- $user = user_get_object($userid);
- $text = $params['text'];
- //check if the user has the plugin activated
- if ($user->usesPlugin($this->name)) {
- echo ' <p>
- <a href="/plugins/webcalendar/index.php?id=' . $userid . '&type=user&pluginname=' . $this->name . '">' . $Language->getText('user_home','view_webcalendar') .'</a></p>';
- }
- } elseif ($hookname == "project_admin_plugins") {
- global $Language;
- // this displays the link in the project admin options page to it´s webcalendar administration
- $group_id = $params['group_id'];
- $group = &group_get_object($group_id);
-
- if ( $group->usesPlugin ( $this->name ) ) {
- echo '<a href="/plugins/webcalendar/index.php?id=' . $group->getID() . '&type=admin&pluginname=' . $this->name . '">' . $Language->getText('project_admin','webcalendar') . '</a><br />';
- }
-
- }
- elseif ($hookname == "call_user_cal") {
- //my/index.php line 365
- ?>
-
- <div id="cal" class="tabbertab" title="WebCalendar" >
- <table width="100%" cellspacing="0" cellpadding="0" border="0" ><tr align="center" ><td >
- <iframe name="webcal" src="/plugins/webcalendar/login.php?type=user" border=no scrolling="yes" width="100%" height="700"></iframe>
- </td></tr></table>
- </div>
- <script>
- function reload_webcal() {
- frames['webcal'].location.replace('/plugins/webcalendar/login.php?type=user');
-
- }
- </script>
- <?php
- }
- elseif ($hookname == "call_user_js") {
- // my/index.php line 67
-
- ?>
- onclick="reload_webcal()"
- <?php
- }
- elseif ($hookname == "add_cal_user") {
- //argument user_id
- //user.class line 590
- //admin/userlist.php line 129
- $query = "SELECT user_name,user_pw,email FROM users WHERE user_id = '".$params."'";
- $res = db_query($query);
- $row = db_fetch_array($res);
- $cal_query = "INSERT INTO webcal_user (cal_login, cal_passwd, cal_email,cal_firstname, cal_is_admin) VALUES ('" . $row['user_name'] . "','" . $row['user_pw'] . "','" . $row['email'] . "','" . $row['user_name'] . "','N')";
- $res_cal = db_query($cal_query);
- }
- elseif ($hookname == "del_cal_user") {
- //argument user_id
- //admin/userlist.php line 122
- $query = "SELECT user_name,user_pw,email FROM users WHERE user_id = '".$params."'";
- $res = db_query($query);
- $row = db_fetch_array($res);
- $cal_query = "DELETE FROM webcal_user WHERE cal_login = '" . $row['user_name'] . "'";
- $res_cal = db_query($cal_query);
- db_query("DELETE FROM webcal_asst WHERE cal_boss = '" . $row['user_name'] . "' OR cal_assistant = '" . $row['user_name'] . "'");
- db_query("DELETE FROM webcal_entry_user WHERE cal_login = '" . $row['user_name'] . "' ");
- }
- elseif ($hookname == "add_cal_group") {
- //argument group_id
- //approve_pending.php line 69,80
- $query = "SELECT unix_group_name,groups.group_id,group_name,email FROM groups,users,user_group WHERE groups.group_id = '".$params."' AND groups.group_id = user_group.group_id AND user_group.user_id = users.user_id AND user_group.admin_flags = 'A' ";
- $res = db_query($query);
- $row = db_fetch_array($res);
- $cal_query = "INSERT INTO webcal_user (cal_login, cal_passwd, cal_firstname,cal_email) VALUES ('" . $row['unix_group_name'] . "','cccc','" . addslashes($row['group_name']) . "','".$row['email']."')";
- $res_cal = db_query($cal_query);
-
-
- }
- elseif ($hookname == "del_cal_group") {
- //argument group_id
- //approve_pending.php line 90
- $query = "SELECT unix_group_name,group_id,group_name FROM groups WHERE group_id = '".$params."' ";
- $res = db_query($query);
- $row = db_fetch_array($res);
- $cal_query = "DELETE FROM webcal_user WHERE cal_login = '" . $row['unix_group_name'] . "'";
- $res_cal = db_query($cal_query);
- db_query("DELETE FROM webcal_asst WHERE cal_boss = '" . $row['unix_group_name'] . "' OR cal_assistant = '" . $row['unix_group_name'] . "'");
- db_query("DELETE FROM webcal_entry_user WHERE cal_login = '" . $row['unix_group_name'] . "' ");
- }
- elseif ($hookname == "change_cal_permission") {
- //argument user_id -> $params[0]et group_id -> $params[1]
- //project/admin/index.php line 72,87,103
- //project/admin/massfinish.php line 50
-
-
-
- $query_flags = "SELECT value,admin_flags FROM user_group,role_setting WHERE role_setting.role_id = user_group.role_id AND user_group.user_id = '".$params[0]."' AND user_group.group_id = '".$params[1]."' AND role_setting.section_name = 'webcal'";
-
- $res = db_query($query_flags);
- $row_flags = db_fetch_array($res);
-
- //get user name :
- $query_nom_boss = "SELECT unix_group_name FROM groups WHERE group_id = '".$params[1]."' ";
- $res_nom_boss = db_query($query_nom_boss);
- $row_nom_boss = db_fetch_array($res_nom_boss);
-
-
- $query_nom_user = "SELECT user_name,email FROM users WHERE user_id = '".$params[0]."' ";
- $res_nom_user = db_query($query_nom_user);
- $row_nom_user = db_fetch_array($res_nom_user);
-
- //flag verification
- $query_flags = "SELECT COUNT(*) FROM webcal_asst WHERE cal_boss = '".$row_nom_boss['unix_group_name']."' AND cal_assistant = '".$row_nom_user['user_name']."'";
- $res = db_query($query_flags);
- $row_num = db_fetch_array($res);
-
- //select email
- $query_mail ="SELECT cal_email FROM webcal_user WHERE cal_login = '".$row_nom_boss['unix_group_name']."'";
- $res_mail = db_query($query_mail);
- $row_mail = db_fetch_array($res_mail);
- $mail = $row_mail['cal_email'] ;
-
- //if group admin
- if($params[1] == 1){
- $query_flags_admin = "SELECT admin_flags FROM user_group WHERE user_id = '".$params[0]."' AND group_id = '".$params[1]."'";
- $res_flags_admin = db_query($query_flags_admin);
- $row_flags_admin = db_fetch_array($res_flags_admin);
- if(trim($row_flags_admin['admin_flags']) == 'A' ) {
- $update_admin = "UPDATE webcal_user SET cal_is_admin = 'Y' WHERE cal_login = '".$row_nom_user['user_name']."'" ;
- }
- else {
- $update_admin = "UPDATE webcal_user SET cal_is_admin = 'N' WHERE cal_login = '".$row_nom_user['user_name']."'" ;
-
- }
- db_query($update_admin);
-
- }
-
- if(($row_num[0] != 1 ) && ($row_flags['value'] == 1)){
-
- $insert_ass = "INSERT INTO webcal_asst (cal_boss, cal_assistant) VALUES ('".$row_nom_boss['unix_group_name']."','".$row_nom_user['user_name']."')";
- $res_insert = db_query($insert_ass);
-
- //we add email of the new admin
- $mail = str_replace($row_nom_user['email'],"",$mail);
- $mail = str_replace(",".$row_nom_user['email'],"",$mail);
-
- if($mail == ""){
- $virgule = "";
- }
- else {
- $virgule = ",";
- }
-
- $mail = $mail.$virgule.$row_nom_user['email'] ;
-
-
-
- //$mail = $row_mail['cal_email'].",".$row_nom_user['email'] ;
- $update = "UPDATE webcal_user SET cal_email = '".trim($mail,',')."' WHERE cal_login = '".$row_nom_boss['unix_group_name']."'" ;
- db_query($update);
- }
- elseif($row_num[0] == 1 && ($row_flags['value'] != 1)){
- $del_ass = "DELETE FROM webcal_asst WHERE cal_boss = '".$row_nom_boss['unix_group_name']."' AND cal_assistant = '".$row_nom_user['user_name']."'";
- $res_del = db_query($del_ass);
-
- //we del email of the old admin
- $mail = str_replace(",".$row_nom_user['email'],"",$row_mail['cal_email']) ;
- $update = "UPDATE webcal_user SET cal_email = '".$mail."' WHERE cal_login = '".$row_nom_boss['unix_group_name']."'" ;
- db_query($update);
- }
-
-
- }
- elseif ($hookname == "change_cal_permission_default") {
- //argument user_id -> $params[0]et group_id -> $params[1]
- // Group.class line 2085
- //$query_flags = "SELECT value FROM user_group,role_setting WHERE role_setting.role_id = user_group.role_id AND user_group.user_id = '".$params[0]."' AND user_group.group_id = '".$params[1]."' AND role_setting.section_name = 'test'";
-
- $query_flags = "SELECT admin_flags FROM user_group WHERE user_id = '".$params[0]."' AND group_id = '".$params[1]."'";
- $res = db_query($query_flags);
- $row_flags = db_fetch_array($res);
-
-
-
- //get user name
- $query_nom_boss = "SELECT unix_group_name FROM groups WHERE group_id = '".$params[1]."' ";
- $res_nom_boss = db_query($query_nom_boss);
- $row_nom_boss = db_fetch_array($res_nom_boss);
-
-
- $query_nom_user = "SELECT user_name,email FROM users WHERE user_id = '".$params[0]."' ";
- $res_nom_user = db_query($query_nom_user);
- $row_nom_user = db_fetch_array($res_nom_user);
-
- //verif du flag sur webcal
- $query_flags = "SELECT COUNT(*) FROM webcal_asst WHERE cal_boss = '".$row_nom_boss['unix_group_name']."' AND cal_assistant = '".$row_nom_user['user_name']."'";
- $res = db_query($query_flags);
- $row_num = db_fetch_array($res);
-
- //select email
- $query_mail ="SELECT cal_email FROM webcal_user WHERE cal_login = '".$row_nom_boss['unix_group_name']."'";
- $res_mail = db_query($query_mail);
- $row_mail = db_fetch_array($res_mail);
- $mail = $row_mail['cal_email'];
-
- if(($row_num[0] != 1 ) && (trim($row_flags['admin_flags']) == 'A')){
- //recuperer le nom du user et du group
- $insert_ass = "INSERT INTO webcal_asst (cal_boss, cal_assistant) VALUES ('".$row_nom_boss['unix_group_name']."','".$row_nom_user['user_name']."')";
- $res_insert = db_query($insert_ass);
-
- //we add email of the new admin
- $mail = str_replace($row_nom_user['email'],"",$mail);
- $mail = str_replace(",".$row_nom_user['email'],"",$mail);
-
- if($mail == ""){
- $virgule = "";
- }
- else {
- $virgule = ",";
- }
-
- $mail = $mail.$virgule.$row_nom_user['email'] ;
-
- //$mail = $row_mail['cal_email'].",".$row_nom_user['email'] ;
- $update = "UPDATE webcal_user SET cal_email = '".trim($mail,',')."' WHERE cal_login = '".$row_nom_boss['unix_group_name']."'" ;
- db_query($update);
- }
- elseif($row_num[0] == 1 && (trim($row_flags['admin_flags']) != 'A')){
- $del_ass = "DELETE FROM webcal_asst WHERE cal_boss = '".$row_nom_boss['unix_group_name']."' AND cal_assistant = '".$row_nom_user['user_name']."'";
- $res_del = db_query($del_ass);
-
- //we del email of the old admin
- $mail = str_replace(",".$row_nom_user['email'],"",$row_mail['cal_email']) ;
- $update = "UPDATE webcal_user SET cal_email = '".$mail."' WHERE cal_login = '".$row_nom_boss['unix_group_name']."'" ;
- db_query($update);
- }
-
- }
- elseif ($hookname == "change_cal_permission_auto") {
- //argument $params group_id
- // project/admin/roleedit.php line 85
-
- $query_flags = "SELECT value, user_id FROM user_group,role_setting WHERE role_setting.role_id = user_group.role_id AND role_setting.section_name = 'webcal' AND group_id = '".$params."'" ;
- $res = db_query($query_flags);
- if($res){
- while( $row_flags = db_fetch_array($res)){
-
-
-
- //get the group and user names
- $query_nom_boss = "SELECT unix_group_name FROM groups WHERE group_id = '".$params."' ";
- $res_nom_boss = db_query($query_nom_boss);
- $row_nom_boss = db_fetch_array($res_nom_boss);
-
-
- $query_nom_user = "SELECT user_name,email FROM users WHERE user_id = '".$row_flags['user_id']."' ";
- $res_nom_user = db_query($query_nom_user);
- $row_nom_user = db_fetch_array($res_nom_user);
-
- //verif if the user is admin
- $query_flags = "SELECT COUNT(*) FROM webcal_asst WHERE cal_boss = '".$row_nom_boss['unix_group_name']."' AND cal_assistant = '".$row_nom_user['user_name']."'";
- $res_count = db_query($query_flags);
- $row_num = db_fetch_array($res_count);
-
- //select email
- $query_mail ="SELECT cal_email FROM webcal_user WHERE cal_login = '".$row_nom_boss['unix_group_name']."'";
- $res_mail = db_query($query_mail);
- $row_mail = db_fetch_array($res_mail);
- $mail = $row_mail['cal_email'];
-
- if(($row_num[0] != 1 ) && ($row_flags['value'] == 1)){
- //recuperer le nom du user et du group
- $insert_ass = "INSERT INTO webcal_asst (cal_boss, cal_assistant) VALUES ('".$row_nom_boss['unix_group_name']."','".$row_nom_user['user_name']."')";
- $res_insert = db_query($insert_ass);
-
- //we add email of the new admin
- $mail = str_replace($row_nom_user['email'],"",$mail);
- $mail = str_replace(",".$row_nom_user['email'],"",$mail);
-
- if($mail == ""){
- $virgule = "";
- }
- else {
- $virgule = ",";
- }
-
- $mail = $mail.$virgule.$row_nom_user['email'] ;
-
- //$mail = $row_mail['cal_email'].",".$row_nom_user['email'] ;
- $update = "UPDATE webcal_user SET cal_email = '".trim($mail,',')."' WHERE cal_login = '".$row_nom_boss['unix_group_name']."'" ;
- db_query($update);
-
- }
- elseif($row_num[0] == 1 && ($row_flags['value'] != 1)){
- $del_ass = "DELETE FROM webcal_asst WHERE cal_boss = '".$row_nom_boss['unix_group_name']."' AND cal_assistant = '".$row_nom_user['user_name']."'";
- $res_del = db_query($del_ass);
-
- //we del email of the old admin
- $mail = str_replace(",".$row_nom_user['email'],"",$row_mail['cal_email']) ;
- $update = "UPDATE webcal_user SET cal_email = '".$mail."' WHERE cal_login = '".$row_nom_boss['unix_group_name']."'" ;
- db_query($update);
- }
- }
- }
-
- }
- elseif ($hookname == "add_cal_link_father") {
- //argument id du fils --> $params[0], id du pere--> $params[1]
- //plugin hierachy wait_son.php line 36
- $query_hierarchy = "select p1.group_id as father_id,p1.unix_group_name as father_unix_name,p1.group_name as father_name,p2.group_id as son_id,p2.unix_group_name as son_unix_name,p2.group_name as son_name from groups as p1,groups as p2,plugin_projects_hierarchy where p1.group_id=plugin_projects_hierarchy.project_id AND plugin_projects_hierarchy.project_id = '".$params[1]."' and p2.group_id=plugin_projects_hierarchy.sub_project_id AND plugin_projects_hierarchy.sub_project_id = '".$params[0]."'and plugin_projects_hierarchy.activated='t' AND plugin_projects_hierarchy.link_type='shar'";
- $res_hierarchy = db_query($query_hierarchy);
- if($res_hierarchy){
- while($row_hierarchy = db_fetch_array($res_hierarchy)) {
- $query_entry = "SELECT cal_id FROM webcal_entry_user WHERE cal_login = '".$row_hierarchy['son_unix_name']."' AND cal_status = 'A'" ;
- $res_entry = db_query($query_entry);
- if($res_entry){
- while($row_entry = db_fetch_array($res_entry)) {
- $insert_entry = "INSERT INTO webcal_entry_user (cal_id,cal_login,cal_status) VALUES ('".$row_entry['cal_id']."','".$row_hierarchy['father_unix_name']."','A')";
- $res_insert_entry = db_query($insert_entry);
- }
- }
- }
-
- }
- }
- elseif ($hookname == "add_cal_link_father_event") {
- //argument name of the son --> $params[0], id_cal--> $params[1]
- //webcalendar/edit_entry_handler.php line 390
- //webcalendar/approve_entry.php line 21
- $query_nom = "SELECT group_id FROM groups WHERE unix_group_name = '".$params[0]."'";
- $res_nom = db_query($query_nom);
- $row_nom = db_fetch_array($res_nom);
- $query_pere = "SELECT project_id, unix_group_name FROM plugin_projects_hierarchy, groups WHERE plugin_projects_hierarchy.project_id = groups.group_id AND sub_project_id = '".$row_nom['group_id']."' AND link_type = 'shar' AND activated = true";
- $res_pere = db_query($query_pere);
- if($res_pere){
- $row_pere = db_fetch_array($res_pere);
- $insert_entry = "INSERT INTO webcal_entry_user (cal_id,cal_login,cal_status) VALUES ('".$params[1]."','".$row_pere['unix_group_name']."','A')";
- $res_insert = db_query($insert_entry);
- }
-
- }
- elseif ($hookname == "del_cal_link_father") {
- //argument id son --> $params[0], id father--> $params[1]
- //plugin hierachy wait_son.php line 36
- $query_hierarchy = "select p1.group_id as father_id,p1.unix_group_name as father_unix_name,p1.group_name as father_name,p2.group_id as son_id,p2.unix_group_name as son_unix_name,p2.group_name as son_name from groups as p1,groups as p2,plugin_projects_hierarchy where p1.group_id=plugin_projects_hierarchy.project_id AND plugin_projects_hierarchy.project_id = '".$params[1]."' and p2.group_id=plugin_projects_hierarchy.sub_project_id AND plugin_projects_hierarchy.sub_project_id = '".$params[0]."'and plugin_projects_hierarchy.activated='t' AND plugin_projects_hierarchy.link_type='shar'";
- $res_hierarchy = db_query($query_hierarchy);
- if($res_hierarchy){
- while($row_hierarchy = db_fetch_array($res_hierarchy)) {
- $query_entry = "SELECT cal_id FROM webcal_entry_user WHERE cal_login = '".$row_hierarchy['son_unix_name']."' " ;
- $res_entry = db_query($query_entry);
- if($res_entry){
- while($row_entry = db_fetch_array($res_entry)) {
- $insert_entry = "DELETE FROM webcal_entry_user WHERE cal_id = '".$row_entry['cal_id']."' AND cal_login = '".$row_hierarchy['father_unix_name']."'";
- $res_insert_entry = db_query($insert_entry);
- }
- }
- }
-
- }
- }
- elseif ($hookname == "del_cal_link_father_event") {
- //argument id son --> $params[0], id_cal--> $params[1]
-
- }
- elseif ($hookname == "change_cal_password") {
- //argument user_id
- //account/change_pw.php line 79
- $query_name = "SELECT user_name,user_pw,email FROM users WHERE user_id = '".$params."'" ;
- $res_name = db_query($query_name);
- $row_name = db_fetch_array($res_name);
-
- $update = "UPDATE webcal_user SET cal_passwd = '".$row_name['user_pw']."', cal_email = '".$row_name['email']."' WHERE cal_login = '".$row_name['user_name']."'";
- $res_update = db_query($update);
-
- }
- elseif ($hookname == "change_cal_mail") {
- //argument user_id
- //account/change_email-complete.php line 63
-
- $query_name = "SELECT user_name,user_pw,email FROM users WHERE user_id = '".$params."'" ;
- $res_name = db_query($query_name);
- $row_name = db_fetch_array($res_name);
-
- $query_old = "SELECT cal_email FROM webcal_user WHERE cal_login = '".$row_name['user_name']."'" ;
- $res_old = db_query($query_old);
- $row_old = db_fetch_array($res_old);
-
- //get all the cal_login where you need to change mail
- $query_all_mail = "SELECT cal_login, cal_email FROM webcal_user WHERE cal_email LIKE '%".$row_old['cal_email']."%'" ;
- $res_all_mail = db_query($query_all_mail);
- print $query_all_mail;
- while($row_all_mail = db_fetch_array($res_all_mail)){
- $mail = str_replace($row_old['cal_email'],$row_name['email'],$row_all_mail['cal_email']);
- $update = "UPDATE webcal_user SET cal_passwd = '".$row_name['user_pw']."', cal_email = '".$mail."' WHERE cal_login = '".$row_all_mail['cal_login']."'";
- $res_update = db_query($update);
-
- }
-
-
- }
- elseif ($hookname == "cal_link_group" ){
- // www/include/project_home.php line 418
- //params = group_id
- print '<hr size="1" />';
- print '<a href="/plugins/webcalendar/index2.php?type=group&group_id='.$params.'">Webcalendar</a> ';
- }
-
- }
-}
-
-// Local Variables:
-// mode: php
-// c-file-style: "bsd"
-// End:
-
-?>
Copied: trunk/gforge/plugins/webcalendar/common/webcalendarPlugin.class (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/common/webcalendarPlugin.class)
Copied: trunk/gforge/plugins/webcalendar/db (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/db)
Deleted: trunk/gforge/plugins/webcalendar/db/webcalendar-init.sql
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/db/webcalendar-init.sql 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/db/webcalendar-init.sql 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,372 +0,0 @@
-CREATE TABLE webcal_user (
- cal_login VARCHAR(25) NOT NULL,
- cal_passwd VARCHAR(32),
- cal_lastname VARCHAR(25),
- cal_firstname VARCHAR(25),
- cal_is_admin CHAR(1) DEFAULT 'N',
- cal_email VARCHAR(75),
- PRIMARY KEY ( cal_login )
-);
-
-INSERT INTO webcal_user ( cal_login, cal_passwd, cal_lastname, cal_firstname, cal_is_admin ) VALUES ( 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'Default', 'Y' );
-
-
-CREATE TABLE webcal_entry (
- cal_id INT NOT NULL,
- cal_group_id INT,
- cal_ext_for_id INT NULL,
- cal_create_by VARCHAR(25) NOT NULL,
- cal_date INT NOT NULL,
- cal_time INT,
- cal_mod_date INT,
- cal_mod_time INT,
- cal_duration INT NOT NULL,
- cal_priority INT DEFAULT 2,
- cal_type CHAR(1) DEFAULT 'E',
- cal_access CHAR(1) DEFAULT 'P',
- cal_name VARCHAR(80) NOT NULL,
- cal_description TEXT,
- PRIMARY KEY ( cal_id )
-);
-
-
-CREATE TABLE webcal_entry_repeats (
- cal_id INT DEFAULT '0' NOT NULL,
- cal_type VARCHAR(20),
- cal_end INT,
- cal_frequency INT DEFAULT '1',
- cal_days CHAR(7),
- PRIMARY KEY (cal_id)
-);
-
-
-CREATE TABLE webcal_entry_repeats_not (
- cal_id INT NOT NULL,
- cal_date INT NOT NULL,
- PRIMARY KEY ( cal_id, cal_date )
-);
-
-
-CREATE TABLE webcal_entry_user (
- cal_id int DEFAULT '0' NOT NULL,
- cal_login varchar(25) DEFAULT '' NOT NULL,
- cal_status char(1) DEFAULT 'A' NOT NULL,
- cal_category INT DEFAULT NULL,
- PRIMARY KEY ( cal_id,cal_login )
-);
-
-
-CREATE TABLE webcal_entry_ext_user (
- cal_id INT DEFAULT 0 NOT NULL,
- cal_fullname VARCHAR(50) NOT NULL,
- cal_email VARCHAR(75) NOT NULL,
- PRIMARY KEY ( cal_id, cal_fullname )
-);
-
-
-CREATE TABLE webcal_user_pref (
- cal_login varchar(25) NOT NULL,
- cal_setting varchar(25) NOT NULL,
- cal_value varchar(100),
- PRIMARY KEY ( cal_login, cal_setting )
-);
-
-
-
-CREATE TABLE webcal_user_layers (
- cal_layerid INT DEFAULT '0' NOT NULL,
- cal_login varchar(25) NOT NULL,
- cal_layeruser varchar(25) NOT NULL,
- cal_color varchar(25),
- cal_dups CHAR(1) DEFAULT 'N',
- PRIMARY KEY ( cal_login, cal_layeruser )
-);
-
-
-
-CREATE TABLE webcal_site_extras (
- cal_id INT DEFAULT '0' NOT NULL,
- cal_name VARCHAR(25) NOT NULL,
- cal_type INT NOT NULL,
- cal_date INT DEFAULT '0',
- cal_remind INT DEFAULT '0',
- cal_data TEXT,
- PRIMARY KEY ( cal_id, cal_name, cal_type )
-);
-
-
-CREATE TABLE webcal_reminder_log (
- cal_id INT DEFAULT '0' NOT NULL,
- cal_name VARCHAR(25) NOT NULL,
- cal_event_date INT NOT NULL DEFAULT 0,
- cal_last_sent INT NOT NULL DEFAULT 0,
- PRIMARY KEY ( cal_id, cal_name, cal_event_date )
-);
-
-CREATE TABLE webcal_group (
- cal_group_id INT NOT NULL,
- cal_owner VARCHAR(25) NOT NULL,
- cal_name VARCHAR(50) NOT NULL,
- cal_last_update INT NOT NULL,
- PRIMARY KEY ( cal_group_id )
-);
-
-CREATE TABLE webcal_group_user (
- cal_group_id INT NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- PRIMARY KEY ( cal_group_id, cal_login )
-);
-
-CREATE TABLE webcal_view (
- cal_view_id INT NOT NULL,
- cal_owner VARCHAR(25) NOT NULL,
- cal_name VARCHAR(50) NOT NULL,
- cal_view_type CHAR(1),
- cal_is_global CHAR(1) DEFAULT 'N' NOT NULL,
- PRIMARY KEY ( cal_view_id )
-);
-
-CREATE TABLE webcal_view_user (
- cal_view_id INT NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- PRIMARY KEY ( cal_view_id, cal_login )
-);
-
-CREATE TABLE webcal_config (
- cal_setting VARCHAR(50) NOT NULL,
- cal_value VARCHAR(100) NOT NULL,
- PRIMARY KEY ( cal_setting )
-);
-
-
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'application_name', 'WebCalendar' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'LANGUAGE', 'Browser-defined' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'demo_mode', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'require_approvals', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'groups_enabled', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'user_sees_only_his_groups', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'categories_enabled', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'allow_conflicts', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'conflict_repeat_months', '6' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'disable_priority_field', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'disable_access_field', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'disable_participants_field', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'disable_repeating_field', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'allow_view_other', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'email_fallback_from', 'youremailhere' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'remember_last_login', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'allow_color_customization', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('BGCOLOR','#FFFFFF');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('TEXTCOLOR','#000000');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('H2COLOR','#000000');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('CELLBG','#C0C0C0');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('WEEKENDBG','#D0D0D0');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('TABLEBG','#000000');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('THBG','#FFFFFF');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('THFG','#000000');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('POPUP_FG','#000000');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('POPUP_BG','#FFFFFF');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('TODAYCELLBG','#FFFF33');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'STARTVIEW', 'week.php' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'WEEK_START', '0' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'TIME_FORMAT', '12' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'DISPLAY_UNAPPROVED', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'DISPLAY_WEEKNUMBER', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'WORK_DAY_START_HOUR', '8' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'WORK_DAY_END_HOUR', '17' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'send_email', 'N' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'EMAIL_REMINDER', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'EMAIL_EVENT_ADDED', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'EMAIL_EVENT_UPDATED', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'EMAIL_EVENT_DELETED', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ( 'EMAIL_EVENT_REJECTED', 'Y' );
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('auto_refresh', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('nonuser_enabled', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('allow_html_description', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('reports_enabled', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('DISPLAY_WEEKENDS', 'Y');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('DISPLAY_DESC_PRINT_DAY', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('DATE_FORMAT', '__month__ __dd__, __yyyy__');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('TIME_SLOTS', '12');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('TIMED_EVT_LEN', 'D');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('PUBLISH_ENABLED', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('DATE_FORMAT_MY', '__month__ __yyyy__');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('DATE_FORMAT_MD', '__month__ __dd__');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('CUSTOM_SCRIPT', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('CUSTOM_HEADER', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('CUSTOM_TRAILER', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('bold_days_in_year', 'Y');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('site_extras_in_popup', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('add_link_in_views', 'Y');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('allow_conflict_override', 'Y');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('limit_appts', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('limit_appts_number', '6');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('public_access', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('public_access_default_visible', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('public_access_default_selected', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('public_access_others', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('public_access_can_add', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('public_access_add_needs_approval', 'Y');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('public_access_view_part', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('nonuser_at_top', 'Y');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('allow_external_users', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('external_notifications', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('external_reminders', 'N');
-INSERT INTO webcal_config ( cal_setting, cal_value )
- VALUES ('enable_gradients', 'N');
-
-
-
-CREATE TABLE webcal_entry_log (
- cal_log_id INT NOT NULL,
- cal_entry_id INT NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- cal_user_cal VARCHAR(25) NOT NULL,
- cal_type CHAR(1) NOT NULL,
- cal_date INT NOT NULL,
- cal_time INT NOT NULL,
- cal_text TEXT,
- PRIMARY KEY ( cal_log_id )
-);
-
-
-CREATE TABLE webcal_categories (
- cat_id INT NOT NULL,
- cat_owner VARCHAR(25),
- cat_name VARCHAR(80) NOT NULL,
- PRIMARY KEY ( cat_id )
-);
-
-CREATE TABLE webcal_asst (
- cal_boss VARCHAR(25) NOT NULL,
- cal_assistant VARCHAR(25) NOT NULL,
- PRIMARY KEY ( cal_boss, cal_assistant )
-);
-
-CREATE TABLE webcal_nonuser_cals (
- cal_login VARCHAR(25) NOT NULL,
- cal_lastname VARCHAR(25) NULL,
- cal_firstname VARCHAR(25) NULL,
- cal_admin VARCHAR(25) NOT NULL,
- PRIMARY KEY ( cal_login )
-);
-
-CREATE TABLE webcal_import (
- cal_import_id INT NOT NULL,
- cal_name VARCHAR(50) NULL,
- cal_date INT NOT NULL,
- cal_type VARCHAR(10) NOT NULL,
- cal_login VARCHAR(25) NULL,
- PRIMARY KEY ( cal_import_id )
-);
-
-CREATE TABLE webcal_import_data (
- cal_import_id INT NOT NULL,
- cal_id INT NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- cal_import_type VARCHAR(15) NOT NULL,
- cal_external_id VARCHAR(200) NULL,
- PRIMARY KEY ( cal_id, cal_login )
-);
-
-
-CREATE TABLE webcal_report (
- cal_login VARCHAR(25) NOT NULL,
- cal_report_id INT NOT NULL,
- cal_is_global CHAR(1) DEFAULT 'N' NOT NULL,
- cal_report_type VARCHAR(20) NOT NULL,
- cal_include_header CHAR(1) DEFAULT 'Y' NOT NULL,
- cal_report_name VARCHAR(50) NOT NULL,
- cal_time_range INT NOT NULL,
- cal_user VARCHAR(25) NULL,
- cal_allow_nav CHAR(1) DEFAULT 'Y',
- cal_cat_id INT NULL,
- cal_include_empty CHAR(1) DEFAULT 'N',
- cal_show_in_trailer CHAR(1) DEFAULT 'N',
- cal_update_date INT NOT NULL,
- PRIMARY KEY ( cal_report_id )
-);
-
-CREATE TABLE webcal_report_template (
- cal_report_id INT NOT NULL,
- cal_template_type CHAR(1) NOT NULL,
- cal_template_text TEXT,
- PRIMARY KEY ( cal_report_id, cal_template_type )
-);
-
-
-
-
Copied: trunk/gforge/plugins/webcalendar/db/webcalendar-init.sql (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/db/webcalendar-init.sql)
Copied: trunk/gforge/plugins/webcalendar/etc (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/etc)
Copied: trunk/gforge/plugins/webcalendar/etc/plugins (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/etc/plugins)
Copied: trunk/gforge/plugins/webcalendar/etc/plugins/webcalendar (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/etc/plugins/webcalendar)
Copied: trunk/gforge/plugins/webcalendar/script (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/script)
Deleted: trunk/gforge/plugins/webcalendar/script/webcalendar-init.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/script/webcalendar-init.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/script/webcalendar-init.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,162 +0,0 @@
-<?php
-
-
-//create the config file for webcalendar
-$fichier_conf = "<?\n" .
- "install_password: 764b9c698569b4e77fd69db363fef414" .
- "\ndb_type: postgresql" .
- "\ndb_host: ".$sys_gfdbhost.
- "\ndb_database: ".$sys_gfdbname.
- "\ndb_login: ".$sys_gfdbuser.
- "\ndb_password: ".$sys_gfdbpasswd.
- "\ndb_persistent: true" .
- "\nsingle_user_login:" .
- "\nreadonly: false" .
- "\nuse_http_auth: false" .
- "\nsingle_user: false" .
- "\nuser_inc: user.php" .
- "\n?>" ;
-
-$handle = fopen($sys_plugins_path . $pluginname . "/www/includes/settings.php", "w");
-fwrite($handle,$fichier_conf);
-fclose($handle);
-
-//user
-$query = "SELECT user_name,user_pw,email,user_id FROM users WHERE NOT user_name='None' ";
-$res = db_query($query);
-echo db_error();
-while ($row = db_fetch_array($res)) {
- //verify if admin
- $query_flags = "SELECT COUNT(*) FROM user_group WHERE user_id = '".$row['user_id']."' AND admin_flags = 'A' AND group_id = '1'";
- $res_flags = db_query($query_flags) ;
- $row_flags = db_fetch_array($res_flags) ;
- $cal_query = "INSERT INTO webcal_user (cal_login, cal_passwd, cal_email,cal_firstname, cal_is_admin) VALUES ('" . $row['user_name'] . "','" . $row['user_pw'] . "','" . $row['email'] . "','" . $row['user_name'] . "'";
- if ($row_flags[0] == 1)
- $cal_query .= ",'Y')";
- else
- $cal_query .= ",'N')";
-
- $cal_res = db_query($cal_query);
-
-}
-
-//group
-
-$query2 = "SELECT unix_group_name,groups.group_id,group_name,email FROM groups,users,user_group WHERE groups.group_id >5 AND groups.group_id = user_group.group_id AND user_group.user_id = users.user_id AND user_group.admin_flags = 'A' ";
-$res2 = db_query($query2);
-while ($row2 = db_fetch_array($res2)) {
- $cal_query2 = "INSERT INTO webcal_user (cal_login, cal_passwd, cal_firstname,cal_email) VALUES ('" . $row2['unix_group_name'] . "','qdkqshjddoshd','" . addslashes($row2['group_name']) . "','" . $row2['email'] . "')";
-
-
- //get for admin of project
- $query_user_group = "SELECT user_group.user_id,user_name,email from user_group,users WHERE user_group.user_id = users.user_id AND group_id = '".$row2['group_id']."' AND admin_flags = 'A'" ;
- //print $query_user_group ;
- $res_user_group = db_query($query_user_group);
-
- //get the email of the admin
- $query_mail ="SELECT cal_email FROM webcal_user WHERE cal_login = '".$row2['unix_group_name']."'";
- $res_mail = db_query($query_mail);
- $row_mail = db_fetch_array($res_mail);
- $mail = $row_mail['cal_email'];
-
- if($res_user_group){
- while($row_user_group = db_fetch_array($res_user_group)) {
- $insert_ass = "INSERT INTO webcal_asst (cal_boss, cal_assistant) VALUES ('".$row2['unix_group_name']."','".$row_user_group['user_name']."')";
- $cal_res = db_query($insert_ass);
-
- //add email
- $mail = str_replace($row_user_group['email'],"",$mail);
- $mail = str_replace(",".$row_user_group['email'],"",$mail);
-
- if($mail == ""){
- $virgule = "";
- }
- else {
- $virgule = ",";
- }
- $mail = $mail.$virgule.$row_user_group['email'] ;
-
- }
- $update = "UPDATE webcal_user SET cal_email = '".trim($mail,',')."' WHERE cal_login = '".$row2['unix_group_name']."'" ;
- db_query($update);
-
- }
- $cal_res = db_query($cal_query2);
-
-}
-
-
-//link
-
-$query_hierarchy = "select p1.group_id as father_id,p1.unix_group_name as father_unix_name,p1.group_name as father_name,p2.group_id as son_id,p2.unix_group_name as son_unix_name,p2.group_name as son_name from groups as p1,groups as p2,plugin_projects_hierarchy where p1.group_id=plugin_projects_hierarchy.project_id and p2.group_id=plugin_projects_hierarchy.sub_project_id and plugin_projects_hierarchy.activated='t' AND plugin_projects_hierarchy.link_type='shar'";
-$res_hierarchy = db_query($query_hierarchy);
-if($res_hierarchy){
- while($row_hierarchy = db_fetch_array($res_hierarchy)) {
- $query_entry = "SELECT cal_id FROM webcal_entry_user WHERE cal_login = '".$row_hierarchy['son_unix_name']."' AND cal_status = 'A'" ;
- $res_entry = db_query($query_entry);
- if($res_entry){
- while($row_entry = db_fetch_array($res_entry)) {
- $insert_entry = "INSERT INTO webcal_entry_user (cal_id,cal_login,cal_status) VALUES ('".$row_entry['cal_id']."','".$row_hierarchy['father_unix_name']."','A')";
- $res_insert_entry = db_query($insert_entry);
- }
- }
- }
-
- }
-
-//admin
-
-$query_flags = "SELECT value, user_id, group_id FROM user_group,role_setting WHERE role_setting.role_id = user_group.role_id AND role_setting.section_name = 'webcal'" ;
- //$query_flags = "SELECT admin_flags FROM user_group WHERE user_id = '".$params[0]."' AND group_id = '".$params[1]."'";
- $res = db_query($query_flags);
- if($res){
- while( $row_flags = db_fetch_array($res)){
-
-
-
- //get user name :
- $query_nom_boss = "SELECT unix_group_name FROM groups WHERE group_id = '".$row_flags['group_id']."' ";
- $res_nom_boss = db_query($query_nom_boss);
- $row_nom_boss = db_fetch_array($res_nom_boss);
-
-
- $query_nom_user = "SELECT user_name FROM users WHERE user_id = '".$row_flags['user_id']."' ";
- $res_nom_user = db_query($query_nom_user);
- $row_nom_user = db_fetch_array($res_nom_user);
-
- //webcal admin flags
- $query_flags = "SELECT COUNT(*) FROM webcal_asst WHERE cal_boss = '".$row_nom_boss['unix_group_name']."' AND cal_assistant = '".$row_nom_user['user_name']."'";
- $res_count = db_query($query_flags);
- $row_num = db_fetch_array($res_count);
-
- //select email
- $query_mail ="SELECT cal_email FROM webcal_user WHERE cal_login = '".$row_nom_boss['unix_group_name']."'";
- $res_mail = db_query($query_mail);
- $row_mail = db_fetch_array($res_mail);
-
- if(($row_num[0] != 1 ) && ($row_flags['value'] == 1)){
- //recuperer le nom du user et du group
- $insert_ass = "INSERT INTO webcal_asst (cal_boss, cal_assistant) VALUES ('".$row_nom_boss['unix_group_name']."','".$row_nom_user['user_name']."')";
- $res_insert = db_query($insert_ass);
-
- //we add email of the new admin
- $mail = $row_mail['cal_email'].",".$row_nom_user['email'] ;
- $update = "UPDATE webcal_user SET cal_email = '".$mail."' WHERE cal_login = '".$row_nom_boss['unix_group_name']."'" ;
- db_query($update);
- }
- elseif($row_num[0] == 1 && ($row_flags['value'] != 1)){
- $del_ass = "DELETE FROM webcal_asst WHERE cal_boss = '".$row_nom_boss['unix_group_name']."' AND cal_assistant = '".$row_nom_user['user_name']."'";
- $res_del = db_query($del_ass);
-
- //we del email of the old admin
- $mail = str_replace(",".$row_nom_user['email'],"",$row_mail['cal_email']) ;
- $update = "UPDATE webcal_user SET cal_email = '".$mail."' WHERE cal_login = '".$row_nom_boss['unix_group_name']."'" ;
- db_query($update);
- }
- }
- }
-
-
-
-
-?>
Copied: trunk/gforge/plugins/webcalendar/script/webcalendar-init.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/script/webcalendar-init.php)
Copied: trunk/gforge/plugins/webcalendar/www (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www)
Deleted: trunk/gforge/plugins/webcalendar/www/.project
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/.project 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/.project 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>webcalendar</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>net.sourceforge.phpeclipse.parserbuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>net.sourceforge.phpeclipse.phpnature</nature>
- </natures>
-</projectDescription>
Copied: trunk/gforge/plugins/webcalendar/www/.project (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www/.project)
Deleted: trunk/gforge/plugins/webcalendar/www/AUTHORS
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/AUTHORS 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/AUTHORS 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,75 +0,0 @@
-Most of the code was written by Craig Knudsen <cknudsen at cknudsen.com>
-
-Other code (new features and bug fixes) provided by (and probably many others that I have inadvertantly missed):
- Jukka Aittola <Jukka.Aittola at hut.fi>
- Mike Baptiste <baptiste at cc-concepts.com>
- Ralph Bossler <rbossler at gmx.de>
- Toby Cabot <toby at toby.cabot@pobox.com>
- Antonio Costa <accmdq at esoterica.pt>
- Lachlan Cox <lachie at zip.com.au>
- Matthew Crosby <mcrosby at marthon.org>
- Dominik Fischer <dfischer at megla.de>
- Tollef Fog Heen <tollef at add.no>
- T.R. Fullhart <kayos at kayos.org>
- Ken Harris <kharris at lhinfo.com>
- Florian Helmberger <fh at enemy.org>
- Michiel Holtkamp <michiel at reseau.nl>
- Jeff Hoover <jhoov at thebusstop.net>
- Lucie Houel <lyly134 at caramail.com>
- Peter Huetmannsberger <huetmann at site38.ping.at>
- Thomas James <tbjames at bellsouth.net>
- Ian R. Justman <ianj at calweb.com>
- Thorsten Klein <klein at lfm.rwth-aachen.de>
- Ulrich Leodolter <ulrich at lab1.psy.univie.ac.at>
- Benoit Maisonny <benoit at synclude.com>
- Jonathan Mark <jhmark at xenops.com>
- Ed Palmer <palmered at users.sourceforge.net>
- Otto Paukner <Otto.Paukner at m-v-l.de>
- Paul Reisdorf <preisdorf at binus.net>
- Adam Roben <adam.roben at gmail.com>
- David Rodrigues <drodrig at netextensions.com>
- Adam Shantz <adamATadamshantzDOTcom>
- Andy Skunza <askunza at dynamix-ltd.com>
- Oliver Teuber <teuber at devicen.de>
- Romuald Texier <romuald at idp9001.com>
- Frederic Tyndiuk [email address suppressed]
- Jan Willamowius <jan at mobile.de>
- Vadim Zaliva <lord at crocodile.org>
-
-Translations:
- Danish:
- Allan Thraen <allan at 12go.dk>
- Dutch:
- Marcel van der Boom <marcel at hsdev.com>
- Patrick Gutlich <pgutlich at casema.net>
- Klaus Spithost <k.spithost at it-works.nl>
- French:
- Luc Capronnier
- Olivier Piquerez <Piquerez at topd.ch>
- Yves Moenner <yves.moenner at mailcity.com>
- Romuald Texier <romualdt at free.fr>
- German:
- Markus Egartner <markus.egartner at kh.hallein.at>
- Ralph Bossler <rbossler at gmx.de>
- Peter Huetmannsberger <huetmann at site38.ping.at>
- Italian:
- Simone Cortesi <simone at cortesi.com>
- Korean:
- Joonyup Jeon <goodwill at wowbook.com>
- Norwegian:
- Pål Løberg/Magni Onsøien <initio at initio.no>
- Portuguese:
- Antonio Costa <accmdq at mail.esoterica.pt>
- Nuno Lopes <nuno.lopes at maxitel.com>
- Portuguese/Brazil:
- Sérgio Oliveira <sloliv at terra.com.br>
- Romanian:
- Dan Protopopescu <protopop at physics.gla.ac.uk>
- Russian:
- Andre E. Bar'yudin <baryudin at pob.huji.ac.il>
- Spanish:
- Pedro Del Medico <pdmp at interhoster.com>
- Swedish:
- Jesper Thörn <jesper at thorn.as>
- Turkish:
- Atilla Kazanci <support at dig-it-berlin.de>
Copied: trunk/gforge/plugins/webcalendar/www/AUTHORS (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www/AUTHORS)
Deleted: trunk/gforge/plugins/webcalendar/www/GPL.html
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/GPL.html 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/GPL.html 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,558 +0,0 @@
-<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
-<HTML>
-<HEAD>
-<TITLE>GNU General Public License - GNU Project - Free Software Foundation (FSF)</TITLE>
-<LINK REV="made" HREF="mailto:webmasters at www.gnu.org">
-<BASE HREF="http://www.gnu.org/licenses/gpl.html">
-</HEAD>
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#1F00FF" ALINK="#FF0000" VLINK="#9900DD">
-<H1>GNU General Public License</H1>
-<A HREF="/graphics/philosophicalgnu.html"><IMG SRC="/graphics/philosophical-gnu-sm.jpg"
- ALT=" [image of a Philosophical GNU] "
- WIDTH="160" HEIGHT="200"></A>
-
-<!-- Please keep this list alphabetical -->
-<!-- tower, gpl.ja.html is Japanese translation of THIS PAGE, -->
-<!-- NOT translation of GPL itself(gpl.ja.html contains the original -->
-<!-- English version). So please do not remove the following. -->
-<!-- Thanks -mhatta -->
-<!-- The same for the Czech page. The entire text of GPL is not -->
-<!-- translated on this page. Thanks Sisao -->
-
-[
- <A HREF="/licenses/gpl.cs.html">Czech</A>
-| <A HREF="/licenses/gpl.html">English</A>
-| <A HREF="/licenses/gpl.ja.html">Japanese</A>
-]
-
-<!-- It is best to not enumerate the translations here in a menu bar, -->
-<!-- It is best to have the users follow this link, so they have the FSF' -->
-<!-- explanation about translations being unofficial, etc. -->
-
-<P>
-<UL>
- <LI><A HREF="/licenses/gpl-violation.html"><EM>What to do if you see a
- possible GPL violation</EM></A>
- <LI><A HREF="/licenses/translations.html"><EM>Translations
- of the GPL</EM></A>
- <LI><A HREF="/licenses/gpl-faq.html"><EM>GPL Frequently Asked Questions</EM></A>
- <LI>The GNU General Public License (GPL)
- <A HREF="/licenses/gpl.txt">in plain text format</A>
- <LI>The GNU General Public License (GPL)
- <A HREF="/licenses/gpl.texi">in Texinfo format</A>
-</UL>
-<P>
-<HR>
-
-<P>
-
-<H2>Table of Contents</H2>
-<UL>
-
- <LI><A NAME="TOC1" HREF="gpl.html#SEC1">GNU GENERAL PUBLIC LICENSE</A>
-<UL>
-<LI><A NAME="TOC2" HREF="gpl.html#SEC2">Preamble</A>
-<LI><A NAME="TOC3" HREF="gpl.html#SEC3">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</A>
-<LI><A NAME="TOC4" HREF="gpl.html#SEC4">How to Apply These Terms to Your New Programs</A>
-
-</UL>
-</UL>
-
-<P>
-
-<HR>
-
-<P>
-
-
-
-<H2><A NAME="SEC1" HREF="gpl.html#TOC1">GNU GENERAL PUBLIC LICENSE</A></H2>
-<P>
-Version 2, June 1991
-
-</P>
-
-<PRE>
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-</PRE>
-
-
-
-<H2><A NAME="SEC2" HREF="gpl.html#TOC2">Preamble</A></H2>
-
-<P>
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
-</P>
-<P>
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-</P>
-<P>
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-</P>
-<P>
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
-</P>
-<P>
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-</P>
-<P>
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-</P>
-<P>
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-</P>
-<P>
- The precise terms and conditions for copying, distribution and
-modification follow.
-
-</P>
-
-
-<H2><A NAME="SEC3" HREF="gpl.html#TOC3">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</A></H2>
-
-
-<P>
-
-<STRONG>0.</STRONG>
- This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-<P>
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-<P>
-
-<STRONG>1.</STRONG>
- You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-<P>
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-<P>
-
-<STRONG>2.</STRONG>
- You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-<P>
-
-<UL>
-
-<LI><STRONG>a)</STRONG>
- You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
-<P>
-<LI><STRONG>b)</STRONG>
- You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
-<P>
-<LI><STRONG>c)</STRONG>
- If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-</UL>
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-<P>
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-<P>
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-<P>
-
-<STRONG>3.</STRONG>
- You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-
-<!-- we use this doubled UL to get the sub-sections indented, -->
-<!-- while making the bullets as unobvious as possible. -->
-<UL>
-
-<LI><STRONG>a)</STRONG>
- Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
-<P>
-<LI><STRONG>b)</STRONG>
- Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
-<P>
-<LI><STRONG>c)</STRONG>
- Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-</UL>
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-<P>
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-<P>
-
-<STRONG>4.</STRONG>
- You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-<P>
-
-<STRONG>5.</STRONG>
- You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-<P>
-
-<STRONG>6.</STRONG>
- Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-<P>
-
-<STRONG>7.</STRONG>
- If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-<P>
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-<P>
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-<P>
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-<P>
-
-<STRONG>8.</STRONG>
- If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-<P>
-
-<STRONG>9.</STRONG>
- The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-<P>
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-<P>
-
-
-<STRONG>10.</STRONG>
- If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-
-
-<P><STRONG>NO WARRANTY</STRONG></P>
-
-<P>
-
-<STRONG>11.</STRONG>
- BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-<P>
-
-<STRONG>12.</STRONG>
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-<P>
-
-
-<H2>END OF TERMS AND CONDITIONS</H2>
-
-
-
-<H2><A NAME="SEC4" HREF="gpl.html#TOC4">How to Apply These Terms to Your New Programs</A></H2>
-
-<P>
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-</P>
-<P>
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-</P>
-
-<PRE>
-<VAR>one line to give the program's name and an idea of what it does.</VAR>
-Copyright (C) <VAR>yyyy</VAR> <VAR>name of author</VAR>
-
-This program 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.
-
-This program 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 this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-</PRE>
-
-<P>
-Also add information on how to contact you by electronic and paper mail.
-
-</P>
-<P>
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-</P>
-
-<PRE>
-Gnomovision version 69, Copyright (C) <VAR>year</VAR> <VAR>name of author</VAR>
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
-type `show w'. This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c'
-for details.
-</PRE>
-
-<P>
-The hypothetical commands <SAMP>`show w'</SAMP> and <SAMP>`show c'</SAMP> should show
-the appropriate parts of the General Public License. Of course, the
-commands you use may be called something other than <SAMP>`show w'</SAMP> and
-<SAMP>`show c'</SAMP>; they could even be mouse-clicks or menu items--whatever
-suits your program.
-
-</P>
-<P>
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
-</P>
-
-<PRE>
-Yoyodyne, Inc., hereby disclaims all copyright
-interest in the program `Gnomovision'
-(which makes passes at compilers) written
-by James Hacker.
-
-<VAR>signature of Ty Coon</VAR>, 1 April 1989
-Ty Coon, President of Vice
-</PRE>
-
-<P>
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
-<HR>
-
-Return to <A HREF="/home.html">GNU's home page</A>.
-<P>
-FSF & GNU inquiries & questions to
-<A HREF="mailto:gnu at gnu.org"><EM>gnu at gnu.org</EM></A>.
-Other <A HREF="/home.html#ContactInfo">ways to contact</A> the FSF.
-<P>
-Comments on these web pages to
-<A HREF="mailto:webmasters at www.gnu.org"><EM>webmasters at www.gnu.org</EM></A>,
-send other questions to
-<A HREF="mailto:gnu at gnu.org"><EM>gnu at gnu.org</EM></A>.
-<P>
-Copyright notice above.<BR>
-Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111, USA
-<P>
-Updated:
-<!-- hhmts start -->
-Last modified: Sun Jul 15 13:13:30 CEST 2001
-<!-- hhmts end -->
-<HR>
-</BODY>
-</HTML>
Copied: trunk/gforge/plugins/webcalendar/www/GPL.html (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www/GPL.html)
Deleted: trunk/gforge/plugins/webcalendar/www/NEWS
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/NEWS 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/NEWS 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,279 +0,0 @@
-Version 1.0.4 (07 Jun 2006)
- - Security fix: do not allow setting of "includedir" via URL when
- register_globals is enabled in php.ini
- - Updated Portugues translation
-Version 1.0.3 (11 Apr 2006)
- - Patch 1456375: Day view - "Description" not translated, improper
- handling of HTML in description
- - Fixed bug 1444923: system settings error on save when ovrd=1 is used
- - Fixed bug 1420859: Problems with overriding conflict
- - Fixed bug 1445535: tables-db2.sql NULL usage was incorrect
- - Patch 1279537: Don't display confidential events in upcoming.php
- - Fixed bug 1406428: Bug in endhour
- - Fixed bug 1438181: DBI Interbase-Firebird connection call has
- wrong parameters
- - Fixed bug 1279804: send_reminders.php fails in v1.0.1
- - Fixed bug 1417585: vCal export of forever repeating events fails for Palm
- - Fixed bug 1417529: Can't change public access layers
- - Fixed bug 1397766: Tomorrow Report fails to This Week
- - Fixed bug 1374014: Prefs page displays option to modify
- Public Access calendar..
- - Fixed bug 1382217 Glitch in handling of public access prefs
- - Added support for DB2
- - The following translations were updated:
- Greek (new), Hungarian
-Version 1.0.2 (06 Dec 2005)
- - Fixed vuln in layers: published vulnerability in layers_toggle.php
- was fixed
- - Security fixes: fixes for activity_log.php, export_handler.php,
- edit_template.php, pref_handler.php and admin_handler.php
- that deal with SQL Injection
- - Fixed bug 1349621: Information disclosure vulnerabililty on failed login
- - Fixed bug 1353363: publish.php logic error for public user?
- - Fixed bug 1328589: typo in del_entry for read-only calendars.
- - Added new time range options for reports: next 14/30/60/90/180/365 days
- This allows reports to show events starting with current date
- - Fixed bug: undefined variable warning in export_handler.php
- - Fixed the following bug reports on SourceForge:
- 1296294: Javascript error when saving with empty description on IE
- 1265575: Bug in get_all_dates()
- - Other bugs fixed:
- + Added Romanian, Turkish, Welsh to config.php in places where they were
- missing.
- - New Features / Enhancements / Changes:
- - The following translations were updated:
- Czech, German, Polish
-Version 1.0.1 (19 Aug 2005)
- - Fixed the following bug reports on SourceForge:
- 1221434: Improved iCal import support for BYMONTHDAY in ics
- 1261571: Overriding a conflict when name has double quotes
- 1233798: Catagory settings for Boss/Assistant not working
- 1245755: Unbalanced span tags
- 1211309: Notification message language incorrect
- 1204229: "Untimed event" default broken since bug 1202127 fix
- 1205680: upcoming.php was including unapproved. will now use
- user preferences for displaying unapproved.
- 1212667: Install script - Database Type Problem
- 1218113: iCal ATTENDEE error if event is deleted
- - Other bugs fixed:
- - Fixed bug: use of & in report.php and view_entry.php
- + Fixed bug: include path problems for opening settings.php file
- + Fixed security: exploit allows execution of code downloaded from
- remote server
- + URLs in month.php did not include '?'
- + Category was lost wan clicking on prev/next month in month.php
- + Fixed login looping related to register_long_arrays
- - New Features / Enhancements / Changes:
- + Applied patch 1171807: reminder sent late if cron run at exact
- second of reminder (was accidentally not included in 1.0.0)
- - The following translations were updated:
- + Danish, French, German, Norwegian, Polish, Portuguese_BR
-
-Version 1.0.0 (17 May 2005) aka "Buster"
- - Fixed the following bug reports on SourceForge:
- 1202127: [ 1187734 ] Timezone offset problems still exist
- 1201821: Bypass user_sees_only_his_groups
- 1193835: Creator cannot "edit" a nonuser-event after Admin changes it.
- 1193579: Untimed shows up wrong in edit page
- 1189515: Possible to create blank usernames
- 1190687: users.php called as public
- 1190699: export.php available to public
- 1190704: public can access assistant_edit.php
- 1103215: Invalid work hours
- 1187734: Timezone offset problem
- 1120897: Conflict with exceptions
- 1181682: Report with no name entered -> phantom report!
- 1179423: private events displayed on reports
- 1183714: Translation error
- 1154432: vCal import from Mozilla fails to translate quoted-printable
- 1176164: iCalendar import fatally corrupts database
- 1181682: Reports with just spaces for a name cannot be edited
- 1179403: Availability selection fails when Time Format =24
- 1065461: timezone offset & all-day events
- 1107253: time zone offset
- 1140453: Time zone offset in email notifications
- 1148602: External Recipients with same name fails
- 1160167: 12AM Events cause display problems in edit_entry.php
- 1158769: Category lost when modifing event by Admin
- 1168686: Month display collides with minicals on Safari
- 1168682: RC3 Language Detection Broken for Safari.
- 1169403: Public Access not default selected if Particiapants not shown.
- 1169078: Bad function call in import_handler.php
- 1168092: Overlapping events display problem
- 1167281: View_l loses colour for "today"
- 1167790: class="selectedday" assignments in other than day.php
- 1162486: Path exposure issue with view_entry.php
-
- - Other bugs fixed:
- + Fixed problem with ical import weekly BYDAY parsing in import_ical.php
- + Fixed problem with missing $cat_id in week and day URLs in month.php
- + Fixed problem with second edit of a single event in a repeating series
- losing linkage with the original event.
- + Fixed problem with views_edit.php, select groups not returning menbers
- + Fixed problem with 12AM event not adding hour=0 to URL in week.php
- + Fixed day.php rendering problem in Safar
- + Applied bug fix 1151442: Overlapping events display error in week.php
-
- - New Features / Enhancements / Changes:
- + Split import/export back to two separate links & pages
- + Moved contents of scheduling tab to details tab
- + Updated install/index.php to improve security and display advanced php info
- + Added new default webcal_config values to all sql table definition files
- + Removed most instances of htmlentities as unneeded
- + Admin no longer needs to approve Public events that they create
- + Added option to set LDAP_OPT_PROTOCOL_VERSION in user-ldap.php
- + Updated install web page to work better on Windows systems.
- Added display of current PHP settings.
- + When viewing a report, if allow_html_description is enabled but no HTML
- is found in an event description, use nl2br to preserve plain text
- formatting.
-
- - The following translations were updated:
- + Danish, Finnish, German, French, Japanese, Norwegian, Polish
-
----------------------------------------------------------------------------
-
-Version 1.0RC3 (11 Mar 2005)
- - Fixed the following bug reports on SourceForge:
- 1156729: Global-view with no valid user creates a non-translatable message
- 1152863: Japanese strings munged by reports.php and upcoming.php
- 1124461: Apostrophe in Text Aborts Translation
- 1154854: Nonuser cals not showing up in views
- 1154007: Highlight today in Year view
- 1088772: Nonuser calendar w/ Public as default participant
- 1145390: Merge arrays with array_merge vs + in view_t.php
- 1151442: Overlapping events display error in day.php
- 1146037: Availibility legend size not dynamic and not centered in IE.
- 1148603: Assistants can't view Bosses Unapproved Events.
- 1145342: Category selection not tranferred to edit_entry page.
- 1118121: get_admins in user-ldap has bad search
- 1123508: RC3 browser language detection always returns none.
- 1112787: missing charset in upcoming.php
- - Other bugs fixed:
- + Fixed problem with upcoming.php header. xml:lang and lang were set to full
- LANGUAGE value, not abbreviation.
- + Fixed problem with upcoming.php with "You are not Authorized" error message
- being sent without a header.
- + Fixed problem with popups.php with long text strings going off screen.
- Maximum width is now configurable.
- + Fixed issue with Application Name containing ? characters in logon.php.
- If Application Name = "Title" then translate, else use Admin defined
- name and run through htmlspecialchars
- + Fixed issues with display_small_month URLs. Extra & if no $user specified.
- - Add meta tag for charset since MSIE requires it.
- + Fixed broken advanced search that would not allowing searching other
- users' calendars. Also added searching non-user calendars.
- + Added javascript that enables visibility of the start/end time or
- duration on the edit_entry page from availability.php
- + Fixed printer friendly view problem. With refresh on, the refresh URL
- reverted to the regular page
- + Fixed date_selection_html function to include values for day control
- + Purge events was not deleting from webcal_entry_ext_user table
- + Fixed issues with ODBC returning 'invalid db_type'
- + Fixed issue where month.php and mini-calendar today highlight
- based on server time
- - New Features / Enhancements / Changes:
- + Added 'Public Access' to Manage Calendar of: list, if Admin.
- + Allow user-created views to be the default view set in user preferences.
- After saving or deleting an event, the user will return to this page.
- + Replaced popups.php code with new knoppix based code. This should eliminate
- the problems with popups going off screen. Popups also follow the cursor now,
- but can be disabled in the file.
- + Replaced all instances of forms[0] in javascript with the real form
- names. This will allow WebCalendar to co-exist with other forms on
- the same page.
- + Added patch to allow TLS with LDAP
- + Added patch 900968: Add outlook-style availability popup
- + Added global views (available to all users)
- + Added option to select all users for a view (rather than having
- to select all users in the list). If users are added later, they
- will be automatically included in the view.
- + Converted comments for use with phpDocumentor
- - The following translations were updated:
- + Dutch, Japanese (utf8, euc-jp, shift-jis), Spanish, German
-
----------------------------------------------------------------------------
-
-Version 1.0RC2 (09 Feb 2005)
- - Fixed the following bugs reports on SourceForge:
- 1116008: Got "invalid user" error when clicking on '+' icon
- to add new event
- - Other bugs fixed:
- + Fixed a problem with the Repeat Tab on edit_entry page, if disabled,
- the SAVE button was hidden as well.
- - New Features / Enhancements / Changes:
- + Modified the way settings.php file is read to handle unix/dos/mac
- format and also check main directory and include directory.
- + In day and week view, time slots with events will now use a different
- background color than time slots that are empty. (This restores
- how this worked a couple of versions ago.)
- + Many code changes were made to prevent the "undefined variable"
- warning that users may get if they have the PHP error_reporting
- setting enabled.
- + Documentation updated to System Administrator Guide including
- new instructions for setting up reminders on Windows.
- - The following translations were updated:
- + Czech
-
----------------------------------------------------------------------------
-
-Version 1.0RC1 (04 Feb 2005)
- - Fixed the following bugs reports on SourceForge:
- 824268: Emails notifications used wront timezone
- 931096: Restrict views and view edits to owner of that view
- 986774: Editing category as assistant was not working
- 1061746: layout issues with views (daily)
- 1066440: End Time increased by timezone offset
- 1085337: Categories combo-box in month.php in assistant mode
- 1088857: SQL bug affecting ODBC users when viewing event
- 1101823: Problem importing palm desktop datebook.dat file
- 1102167: custom header when non-admin user
- 1109141: Email notifications where using sender language
- rather than recipient language
- 1109323: Error in LDAP function for getting list of admins
- 1087604: Vanishing Layers / cookies
- 1086357: repeating details display
- 1085846: SQL error in when listing users on some databases
- 1085971: repeat tab does not display details
- 1074403: Day View is not accounting for server offset
- - Other bugs fixed:
- + Security fix: Fixed protential problem if a user attempts to login
- with a username that has charaters that will affect the database.
- + When using web-based authentication, two database connections
- were being opened and only one was being closed.
- + vCal import was completely broken
- + Fixed problem using htmlarea where event description would not be saved
- + View Event page would not display links to edit/delete under
- some circumstances
- + Fixes for WN web server
- + Removed duplicate trailer from edit user page (when using a custom
- trailer)
- - New Features / Enhancements:
- + MS SQL Server is now suppported
- + If php.ini setting for "file_uploads" is not enabled, then indicate
- this on the import page
- + Streamlined layers.php & made layers only be displayed when layers
- are enabled
- + Updated Admin docs for content & xhtml/css validity
- + Added new documentation in docs directory:
- WebCalendar-Functions.html
- WebCalendar-DeveloperGuide.html
- WebCalendar-Styling.html
- + Fixed various xhtml/css issues
- + Updated reading of settings file to better handle when file
- is not in exact format we are expecting.
- + Added database sanity check
- + Updated default color scheme (Will only apply to new installs)
- + When html is allowed in event description, still replace newline with
- html break in view page and event popup if the user did not use any html.
- + Fixing users.php so it only shows a single user's info when the user
- isn't an admin
- + Added ability to authenticate users with postnuke user info.
- + Added support for automatic gradient background images for table cells
- - The following translations were updated:
- + Japanese (with support for 3 character sets)
- + Romanian (new)
- + French
- + German
- + Italian
- + Norwegian
Copied: trunk/gforge/plugins/webcalendar/www/NEWS (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www/NEWS)
Deleted: trunk/gforge/plugins/webcalendar/www/README.html
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/README.html 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/README.html 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
-<title>WebCalendar README</title>
-<style type="text/css">
-<!--
-body {
- background-color: #FFFFFF;
- font-family: arial, verdana;
-}
-a {
- text-decoration: none;
-}
-dt {
- font-weight: bold;
-}
-tr {
- background-color: #606080;
-}
-td {
- background-color: #E0E0E0;
- vertical-align: top;
-}
-h3 {
- background-color: #191970;
- color: #FFFFFF;
- padding: 5px;
-}
--->
-</style>
-</head>
-<body>
-<h2>WebCalendar README</h2>
-
-<table style="border-width:0px;" cellpadding="10">
-<tr><td style="font-weight:bold;">
- URL:</td><td>
- <a href="http://www.k5n.us/webcalendar.php">www.k5n.us/webcalendar.php</a>
-</td></tr>
-
-<tr><td style="vertical-align:top; font-weight:bold;">Developers:</td>
-<td valign="top">Craig Knudsen,
-<script language="JavaScript">
-document.write ("<a href=\"mailto:cknudsen" );
-document.write ( "@cknudsen.com\">cknudsen@" );
-document.writeln ( "cknudsen.com</a>," );
-</script>
-<a href="http://www.k5n.us/">http://www.k5n.us</a><br />
- Jeff Hoover<br />
- Adam Shantz, <a href="mailto:adamATadamshantzDOTcom">adamATadamshantzDOTcom</a>,
- <a href="http://adamshantz.com">adamshantz.com</a>
-</td></tr>
-
-<tr><td style="font-weight:bold;">Documentation:</td><td>
- <a href="docs/WebCalendar-SysAdmin.html">System Administrator's Guide</a> (Installation instructions, FAQ)<br />
- User Manual (<a href="http://sourceforge.net/project/showfiles.php?group_id=3870&package_id=112017">download</a>)<br />
- <a href="UPGRADING.html">Upgrading Instructions</a>
- (<strong>Required</strong> when upgrading from an older version)<br />
- <a href="GPL.html">License</a><br />
- <a href="ChangeLog">History of Changes</a><br />
- <a href="http://webcalendar.sourceforge.net/demo/">Online Demo</a>
-</td></tr>
-
-<tr><td style="font-weight:bold;">Developer Resources:</td><td>
- <a href="http://sourceforge.net/projects/webcalendar/">Sourceforge.net Home</a><br />
- <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/webcalendar/webcalendar/docs/WebCalendar-Functions.html?rev=HEAD&content-type=text/html">WebCalendar-Functions.html</a><br/>
- <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/webcalendar/webcalendar/docs/WebCalendar-Database.html?rev=HEAD&content-type=text/html">WebCalendar-Database.html</a><br/>
- <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/webcalendar/webcalendar/docs/WebCalendar-DeveloperGuide.html?rev=HEAD&content-type=text/html">WebCalendar-DeveloperGuide.html</a><br/>
-
- <a href="http://sourceforge.net/forum/forum.php?forum_id=11588">Help/Troubleshooting Forum</a><br />
- <a href="http://sourceforge.net/forum/forum.php?forum_id=11587">Open Discussion Forum</a><br />
- <a href="http://sourceforge.net/tracker/?group_id=3870&atid=103870">Bug Reports</a><br />
- <a href="http://sourceforge.net/tracker/?group_id=3870&atid=303870">Patches</a><br />
- <a href="https://sourceforge.net/project/showfiles.php?group_id=3870">Latest Version</a>
-</td></tr>
-</table>
-
-<h3>Note</h3>
- <p>For a complete feature list, system requirements, and installation instructions, please see the <a href="docs/WebCalendar-SysAdmin.html">WebCalendar System Administrator's Guide</a>.</p>
-
-<h3>Outstanding issues</h3>
-<ul>
- <li>Updated translatations (some are slightly out of date)</li>
-</ul>
-
-<h3>Possible features for future releases</h3>
-<ul>
- <li>See <a href="http://www.k5n.us/webcalendar.php?topic=Plans">Plans</a> on the WebCalendar home page.</li>
-</ul>
-</body>
-</html>
Copied: trunk/gforge/plugins/webcalendar/www/README.html (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www/README.html)
Deleted: trunk/gforge/plugins/webcalendar/www/UPGRADING.html
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/UPGRADING.html 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/UPGRADING.html 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,477 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
-<title>WebCalendar Upgrading Notes</title>
-<style type="text/css">
- body {
- font-family: arial, verdana;
- background-color: #FFFFFF;
- }
- a {
- text-decoration: none;
- }
- dt {
- font-weight: bold;
- }
- tr {
- background-color: #606080;
- color: #F0F0F0;
- }
- td {
- background-color: #C0C0C0;
- }
- .colorheader {
- background-color: #6060C0;
- }
- .valid {
- border-width: 0px;
- }
- pre {
- font-family: courier, monospace;
- border: 1px solid blue;
- background-color: #EEEEFF;
- padding: 4px;
- margin-left: 25px;
- margin-right: 25px;
- }
-</style>
-</head>
-<body>
-<h2>WebCalendar Upgrading Notes</h2>
-
-<p>Below are the steps needed to upgrade from a previous version.
-Select your current version from the list below. If you are more
-than one version behind (i.e. the current version is v0.9.45,
-and you're using 0.9.39), click the "next.." link at the end of
-each section to move to the next version. Always follow the versions
-in sequence.</p>
-<hr />
-
-<h4>I'm using..</h4>
-<ul>
- <li>
- <a href="UPGRADING.html#1dot0RC1">0.9.45 or 1.0RC1</a></li><li>
- <a href="UPGRADING.html#dot945">0.9.44</a></li><li>
- <a href="UPGRADING.html#dot944">0.9.43</a></li><li>
- <a href="UPGRADING.html#dot943">0.9.42</a></li><li>
- <a href="UPGRADING.html#dot942">0.9.41</a></li><li>
- <a href="UPGRADING.html#dot941">0.9.40</a></li><li>
- <a href="UPGRADING.html#dot940">0.9.39</a></li><li>
- <a href="UPGRADING.html#dot939">0.9.38</a></li><li>
- <a href="UPGRADING.html#dot938">0.9.37</a></li><li>
- <a href="UPGRADING.html#dot937">0.9.36 or 0.9.35</a></li><li>
- <a href="UPGRADING.html#dot935">0.9.34 - 0.9.27</a></li><li>
- <a href="UPGRADING.html#dot927">0.9.26 - 0.9.22</a></li><li>
- <a href="UPGRADING.html#dot922">0.9.21 - 0.9.14</a></li><li>
- <a href="UPGRADING.html#dot914">0.9.13 or 0.9.12</a></li><li>
- <a href="UPGRADING.html#dot912">0.9.11 - 0.9.07</a></li><li>
- <a href="UPGRADING.html#dot907">0.9.06 - 0.9.01</a></li><li>
- <a href="UPGRADING.html#dot901">0.9</a>
- </li>
-</ul>
-<hr />
-
-<h4><a id="dot901">To upgrade from v0.9 to v0.9.01:</a></h4>
-<p>You need to create the table cal_user_pref in tables.sql.
-You need to create the table cal_entry_user in tables.sql that
-was mistakenly created as "cal_event_user" in the 0.9 release.</p>
-<a href="UPGRADING.html#dot907">next..</a>
-<hr />
-
-<h4><a id="dot907">To upgrade from v0.9.01 to v0.9.07:</a></h4>
-<p>Entirely new tables are used. Use the following commands to
-convert your existing MySQL tables to the new tables:</p>
-<pre>
-cd tools
-./upgrade_to_0.9.7.pl
-mysql intranet < commands.sql
-</pre>
-<p>where "intranet" is the name of the MySQL database that contains
-your WebCalendar tables.</p>
-<a href="UPGRADING.html#dot912">next..</a>
-<hr />
-
-<h4><a id="dot912">To upgrade from v0.9.07 - v0.9.11 to v0.9.12:</a></h4>
-<p>To fix a bug in the handing of events at midnight, all the
-entries with NULL for cal_time are changed to -1. Use the
-following SQL command:</p>
- <pre>update webcal_entry set cal_time = -1 where cal_time is null;</pre>
-<a href="UPGRADING.html#dot914">next..</a>
-<hr />
-
-<h4><a id="dot914">To upgrade from v0.9.12 or v0.9.13 to v0.9.14:</a></h4>
-<p>A new table was added to support repeating events. Look at
-tables-mysql.sql, tables-oracle.sql, or tables-postgres.sql.
-Execute the SQL for creating the webcal_entry_repeats. For MySQL,
-the SQL is:</p>
-<pre>
-CREATE TABLE webcal_entry_repeats (
- cal_id INT DEFAULT '0' NOT NULL,
- cal_type VARCHAR(20),
- cal_end INT,
- cal_frequency INT DEFAULT '1',
- cal_days CHAR(7),
- PRIMARY KEY (cal_id)
-);
-</pre>
-<a href="UPGRADING.html#dot922">next..</a>
-<hr />
-
-<h4><a id="dot922">To upgrade from v0.9.14 - v0.9.21 to v0.9.22:</a></h4>
-<p>A new table was added to support layering. Look at
-tables-mysql.sql, tables-oracle.sql, or tables-postgres.sql.
-Execute the SQL for creating the webcal_entry_repeats. For MySQL,
-the SQL is:</p>
-<pre>
-CREATE TABLE webcal_user_layers (
- cal_layerid INT DEFAULT '0' NOT NULL,
- cal_login varchar(25) NOT NULL,
- cal_layeruser varchar(25) NOT NULL,
- cal_color varchar(25) NULL,
- cal_dups CHAR(1) DEFAULT 'N',
- PRIMARY KEY ( cal_login, cal_layeruser )
-);
-</pre>
-<a href="UPGRADING.html#dot927">next..</a>
-<hr />
-
-<h4><a id="dot927">To upgrade from v0.9.22 - v0.9.26 to v0.9.27:</a></h4>
-<p>Two new tables were added for custom event fields and reminders.
-Look at tables-mysql.sql, tables-oracle.sql, or tables-postgres.sql.
-Execute the SQL for creating webcal_site_extras and webcal_reminder_log.
-For MySQL and PostgreSQL, the SQL is:</p>
-<pre>
-CREATE TABLE webcal_site_extras (
- cal_id INT DEFAULT '0' NOT NULL,
- cal_name VARCHAR(25) NOT NULL,
- cal_type INT NOT NULL,
- cal_date INT DEFAULT '0',
- cal_remind INT DEFAULT '0',
- cal_data TEXT,
- PRIMARY KEY ( cal_id, cal_name, cal_type )
-);
-CREATE TABLE webcal_reminder_log (
- cal_id INT DEFAULT '0' NOT NULL,
- cal_name VARCHAR(25) NOT NULL,
- cal_event_date INT NOT NULL DEFAULT 0,
- cal_last_sent INT NOT NULL DEFAULT 0,
- PRIMARY KEY ( cal_id, cal_name, cal_event_date )
-);
-</pre>
-<p>For Oracle, the SQL is:</p>
-<pre>
-CREATE TABLE webcal_site_extras (
- cal_id INT DEFAULT '0' NOT NULL,
- cal_name VARCHAR(25) NOT NULL,
- cal_type INT NOT NULL,
- cal_date INT DEFAULT '0',
- cal_remind INT DEFAULT '0',
- cal_data LONG,
- PRIMARY KEY ( cal_id, cal_name, cal_type )
-);
-CREATE TABLE webcal_reminder_log (
- cal_id INT DEFAULT '0' NOT NULL,
- cal_name VARCHAR(25) NOT NULL,
- cal_event_date INT NOT NULL DEFAULT 0,
- cal_last_sent INT NOT NULL DEFAULT 0,
- PRIMARY KEY ( cal_id, cal_name, cal_event_date )
-);
-</pre>
-<p>You will also need to setup the tools/send_reminders.php script
-to be run periodically. I would recommend once an hour. For
-Linux/UNIX, this is simple. Just use cron and add a line to
-your crontab file that looks like:</p>
- <pre>1 * * * * cd /some/directory/webcalendar/tools; ./send_reminders.php</pre>
-<p>This will tell cron to run the script at one minute after the hour.
-Windows users will have to find another way to run the script.
-There are ports/look-a-likes of cron for Windows, so look around.</p>
-<a href="UPGRADING.html#dot935">next..</a>
-<hr />
-
-<h4><a id="dot935">To upgrade from v0.9.27 - v0.9.34 to v0.9.35:</a></h4>
-<p>Six new tables were added for group support, views, system
-settings and activity logs. Look at tables-mysql.sql,
-tables-oracle.sql, or tables-postgres.sql for these
-new tables: webcal_group, webcal_group_user,
-webcal_view, webcal_view_user, wecbal_config, webcal_entry_log.
-After adding these tables, be sure to go to the System Settings page
-(admin.php) since you will be missing some config stuff in your
-database that you can add from the System Settings page.
-For MySQL and PostgreSQL, the SQL is:</p>
-<pre>
-CREATE TABLE webcal_group (
- cal_group_id INT NOT NULL,
- cal_owner VARCHAR(25) NULL,
- cal_name VARCHAR(50) NOT NULL,
- cal_last_update INT NOT NULL,
- PRIMARY KEY ( cal_group_id )
-);
-CREATE TABLE webcal_group_user (
- cal_group_id INT NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- PRIMARY KEY ( cal_group_id, cal_login )
-);
-CREATE TABLE webcal_view (
- cal_view_id INT NOT NULL,
- cal_owner VARCHAR(25) NOT NULL,
- cal_name VARCHAR(50) NOT NULL,
- cal_view_type CHAR(1),
- PRIMARY KEY ( cal_view_id )
-);
-CREATE TABLE webcal_view_user (
- cal_view_id INT NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- PRIMARY KEY ( cal_view_id, cal_login )
-);
-CREATE TABLE webcal_config (
- cal_setting VARCHAR(50) NOT NULL,
- cal_value VARCHAR(50) NULL,
- PRIMARY KEY ( cal_setting )
-);
-CREATE TABLE webcal_entry_log (
- cal_log_id INT NOT NULL,
- cal_entry_id INT NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- cal_type CHAR(1) NOT NULL,
- cal_date INT NOT NULL,
- cal_time INT NULL,
- cal_text TEXT,
- PRIMARY KEY ( cal_log_id )
-);
-</pre>
-<a href="UPGRADING.html#dot937">next..</a>
-<hr />
-
-<h4><a id="dot937">To upgrade from v0.9.35 or v0.9.36 to v0.9.37:</a></h4>
-<p>The webcal_entry_log table was modified, and a new table
-webcal_entry_repeats_not was created. Use the following SQL
-to modify your table for MySQL and PostgreSQL:</p>
-<pre>
-ALTER TABLE webcal_entry_log ADD cal_user_cal VARCHAR(25);
-CREATE TABLE webcal_entry_repeats_not (
- cal_id INT NOT NULL,
- cal_date INT NOT NULL,
- PRIMARY KEY ( cal_id, cal_date )
-);
-</pre>
-<a href="UPGRADING.html#dot938">next..</a>
-<hr />
-
-<h4><a id="dot938">To upgrade from v0.9.37 to v0.9.38:</a></h4>
-<p>The webcal_entry_user table was modified, and a new table
-webcal_categories was created. Use the following SQL
-to modify your table for MySQL and PostgreSQL:</p>
-<pre>
-ALTER TABLE webcal_entry_user ADD cal_category INT DEFAULT NULL;
-CREATE TABLE webcal_categories (
- cat_id INT NOT NULL,
- cat_owner VARCHAR(25),
- cat_name VARCHAR(80) NOT NULL,
- PRIMARY KEY ( cat_id )
-);
-</pre>
-<a href="UPGRADING.html#dot939">next..</a>
-<hr />
-
-<h4><a id="dot939">To upgrade from v0.9.38 to v0.9.39:</a></h4>
-<p>The names of the date settings in the database were modified.
-All old data settings need to be removed from the database.</p>
-<pre>
-DELETE FROM webcal_config WHERE cal_setting LIKE 'DATE_FORMAT%';
-DELETE FROM webcal_user_pref WHERE cal_setting LIKE 'DATE_FORMAT%';
-</pre>
-<a href="UPGRADING.html#dot940">next..</a>
-<hr />
-
-<h4><a id="dot940">To upgrade from v0.9.39 to v0.9.40:</a></h4>
-<p>Two new tables were created: webcal_asst and webcal_entry_ext_user.
-And the column cal_ext_for_id was added to the webcal_entry table.
-Use the following SQL for MySQL and PostgreSQL:</p>
-<pre>
-CREATE TABLE webcal_asst (
- cal_boss VARCHAR(25) NOT NULL,
- cal_assistant VARCHAR(25) NOT NULL,
- PRIMARY KEY ( cal_boss, cal_assistant )
-);
-CREATE TABLE webcal_entry_ext_user (
- cal_id INT DEFAULT 0 NOT NULL,
- cal_fullname VARCHAR(50) NOT NULL,
- cal_email VARCHAR(75) NULL,
- PRIMARY KEY ( cal_id, cal_fullname )
-);
-ALTER TABLE webcal_entry ADD cal_ext_for_id INT NULL;
-</pre>
-<p>For Oracle, use VARCHAR2 instead of VARCHAR.</p>
-<a href="UPGRADING.html#dot941">next..</a>
-<hr />
-
-<h4><a id="dot941">To upgrade from v0.9.40 to v0.9.41:</a></h4>
-<p>One new table was added: webcal_nonuser_cals.
-Use the following SQL for MySQL and PostgreSQL:</p>
-<pre>
-CREATE TABLE webcal_nonuser_cals (
- cal_login VARCHAR(25) NOT NULL,
- cal_lastname VARCHAR(25),
- cal_firstname VARCHAR(25),
- cal_admin VARCHAR(25) NOT NULL,
- PRIMARY KEY ( cal_login )
-);
-</pre>
-<p>For Oracle, use VARCHAR2 instead of VARCHAR and LONG instead of TEXT.</p>
-<a href="UPGRADING.html#dot942">next..</a>
-<hr />
-
-<h4><a id="dot942">To upgrade from v0.9.41 to v0.9.42:</a></h4>
-<p>Three new tables were added: webcal_report,
-webcal_report_template, and webcal_import_data.
-Use the following SQL for MySQL and PostgreSQL:</p>
-<pre>
-CREATE TABLE webcal_report (
- cal_login VARCHAR(25) NOT NULL,
- cal_report_id INT NOT NULL,
- cal_is_global CHAR(1) DEFAULT 'N' NOT NULL,
- cal_report_type VARCHAR(20) NOT NULL,
- cal_include_header CHAR(1) DEFAULT 'Y' NOT NULL,
- cal_report_name VARCHAR(50) NOT NULL,
- cal_time_range INT NOT NULL,
- cal_user VARCHAR(25) NULL,
- cal_allow_nav CHAR(1) DEFAULT 'Y',
- cal_cat_id INT NULL,
- cal_include_empty CHAR(1) DEFAULT 'N',
- cal_show_in_trailer CHAR(1) DEFAULT 'N',
- cal_update_date INT NOT NULL,
- PRIMARY KEY ( cal_report_id )
-);
-CREATE TABLE webcal_report_template (
- cal_report_id INT NOT NULL,
- cal_template_type CHAR(1) NOT NULL,
- cal_template_text TEXT,
- PRIMARY KEY ( cal_report_id, cal_template_type )
-);
-CREATE TABLE webcal_import_data (
- cal_id int NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- cal_import_type VARCHAR(15) NOT NULL,
- cal_external_id VARCHAR(200) NULL,
- PRIMARY KEY ( cal_id, cal_login )
-);
-</pre>
-<p>For Oracle, use VARCHAR2 instead of VARCHAR.</p>
-<a href="UPGRADING.html#dot943">next..</a>
-<hr />
-
-<h4><a id="dot943">To upgrade from v0.9.42 to v0.9.43:</a></h4>
-<p>User passwords are now stored using md5 and require the webcal_user
-table to be altered to accomodate larger password data.
-Use the following SQL for MySQL:</p>
-<pre>
-ALTER TABLE webcal_user MODIFY cal_passwd VARCHAR(32) NULL;
-DROP TABLE webcal_import_data;
-CREATE TABLE webcal_import (
- cal_import_id INT NOT NULL,
- cal_name VARCHAR(50) NULL,
- cal_date INT NOT NULL,
- cal_type VARCHAR(10) NOT NULL,
- cal_login VARCHAR(25) NULL,
- PRIMARY KEY ( cal_import_id )
-);
-CREATE TABLE webcal_import_data (
- cal_import_id INT NOT NULL,
- cal_id INT NOT NULL,
- cal_login VARCHAR(25) NOT NULL,
- cal_import_type VARCHAR(15) NOT NULL,
- cal_external_id VARCHAR(200) NULL,
- PRIMARY KEY ( cal_id, cal_login )
-);
-</pre>
-
-<p>Postgres does not allow you to modify an existing table column.
-Instead of the initial ALTER command above, issue the following
-commands below. You <b>will not need to run</b> the convert_passwords
-script below since this will <b>set all user's passwords to 'admin'</b>.</p>
-
-<pre>
-ALTER TABLE webcal_user RENAME COLUMN cal_passwd to cal_oldpass;
-ALTER TABLE webcal_user ADD COLUMN cal_passwd VARCHAR(32) NULL;
-UPDATE webcal_user SET cal_passwd = '21232f297a57a5a743894a0e4a801fc3';
-</pre>
-
-<p>For Oracle, use VARCHAR2 instead of VARCHAR.
-On very old MySQL installations (not sure which version), if you get
-a parse error, you can try the following instead:</p>
-<pre>ALTER TABLE webcal_user CHANGE cal_passwd cal_passwd VARCHAR(32) NULL;</pre>
-
-<p>Next, you will need to run the script found in the <tt>tools</tt>
-subdirectory. This will convert all your passwords from plain text
-to md5. You can either run this from the command line (if you have
-a standalone version of PHP compiled):</p>
-<pre>
-cd tools
-php convert_passwords.php
-</pre>
-
-<p>If you do not have a standalone version of PHP, you can just type in
-the URL to access the script in your browser:
-</p><p>
-<tt>http://yourcalendarurl/tools/convert_passwords.php</tt><br /></p>
-
-<p>Delete all webcalendar_login browser cookies. Details should be available on
-your local browser help section.
-</p>
-
-<a href="UPGRADING.html#dot944">next..</a>
-<hr />
-
-<h4><a id="dot944">To upgrade from v0.9.43 to v0.9.44:</a></h4>
-<p>No manual changes required for upgrading from 0.9.43 to 0.9.44.</p>
-<a href="UPGRADING.html#dot945">next..</a>
-<hr />
-
-<h4><a id="dot945">To upgrade from v0.9.44 to v0.9.45:</a></h4>
-<p>There are no database changes from 0.9.44 to 0.9.45.
-However, the database settings were moved from <tt>includes/config.php</tt>
-to a new file <tt>includes/settings.php</tt>.
-This new file does not exist until you create it.</p>
-<p>The first time you attempt to access WebCalendar with the new 0.9.45 files,
-your browser will be redirected to a web-based admin page for configuring
-the database settings. You will need to make sure the <tt>includes</tt>
-directory is writable by the web server user.
-The simplest solution is to make it writable by all users until you
-have correctly setup your database connection. Then, you can change it
-to more restrictive permissions.
-</p>
-<p>After saving your database settings, be sure to setup an install
-password via this same web page so that other users may not change
-your database settings.</p>
-<a href="UPGRADING.html#1dot0RC1">next..</a>
-<hr />
-
-<h4><a id="1dot0RC1">To upgrade from v0.9.45 or 1.0RC1 to v1.0RC2:</a></h4>
-<p>There are no database changes from 0.9.45 to 1.0RC2.
-</p>
-<a href="UPGRADING.html#1dot0RC3">next..</a>
-<hr />
-
-<h4><a id="1dot0RC3">To upgrade from v1.0RC2 to v1.0RC3 or 1.0.0:</a></h4>
-<p>The <tt>webcal_view</tt> table was modified.
-Execute the following SQL to update your database:
-</p>
-<pre>
-ALTER TABLE webcal_view ADD cal_is_global CHAR(1) DEFAULT 'N' NOT NULL;
-UPDATE webcal_user_pref SET cal_value = 'day.php' WHERE cal_value = 'day' AND cal_setting = 'STARTVIEW';
-UPDATE webcal_user_pref SET cal_value = 'week.php' WHERE cal_value = 'week' AND cal_setting = 'STARTVIEW';
-UPDATE webcal_user_pref SET cal_value = 'month.php' WHERE cal_value = 'month' AND cal_setting = 'STARTVIEW';
-UPDATE webcal_user_pref SET cal_value = 'year.php' WHERE cal_value = 'year' AND cal_setting = 'STARTVIEW';
-UPDATE webcal_config SET cal_value = 'week.php' WHERE cal_setting = 'STARTVIEW';
-</pre>
-<hr />
-
-<p>
-<a href="http://validator.w3.org/check?uri=referer"><img
- src="http://www.w3.org/Icons/valid-xhtml10"
- alt="Valid XHTML 1.0!" class="valid" /></a>
-</p>
-</body></html>
Copied: trunk/gforge/plugins/webcalendar/www/UPGRADING.html (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www/UPGRADING.html)
Deleted: trunk/gforge/plugins/webcalendar/www/activity_log.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/activity_log.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/activity_log.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,113 +0,0 @@
-<?php
-include_once 'includes/init.php';
-include_once 'includes/site_extras.php';
-$PAGE_SIZE = 25;
-print_header();
-
-echo "<h3>" . translate("Activity Log") . "</h3>\n";
-
-echo "<a title=\"" . translate("Admin") . "\" class=\"nav\" href=\"adminhome.php\">« " . translate("Admin") . "</a><br /><br />\n";
-
-echo "<table>\n";
-echo "<tr><th class=\"usr\">\n" .
- translate("User") . "</th><th class=\"cal\">\n" .
- translate("Calendar") . "</th><th class=\"scheduled\">\n" .
- translate("Date") . "/" . translate("Time") . "</th><th class=\"dsc\">\n" .
- translate("Event") . "</th><th class=\"action\">\n" .
- translate("Action") . "\n</th></tr>\n";
-$sql = "SELECT webcal_entry_log.cal_login, webcal_entry_log.cal_user_cal, " .
- "webcal_entry_log.cal_type, webcal_entry_log.cal_date, " .
- "webcal_entry_log.cal_time, webcal_entry.cal_id, " .
- "webcal_entry.cal_name, webcal_entry_log.cal_log_id " .
- "FROM webcal_entry_log, webcal_entry " .
- "WHERE webcal_entry_log.cal_entry_id = webcal_entry.cal_id ";
-$startid = getIntValue ( 'startid', true );
-if ( ! empty ( $startid ) )
- $sql .= "AND webcal_entry_log.cal_log_id <= $startid ";
-$sql .= "ORDER BY webcal_entry_log.cal_log_id DESC";
-$res = dbi_query ( $sql );
-
-$nextpage = "";
-
-if ( $res ) {
- $num = 0;
- while ( $row = dbi_fetch_row ( $res ) ) {
- $num++;
- if ( $num > $PAGE_SIZE ) {
- $nextpage = $row[7];
- break;
- } else {
- echo "<tr";
- if ( $num % 2 ) {
- echo " class=\"odd\"";
- }
- echo "><td>\n" .
- $row[0] . "</td><td>\n" .
- $row[1] . "</td><td>\n" .
- date_to_str ( $row[3] ) . " " .
- display_time ( $row[4] ) . "</td><td>\n" .
- "<a title=\"" .
- htmlspecialchars($row[6]) . "\" href=\"view_entry.php?id=$row[5]\">" .
- htmlspecialchars($row[6]) . "</a></td><td>\n";
- if ( $row[2] == $LOG_CREATE )
- etranslate("Event created");
- else if ( $row[2] == $LOG_APPROVE )
- etranslate("Event approved");
- else if ( $row[2] == $LOG_REJECT )
- etranslate("Event rejected");
- else if ( $row[2] == $LOG_UPDATE )
- etranslate("Event updated");
- else if ( $row[2] == $LOG_DELETE )
- etranslate("Event deleted");
- else if ( $row[2] == $LOG_NOTIFICATION )
- etranslate("Notification sent");
- else if ( $row[2] == $LOG_REMINDER )
- etranslate("Reminder sent");
- else
- echo "???";
- echo "\n</td></tr>\n";
- }
- }
- dbi_free_result ( $res );
-} else {
- echo translate("Database error") . ": " . dbi_error ();
-}
-?>
-</table><br />
-<div class="navigation">
-<?php
-//go BACK in time
-if ( ! empty ( $nextpage ) ) {
- echo "<a title=\"" .
- translate("Previous") . " $PAGE_SIZE " .
- translate("Events") . "\" class=\"prev\" href=\"activity_log.php?startid=$nextpage\">" .
- translate("Previous") . " $PAGE_SIZE " .
- translate("Events") . "</a>\n";
-}
-
-if ( ! empty ( $startid ) ) {
- $previd = $startid + $PAGE_SIZE;
- $res = dbi_query ( "SELECT MAX(cal_log_id) FROM " .
- "webcal_entry_log" );
- if ( $res ) {
- if ( $row = dbi_fetch_row ( $res ) ) {
- if ( $row[0] <= $previd ) {
- $prevarg = '';
- } else {
- $prevarg = "?startid=$previd";
- }
- //go FORWARD in time
- echo "<a title=\"" .
- translate("Next") . " $PAGE_SIZE " .
- translate("Events") . "\" class=\"next\" href=\"activity_log.php$prevarg\">" .
- translate("Next") . " $PAGE_SIZE " .
- translate("Events") . "</a><br />\n";
- }
- dbi_free_result ( $res );
- }
-}
-?>
-</div>
-<?php print_trailer(); ?>
-</body>
-</html>
Copied: trunk/gforge/plugins/webcalendar/www/activity_log.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www/activity_log.php)
Deleted: trunk/gforge/plugins/webcalendar/www/add_entry.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/add_entry.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/add_entry.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,53 +0,0 @@
-<?php
-include_once 'includes/init.php';
-load_user_categories();
-
-$error = "";
-
-// Only proceed if id was passed
-if ( $id > 0 ) {
-
- // double check to make sure user doesn't already have the event
- $is_my_event = false;
- $sql = "SELECT cal_id FROM webcal_entry_user " .
- "WHERE cal_login = '$login' AND cal_id = $id";
- $res = dbi_query ( $sql );
- if ( $res ) {
- $row = dbi_fetch_row ( $res );
- if ( $row[0] == $id ) {
- $is_my_event = true;
- echo "Event # " . $id . " is already on your calendar.";
- exit;
- }
- dbi_free_result ( $res );
- }
-
- // Now lets make sure the user is allowed to add the event (not private)
-
- $sql = "SELECT cal_access FROM webcal_entry WHERE cal_id = " . $id;
- $res = dbi_query ( $sql );
- if ( ! $res ) {
- echo translate("Invalid entry id") . ": $id";
- exit;
- }
- $row = dbi_fetch_row ( $res );
-
- if ( $row[0] == "R" && ! $is_my_event ) {
- $is_private = true;
- etranslate("This is a private event and may not be added to your calendar.");
- exit;
- } else {
- $is_private = false;
- }
-
- // add the event
- if ( $readonly == "N" && ! $is_my_event && ! $is_private ) {
- if ( ! dbi_query ( "INSERT INTO webcal_entry_user ( cal_id, cal_login, cal_status ) VALUES ( $id, '$login', 'A' )") ) {
- $error = translate("Error adding event") . ": " . dbi_error ();
- }
- }
-}
-
-send_to_preferred_view ("","user=".$_GET['user']);
-exit;
-?>
Copied: trunk/gforge/plugins/webcalendar/www/add_entry.php (from rev 5913, branches/Branch_4_6dev/gforge/plugins/webcalendar/www/add_entry.php)
Deleted: trunk/gforge/plugins/webcalendar/www/admin.php
===================================================================
--- branches/Branch_4_6dev/gforge/plugins/webcalendar/www/admin.php 2007-02-02 21:19:08 UTC (rev 5913)
+++ trunk/gforge/plugins/webcalendar/www/admin.php 2007-03-06 01:03:16 UTC (rev 5918)
@@ -1,694 +0,0 @@
-<?php
-include_once 'includes/init.php';
-
-function print_color_sample ( $color ) {
- echo "<table style=\"border-width:0px;\"><tr><td style=\"background-color:$color;\"> </td></tr></table>";
-}
-
-
-// I know we've already loaded the global settings above, but read them
-// in again and store them in a different place because they may have
-// been superceded by local user preferences.
-// We will store value in the array $s[].
-$res = dbi_query ( "SELECT cal_setting, cal_value FROM webcal_config" );
-$s = array ();
-if ( $res ) {
- while ( $row = dbi_fetch_row ( $res ) ) {
- $setting = $row[0];
- $value = $row[1];
- $s[$setting] = $value;
- //echo "Setting '$setting' to '$value' <br />\n";
- }
- dbi_free_result ( $res );
-}
-
-$BodyX = 'onload="public_handler(); eu_handler(); email_handler();"';
-$INC = array('js/admin.php','js/visible.php');
-print_header ( $INC, '', $BodyX );
-?>
-
-<h2><?php etranslate("System Settings")?> <img src="help.gif" alt="<?php etranslate("Help")?>" class="help" onclick="window.open ( 'help_admin.php', 'cal_help', 'dependent,menubar,scrollbars,height=400,width=400,innerHeight=420,outerWidth=420');" /></h2>
-<?php
-$error = false;
-
-if ( ! $is_admin ) {
- etranslate ( "You are not authorized" );
- $error = true;
-}
-if ( ! $error ) {
- echo "<a title=\"" . translate("Admin") . "\" class=\"nav\" href=\"adminhome.php\">« " . translate("Admin") . "</a><br /><br />\n";
-}
-
-if ( empty ( $ovrd ) && ! $error ) {
- echo "<blockquote>" . translate ( "Note" ) . ": " .
- "<a href=\"pref.php\">" .
- translate ( "Your user preferences" ) . "</a> " .
- translate ( "may be affecting the appearance of this page.") . " " .
- "<a href=\"admin.php?ovrd=1\">" .
- translate ( "Click here" ) . " " .
- translate ( "to not use your user preferences when viewing this page" ) .
- ".</a></blockquote>\n";
-} else if ( ! $error ) {
- echo "<blockquote>" . translate ( "Note" ) . ": " .
- "<a href=\"pref.php\">" .
- translate ( "Your user preferences" ) . "</a> " .
- translate ( "are being ignored while viewing this page.") . " " .
- "<a href=\"admin.php\">" .
- translate ( "Click here" ) . " " .
- translate ( "to load your user preferences when viewing this page" ) .
- ".</a></blockquote>\n";
-}
-
-if ( ! $error ) {
-?>
-
-<form action="admin_handler.php" method="post" onsubmit="return valid_form(this);" name="prefform">
-<table style="border-width:0px;"><tr><td>
- <input type="submit" value="<?php etranslate("Save")?>" name="" />
-</td></tr></table>
-<br />
-
-<?php if ( ! empty ( $ovrd ) ) { ?>
- <input type="hidden" name="ovrd" id="ovrd" value="1" />
-<?php } ?>
-
-<!-- TABS -->
-<div id="tabs">
- <span class="tabfor" id="tab_settings"><a href="#tabsettings" onclick="return showTab('settings')"><?php etranslate("Settings")?></a></span>
- <span class="tabbak" id="tab_public"><a href="#tabpublic" onclick="return showTab('public')"><?php etranslate("Public Access")?></a></span>
- <span class="tabbak" id="tab_groups"><a href="#tabgroups" onclick="return showTab('groups')"><?php etranslate("Groups")?></a></span>
- <span class="tabbak" id="tab_nonuser"><a href="#tabnonuser" onclick="return showTab('nonuser')"><?php etranslate("NonUser Calendars")?></a></span>
- <span class="tabbak" id="tab_other"><a href="#tabother" onclick="return showTab('other')"><?php etranslate("Other")?></a></span>
- <span class="tabbak" id="tab_email"><a href="#tabemail" onclick="return showTab('email')"><?php etranslate("Email")?></a></span>
- <span class="tabbak" id="tab_colors" title="<?php etooltip("colors-help")?>"><a href="#tabcolors" onclick="return showTab('colors')"><?php etranslate("Colors")?></a></span>
-</div>
-
-<!-- TABS BODY -->
-<div id="tabscontent">
- <!-- DETAILS -->
- <a name="tabsettings"></a>
- <div id="tabscontent_settings">
- <table cellspacing="0" cellpadding="3">
- <tr><td class="tooltip" title="<?php etooltip("app-name-help")?>">
- <label for="admin_application_name"><?php etranslate("Application Name")?>:</label></td><td>
- <input type="text" size="40" name="admin_application_name" id="admin_application_name" value="<?php
- echo htmlspecialchars ( $application_name );
- ?>" />
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("server-url-help")?>">
- <label for="admin_server_url"><?php etranslate("Server URL")?>:</label></td><td>
- <input type="text" size="40" name="admin_server_url" id="admin_server_url" value="<?php
- echo htmlspecialchars ( $server_url );
- ?>" />
- </td></tr>
- <tr><td class="tooltipselect" title="<?php etooltip("language-help");?>">
- <label for="admin_language"><?php etranslate("Language")?>:</label></td><td>
- <select name="admin_LANGUAGE" id="admin_language">
- <?php
- reset ( $languages );
- while ( list ( $key, $val ) = each ( $languages ) ) {
- echo "<option value=\"" . $val . "\"";
- if ( $val == $s['LANGUAGE'] ) echo " selected=\"selected\"";
- echo ">" . $key . "</option>\n";
- }
- ?>
- </select><br />
- <?php etranslate("Your browser default language is"); echo " "; etranslate(get_browser_language()); echo "."; ?>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("fonts-help") ?>">
- <label for="admin_fonts"><?php etranslate("Fonts")?>:</label></td><td>
- <input type="text" size="40" name="admin_FONTS" id="admin_fonts" value="<?php
- echo htmlspecialchars ( $FONTS );
- ?>" />
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("custom-script-help");?>">
- <?php etranslate("Custom script/stylesheet")?>:</td><td>
- <label><input type="radio" name="admin_CUSTOM_SCRIPT" value="Y"<?php if ( $s["CUSTOM_SCRIPT"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_CUSTOM_SCRIPT" value="N"<?php if ( $s["CUSTOM_SCRIPT"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- <input type="button" value="<?php etranslate("Edit");?>..." onclick="window.open('edit_template.php?type=S','cal_template','dependent,menubar,scrollbars,height=500,width=500,outerHeight=520,outerWidth=520');" name="" />
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("custom-header-help");?>">
- <?php etranslate("Custom header")?>:</td><td>
- <label><input type="radio" name="admin_CUSTOM_HEADER" value="Y"<?php if ( $s["CUSTOM_HEADER"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_CUSTOM_HEADER" value="N"<?php if ( $s["CUSTOM_HEADER"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- <input type="button" value="<?php etranslate("Edit");?>..." onclick="window.open('edit_template.php?type=H','cal_template','dependent,menubar,scrollbars,height=500,width=500,outerHeight=520,outerWidth=520');" name="" />
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("custom-trailer-help");?>">
- <?php etranslate("Custom trailer")?>:</td><td>
- <label><input type="radio" name="admin_CUSTOM_TRAILER" value="Y"<?php if ( $s["CUSTOM_TRAILER"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_CUSTOM_TRAILER" value="N"<?php if ( $s["CUSTOM_TRAILER"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- <input type="button" value="<?php etranslate("Edit");?>..." onclick="window.open('edit_template.php?type=T','cal_template','dependent,menubar,scrollbars,height=500,width=500,outerHeight=520,outerWidth=520');" name="" />
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("preferred-view-help");?>">
- <label for="admin_startview"><?php etranslate("Preferred view")?>:</label></td><td>
- <select name="admin_STARTVIEW" id="admin_startview">
- <option value="day.php"<?php
- if ( $s["STARTVIEW"] == "day.php" ) echo " selected=\"selected\"";
- ?>><?php etranslate("Day")?></option>
- <option value="week.php"<?php
- if ( $s["STARTVIEW"] == "week.php" ) echo " selected=\"selected\"";
- ?>><?php etranslate("Week")?></option>
- <option value="month.php" <?php
- if ( $s["STARTVIEW"] == "month.php" ) echo " selected=\"selected\"";
- ?>><?php etranslate("Month")?></option>
- <option value="year.php" <?php
- if ( $s["STARTVIEW"] == "year.php" ) echo " selected=\"selected\"";
- ?>><?php etranslate("Year")?></option>
- </select>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("display-weekends-help");?>">
- <?php etranslate("Display weekends in week view")?>:</td><td>
- <label><input type="radio" name="admin_DISPLAY_WEEKENDS" value="Y" <?php if ( $s["DISPLAY_WEEKENDS"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_DISPLAY_WEEKENDS" value="N" <?php if ( $s["DISPLAY_WEEKENDS"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("yearly-shows-events-help");?>">
- <?php etranslate("Display days with events in bold in month and year views")?>:</td><td>
- <label><input type="radio" name="admin_bold_days_in_year" value="Y" <?php if ( $s["bold_days_in_year"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_bold_days_in_year" value="N" <?php if ( $s["bold_days_in_year"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("display-desc-print-day-help");?>">
- <?php etranslate("Display description in printer day view")?>:</td><td>
- <label><input type="radio" name="admin_DISPLAY_DESC_PRINT_DAY" value="Y" <?php if ( $s["DISPLAY_DESC_PRINT_DAY"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_DISPLAY_DESC_PRINT_DAY" value="N" <?php if ( $s["DISPLAY_DESC_PRINT_DAY"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltipselect" title="<?php etooltip("date-format-help");?>">
- <?php etranslate("Date format")?>:</td><td>
- <select name="admin_DATE_FORMAT">
- <?php
- // You can add new date formats below if you want.
- // but also add in pref.php
- $datestyles = array (
- "__month__ __dd__, __yyyy__", translate("December") . " 31, 2000",
- "__dd__ __month__, __yyyy__", "31 " . translate("December") . ", 2000",
- "__dd__-__month__-__yyyy__", "31-" . translate("December") . "-2000",
- "__dd__-__month__-__yy__", "31-" . translate("December") . "-00",
- "__mm__/__dd__/__yyyy__", "12/31/2000",
- "__mm__/__dd__/__yy__", "12/31/00",
- "__mm__-__dd__-__yyyy__", "12-31-2000",
- "__mm__-__dd__-__yy__", "12-31-00",
- "__yyyy__-__mm__-__dd__", "2000-12-31",
- "__yy__-__mm__-__dd__", "00-12-31",
- "__yyyy__/__mm__/__dd__", "2000/12/31",
- "__yy__/__mm__/__dd__", "00/12/31",
- "__dd__/__mm__/__yyyy__", "31/12/2000",
- "__dd__/__mm__/__yy__", "31/12/00",
- "__dd__-__mm__-__yyyy__", "31-12-2000",
- "__dd__-__mm__-__yy__", "31-12-00"
- );
- for ( $i = 0; $i < count ( $datestyles ); $i += 2 ) {
- echo "<option value=\"" . $datestyles[$i] . "\"";
- if ( $s["DATE_FORMAT"] == $datestyles[$i] )
- echo " selected=\"selected\"";
- echo ">" . $datestyles[$i + 1] . "</option>\n";
- }
- ?>
- </select><br />
-
- <select name="admin_DATE_FORMAT_MY">
- <?php
- // Date format for a month and year (with no day of the month)
- // You can add new date formats below if you want
- // but also add in admin.php
- $datestyles = array (
- "__month__ __yyyy__", translate("December") . " 2000",
- "__month__ __yy__", translate("December") . " 00",
- "__month__-__yyyy__", translate("December") . "-2000",
- "__month__-__yy__", translate("December") . "-00",
- "__mm__/__yyyy__", "12/2000",
- "__mm__/__yy__", "12/00",
- "__mm__-__yyyy__", "12-2000",
- "__mm__-__yy__", "12-00",
- "__yyyy__-__mm__", "2000-12",
- "__yy__-__mm__", "00-12",
- "__yyyy__/__mm__", "2000/12",
- "__yy__/__mm__", "00/12"
- );
- for ( $i = 0; $i < count ( $datestyles ); $i += 2 ) {
- echo "<option value=\"" . $datestyles[$i] . "\"";
- if ( $s["DATE_FORMAT_MY"] == $datestyles[$i] )
- echo " selected=\"selected\"";
- echo ">" . $datestyles[$i + 1] . "</option>\n";
- }
- ?>
- </select><br />
-
- <select name="admin_DATE_FORMAT_MD">
- <?php
- // Date format for a month and day (with no year displayed)
- // You can add new date formats below if you want.
- // but also add in admin.php
- $datestyles = array (
- "__month__ __dd__", translate("December") . " 31",
- "__month__-__dd__", translate("December") . "-31",
- "__mm__/__dd__", "12/31",
- "__mm__-__dd__", "12-31",
- "__dd__/__mm__", "31/12",
- "__dd__-__mm__", "31-12"
- );
- for ( $i = 0; $i < count ( $datestyles ); $i += 2 ) {
- echo "<option value=\"" . $datestyles[$i] . "\"";
- if ( $s["DATE_FORMAT_MD"] == $datestyles[$i] )
- echo " selected=\"selected\"";
- echo ">" . $datestyles[$i + 1] . "</option>\n";
- }
- ?>
- </select>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("time-format-help")?>">
- <?php etranslate("Time format")?>:</td><td>
- <label><input type="radio" name="admin_TIME_FORMAT" value="12" <?php if ( $s["TIME_FORMAT"] == "12" ) echo " checked=\"checked\"";?> /> <?php etranslate("12 hour")?></label>
- <label><input type="radio" name="admin_TIME_FORMAT" value="24" <?php if ( $s["TIME_FORMAT"] != "12" ) echo " checked=\"checked\"";?> /> <?php etranslate("24 hour")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("time-interval-help")?>">
- <label for="admin_time_int"><?php etranslate("Time interval")?>:</label></td><td>
- <select name="admin_TIME_SLOTS" id="admin_time_int">
- <option value="24" <?php if ( $s["TIME_SLOTS"] == "24" ) echo " selected=\"selected\""?>>1 <?php etranslate("hour")?></option>
- <option value="48" <?php if ( $s["TIME_SLOTS"] == "48" ) echo " selected=\"selected\""?>>30 <?php etranslate("minutes")?></option>
- <option value="72" <?php if ( $s["TIME_SLOTS"] == "72" ) echo " selected=\"selected\""?>>20 <?php etranslate("minutes")?></option>
- <option value="144" <?php if ( $s["TIME_SLOTS"] == "144" ) echo " selected=\"selected\""?>>10 <?php etranslate("minutes")?></option>
- </select>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("auto-refresh-help");?>">
- <?php etranslate("Auto-refresh calendars")?>:</td><td>
- <label><input type="radio" name="admin_auto_refresh" value="Y" <?php if ( $s["auto_refresh"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_auto_refresh" value="N" <?php if ( $s["auto_refresh"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("auto-refresh-time-help");?>">
- <?php etranslate("Auto-refresh time")?>:</td><td>
- <input type="text" name="admin_auto_refresh_time" size="4" value="<?php if ( empty ( $s["auto_refresh_time"] ) ) echo "0"; else echo $s["auto_refresh_time"]; ?>" /> <?php etranslate("minutes")?>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("require-approvals-help");?>">
- <?php etranslate("Require event approvals")?>:</td><td>
- <label><input type="radio" name="admin_require_approvals" value="Y" <?php if ( $s["require_approvals"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_require_approvals" value="N" <?php if ( $s["require_approvals"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("display-unapproved-help");?>">
- <?php etranslate("Display unapproved")?>:</td><td>
- <label><input type="radio" name="admin_DISPLAY_UNAPPROVED" value="Y" <?php if ( $s["DISPLAY_UNAPPROVED"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_DISPLAY_UNAPPROVED" value="N" <?php if ( $s["DISPLAY_UNAPPROVED"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("display-week-number-help")?>">
- <?php etranslate("Display week number")?>:</td><td>
- <label><input type="radio" name="admin_DISPLAY_WEEKNUMBER" value="Y" <?php if ( $s["DISPLAY_WEEKNUMBER"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_DISPLAY_WEEKNUMBER" value="N" <?php if ( $s["DISPLAY_WEEKNUMBER"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("display-week-starts-on")?>">
- <?php etranslate("Week starts on")?>:</td><td>
- <label><input type="radio" name="admin_WEEK_START" value="0" <?php if ( $s["WEEK_START"] != "1" ) echo " checked=\"checked\"";?> /> <?php etranslate("Sunday")?></label>
- <label><input type="radio" name="admin_WEEK_START" value="1" <?php if ( $s["WEEK_START"] == "1" ) echo " checked=\"checked\"";?> /> <?php etranslate("Monday")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("work-hours-help")?>">
- <?php etranslate("Work hours")?>:</td><td>
- <label for="workstart"><?php etranslate("From")?> </label>
- <select name="admin_WORK_DAY_START_HOUR" id="workstart">
- <?php
- for ( $i = 0; $i < 24; $i++ ) {
- echo "<option value=\"$i\"" .
- ( $i == $s["WORK_DAY_START_HOUR"] ? " selected=\"selected\"" : "" ) .
- ">" . display_time ( $i * 10000, 1 ) . "</option>\n";
- }
- ?>
- </select>
- <label for="workend"><?php etranslate("to")?> </label>
- <select name="admin_WORK_DAY_END_HOUR" id="workend">
- <?php
- for ( $i = 0; $i < 24; $i++ ) {
- echo "<option value=\"$i\"" .
- ( $i == $s["WORK_DAY_END_HOUR"] ? " selected=\"selected\"" : "" ) .
- ">" . display_time ( $i * 10000, 1 ) . "</option>\n";
- }
- ?>
- </select>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("disable-priority-field-help")?>">
- <?php etranslate("Disable Priority field")?>:</td><td>
- <label><input type="radio" name="admin_disable_priority_field" value="Y"<?php if ( $s["disable_priority_field"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_disable_priority_field" value="N"<?php if ( $s["disable_priority_field"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("disable-access-field-help")?>">
- <?php etranslate("Disable Access field")?>:</td><td>
- <label><input type="radio" name="admin_disable_access_field" value="Y"<?php if ( $s["disable_access_field"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_disable_access_field" value="N"<?php if ( $s["disable_access_field"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("disable-participants-field-help")?>">
- <?php etranslate("Disable Participants field")?>:</td><td>
- <label><input type="radio" name="admin_disable_participants_field" value="Y" <?php if ( $s["disable_participants_field"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_disable_participants_field" value="N" <?php if ( $s["disable_participants_field"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("disable-repeating-field-help")?>">
- <?php etranslate("Disable Repeating field")?>:</td><td>
- <label><input type="radio" name="admin_disable_repeating_field" value="Y" <?php if ( $s["disable_repeating_field"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_disable_repeating_field" value="N" <?php if ( $s["disable_repeating_field"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("popup-includes-siteextras-help")?>">
- <?php etranslate("Display Site Extras in popup")?>:</td><td>
- <label><input type="radio" name="admin_site_extras_in_popup" value="Y" <?php if ( $s["site_extras_in_popup"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_site_extras_in_popup" value="N" <?php if ( $s["site_extras_in_popup"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("allow-html-description-help")?>">
- <?php etranslate("Allow HTML in Description")?>:</td><td>
- <label><input type="radio" name="admin_allow_html_description" value="Y" <?php if ( $s["allow_html_description"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_allow_html_description" value="N" <?php if ( $s["allow_html_description"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("allow-view-other-help")?>">
- <?php etranslate("Allow viewing other user's calendars")?>:</td><td>
- <label><input type="radio" name="admin_allow_view_other" value="Y" <?php if ( $s["allow_view_other"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_allow_view_other" value="N" <?php if ( $s["allow_view_other"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("allow-view-add-help")?>">
- <?php etranslate("Include add event link in views")?>:</td><td>
- <label><input type="radio" name="admin_add_link_in_views" value="Y" <?php if ( $s["add_link_in_views"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_add_link_in_views" value="N" <?php if ( $s["add_link_in_views"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("remember-last-login-help")?>">
- <?php etranslate("Remember last login")?>:</td><td>
- <label><input type="radio" name="admin_remember_last_login" value="Y" <?php if ( $s["remember_last_login"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_remember_last_login" value="N" <?php if ( $s["remember_last_login"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("conflict-check-help")?>">
- <?php etranslate("Check for event conflicts")?>:</td><td>
- <label><input type="radio" name="admin_allow_conflicts" value="N" <?php if ( $s["allow_conflicts"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_allow_conflicts" value="Y" <?php if ( $s["allow_conflicts"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("conflict-months-help")?>">
- <?php etranslate("Conflict checking months")?>:</td><td>
- <input type="text" size="3" name="admin_conflict_repeat_months" value="<?php echo htmlspecialchars ( $conflict_repeat_months );?>" />
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("conflict-check-override-help")?>">
- <?php etranslate("Allow users to override conflicts")?>:</td><td>
- <label><input type="radio" name="admin_allow_conflict_override" value="Y" <?php if ( $s["allow_conflict_override"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_allow_conflict_override" value="N" <?php if ( $s["allow_conflict_override"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("limit-appts-help")?>">
- <?php etranslate("Limit number of timed events per day")?>:</td><td>
- <label><input type="radio" name="admin_limit_appts" value="Y" <?php if ( $s["limit_appts"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_limit_appts" value="N" <?php if ( $s["limit_appts"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("limit-appts-number-help")?>">
- <?php etranslate("Maximum timed events per day")?>:</td><td>
- <input type="text" size="3" name="admin_limit_appts_number" value="<?php echo htmlspecialchars ( $limit_appts_number );?>" />
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("timed-evt-len-help")?>">
- <?php etranslate("Specify timed event length by")?>:</td><td>
- <label><input type="radio" name="admin_TIMED_EVT_LEN" value="D" <?php if ( $s["TIMED_EVT_LEN"] != "E" ) echo " checked=\"checked\"";?> /> <?php etranslate("Duration")?></label>
- <label><input type="radio" name="admin_TIMED_EVT_LEN" value="E" <?php if ( $s["TIMED_EVT_LEN"] == "E" ) echo " checked=\"checked\"";?> /> <?php etranslate("End Time")?></label>
- </td></tr>
-</table>
-</div>
-<!-- END SETTINGS -->
-
-
-<!--
-// <h3><?php etranslate("Plugins")?></h3>
-// <table class="standard" cellspacing="1" cellpadding="2">
-// <tr><td class="tooltip" title="<?php etooltip("plugins-enabled-help");?>"><?php etranslate("Enable Plugins")?>:</td>
-// <td><label><input type="radio" name="admin_plugins_enabled" value="Y" <?php if ( $s["plugins_enabled"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
-// <label><input type="radio" name="admin_plugins_enabled" value="N" <?php if ( $s["plugins_enabled"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-//</td></tr>
-
-// <?php
-// if ( $plugins_enabled == "Y" ) {
-// $plugins = get_plugin_list ( true );
-
-// for ( $i = 0; $i < count ( $plugins ); $i++ ) {
-// $val = $s[$plugins[$i] . ".plugin_status"];
-// echo "<tr><td class=\"tooltip\" title=\"" .
-// tooltip("plugins-sort-key-help") . "\"> " .
-// translate("Plugin") . " " . $plugins[$i] . ":</td>\n";
-// echo "<td><input type=\"radio\" name=\"admin_" .
-// $plugins[$i] . "_plugin_status\" value=\"Y\" ";
-// if ( $val != "N" ) echo " checked=\"checked\"";
-// echo " /> " . translate("Yes");
-// echo "<input type=\"radio\" name=\"admin_" .
-// $plugins[$i] . "_plugin_status\" VALUE=\"N\" ";
-// if ( $val == "N" ) echo " checked=\"checked\"";
-// echo " /> " . translate("No") . "</td></tr>\n";
-// }
-// }
-// ?>
-//</table>
--->
-
-<!-- BEGIN PUBLIC ACCESS -->
-<a name="tabpublic"></a>
-<div id="tabscontent_public">
- <table cellspacing="0" cellpadding="3">
- <tr><td class="tooltip" title="<?php etooltip("allow-public-access-help")?>">
- <?php etranslate("Allow public access")?>:</td><td>
- <label><input type="radio" name="admin_public_access" value="Y" <?php if ( $s["public_access"] == "Y" ) echo " checked=\"checked\"";?> onclick="public_handler()" /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_public_access" value="N" <?php if ( $s["public_access"] != "Y" ) echo " checked=\"checked\"";?> onclick="public_handler()" /> <?php etranslate("No")?></label>
- </td></tr>
- <tr id="pa1"><td class="tooltip" title="<?php etooltip("public-access-default-visible")?>">
- <?php etranslate("Public access visible by default")?>:</td><td>
- <label><input type="radio" name="admin_public_access_default_visible" value="Y" <?php if ( $s["public_access_default_visible"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_public_access_default_visible" value="N" <?php if ( $s["public_access_default_visible"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr id="pa2"><td class="tooltip" title="<?php etooltip("public-access-default-selected")?>">
- <?php etranslate("Public access is default participant")?>:</td><td>
- <label><input type="radio" name="admin_public_access_default_selected" value="Y" <?php if ( $s["public_access_default_selected"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_public_access_default_selected" value="N" <?php if ( $s["public_access_default_selected"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr id="pa3"><td class="tooltip" title="<?php etooltip("public-access-view-others-help")?>">
- <?php etranslate("Public access can view other users")?>:</td><td>
- <label><input type="radio" name="admin_public_access_others" value="Y" <?php if ( $s["public_access_others"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_public_access_others" value="N" <?php if ( $s["public_access_others"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr id="pa4"><td class="tooltip" title="<?php etooltip("public-access-can-add-help")?>">
- <?php etranslate("Public access can add events")?>:</td><td>
- <label><input type="radio" name="admin_public_access_can_add" value="Y" <?php if ( $s["public_access_can_add"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_public_access_can_add" value="N" <?php if ( $s["public_access_can_add"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr id="pa5"><td class="tooltip" title="<?php etooltip("public-access-add-requires-approval-help")?>">
- <?php etranslate("Public access new events require approval")?>:</td><td>
- <label><input type="radio" name="admin_public_access_add_needs_approval" value="Y" <?php if ( $s["public_access_add_needs_approval"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_public_access_add_needs_approval" value="N" <?php if ( $s["public_access_add_needs_approval"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr id="pa6"><td class="tooltip" title="<?php etooltip("public-access-sees-participants-help")?>">
- <?php etranslate("Public access can view participants")?>:</td><td>
- <label><input type="radio" name="admin_public_access_view_part" value="Y" <?php if ( $s["public_access_view_part"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_public_access_view_part" value="N" <?php if ( $s["public_access_view_part"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
-</table>
-</div>
-
-<!-- BEGIN GROUPS -->
-<div id="tabscontent_groups">
-<table cellspacing="0" cellpadding="3">
- <tr><td class="tooltip" title="<?php etooltip("groups-enabled-help")?>">
- <?php etranslate("Groups enabled")?>:</td><td>
- <label><input type="radio" name="admin_groups_enabled" value="Y" <?php if ( $s["groups_enabled"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_groups_enabled" value="N" <?php if ( $s["groups_enabled"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("user-sees-his-group-help")?>">
- <?php etranslate("User sees only his groups")?>:</td><td>
- <label><input type="radio" name="admin_user_sees_only_his_groups" value="Y" <?php if ( $s["user_sees_only_his_groups"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_user_sees_only_his_groups" value="N" <?php if ( $s["user_sees_only_his_groups"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
-</table>
-</div>
-
-<!-- BEGIN NONUSER -->
-<div id="tabscontent_nonuser">
-<table cellspacing="0" cellpadding="3">
- <tr><td class="tooltip" title="<?php etooltip("nonuser-enabled-help")?>">
- <?php etranslate("Nonuser enabled")?>:</td><td>
- <label><input type="radio" name="admin_nonuser_enabled" value="Y" <?php if ( $s["nonuser_enabled"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_nonuser_enabled" value="N" <?php if ( $s["nonuser_enabled"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr><td class="tooltip" title="<?php etooltip("nonuser-list-help")?>">
- <?php etranslate("Nonuser list")?>:</td><td>
- <label><input type="radio" name="admin_nonuser_at_top" value="Y" <?php if ( $s["nonuser_at_top"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Top")?></label>
- <label><input type="radio" name="admin_nonuser_at_top" value="N" <?php if ( $s["nonuser_at_top"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Bottom")?></label>
-</td></tr>
-</table>
-</div>
-
-<!-- BEGIN REPORTS -->
-<div id="tabscontent_other">
-<table cellspacing="0" cellpadding="3">
-<tr><td class="tooltip" title="<?php etooltip("reports-enabled-help")?>">
- <?php etranslate("Reports enabled")?>:</td><td>
- <label><input type="radio" name="admin_reports_enabled" value="Y" <?php if ( $s["reports_enabled"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_reports_enabled" value="N" <?php if ( $s["reports_enabled"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-</td></tr>
-</table>
-
-<!-- BEGIN PUBLISHING -->
-<table cellspacing="0" cellpadding="3">
-<tr><td class="tooltip" title="<?php etooltip("subscriptions-enabled-help")?>">
- <?php etranslate("Allow remote subscriptions")?>:</td><td>
- <label><input type="radio" name="admin_PUBLISH_ENABLED" value="Y" <?php if ( $s["PUBLISH_ENABLED"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_PUBLISH_ENABLED" value="N" <?php if ( $s["PUBLISH_ENABLED"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-</td></tr>
-</table>
-
-<!-- BEGIN CATEGORIES -->
-<table cellspacing="0" cellpadding="3">
- <tr><td class="tooltip" title="<?php etooltip("categories-enabled-help")?>">
- <?php etranslate("Categories enabled")?>:</td><td>
- <label><input type="radio" name="admin_categories_enabled" value="Y" <?php if ( $s["categories_enabled"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_categories_enabled" value="N" <?php if ( $s["categories_enabled"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
-</table>
-
-<!-- BEGIN EXT PARTICIPANTS -->
-<table cellspacing="0" cellpadding="3">
- <tr><td class="tooltip" title="<?php etooltip("allow-external-users-help")?>">
- <?php etranslate("Allow external users")?>:</td><td>
- <label><input type="radio" name="admin_allow_external_users" value="Y" <?php if ( $s["allow_external_users"] == "Y" ) echo " checked=\"checked\"";?> onclick="eu_handler()" /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_allow_external_users" value="N" <?php if ( $s["allow_external_users"] != "Y" ) echo " checked=\"checked\"";?> onclick="eu_handler()" /> <?php etranslate("No")?></label>
- </td></tr>
- <tr id="eu1"><td class="tooltip" title="<?php etooltip("external-can-receive-notification-help")?>">
- <?php etranslate("External users can receive email notifications")?>:</td><td>
- <label><input type="radio" name="admin_external_notifications" value="Y" <?php if ( $s["external_notifications"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_external_notifications" value="N" <?php if ( $s["external_notifications"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
- <tr id="eu2"><td class="tooltip" title="<?php etooltip("external-can-receive-reminder-help")?>">
- <?php etranslate("External users can receive email reminders")?>:</td><td>
- <label><input type="radio" name="admin_external_reminders" value="Y" <?php if ( $s["external_reminders"] == "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_external_reminders" value="N" <?php if ( $s["external_reminders"] != "Y" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
- </td></tr>
-</table>
-</div>
-
-<!-- BEGIN EMAIL -->
-<div id="tabscontent_email">
-<table cellspacing="0" cellpadding="3">
-<tr><td class="tooltip" title="<?php etooltip("email-enabled-help")?>">
- <?php etranslate("Email enabled")?>:</td><td>
- <label><input type="radio" name="admin_send_email" value="Y" <?php if ( $s["send_email"] == "Y" ) echo " checked=\"checked\"";?> onclick="email_handler()" /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_send_email" value="N" <?php if ( $s["send_email"] != "Y" ) echo " checked=\"checked\"";?> onclick="email_handler()" /> <?php etranslate("No")?></label>
-</td></tr>
-<tr id="em1"><td class="tooltip" title="<?php etooltip("email-default-sender")?>">
- <?php etranslate("Default sender address")?>:</td><td>
- <input type="text" size="30" name="admin_email_fallback_from" value="<?php echo htmlspecialchars ($email_fallback_from );?>" />
-</td></tr>
-<tr id="em2"><td colspan="2" style="font-weight:bold;">
- <?php etranslate("Default user settings")?>:
-</td></tr>
-<tr id="em3"><td class="tooltip" title="<?php etooltip("email-event-reminders-help")?>">
- <?php etranslate("Event reminders")?>:</td><td>
- <label><input type="radio" name="admin_EMAIL_REMINDER" value="Y" <?php if ( $s["EMAIL_REMINDER"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_EMAIL_REMINDER" value="N" <?php if ( $s["EMAIL_REMINDER"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-</td></tr>
-<tr id="em4"><td class="tooltip" title="<?php etooltip("email-event-added")?>">
- <?php etranslate("Events added to my calendar")?>:</td><td>
- <label><input type="radio" name="admin_EMAIL_EVENT_ADDED" value="Y" <?php if ( $s["EMAIL_EVENT_ADDED"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_EMAIL_EVENT_ADDED" value="N" <?php if ( $s["EMAIL_EVENT_ADDED"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-</td></tr>
-<tr id="em5"><td class="tooltip" title="<?php etooltip("email-event-updated")?>">
- <?php etranslate("Events updated on my calendar")?>:</td><td>
- <label><input type="radio" name="admin_EMAIL_EVENT_UPDATED" value="Y" <?php if ( $s["EMAIL_EVENT_UPDATED"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_EMAIL_EVENT_UPDATED" value="N" <?php if ( $s["EMAIL_EVENT_UPDATED"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-</td></tr>
-<tr id="em6"><td class="tooltip" title="<?php etooltip("email-event-deleted");?>">
- <?php etranslate("Events removed from my calendar")?>:</td><td>
- <label><input type="radio" name="admin_EMAIL_EVENT_DELETED" value="Y" <?php if ( $s["EMAIL_EVENT_DELETED"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_EMAIL_EVENT_DELETED" value="N" <?php if ( $s["EMAIL_EVENT_DELETED"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-</td></tr>
-<tr id="em7"><td class="tooltip" title="<?php etooltip("email-event-rejected")?>">
- <?php etranslate("Event rejected by participant")?>:</td><td>
- <label><input type="radio" name="admin_EMAIL_EVENT_REJECTED" value="Y" <?php if ( $s["EMAIL_EVENT_REJECTED"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_EMAIL_EVENT_REJECTED" value="N" <?php if ( $s["EMAIL_EVENT_REJECTED"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-</td></tr>
-</table>
-</div>
-
-<!-- BEGIN COLORS -->
-<div id="tabscontent_colors">
-<table cellspacing="0" cellpadding="3">
-<tr><td><label>
- <?php etranslate("Allow user to customize colors")?>:</label></td><td colspan="3">
- <label><input type="radio" name="admin_allow_color_customization" value="Y"<?php if ( $s["allow_color_customization"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_allow_color_customization" value="N"<?php if ( $s["allow_color_customization"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-</td></tr>
-<tr><td><label>
- <?php etranslate("Enable gradient images for background colors")?>:</label></td><td colspan="3">
-<?php if ( function_exists ( "imagepng" ) ) { ?>
- <label><input type="radio" name="admin_enable_gradients" value="Y"<?php if ( $s["enable_gradients"] != "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("Yes")?></label>
- <label><input type="radio" name="admin_enable_gradients" value="N"<?php if ( $s["enable_gradients"] == "N" ) echo " checked=\"checked\"";?> /> <?php etranslate("No")?></label>
-<?php } else {
- etranslate("Not available");
- } ?>
-</td></tr>
-<tr><td>
- <label for="docbg"><?php etranslate("Document background")?>:</td><td>
- <input type="text" name="admin_BGCOLOR" id="docbg" size="8" maxlength="7" value="<?php echo $s["BGCOLOR"]; ?>" onkeyup="updateColor(this);" /></td><td class="sample" style="background-color:<?php echo $s["BGCOLOR"]?>;">
- </td><td>
- <input type="button" onclick="selectColor('admin_BGCOLOR')" value="<?php etranslate("Select")?>..." name="" />
-</td></tr>
-<tr><td>
- <label for="doctitle"><?php etranslate("Document title")?>:</td><td>
- <input type="