Work on debian package

This commit is contained in:
Laurent Destailleur 2011-08-01 18:22:25 +00:00
parent 37695b4cdf
commit 2e3305a533
30 changed files with 463 additions and 245 deletions

View File

@ -22,12 +22,13 @@ with format .DEB (for Debian, Ubuntu, ...).
# lintian --pedantic -E -I package.deb To test a package
#
# dpkg -l List all packages
# dpkg -b To build package
# dpkg -b To build binary only package
# dpkg -c package.deb List content of package
# dpkg -I package.deb Give informations on package
# dpkg -i package.deb Install a package
#
# dpkg-reconfigure -plow package Reconfigure package
# dpkg -L packagename List content of installed package
# dpkg -r packagename Remove config files and interactive saved answers
# dpkg --purge Remove config files and interactive saved answers
#
# dpkg-buildpackage -us -uc Build a source and binary package

View File

@ -22,7 +22,16 @@ if [ "$1" = "reconfigure" ] ; then
done
mv ${config} ${config}.0
fi
# Rotate old configuration
if [ "$1" = "reconfigure" ] ; then
config="/etc/dolibarr/lighttpd.conf"
for i in $(seq 8 -1 0) ; do
if [ -f ${config}.$i ] ; then
mv ${config}.$i ${config}.$(($i +1))
fi
done
mv ${config} ${config}.0
fi
db_capb backup

View File

@ -1,46 +0,0 @@
Package: dolibarr
Version: __VERSION__
Architecture: all
Maintainer: Laurent Destailleur <eldy@users.sourceforge.net>
Installed-Size: 61200
Depends: xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl
Section: web
Priority: optional
Homepage: http://www.dolibarr.org
Description: Easy to use web based ERP & CRM software
Dolibarr ERP & CRM is an easy to use open source/free software for small
and medium companies, foundations or freelances. It includes different
features for Enterprise Resource Planning (ERP) and Customer Relationship
Management (CRM) but also for different other activities.
It's a web software you can install as a standalone program or on any web
hosting provider to use it from anywhere with any web browser.
Dolibarr was designed to provide only features you need and be easy to use.
.
Only features you need are visible, depending on which module were activated.
Most common used modules are:
.
Customers, Suppliers or Prospects directory,
Contacts directory,
Orders management,
Commercial proposals management,
Invoices management,
Products and services catalog,
Stock management,
Foundations members management,
Bank accounts management,
Point of Sale,
Payments management,
Commercial actions management,
Contracts management,
Standing orders management,
Shipping management,
Donations management,
Bookmarks management,
Mass Emailings,
Reports,
Wizards to export and import data,
LDAP connectivity,
PDF exports,
And a lot of more modules...
.
You can also add third parties external modules or develop yours.

View File

@ -4,10 +4,16 @@ Standards-Version: 3.9.1
Section: web
Priority: optional
Homepage: http://www.dolibarr.org
Build-Depends: debhelper, po-debconf
Build-Depends: debhelper (>= 7), po-debconf
Package: dolibarr
Depends: ${misc:Depends}, xdg-utils, apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, php-pear, php-mail-mime, mysql-server, perl
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
php5-mysql | php5-mysqli,
php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime,
${misc:Depends}, xdg-utils,
mysql-server, perl
Recommends: apache2 | lighttpd | httpd, mysql-client
Suggests: www-browser
Architecture: all
Section: web
Priority: optional

View File

@ -44,7 +44,9 @@ Copyright: 2002-2009, Rodolphe Quiedeville <rodolphe@quiedeville.org>
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
`/usr/share/common-licenses/GPL-2'.
Full text of Lesser General Public Licence version 3 can be
found in the file
`/usr/share/common-licenses/LGPL-3'.
Files: htdocs/includes/artichow/*
License: Public Domain
@ -64,6 +66,9 @@ License: GPL-2+
Files: htdocs/includes/jquery/*
License: GPL-2+ or MIT
Files: htdocs/includes/jquery/plugins/flot/*
License: Public Domain
Files: htdocs/includes/jsgantt/*
License: GPL-2+

View File

@ -0,0 +1,9 @@
# embedded libraries, which don't seem to be available in Debian in correct version
# or because they were modified and are specific dolibarr code
embedded-javascript-library usr/share/dolibarr/htdocs/includes/ckeditor/adapters/jquery.js
embedded-javascript-library usr/share/dolibarr/htdocs/includes/ckeditor/ckeditor.js
embedded-javascript-library usr/share/dolibarr/htdocs/includes/fckeditor/fckeditor.js
embedded-php-library usr/share/dolibarr/htdocs/includes/magpierss/extlib/Snoopy.class.inc
embedded-php-library usr/share/dolibarr/htdocs/includes/magpierss/rss_parse.inc
embedded-php-library usr/share/dolibarr/htdocs/includes/nusoap/lib/nusoap.php
embedded-php-library usr/share/dolibarr/htdocs/includes/odtphp/zip/pclzip/pclzip.lib.php

View File

@ -1,4 +1,5 @@
etc/dolibarr/apache.conf
etc/dolibarr/lighttpd.conf
usr/share/applications/dolibarr.desktop
usr/share/doc/dolibarr
usr/share/dolibarr

22
build/deb/lighttpd.conf Executable file
View File

@ -0,0 +1,22 @@
# Alias for dolibarr directory
alias.url += (
"/dolibarr" => "/usr/share/dolibarr/htdocs",
)
# Disallow access to libraries
#$HTTP["url"] =~ "^/dolibarr/libraries" {
# url.access-deny = ( "" )
#}
# Limit access to setup script
#$HTTP["url"] =~ "^/dolibarr/setup" {
# auth.backend = "htpasswd"
# auth.backend.htpasswd.userfile = "/etc/dolibarr/htpasswd.setup"
# auth.require = (
# "/" => (
# "method" => "basic",
# "realm" => "Dolibarr Setup",
# "require" => "valid-user"
# )
# )
#}

View File

@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-27 19:49+0200\n"
"POT-Creation-Date: 2011-08-01 18:17+0200\n"
"PO-Revision-Date: 2011-07-29 22:45+0100\n"
"Last-Translator: Laurent Destailleur <eldy@users.sourceforge.net>\n"
"Language-Team: Laurent Destailleur <eldy@users.sourceforge.net>\n"
@ -25,10 +25,26 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Project-Id: dolibarr\n"
#. Type: multiselect
#. Description
#: ../templates:1001
msgid "Web server to reconfigure automatically:"
msgstr "Seveur web à reconfigurer automatiquement:"
#. Type: multiselect
#. Description
#: ../templates:1001
msgid ""
"Please choose the web server that should be automatically configured to run "
"dolibarr."
msgstr ""
"Selectionnez le serveur web à configurer automatiquement pour utiliser "
"dolibarr."
#
#. Type: boolean
#. Description
#: ../templates:1001
#: ../templates:2001
#, fuzzy
msgid "Delete database and uploaded files ?"
msgstr "Effacer la base de donnée et les fichiers uploadés ?"
@ -36,7 +52,7 @@ msgstr "Effacer la base de donnée et les fichiers uploadés ?"
#
#. Type: boolean
#. Description
#: ../templates:1001
#: ../templates:2001
#, fuzzy
msgid ""
"Answer if you want to removed the Dolibarr MySQL database and all other "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-27 19:52+0200\n"
"POT-Creation-Date: 2011-08-01 18:17+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,15 +17,29 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#. Type: boolean
#. Type: multiselect
#. Description
#: ../templates:1001
msgid "Web server to reconfigure automatically:"
msgstr ""
#. Type: multiselect
#. Description
#: ../templates:1001
msgid ""
"Please choose the web server that should be automatically configured to run "
"dolibarr."
msgstr ""
#. Type: boolean
#. Description
#: ../templates:2001
msgid "Delete database and uploaded files ?"
msgstr ""
#. Type: boolean
#. Description
#: ../templates:1001
#: ../templates:2001
msgid ""
"Answer if you want to removed the Dolibarr MySQL database and all other "
"datas (datas related to this question are the Dolibarr DBMS account, all "

View File

@ -1,7 +1,5 @@
#!/bin/sh
# postinst script for dolibarr
#
# see: dh_installdeb(1)
set -e
@ -16,6 +14,31 @@ set -e
# for details, see /usr/share/doc/packaging-manual/
lighttpd_install() {
if [ ! -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then
if which lighty-enable-mod >/dev/null 2>&1 ; then
echo "Add link for Lighttpd config file"
ln -s /etc/dolibarr/lighttpd.conf /etc/lighttpd/conf-available/50-dolibarr.conf
# We enabled it
lighty-enable-mod dolibarr fastcgi-php
else
echo "Lighttpd not installed, skipping"
fi
fi
}
apache_install() {
webserver=$1
if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/dolibarr.conf ]; then
echo "Add link for Apache config file"
ln -s /etc/dolibarr/apache.conf /etc/$webserver/conf.d/dolibarr.conf
fi
}
. /usr/share/debconf/confmodule
db_version 2.0
@ -27,8 +50,6 @@ echo Run the dolibarr postinst script
# Define vars
docdir='/var/lib/dolibarr/documents'
#docdir='/usr/share/dolibarr/documents'
apachefileorig="/usr/share/dolibarr/build/deb/apache.conf"
apacheconfig="/etc/dolibarr/apache.conf"
installfileorig="/usr/share/dolibarr/build/deb/install.forced.php.install"
installconfig="/etc/dolibarr/install.forced.php"
#config="/usr/share/dolibarr/htdocs/conf/conf.php"
@ -44,10 +65,6 @@ case "$1" in
chmod -R 775 $docdir
chmod -R g+s $docdir
# Copy apache.conf file into target directory
#mkdir -p /etc/dolibarr
#cp -p $apachefileorig $apacheconfig
# Copy install config file (with matching Debian) values into target directory
superuserlogin=''
superuserpassword=''
@ -74,21 +91,23 @@ case "$1" in
chmod -R 660 $config
fi
# Get the web server type (use db_get for interactive mode).
#db_reset "dolibarr/webserver"
#db_get "dolibarr/webserver" # Read value for webserver.
#webserver="$RET"
case $webserver in
Apache) webservers="apache2" ;;
Apache-SSL) webservers="apache2-ssl" ;;
Both) webservers="apache2 apache2-ssl" ;;
*) webservers="apache2 apache2-ssl" ;;
esac
# Reconfigure web server
db_reset dolibarr/reconfigure-webserver
# Ask if we must delete database
echo "Ask for web server to setup"
db_input critical dolibarr/reconfigure-webserver || true
db_go || true
db_get dolibarr/reconfigure-webserver
webservers="$RET"
# Set up web server.
for server in $webservers ; do
echo Complete config of server $server
for webserver in $webservers ; do
webserver=${webserver%,}
echo Complete config of server $webserver
# Detect webuser and webgroup
webuser=
@ -106,26 +125,31 @@ case "$1" in
# Set permissions to web server
chown -R $webuser:$webgroup /usr/share/dolibarr
chown -R root:$webgroup $config
# Add link to config file
echo Setup web server $server to add dolibarr config file
ln -fs /etc/dolibarr/apache.conf /etc/apache2/conf.d/dolibarr.conf
done
# Restart servers
servers="apache2-ssl apache2 mysql"
# Another way to restart
for server in $servers ; do
if [ -x /usr/sbin/invoke-rc.d ]; then
echo Restart web server $server using invoke-rc.d
# This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...)
invoke-rc.d $server reload || true
else
echo Restart web server $server using $server reload
/etc/init.d/$server reload || true
fi
# Restart web server.
for webserver in $webservers; do
webserver=${webserver%,}
if [ "$webserver" = "lighttpd" ] ; then
lighttpd_install
else
apache_install $webserver
fi
# Reload webserver in any case, configuration might have changed
# Redirection of 3 is needed because Debconf uses it and it might
# be inherited by webserver. See bug #446324.
if [ -f /etc/init.d/$webserver ] ; then
if [ -x /usr/sbin/invoke-rc.d ]; then
echo Restart web server $server using invoke-rc.d
# This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...)
invoke-rc.d $webserver reload 3>/dev/null || true
else
echo Restart web server $server using $server reload
/etc/init.d/$webserver reload 3>/dev/null || true
fi
fi
done
echo ----------
echo "Call Dolibarr page http://localhost/dolibarr/ to complete the installation and use Dolibarr."
@ -136,13 +160,13 @@ case "$1" in
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
echo "postinst called with unknown argument $1" >&2
exit 0
;;
esac
db_stop
#DEBHELPER#
db_stop
exit 0

View File

@ -17,7 +17,36 @@ set -e
# for details, see /usr/share/doc/packaging-manual/
. /usr/share/debconf/confmodule
lighttpd_remove() {
if [ -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then
echo "Remove link for Lighttpd config file"
rm -f /etc/lighttpd/conf-available/50-dolibarr.conf
if which lighty-enable-mod >/dev/null 2>&1 ; then
lighty-disable-mod dolibarr
else
echo "Lighttpd not installed, skipping"
fi
# See bug #448682
if [ -h /etc/lighttpd/conf-enabled/50-dolibarr.conf ] ; then
echo 'Manually deleting lighttpd/dolibarr configuration link'
rm /etc/lighttpd/conf-enabled/50-dolibarr.conf
fi
fi
}
apache_remove() {
if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/dolibarr.conf ]; then
echo "Remove link for Apache config file"
rm -f /etc/$webserver/conf.d/dolibarr.conf
fi
}
if [ -f /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
fi
db_version 2.0
@ -26,22 +55,11 @@ echo Run the dolibarr postrm script
docdir='/var/lib/dolibarr/documents'
#docdir='/usr/share/dolibarr/documents'
apachefileorig="/usr/share/dolibarr/build/deb/apache.conf"
apacheconfig="/etc/dolibarr/apache.conf"
#config="/usr/share/dolibarr/htdocs/conf/conf.php"
config="/etc/dolibarr/conf.php"
lockfile="/usr/share/dolibarr/install.lock"
export webserver=""
# Allows us to loop and substitute in one pass
case $webserver in
Apache) webservers="apache2" ;;
Apache-SSL) webservers="apache2-ssl" ;;
Both) webservers="apache2 apache2-ssl" ;;
*) webservers="apache2 apache2-ssl" ;;
esac
case "$1" in
@ -53,36 +71,44 @@ case "$1" in
remove)
rm -f $lockfile
# Remove include files
export restart=""
for server in $webservers ; do
export conffile="/etc/$server/conf.d/dolibarr.conf"
if [ -f $conffile ] ;
then
echo Delete link $conffile
rm -f $conffile
status=purge
fi
if [ "x$status" = "xpurge" ] ;
then restart="$restart $server"
# Reconfigure web server
db_get dolibarr/reconfigure-webserver
webservers="$RET"
# Restart web servers
for webserver in $webservers; do
webserver=${webserver%,}
if [ "$webserver" = "lighttpd" ] ; then
lighttpd_remove
else
apache_remove $webserver
fi
# Redirection of 3 is needed because Debconf uses it and it might
# be inherited by webserver. See bug #446324.
if [ -f /etc/init.d/$webserver ] ; then
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d $webserver reload 3>/dev/null || true
else
/etc/init.d/$webserver reload 3>/dev/null || true
fi
fi
done
;;
# Call when we uninstall and purge
purge)
echo "postrm purge webservers=$webservers apacheconfig=$apacheconfig"
echo "postrm purge webservers=$webservers"
# Ask if we must delete database
echo "postrm db_input dolibarr/postrm"
db_input critical "dolibarr/postrm" || true
db_input critical dolibarr/postrm || true
db_go || true
echo "postrm db_get dolibarr/postrm"
# We disable set -e to avoid premature end of script if error
set +e
db_get "dolibarr/postrm"
db_get dolibarr/postrm
set -e
if [ "$RET" = "true" ] ; then
@ -185,41 +211,12 @@ case "$1" in
echo "postrm Delete of dolibarr database and uploaded files not wanted"
fi
# Remove include files
export restart=""
for server in $webservers ; do
export conffile="/etc/$server/conf.d/dolibarr.conf"
if [ -f $conffile ] ;
then
echo Delete file $conffile
rm -f $conffile
status=purge
fi
if [ "x$status" = "xpurge" ] ;
then restart="$restart $server"
fi
done
rm -rf /etc/dolibarr
# Restart servers
for server in $restart ; do
# We disable blocking errors
set +e
echo "Restart server $server if exists"
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d $server reload || true
else
/etc/init.d/$server reload || true
fi
# We restore blocking errors
set -e
done
# We clean variable (we ignore errors because db_reset can fails if var was never set)
set +e
db_reset "dolibarr/postrm"
db_reset dolibarr/reconfigure-webserver
db_reset dolibarr/postrm
set -e
#db_purge
@ -229,7 +226,7 @@ case "$1" in
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
echo "postrm called with unknown argument $1" >&2
exit 0
;;
esac

View File

@ -1,3 +1,10 @@
Template: dolibarr/reconfigure-webserver
Type: multiselect
Choices: apache2, lighttpd
_Description: Web server to reconfigure automatically:
Please choose the web server that should be automatically configured
to run dolibarr.
Template: dolibarr/postrm
Type: boolean
Default: true

View File

@ -2,7 +2,7 @@
#----------------------------------------------------------------------------
# \file build/makepack-dolibarr.pl
# \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps)
# \version $Id: makepack-dolibarr.pl,v 1.128 2011/07/31 22:08:13 eldy Exp $
# \version $Id: makepack-dolibarr.pl,v 1.129 2011/08/01 18:22:26 eldy Exp $
# \author (c)2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
#----------------------------------------------------------------------------
@ -48,7 +48,7 @@ if (-d "/usr/src/RPM") {
use vars qw/ $REVISION $VERSION /;
$REVISION='$Revision: 1.128 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1;
$REVISION='$Revision: 1.129 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1;
$VERSION="1.0 (build $REVISION)";
@ -318,6 +318,9 @@ if ($nboftargetok) {
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`;
#$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils/pfm2afm`;
#$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils/ttf2ufm`;
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/flot/jquery.js`;
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/flot/jquery.min.js`;
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jcrop/js/jquery.min.js`;
}
# Build package for each target
@ -569,6 +572,8 @@ if ($nboftargetok) {
if ($target eq 'DEB')
{
$olddir=getcwd();
$newbuild = $BUILD;
$newbuild =~ s/(dev|alpha)/1/gi; # dev
$newbuild =~ s/beta/2/gi; # beta
@ -671,19 +676,22 @@ if ($nboftargetok) {
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/odtphp/zip/.svn`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/odtphp/zip/pclzip/.svn`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/smarty`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/fckeditor/license.txt`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/jquery/plugins/flot/LICENSE.txt`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/php_writeexcel/LICENSE`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/COPYING`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/barcode/php-barcode/genbarcode/genbarcode`;
# To remove once stable
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/htdocs/theme/bureau2crea`;
# Apache conf files
# Apache and lighttpd conf files
print "Copy apache.conf file into $BUILDROOT/$PROJECT.tmp/etc/$PROJECT/apache.conf\n";
$ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT"`;
$ret=`cp "$SOURCE/build/deb/apache.conf" "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT/apache.conf"`;
# Dolibarr conf files
# TODO
print "Copy lighttpd.conf file into $BUILDROOT/$PROJECT.tmp/etc/$PROJECT/lighttpd.conf\n";
$ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT"`;
$ret=`cp "$SOURCE/build/deb/lighttpd.conf" "$BUILDROOT/$PROJECT.tmp/etc/$PROJECT/lighttpd.conf"`;
# dolibarr.desktop
print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/applications\n";
@ -729,17 +737,15 @@ if ($nboftargetok) {
$cmd="find $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/htdocs/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts -name '*.pl' -type f -exec chmod 755 {} \\; ";
$ret=`$cmd`;
print "Go to directory $BUILDROOT\n";
$olddir=getcwd();
chdir("$BUILDROOT");
# Creation of binary package (to build without sources)
# Creation of binary package (to build without sources)
#print "Go to directory $BUILDROOT\n";
#chdir("$BUILDROOT");
#$cmd="dpkg -b $BUILDROOT/$PROJECT.tmp $BUILDROOT/${FILENAMEDEB}_all.deb";
#print "Launch DEB build ($cmd)\n";
#$ret=`$cmd`;
#print $ret."\n";
# Creation of source package
# Prepare source package
print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n";
$ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`;
$ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian/source"`;
@ -751,6 +757,7 @@ if ($nboftargetok) {
$ret=`cp -f "$SOURCE/build/deb/README.debian" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/dolibarr/README"`;
$ret=`cp -f "$SOURCE/build/deb/changelog" "$BUILDROOT/$PROJECT.tmp/debian/changelog"`;
$ret=`cp -f "$SOURCE/build/deb/control.debian" "$BUILDROOT/$PROJECT.tmp/debian/control"`;
$ret=`cp -f "$SOURCE/build/deb/dolibarr.lintian-overrides" "$BUILDROOT/$PROJECT.tmp/debian/dolibarr.lintian-overrides"`;
$ret=`cp -f "$SOURCE/build/deb/install" "$BUILDROOT/$PROJECT.tmp/debian/install"`;
$ret=`cp -f "$SOURCE/build/deb/rules" "$BUILDROOT/$PROJECT.tmp/debian/rules"`;
$ret=`cp -f "$SOURCE/build/deb/copyright" "$BUILDROOT/$PROJECT.tmp/debian/copyright"`;
@ -766,6 +773,9 @@ if ($nboftargetok) {
$cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build";
$ret=`$cmd`;
# Creation of source package
print "Go to directory $BUILDROOT\n";
chdir("$BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build");
#$cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build";
$cmd="dpkg-buildpackage -us -uc";

View File

@ -27,7 +27,7 @@
* \file htdocs/includes/modules/modMyModule.class.php
* \ingroup mymodule
* \brief Description and activation file for module MyModule
* \version $Id: modMyModule.class.php,v 1.66 2011/07/31 22:21:58 eldy Exp $
* \version $Id: modMyModule.class.php,v 1.67 2011/08/01 13:26:21 hregis Exp $
*/
include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php");
@ -72,7 +72,7 @@ class modMyModule extends DolibarrModules
// If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module'
$this->picto='generic';
// Defined if the directory /mymodule/inc/triggers/ contains triggers or not
// Defined if the directory /mymodule/includes/triggers/ contains triggers or not
$this->triggers = 0;
// Data directories to create when module is enabled.

View File

@ -20,7 +20,7 @@
/**
* \file htdocs/admin/boxes.php
* \brief Page to setup boxes
* \version $Id: boxes.php,v 1.72 2011/07/31 22:23:22 eldy Exp $
* \version $Id: boxes.php,v 1.73 2011/08/01 13:26:22 hregis Exp $
*/
require("../main.inc.php");
@ -278,7 +278,7 @@ if ($resql)
{
$boxname = $regs[1];
$module = $regs[2];
$sourcefile = "/".$module."/inc/boxes/".$boxname.".php";
$sourcefile = "/".$module."/includes/boxes/".$boxname.".php";
}
else
{
@ -394,7 +394,7 @@ if ($resql)
{
$boxname = $regs[1];
$module = $regs[2];
$sourcefile = "/".$module."/inc/boxes/".$boxname.".php";
$sourcefile = "/".$module."/includes/boxes/".$boxname.".php";
}
else
{
@ -470,5 +470,5 @@ print '</table>';
$db->close();
llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.72 $');
llxFooter('$Date: 2011/08/01 13:26:22 $ - $Revision: 1.73 $');
?>

View File

@ -3,7 +3,7 @@
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
*
* 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
@ -22,7 +22,7 @@
/**
* \file htdocs/admin/modules.php
* \brief Page to activate/disable all modules
* \version $Id: modules.php,v 1.156 2011/07/31 22:23:22 eldy Exp $
* \version $Id: modules.php,v 1.157 2011/08/01 12:25:15 hregis Exp $
*/
require("../main.inc.php");
@ -79,12 +79,35 @@ $modules = array();
$orders = array();
$categ = array();
$dirmod = array();
$modulesdir = array();
$i = 0; // is a sequencer of modules found
$j = 0; // j is module number. Automatically affected if module number not defined.
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot . "/includes/modules/";
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$modulesdir[] = $dirroot . "/includes/modules/";
if ($type == 'alt')
{
$althandle=@opendir($dirroot);
if (is_resource($althandle))
{
while (($file = readdir($althandle))!==false)
{
if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes')
{
if (is_dir($dirroot . '/' . $file . '/includes/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/includes/modules/';
}
}
}
}
}
}
foreach ($modulesdir as $dir)
{
// Load modules attributes in arrays (name, numero, orders) from dir directory
//print $dir."\n<br>";
dol_syslog("Scan directory ".$dir." for modules");
@ -449,5 +472,5 @@ print '</div>';
$db->close();
llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.156 $');
llxFooter('$Date: 2011/08/01 12:25:15 $ - $Revision: 1.157 $');
?>

View File

@ -21,7 +21,7 @@
* \file htdocs/admin/perms.php
* \ingroup core
* \brief Page d'administration/configuration des permissions par defaut
* \version $Id: perms.php,v 1.42 2011/07/31 22:23:26 eldy Exp $
* \version $Id: perms.php,v 1.43 2011/08/01 12:53:37 hregis Exp $
*/
require("../main.inc.php");
@ -76,10 +76,34 @@ $db->begin();
// Charge les modules soumis a permissions
$modules = array();
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot . "/includes/modules/";
$modulesdir = array();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$modulesdir[] = $dirroot . "/includes/modules/";
if ($type == 'alt')
{
$handle=@opendir($dirroot);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes')
{
if (is_dir($dirroot . '/' . $file . '/includes/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/includes/modules/';
}
}
}
closedir($handle);
}
}
}
foreach ($modulesdir as $dir)
{
// Load modules attributes in arrays (name, numero, orders) from dir directory
//print $dir."\n<br>";
$handle=@opendir($dir);
@ -194,5 +218,5 @@ print '</div>';
$db->close();
llxFooter('$Date: 2011/07/31 22:23:26 $ - $Revision: 1.42 $');
llxFooter('$Date: 2011/08/01 12:53:37 $ - $Revision: 1.43 $');
?>

View File

@ -22,7 +22,7 @@
* \brief File of class to manage widget boxes
* \author Rodolphe Qiedeville
* \author Laurent Destailleur
* \version $Id: boxes.php,v 1.54 2011/07/31 23:19:04 eldy Exp $
* \version $Id: boxes.php,v 1.55 2011/08/01 13:26:21 hregis Exp $
*/
@ -220,7 +220,7 @@ class InfoBox
{
$boxname = $regs[1];
$module = $regs[2];
$sourcefile = dol_buildpath("/".$module."/inc/boxes/".$boxname.".php");
$sourcefile = dol_buildpath("/".$module."/includes/boxes/".$boxname.".php");
}
else
{
@ -281,7 +281,7 @@ class InfoBox
{
$boxname = $regs[1];
$module = $regs[2];
$sourcefile = "/".$module."/inc/boxes/".$boxname.".php";
$sourcefile = "/".$module."/includes/boxes/".$boxname.".php";
}
else
{

View File

@ -16,8 +16,7 @@
* 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.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
@ -25,7 +24,7 @@
* \ingroup core
* \brief File of class to manage storage of current setup
* Config is stored into file conf.php
* \version $Id: conf.class.php,v 1.62 2011/07/30 10:23:26 eldy Exp $
* \version $Id: conf.class.php,v 1.64 2011/08/01 13:26:22 hregis Exp $
*/
@ -145,13 +144,13 @@ class Conf
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_TRIGGERS$/i',$key,$reg))
{
$modulename = strtolower($reg[1]);
$this->triggers_modules[] = '/'.$modulename.'/inc/triggers/'; // TODO Replace inc by includes to have same path than standard
$this->triggers_modules[] = '/'.$modulename.'/includes/triggers/';
}
// If this is constant for login method activated by a module
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_LOGIN_METHOD$/i',$key,$reg))
{
$modulename = strtolower($reg[1]);
$this->login_method_modules[] = DOL_DOCUMENT_ROOT.'/'.$modulename.'/inc/login/'; // TODO Replace inc by includes to have same path than standard
$this->login_method_modules[] = DOL_DOCUMENT_ROOT.'/'.$modulename.'/includes/login/';
}
// If this is constant for hook activated by a module. Value is list of hooked tabs separated with :
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_HOOKS$/i',$key,$reg))

View File

@ -12,14 +12,13 @@
* 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.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/core/class/cookie.class.php
* \ingroup core
* \version $Id: cookie.class.php,v 1.6 2011/07/30 08:56:26 eldy Exp $
* \version $Id: cookie.class.php,v 1.7 2011/07/31 23:45:13 eldy Exp $
* \brief File of class to manage cookies
*/

View File

@ -23,15 +23,14 @@
* 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.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/core/class/html.form.class.php
* \ingroup core
* \brief File of class with all html predefined components
* \version $Id: html.form.class.php,v 1.192 2011/07/27 23:37:01 eldy Exp $
* \version $Id: html.form.class.php,v 1.193 2011/07/31 23:45:14 eldy Exp $
*/
@ -161,8 +160,10 @@ class Form
$htmltext=str_replace("\n","",$htmltext);
$htmltext=str_replace('"',"&quot;",$htmltext);
$paramfortooltipimg=' class="classfortooltip'.($extracss?' '.$extracss:'').'" title="'.($noencodehtmltext?$htmltext:dol_escape_htmltag($htmltext,1)).'"'; // Attribut to put on td img tag to store tooltip
$paramfortooltiptd =($extracss?' class="'.$extracss.'"':''); // Attribut to put on td text tag
if ($tooltipon == 2 || $tooltipon == 3) $paramfortooltipimg=' class="classfortooltip'.($extracss?' '.$extracss:'').'" title="'.($noencodehtmltext?$htmltext:dol_escape_htmltag($htmltext,1)).'"'; // Attribut to put on td img tag to store tooltip
else $paramfortooltipimg =($extracss?' class="'.$extracss.'"':''); // Attribut to put on td text tag
if ($tooltipon == 1 || $tooltipon == 3) $paramfortooltiptd=' class="classfortooltip'.($extracss?' '.$extracss:'').'" title="'.($noencodehtmltext?$htmltext:dol_escape_htmltag($htmltext,1)).'"'; // Attribut to put on td tag to store tooltip
else $paramfortooltiptd =($extracss?' class="'.$extracss.'"':''); // Attribut to put on td text tag
$s="";
if (empty($notabs)) $s.='<table class="nobordernopadding" summary=""><tr>';

View File

@ -14,15 +14,14 @@
* 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.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/core/class/interfaces.class.php
* \ingroup core
* \brief Fichier de la classe de gestion des triggers
* \version $Id: interfaces.class.php,v 1.8 2011/07/28 10:36:43 eldy Exp $
* \version $Id: interfaces.class.php,v 1.9 2011/07/31 23:45:13 eldy Exp $
*/

View File

@ -13,15 +13,14 @@
* 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.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/imports/import.php
* \ingroup import
* \brief Pages of import Wizard
* \version $Id: import.php,v 1.68 2011/07/29 22:31:37 eldy Exp $
* \version $Id: import.php,v 1.69 2011/07/31 23:46:39 eldy Exp $
*/
require_once("../main.inc.php");
@ -1669,7 +1668,7 @@ print '<br>';
$db->close();
llxFooter('$Date: 2011/07/29 22:31:37 $ - $Revision: 1.68 $');
llxFooter('$Date: 2011/07/31 23:46:39 $ - $Revision: 1.69 $');
/*

View File

@ -19,7 +19,7 @@
/**
* \defgroup workflow Module workflow
* \brief Workflow management
* \version $Id: modWorkflow.class.php,v 1.10 2011/07/31 23:28:10 eldy Exp $
* \version $Id: modWorkflow.class.php,v 1.11 2011/08/01 13:26:22 hregis Exp $
*/
/**
@ -68,7 +68,7 @@ class modWorkflow extends DolibarrModules
// If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module'
$this->picto='technic';
// Defined if the directory /mymodule/inc/triggers/ contains triggers or not
// Defined if the directory /mymodule/includes/triggers/ contains triggers or not
$this->triggers = 1;
// Data directories to create when module is enabled

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2008-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
*
* 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
@ -20,7 +20,7 @@
/**
* \file htdocs/lib/admin.lib.php
* \brief Library of admin functions
* \version $Id: admin.lib.php,v 1.98 2011/07/31 23:25:40 eldy Exp $
* \version $Id: admin.lib.php,v 1.99 2011/08/01 12:53:37 hregis Exp $
*/
@ -467,7 +467,7 @@ function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $not
/**
* \brief Define head array for tabs of security setup pages
* \return Array of head
* \version $Id: admin.lib.php,v 1.98 2011/07/31 23:25:40 eldy Exp $
* \version $Id: admin.lib.php,v 1.99 2011/08/01 12:53:37 hregis Exp $
*/
function security_prepare_head()
{
@ -615,16 +615,41 @@ function Activate($value,$withdeps=1)
// Activate module
if ($modName)
{
$file = $modName . ".class.php";
$modFile = $modName . ".class.php";
// Loop on each directory
$found=false;
foreach ($conf->file->dol_document_root as $dol_document_root)
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$dir = $dol_document_root."/includes/modules/";
$modulesdir[] = $dirroot."/includes/modules/";
if ($type == 'alt')
{
$handle=@opendir($dirroot);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes')
{
if (is_dir($dirroot . '/' . $file . '/includes/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/includes/modules/';
}
}
}
closedir($handle);
}
}
}
$found=@include_once($dir.$file);
if ($found) break;
foreach ($modulesdir as $dir)
{
if (file_exists($dir.$modFile))
{
$found=@include_once($dir.$modFile);
if ($found) break;
}
}
$objMod = new $modName($db);
@ -700,20 +725,46 @@ function UnActivate($value,$requiredby=1)
$modName = $value;
$ret='';
$modulesdir=array();
// Desactivation du module
if ($modName)
{
$file = $modName . ".class.php";
$modFile = $modName . ".class.php";
// Loop on each directory
$found=false;
foreach ($conf->file->dol_document_root as $dol_document_root)
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$dir = $dol_document_root."/includes/modules/";
$modulesdir[] = $dirroot."/includes/modules/";
if ($type == 'alt')
{
$handle=@opendir($dirroot);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes')
{
if (is_dir($dirroot . '/' . $file . '/includes/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/includes/modules/';
}
}
}
closedir($handle);
}
}
}
$found=@include_once($dir.$file);
if ($found) break;
foreach ($modulesdir as $dir)
{
if (file_exists($dir.$modFile))
{
$found=@include_once($dir.$modFile);
if ($found) break;
}
}
if ($found)

View File

@ -29,7 +29,7 @@
* \ingroup core
* \brief File that defines environment for all Dolibarr process (pages or scripts)
* This script reads the conf file, init $lang, $db and and empty $user
* \version $Id: master.inc.php,v 1.351 2011/07/31 23:19:04 eldy Exp $
* \version $Id: master.inc.php,v 1.352 2011/08/01 12:25:14 hregis Exp $
*/
@ -70,14 +70,14 @@ $conf->file->character_set_client=strtoupper($force_charset_do_notuse);
$conf->file->cookie_cryptkey = empty($dolibarr_main_cookie_cryptkey)?'':$dolibarr_main_cookie_cryptkey;
// Define array of document root directories
$conf->file->dol_document_root=array(DOL_DOCUMENT_ROOT);
$conf->file->dol_document_root=array('main' => DOL_DOCUMENT_ROOT);
if (! empty($dolibarr_main_document_root_alt))
{
// dolibarr_main_document_root_alt contains several directories
$values=preg_split('/[;,]/',$dolibarr_main_document_root_alt);
foreach($values as $value)
{
$conf->file->dol_document_root[]=$value;
$conf->file->dol_document_root['alt']=$value;
}
}

View File

@ -25,7 +25,7 @@
* \file htdocs/societe/soc.php
* \ingroup societe
* \brief Third party card page
* \version $Id: soc.php,v 1.125 2011/07/31 23:22:57 eldy Exp $
* \version $Id: soc.php,v 1.126 2011/08/01 00:38:49 eldy Exp $
*/
require("../main.inc.php");
@ -587,7 +587,8 @@ else
if ($conf->fournisseur->enabled && (GETPOST("type")=='f' || GETPOST("type")=='')) { $object->fournisseur=1; }
if (GETPOST("private")==1) { $object->particulier=1; }
$object->nom=$_POST["nom"];
$object->name=$_POST["nom"];
$object->nom=$_POST["nom"]; // deprecated
$object->prenom=$_POST["prenom"];
$object->particulier=$_REQUEST["private"];
$object->prefix_comm=$_POST["prefix_comm"];
@ -1093,7 +1094,8 @@ else
if (! empty($_POST["nom"]))
{
// We overwrite with values if posted
$object->nom=$_POST["nom"];
$object->name=$_POST["nom"];
$object->nom=$_POST["nom"]; // deprecated
$object->prefix_comm=$_POST["prefix_comm"];
$object->client=$_POST["client"];
$object->code_client=$_POST["code_client"];
@ -1967,5 +1969,5 @@ else
$db->close();
llxFooter('$Date: 2011/07/31 23:22:57 $ - $Revision: 1.125 $');
llxFooter('$Date: 2011/08/01 00:38:49 $ - $Revision: 1.126 $');
?>

View File

@ -22,7 +22,7 @@
/**
* \file htdocs/user/group/perms.php
* \brief Onglet user et permissions de la fiche utilisateur
* \version $Id: perms.php,v 1.39 2011/07/31 23:21:25 eldy Exp $
* \version $Id: perms.php,v 1.40 2011/08/01 13:15:53 hregis Exp $
*/
require("../../main.inc.php");
@ -93,10 +93,34 @@ if ($_GET["id"])
// Charge les modules soumis a permissions
$modules = array();
foreach ($conf->file->dol_document_root as $dirroot)
$modulesdir = array();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$modulesdir[] = $dirroot . "/includes/modules/";
if ($type == 'alt')
{
$handle=@opendir($dirroot);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes')
{
if (is_dir($dirroot . '/' . $file . '/includes/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/includes/modules/';
}
}
}
closedir($handle);
}
}
}
foreach ($modulesdir as $dir)
{
$dir = $dirroot . "/includes/modules/";
// Load modules attributes in arrays (name, numero, orders) from dir directory
//print $dir."\n<br>";
$handle=@opendir($dir);
@ -292,5 +316,5 @@ if ($_GET["id"])
$db->close();
llxFooter('$Date: 2011/07/31 23:21:25 $ - $Revision: 1.39 $');
llxFooter('$Date: 2011/08/01 13:15:53 $ - $Revision: 1.40 $');
?>

View File

@ -22,7 +22,7 @@
/**
* \file htdocs/user/perms.php
* \brief Onglet user et permissions de la fiche utilisateur
* \version $Id: perms.php,v 1.56 2011/07/31 23:19:42 eldy Exp $
* \version $Id: perms.php,v 1.57 2011/08/01 13:15:54 hregis Exp $
*/
require("../main.inc.php");
@ -120,12 +120,34 @@ $db->begin();
// Search all modules with permission and reload permissions def.
$modules = array();
$modulesdir = array();
$listdir=$conf->file->dol_document_root;
foreach($listdir as $dirroot)
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$dir=$dirroot."/includes/modules/";
$modulesdir[] = $dirroot . "/includes/modules/";
if ($type == 'alt')
{
$handle=@opendir($dirroot);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes')
{
if (is_dir($dirroot . '/' . $file . '/includes/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/includes/modules/';
}
}
}
closedir($handle);
}
}
}
foreach($modulesdir as $dir)
{
$handle=opendir($dir);
if (is_resource($handle))
{
@ -373,5 +395,5 @@ print '</table>';
$db->close();
llxFooter('$Date: 2011/07/31 23:19:42 $ - $Revision: 1.56 $');
llxFooter('$Date: 2011/08/01 13:15:54 $ - $Revision: 1.57 $');
?>