diff --git a/README.md b/README.md new file mode 100644 index 00000000000..66521f53db8 --- /dev/null +++ b/README.md @@ -0,0 +1,116 @@ +# DOLIBARR ERP/CRM + +Dolibarr ERP/CRM is a modern software to manage your company or foundation activity (contacts, suppliers, invoices, orders, stocks, agenda, ...).It's an opensource software (wrote with PHP language) designed for small and medium companies, foundation and freelances. You can freely install, use and distribute it as a standalone application or as a web application to use it from every internet access and media. + + +## INSTALL + +If you have no technical knowledge, use Windows and you are looking for an autoinstaller to install Dolibarr ERP/CRM in few clicks, you must download DoliWamp (the all-in-one package of Dolibarr for Windows). + +You can download it at: [Official Website] (http://www.dolibarr.org/downloads/cat_view/62-stable-versions) + +If you already have installed a Web server and a Mysql database, you can install this version like this: + +- Copy directory "dolibarr" and all its files inside your web server root, or copy directory anywhere and set up your web server to use "dolibarr/htdocs" as root for a new web server virtual host (second choice need to be server administrator). + +- Create an empty file "htdocs/conf/conf.php" and set permissions for your web server user (write permissions will be removed once install is finished). + +- From your browser, call the dolibarr "install/" page. + +Url depends on choice made on first step: + + http://localhost/dolibarr/htdocs/install/ +or + + http://yourdolibarrvirtualhost/install/ + +- Follow instructions provided by installer... + + + +## UPGRADE + +To upgrade Dolibarr from an old version to this one: + +- Overwrite all old files inside old 'dolibarr' directory by files provided into new version package. + +- If you came from version x.y.z to x.y.w (only third number differ), there is no need to run any migrate process. + +- If you came from a beta version or from any version x.y.z to any other where x or y number differs, you must call the Dolibarr "install/" page in your browser (this should be done automatically at first dolibarr access). + +This URL should looks like: + + http://localhost/dolibarr/htdocs/install/ +or + + http://yourdolibarrhost/install/index.php + +Then choose the "update" option according to your case. +Note: Migrate process can be ran safely several times. + + + +## WHAT'S NEW + +See ChangeLog file. + + + +## WHAT DOLIBARR CAN DO + +### Main modules/features: + +- Products and services catalog +- Customers, Prospects or Suppliers directory +- Address book +- Stock management +- Bank accounts management +- Orders management with PDF export +- Commercial proposals management with PDF export +- Contracts management +- Invoices management with PDF export +- Payments management +- Standing orders management +- Shipping management +- ECM (Electronic Content Management) +- EMailings +- Agenda with ical,vcal export for third tools integration +- Management of foundation members +- Donation management + +### Other modules: + +- Bookmarks management +- Can reports Dolibarr events inside Webcalendar or Phenix +- Data export tools +- LDAP connectivity +- Third parties or products categories +- ClickToDial phone numbers +- RSS + +### Miscellanous: + +- Mutli-user, with several permissions levels for each feature. +- Serveral menu managers (can be used by internal users, as a back-office, with a particular menu, or by external users, as a front-office, with another menu and permissions). +- Very user friendly and easy to use. +- Optional WYSIWYG forms, optional Ajax forms. +- Several skins. +- Code is highly customizable (a lot of use of modules and submodules). +- Works with Mysql 3.1 or higher, experimental support for PostgreSql. +- Works with PHP 4.3 or higher. +- An easy to understand and maintain code (PHP with no heavy frameworks). +- A trigger architecture to allow you to make Dolibarr business events run PHP code to update your own information system. +- "NPR VAT Rate" (French particularity for managing VAT in DOM-TOM called "Non Perçue Récupérable"). + + + +## WHAT DOLIBARR CAN'T DO YET (TODO LIST) + +This is features that Dolibarr does not support completely yet: + +- Accountancy. +- Dolibarr can manage only one currency. +- Dolibarr does not support the double Canadian Tax. +- Dolibarr does not make coffee (not yet). +- Stock management with option increase/decrease on invoice works on warehouse number one only (no way to choose warehouse). +- Stock management with option increase/decrease on orders works on warehouse number one only (no way to choose warehouse). diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 9af50c5f0b8..a0e8f9f0ebb 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -263,6 +263,7 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/pom.xml`; $ret=`rm -f $BUILDROOT/$PROJECT/default.properties`; $ret=`rm -f $BUILDROOT/$PROJECT/git2cvs.sh`; + $ret=`rm -f $BUILDROOT/$PROJECT/README.md`; $ret=`rm -fr $BUILDROOT/$PROJECT/build/html`; $ret=`rm -f $BUILDROOT/$PROJECT/build/DoliW*-*`; @@ -569,7 +570,7 @@ if ($nboftargetok) { print "Compress $FILENAMETGZ2 into $FILENAMETGZ2.tgz...\n"; $ret=`tar --exclude-from "$SOURCE/build/tgz/tar_exclude.txt" --directory "$BUILDROOT" -czvf "$BUILDROOT/$FILENAMETGZ2.tgz" $FILENAMETGZ2`; - print "Move $FILENAMETGZ2.tgz to $RPMDIR/SOURCES/$FILENAMETGZ2.tgz\n"; + print "Move $BUILDROOT/$FILENAMETGZ2.tgz to $RPMDIR/SOURCES/$FILENAMETGZ2.tgz\n"; $cmd="mv $BUILDROOT/$FILENAMETGZ2.tgz $RPMDIR/SOURCES/$FILENAMETGZ2.tgz"; $ret=`$cmd`; @@ -579,7 +580,7 @@ if ($nboftargetok) { if ($target =~ /MAND/i) { $BUILDFICSRC="${FILENAME}_mandriva.spec"; } if ($target =~ /OPEN/i) { $BUILDFICSRC="${FILENAME}_opensuse.spec"; } - print "Generate file $BUILDROOT/$BUILDFIC\n"; + print "Generate file $BUILDROOT/$BUILDFIC from $SOURCE/build/rpm/${BUILDFICSRC}\n"; open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFICSRC}") || die "Error"; open (SPECTO,">$BUILDROOT/$BUILDFIC") || die "Error"; while () { diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 0e0fd599b90..90107c9d767 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -19,7 +19,7 @@ License: GPLv2+ Vendor: Dolibarr dev team URL: http://www.dolibarr.org -Source0: http://www.dolibarr.org/files/fedora/%{name}-%{version}.tgz +Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_fedora/%{name}-%{version}.tgz Patch0: %{name}-forrpm.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index d24237ee1f3..fecb76405e1 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -19,7 +19,7 @@ License: GPLv2+ Vendor: Dolibarr dev team URL: http://www.dolibarr.org -Source0: http://www.dolibarr.org/files/fedora/%{name}-%{version}.tgz +Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_generic/%{name}-%{version}.tgz Patch0: %{name}-forrpm.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -85,7 +85,7 @@ cui hai bisogno ed essere facile da usare. %{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php %{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/apache.conf %{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr -%{__install} -m 644 build/rpm/install.forced.php.fedora $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php +%{__install} -m 644 build/rpm/install.forced.php.generic $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps %{__install} -m 644 doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 8da0f52b077..06dde952d02 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -19,7 +19,7 @@ License: GPLv2+ Vendor: Dolibarr dev team URL: http://www.dolibarr.org -Source0: http://www.dolibarr.org/files/mandriva/%{name}-%{version}.tgz +Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_mandriva/%{name}-%{version}.tgz Patch0: %{name}-forrpm.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -85,7 +85,7 @@ cui hai bisogno ed essere facile da usare. %{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php %{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/apache.conf %{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr -%{__install} -m 644 build/rpm/install.forced.php.fedora $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php +%{__install} -m 644 build/rpm/install.forced.php.mandriva $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps %{__install} -m 644 doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index dc6620bb25c..d00de403d58 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -19,13 +19,14 @@ License: GPLv2+ Vendor: Dolibarr dev team URL: http://www.dolibarr.org -Source0: http://www.dolibarr.org/files/opensuse/%{name}-%{version}.tgz +Source0: http://www.dolibarr.org/files/lastbuild/package_rpm_opensuse/%{name}-%{version}.tgz Patch0: %{name}-forrpm.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: Productivity/Office/Management Requires: mysql-community-server mysql-community-server-client apache2 apache2-mod_php5 php5 php5-gd php5-ldap php5-imap php5-mysql php5-openssl fonts-ttf-dejavu +BuildRequires: update-desktop-files fdupes # Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse) AutoReqProv: no @@ -83,7 +84,7 @@ cui hai bisogno ed essere facile da usare. %{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php %{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/apache.conf %{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr -%{__install} -m 644 build/rpm/install.forced.php.fedora $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php +%{__install} -m 644 build/rpm/install.forced.php.opensuse $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps %{__install} -m 644 doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png @@ -104,7 +105,7 @@ cui hai bisogno ed essere facile da usare. #%suse_update_desktop_file dolibarr # Enable this command to allow suse detection of duplicate files and create hardlinks instead -#%fdupes +#%fdupes $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs #---- clean diff --git a/htdocs/admin/boutique-special-all.php b/htdocs/admin/boutique-special-all.php deleted file mode 100644 index 04eb78a8ea4..00000000000 --- a/htdocs/admin/boutique-special-all.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * 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. - * - * $Id$ - * $Source$ - */ - -/** - \file htdocs/admin/boutique-special-all.php - \ingroup boutique - \brief Page d'administration/configuration du module Boutique - \version $Revision$ -*/ - -require("./pre.inc.php"); -require("../boutique/livre/livre.class.php"); -require("../boutique/editeur/editeur.class.php"); -require("../boutique/auteur/auteur.class.php"); -require("../product/promotion/promotion.class.php"); - -$langs->load("admin"); - -if (!$user->admin) - accessforbidden(); - - -llxHeader(); - - -print_barre_liste("Mise a jour de tous les livres", $page, "boutique-special-all.php"); - -$sql = "SELECT l.rowid FROM ".MAIN_DB_PREFIX."livre as l"; - -if ( $db->query($sql) ) -{ - $num = $db->num_rows(); - $i = 0; - - while ($i < $num) { - $objp = $db->fetch_object(); - - $livre = new Livre($db); - if ($livre->fetch($objp->rowid)) - { - - $prom = new Promotion($db); - $prom->create($user,$livre->oscid, 5); - - } - else - { - print "Error can't fetch"; - } - $i++; - } -} -else -{ - print $db->error(); -} - - - -llxFooter(); -?> diff --git a/htdocs/includes/modules/modMantis.class.php b/htdocs/includes/modules/modMantis.class.php deleted file mode 100644 index bcca85b6946..00000000000 --- a/htdocs/includes/modules/modMantis.class.php +++ /dev/null @@ -1,134 +0,0 @@ - - * Copyright (C) 2004-2007 Laurent Destailleur - * - * 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, see . - */ - -/** \defgroup mantis Module mantis - \brief Module to include Mantis into Dolibarr -*/ - -/** - \file htdocs/includes/modules/modMantis.class.php - \ingroup mantis - \brief Description and activation file for module Mantis - \version $Id: modMantis.class.php,v 1.16 2011/07/31 23:28:10 eldy Exp $ -*/ - -include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php"); - - -/** \class modMantis - \brief Description and activation class for module Mantis -*/ - -class modMantis extends DolibarrModules -{ - - /** - * \brief Constructor. Define names, constants, directories, boxes, permissions - * \param DB Database handler - */ - function modMantis($DB) - { - $this->db = $DB; - - // Id for module (must be unique). - // Use here a free id. - $this->numero = 50300; - - // Family can be 'crm','financial','hr','projects','product','technic','other' - // It is used to sort modules in module setup page - $this->family = "projects"; - // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) - $this->name = preg_replace('/^mod/i','',get_class($this)); - // Module description used translation string 'ModuleXXXDesc' not found (XXX is id value) - $this->description = "Interfacage avec le bug tracking Mantis"; - // Possible values for version are: 'experimental' or 'dolibarr' or version - $this->version = 'development'; - // Id used in llx_const table to manage module status (enabled/disabled) - $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); - // Where to store the module in setup page (0=common,1=interface,2=other) - $this->special = 1; - // Name of png file (without png) used for this module - $this->picto='calendar'; - - // Data directories to create when module is enabled - $this->dirs = array(); - - // Config pages - $this->config_page_url = array("mantis.php@mantis"); - - // Dependencies - $this->depends = array(); // List of modules id that must be enabled - $this->requiredby = array(); // List of modules id to disable if this one is disabled - - // Constants - $this->const = array(); // List of parameters - - // Boxes - $this->boxes = array(); // List of boxes - - // Permissions - $this->rights_class = 'mantis'; // Permission key - $this->rights = array(); // Permission array used by this module - - // Menus - //------ - $r=0; - - $this->menu[$r]=array('fk_menu'=>0, - 'type'=>'top', - 'titre'=>'BugTracker', - 'mainmenu'=>'mantis', - 'leftmenu'=>'1', - 'url'=>'/mantis/mantis.php', - 'langs'=>'other', - 'position'=>100, - 'enabled'=>'$conf->mantis->enabled', - 'perms'=>'', - 'target'=>'', - 'user'=>0); - $r++; - - } - - /** - * \brief Function called when module is enabled. - * Add constants, boxes and permissions into Dolibarr database. - * It also creates data directories. - */ - function init() - { - $sql = array(); - - return $this->_init($sql); - } - - /** - * \brief Function called when module is disabled. - * Remove from database constants, boxes and permissions from Dolibarr database. - * Data directories are not deleted. - */ - function remove() - { - $sql = array(); - - return $this->_remove($sql); - } - -} - -?> diff --git a/htdocs/mantis/admin/mantis.php b/htdocs/mantis/admin/mantis.php deleted file mode 100644 index 8504264034a..00000000000 --- a/htdocs/mantis/admin/mantis.php +++ /dev/null @@ -1,208 +0,0 @@ - - * Copyright (C) 2003 �ric Seigne - * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2004 Sebastien Di Cintio - * Copyright (C) 2004 Benoit Mortier - * - * 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, see . - * - * $Id: mantis.php,v 1.3 2011/07/31 23:24:38 eldy Exp $ - */ - -/** - * \file htdocs/mantis/admin/mantis.php - * \ingroup mantis - * \brief Page de configuration du module mantis - * \version $Revision: 1.3 $ - */ - -require("../../main.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); -require_once(DOL_DOCUMENT_ROOT.'/mantis/class/mantis.class.php'); - - -if (!$user->admin) - accessforbidden(); - - -$langs->load("admin"); -$langs->load("other"); - -$def = array(); -$actiontest=$_POST["test"]; -$actionsave=$_POST["save"]; - -// Sauvegardes parametres -if ($actionsave) -{ - $i=0; - - $db->begin(); - - $i+=dolibarr_set_const($db,'PHPMANTIS_URL',trim($_POST["phpmantis_url"]),'chaine',0,'',$conf->entity); - $i+=dolibarr_set_const($db,'PHPMANTIS_HOST',trim($_POST["phpmantis_host"]),'chaine',0,'',$conf->entity); - $i+=dolibarr_set_const($db,'PHPMANTIS_DBNAME',trim($_POST["phpmantis_dbname"]),'chaine',0,'',$conf->entity); - $i+=dolibarr_set_const($db,'PHPMANTIS_USER',trim($_POST["phpmantis_user"]),'chaine',0,'',$conf->entity); - $i+=dolibarr_set_const($db,'PHPMANTIS_PASS',trim($_POST["phpmantis_pass"]),'chaine',0,'',$conf->entity); - - if ($i >= 5) - { - $db->commit(); - $mesg = "".$langs->trans("MantisSetupSaved").""; - } - else - { - $db->rollback(); - header("Location: ".$_SERVER["PHP_SELF"]); - exit; - } -} -elseif ($actiontest) -{ - //$resql=$db->query("select count(*) from llx_const"); - //print "< ".$db." - ".$db->db." - ".$resql." - ".$db->error().">
\n"; - - // Test de la connexion a la database mantis - $conf->mantis->db->type=$dolibarr_main_db_type; - $conf->mantis->db->host=$_POST["phpmantis_host"]; - $conf->mantis->db->port=$_POST["phpmantis_port"]; - $conf->mantis->db->user=$_POST["phpmantis_user"]; - $conf->mantis->db->pass=$_POST["phpmantis_pass"]; - $conf->mantis->db->name=$_POST["phpmantis_dbname"]; - - $mantis=new Mantis(); - - //print "D ".$db." - ".$db->db."
\n"; - //print "W ".$mantis->localdb." - ".$mantis->localdb->db."
\n"; - - if ($mantis->localdb->connected == 1 && $mantis->localdb->database_selected == 1) - { - // V�rifie si bonne base - $sql="SELECT value FROM mantis_config_table WHERE config_id='database_version'"; - $resql=$mantis->localdb->query($sql); - if ($resql) { - $mesg ="
"; - $mesg.=$langs->trans("MantisTestOk",$_POST["phpmantis_host"],$_POST["phpmantis_dbname"],$_POST["phpmantis_user"]); - $mesg.="
"; - } - else { - $mesg ="
"; - $mesg.=$langs->trans("MantisErrorConnectOkButWrongDatabase"); - $mesg.="
"; - } - - //$mantis->localdb->close(); Ne pas fermer car la conn de mantis est la meme que dolibarr si parametre host/user/pass identique - } - elseif ($mantis->connected == 1 && $mantis->database_selected != 1) - { - $mesg ="
".$langs->trans("MantisTestKo1",$_POST["phpmantis_host"],$_POST["phpmantis_dbname"]); - $mesg.="
".$mantis->localdb->error(); - $mesg.="
"; - //$mantis->localdb->close(); Ne pas fermer car la conn de mantis est la meme que dolibarr si parametre host/user/pass identique - } - else - { - $mesg ="
".$langs->trans("MantisTestKo2",$_POST["phpmantis_host"],$_POST["phpmantis_user"]); - $mesg.="
".$mantis->localdb->error(); - $mesg.="
"; - } - - //$resql=$db->query("select count(*) from llx_const"); - //print "< ".$db." - ".$db->db." - ".$resql." - ".$db->error().">
\n"; -} - - -/** - * Affichage du formulaire de saisie - */ - -llxHeader(); - -$linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MantisSetup"),$linkback,'setup'); -print '
'; - - -print '
'; -print ''; -print ""; - -print ""; -print ""; -print ""; -print ""; -print ""; - -print ""; -print ""; -print ""; -print ""; -print ""; - -print ""; -print ""; -print ""; -print ""; -print ""; - -print ""; -print ""; -print ""; -print ""; -print ""; - -print ""; -print ""; -print ""; -print ""; -print ""; - -print ""; -print ""; -print ""; -print ''; -print ""; - -print "
".$langs->trans("Parameter")."".$langs->trans("Value")."".$langs->trans("Examples")."
".$langs->trans("MantisURL")."global->PHPMANTIS_URL) . "\" size=\"40\">http://localhost/mantis/"; -print "
https://mantisserver/"; -print "
".$langs->trans("MantisServer")."global->PHPMANTIS_HOST) . "\" size=\"30\">localhost"; -//print "
__dolibarr_main_db_host__ (".$dolibarr_main_db_host.")" -print "
".$langs->trans("MantisDatabaseName")."global->PHPMANTIS_DBNAME) . "\" size=\"30\">bugtracker"; -//print "
__dolibarr_main_db_name__ (".$dolibarr_main_db_name.")"; -print "
".$langs->trans("MantisUser")."global->PHPMANTIS_USER) . "\" size=\"30\">mantis"; -//print "
__dolibarr_main_db_user__ (".$dolibarr_main_db_user.")"; -print "
".$langs->trans("Password")."global->PHPMANTIS_PASS) . "\" size=\"30\">'; -//if ($dolibarr_main_db_pass) print '__dolibarr_main_db_pass__ ('.preg_replace('/./i','*',$dolibarr_main_db_pass).')'; -print ' 
"; - - -print '
'; -print "trans("TestConnection")."\">"; -print "   "; -print "trans("Save")."\">"; -print "
"; - -print "
\n"; - - -clearstatcache(); - -if ($mesg) print "
$mesg
"; -print "
"; - -$db->close(); - -llxFooter('$Date: 2011/07/31 23:24:38 $ - $Revision: 1.3 $'); -?> diff --git a/htdocs/mantis/class/mantis.class.php b/htdocs/mantis/class/mantis.class.php deleted file mode 100644 index 31a003e4c10..00000000000 --- a/htdocs/mantis/class/mantis.class.php +++ /dev/null @@ -1,70 +0,0 @@ - - * Copyright (C) 2004-2008 Laurent Destailleur - * - * 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, see . - * - * $Id: mantis.class.php,v 1.2 2011/07/31 23:24:38 eldy Exp $ - */ - -/** - \file htdocs/mantis/class/mantis.class.php - \ingroup mantis - \brief Ensemble des fonctions permettant d'acceder a la database mantis. - \author Laurent Destailleur. - \version $Revision: 1.2 $ -*/ - - -/** - \class Mantis - \brief Classe permettant d'acceder a la database mantis -*/ - -class Mantis { - - var $localdb; - - var $date; - var $duree = 0; // Secondes - var $texte; - var $desc; - - var $error; - - - /** - \brief Constructeur de la classe d'interface a mantisendar - */ - function Mantis() - { - global $conf; - global $dolibarr_main_db_type,$dolibarr_main_db_host,$dolibarr_main_db_user; - global $dolibarr_main_db_pass,$dolibarr_main_db_name; - - // Defini parametres mantis (avec substitution eventuelle) - $mantistype=preg_replace('/__dolibarr_main_db_type__/i',$dolibarr_main_db_type,$conf->mantis->db->type); - $mantishost=preg_replace('/__dolibarr_main_db_host__/i',$dolibarr_main_db_host,$conf->mantis->db->host); - $mantisport=preg_replace('/__dolibarr_main_db_port__/i',$dolibarr_main_db_port,$conf->mantis->db->port); - $mantisuser=preg_replace('/__dolibarr_main_db_user__/i',$dolibarr_main_db_user,$conf->mantis->db->user); - $mantispass=preg_replace('/__dolibarr_main_db_pass__/i',$dolibarr_main_db_pass,$conf->mantis->db->pass); - $mantisname=preg_replace('/__dolibarr_main_db_name__/i',$dolibarr_main_db_name,$conf->mantis->db->name); - - // On initie la connexion a la base mantisendar - require_once (DOL_DOCUMENT_ROOT ."/lib/databases/".$mantistype.".lib.php"); - $this->localdb = new DoliDb($mantistype,$mantishost,$mantisuser,$mantispass,$mantisname,$mantisport); - } - -} -?> diff --git a/htdocs/mantis/index.php b/htdocs/mantis/index.php deleted file mode 100644 index 7db0dd9ebf9..00000000000 --- a/htdocs/mantis/index.php +++ /dev/null @@ -1 +0,0 @@ -Url not available \ No newline at end of file diff --git a/htdocs/mantis/mantis.php b/htdocs/mantis/mantis.php deleted file mode 100644 index 4f1877aabdc..00000000000 --- a/htdocs/mantis/mantis.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * 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, see . - * - * $Id: mantis.php,v 1.8 2011/07/31 23:24:38 eldy Exp $ - */ - -/** \file htdocs/mantis/mantis.php - \ingroup mantis - \brief Page generant 2 frames, une pour le menu Dolibarr, l'autre pour l'affichage de Mantis - \author Laurent Destailleur - \version $Revision: 1.8 $ -*/ - -require("../main.inc.php"); - -if (empty($conf->global->PHPMANTIS_URL)) -{ - llxHeader(); - print '
Module Mantis was not configured properly.
'; - llxFooter('$Date: 2011/07/31 23:24:38 $ - $Revision: 1.8 $'); -} - -$mainmenu=isset($_GET["mainmenu"])?$_GET["mainmenu"]:""; -$leftmenu=isset($_GET["leftmenu"])?$_GET["leftmenu"]:""; -$idmenu=isset($_GET["idmenu"])?$_GET["idmenu"]:""; - -print " - - -Dolibarr frame for Mantis - - - - - global->PHPMANTIS_URL."\"> - - <body> - - </body> - - - - -<body> - <br><center> - Sorry, your browser is too old or not correctly configured to view this area.<br> - Your browser must support frames.<br> - </center> -</body> - - - -"; - - -?> diff --git a/htdocs/mantis/mantistop.php b/htdocs/mantis/mantistop.php deleted file mode 100644 index 22d39f78d27..00000000000 --- a/htdocs/mantis/mantistop.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * 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, see . - */ - -/** - \file htdocs/mantis/mantistop.php - \ingroup mantis - \brief Top frame to show mantis application - \version $Id: mantistop.php,v 1.5 2011/07/31 23:24:38 eldy Exp $ -*/ - -require ("../main.inc.php"); - -top_htmlhead("",""); -top_menu("","","_top"); - -?> - - - - - - - - - - diff --git a/htdocs/societe/index.php b/htdocs/societe/index.php index faefe103cb3..c8655f2acfe 100644 --- a/htdocs/societe/index.php +++ b/htdocs/societe/index.php @@ -27,12 +27,16 @@ require("../main.inc.php"); require_once(DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'); +$langs->load("companies"); + +$socid = GETPOST("socid"); +if ($user->societe_id) $socid=$user->societe_id; + // Security check $result=restrictedArea($user,'societe',0,'','','',''); $thirdparty_static = new Societe($db); -$langs->load("companies"); /* @@ -40,7 +44,7 @@ $langs->load("companies"); */ $transAreaType = $langs->trans("ThirdPartiesArea"); -$helpurl='EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Tierceros'; +$helpurl='EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Terceros'; llxHeader("",$langs->trans("ThirdParties"),$helpurl); @@ -78,9 +82,10 @@ $total=0; $sql = "SELECT s.rowid, s.client, s.fournisseur"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; -if (! $user->rights->societe->client->voir) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +if (! $user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.entity = ".$conf->entity; -if (! $user->rights->societe->client->voir) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +if (! $user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +if ($socid) $sql.= " AND s.rowid = ".$socid; $result = $db->query($sql); if ($result) @@ -146,9 +151,10 @@ print ''; $max=15; $sql = "SELECT s.rowid, s.nom as name, s.client, s.fournisseur, s.canvas, s.tms as datem, s.status as status"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; -if (! $user->rights->societe->client->voir) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +if (! $user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.entity = ".$conf->entity; -if (! $user->rights->societe->client->voir) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +if (! $user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +if ($socid) $sql.= " AND s.rowid = ".$socid; $sql.= " AND ("; if (! empty($conf->societe->enabled)) $sql.=" s.client IN (1,2,3)"; if (! empty($conf->fournisseur->enabled)) $sql.=" OR s.fournisseur IN (1)"; diff --git a/htdocs/theme/auguria/img/switch_off.png b/htdocs/theme/auguria/img/switch_off.png index 7b691df7ebe..28a4376fb43 100644 Binary files a/htdocs/theme/auguria/img/switch_off.png and b/htdocs/theme/auguria/img/switch_off.png differ diff --git a/htdocs/theme/auguria/img/switch_on.png b/htdocs/theme/auguria/img/switch_on.png index 39ff5472e61..d4e32d98f57 100644 Binary files a/htdocs/theme/auguria/img/switch_on.png and b/htdocs/theme/auguria/img/switch_on.png differ diff --git a/htdocs/theme/bureau2crea/img/switch_off.png b/htdocs/theme/bureau2crea/img/switch_off.png index 7b691df7ebe..28a4376fb43 100644 Binary files a/htdocs/theme/bureau2crea/img/switch_off.png and b/htdocs/theme/bureau2crea/img/switch_off.png differ diff --git a/htdocs/theme/bureau2crea/img/switch_on.png b/htdocs/theme/bureau2crea/img/switch_on.png index 39ff5472e61..d4e32d98f57 100644 Binary files a/htdocs/theme/bureau2crea/img/switch_on.png and b/htdocs/theme/bureau2crea/img/switch_on.png differ diff --git a/htdocs/theme/cameleo/img/switch_off.png b/htdocs/theme/cameleo/img/switch_off.png index 7b691df7ebe..28a4376fb43 100644 Binary files a/htdocs/theme/cameleo/img/switch_off.png and b/htdocs/theme/cameleo/img/switch_off.png differ diff --git a/htdocs/theme/cameleo/img/switch_on.png b/htdocs/theme/cameleo/img/switch_on.png index 39ff5472e61..d4e32d98f57 100644 Binary files a/htdocs/theme/cameleo/img/switch_on.png and b/htdocs/theme/cameleo/img/switch_on.png differ diff --git a/htdocs/theme/eldy/img/switch_off.png b/htdocs/theme/eldy/img/switch_off.png index 7b691df7ebe..28a4376fb43 100644 Binary files a/htdocs/theme/eldy/img/switch_off.png and b/htdocs/theme/eldy/img/switch_off.png differ diff --git a/htdocs/theme/eldy/img/switch_on.png b/htdocs/theme/eldy/img/switch_on.png index 39ff5472e61..d4e32d98f57 100644 Binary files a/htdocs/theme/eldy/img/switch_on.png and b/htdocs/theme/eldy/img/switch_on.png differ diff --git a/htdocs/theme/freelug/img/switch_off.png b/htdocs/theme/freelug/img/switch_off.png index 7b691df7ebe..28a4376fb43 100644 Binary files a/htdocs/theme/freelug/img/switch_off.png and b/htdocs/theme/freelug/img/switch_off.png differ diff --git a/htdocs/theme/freelug/img/switch_on.png b/htdocs/theme/freelug/img/switch_on.png index 39ff5472e61..d4e32d98f57 100644 Binary files a/htdocs/theme/freelug/img/switch_on.png and b/htdocs/theme/freelug/img/switch_on.png differ diff --git a/htdocs/theme/yellow/img/switch_off.png b/htdocs/theme/yellow/img/switch_off.png index 7b691df7ebe..28a4376fb43 100644 Binary files a/htdocs/theme/yellow/img/switch_off.png and b/htdocs/theme/yellow/img/switch_off.png differ diff --git a/htdocs/theme/yellow/img/switch_on.png b/htdocs/theme/yellow/img/switch_on.png index 39ff5472e61..d4e32d98f57 100644 Binary files a/htdocs/theme/yellow/img/switch_on.png and b/htdocs/theme/yellow/img/switch_on.png differ diff --git a/test/phpunit/ModulesTest.php b/test/phpunit/ModulesTest.php index f3b7ae716f6..353d582d2b5 100755 --- a/test/phpunit/ModulesTest.php +++ b/test/phpunit/ModulesTest.php @@ -168,7 +168,7 @@ class ModulesTest extends PHPUnit_Framework_TestCase 'CashDesk','Categorie','ClickToDial','Commande','Comptabilite','Contrat','Deplacement','Document','Don', 'ECM','Expedition','Export','ExternalRss','ExternalSite','FTP','Facture', 'Fckeditor','Ficheinter','Fournisseur','GeoIPMaxmind','Gravatar','Import','Label','Ldap','Mailing', - 'Mantis','Notification','Paybox','Paypal','Prelevement','Product','Projet','Propale', + 'Notification','Paybox','Paypal','Prelevement','Product','Projet','Propale', 'Service','Societe','Stock','Syslog','Tax','User','WebServices'); foreach($modulelist as $modlabel) {